pkgsStatic.stdenv.cc.cc: put static libs in $lib

libtool requires the library files its .la files describe to be in the
same directory as those files.  We only do this for compilers without
shared libraries, so that the libraries in $lib are always the
libraries the package set is supposed to use.

Fixes: https://github.com/NixOS/nixpkgs/issues/76873
Fixes: https://github.com/NixOS/nixpkgs/issues/108534
main
Alyssa Ross 2 years ago
parent c6dd11ca39
commit 12c37aec37
No known key found for this signature in database
GPG Key ID: F9DBED4859B271C0
  1. 2
      pkgs/development/compilers/gcc/10/default.nix
  2. 2
      pkgs/development/compilers/gcc/11/default.nix
  3. 2
      pkgs/development/compilers/gcc/4.8/default.nix
  4. 2
      pkgs/development/compilers/gcc/4.9/default.nix
  5. 2
      pkgs/development/compilers/gcc/6/default.nix
  6. 2
      pkgs/development/compilers/gcc/7/default.nix
  7. 2
      pkgs/development/compilers/gcc/8/default.nix
  8. 2
      pkgs/development/compilers/gcc/9/default.nix
  9. 4
      pkgs/development/compilers/gcc/builder.sh

@ -261,7 +261,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableMultilib enableShared;
inherit (stdenv) is64bit;

@ -264,7 +264,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;

@ -290,7 +290,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;

@ -306,7 +306,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;

@ -320,7 +320,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;

@ -272,7 +272,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;

@ -254,7 +254,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;

@ -280,7 +280,7 @@ stdenv.mkDerivation ({
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;

@ -222,6 +222,10 @@ postInstall() {
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dll.a" "${!outputLib}"
moveToOutput "share/gcc-*/python" "${!outputLib}"
if [ -z "$enableShared" ]; then
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.a" "${!outputLib}"
fi
for i in "${!outputLib}/${targetConfig}"/lib/*.{la,py}; do
substituteInPlace "$i" --replace "$out" "${!outputLib}"
done

Loading…
Cancel
Save