mold: switch to wrapped by default

This commit is contained in:
Dawid Ciężarkiewicz
2025-12-08 14:08:50 -08:00
parent b0345a4d13
commit a468b2ed92
5 changed files with 19 additions and 11 deletions
+2
View File
@@ -45,6 +45,8 @@
- The `nodejs_latest` alias now points to `nodejs_25` instead of `nodejs_24`.
- `mold` is now wrapped by default.
### Deprecations {#sec-nixpkgs-release-26.05-lib-deprecations}
@@ -16,7 +16,7 @@
gccStdenv,
hello,
mold,
mold-wrapped,
mold-unwrapped,
runCommandCC,
testers,
useMoldLinker,
@@ -25,7 +25,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mold";
pname = "mold-unwrapped";
version = "2.40.4";
src = fetchFromGitHub {
@@ -93,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
in
{
version = testers.testVersion { package = mold; };
version = testers.testVersion { package = mold-unwrapped; };
}
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
adapter-gcc = helloTest "adapter-gcc" (
@@ -108,7 +108,7 @@ stdenv.mkDerivation (finalAttrs: {
);
wrapped = helloTest "wrapped" (
hello.overrideAttrs (previousAttrs: {
nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ mold-wrapped ];
nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ mold ];
NIX_CFLAGS_LINK = toString (previousAttrs.NIX_CFLAGS_LINK or "") + " -fuse-ld=mold";
})
);
+8 -3
View File
@@ -310,9 +310,14 @@ rec {
let
bintools = stdenv.cc.bintools.override {
extraBuildCommands = ''
wrap ld.mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${pkgs.buildPackages.mold}/bin/ld.mold
wrap ${stdenv.cc.bintools.targetPrefix}ld.mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${pkgs.buildPackages.mold}/bin/ld.mold
wrap ${stdenv.cc.bintools.targetPrefix}ld ${../build-support/bintools-wrapper/ld-wrapper.sh} ${pkgs.buildPackages.mold}/bin/ld.mold
pushd $out/bin
ln -s ${pkgs.buildPackages.mold}/bin/${stdenv.cc.bintools.targetPrefix}ld.mold ${stdenv.cc.bintools.targetPrefix}ld.mold
'' # Pre-generated configure scripts call the linker binary without the target prefix when cross compiling.
+ lib.optionalString (stdenv.cc.bintools.targetPrefix != "") ''
ln -s ${stdenv.cc.bintools.targetPrefix}ld.mold ld.mold
''
+ ''
popd
'';
};
in
+1
View File
@@ -1075,6 +1075,7 @@ mapAliases {
mmsd = throw "'mmsd' has been removed due to being unmaintained upstream. Consider using 'mmsd-tng' instead"; # Added 2025-06-07
mmutils = throw "'mmutils' has been removed due to being unmaintained upstream"; # Added 2025-08-29
moar = warnAlias "`moar` has been renamed to `moor` by upstream in v2.0.0. See https://github.com/walles/moor/pull/305 for more." pkgs.moor; # Added 2025-09-02
mold-wrapped = warnAlias "'mold-wrapped' has been renamed to 'mold'" pkgs.mold; # Added 2025-11-12
mongodb-6_0 = throw "mongodb-6_0 has been removed, it's end of life since July 2025"; # Added 2025-07-23
monitor = pantheon.elementary-monitor; # Added 2025-10-10
mono4 = mono6; # Added 2025-08-25
+4 -4
View File
@@ -6498,11 +6498,11 @@ with pkgs;
mkdocs = with python3Packages; toPythonApplication mkdocs;
mold-wrapped = wrapBintoolsWith {
bintools = mold;
mold = wrapBintoolsWith {
bintools = mold-unwrapped;
extraBuildCommands = ''
wrap ${targetPackages.stdenv.cc.bintools.targetPrefix}ld.mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${mold}/bin/ld.mold
wrap ${targetPackages.stdenv.cc.bintools.targetPrefix}mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${mold}/bin/mold
wrap ${targetPackages.stdenv.cc.bintools.targetPrefix}ld.mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${mold-unwrapped}/bin/ld.mold
wrap ${targetPackages.stdenv.cc.bintools.targetPrefix}mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${mold-unwrapped}/bin/mold
'';
};