diff options
23 files changed, 234 insertions, 42 deletions
diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index 612cdcc7f881..ef6943001b9c 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - makeFlags = [ "PKG_CONFIG=${buildPackages.pkgconfig}/bin/pkg-config" ]; + makeFlags = [ "PKG_CONFIG=${buildPackages.pkgconfig}/bin/${buildPackages.pkgconfig.targetPrefix}pkg-config" ]; installPhase = '' install -m 555 -Dt $out/bin mg diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index f2542301119e..cbc72f91dcc1 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -71,7 +71,7 @@ stdenv.mkDerivation { moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params for file in "$dev"/bin/*-config; do substituteInPlace "$file" --replace pkg-config \ - "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/pkg-config'" + "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config'" done '' + lib.optionalString (ghostscript != null) '' for la in $out/lib/*.la; do diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 0ded57b1a72c..583a845c3c7e 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -85,9 +85,9 @@ stdenv.mkDerivation { moveToOutput "lib/ImageMagick-*/config-Q16" "$dev" # includes configure params for file in "$dev"/bin/*-config; do substituteInPlace "$file" --replace "${pkgconfig}/bin/pkg-config -config" \ - ${pkgconfig}/bin/pkg-config + ${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config substituteInPlace "$file" --replace ${pkgconfig}/bin/pkg-config \ - "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/pkg-config'" + "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config'" done '' + lib.optionalString (ghostscript != null) '' for la in $out/lib/*.la; do diff --git a/pkgs/applications/misc/stupidterm/default.nix b/pkgs/applications/misc/stupidterm/default.nix index 0a6e947f15c2..2016059d81e7 100644 --- a/pkgs/applications/misc/stupidterm/default.nix +++ b/pkgs/applications/misc/stupidterm/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { sha256 = "1f73wvqqvj5pr3fvb7jjc4bi1iwgkkknz24k8n69mdb75jnfjipp"; }; - makeFlags = [ "PKGCONFIG=${pkgconfig}/bin/pkg-config" "binary=stupidterm" ]; + makeFlags = [ "PKGCONFIG=${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config" "binary=stupidterm" ]; installPhase = '' install -D stupidterm $out/bin/stupidterm diff --git a/pkgs/build-support/dotnetbuildhelpers/default.nix b/pkgs/build-support/dotnetbuildhelpers/default.nix index 0edfd0b467ab..809619ed55d9 100644 --- a/pkgs/build-support/dotnetbuildhelpers/default.nix +++ b/pkgs/build-support/dotnetbuildhelpers/default.nix @@ -12,7 +12,7 @@ cp -v "$script" "$target"/"$scriptName" chmod 755 "$target"/"$scriptName" patchShebangs "$target"/"$scriptName" - substituteInPlace "$target"/"$scriptName" --replace pkg-config ${pkgconfig}/bin/pkg-config + substituteInPlace "$target"/"$scriptName" --replace pkg-config ${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config substituteInPlace "$target"/"$scriptName" --replace monodis ${mono}/bin/monodis done '' diff --git a/pkgs/build-support/pkg-config-wrapper/add-flags.sh b/pkgs/build-support/pkg-config-wrapper/add-flags.sh new file mode 100644 index 000000000000..35ecf62ca230 --- /dev/null +++ b/pkgs/build-support/pkg-config-wrapper/add-flags.sh @@ -0,0 +1,12 @@ +# See cc-wrapper for comments. +var_templates_list=( + PKG_CONFIG_PATH +) + +accumulateRoles + +for var in "${var_templates_list[@]}"; do + mangleVarList "$var" ${role_suffixes[@]+"${role_suffixes[@]}"} +done + +export NIX_PKG_CONFIG_WRAPPER_FLAGS_SET_@suffixSalt@=1 diff --git a/pkgs/build-support/pkg-config-wrapper/default.nix b/pkgs/build-support/pkg-config-wrapper/default.nix new file mode 100644 index 000000000000..87efc3b18aa8 --- /dev/null +++ b/pkgs/build-support/pkg-config-wrapper/default.nix @@ -0,0 +1,117 @@ +# The wrapper script ensures variables like PKG_CONFIG_PATH and +# PKG_CONFIG_PATH_FOR_BUILD work properly. + +{ stdenvNoCC +, buildPackages +, pkg-config +, propagateDoc ? pkg-config != null && pkg-config ? man +, extraPackages ? [], extraBuildCommands ? "" +}: + +with stdenvNoCC.lib; + +let + stdenv = stdenvNoCC; + inherit (stdenv) hostPlatform targetPlatform; + + # Prefix for binaries. Customarily ends with a dash separator. + # + # TODO(@Ericson2314) Make unconditional, or optional but always true by + # default. + targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform) + (targetPlatform.config + "-"); + + # See description in cc-wrapper. + suffixSalt = replaceStrings ["-" "."] ["_" "_"] targetPlatform.config; + +in + +stdenv.mkDerivation { + pname = targetPrefix + pkg-config.pname + "-wrapper"; + inherit (pkg-config) version; + + preferLocalBuild = true; + + shell = getBin stdenvNoCC.shell + stdenvNoCC.shell.shellPath or ""; + + inherit targetPrefix suffixSalt; + + outputs = [ "out" ] ++ optionals propagateDoc [ "man" ]; + + passthru = { + inherit pkg-config; + }; + + dontBuild = true; + dontConfigure = true; + + unpackPhase = '' + src=$PWD + ''; + + installPhase = + '' + mkdir -p $out/bin $out/nix-support + + wrap() { + local dst="$1" + local wrapper="$2" + export prog="$3" + substituteAll "$wrapper" "$out/bin/$dst" + chmod +x "$out/bin/$dst" + } + + echo $pkg-config > $out/nix-support/orig-pkg-config + + wrap ${targetPrefix}pkg-config ${./pkg-config-wrapper.sh} "${getBin pkg-config}/bin/pkg-config" + ''; + + strictDeps = true; + + wrapperName = "PKG_CONFIG_WRAPPER"; + + setupHooks = [ + ../setup-hooks/role.bash + ./setup-hook.sh + ]; + + postFixup = + '' + + ## + ## User env support + ## + + # Propagate the underling unwrapped pkg-config so that if you + # install the wrapper, you get anything else it might provide. + printWords ${pkg-config} > $out/nix-support/propagated-user-env-packages + '' + + + optionalString propagateDoc '' + ## + ## Man page and info support + ## + + ln -s ${pkg-config.man} $man + '' + + + '' + substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh + substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash + + ## + ## Extra custom steps + ## + '' + + + extraBuildCommands; + + meta = + let pkg-config_ = if pkg-config != null then pkg-config else {}; in + (if pkg-config_ ? meta then removeAttrs pkg-config.meta ["priority"] else {}) // + { description = + stdenv.lib.attrByPath ["meta" "description"] "pkg-config" pkg-config_ + + " (wrapper script)"; + priority = 10; + }; +} diff --git a/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh b/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh new file mode 100644 index 000000000000..f7c7429eb0b3 --- /dev/null +++ b/pkgs/build-support/pkg-config-wrapper/pkg-config-wrapper.sh @@ -0,0 +1,21 @@ +#! @shell@ +set -eu -o pipefail +o posix +shopt -s nullglob + +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + +source @out@/nix-support/utils.bash + +if [ -z "${NIX_PKG_CONFIG_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then + source @out@/nix-support/add-flags.sh +fi + +if (( ${#role_suffixes[@]} > 0 )); then + # replace env var with nix-modified one + PKG_CONFIG_PATH=$PKG_CONFIG_PATH_@suffixSalt@ exec @prog@ "$@" +else + # pkg-config isn't a bonafied dependency so ignore setup hook entirely + exec @prog@ "$@" +fi diff --git a/pkgs/build-support/pkg-config-wrapper/setup-hook.sh b/pkgs/build-support/pkg-config-wrapper/setup-hook.sh new file mode 100644 index 000000000000..12b9af5e5837 --- /dev/null +++ b/pkgs/build-support/pkg-config-wrapper/setup-hook.sh @@ -0,0 +1,29 @@ +# pkg-config Wrapper hygiene +# +# See comments in cc-wrapper's setup hook. This works exactly the same way. + +# Skip setup hook if we're neither a build-time dep, nor, temporarily, doing a +# native compile. +# +# TODO(@Ericson2314): No native exception +[[ -z ${strictDeps-} ]] || (( "$hostOffset" < 0 )) || return 0 + +pkgConfigWrapper_addPkgConfigPath () { + # See ../setup-hooks/role.bash + local role_post + getHostRoleEnvHook + + addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/lib/pkgconfig" + addToSearchPath "PKG_CONFIG_PATH${role_post}" "$1/share/pkgconfig" +} + +# See ../setup-hooks/role.bash +getTargetRole +getTargetRoleWrapper + +addEnvHooks "$targetOffset" pkgConfigWrapper_addPkgConfigPath + +export PKG_CONFIG${role_post}=@targetPrefix@pkg-config + +# No local scope in sourced file +unset -v role_post diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index f56447668ea6..fecffe889f17 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -163,7 +163,6 @@ stdenv.mkDerivation rec { ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-prefix=${stdenv.cc.targetPrefix}" "--enable-cross-compile" - "--pkg-config=pkg-config" # Override ffmpeg's ./configure assumption that pkg-config is prefixed by the architecture. (e.g. aarch64-unknown-linux-gnu-pkg-config) ] ++ optional stdenv.cc.isClang "--cc=clang"); depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -199,9 +198,10 @@ stdenv.mkDerivation rec { --replace "includedir=$out" "includedir=''${!outputInclude}" done '' + optionalString stdenv.isLinux '' - # Set RUNPATH so that libnvcuvid in /run/opengl-driver(-32)/lib can be found. + # Set RUNPATH so that libnvcuvid and libcuda in /run/opengl-driver(-32)/lib can be found. # See the explanation in addOpenGLRunpath. - addOpenGLRunpath $out/lib/libavcodec.so* + addOpenGLRunpath $out/lib/libavcodec.so + addOpenGLRunpath $out/lib/libavutil.so ''; installFlags = [ "install-man" ]; diff --git a/pkgs/development/libraries/gtkd/default.nix b/pkgs/development/libraries/gtkd/default.nix index a03dc51f00c5..5cef820db149 100644 --- a/pkgs/development/libraries/gtkd/default.nix +++ b/pkgs/development/libraries/gtkd/default.nix @@ -117,7 +117,7 @@ in stdenv.mkDerivation rec { makeFlags = [ "prefix=${placeholder "out"}" - "PKG_CONFIG=${pkgconfig}/bin/pkg-config" + "PKG_CONFIG=${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config" ]; # The .pc files does not declare an `includedir=`, so the multiple diff --git a/pkgs/development/python-modules/pkgconfig/default.nix b/pkgs/development/python-modules/pkgconfig/default.nix index 2e6fb7c47058..ff9e3cc39aa3 100644 --- a/pkgs/development/python-modules/pkgconfig/default.nix +++ b/pkgs/development/python-modules/pkgconfig/default.nix @@ -4,7 +4,7 @@ buildPythonPackage rec { pname = "pkgconfig"; version = "1.5.1"; - setupHook = pkgconfig.setupHook; + setupHooks = pkgconfig.setupHooks; src = fetchPypi { inherit pname version; @@ -21,7 +21,7 @@ buildPythonPackage rec { patches = [ ./executable.patch ]; postPatch = '' - substituteInPlace pkgconfig/pkgconfig.py --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkgconfig}/bin/pkg-config"' + substituteInPlace pkgconfig/pkgconfig.py --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config"' ''; meta = with lib; { diff --git a/pkgs/development/python-modules/zstd/default.nix b/pkgs/development/python-modules/zstd/default.nix index 75856a88b7e0..c96e08ccb513 100644 --- a/pkgs/development/python-modules/zstd/default.nix +++ b/pkgs/development/python-modules/zstd/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ - --replace "/usr/bin/pkg-config" "${pkgconfig}/bin/pkg-config" + --replace "/usr/bin/pkg-config" "${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config" ''; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index a2dc1424d65f..0a61b8d02a99 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -8,11 +8,11 @@ python3Packages.buildPythonApplication rec { pname = "meson"; - version = "0.54.1"; + version = "0.54.2"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "L3b7RXJ2K+E+5HkpJhAJG0UJr1eIvM6zkf4iK80Cltw="; + sha256 = "p3Fu6uj43/AC5BR2Qliatklv+DnkN2pa7XYfg8H6BFU="; }; postFixup = '' diff --git a/pkgs/development/tools/build-managers/meson/more-env-vars.patch b/pkgs/development/tools/build-managers/meson/more-env-vars.patch index a8f860f03cc7..6326f5ec3cfb 100644 --- a/pkgs/development/tools/build-managers/meson/more-env-vars.patch +++ b/pkgs/development/tools/build-managers/meson/more-env-vars.patch @@ -1,16 +1,13 @@ diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index ac13a710..e0d07c51 100644 +index 17058df6b..7a68b7f15 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -119,9 +119,9 @@ def get_env_var_pair(for_machine: MachineChoice, +@@ -120,7 +120,7 @@ def get_env_var_pair(for_machine: MachineChoice, # compiling we fall back on the unprefixed host version. This # allows native builds to never need to worry about the 'BUILD_*' # ones. - ([var_name + '_FOR_BUILD'] if is_cross else [var_name]), + [var_name + '_FOR_BUILD'] + ([] if is_cross else [var_name]), # Always just the unprefixed host verions -- ([] if is_cross else [var_name]), -+ [var_name], + [var_name] )[for_machine] - for var in candidates: - value = os.environ.get(var) diff --git a/pkgs/development/tools/misc/pkg-config/default.nix b/pkgs/development/tools/misc/pkg-config/default.nix index 494b8d893d42..d5e766283ce6 100644 --- a/pkgs/development/tools/misc/pkg-config/default.nix +++ b/pkgs/development/tools/misc/pkg-config/default.nix @@ -6,8 +6,6 @@ stdenv.mkDerivation rec { pname = "pkg-config"; version = "0.29.2"; - setupHook = ./setup-hook.sh; - src = fetchurl { url = "https://pkgconfig.freedesktop.org/releases/${pname}-${version}.tar.gz"; sha256 = "14fmwzki1rlz8bs2p810lk6jqdxsk966d8drgsjmi54cd00rrikg"; diff --git a/pkgs/development/tools/misc/pkg-config/setup-hook.sh b/pkgs/development/tools/misc/pkg-config/setup-hook.sh deleted file mode 100644 index 34a9b9f1173b..000000000000 --- a/pkgs/development/tools/misc/pkg-config/setup-hook.sh +++ /dev/null @@ -1,6 +0,0 @@ -addPkgConfigPath () { - addToSearchPath PKG_CONFIG_PATH $1/lib/pkgconfig - addToSearchPath PKG_CONFIG_PATH $1/share/pkgconfig -} - -addEnvHooks "$targetOffset" addPkgConfigPath diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix index c1fb3ef5ee1a..04217b8989bc 100644 --- a/pkgs/os-specific/linux/batman-adv/alfred.nix +++ b/pkgs/os-specific/linux/batman-adv/alfred.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ gpsd libcap libnl ]; preBuild = '' - makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/pkg-config" + makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config" ''; meta = { diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix index 5767c4aa72c4..3b1cf183e08e 100644 --- a/pkgs/os-specific/linux/batman-adv/batctl.nix +++ b/pkgs/os-specific/linux/batman-adv/batctl.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ libnl ]; preBuild = '' - makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/pkg-config" + makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config" ''; meta = { diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 2d5a191fc32b..b69de041fd23 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -305,7 +305,7 @@ in rec { inherit gnumake gzip gnused bzip2 gawk ed xz patch bash python3 ncurses libffi zlib gmp pcre gnugrep - coreutils findutils diffutils patchutils ninja; + coreutils findutils diffutils patchutils ninja libxml2; # Hack to make sure we don't link ncurses in bootstrap tools. The proper # solution is to avoid passing -L/nix-store/...-bootstrap-tools/lib, @@ -319,7 +319,7 @@ in rec { llvmPackages_7 = super.llvmPackages_7 // (let tools = super.llvmPackages_7.tools.extend (llvmSelf: _: { clang-unwrapped = llvmPackages_7.clang-unwrapped.override { llvm = llvmSelf.llvm; }; - llvm = llvmPackages_7.llvm.override { libxml2 = self.darwin.libxml2-nopython; }; + llvm = llvmPackages_7.llvm.override { inherit libxml2; }; }); libraries = super.llvmPackages_7.libraries.extend (llvmSelf: _: { inherit (llvmPackages_7) libcxx libcxxabi compiler-rt; @@ -330,9 +330,8 @@ in rec { inherit (darwin) dyld Libsystem libiconv locale; cctools = super.darwin.cctools.override { enableTapiSupport = false; }; - libxml2-nopython = super.libxml2.override { pythonSupport = false; }; CF = super.darwin.CF.override { - libxml2 = libxml2-nopython; + inherit libxml2; python3 = prevStage.python3; }; }; @@ -417,9 +416,9 @@ in rec { gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext binutils.bintools darwin.binutils darwin.binutils.bintools curl.out openssl.out libssh2.out nghttp2.lib libkrb5 - cc.expand-response-params + cc.expand-response-params libxml2.out ]) ++ (with pkgs.darwin; [ - dyld Libsystem CF cctools ICU libiconv locale libxml2-nopython.out + dyld Libsystem CF cctools ICU libiconv locale ]); overrides = lib.composeExtensions persistent (self: super: { diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix index 6c31a16f2fd5..c5a241437732 100644 --- a/pkgs/test/cross/default.nix +++ b/pkgs/test/cross/default.nix @@ -13,7 +13,7 @@ let compareTest = { emulator, pkgFun, hostPkgs, crossPkgs, exec, args ? [] }: let pkgName = (pkgFun hostPkgs).name; args' = lib.concatStringsSep " " args; - in pkgs.runCommand "test-${pkgName}-${crossPkgs.hostPlatform.config}" { + in crossPkgs.runCommand "test-${pkgName}-${crossPkgs.hostPlatform.config}" { nativeBuildInputs = [ pkgs.dos2unix ]; } '' # Just in case we are using wine, get rid of that annoying extra @@ -91,6 +91,20 @@ let pkgFun = pkgs: pkgs.hello; }; + pkg-config = {platformFun, crossPkgs, emulator}: crossPkgs.runCommand + "test-pkg-config-${crossPkgs.hostPlatform.config}" + { + depsBuildBuild = [ crossPkgs.pkgsBuildBuild.pkg-config ]; + nativeBuildInputs = [ crossPkgs.pkgsBuildHost.pkg-config crossPkgs.buildPackages.zlib ]; + depsBuildTarget = [ crossPkgs.pkgsBuildTarget.pkg-config ]; + buildInputs = [ crossPkgs.zlib ]; + NIX_DEBUG = 7; + } '' + mkdir $out + ${crossPkgs.pkgsBuildBuild.pkg-config.targetPrefix}pkg-config --cflags zlib > "$out/for-build" + ${crossPkgs.pkgsBuildHost.pkg-config.targetPrefix}pkg-config --cflags zlib > "$out/for-host" + ! diff "$out/for-build" "$out/for-host" + ''; }; in { diff --git a/pkgs/tools/networking/openconnect_pa/default.nix b/pkgs/tools/networking/openconnect_pa/default.nix index 2c452847aa3b..4b108dc303e8 100644 --- a/pkgs/tools/networking/openconnect_pa/default.nix +++ b/pkgs/tools/networking/openconnect_pa/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { }; preConfigure = '' - export PKG_CONFIG=${pkgconfig}/bin/pkg-config + export PKG_CONFIG=${pkgconfig}/bin/${pkgconfig.targetPrefix}pkg-config export LIBXML2_CFLAGS="-I ${libxml2.dev}/include/libxml2" export LIBXML2_LIBS="-L${libxml2.out}/lib -lxml2" ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 23bd5ffd7718..680177a2610a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -329,7 +329,11 @@ in # break dependency cycles fetchurl = stdenv.fetchurlBoot; zlib = buildPackages.zlib.override { fetchurl = stdenv.fetchurlBoot; }; - pkgconfig = buildPackages.pkgconfig.override { fetchurl = stdenv.fetchurlBoot; }; + pkgconfig = buildPackages.pkgconfig.override (old: { + pkg-config = old.pkg-config.override { + fetchurl = stdenv.fetchurlBoot; + }; + }); perl = buildPackages.perl.override { fetchurl = stdenv.fetchurlBoot; }; openssl = buildPackages.openssl.override { fetchurl = stdenv.fetchurlBoot; @@ -10737,10 +10741,17 @@ in pkgconf = callPackage ../development/tools/misc/pkgconf {}; - pkg-config = callPackage ../development/tools/misc/pkg-config { }; + pkg-config-unwrapped = callPackage ../development/tools/misc/pkg-config { }; + pkg-config = callPackage ../build-support/pkg-config-wrapper { + pkg-config = pkg-config-unwrapped; + }; pkgconfig = pkg-config; # added 2018-02-02 - pkg-configUpstream = lowPrio (pkg-config.override { vanilla = true; }); + pkg-configUpstream = lowPrio (pkg-config.override (old: { + pkg-config = old.pkg-config.override { + vanilla = true; + }; + })); pkgconfigUpstream = pkg-configUpstream; # added 2018-02-02 inherit (nodePackages) postcss-cli; |