[bug#78560,1/4] gnu: Add samurai.
Commit Message
* gnu/packages/ninja.scm (samurai): New variable.
Change-Id: I5be4fd7e5100adfd24370a1ce8d7377a6b45df3b
---
gnu/packages/ninja.scm | 43 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 42 insertions(+), 1 deletion(-)
base-commit: cf84898b4baea91f9f1139bf8af1529e2d63a45a
@@ -4,6 +4,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; 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
+