From ec3a1c3c0a742f5a98c3a6d2e86da663f993958e Mon Sep 17 00:00:00 2001 From: Andreas Rottmann Date: Mon, 17 Jan 2022 21:03:10 +0100 Subject: [PATCH] gnu: Add mold. * gnu/packages/mold.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/mold.scm | 56 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 gnu/packages/mold.scm diff --git a/gnu/local.mk b/gnu/local.mk index eac8652056..91da63703a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -403,6 +403,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/mingw.scm \ %D%/packages/microcom.scm \ %D%/packages/moe.scm \ + %D%/packages/mold.scm \ %D%/packages/motti.scm \ %D%/packages/monitoring.scm \ %D%/packages/mono.scm \ diff --git a/gnu/packages/mold.scm b/gnu/packages/mold.scm new file mode 100644 index 0000000000..87c106c069 --- /dev/null +++ b/gnu/packages/mold.scm @@ -0,0 +1,56 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Andreas Rottmann +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages mold) + #:use-module ((guix licenses) #:select (agpl3+)) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (guix utils) + #:use-module (gnu packages cmake) + #:use-module (gnu packages compression) + #:use-module (gnu packages digest) + #:use-module (gnu packages tls)) + +(define-public mold + (package + (name "mold") + (version "1.0.1") + (home-page "https://github.com/rui314/mold") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ydgcx6vycg7jv4pksv4875cwqdysfm0cpscsdfy0inr5mjrbs8v")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; TODO: Tests require clang and hardcode `cc` + #:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "CXX=" ,(cxx-for-target)) + (string-append "PREFIX=" %output)) + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs (list cmake)) + (inputs (list openssl zlib xxhash)) + (synopsis "Modern Linker") + (description "mold is a faster drop-in replacement for existing Unix linkers.") + (license agpl3+))) -- 2.30.2