diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-05-23 09:11:00 +0900 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-05-27 19:22:39 +0900 |
commit | d575ca033480b0a20abaf324a5806733a67342ba (patch) | |
tree | 01642df86052064769520b96f85dc2f0498e1194 | |
parent | f458883cf5cc973ced865ba6862f4fea411dfc3a (diff) |
gnu: Add samurai.
* gnu/packages/ninja.scm (samurai): New variable.
Change-Id: I5be4fd7e5100adfd24370a1ce8d7377a6b45df3b
-rw-r--r-- | gnu/packages/ninja.scm | 43 |
1 files changed, 42 insertions, 1 deletions
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 <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 @@ other build systems in two major respects: it is designed to have its input 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 + |