Merge pull request #257084 from paveloom/mold

mold: 2.1.0 -> 2.2.0 + refactor
This commit is contained in:
Artturi
2023-10-13 19:53:56 +03:00
committed by GitHub
3 changed files with 27 additions and 16 deletions
+19 -14
View File
@@ -1,30 +1,33 @@
{ lib
, stdenv
, fetchFromGitHub
, nix-update-script
, cmake
, mimalloc
, ninja
, openssl
, tbb
, zlib
, testers
, mold
, nix-update-script
, runCommandCC
, mold-wrapped
, hello
, zstd
, buildPackages
, hello
, mold
, mold-wrapped
, runCommandCC
, testers
, useMoldLinker
}:
stdenv.mkDerivation rec {
pname = "mold";
version = "2.1.0";
version = "2.2.0";
src = fetchFromGitHub {
owner = "rui314";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-4W6quVSkxS2I6KEy3fVyBTypD0fg4EecgeEVM0Yw58s=";
repo = "mold";
rev = "v${version}";
hash = "sha256-ePX80hzzIzSJdGUX96GyxYWcdbXxXyuyNQqj5RDSkKU=";
};
nativeBuildInputs = [
@@ -33,14 +36,16 @@ stdenv.mkDerivation rec {
];
buildInputs = [
openssl
tbb
zlib
zstd
] ++ lib.optionals (!stdenv.isDarwin) [
mimalloc
];
cmakeFlags = [
"-DMOLD_USE_SYSTEM_MIMALLOC:BOOL=ON"
"-DMOLD_USE_SYSTEM_TBB:BOOL=ON"
];
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [
@@ -103,8 +108,8 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/rui314/mold";
changelog = "https://github.com/rui314/mold/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ azahi nitsky paveloom ];
mainProgram = "mold";
platforms = platforms.unix;
mainProgram = "mold";
maintainers = with maintainers; [ azahi nitsky paveloom ];
};
}
+4 -1
View File
@@ -201,7 +201,10 @@ rec {
inherit bintools;
};
allowedRequisites =
lib.mapNullable (rs: rs ++ [ bintools pkgs.mold (lib.getLib pkgs.mimalloc) (lib.getLib pkgs.openssl) ]) (stdenv.allowedRequisites or null);
(lib.optional (stdenv.allowedRequisites or null != null) stdenv.allowedRequisites)
++ [ bintools pkgs.mold ]
# need to `outputSpecified = false` to make getLib work
++ (builtins.map (p: lib.getLib (p // { outputSpecified = false; })) pkgs.mold.buildInputs);
# gcc >12.1.0 supports '-fuse-ld=mold'
# the wrap ld above in bintools supports gcc <12.1.0 and shouldn't harm >12.1.0
# https://github.com/rui314/mold#how-to-use
+4 -1
View File
@@ -19647,7 +19647,10 @@ with pkgs;
modd = callPackage ../development/tools/modd { };
mold = callPackage ../development/tools/mold { };
mold = callPackage ../development/tools/mold {
stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_13.stdenv else stdenv;
tbb = tbb_2021_8;
};
mold-wrapped = wrapBintoolsWith {
bintools = mold;