summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Yamnitsky <david@yamnitsky.com>2021-07-12 15:12:26 -0400
committerDavid Yamnitsky <david@yamnitsky.com>2021-07-16 10:37:59 -0400
commitae5be73025099900371c8c584d3bddfdce1f747f (patch)
tree608b9ca9e77ed14ce76cf82c8c6874fed5d77f8c
parent3704c86d15099ae431ac6e1c5e4c4d84b3fac543 (diff)
downloadnixpkgs-ae5be73025099900371c8c584d3bddfdce1f747f.tar
nixpkgs-ae5be73025099900371c8c584d3bddfdce1f747f.tar.gz
nixpkgs-ae5be73025099900371c8c584d3bddfdce1f747f.tar.bz2
nixpkgs-ae5be73025099900371c8c584d3bddfdce1f747f.tar.lz
nixpkgs-ae5be73025099900371c8c584d3bddfdce1f747f.tar.xz
nixpkgs-ae5be73025099900371c8c584d3bddfdce1f747f.tar.zst
nixpkgs-ae5be73025099900371c8c584d3bddfdce1f747f.zip
mold: init at 0.9.2
-rw-r--r--pkgs/development/tools/mold/default.nix38
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
new file mode 100644
index 00000000000..3f874a55f59
--- /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 5fbc443bae9..2cbcba7cd82 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 { };