diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix new file mode 100644 index 000000000000..3f874a55f599 --- /dev/null +++ b/pkgs/development/tools/mold/default.nix @@ -0,0 +1,38 @@ +{ 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5fbc443bae99..2cbcba7cd823 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13867,6 +13867,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 { };