summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-07-18 00:38:56 +0200
committerGitHub <noreply@github.com>2021-07-18 00:38:56 +0200
commit3ef2003b63180866b3b51e41d4f5449c9a05351e (patch)
tree575109e0bfa7c2a14855a0c6a1a9eeca9750d27b /pkgs
parentb4176ae90a31385e438e382cbfb7eb0312fddf36 (diff)
parentc64bc214efe713c9ec35db28bd9329e6858c2a4e (diff)
downloadnixpkgs-3ef2003b63180866b3b51e41d4f5449c9a05351e.tar
nixpkgs-3ef2003b63180866b3b51e41d4f5449c9a05351e.tar.gz
nixpkgs-3ef2003b63180866b3b51e41d4f5449c9a05351e.tar.bz2
nixpkgs-3ef2003b63180866b3b51e41d4f5449c9a05351e.tar.lz
nixpkgs-3ef2003b63180866b3b51e41d4f5449c9a05351e.tar.xz
nixpkgs-3ef2003b63180866b3b51e41d4f5449c9a05351e.tar.zst
nixpkgs-3ef2003b63180866b3b51e41d4f5449c9a05351e.zip
Merge pull request #128889 from nitsky/mold
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/mold/default.nix39
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 43 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..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 { };