Commit 359a46e7 authored by Robert Hensing's avatar Robert Hensing Committed by Alyssa Ross
Browse files

llvm*: Remove `outputSpecified` workaround where possible

The effect of `.out // { outputSpecified = false; }` in these cases
is to select the default output explicitly, but then make the
selection implicit until `overrideAttrs` is called. Previously
`overrideAttrs` would not preserve output selection, masking the
apparently unnecessary behavior of this workaround.

For `libllvm-polly`, this logic does not apply, as it does not
select the default output.

The `outputSpecified` workaround was introduced in
https://github.com/NixOS/nixpkgs/pull/122554

and was perhaps rushed because of a release deadline, and expected
delays from mass rebuilds.

The change in `overrideAttrs` behavior was added in
5b2f597b / https://github.com/NixOS/nixpkgs/pull/211685

and the problem was discovered in https://github.com/NixOS/nixpkgs/pull/218537,
which may contain further information.
parent ce07d44c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -65,13 +65,13 @@ let

    # `llvm` historically had the binaries.  When choosing an output explicitly,
    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
    llvm = tools.libllvm.out // { outputSpecified = false; };
    llvm = tools.libllvm;

    libclang = callPackage ./clang {
      inherit clang-tools-extra_src llvm_meta;
    };

    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
    clang-unwrapped = tools.libclang;

    # disabled until recommonmark supports sphinx 3
    #Llvm-manpages = lowPrio (tools.libllvm.override {
+2 −2
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ let

    # `llvm` historically had the binaries.  When choosing an output explicitly,
    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
    llvm = tools.libllvm.out // { outputSpecified = false; };
    llvm = tools.libllvm;

    libllvm-polly = callPackage ./llvm {
      inherit llvm_meta;
@@ -80,7 +80,7 @@ let
      inherit clang-tools-extra_src llvm_meta;
    };

    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
    clang-unwrapped = tools.libclang;

    clang-polly-unwrapped = callPackage ./clang {
      inherit llvm_meta;
+2 −2
Original line number Diff line number Diff line
@@ -68,13 +68,13 @@ let

    # `llvm` historically had the binaries.  When choosing an output explicitly,
    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
    llvm = tools.libllvm.out // { outputSpecified = false; };
    llvm = tools.libllvm;

    libclang = callPackage ./clang {
      inherit clang-tools-extra_src llvm_meta;
    };

    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
    clang-unwrapped = tools.libclang;

    # disabled until recommonmark supports sphinx 3
    #Llvm-manpages = lowPrio (tools.libllvm.override {
+2 −2
Original line number Diff line number Diff line
@@ -70,13 +70,13 @@ let

    # `llvm` historically had the binaries.  When choosing an output explicitly,
    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
    llvm = tools.libllvm.out // { outputSpecified = false; };
    llvm = tools.libllvm;

    libclang = callPackage ./clang {
      inherit llvm_meta;
    };

    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
    clang-unwrapped = tools.libclang;

    llvm-manpages = lowPrio (tools.libllvm.override {
      enableManpages = true;
+2 −2
Original line number Diff line number Diff line
@@ -70,13 +70,13 @@ let

    # `llvm` historically had the binaries.  When choosing an output explicitly,
    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
    llvm = tools.libllvm.out // { outputSpecified = false; };
    llvm = tools.libllvm;

    libclang = callPackage ./clang {
      inherit llvm_meta;
    };

    clang-unwrapped = tools.libclang.out // { outputSpecified = false; };
    clang-unwrapped = tools.libclang;

    llvm-manpages = lowPrio (tools.libllvm.override {
      enableManpages = true;
Loading