Subject: bug#78560: closed (Re: [bug#78560] [PATCH 3/4] gnu: Add muon.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 26 May 2025 01:46:03 +0000

Your bug report

#78560: [PATCH 1/4] gnu: Add samurai.

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].

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

Subject: Re: [bug#78560] [PATCH 3/4] gnu: Add muon.
From: Maxim Cournoyer <[email-masked]>
To: [email-masked]
Date: Mon, 26 May 2025 10:45:07 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

I've recreated this series for review on Codeberg.  There have been a
few fixes since I had shared that series here, for cross-building muon
for example and also in the meson-build-system to be able to use it as a
replacement to #:meson.  See: https://codeberg.org/guix/guix/pulls/35.

-- 
Thanks,
Maxim

Subject: [PATCH 1/4] gnu: Add samurai.
From: Maxim Cournoyer <[email-masked]>
To: [email-masked]
Cc: Maxim Cournoyer <[email-masked]>
Date: Fri, 23 May 2025 15:34:11 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/ninja.scm (samurai): New variable.

Change-Id: I5be4fd7e5100adfd24370a1ce8d7377a6b45df3b
---
 gnu/packages/ninja.scm | 43 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm
index 42c9309b82..7b517b9837 100644
--- a/gnu/packages/ninja.scm
+++ b/gnu/packages/ninja.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
+;;; Copyright © 2025 Maxim Cournoyer <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,11 +22,14 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages ninja)
-  #:use-module ((guix licenses) #:select (asl2.0))
+  #:use-module ((guix licenses) #:select (asl2.0 expat))
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages python))
 
 (define-public ninja
@@ -75,3 +79,40 @@ (define-public ninja
 files generated by a higher-level build system, and it is designed to run
 builds as fast as possible.")
     (license asl2.0)))
+
+(define-public samurai
+  (package
+    (name "samurai")
+    (version "1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/michaelforney/samurai")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "04iw18hgkm72yrl83a2xh1jc47w9rilpb95kwick0j37b4q3gxj4"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f                  ;no test suite
+           #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+                                (string-append "PREFIX=" #$output))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'patch-/bin/sh
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (substitute* "build.c"
+                              (("/bin/sh")
+                               (search-input-file inputs "bin/sh")))))
+                        (delete 'configure))))
+    (inputs (list bash-minimal))
+    (home-page "https://github.com/michaelforney/samurai")
+    (synopsis "Ninja-compatible build tool written in C")
+    (description "@code{samurai} is a ninja-compatible build tool written in
+C99 with a focus on simplicity, speed, and portability.  It is
+feature-complete and supports most of the same options as ninja.  This package
+provides the command @command{samu}.  For a @command{ninja} command
+replacement, use the @code{samu-as-ninja-wrapper} package.")
+    (license (list asl2.0               ;for the most part
+                   expat))))            ;htab.h, htab.c and tree.c
+

base-commit: cf84898b4baea91f9f1139bf8af1529e2d63a45a
-- 
2.49.0