summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorluca <luca.kredel@web.de>2025-11-20 02:26:00 +0100
committerNguyễn Gia Phong <cnx@loang.net>2026-05-27 16:55:34 +0900
commit91c5e436f6b674749bff7e7800cf93da480e0182 (patch)
treee432375751b3a6c5ff9d6f85b43f6d03e2da6045 /gnu/packages
parent47deb7a819a82d98d96a40f3a9641692a72fd310 (diff)
gnu: ninja: Move to build-tools.
* gnu/packages/build-tools.scm (ninja, ninja/pinned, samurai) (samu-as-ninja-wrapper): Move to here... * gnu/packages/ninja.scm (ninja, ninja/pinned, samurai) (samu-as-ninja-wrapper): ...from here. New deprecated variables. * guix/build-system/cmake.scm (default-ninja): Switch to loading from build-tools module. * guix/build-system/meson.scm (default-ninja): Likewise. Change-Id: Ia32fb258159cfcc9a0f1ef91c335c71c25a6d7ef Closes: https://codeberg.org/guix/guix/issues/3595 Merges: https://codeberg.org/guix/guix/pulls/4329 Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/audio.scm1
-rw-r--r--gnu/packages/bootloaders.scm2
-rw-r--r--gnu/packages/build-tools.scm116
-rw-r--r--gnu/packages/chromium.scm1
-rw-r--r--gnu/packages/debug.scm1
-rw-r--r--gnu/packages/disk.scm1
-rw-r--r--gnu/packages/dlang.scm2
-rw-r--r--gnu/packages/emulators.scm2
-rw-r--r--gnu/packages/finance.scm1
-rw-r--r--gnu/packages/fontutils.scm2
-rw-r--r--gnu/packages/games.scm1
-rw-r--r--gnu/packages/geo.scm1
-rw-r--r--gnu/packages/graphics.scm1
-rw-r--r--gnu/packages/lisp.scm2
-rw-r--r--gnu/packages/lua.scm1
-rw-r--r--gnu/packages/machine-learning.scm1
-rw-r--r--gnu/packages/maths.scm2
-rw-r--r--gnu/packages/ninja.scm131
-rw-r--r--gnu/packages/package-management.scm1
-rw-r--r--gnu/packages/pdf.scm1
-rw-r--r--gnu/packages/physics.scm1
-rw-r--r--gnu/packages/profiling.scm1
-rw-r--r--gnu/packages/python-check.scm4
-rw-r--r--gnu/packages/python-compression.scm2
-rw-r--r--gnu/packages/python-science.scm1
-rw-r--r--gnu/packages/python-xyz.scm1
-rw-r--r--gnu/packages/qt.scm2
-rw-r--r--gnu/packages/rust-apps.scm1
-rw-r--r--gnu/packages/swift.scm2
-rw-r--r--gnu/packages/video.scm1
-rw-r--r--gnu/packages/virtualization.scm1
-rw-r--r--gnu/packages/wm.scm1
32 files changed, 136 insertions, 153 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 4c7e79b9dc5..e62b3da434d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -137,7 +137,6 @@
137 #:use-module (gnu packages music) 137 #:use-module (gnu packages music)
138 #:use-module (gnu packages ncurses) 138 #:use-module (gnu packages ncurses)
139 #:use-module (gnu packages networking) 139 #:use-module (gnu packages networking)
140 #:use-module (gnu packages ninja)
141 #:use-module (gnu packages onc-rpc) 140 #:use-module (gnu packages onc-rpc)
142 #:use-module (gnu packages oneapi) 141 #:use-module (gnu packages oneapi)
143 #:use-module (gnu packages perl) 142 #:use-module (gnu packages perl)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index f4214b3bf9e..e6a74fcbcc9 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -48,6 +48,7 @@
48 #:use-module (gnu packages base) 48 #:use-module (gnu packages base)
49 #:use-module (gnu packages disk) 49 #:use-module (gnu packages disk)
50 #:use-module (gnu packages bison) 50 #:use-module (gnu packages bison)
51 #:use-module (gnu packages build-tools)
51 #:use-module (gnu packages cdrom) 52 #:use-module (gnu packages cdrom)
52 #:use-module (gnu packages check) 53 #:use-module (gnu packages check)
53 #:use-module (gnu packages compression) 54 #:use-module (gnu packages compression)
@@ -65,7 +66,6 @@
65 #:use-module (gnu packages man) 66 #:use-module (gnu packages man)
66 #:use-module (gnu packages mtools) 67 #:use-module (gnu packages mtools)
67 #:use-module (gnu packages ncurses) 68 #:use-module (gnu packages ncurses)
68 #:use-module (gnu packages ninja)
69 #:use-module (gnu packages package-management) 69 #:use-module (gnu packages package-management)
70 #:use-module (gnu packages perl) 70 #:use-module (gnu packages perl)
71 #:use-module (gnu packages pkg-config) 71 #:use-module (gnu packages pkg-config)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 911caea9c2e..2a05527d3fa 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -64,7 +64,6 @@
64 #:use-module (gnu packages logging) 64 #:use-module (gnu packages logging)
65 #:use-module (gnu packages lua) 65 #:use-module (gnu packages lua)
66 #:use-module (gnu packages man) 66 #:use-module (gnu packages man)
67 #:use-module (gnu packages ninja)
68 #:use-module (gnu packages package-management) 67 #:use-module (gnu packages package-management)
69 #:use-module (gnu packages pcre) 68 #:use-module (gnu packages pcre)
70 #:use-module (gnu packages perl) 69 #:use-module (gnu packages perl)
@@ -77,6 +76,7 @@
77 #:use-module (gnu packages python-crypto) 76 #:use-module (gnu packages python-crypto)
78 #:use-module (gnu packages python-web) 77 #:use-module (gnu packages python-web)
79 #:use-module (gnu packages python-xyz) 78 #:use-module (gnu packages python-xyz)
79 #:use-module (gnu packages re2c)
80 #:use-module (gnu packages regex) 80 #:use-module (gnu packages regex)
81 #:use-module (gnu packages rpc) 81 #:use-module (gnu packages rpc)
82 #:use-module (gnu packages serialization) 82 #:use-module (gnu packages serialization)
@@ -104,7 +104,8 @@
104 #:use-module (guix packages) 104 #:use-module (guix packages)
105 #:use-module (guix search-paths) 105 #:use-module (guix search-paths)
106 #:use-module (guix utils) 106 #:use-module (guix utils)
107 #:use-module (ice-9 optargs)) 107 #:use-module (ice-9 optargs)
108 #:use-module (srfi srfi-1))
108 109
109(define-public acr 110(define-public acr
110 (package 111 (package
@@ -1483,3 +1484,114 @@ Features:
1483@item Support for languages outside C/C++ (e.g. Go, Rust, Zig). 1484@item Support for languages outside C/C++ (e.g. Go, Rust, Zig).
1484@end itemize") 1485@end itemize")
1485 (license license:asl2.0))) 1486 (license license:asl2.0)))
1487
1488(define-public ninja/pinned
1489 (hidden-package
1490 (package
1491 (name "ninja")
1492 (version "1.13.2")
1493 (source (origin
1494 (method git-fetch)
1495 (uri (git-reference
1496 (url "https://github.com/ninja-build/ninja")
1497 (commit (string-append "v" version))))
1498 (file-name (git-file-name name version))
1499 (sha256
1500 (base32
1501 "0lp9dmxbjyjwv089i8mgq3nvnhpbnsn01ifm05m9s47w7cifrl8g"))))
1502 (build-system gnu-build-system)
1503 (inputs (list python-wrapper re2c))
1504 (arguments
1505 '(; Tests now require googletest, which is a circular dependency.
1506 #:tests? #f
1507 #:phases
1508 (modify-phases %standard-phases
1509 (replace 'configure
1510 (lambda _
1511 (substitute* "src/subprocess-posix.cc"
1512 (("/bin/sh") (which "sh")))
1513 (substitute* "src/subprocess_test.cc"
1514 (("/bin/echo") (which "echo")))))
1515 (replace 'build
1516 (lambda _
1517 (invoke "./configure.py" "--bootstrap")))
1518 (replace 'check
1519 (lambda* (#:key tests? #:allow-other-keys)
1520 (when tests?
1521 (invoke "./configure.py")
1522 (invoke "./ninja" "ninja_test")
1523 (invoke "./ninja_test"))))
1524 (replace 'install
1525 (lambda* (#:key outputs #:allow-other-keys)
1526 (let* ((out (assoc-ref outputs "out"))
1527 (bin (string-append out "/bin"))
1528 (doc (string-append out "/share/doc/ninja")))
1529 (install-file "ninja" bin)
1530 (install-file "doc/manual.asciidoc" doc)))))))
1531 (home-page "https://ninja-build.org/")
1532 (synopsis "Small build system")
1533 (description
1534 "Ninja is a small build system with a focus on speed. It differs from
1535other build systems in two major respects: it is designed to have its input
1536files generated by a higher-level build system, and it is designed to run
1537builds as fast as possible.")
1538 (license license:asl2.0))))
1539
1540(define-public ninja
1541 (package/inherit ninja/pinned
1542 (properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
1543
1544(define-public samurai
1545 (package
1546 (name "samurai")
1547 (version "1.2")
1548 (source (origin
1549 (method git-fetch)
1550 (uri (git-reference
1551 (url "https://github.com/michaelforney/samurai")
1552 (commit version)))
1553 (file-name (git-file-name name version))
1554 (sha256
1555 (base32
1556 "04iw18hgkm72yrl83a2xh1jc47w9rilpb95kwick0j37b4q3gxj4"))))
1557 (build-system gnu-build-system)
1558 (arguments
1559 (list #:tests? #f ;no test suite
1560 #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
1561 (string-append "PREFIX=" #$output))
1562 #:phases #~(modify-phases %standard-phases
1563 (add-after 'unpack 'patch-/bin/sh
1564 (lambda* (#:key inputs #:allow-other-keys)
1565 (substitute* "build.c"
1566 (("/bin/sh")
1567 (search-input-file inputs "bin/sh")))))
1568 (delete 'configure))))
1569 (inputs (list bash-minimal))
1570 (home-page "https://github.com/michaelforney/samurai")
1571 (synopsis "Ninja-compatible build tool written in C")
1572 (description "@code{samurai} is a ninja-compatible build tool written in
1573C99 with a focus on simplicity, speed, and portability. It is
1574feature-complete and supports most of the same options as ninja. This package
1575provides the command @command{samu}. For a @command{ninja} command
1576replacement, use the @code{samu-as-ninja-wrapper} package.")
1577 (license (list license:asl2.0 ;for the most part
1578 license:expat)))) ;htab.h, htab.c and tree.c
1579
1580(define-public samu-as-ninja-wrapper
1581 (package/inherit samurai
1582 (name "samu-as-ninja-wrapper")
1583 (build-system trivial-build-system)
1584 (arguments
1585 (list #:builder
1586 (with-imported-modules '((guix build utils))
1587 #~(begin
1588 (use-modules (guix build utils))
1589 (let ((bindir (string-append #$output "/bin"))
1590 (samu (string-append #$(this-package-input "samurai")
1591 "/bin/samu")))
1592 (mkdir-p bindir)
1593 (symlink samu (string-append bindir "/ninja")))))))
1594 (inputs (list samurai))
1595 (description "This package provides the @command{ninja} command,
1596implemented as a symbolic link to the @command{samu} command of @code{samurai}
1597package.")))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index a6c8c8e7962..715f34ead73 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -53,7 +53,6 @@
53 #:use-module (gnu packages llvm) 53 #:use-module (gnu packages llvm)
54 #:use-module (gnu packages kerberos) 54 #:use-module (gnu packages kerberos)
55 #:use-module (gnu packages maths) 55 #:use-module (gnu packages maths)
56 #:use-module (gnu packages ninja)
57 #:use-module (gnu packages node) 56 #:use-module (gnu packages node)
58 #:use-module (gnu packages nss) 57 #:use-module (gnu packages nss)
59 #:use-module (gnu packages pciutils) 58 #:use-module (gnu packages pciutils)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index ead7aff7b83..ed10971745a 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -77,7 +77,6 @@
77 #:use-module (gnu packages mail) 77 #:use-module (gnu packages mail)
78 #:use-module (gnu packages multiprecision) 78 #:use-module (gnu packages multiprecision)
79 #:use-module (gnu packages ncurses) 79 #:use-module (gnu packages ncurses)
80 #:use-module (gnu packages ninja)
81 #:use-module (gnu packages perl) 80 #:use-module (gnu packages perl)
82 #:use-module (gnu packages pkg-config) 81 #:use-module (gnu packages pkg-config)
83 #:use-module (gnu packages pretty-print) 82 #:use-module (gnu packages pretty-print)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index e144658e9df..ecf35b6cfc2 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -105,7 +105,6 @@
105 #:use-module (gnu packages libbsd) 105 #:use-module (gnu packages libbsd)
106 #:use-module (gnu packages linux) 106 #:use-module (gnu packages linux)
107 #:use-module (gnu packages ncurses) 107 #:use-module (gnu packages ncurses)
108 #:use-module (gnu packages ninja)
109 #:use-module (gnu packages nss) 108 #:use-module (gnu packages nss)
110 #:use-module (gnu packages perl) 109 #:use-module (gnu packages perl)
111 #:use-module (gnu packages perl-web) 110 #:use-module (gnu packages perl-web)
diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index 98ca7703709..edf24a1a952 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -41,6 +41,7 @@
41 #:use-module (gnu packages) 41 #:use-module (gnu packages)
42 #:use-module (gnu packages base) 42 #:use-module (gnu packages base)
43 #:use-module (gnu packages bash) 43 #:use-module (gnu packages bash)
44 #:use-module (gnu packages build-tools)
44 #:use-module (gnu packages check) 45 #:use-module (gnu packages check)
45 #:use-module (gnu packages compression) 46 #:use-module (gnu packages compression)
46 #:use-module (gnu packages curl) 47 #:use-module (gnu packages curl)
@@ -48,7 +49,6 @@
48 #:use-module (gnu packages gdb) 49 #:use-module (gnu packages gdb)
49 #:use-module (gnu packages libedit) 50 #:use-module (gnu packages libedit)
50 #:use-module (gnu packages llvm) 51 #:use-module (gnu packages llvm)
51 #:use-module (gnu packages ninja)
52 #:use-module (gnu packages perl) 52 #:use-module (gnu packages perl)
53 #:use-module (gnu packages pkg-config) 53 #:use-module (gnu packages pkg-config)
54 #:use-module (gnu packages python) 54 #:use-module (gnu packages python)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 927a1959727..1c90a22c252 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -68,6 +68,7 @@
68 #:use-module (gnu packages bash) 68 #:use-module (gnu packages bash)
69 #:use-module (gnu packages bison) 69 #:use-module (gnu packages bison)
70 #:use-module (gnu packages boost) 70 #:use-module (gnu packages boost)
71 #:use-module (gnu packages build-tools)
71 #:use-module (gnu packages cdrom) 72 #:use-module (gnu packages cdrom)
72 #:use-module (gnu packages check) 73 #:use-module (gnu packages check)
73 #:use-module (gnu packages cmake) 74 #:use-module (gnu packages cmake)
@@ -107,7 +108,6 @@
107 #:use-module (gnu packages music) 108 #:use-module (gnu packages music)
108 #:use-module (gnu packages ncurses) 109 #:use-module (gnu packages ncurses)
109 #:use-module (gnu packages networking) 110 #:use-module (gnu packages networking)
110 #:use-module (gnu packages ninja)
111 #:use-module (gnu packages parallel) 111 #:use-module (gnu packages parallel)
112 #:use-module (gnu packages pkg-config) 112 #:use-module (gnu packages pkg-config)
113 #:use-module (gnu packages pretty-print) 113 #:use-module (gnu packages pretty-print)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index cb87eab8a04..7d9a693385d 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -129,7 +129,6 @@
129 #:use-module (gnu packages multiprecision) 129 #:use-module (gnu packages multiprecision)
130 #:use-module (gnu packages ncurses) 130 #:use-module (gnu packages ncurses)
131 #:use-module (gnu packages networking) 131 #:use-module (gnu packages networking)
132 #:use-module (gnu packages ninja)
133 #:use-module (gnu packages nss) 132 #:use-module (gnu packages nss)
134 #:use-module (gnu packages perl) 133 #:use-module (gnu packages perl)
135 #:use-module (gnu packages pdf) 134 #:use-module (gnu packages pdf)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index f02fc11b232..ddd68d30b21 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -47,6 +47,7 @@
47 #:use-module (gnu packages autotools) 47 #:use-module (gnu packages autotools)
48 #:use-module (gnu packages bash) 48 #:use-module (gnu packages bash)
49 #:use-module (gnu packages bison) 49 #:use-module (gnu packages bison)
50 #:use-module (gnu packages build-tools)
50 #:use-module (gnu packages check) 51 #:use-module (gnu packages check)
51 #:use-module (gnu packages compression) 52 #:use-module (gnu packages compression)
52 #:use-module (gnu packages datastructures) 53 #:use-module (gnu packages datastructures)
@@ -69,7 +70,6 @@
69 #:use-module (gnu packages linux) 70 #:use-module (gnu packages linux)
70 #:use-module (gnu packages man) 71 #:use-module (gnu packages man)
71 #:use-module (gnu packages mc) 72 #:use-module (gnu packages mc)
72 #:use-module (gnu packages ninja)
73 #:use-module (gnu packages perl) 73 #:use-module (gnu packages perl)
74 #:use-module (gnu packages pkg-config) 74 #:use-module (gnu packages pkg-config)
75 #:use-module (gnu packages python) 75 #:use-module (gnu packages python)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 5dddee93265..f6129789227 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -201,7 +201,6 @@
201 #:use-module (gnu packages ncurses) 201 #:use-module (gnu packages ncurses)
202 #:use-module (gnu packages netpbm) 202 #:use-module (gnu packages netpbm)
203 #:use-module (gnu packages networking) 203 #:use-module (gnu packages networking)
204 #:use-module (gnu packages ninja)
205 #:use-module (gnu packages ocaml) 204 #:use-module (gnu packages ocaml)
206 #:use-module (gnu packages oneapi) 205 #:use-module (gnu packages oneapi)
207 #:use-module (gnu packages opencl) 206 #:use-module (gnu packages opencl)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 5a6e4fcaed1..4d6fa16b839 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -128,7 +128,6 @@
128 #:use-module (gnu packages mpi) 128 #:use-module (gnu packages mpi)
129 #:use-module (gnu packages multiprecision) 129 #:use-module (gnu packages multiprecision)
130 #:use-module (gnu packages ncurses) 130 #:use-module (gnu packages ncurses)
131 #:use-module (gnu packages ninja)
132 #:use-module (gnu packages pcre) 131 #:use-module (gnu packages pcre)
133 #:use-module (gnu packages pdf) 132 #:use-module (gnu packages pdf)
134 #:use-module (gnu packages perl) 133 #:use-module (gnu packages perl)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 3ad79bd2774..49aa8ee1366 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -111,7 +111,6 @@
111 #:use-module (gnu packages maths) 111 #:use-module (gnu packages maths)
112 #:use-module (gnu packages mp3) 112 #:use-module (gnu packages mp3)
113 #:use-module (gnu packages multiprecision) 113 #:use-module (gnu packages multiprecision)
114 #:use-module (gnu packages ninja)
115 #:use-module (gnu packages opencl) 114 #:use-module (gnu packages opencl)
116 #:use-module (gnu packages oneapi) 115 #:use-module (gnu packages oneapi)
117 #:use-module (gnu packages pciutils) 116 #:use-module (gnu packages pciutils)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 91795c5b91a..50cbf8485fc 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -76,6 +76,7 @@
76 #:use-module (gnu packages bash) 76 #:use-module (gnu packages bash)
77 #:use-module (gnu packages bdw-gc) 77 #:use-module (gnu packages bdw-gc)
78 #:use-module (gnu packages boost) 78 #:use-module (gnu packages boost)
79 #:use-module (gnu packages build-tools)
79 #:use-module (gnu packages check) 80 #:use-module (gnu packages check)
80 #:use-module (gnu packages compression) 81 #:use-module (gnu packages compression)
81 #:use-module (gnu packages crypto) 82 #:use-module (gnu packages crypto)
@@ -102,7 +103,6 @@
102 #:use-module (gnu packages maths) 103 #:use-module (gnu packages maths)
103 #:use-module (gnu packages multiprecision) 104 #:use-module (gnu packages multiprecision)
104 #:use-module (gnu packages ncurses) 105 #:use-module (gnu packages ncurses)
105 #:use-module (gnu packages ninja)
106 #:use-module (gnu packages notcurses) 106 #:use-module (gnu packages notcurses)
107 #:use-module (gnu packages onc-rpc) 107 #:use-module (gnu packages onc-rpc)
108 #:use-module (gnu packages perl) 108 #:use-module (gnu packages perl)
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 190b723a02b..2e5f44561b9 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -74,7 +74,6 @@
74 #:use-module (gnu packages linux) 74 #:use-module (gnu packages linux)
75 #:use-module (gnu packages m4) 75 #:use-module (gnu packages m4)
76 #:use-module (gnu packages ncurses) 76 #:use-module (gnu packages ncurses)
77 #:use-module (gnu packages ninja)
78 #:use-module (gnu packages pkg-config) 77 #:use-module (gnu packages pkg-config)
79 #:use-module (gnu packages pretty-print) 78 #:use-module (gnu packages pretty-print)
80 #:use-module (gnu packages rdf) 79 #:use-module (gnu packages rdf)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index f5010da10b5..b45f9a698c6 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -96,7 +96,6 @@
96 #:use-module (gnu packages maths) 96 #:use-module (gnu packages maths)
97 #:use-module (gnu packages monitoring) 97 #:use-module (gnu packages monitoring)
98 #:use-module (gnu packages mpi) 98 #:use-module (gnu packages mpi)
99 #:use-module (gnu packages ninja)
100 #:use-module (gnu packages ocaml) 99 #:use-module (gnu packages ocaml)
101 #:use-module (gnu packages onc-rpc) 100 #:use-module (gnu packages onc-rpc)
102 #:use-module (gnu packages oneapi) 101 #:use-module (gnu packages oneapi)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index eb4137e94cc..f5e68a42351 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -125,6 +125,7 @@
125 #:use-module (gnu packages benchmark) 125 #:use-module (gnu packages benchmark)
126 #:use-module (gnu packages bison) 126 #:use-module (gnu packages bison)
127 #:use-module (gnu packages boost) 127 #:use-module (gnu packages boost)
128 #:use-module (gnu packages build-tools)
128 #:use-module (gnu packages calendar) 129 #:use-module (gnu packages calendar)
129 #:use-module (gnu packages check) 130 #:use-module (gnu packages check)
130 #:use-module (gnu packages cmake) 131 #:use-module (gnu packages cmake)
@@ -176,7 +177,6 @@
176 #:use-module (gnu packages multiprecision) 177 #:use-module (gnu packages multiprecision)
177 #:use-module (gnu packages ncurses) 178 #:use-module (gnu packages ncurses)
178 #:use-module (gnu packages netpbm) 179 #:use-module (gnu packages netpbm)
179 #:use-module (gnu packages ninja)
180 #:use-module (gnu packages ocaml) 180 #:use-module (gnu packages ocaml)
181 #:use-module (gnu packages onc-rpc) 181 #:use-module (gnu packages onc-rpc)
182 #:use-module (gnu packages oneapi) 182 #:use-module (gnu packages oneapi)
diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm
index d9d7a4a4b03..54375524a4d 100644
--- a/gnu/packages/ninja.scm
+++ b/gnu/packages/ninja.scm
@@ -5,6 +5,7 @@
5;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> 5;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
6;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> 6;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
7;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop> 7;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
8;;; Copyright © 2026 Luca Kredel <luca.kredel@web.de>
8;;; 9;;;
9;;; This file is part of GNU Guix. 10;;; This file is part of GNU Guix.
10;;; 11;;;
@@ -22,127 +23,17 @@
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 24
24(define-module (gnu packages ninja) 25(define-module (gnu packages ninja)
25 #:use-module ((guix licenses) #:select (asl2.0 expat)) 26 #:use-module (gnu packages build-tools)
26 #:use-module (guix gexp) 27 #:use-module (guix deprecation))
27 #:use-module (guix packages)
28 #:use-module (guix utils)
29 #:use-module (guix git-download)
30 #:use-module (guix build-system gnu)
31 #:use-module (guix build-system trivial)
32 #:use-module (guix utils)
33 #:use-module (gnu packages)
34 #:use-module (gnu packages bash)
35 #:use-module (gnu packages python)
36 #:use-module (gnu packages re2c)
37 #:use-module (srfi srfi-1))
38 28
39(define-public ninja/pinned 29(define-deprecated/public-alias ninja/pinned
40 (hidden-package 30 (@ (gnu packages build-tools) ninja/pinned))
41 (package
42 (name "ninja")
43 (version "1.13.2")
44 (source (origin
45 (method git-fetch)
46 (uri (git-reference
47 (url "https://github.com/ninja-build/ninja")
48 (commit (string-append "v" version))))
49 (file-name (git-file-name name version))
50 (sha256
51 (base32
52 "0lp9dmxbjyjwv089i8mgq3nvnhpbnsn01ifm05m9s47w7cifrl8g"))))
53 (build-system gnu-build-system)
54 (inputs (list python-wrapper re2c))
55 (arguments
56 '(; Tests now require googletest, which is a circular dependency.
57 #:tests? #f
58 #:phases
59 (modify-phases %standard-phases
60 (replace 'configure
61 (lambda _
62 (substitute* "src/subprocess-posix.cc"
63 (("/bin/sh") (which "sh")))
64 (substitute* "src/subprocess_test.cc"
65 (("/bin/echo") (which "echo")))))
66 (replace 'build
67 (lambda _
68 (invoke "./configure.py" "--bootstrap")))
69 (replace 'check
70 (lambda* (#:key tests? #:allow-other-keys)
71 (when tests?
72 (invoke "./configure.py")
73 (invoke "./ninja" "ninja_test")
74 (invoke "./ninja_test"))))
75 (replace 'install
76 (lambda* (#:key outputs #:allow-other-keys)
77 (let* ((out (assoc-ref outputs "out"))
78 (bin (string-append out "/bin"))
79 (doc (string-append out "/share/doc/ninja")))
80 (install-file "ninja" bin)
81 (install-file "doc/manual.asciidoc" doc)))))))
82 (home-page "https://ninja-build.org/")
83 (synopsis "Small build system")
84 (description
85 "Ninja is a small build system with a focus on speed. It differs from
86other build systems in two major respects: it is designed to have its input
87files generated by a higher-level build system, and it is designed to run
88builds as fast as possible.")
89 (license asl2.0))))
90 31
91(define-public ninja 32(define-deprecated/public-alias ninja
92 (package/inherit ninja/pinned 33 (@ (gnu packages build-tools) ninja))
93 (properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
94 34
95(define-public samurai 35(define-deprecated/public-alias samurai
96 (package 36 (@ (gnu packages build-tools) samurai))
97 (name "samurai")
98 (version "1.2")
99 (source (origin
100 (method git-fetch)
101 (uri (git-reference
102 (url "https://github.com/michaelforney/samurai")
103 (commit version)))
104 (file-name (git-file-name name version))
105 (sha256
106 (base32
107 "04iw18hgkm72yrl83a2xh1jc47w9rilpb95kwick0j37b4q3gxj4"))))
108 (build-system gnu-build-system)
109 (arguments
110 (list #:tests? #f ;no test suite
111 #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
112 (string-append "PREFIX=" #$output))
113 #:phases #~(modify-phases %standard-phases
114 (add-after 'unpack 'patch-/bin/sh
115 (lambda* (#:key inputs #:allow-other-keys)
116 (substitute* "build.c"
117 (("/bin/sh")
118 (search-input-file inputs "bin/sh")))))
119 (delete 'configure))))
120 (inputs (list bash-minimal))
121 (home-page "https://github.com/michaelforney/samurai")
122 (synopsis "Ninja-compatible build tool written in C")
123 (description "@code{samurai} is a ninja-compatible build tool written in
124C99 with a focus on simplicity, speed, and portability. It is
125feature-complete and supports most of the same options as ninja. This package
126provides the command @command{samu}. For a @command{ninja} command
127replacement, use the @code{samu-as-ninja-wrapper} package.")
128 (license (list asl2.0 ;for the most part
129 expat)))) ;htab.h, htab.c and tree.c
130 37
131(define-public samu-as-ninja-wrapper 38(define-deprecated/public-alias samu-as-ninja-wrapper
132 (package/inherit samurai 39 (@ (gnu packages build-tools) samu-as-ninja-wrapper))
133 (name "samu-as-ninja-wrapper")
134 (build-system trivial-build-system)
135 (arguments
136 (list #:builder
137 (with-imported-modules '((guix build utils))
138 #~(begin
139 (use-modules (guix build utils))
140 (let ((bindir (string-append #$output "/bin"))
141 (samu (string-append #$(this-package-input "samurai")
142 "/bin/samu")))
143 (mkdir-p bindir)
144 (symlink samu (string-append bindir "/ninja")))))))
145 (inputs (list samurai))
146 (description "This package provides the @command{ninja} command,
147implemented as a symbolic link to the @command{samu} command of @code{samurai}
148package.")))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 03d50ce4856..514a24249d2 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -109,7 +109,6 @@
109 #:use-module (gnu packages markup) 109 #:use-module (gnu packages markup)
110 #:use-module (gnu packages nettle) 110 #:use-module (gnu packages nettle)
111 #:use-module (gnu packages networking) 111 #:use-module (gnu packages networking)
112 #:use-module (gnu packages ninja)
113 #:use-module (gnu packages node) 112 #:use-module (gnu packages node)
114 #:use-module (gnu packages nss) 113 #:use-module (gnu packages nss)
115 #:use-module (gnu packages patchutils) 114 #:use-module (gnu packages patchutils)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 89e498eb643..1ef0f637d9e 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -98,7 +98,6 @@
98 #:use-module (gnu packages lua) 98 #:use-module (gnu packages lua)
99 #:use-module (gnu packages man) 99 #:use-module (gnu packages man)
100 #:use-module (gnu packages markup) 100 #:use-module (gnu packages markup)
101 #:use-module (gnu packages ninja)
102 #:use-module (gnu packages nss) 101 #:use-module (gnu packages nss)
103 #:use-module (gnu packages ocaml) 102 #:use-module (gnu packages ocaml)
104 #:use-module (gnu packages ocr) 103 #:use-module (gnu packages ocr)
diff --git a/gnu/packages/physics.scm b/gnu/packages/physics.scm
index 89512b74acf..75ea5a29d30 100644
--- a/gnu/packages/physics.scm
+++ b/gnu/packages/physics.scm
@@ -47,7 +47,6 @@
47 #:use-module (gnu packages maths) 47 #:use-module (gnu packages maths)
48 #:use-module (gnu packages mpi) 48 #:use-module (gnu packages mpi)
49 #:use-module (gnu packages networking) 49 #:use-module (gnu packages networking)
50 #:use-module (gnu packages ninja)
51 #:use-module (gnu packages noweb) 50 #:use-module (gnu packages noweb)
52 #:use-module (gnu packages pkg-config) 51 #:use-module (gnu packages pkg-config)
53 #:use-module (gnu packages python) 52 #:use-module (gnu packages python)
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index 296a5601b9d..d9b9115375b 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -55,7 +55,6 @@
55 #:use-module (gnu packages llvm) 55 #:use-module (gnu packages llvm)
56 #:use-module (gnu packages mpi) 56 #:use-module (gnu packages mpi)
57 #:use-module (gnu packages ncurses) 57 #:use-module (gnu packages ncurses)
58 #:use-module (gnu packages ninja)
59 #:use-module (gnu packages perl) 58 #:use-module (gnu packages perl)
60 #:use-module (gnu packages protobuf) 59 #:use-module (gnu packages protobuf)
61 #:use-module (gnu packages pkg-config) 60 #:use-module (gnu packages pkg-config)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index b888afde447..6df96a5e8b2 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -41,7 +41,7 @@
41;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu> 41;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
42;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr> 42;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
43;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com> 43;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
44;;; Copyright © 2025 Zheng Junjie <z572@z572.online> 44;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
45;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net> 45;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
46;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com> 46;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
47;;; 47;;;
@@ -66,6 +66,7 @@
66 #:use-module (gnu packages autotools) 66 #:use-module (gnu packages autotools)
67 #:use-module (gnu packages base) 67 #:use-module (gnu packages base)
68 #:use-module (gnu packages bash) 68 #:use-module (gnu packages bash)
69 #:use-module (gnu packages build-tools)
69 #:use-module (gnu packages cmake) 70 #:use-module (gnu packages cmake)
70 #:use-module (gnu packages nss) 71 #:use-module (gnu packages nss)
71 #:use-module (gnu packages check) 72 #:use-module (gnu packages check)
@@ -77,7 +78,6 @@
77 #:use-module (gnu packages jupyter) 78 #:use-module (gnu packages jupyter)
78 #:use-module (gnu packages maths) 79 #:use-module (gnu packages maths)
79 #:use-module (gnu packages mpi) 80 #:use-module (gnu packages mpi)
80 #:use-module (gnu packages ninja)
81 #:use-module (gnu packages openstack) 81 #:use-module (gnu packages openstack)
82 #:use-module (gnu packages perl) 82 #:use-module (gnu packages perl)
83 #:use-module (gnu packages pkg-config) 83 #:use-module (gnu packages pkg-config)
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 2721de95860..13d73c3ef14 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -40,13 +40,13 @@
40 #:use-module (guix build-system gnu) 40 #:use-module (guix build-system gnu)
41 #:use-module (guix build-system pyproject) 41 #:use-module (guix build-system pyproject)
42 #:use-module (gnu packages) 42 #:use-module (gnu packages)
43 #:use-module (gnu packages build-tools)
43 #:use-module (gnu packages libffi) 44 #:use-module (gnu packages libffi)
44 #:use-module (gnu packages compression) 45 #:use-module (gnu packages compression)
45 #:use-module (gnu packages cmake) 46 #:use-module (gnu packages cmake)
46 #:use-module (gnu packages check) 47 #:use-module (gnu packages check)
47 #:use-module (gnu packages machine-learning) 48 #:use-module (gnu packages machine-learning)
48 #:use-module (gnu packages maths) 49 #:use-module (gnu packages maths)
49 #:use-module (gnu packages ninja)
50 #:use-module (gnu packages pkg-config) 50 #:use-module (gnu packages pkg-config)
51 #:use-module (gnu packages python) 51 #:use-module (gnu packages python)
52 #:use-module (gnu packages python-build) 52 #:use-module (gnu packages python-build)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index ce205d7c5b0..ac58f0baa22 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -88,7 +88,6 @@
88 #:use-module (gnu packages maths) 88 #:use-module (gnu packages maths)
89 #:use-module (gnu packages mpi) 89 #:use-module (gnu packages mpi)
90 #:use-module (gnu packages networking) 90 #:use-module (gnu packages networking)
91 #:use-module (gnu packages ninja)
92 #:use-module (gnu packages nss) 91 #:use-module (gnu packages nss)
93 #:use-module (gnu packages pcre) 92 #:use-module (gnu packages pcre)
94 #:use-module (gnu packages perl) 93 #:use-module (gnu packages perl)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ae3f27c8677..39d28bd34be 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -268,7 +268,6 @@
268 #:use-module (gnu packages multiprecision) 268 #:use-module (gnu packages multiprecision)
269 #:use-module (gnu packages ncurses) 269 #:use-module (gnu packages ncurses)
270 #:use-module (gnu packages networking) 270 #:use-module (gnu packages networking)
271 #:use-module (gnu packages ninja)
272 #:use-module (gnu packages node) 271 #:use-module (gnu packages node)
273 #:use-module (gnu packages nss) 272 #:use-module (gnu packages nss)
274 #:use-module (gnu packages openstack) 273 #:use-module (gnu packages openstack)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 4d0a0ad41ce..b43f6e44bf9 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -74,6 +74,7 @@
74 #:use-module (gnu packages bash) 74 #:use-module (gnu packages bash)
75 #:use-module (gnu packages base) 75 #:use-module (gnu packages base)
76 #:use-module (gnu packages bison) 76 #:use-module (gnu packages bison)
77 #:use-module (gnu packages build-tools)
77 #:use-module (gnu packages crypto) 78 #:use-module (gnu packages crypto)
78 #:use-module (gnu packages check) 79 #:use-module (gnu packages check)
79 #:use-module (gnu packages cmake) 80 #:use-module (gnu packages cmake)
@@ -112,7 +113,6 @@
112 #:use-module (gnu packages maths) 113 #:use-module (gnu packages maths)
113 #:use-module (gnu packages markup) 114 #:use-module (gnu packages markup)
114 #:use-module (gnu packages networking) 115 #:use-module (gnu packages networking)
115 #:use-module (gnu packages ninja)
116 #:use-module (gnu packages node) 116 #:use-module (gnu packages node)
117 #:use-module (gnu packages nss) 117 #:use-module (gnu packages nss)
118 #:use-module (gnu packages pciutils) 118 #:use-module (gnu packages pciutils)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index e069da1d212..6341453d854 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -116,7 +116,6 @@
116 #:use-module (gnu packages lua) 116 #:use-module (gnu packages lua)
117 #:use-module (gnu packages ncurses) 117 #:use-module (gnu packages ncurses)
118 #:use-module (gnu packages networking) 118 #:use-module (gnu packages networking)
119 #:use-module (gnu packages ninja)
120 #:use-module (gnu packages shells) 119 #:use-module (gnu packages shells)
121 #:use-module (gnu packages ssh) 120 #:use-module (gnu packages ssh)
122 #:use-module (gnu packages pcre) 121 #:use-module (gnu packages pcre)
diff --git a/gnu/packages/swift.scm b/gnu/packages/swift.scm
index 48597b6bdb7..83bdd09f51a 100644
--- a/gnu/packages/swift.scm
+++ b/gnu/packages/swift.scm
@@ -25,6 +25,7 @@
25 #:use-module (guix build-system cmake) 25 #:use-module (guix build-system cmake)
26 #:use-module (gnu packages) 26 #:use-module (gnu packages)
27 #:use-module (gnu packages base) 27 #:use-module (gnu packages base)
28 #:use-module (gnu packages build-tools)
28 #:use-module (gnu packages check) 29 #:use-module (gnu packages check)
29 #:use-module (gnu packages cmake) 30 #:use-module (gnu packages cmake)
30 #:use-module (gnu packages compression) 31 #:use-module (gnu packages compression)
@@ -34,7 +35,6 @@
34 #:use-module (gnu packages libffi) 35 #:use-module (gnu packages libffi)
35 #:use-module (gnu packages linux) 36 #:use-module (gnu packages linux)
36 #:use-module (gnu packages llvm) 37 #:use-module (gnu packages llvm)
37 #:use-module (gnu packages ninja)
38 #:use-module (gnu packages perl) 38 #:use-module (gnu packages perl)
39 #:use-module (gnu packages pkg-config) 39 #:use-module (gnu packages pkg-config)
40 #:use-module (gnu packages python) 40 #:use-module (gnu packages python)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8c417312d07..0614163fe3a 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -196,7 +196,6 @@
196 #:use-module (gnu packages ncurses) 196 #:use-module (gnu packages ncurses)
197 #:use-module (gnu packages nettle) 197 #:use-module (gnu packages nettle)
198 #:use-module (gnu packages networking) 198 #:use-module (gnu packages networking)
199 #:use-module (gnu packages ninja)
200 #:use-module (gnu packages ocr) 199 #:use-module (gnu packages ocr)
201 #:use-module (gnu packages openkinect) 200 #:use-module (gnu packages openkinect)
202 #:use-module (gnu packages pcre) 201 #:use-module (gnu packages pcre)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 853e71819f2..bacee2d4125 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -140,7 +140,6 @@
140 #:use-module (gnu packages ncurses) 140 #:use-module (gnu packages ncurses)
141 #:use-module (gnu packages nettle) 141 #:use-module (gnu packages nettle)
142 #:use-module (gnu packages networking) 142 #:use-module (gnu packages networking)
143 #:use-module (gnu packages ninja)
144 #:use-module (gnu packages ocaml) 143 #:use-module (gnu packages ocaml)
145 #:use-module (gnu packages onc-rpc) 144 #:use-module (gnu packages onc-rpc)
146 #:use-module (gnu packages package-management) 145 #:use-module (gnu packages package-management)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 37839f9edfa..ed42066de0b 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -186,7 +186,6 @@
186 #:use-module (gnu packages mpd) 186 #:use-module (gnu packages mpd)
187 #:use-module (gnu packages pciutils) 187 #:use-module (gnu packages pciutils)
188 #:use-module (gnu packages music) 188 #:use-module (gnu packages music)
189 #:use-module (gnu packages ninja)
190 #:use-module (gnu packages pantheon) 189 #:use-module (gnu packages pantheon)
191 #:use-module (gnu packages pcre) 190 #:use-module (gnu packages pcre)
192 #:use-module (gnu packages perl) 191 #:use-module (gnu packages perl)