diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 939d6121eee..9ba85483ccd 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7614,6 +7614,12 @@ fingerprint = "B956 C6A4 22AF 86A0 8F77 A8CA DE3B ADFE CD31 A89D"; }]; }; + nitsky = { + name = "nitsky"; + email = "492793+nitsky@users.noreply.github.com"; + github = "nitsky"; + githubId = 492793; + }; nkpvk = { email = "niko.pavlinek@gmail.com"; github = "nkpvk"; diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix new file mode 100644 index 00000000000..ee661e62202 --- /dev/null +++ b/pkgs/development/tools/mold/default.nix @@ -0,0 +1,39 @@ +{ stdenv +, fetchFromGitHub +, lib +, autoPatchelfHook +, cmake +, tbb +, llvmPackages_latest +, xxHash +, zlib +, openssl +}: + +stdenv.mkDerivation rec { + pname = "mold"; + version = "0.9.2"; + + src = fetchFromGitHub { + owner = "rui314"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-2LXOPirhjAifKYPgngUJwEdGrKMYsRySr5TL2x2p8J0="; + }; + + buildInputs = [ tbb zlib openssl ]; + nativeBuildInputs = [ autoPatchelfHook cmake xxHash ]; + + dontUseCmakeConfigure = true; + EXTRA_LDFLAGS = "-fuse-ld=${llvmPackages_latest.lld}/bin/ld.lld"; + LTO = 1; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + + meta = with lib; { + description = "A high performance drop-in replacement for existing unix linkers"; + homepage = "https://github.com/rui314/mold"; + license = lib.licenses.agpl3Plus; + maintainers = with maintainers; [ nitsky ]; + broken = stdenv.isAarch64; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1c3366e81d3..a1dd7beb83a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13906,6 +13906,10 @@ in modd = callPackage ../development/tools/modd { }; + mold = callPackage ../development/tools/mold { + stdenv = llvmPackages_latest.stdenv; + }; + msgpack-tools = callPackage ../development/tools/msgpack-tools { }; msgpuck = callPackage ../development/libraries/msgpuck { };