Merge pull request #257084 from paveloom/mold
mold: 2.1.0 -> 2.2.0 + refactor
This commit is contained in:
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user