Subject: bug#53327: closed (Re: bug#60754: [PATCH 1/2] gnu: Add mold.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 12 Feb 2023 00:48:02 +0000

Your bug report

#53327: [PATCH] gnu: Add mold.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
53327: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=53327
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#60754: [PATCH 1/2] gnu: Add mold.
From: Ludovic Courtès <[email-masked]>
To: Zhu Zihao <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked]
Date: Sun, 12 Feb 2023 01:47:18 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Zhu Zihao <[email-masked]> skribis:

> * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
> * gnu/packages/mold.scm: New file.
> * gnu/packages/mold.scm (mold): New variable.

[...]

> * gnu/packages/mold.scm(make-mold-wrapper): New variable.
> (mold-wrapper): New variable.
> (mold-as-ld-wrapper): New variable.

Applied both with minor changes (see below), thanks.

I’m also closing the two other issues you mentioned that were adding
mold.  Please let us know if there’s something to borrow from them!

Ludo’.

diff --git a/gnu/packages/mold.scm b/gnu/packages/mold.scm
index 6514bd3b90..dfc452a329 100644
--- a/gnu/packages/mold.scm
+++ b/gnu/packages/mold.scm
@@ -77,12 +77,12 @@ (define-public mold
               (delete-file "test/elf/rpath.sh"))))))
     (inputs (list mimalloc openssl tbb xxhash zlib `(,zstd "lib")))
     (home-page "https://github.com/rui314/mold")
-    (synopsis "Faster drop-in replacement for Unix linkers")
+    (synopsis "Fast linker")
     (description
-     "Mold is a faster drop-in replacement for existing Unix linkers.
+     "Mold is a faster drop-in replacement for existing linkers.
 It is designed to increase developer productivity by reducing build time,
 especially in rapid debug-edit-rebuild cycles.")
-    (license license:agpl3+)))
+    (license license:agpl3)))
 
 (define* (make-mold-wrapper mold #:key mold-as-ld?)
   "Return a MOLD wrapper.  When MOLD-AS-LD? is true, create a 'ld' symlink that

Subject: [PATCH] gnu: Add mold.
From: Andreas Rottmann <[email-masked]>
To: [email-masked]
Date: Mon, 17 Jan 2022 20:56:49 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

>From ec3a1c3c0a742f5a98c3a6d2e86da663f993958e Mon Sep 17 00:00:00 2001
From: Andreas Rottmann <[email-masked]>
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 <[email-masked]>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(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