mirror of
https://codeberg.org/guix/guix.git
synced 2026-04-28 06:34:05 +00:00
Compare commits
394 Commits
librewolf-
...
hpc-team
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d979b1b459 | ||
|
|
de90188eea | ||
|
|
60b6df6b04 | ||
|
|
f422f735b2 | ||
|
|
a7f560f3b2 | ||
|
|
0b6aa1b1c6 | ||
|
|
1205f53f8d | ||
|
|
af3900a316 | ||
|
|
fb34cb983a | ||
|
|
f380c63da4 | ||
|
|
cf5b8dce21 | ||
|
|
7739b4dd8f | ||
|
|
db2a92f45a | ||
|
|
6390a0c6ad | ||
|
|
ae909b7183 | ||
|
|
0f4c29ef1d | ||
|
|
49c849438a | ||
|
|
fff3eb95b9 | ||
|
|
78889d16fa | ||
|
|
1f33c9bf11 | ||
|
|
9b6f14eb0e | ||
|
|
6ea151888c | ||
|
|
baa79d6d09 | ||
|
|
8556b8ab61 | ||
|
|
75ed45e456 | ||
|
|
c3f1306d64 | ||
|
|
2e0f0de669 | ||
|
|
758c9c6431 | ||
|
|
bb66172a0b | ||
|
|
36a29d4299 | ||
|
|
4024e13a98 | ||
|
|
3656139f7e | ||
|
|
9e17346b66 | ||
|
|
eb42e9b76c | ||
|
|
8887b63a70 | ||
|
|
a3bb442b03 | ||
|
|
7eae2b1f1b | ||
|
|
fa67dd643e | ||
|
|
21dc3404be | ||
|
|
58deaa03b5 | ||
|
|
a57edfd158 | ||
|
|
8bdc83a0a9 | ||
|
|
4cd7e58dd9 | ||
|
|
fce64471d8 | ||
|
|
cf01229e67 | ||
|
|
a079c0873c | ||
|
|
6517a723f5 | ||
|
|
f5443df2f3 | ||
|
|
d56724d788 | ||
|
|
11e8f8576b | ||
|
|
6cb15b89f5 | ||
|
|
8891803d94 | ||
|
|
8bb962347b | ||
|
|
6b3c70ed3f | ||
|
|
dd7a2adc5f | ||
|
|
2e6973a146 | ||
|
|
68f2f89fb1 | ||
|
|
3da63d5241 | ||
|
|
937fb5cfff | ||
|
|
6eef98e264 | ||
|
|
25cd0d36fd | ||
|
|
d6e501952a | ||
|
|
1990b69b6f | ||
|
|
cf6b2395c3 | ||
|
|
c8504a2461 | ||
|
|
35015cf880 | ||
|
|
bcd8acfdd8 | ||
|
|
7021f1f783 | ||
|
|
4b82187b53 | ||
|
|
d6bca986c8 | ||
|
|
b159265810 | ||
|
|
deaec02d17 | ||
|
|
3c89fa1fa3 | ||
|
|
6cf55aefb4 | ||
|
|
130af24203 | ||
|
|
50317dddac | ||
|
|
b7d1f23b61 | ||
|
|
e47d90a075 | ||
|
|
67aef8de6f | ||
|
|
43b6555751 | ||
|
|
98afc8df18 | ||
|
|
2e21984b91 | ||
|
|
90214dcba7 | ||
|
|
919a6ccb0b | ||
|
|
f3d427b6a7 | ||
|
|
9b07deeaae | ||
|
|
402af4dd3b | ||
|
|
ac5d3e0d83 | ||
|
|
370b39965b | ||
|
|
a97ab314bd | ||
|
|
98aac645f5 | ||
|
|
1c4d86c386 | ||
|
|
3cd537818e | ||
|
|
cab50f0e21 | ||
|
|
6c3b757d11 | ||
|
|
4027828f83 | ||
|
|
ce3fda4b7d | ||
|
|
cf48ac1285 | ||
|
|
68016de92f | ||
|
|
bc8153344c | ||
|
|
62737d710b | ||
|
|
d00dfed008 | ||
|
|
88009ead99 | ||
|
|
4a1f144efe | ||
|
|
40fafb239d | ||
|
|
2b610cb2e5 | ||
|
|
7b050f2731 | ||
|
|
6e4992fc2c | ||
|
|
6e8df1ea1a | ||
|
|
3fdbf2a2ce | ||
|
|
1ab8f3eb7f | ||
|
|
44d7bd0b78 | ||
|
|
d2c923efd9 | ||
|
|
339ca3756b | ||
|
|
aa189d44fd | ||
|
|
f42c735aeb | ||
|
|
4ee924eff7 | ||
|
|
6b188d65ee | ||
|
|
3abf9671be | ||
|
|
ce6dedf800 | ||
|
|
72ac773a3e | ||
|
|
9de0072f0d | ||
|
|
f0ba5b73a5 | ||
|
|
e320469cf0 | ||
|
|
8cc2c81735 | ||
|
|
33d46b43ee | ||
|
|
1166412420 | ||
|
|
82983217d0 | ||
|
|
0b3b7b05d9 | ||
|
|
462e4f473f | ||
|
|
45e45e1f79 | ||
|
|
5533b916cb | ||
|
|
c2b8e60f06 | ||
|
|
810513e4ef | ||
|
|
e0c13fc717 | ||
|
|
906d4e7046 | ||
|
|
05bb40bc48 | ||
|
|
2d743846a3 | ||
|
|
7c7e8c2141 | ||
|
|
670c723676 | ||
|
|
3bfe96cc49 | ||
|
|
afa8b9ae47 | ||
|
|
ed9e734518 | ||
|
|
358794b7d7 | ||
|
|
9cd60969f7 | ||
|
|
d68439a78b | ||
|
|
c2841810b9 | ||
|
|
be7e3c6c67 | ||
|
|
9232ada7cd | ||
|
|
98d58347ee | ||
|
|
d1776bd7ad | ||
|
|
c934a69a96 | ||
|
|
fe9340179b | ||
|
|
f4298f390b | ||
|
|
29f630cb3e | ||
|
|
cb9f187cc1 | ||
|
|
8926bfb5d0 | ||
|
|
4e78643fa7 | ||
|
|
5b6b54c95c | ||
|
|
c917ece6d9 | ||
|
|
fd76b64acd | ||
|
|
78291f7cc6 | ||
|
|
d1522cf229 | ||
|
|
d981460e43 | ||
|
|
a0424a2955 | ||
|
|
a863c41caf | ||
|
|
249f30462b | ||
|
|
4b58dad42b | ||
|
|
a695af2308 | ||
|
|
18ad7edfef | ||
|
|
cbf6f04a9a | ||
|
|
12053f48d8 | ||
|
|
8f229b8fa5 | ||
|
|
d5d7474992 | ||
|
|
e15407fc8e | ||
|
|
a395def329 | ||
|
|
650e69784d | ||
|
|
6f3467de97 | ||
|
|
9390336775 | ||
|
|
cd29889ba4 | ||
|
|
5b4949858a | ||
|
|
6e1866442e | ||
|
|
89480bfd84 | ||
|
|
ad9ca26606 | ||
|
|
54225ed9ea | ||
|
|
60ba981d26 | ||
|
|
f8e3115edc | ||
|
|
75ea9cb664 | ||
|
|
706541d384 | ||
|
|
2f61b27d36 | ||
|
|
7d622d4ded | ||
|
|
7db0b45720 | ||
|
|
3ec1e8297d | ||
|
|
685d46774d | ||
|
|
a7ca954df5 | ||
|
|
c2dcea8665 | ||
|
|
61ba412769 | ||
|
|
07992d2593 | ||
|
|
f799b7fc1e | ||
|
|
3d270f4df2 | ||
|
|
e416c65984 | ||
|
|
78b59a2e9d | ||
|
|
b264415711 | ||
|
|
2c43dcf299 | ||
|
|
a2cfd46081 | ||
|
|
1a3f2eebcb | ||
|
|
82467ac1cd | ||
|
|
665ad66134 | ||
|
|
7267c31058 | ||
|
|
b272a19ad5 | ||
|
|
1d831f0d44 | ||
|
|
a13f9f1514 | ||
|
|
c46d6a70b6 | ||
|
|
cab232d5ac | ||
|
|
08b8cb91fd | ||
|
|
8143b0a37f | ||
|
|
14c46566c3 | ||
|
|
06fccbd078 | ||
|
|
d6567a6a17 | ||
|
|
2a0428e3fc | ||
|
|
1220325857 | ||
|
|
fe1875c827 | ||
|
|
279410efb8 | ||
|
|
7986689cb6 | ||
|
|
d86bff271a | ||
|
|
007741a6f7 | ||
|
|
6048910a4b | ||
|
|
9d131cf9ce | ||
|
|
9a47c5f06a | ||
|
|
61e11fdd91 | ||
|
|
66bdf01a27 | ||
|
|
5c9626bb36 | ||
|
|
4966ea6de3 | ||
|
|
b52ce9041a | ||
|
|
6ea5df94cf | ||
|
|
c8f6f78e56 | ||
|
|
9ee78c6796 | ||
|
|
b2ce49a331 | ||
|
|
85c935291a | ||
|
|
96f3b0e584 | ||
|
|
392e16605b | ||
|
|
e5c98645a0 | ||
|
|
4d2c9843f3 | ||
|
|
ae547c7606 | ||
|
|
df3dbf05e7 | ||
|
|
8d7155fcad | ||
|
|
23d9ea0275 | ||
|
|
5a9550f05f | ||
|
|
581031ba42 | ||
|
|
e81a4e7004 | ||
|
|
08c22e8ae0 | ||
|
|
04637755e9 | ||
|
|
16a8b177f1 | ||
|
|
f3e14dfa74 | ||
|
|
8a0495b6da | ||
|
|
510baaaad8 | ||
|
|
c1868b0dff | ||
|
|
ba55fa7ce6 | ||
|
|
8c0aea2fbe | ||
|
|
158098977f | ||
|
|
38917f00de | ||
|
|
eaed801e32 | ||
|
|
8be660ea5e | ||
|
|
7ca9795c58 | ||
|
|
41bcf04f85 | ||
|
|
46b660ac0b | ||
|
|
51ca2c0da1 | ||
|
|
391200d054 | ||
|
|
ac0efb2c97 | ||
|
|
952a8d75d8 | ||
|
|
17f966389b | ||
|
|
a1125cec7b | ||
|
|
362fe5e09c | ||
|
|
cbfed3a6a5 | ||
|
|
1eed2746e4 | ||
|
|
0adf301971 | ||
|
|
dfb1b7d18d | ||
|
|
dc597e30fe | ||
|
|
df01541cde | ||
|
|
171b21a8f7 | ||
|
|
54d5bf9a38 | ||
|
|
b923081da0 | ||
|
|
f1d06ca5f7 | ||
|
|
fc67e0bb2f | ||
|
|
6000c99766 | ||
|
|
0cb07b2acd | ||
|
|
0a716ce224 | ||
|
|
1183614bbe | ||
|
|
b7d24094ac | ||
|
|
9ae76a34d7 | ||
|
|
734f27f40b | ||
|
|
da9924996d | ||
|
|
ae5e8e6f38 | ||
|
|
78a99ae8df | ||
|
|
8741d3ac63 | ||
|
|
4415dfd7d1 | ||
|
|
36a763ebcc | ||
|
|
7026105c94 | ||
|
|
79f19d37da | ||
|
|
02fea8e954 | ||
|
|
4c5cce5c44 | ||
|
|
7d203df47b | ||
|
|
f4aa217a16 | ||
|
|
97091b854f | ||
|
|
5310af43cd | ||
|
|
d06610cb8a | ||
|
|
5b8d122129 | ||
|
|
298ed1adc6 | ||
|
|
e7771eb39d | ||
|
|
b56073dca7 | ||
|
|
1a80fb3978 | ||
|
|
c7877de635 | ||
|
|
720a7e91af | ||
|
|
f3ea176158 | ||
|
|
f1223aec55 | ||
|
|
95088727b3 | ||
|
|
ba9de7e3f8 | ||
|
|
15b6aae8e2 | ||
|
|
9567989516 | ||
|
|
19ec70870e | ||
|
|
609eb6ed87 | ||
|
|
82b133e41c | ||
|
|
7f62f5ce89 | ||
|
|
00f336d159 | ||
|
|
4c764497b4 | ||
|
|
5ef4ef7b3d | ||
|
|
6da5c6775b | ||
|
|
ec77e0e743 | ||
|
|
3433fb987b | ||
|
|
6eb6971f4d | ||
|
|
1ec777def8 | ||
|
|
62ae9661a2 | ||
|
|
ade722cd48 | ||
|
|
6f62d591c3 | ||
|
|
0dc5e5e5bd | ||
|
|
be88f949b4 | ||
|
|
e812ee2a97 | ||
|
|
e4af10ab21 | ||
|
|
161caf314c | ||
|
|
e704ee00c6 | ||
|
|
2336e40c51 | ||
|
|
991c410bcf | ||
|
|
c56f19efc6 | ||
|
|
ba35edb100 | ||
|
|
e6581cc5f9 | ||
|
|
894349cec8 | ||
|
|
80d798b252 | ||
|
|
b908441cc1 | ||
|
|
576eb72293 | ||
|
|
9d66b99bd3 | ||
|
|
1ef7a2925f | ||
|
|
5376d5aa18 | ||
|
|
b393d63b06 | ||
|
|
6d68127ff5 | ||
|
|
08c1be701d | ||
|
|
ae1d77b36d | ||
|
|
fe8599a6be | ||
|
|
0d622898fa | ||
|
|
fdbe8b80a8 | ||
|
|
50b58e1109 | ||
|
|
b8d7a360e2 | ||
|
|
f16f25db36 | ||
|
|
1e35909396 | ||
|
|
6235f7884f | ||
|
|
afd42897fa | ||
|
|
0dd06db986 | ||
|
|
b953fb3280 | ||
|
|
9921aec680 | ||
|
|
42c072e0ee | ||
|
|
eb72f37bce | ||
|
|
a24dec0561 | ||
|
|
f76c7c0b54 | ||
|
|
c7dc180019 | ||
|
|
687bf4fb8e | ||
|
|
407259dff9 | ||
|
|
ee8eba01f0 | ||
|
|
4d50228576 | ||
|
|
787846c091 | ||
|
|
e70a0d0d6a | ||
|
|
22237a6b70 | ||
|
|
5eb4e0223e | ||
|
|
18c1e15fec | ||
|
|
30d1b20602 | ||
|
|
15ca11ee88 | ||
|
|
a424f14b19 | ||
|
|
c664cd93e6 | ||
|
|
2f7bab1115 | ||
|
|
cdaf07f30d | ||
|
|
9cdaac3acc | ||
|
|
4c7f4a0c0e | ||
|
|
ac9f7dbce6 | ||
|
|
55ea428a29 | ||
|
|
9adcf86358 | ||
|
|
78ddf62bfe |
@@ -37,13 +37,13 @@ Tick a box by changing it from [ ] to [x].
|
||||
|
||||
```
|
||||
- Package **addition**
|
||||
- [ ] The packages includes tests when available.
|
||||
- [ ] Fixed errors reported by `guix lint` (`./pre-inst-env guix lint PACKAGE ...`).
|
||||
- [ ] Verified cryptographic signature provided by upstream.
|
||||
- [ ] The packages don't use bundled copies of software.
|
||||
- [ ] Synopsis and description are written in conformance with [the guidelines](https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html).
|
||||
|
||||
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
|
||||
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
|
||||
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
|
||||
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
|
||||
|
||||
- Successfully cross-compiled to the following target(s) (this is optional):
|
||||
- [ ] x86_64-linux-gnu
|
||||
|
||||
@@ -480,6 +480,15 @@ tests/import/texlive\.scm @guix/tex
|
||||
etc/news\.scm @guix/translations
|
||||
po/ @guix/translations
|
||||
|
||||
gnu/packages/version-control\.scm @guix/vcs
|
||||
gnu/services/version-control\.scm @guix/vcs
|
||||
gnu/tests/version-control\.scm @guix/vcs
|
||||
guix/build/bzr\.scm @guix/vcs
|
||||
guix/build/cvs\.scm @guix/vcs
|
||||
guix/build/git\.scm @guix/vcs
|
||||
guix/build/hg\.scm @guix/vcs
|
||||
guix/build/svn\.scm @guix/vcs
|
||||
|
||||
gnu/packages/xfce\.scm @guix/xfce
|
||||
|
||||
gnu/packages/zig\.scm @guix/zig
|
||||
|
||||
4
NEWS
4
NEWS
@@ -14,6 +14,10 @@ Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* Changes in 1.6.0 (since 1.5.0)
|
||||
** Distribution
|
||||
*** GNOME updated to version 48
|
||||
|
||||
* Changes in 1.5.0 (since 1.4.0)
|
||||
** Package management
|
||||
*** New ‘rpm’ format for the ‘guix pack’ command
|
||||
|
||||
@@ -111,6 +111,9 @@ build daemon, from within the generated build program."
|
||||
#~(begin
|
||||
(use-modules (ice-9 match))
|
||||
|
||||
;; To avoid lots of readlink calls
|
||||
(fluid-set! %file-port-name-canonicalization #f)
|
||||
|
||||
(eval-when (expand load eval)
|
||||
;; (gnu packages …) modules are going to be looked up
|
||||
;; under SOURCE. (guix config) is looked up in FRONT.
|
||||
@@ -169,6 +172,13 @@ build daemon, from within the generated build program."
|
||||
;; build output.
|
||||
(connect sock AF_UNIX build-output)
|
||||
|
||||
(when (integer? proto)
|
||||
;; port->connection doesn't setup buffering, so
|
||||
;; do this here
|
||||
(setvbuf (store-connection-socket store)
|
||||
'block
|
||||
%default-store-connection-buffer-size))
|
||||
|
||||
(display
|
||||
(and=>
|
||||
;; Silence autoload warnings and the likes.
|
||||
@@ -239,6 +249,9 @@ Display a spinner when nothing happens."
|
||||
#:rest rest)
|
||||
"Return a derivation that unpacks SOURCE into STORE and compiles Scheme
|
||||
files."
|
||||
;; Avoid lots of readlink calls
|
||||
(fluid-set! %file-port-name-canonicalization #f)
|
||||
|
||||
;; Build the build program and then use it as a trampoline to build from
|
||||
;; SOURCE.
|
||||
(mlet %store-monad ((build (build-program source version guile-version
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
|
||||
(use-modules (srfi srfi-26))
|
||||
|
||||
;; Avoid lots of readlink calls
|
||||
(fluid-set! %file-port-name-canonicalization #f)
|
||||
|
||||
;; Add ~/.config/guix/current to the search path.
|
||||
(eval-when (expand load eval)
|
||||
(and=> (or (getenv "XDG_CONFIG_HOME")
|
||||
@@ -41,6 +44,10 @@
|
||||
|
||||
(match (command-line)
|
||||
((program source)
|
||||
;; The build procedure outputs to this port, so setup buffering to avoid
|
||||
;; one char per syscall.
|
||||
(setvbuf (current-error-port) 'line)
|
||||
|
||||
(with-error-handling
|
||||
(with-store store
|
||||
(let* ((script (string-append source "/build-aux/build-self.scm"))
|
||||
|
||||
@@ -25,7 +25,6 @@ choice.
|
||||
* Running the Test Suite:: Testing Guix.
|
||||
* Running Guix Before It Is Installed:: Hacker tricks.
|
||||
* The Perfect Setup:: The right tools.
|
||||
* Alternative Setups:: Other possible tools that do the job.
|
||||
* Source Tree Structure:: Source code guided tour.
|
||||
* Packaging Guidelines:: Growing the distribution.
|
||||
* Coding Style:: Hygiene of the contributor.
|
||||
@@ -67,7 +66,7 @@ GNU Guix depends on the following packages:
|
||||
@itemize
|
||||
@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,
|
||||
version 3.0.9 or later;
|
||||
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
|
||||
@item @url{https://codeberg.org/guile-gcrypt/guile-gcrypt, Guile-Gcrypt}, version
|
||||
0.1.0 or later;
|
||||
@item
|
||||
@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile
|
||||
@@ -76,11 +75,11 @@ gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to
|
||||
@uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS
|
||||
until version 3.7.8 included.};
|
||||
@item
|
||||
@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
|
||||
@uref{https://codeberg.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
|
||||
or later;
|
||||
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},
|
||||
@item @uref{https://codeberg.org/guile-compression/guile-zlib, Guile-zlib},
|
||||
version 0.1.0 or later;
|
||||
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
|
||||
@item @uref{https://codeberg.org/guile-compression/guile-lzlib, Guile-lzlib};
|
||||
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
|
||||
@item
|
||||
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.10.0
|
||||
@@ -102,7 +101,7 @@ Support for build offloading (@pxref{Daemon Offload Setup}) and
|
||||
version 0.13.0 or later.
|
||||
|
||||
@item
|
||||
@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd
|
||||
@uref{https://codeberg.org/guile-compression/guile-zstd, Guile-zstd}, for zstd
|
||||
compression and decompression in @command{guix publish} and for
|
||||
substitutes (@pxref{Invoking guix publish}).
|
||||
|
||||
@@ -536,14 +535,64 @@ to build again each time you update a package file, run
|
||||
@node The Perfect Setup
|
||||
@section The Perfect Setup
|
||||
|
||||
The Perfect Setup to hack on Guix is basically the perfect setup used
|
||||
for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference
|
||||
Manual}). First, you need more than an editor, you need
|
||||
@url{https://www.gnu.org/software/emacs, Emacs}, empowered by the
|
||||
wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
|
||||
@cindex editor setup, for Scheme
|
||||
@cindex Scheme code editing
|
||||
All configuration and development in Guix is done in the Scheme
|
||||
language. Like all languages of the Lisp family, Scheme has a simple
|
||||
syntax. The perfect setup is one where the editor you choose makes
|
||||
working with that syntax seamless and pleasant; for that it must
|
||||
absolutely support a few things for Scheme:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
automatic indentation, such that hitting the ``Enter'' key (or
|
||||
@kbd{RET}) places cursor ``at the right place'' on the next line;
|
||||
@item
|
||||
``parentheses matching'', allowing you to jump from a closing
|
||||
parenthesis to the corresponding opening parenthesis and vice-versa;
|
||||
@item
|
||||
syntax highlighting, so that keywords are visually distinguishable.
|
||||
@end itemize
|
||||
|
||||
The following optional features can make your life easier:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
structural editing of Scheme syntax;
|
||||
@item
|
||||
Guile integration so you can easily evaluate code, jump to procedure
|
||||
definitions, view documentation, and so on.
|
||||
@end itemize
|
||||
|
||||
The following sections look at editor setups that are known to work
|
||||
well. Do share your setup for these and other editors for inclusion in
|
||||
this manual! @xref{Submitting Patches}.
|
||||
|
||||
@menu
|
||||
* Emacs:: Best-of-breed editor for Scheme code.
|
||||
* Guile Studio:: First step in your transition to Emacs.
|
||||
* Vim and NeoVim:: Classical Unix editors.
|
||||
@end menu
|
||||
|
||||
@node Emacs
|
||||
@subsection Emacs
|
||||
|
||||
@url{https://www.gnu.org/software/emacs, Emacs} is probably the most
|
||||
widely used editor in the community; it is also the one that,
|
||||
historically, has always had excellent support for Lisp languages, being
|
||||
itself a Lisp implementation!
|
||||
|
||||
@quotation Note
|
||||
If you are just getting started with Emacs, @pxref{Guile Studio} for a
|
||||
smooth way to start your transition.
|
||||
@end quotation
|
||||
|
||||
Just like for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile
|
||||
Reference Manual}), Emacs works best when empowered by the wonderful
|
||||
@url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
|
||||
|
||||
@example
|
||||
guix install emacs guile emacs-geiser emacs-geiser-guile
|
||||
guix install emacs guile emacs-geiser emacs-geiser-guile emacs-guix
|
||||
@end example
|
||||
|
||||
Geiser allows for interactive and incremental development from within
|
||||
@@ -562,6 +611,15 @@ facilities to directly operate on the syntax tree, such as raising an
|
||||
s-expression or wrapping it, swallowing or rejecting the following
|
||||
s-expression, etc.
|
||||
|
||||
Cherry on the cake: the Emacs-Guix package provides a convenient
|
||||
interface to many commands---e.g., it lets you browse packages, install
|
||||
or remove packages, and so on---as well as development helpers that
|
||||
enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
|
||||
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
|
||||
out!
|
||||
|
||||
@unnumberedsubsubsec Taming Boilerplate with Templates
|
||||
|
||||
@cindex code snippets
|
||||
@cindex templates
|
||||
@cindex reducing boilerplate
|
||||
@@ -601,6 +659,8 @@ trigger string @code{origin...}, which can be expanded further. The
|
||||
@code{origin} snippet in turn may insert other trigger strings ending on
|
||||
@code{...}, which also can be expanded further.
|
||||
|
||||
@unnumberedsubsubsec Updating Copyright Lines
|
||||
|
||||
@cindex insert or update copyright
|
||||
@cindex @code{M-x guix-copyright}
|
||||
@cindex @code{M-x copyright-update}
|
||||
@@ -629,104 +689,30 @@ copyright-update}. If you want to do it automatically after each buffer
|
||||
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
|
||||
Emacs.
|
||||
|
||||
@node Viewing Bugs within Emacs
|
||||
@subsection Viewing Bugs within Emacs
|
||||
@unnumberedsubsubsec Referencing Bug Reports
|
||||
|
||||
Emacs has a nice minor mode called @code{bug-reference}, which, when
|
||||
combined with @samp{emacs-debbugs} (the Emacs package), can be used to
|
||||
open links such as @samp{<https://bugs.gnu.org/58697>} or
|
||||
@samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From
|
||||
there you can easily consult the email thread via the Gnus interface,
|
||||
reply or modify the bug status, all without leaving the comfort of
|
||||
Emacs! Below is a sample configuration to add to your @file{~/.emacs}
|
||||
configuration file:
|
||||
@cindex bug references, Emacs
|
||||
Emacs has a nice minor mode called @code{bug-reference}, which can be
|
||||
used to follow link to issues and pull requests such as @samp{#1234} or
|
||||
@samp{guix/guix#1234} (@pxref{Bug Reference,,, emacs, The GNU Emacs
|
||||
Manual}). To set it up, enable it in the relevant modes:
|
||||
|
||||
@lisp
|
||||
;;; Bug references.
|
||||
(require 'bug-reference)
|
||||
(add-hook 'prog-mode-hook #'bug-reference-prog-mode)
|
||||
(add-hook 'gnus-mode-hook #'bug-reference-mode)
|
||||
(add-hook 'erc-mode-hook #'bug-reference-mode)
|
||||
(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)
|
||||
(add-hook 'gnus-article-mode-hook #'bug-reference-mode)
|
||||
|
||||
;;; This extends the default expression (the top-most, first expression
|
||||
;;; provided to 'or') to also match URLs such as
|
||||
;;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.
|
||||
;;; It is also extended to detect "Fixes: #NNNNN" git trailers.
|
||||
(setq bug-reference-bug-regexp
|
||||
(rx (group (or (seq word-boundary
|
||||
(or (seq (char "Bb") "ug"
|
||||
(zero-or-one " ")
|
||||
(zero-or-one "#"))
|
||||
(seq (char "Pp") "atch"
|
||||
(zero-or-one " ")
|
||||
"#")
|
||||
(seq (char "Ff") "ixes"
|
||||
(zero-or-one ":")
|
||||
(zero-or-one " ") "#")
|
||||
(seq "RFE"
|
||||
(zero-or-one " ") "#")
|
||||
(seq "PR "
|
||||
(one-or-more (char "a-z+-")) "/"))
|
||||
(group (one-or-more (char "0-9"))
|
||||
(zero-or-one
|
||||
(seq "#" (one-or-more
|
||||
(char "0-9"))))))
|
||||
(seq (? "<") "https://bugs.gnu.org/"
|
||||
(group-n 2 (one-or-more (char "0-9")))
|
||||
(? ">"))
|
||||
(seq (? "<") "https://issues.guix.gnu.org/"
|
||||
(? "issue/")
|
||||
(group-n 2 (one-or-more (char "0-9")))
|
||||
(? ">"))))))
|
||||
(setq bug-reference-url-format "https://issues.guix.gnu.org/%s")
|
||||
|
||||
(require 'debbugs)
|
||||
(require 'debbugs-browse)
|
||||
(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)
|
||||
(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)
|
||||
|
||||
;; The following allows Emacs Debbugs user to open the issue directly within
|
||||
;; Emacs.
|
||||
(setq debbugs-browse-url-regexp
|
||||
(rx line-start
|
||||
"http" (zero-or-one "s") "://"
|
||||
(or "debbugs" "issues.guix" "bugs")
|
||||
".gnu.org" (one-or-more "/")
|
||||
(group (zero-or-one "cgi/bugreport.cgi?bug="))
|
||||
(group-n 3 (one-or-more digit))
|
||||
line-end))
|
||||
|
||||
;; Change the default when run as 'M-x debbugs-gnu'.
|
||||
(setq debbugs-gnu-default-packages '("guix" "guix-patches"))
|
||||
|
||||
;; Show feature requests.
|
||||
(setq debbugs-gnu-default-severities
|
||||
'("serious" "important" "normal" "minor" "wishlist"))
|
||||
;; Add extra hooks for your mail user agent: Gnus, mu4e, etc.
|
||||
@end lisp
|
||||
|
||||
For more information, refer to @ref{Bug Reference,,, emacs, The GNU
|
||||
Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User
|
||||
Guide}.
|
||||
|
||||
@node Alternative Setups
|
||||
@section Alternative Setups
|
||||
|
||||
Alternative setups than Emacs may let you work on Guix with a
|
||||
similar development experience and they might work better with the
|
||||
tools you currently use or help you make the transition to Emacs.
|
||||
|
||||
The options listed below only provide the alternatives to the Emacs
|
||||
based setup, which is the most widely used in the Guix community. If
|
||||
you want to really understand how the perfect setup for Guix development
|
||||
is supposed to work, we encourage you to read the section before this
|
||||
regardless of the editor you choose to use.
|
||||
|
||||
@menu
|
||||
* Guile Studio:: First step in your transition to Emacs.
|
||||
* Vim and NeoVim:: When you are evil to the root.
|
||||
@end menu
|
||||
When working from a Git checkout of Guix, setup is automatic:
|
||||
@code{bug-reference} automatically detects that the project is hosted on
|
||||
Codeberg@footnote{
|
||||
@c 'vc-git-repository-url' is used by
|
||||
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
|
||||
@c names for the remote.
|
||||
As of Emacs@tie{}30.2, auto-detection works if and
|
||||
only if the Git remote is called @code{upstream} or @code{origin}.} and
|
||||
infers the issue and pull request URL from there.
|
||||
|
||||
@node Guile Studio
|
||||
@subsection Guile Studio
|
||||
@@ -744,9 +730,9 @@ Guile Studio comes with Geiser preinstalled and prepared for action.
|
||||
@node Vim and NeoVim
|
||||
@subsection Vim and NeoVim
|
||||
|
||||
|
||||
Vim (and NeoVim) are also packaged in Guix, just in case you decided
|
||||
to go for the evil path.
|
||||
@cindex Vim, for Scheme code editing
|
||||
Vim (and NeoVim) are also packaged in Guix, in case these popular modal
|
||||
editors are more to your taste.
|
||||
|
||||
@example
|
||||
guix install vim
|
||||
@@ -2510,8 +2496,8 @@ For example, to list all open issues on @code{guix-patches}, hit:
|
||||
For a more convenient (shorter) way to access both the bugs and patches
|
||||
submissions, you may want to configure the
|
||||
@code{debbugs-gnu-default-packages} and
|
||||
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing
|
||||
Bugs within Emacs}).
|
||||
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Minor
|
||||
Mode,,, debbugs-ug, The Debbugs User Guide}).
|
||||
|
||||
To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be
|
||||
used.
|
||||
|
||||
@@ -523,6 +523,9 @@ info sicp
|
||||
|
||||
You'll find more books, tutorials and other resources at
|
||||
@url{https://schemers.org/}.
|
||||
|
||||
@xref{The Perfect Setup,,, guix, GNU Guix Reference Manual}, on how to
|
||||
set up your editor for Scheme hacking.
|
||||
@end quotation
|
||||
|
||||
|
||||
|
||||
227
doc/guix.texi
227
doc/guix.texi
@@ -149,6 +149,7 @@ Copyright @copyright{} 2025 Rodion Goritskov@*
|
||||
Copyright @copyright{} 2025 dan@*
|
||||
Copyright @copyright{} 2025 Noé Lopez@*
|
||||
Copyright @copyright{} 2026 David Elsing@*
|
||||
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -440,7 +441,7 @@ Services
|
||||
* Power Management Services:: Extending battery life, etc.
|
||||
* Audio Services:: The MPD.
|
||||
* Virtualization Services:: Virtualization services.
|
||||
* Version Control Services:: Providing remote access to Git repositories.
|
||||
* Version Control Services:: Software version control servers.
|
||||
* Game Services:: Game servers.
|
||||
* PAM Mount Service:: Service to mount volumes when logging in.
|
||||
* Guix Services:: Services relating specifically to Guix.
|
||||
@@ -8047,6 +8048,9 @@ Intimidated by the Scheme language or curious about it? The Cookbook
|
||||
has a short section to get started that recaps some of the things shown
|
||||
above and explains the fundamentals. @xref{A Scheme Crash Course,,,
|
||||
guix-cookbook, GNU Guix Cookbook}, for more information.
|
||||
|
||||
@xref{The Perfect Setup}, on how to set up your editor for Scheme
|
||||
hacking.
|
||||
@end quotation
|
||||
|
||||
Once a package definition is in place, the
|
||||
@@ -18033,6 +18037,9 @@ misplaced parentheses can often be identified by reformatting your file:
|
||||
guix style -f config.scm
|
||||
@end example
|
||||
|
||||
@xref{The Perfect Setup}, on how to set up your editor for Scheme
|
||||
hacking.
|
||||
|
||||
The Cookbook has a short section to get started with the Scheme
|
||||
programming language that explains the fundamentals, which you will find
|
||||
helpful when hacking your configuration. @xref{A Scheme Crash Course,,,
|
||||
@@ -19917,7 +19924,7 @@ declaration.
|
||||
* Power Management Services:: Extending battery life, etc.
|
||||
* Audio Services:: The MPD.
|
||||
* Virtualization Services:: Virtualization services.
|
||||
* Version Control Services:: Providing remote access to Git repositories.
|
||||
* Version Control Services:: Software version control servers.
|
||||
* Game Services:: Game servers.
|
||||
* PAM Mount Service:: Service to mount volumes when logging in.
|
||||
* Guix Services:: Services relating specifically to Guix.
|
||||
@@ -42368,13 +42375,30 @@ How often to run the node cleaning job. The default is once per day, at
|
||||
@node Version Control Services
|
||||
@subsection Version Control Services
|
||||
|
||||
The @code{(gnu services version-control)} module provides a service to
|
||||
allow remote access to local Git repositories. There are three options:
|
||||
the @code{git-daemon-service-type}, which provides access to repositories via
|
||||
the @code{git://} unsecured TCP-based protocol, extending the
|
||||
@code{nginx} web server to proxy some requests to
|
||||
@code{git-http-backend}, or providing a web interface with
|
||||
@code{cgit-service-type}.
|
||||
The @code{(gnu services version-control)} module provides services to
|
||||
allow remote access to local Git and Fossil repositories.
|
||||
For Git, the following services are available.
|
||||
|
||||
@itemize
|
||||
@item The @ref{git-daemon-service-type, Git daemon service}
|
||||
provides access via the unsecured TCP-based @code{git://} protocol.
|
||||
@item The @code{nginx} web server can proxy some requests
|
||||
to @ref{git-http-backend, Git Smart HTTP backend}.
|
||||
@item The @ref{cgit-service-type, cgit service} also implements
|
||||
Git Smart HTTP protocol, in addition to a web interface.
|
||||
@item The @ref{gitolite-service-type, Gitolite service} offers access
|
||||
through SSH. The @ref{gitile-service-type, Gitile service}
|
||||
can be used along side it to provide a web interface.
|
||||
@end itemize
|
||||
|
||||
Fossil repositories are served along with a web interface
|
||||
by the @ref{fossil-service-type, Fossil service}.
|
||||
|
||||
@anchor{git-daemon-service-type}
|
||||
@subsubheading Git Daemon Service
|
||||
|
||||
@cindex Git daemon service
|
||||
@cindex Git, hosting
|
||||
|
||||
@defvar git-daemon-service-type
|
||||
Type for a service that runs @command{git daemon}, a simple TCP server to
|
||||
@@ -42433,7 +42457,15 @@ Extra options that will be passed to @command{git daemon}.@footnote{Run
|
||||
The @code{git://} protocol lacks authentication. When you pull from a
|
||||
repository fetched via @code{git://}, you don't know whether the data you
|
||||
receive was modified or is even coming from the specified host, and your
|
||||
connection is subject to eavesdropping. It's better to use an authenticated
|
||||
connection is subject to eavesdropping.
|
||||
|
||||
@anchor{git-http-backend}
|
||||
@subsubheading Git HTTP Backend
|
||||
|
||||
@cindex Git HTTP backend
|
||||
@cindex Git, hosting
|
||||
|
||||
It's better to use an authenticated
|
||||
and encrypted transport, such as @code{https}. Although Git allows you
|
||||
to serve repositories using unsophisticated file-based web servers,
|
||||
there is a faster protocol implemented by the @code{git-http-backend}
|
||||
@@ -42508,6 +42540,7 @@ HTTPS@. You will also need to add an @code{fcgiwrap} proxy to your
|
||||
system services. @xref{Web Services}.
|
||||
@end deffn
|
||||
|
||||
@anchor{cgit-service-type}
|
||||
@subsubheading Cgit Service
|
||||
|
||||
@cindex Cgit service
|
||||
@@ -43460,6 +43493,7 @@ could instantiate a cgit service like this:
|
||||
(cgitrc "")))
|
||||
@end lisp
|
||||
|
||||
@anchor{gitolite-service-type}
|
||||
@subsubheading Gitolite Service
|
||||
|
||||
@cindex Gitolite service
|
||||
@@ -43639,6 +43673,7 @@ Extra content to add verbatim into the git configuration file.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@anchor{gitile-service-type}
|
||||
@subsubheading Gitile Service
|
||||
|
||||
@cindex Gitile service
|
||||
@@ -43773,6 +43808,155 @@ like to serve.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@anchor{fossil-service-type}
|
||||
@subsubheading Fossil Service
|
||||
|
||||
@cindex Fossil service
|
||||
@cindex Fossil, forge
|
||||
@uref{https://fossil-scm.org, Fossil} is a distributed
|
||||
software configuration management system. In addition to version control
|
||||
like Git, Fossil also supports bug tracking, wiki, forum, chat, etc.,
|
||||
all accessible via its built-in web interface.
|
||||
|
||||
Fossil is highly reliable thanks to its robust file format based on SQLite
|
||||
with atomic transactions. Its server is CPU, memory and bandwidth efficient
|
||||
enough run comfortably on a cheap VPS or single board computer,
|
||||
and be accessed over suboptimal connections.
|
||||
|
||||
The following example will configure Fossil to listen on a unix socket
|
||||
behind a reverse proxy and serve repositories from a custom location.
|
||||
|
||||
@lisp
|
||||
(service fossil-service-type
|
||||
(fossil-configuration
|
||||
(repository "/srv/museum")
|
||||
(repo-list? #t)
|
||||
(base-url "https://museum.example")
|
||||
(socket-file "/var/run/fossil.sock")
|
||||
(compress? #f)))
|
||||
@end lisp
|
||||
|
||||
@deftp {Data Type} fossil-configuration
|
||||
Available @code{fossil-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{fossil}) (type: package)
|
||||
The Fossil package to use.
|
||||
|
||||
@item @code{user} (default: @code{"fossil"}) (type: string)
|
||||
The user running the Fossil server.
|
||||
|
||||
@item @code{group} (default: @code{"fossil"}) (type: string)
|
||||
The user group running the Fossil server.
|
||||
|
||||
@item @code{log-file} (default: @code{"/var/log/fossil.log"}) (type: string)
|
||||
The path to the server's log.
|
||||
|
||||
@item @code{repository} (default: @code{"/var/lib/fossil"}) (type: string)
|
||||
The name of the Fossil repository to be served, or a directory
|
||||
containing one or more repositories with names ending in @code{.fossil}.
|
||||
In the latter case, a prefix of the URL pathname is used to search the
|
||||
directory for an appropriate repository. Files not matching the pattern
|
||||
@code{*.fossil*} will be served as static content. Invoke
|
||||
@command{fossil server --help} for more information.
|
||||
|
||||
@item @code{acme?} (default: @code{#f}) (type: boolean)
|
||||
Deliver files from the @code{.well-known} subdirectory.
|
||||
|
||||
@item @code{base-url} (type: maybe-string)
|
||||
The URL used as the base (useful for reverse proxies)
|
||||
|
||||
@item @code{chroot} (type: maybe-string)
|
||||
The directory to use for chroot instead of @code{repository}.
|
||||
|
||||
@item @code{ckout-alias} (type: maybe-string)
|
||||
The @var{name} for @code{/doc/@var{name}/...} to be treated as
|
||||
@code{/doc/ckout/...}.
|
||||
|
||||
@item @code{compress?} (default: @code{#t}) (type: boolean)
|
||||
Compress HTTP response.
|
||||
|
||||
@item @code{create?} (default: @code{#f}) (type: boolean)
|
||||
Create a new @code{repository} if it does not already exist.
|
||||
|
||||
@item @code{error-log-file} (type: maybe-string)
|
||||
The path for HTTP error log.
|
||||
|
||||
@item @code{ext-root} (type: maybe-string)
|
||||
The document root for the /ext extension mechanism.
|
||||
|
||||
@item @code{files} (type: maybe-list-of-strings)
|
||||
The glob patterns for static files.
|
||||
|
||||
@item @code{from} (type: maybe-string)
|
||||
The path to be used as the diff baseline for the /ckout page.
|
||||
|
||||
@item @code{jail?} (default: @code{#t}) (type: boolean)
|
||||
Whether to enter the chroot jail after dropping root privileges.
|
||||
|
||||
@item @code{js-mode} (type: maybe-fossil-js-mode)
|
||||
How JavaScript is delivered with pages, either @code{'inline} at the end
|
||||
of the HTML file, as @code{'separate} HTTP requests, or one single HTTP
|
||||
request for all JavaScript @code{'bundled} together. Depending on the
|
||||
needs of any given page, @code{'inline} and @code{'bundled} modes might
|
||||
result in a single amalgamated script or several, but both approaches
|
||||
result in fewer HTTP requests than the @code{'separate} mode.
|
||||
|
||||
@item @code{https?} (default: @code{#f}) (type: boolean)
|
||||
Indicate that the requests are coming through a reverse proxy that has
|
||||
already translated HTTPS into HTTP.
|
||||
|
||||
@item @code{ip} (type: maybe-string)
|
||||
The IP for the server to listen on.
|
||||
|
||||
@item @code{local-authentication?} (default: @code{#f}) (type: boolean)
|
||||
Enable automatic login for requests from localhost.
|
||||
|
||||
@item @code{localhost?} (default: @code{#f}) (type: boolean)
|
||||
Listen on @code{127.0.0.1} only.
|
||||
|
||||
@item @code{main-menu} (type: maybe-string)
|
||||
The file whose contents is to override the repository's @code{mainmenu}
|
||||
setting.
|
||||
|
||||
@item @code{max-latency} (type: maybe-number)
|
||||
The maximum latency in seconds for a single HTTP request.
|
||||
|
||||
@item @code{port} (default: @code{8080}) (type: port-number)
|
||||
The port number for the server to listen on.
|
||||
|
||||
@item @code{list-repositories?} (default: @code{#f}) (type: boolean)
|
||||
If @code{repository} is dir, URL @code{/} lists repos.
|
||||
|
||||
@item @code{redirect-to-https?} (default: @code{#t}) (type: boolean)
|
||||
If set to @code{#f}, do not force redirects to HTTPS regardless of the
|
||||
repository setting @code{redirect-to-https}.
|
||||
|
||||
@item @code{scgi?} (default: @code{#f}) (type: boolean)
|
||||
Accept SCGI rather than HTTP.
|
||||
|
||||
@item @code{skin} (type: maybe-string)
|
||||
The skin label to use, overriding repository settings.
|
||||
|
||||
@item @code{socket-file} (type: maybe-string)
|
||||
The unix-domain socket to use instead of TCP/IP.
|
||||
|
||||
@item @code{socket-mode} (default: @code{0o640}) (type: mode-number)
|
||||
The file permissions to set for the unix socket.
|
||||
|
||||
@item @code{th-trace?} (default: @code{#f}) (type: boolean)
|
||||
Trace TH1 execution (for debugging purposes).
|
||||
|
||||
@item @code{tls-certificate} (type: maybe-string)
|
||||
The certicate file (@file{fullchain.pem}) with which to enable TLS
|
||||
(HTTPS) encryption.
|
||||
|
||||
@item @code{tls-private-key} (type: maybe-string)
|
||||
The file storing the TLS private key.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
@node Game Services
|
||||
@subsection Game Services
|
||||
@@ -50488,6 +50672,29 @@ cat $(herd configuration tor)
|
||||
This can come in as a handy debugging tool!
|
||||
@end deffn
|
||||
|
||||
@deffn {Procedure} shepherd-signal-action name signal @
|
||||
[#:documentation `Send signal @var{signal} to the running service`] @
|
||||
[#:message `Service has been asked to perform @var{name}`]
|
||||
Return a shepherd action with @var{name} to send @var{signal} to the
|
||||
running process. The optional @var{documentation} and @var{message} can be used
|
||||
to customize the documentation and output message.
|
||||
|
||||
Many daemons perform special actions after receiving a specific signal.
|
||||
|
||||
For example the @command{syslogd} logger will reread its configuration file
|
||||
after receiving @code{SIGHUP}.
|
||||
|
||||
After adding
|
||||
@lisp
|
||||
(shepherd-signal-action 'reload SIGHUP))
|
||||
@end lisp
|
||||
|
||||
the @code{reload} action will be available and can be used with
|
||||
@example
|
||||
herd reload syslogd
|
||||
@end example
|
||||
@end deffn
|
||||
|
||||
@defvar shepherd-root-service-type
|
||||
The service type for the Shepherd ``root service''---i.e., PID@tie{}1.
|
||||
|
||||
|
||||
44
etc/news.scm
44
etc/news.scm
@@ -33,6 +33,7 @@
|
||||
;; Copyright © 2025 Rivulet Cedar <rivulet_cedar@yeah.net>
|
||||
;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;; Copyright © 2025 Steve George <steve@futurile.net>
|
||||
;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
|
||||
;;
|
||||
;; Copying and distribution of this file, with or without modification, are
|
||||
@@ -42,6 +43,49 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "b52ce9041ad58aeababd2d50d3e72bc23dffff60")
|
||||
(title
|
||||
(en "GNOME 48 is now available")
|
||||
(fr "GNOME 48 maintenant disponible")
|
||||
(pt "GNOME 48 já está disponível")
|
||||
(de "GNOME 48 jetzt verfügbar"))
|
||||
(body
|
||||
(en "The GNOME desktop was updated from version 46 to 48, bringing
|
||||
accent colors, an improved Files (Nautilus) application, a new image
|
||||
viewer (Loupe), and more:
|
||||
|
||||
@itemize
|
||||
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
|
||||
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
|
||||
@end itemize")
|
||||
(fr "La version 48 de l’environnement de bureau GNOME est maintenant
|
||||
disponible. Les nouvelles fonctionnalitées incluent: les couleurs d’accent,
|
||||
l’application Fichiers (Nautilus) améliorée, un nouveau visionneur
|
||||
d’images (Loupe), et plus:
|
||||
|
||||
@itemize
|
||||
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
|
||||
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
|
||||
@end itemize")
|
||||
(pt "GNOME desktop foi atualizado da versão 46 para a 48, trazendo
|
||||
cores acentuadas, um aplicativo de arquivos (Nautilus) melhorado, um novo
|
||||
visualizador de imagens (Loupe), e mais:
|
||||
|
||||
@itemize
|
||||
@item @url{https://release.gnome.org/47/, Notas de lançamento do GNOME 47}
|
||||
@item @url{https://release.gnome.org/48/, Notas de lançamento do GNOME 48}
|
||||
@end itemize")
|
||||
(de "Die GNOME-Desktopumgebung wurde von Version 46 auf 48
|
||||
aktualisiert. Neue Funktionen in dieser Version sind die Möglichkeit, eine
|
||||
Akzentfarbe zu wählen, Verbesserungen in der Dateien-Anwendung (Nautilus), ein
|
||||
neuer Bildbetrachter (Loupe), und mehr. Für eine ausführlichere Liste an
|
||||
Änderungen, siehe:
|
||||
|
||||
@itemize
|
||||
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
|
||||
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
|
||||
@end itemize")))
|
||||
|
||||
(entry (commit "d659fe8666c4bc38fcbdbe7b7a35101f2d7cc41b")
|
||||
(title
|
||||
(en "Potential security vulnerability in glibc")
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"node-build-system"
|
||||
"ocaml-build-system"
|
||||
"perl-build-system"
|
||||
"python-build-system"
|
||||
"pyproject-build-system"
|
||||
"qt-build-system"
|
||||
"r-build-system"
|
||||
"rakudo-build-system"
|
||||
|
||||
@@ -1197,6 +1197,20 @@ the \"texlive\" importer."
|
||||
#:scope (list "etc/news.scm"
|
||||
(make-regexp* "^po/"))))
|
||||
|
||||
(define-team vcs
|
||||
(team 'vcs
|
||||
#:name "Version control team"
|
||||
#:description
|
||||
"Version control packages, services, and Guix download backends."
|
||||
#:scope (list "gnu/packages/version-control.scm"
|
||||
"gnu/services/version-control.scm"
|
||||
"gnu/tests/version-control.scm"
|
||||
"guix/build/bzr.scm"
|
||||
"guix/build/cvs.scm"
|
||||
"guix/build/git.scm"
|
||||
"guix/build/hg.scm"
|
||||
"guix/build/svn.scm")))
|
||||
|
||||
(define-team xfce
|
||||
(team 'xfce
|
||||
#:name "Xfce team"
|
||||
@@ -1531,7 +1545,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Nguyễn Gia Phong"
|
||||
"cnx@loang.net"
|
||||
"cnx")
|
||||
build-tools python qa-packages sysadmin)
|
||||
build-tools python qa-packages sysadmin vcs)
|
||||
|
||||
(define-member (person "Lilah Tascheter"
|
||||
"lilah@lunabee.space"
|
||||
@@ -1603,6 +1617,16 @@ the \"texlive\" importer."
|
||||
"folaht")
|
||||
documentation)
|
||||
|
||||
(define-member (person "Thanos Apollo"
|
||||
"public@thanosapollo.org"
|
||||
"thanosapollo")
|
||||
vcs)
|
||||
|
||||
(define-member (person "Ashish SHUKLA"
|
||||
"ashish.is@lostca.se"
|
||||
"group")
|
||||
vcs)
|
||||
|
||||
|
||||
(define (find-team name)
|
||||
(or (hash-ref %teams (string->symbol name))
|
||||
|
||||
18
gnu/local.mk
18
gnu/local.mk
@@ -55,7 +55,7 @@
|
||||
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
# Copyright © 2022 ( <paren@disroot.org>
|
||||
# Copyright © 2022 jgart <jgart@dismail.de>
|
||||
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
|
||||
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
|
||||
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
|
||||
# Copyright © 2023 Andy Tai <atai@atai.org>
|
||||
@@ -213,6 +213,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/connman.scm \
|
||||
%D%/packages/containers.scm \
|
||||
%D%/packages/convmv.scm \
|
||||
%D%/packages/codex.scm \
|
||||
%D%/packages/coq.scm \
|
||||
%D%/packages/cpio.scm \
|
||||
%D%/packages/cpp.scm \
|
||||
@@ -313,7 +314,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/gd.scm \
|
||||
%D%/packages/gdb.scm \
|
||||
%D%/packages/genealogy.scm \
|
||||
%D%/packages/genimage.scm \
|
||||
%D%/packages/geo.scm \
|
||||
%D%/packages/gettext.scm \
|
||||
%D%/packages/ghostscript.scm \
|
||||
@@ -1092,6 +1092,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ceph-fix-cmake.patch \
|
||||
%D%/packages/patches/cf-tool-add-languages.patch \
|
||||
%D%/packages/patches/chmlib-inttypes.patch \
|
||||
%D%/packages/patches/cl-ana-pr-49.patch \
|
||||
%D%/packages/patches/cl-asdf-config-directories.patch \
|
||||
%D%/packages/patches/clamav-config-llvm-libs.patch \
|
||||
%D%/packages/patches/clamav-system-tomsfastmath.patch \
|
||||
@@ -1124,6 +1125,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/coda-use-system-libs.patch \
|
||||
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
|
||||
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
|
||||
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
|
||||
%D%/packages/patches/cogl-fix-double-free.patch \
|
||||
%D%/packages/patches/collada-dom-boost.patch \
|
||||
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
|
||||
@@ -1227,6 +1229,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
|
||||
%D%/packages/patches/elm-offline-package-registry.patch \
|
||||
%D%/packages/patches/elm-reactor-static-files.patch \
|
||||
%D%/packages/patches/emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch \
|
||||
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
|
||||
%D%/packages/patches/emacs-disable-jit-compilation.patch \
|
||||
%D%/packages/patches/emacs-doc-toc-shell-commands.patch \
|
||||
@@ -1428,7 +1431,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
|
||||
%D%/packages/patches/gemmi-fix-sajson-types.patch \
|
||||
%D%/packages/patches/gemrb-remove-ifdef-and-externalize-path-setting-to-cmake.patch \
|
||||
%D%/packages/patches/genimage-mke2fs-test.patch \
|
||||
%D%/packages/patches/geoclue-config.patch \
|
||||
%D%/packages/patches/gettext-libunicode-update.patch \
|
||||
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
|
||||
@@ -1539,7 +1541,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/grfcodec-gcc-compat.patch \
|
||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
||||
%D%/packages/patches/grub-hurd64.patch \
|
||||
%D%/packages/patches/grub-setup-root.patch \
|
||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
|
||||
@@ -1579,6 +1580,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
%D%/packages/patches/gst-plugins-base-null-pointer.patch \
|
||||
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
|
||||
%D%/packages/patches/gzdoom-find-system-libgme.patch \
|
||||
%D%/packages/patches/hare-fallback-cache.patch \
|
||||
@@ -1606,6 +1608,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
|
||||
%D%/packages/patches/hurd-startup.patch \
|
||||
%D%/packages/patches/hwloc-1-test-btrfs.patch \
|
||||
%D%/packages/patches/hwloc-add-with-opencl.patch \
|
||||
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
|
||||
%D%/packages/patches/i7z-gcc-10.patch \
|
||||
%D%/packages/patches/icecat-adjust-mozilla-desktop.patch \
|
||||
@@ -1967,7 +1970,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/netsurf-system-utf8proc.patch \
|
||||
%D%/packages/patches/netsurf-y2038-tests.patch \
|
||||
%D%/packages/patches/netsurf-longer-test-timeout.patch \
|
||||
%D%/packages/patches/nextpnr-imgui.patch \
|
||||
%D%/packages/patches/nhc98-c-update.patch \
|
||||
%D%/packages/patches/nix-dont-build-html-doc.diff \
|
||||
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
|
||||
@@ -2377,10 +2379,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
|
||||
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
|
||||
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-arg0-file-lock.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-core-file-lock.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-execpolicy-file-lock.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
|
||||
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
|
||||
%D%/packages/patches/rw-igraph-0.10.patch \
|
||||
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
|
||||
|
||||
@@ -3835,8 +3835,15 @@ platform-specific methods.")
|
||||
"0y5w8pl91xapi49ih1pw7h48lac201cj7fm89hkklmzi9m2715gx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "--with-python=no"
|
||||
"--disable-static")))
|
||||
(list #:configure-flags
|
||||
#~(list #$@(cond ((target-aarch64?)
|
||||
'("--with-aarch64"))
|
||||
((target-arm32?)
|
||||
'("--with-arm"))
|
||||
(else
|
||||
'()))
|
||||
"--with-python=no"
|
||||
"--disable-static")))
|
||||
(inputs
|
||||
(list openldap gnutls cyrus-sasl))
|
||||
(synopsis "User-space component to the Linux auditing system")
|
||||
|
||||
@@ -186,85 +186,83 @@ engine with a Lua scripting interface.")
|
||||
(synopsis "Combined display server, multimedia framework and game engine (SDL)")))
|
||||
|
||||
(define-public durden
|
||||
(let ((commit "43211acd7994836d5c4ba039d7ecc939dcf8a5aa")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "durden")
|
||||
(version (git-version "0.6.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/durden")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "1jns4lq959s8ydykm0yg9sddzh74k7fdvjrnbz3z91idb7abl92d"))
|
||||
(patches (search-patches "durden-shadow-arcan.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
|
||||
("util/" "share/arcan/appl/durden/util/")
|
||||
("distr/durden" "bin/durden"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "distr/durden"
|
||||
(("/usr/share/\\$applname")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/arcan/appl"))
|
||||
(("@ARCAN_STORE_PATH@")
|
||||
(string-append (assoc-ref inputs "arcan")
|
||||
"/bin/arcan"))
|
||||
(("([\\([:blank:]]+)basename " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/basename "))
|
||||
(("([\\([:blank:]]+)date " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/date "))
|
||||
(("([\\([:blank:]]+)ln " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/ln "))
|
||||
(("([\\([:blank:]]+)mkdir " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/mkdir "))
|
||||
(("([\\([:blank:]]+)true; " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/true; "))
|
||||
(("([\\([:blank:]]+)\\[ " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/[ "))))))))
|
||||
(inputs (list arcan coreutils))
|
||||
(home-page "https://durden.arcan-fe.com/")
|
||||
(synopsis "Desktop Environment for Arcan")
|
||||
(description
|
||||
"Durden is a desktop environment for the Arcan Display Server.
|
||||
It serves both as a reference showcase on how to take advantage of some of the
|
||||
features in Arcan, and as an entry to the advanced-user side of the desktop
|
||||
environment spectrum.")
|
||||
(license (list license:bsd-3 license:expat license:cc-by3.0
|
||||
license:cc-by4.0 license:asl2.0)))))
|
||||
|
||||
(define-public xarcan
|
||||
(package
|
||||
(name "xarcan")
|
||||
(name "durden")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/xarcan")
|
||||
(url "https://codeberg.org/letoram/durden")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1g24mmwnc45ig0x8jk0v91488k8933w07vxi4305sla56q4n82p4"))))
|
||||
(base32 "1w12mdjdbhw13134fj4kv43n1z6vrh1jhg1wc7m5hw82w8ncwqkm"))
|
||||
(patches (search-patches "durden-shadow-arcan.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
|
||||
("util/" "share/arcan/appl/durden/util/")
|
||||
("distr/durden" "bin/durden"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "distr/durden"
|
||||
(("/usr/share/\\$applname")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/arcan/appl"))
|
||||
(("@ARCAN_STORE_PATH@")
|
||||
(string-append (assoc-ref inputs "arcan")
|
||||
"/bin/arcan"))
|
||||
(("([\\([:blank:]]+)basename " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/basename "))
|
||||
(("([\\([:blank:]]+)date " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/date "))
|
||||
(("([\\([:blank:]]+)ln " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/ln "))
|
||||
(("([\\([:blank:]]+)mkdir " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/mkdir "))
|
||||
(("([\\([:blank:]]+)true; " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/true; "))
|
||||
(("([\\([:blank:]]+)\\[ " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/[ "))))))))
|
||||
(inputs (list arcan coreutils))
|
||||
(home-page "https://durden.arcan-fe.com/")
|
||||
(synopsis "Desktop Environment for Arcan")
|
||||
(description
|
||||
"Durden is a desktop environment for the Arcan Display Server.
|
||||
It serves both as a reference showcase on how to take advantage of some of the
|
||||
features in Arcan, and as an entry to the advanced-user side of the desktop
|
||||
environment spectrum.")
|
||||
(license (list license:bsd-3 license:expat license:cc-by3.0
|
||||
license:cc-by4.0 license:asl2.0))))
|
||||
|
||||
(define-public xarcan
|
||||
(package
|
||||
(name "xarcan")
|
||||
(version "0.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/letoram/xarcan")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1jpk272y58h94ss6j87i0cl1zlfp4g5803y0kpi09q8yy37icvcg"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -302,6 +300,7 @@ environment spectrum.")
|
||||
openssl
|
||||
pixman
|
||||
xcb-util
|
||||
xcb-util-image
|
||||
xcb-util-wm
|
||||
xkbcomp
|
||||
xkeyboard-config
|
||||
@@ -309,11 +308,8 @@ environment spectrum.")
|
||||
xtrans))
|
||||
(home-page "https://arcan-fe.com")
|
||||
(synopsis "Patched Xserver that bridges connections to Arcan")
|
||||
(description "Patched Xserver with a KDrive backend that uses the arcan-shmif
|
||||
to map Xlib/Xcb/X clients to a running arcan instance. It allows running an X session
|
||||
as a window under Arcan.")
|
||||
(description
|
||||
"Patched Xserver with a KDrive backend that uses the arcan-shmif
|
||||
to map Xlib/Xcb/X clients to a running arcan instance. It allows
|
||||
running an X session as a window under Arcan.")
|
||||
(license (list license:bsd-3 license:expat))))
|
||||
|
||||
;; Package was merged into arcan in upstream.
|
||||
(define-deprecated-package arcan-wayland
|
||||
arcan)
|
||||
|
||||
@@ -11791,6 +11791,33 @@ can be used to control telescopes over a serial port for tracking celestial
|
||||
objects.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public stiff
|
||||
(package
|
||||
(name "stiff")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/astromatic/stiff")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1iffrncag1w6nd9c6v3dlx9m79nfg6ph42i0gsvlq8pvjph7s6pa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "CFLAGS=-O2 -g -fcommon")))
|
||||
(inputs
|
||||
(list libtiff zlib libjpeg-turbo))
|
||||
(home-page "https://www.astromatic.net/software/stiff/")
|
||||
(synopsis "Convert scientific FITS images to TIFF format")
|
||||
(description
|
||||
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
|
||||
Transport System} images to the more popular TIFF format for illustration
|
||||
purposes.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public stuff
|
||||
;; XXX: No version tag available in GitHub.
|
||||
;; See: https://github.com/astromatic/stuff/issues/6
|
||||
|
||||
@@ -2366,7 +2366,7 @@ to explore and analyze bulk RNA-seq data.")
|
||||
(define-public python-cell2cell
|
||||
(package
|
||||
(name "python-cell2cell")
|
||||
(version "0.7.4")
|
||||
(version "0.8.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2375,7 +2375,7 @@ to explore and analyze bulk RNA-seq data.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02cqc5rm0qkm0np1k7bim1w7f5qjnwf1jcm5albd9cpvfs4bwgdr"))
|
||||
"0z5dcm9i74c5iaqq92y25khg7i2smrfj8jb1g26iwzwf1cqxghmn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -2685,7 +2685,7 @@ parsing of Variant Call Format (VCF) files.")
|
||||
(define-public python-decoupler
|
||||
(package
|
||||
(name "python-decoupler")
|
||||
(version "2.1.2")
|
||||
(version "2.1.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2694,7 +2694,7 @@ parsing of Variant Call Format (VCF) files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05d70zrgv8l9ihkgmr7hqcgn66yx1v1lm0hcfbc370asp97k2f74"))))
|
||||
"07kpcjbnp5c00p3iw2my6k3bxfivswyxs2dljj0yhgjhxw2900av"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -7294,6 +7294,42 @@ trees (phylogenies) and characters.")
|
||||
with Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public deacon
|
||||
(package
|
||||
(name "deacon")
|
||||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "deacon" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1p7q48ql67mxqi7fv0jaxbfn0js85sb2ai0h3vfvizwd1lfyldxl"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:features ''("ensure_simd/scalar"))) ; Avoid AVX2 dependency.
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (cons* bzip2
|
||||
xz
|
||||
`(,zstd "lib")
|
||||
(cargo-inputs 'deacon)))
|
||||
(home-page "https://github.com/bede/deacon")
|
||||
(synopsis
|
||||
"Accelerated DNA sequence search and [host] depletion using minimizers")
|
||||
(description
|
||||
"Deacon filters DNA sequences in FASTA/Q files and streams using
|
||||
SIMD-accelerated minimizer comparison with query sequence(s), emitting either
|
||||
matching sequences (search mode), or sequences without matches (deplete mode).
|
||||
Sequences match when they share enough distinct minimizers with the indexed
|
||||
query to exceed chosen absolute and relative thresholds. Query size has little
|
||||
impact on filtering speed, enabling ultrafast search and depletion with gene-,
|
||||
genome- and pangenome-scale queries using a laptop.")
|
||||
;; Upstream suggests compiling with '-C target-cpu=native'
|
||||
(properties '((tunable? . #t)))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public delly
|
||||
(package
|
||||
(name "delly")
|
||||
@@ -20327,7 +20363,7 @@ bgzipped text file that contains a pair of genomic coordinates per line.")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
|
||||
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
|
||||
#:tests? #f)) ;most of them need remote data
|
||||
(native-inputs
|
||||
(list python-biopython
|
||||
@@ -25243,7 +25279,7 @@ CSIv1, CSIv2 and FAI files.")
|
||||
(define-public python-gseapy
|
||||
(package
|
||||
(name "python-gseapy")
|
||||
(version "1.0.4")
|
||||
(version "1.1.12")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -25252,7 +25288,7 @@ CSIv1, CSIv2 and FAI files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"06gh09dwwj2xr5zx8i41smy8arx2pw7rll7sk50np28z419bnyz9"))))
|
||||
"0xdh2v0s2jwj5n541z9zlcq5f6ka0r8jk03jdv8z3j27hc6azf3s"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
(define-module (gnu packages bootloaders)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages bison)
|
||||
@@ -114,13 +115,13 @@
|
||||
(define*-public (make-grub platform)
|
||||
(package
|
||||
(name (string-append "grub-" platform))
|
||||
(version "2.12")
|
||||
(version "2.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ahgzvvvwdxx7rl08pv5dyqlgp76jxz0q2cflxvsdsn4yy8p7jgk"))
|
||||
"0hvd8i3ib6nwymfmvd6dia6axrn4xmrlsrg2r3c3i22vadrkr3dw"))
|
||||
(patches (search-patches
|
||||
"grub-efi-fat-serial-number.patch"
|
||||
"grub-setup-root.patch"))
|
||||
@@ -148,13 +149,21 @@
|
||||
;; This needs to be compiled with clang for powerpc64le.
|
||||
(if #$(and=> (%current-target-system)
|
||||
target-ppc64le?)
|
||||
(list "TARGET_CC=powerpc64le-linux-gnu-clang")
|
||||
(list "TARGET_CC=powerpc64le-linux-gnu-clang"
|
||||
"CFLAGS=-Wno-error")
|
||||
'())
|
||||
(if #$(and (target-ppc64le? (%current-system))
|
||||
(not (%current-target-system)))
|
||||
(list "CC=clang")
|
||||
(list "CC=clang" "CFLAGS=-Wno-error")
|
||||
'()))
|
||||
|
||||
;; The 'configure' script detects --image-base support and uses it,
|
||||
;; but that shifts the i386-pc kernel.img start address from 0x9000
|
||||
;; to 0x9074, breaking grub-install. Override with -Ttext.
|
||||
;; See <https://lists.gnu.org/archive/html/grub-devel/2026-01/msg00041.html>.
|
||||
#:make-flags
|
||||
#~(list "TARGET_IMG_BASE_LDOPT=-Wl,-Ttext")
|
||||
|
||||
;; GRUB fails to load modules stripped with --strip-unneeded.
|
||||
#:strip-flags
|
||||
#~(list "--strip-debug" "--enable-deterministic-archives")
|
||||
@@ -199,14 +208,6 @@
|
||||
(setenv "BUILD_FREETYPE_CFLAGS"
|
||||
(string-append "-I" freetype
|
||||
"/include/freetype2"))))))
|
||||
#$@(if (target-hurd64?)
|
||||
#~((add-after 'unpack 'apply-hurd64-patch
|
||||
(lambda _
|
||||
(let ((patch
|
||||
#$(local-file
|
||||
(search-patch "grub-hurd64.patch"))))
|
||||
(invoke "patch" "--force" "-p1" "-i" patch)))))
|
||||
#~())
|
||||
(add-before 'check 'disable-flaky-test
|
||||
(lambda _
|
||||
;; This test is unreliable. For more information, see:
|
||||
@@ -229,7 +230,7 @@
|
||||
(("test_unset grub_func_test")
|
||||
"test_unset")))))))
|
||||
(inputs
|
||||
(append (list gettext-minimal freetype ncurses
|
||||
(append (list gettext-minimal freetype ncurses libtasn1
|
||||
|
||||
;; Console-setup's ckbcomp is invoked by grub-kbdcomp. It
|
||||
;; is required for generating alternative keyboard layouts.
|
||||
@@ -285,22 +286,6 @@
|
||||
;; targets are used.
|
||||
(if (member (%current-system) (package-supported-systems qemu-minimal))
|
||||
(list qemu-minimal)
|
||||
'())
|
||||
|
||||
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
|
||||
;; capable of assembling 64-bit instructions. However, our default
|
||||
;; binutils on 32-bit x86 is not 64-bit capable.
|
||||
(if (string-match "^i[3456]86-" (%current-system))
|
||||
(let ((binutils (package/inherit
|
||||
binutils
|
||||
(name "binutils-i386")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments binutils)
|
||||
((#:configure-flags flags ''())
|
||||
#~(cons* "--enable-64-bit-bfd" #$flags)))))))
|
||||
(list (make-ld-wrapper "ld-wrapper-i386"
|
||||
#:binutils binutils)
|
||||
binutils))
|
||||
'())))
|
||||
(home-page "https://www.gnu.org/software/grub/")
|
||||
(synopsis "GRand Unified Boot loader")
|
||||
@@ -405,7 +390,8 @@ menu to select one of the installed operating systems.")
|
||||
"test_sha512sum"
|
||||
"grub_cmd_tr"
|
||||
"test_unset"
|
||||
"file_filter_test")
|
||||
"file_filter_test"
|
||||
"asn1_test")
|
||||
" "))))))))
|
||||
(supported-systems '("i686-linux" "x86_64-linux")))))
|
||||
|
||||
@@ -457,22 +443,27 @@ menu to select one of the installed operating systems.")
|
||||
((target-arm32?) "arm")
|
||||
(else ""))))
|
||||
(substitute* "tests/util/grub-shell.in"
|
||||
(("OVMF-ia32\\.fd")
|
||||
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("OVMF\\.fd")
|
||||
(("/usr/share/qemu/OVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/qemu-efi/QEMU_EFI\\.fd")
|
||||
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
|
||||
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
@@ -524,19 +515,41 @@ menu to select one of the installed operating systems.")
|
||||
#$@(if (or (target-x86?)
|
||||
(target-arm?))
|
||||
#~((replace 'patch-ovmf-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let ((arch #$(cond ((target-x86?) "ia32")
|
||||
((target-arm?) "arm")
|
||||
(else ""))))
|
||||
(substitute* "tests/util/grub-shell.in"
|
||||
(("OVMF-ia32\\.fd")
|
||||
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
inputs (string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/qemu/OVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
inputs (string-append
|
||||
"/share/firmware/ovmf_" arch ".bin"))))))))
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin"))))))))
|
||||
#~())))))
|
||||
(native-inputs
|
||||
(cond
|
||||
@@ -560,9 +573,7 @@ menu to select one of the installed operating systems.")
|
||||
(package
|
||||
(inherit (make-grub "ieee1275"))
|
||||
(synopsis "GRand Unified Boot loader (ieee1275 version)")
|
||||
(supported-systems '("i686-linux" "x86_64-linux"
|
||||
"i586-gnu" "x86_64-gnu"
|
||||
"powerpc-linux" "powerpc64le-linux"))))
|
||||
(supported-systems '("powerpc-linux" "powerpc64le-linux"))))
|
||||
|
||||
(define-public grub-qemu
|
||||
(package
|
||||
|
||||
411
gnu/packages/codex.scm
Normal file
411
gnu/packages/codex.scm
Normal file
@@ -0,0 +1,411 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
;;;
|
||||
;;; 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/>.
|
||||
|
||||
;;; This module is separate from (gnu packages rust-apps) to avoid a
|
||||
;;; circular module dependency: (gnu packages rust-sources), which
|
||||
;;; defines rust-codex-0.98.0, transitively loads (gnu packages
|
||||
;;; rust-apps) through its #:use-module chain. If the codex package
|
||||
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
|
||||
;;; rust-apps before rust-codex-0.98.0 is defined, causing an unbound
|
||||
;;; variable error.
|
||||
|
||||
(define-module (gnu packages codex)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control))
|
||||
|
||||
(define-public codex
|
||||
(package
|
||||
(name "codex")
|
||||
(version (package-version rust-codex-0.98.0))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source rust-codex-0.98.0))
|
||||
(patches (search-patches
|
||||
"codex-0.98.0-remove-patch-sections.patch"
|
||||
"rust-codex-0.98.0-test-shebangs.patch"
|
||||
"rust-codex-0.98.0-test-timeout.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-install-paths '(list "cli" "exec" "exec-server"
|
||||
"linux-sandbox" "mcp-server" "network-proxy"
|
||||
"app-server" "tui")
|
||||
;; schema_fixtures_match_generated (upstream fixture is stale:
|
||||
;; FileChange::Update in codex-protocol gained old_content,
|
||||
;; new_content, move_path fields but the committed JSON schema
|
||||
;; fixture was not regenerated).
|
||||
#:cargo-test-flags '(list "--workspace"
|
||||
"--exclude" "codex-app-server-protocol"
|
||||
"--"
|
||||
;; These tests exercise sandbox denial and
|
||||
;; escalation, which requires Landlock to
|
||||
;; cleanly deny filesystem access. Inside the
|
||||
;; build container Landlock returns NotEnforced
|
||||
;; and the sandbox binary panics instead.
|
||||
;; Disabling Landlock would not help either,
|
||||
;; since these tests need a working sandbox to
|
||||
;; have anything to deny and escalate.
|
||||
"--skip" "sandbox_denied_shell_returns_original_output"
|
||||
"--skip" "shell_escalated_permissions_rejected_then_ok"
|
||||
"--skip" "unified_exec_runs_under_sandbox"
|
||||
;; These tests (in codex-exec) directly call
|
||||
;; spawn_command_under_linux_sandbox to verify
|
||||
;; that python and bash work correctly inside
|
||||
;; the Landlock sandbox. The sandbox binary
|
||||
;; (codex-exec) panics with LandlockRestrict
|
||||
;; (exit code 101) before the inner command
|
||||
;; even starts.
|
||||
"--skip" "python_getpwuid_works_under_sandbox"
|
||||
"--skip" "python_multiprocessing_lock_works_under_sandbox"
|
||||
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
|
||||
;; These linux-sandbox tests directly invoke
|
||||
;; the Landlock sandbox via
|
||||
;; process_exec_tool_call; same root cause.
|
||||
"--skip" "test_writable_root"
|
||||
"--skip" "test_timeout"
|
||||
"--skip" "test_root_read"
|
||||
"--skip" "test_dev_null_write"
|
||||
"--skip" "test_no_new_privs_is_enabled"
|
||||
;; This test iterates many approval scenarios;
|
||||
;; one of them
|
||||
;; (danger_full_access_on_request_allows_network)
|
||||
;; runs a command through the Landlock sandbox
|
||||
;; binary, which panics with LandlockRestrict
|
||||
;; inside the build container. Cargo --skip
|
||||
;; cannot target individual scenarios, so we
|
||||
;; skip the entire matrix.
|
||||
"--skip" "approval_matrix_covers_all_modes"
|
||||
;; This test verifies session-level patch
|
||||
;; approval caching: approve once, skip
|
||||
;; future prompts for the same file. When
|
||||
;; Landlock is unavailable (as in the Guix
|
||||
;; build container) the sandbox binary panics,
|
||||
;; triggering the escalation-retry path, which
|
||||
;; interferes with the approval cache and
|
||||
;; causes a spurious re-prompt on the second
|
||||
;; patch.
|
||||
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
|
||||
;; These tests expect to interrupt a
|
||||
;; long-running 'sleep 60' and receive
|
||||
;; TurnAborted. Default test config is
|
||||
;; OnRequest + ReadOnly. What happens:
|
||||
;;
|
||||
;; 1. ReadOnly wraps the command with
|
||||
;; codex-linux-sandbox (Landlock-based).
|
||||
;; 2. Landlock is unavailable in the Guix
|
||||
;; build container, so the sandbox
|
||||
;; binary exits instantly (~1 ms).
|
||||
;; 3. Orchestrator gets SandboxErr::Denied.
|
||||
;; wants_no_sandbox_approval(OnRequest)
|
||||
;; returns false (sandboxing.rs:222),
|
||||
;; so no escalation -- denial returned
|
||||
;; directly.
|
||||
;; 4. ToolEmitter::finish sends the error
|
||||
;; to the mock model as
|
||||
;; function_call_output.
|
||||
;; 5. Second mock SSE response fires,
|
||||
;; turn finishes with TurnComplete.
|
||||
;; 6. Op::Interrupt arrives 100 ms later,
|
||||
;; but the turn is already done --
|
||||
;; TurnAborted is never emitted,
|
||||
;; test times out.
|
||||
;;
|
||||
;; The similar interrupt_long_running_tool_
|
||||
;; emits_turn_aborted passes because it
|
||||
;; sends the interrupt with no delay and
|
||||
;; has only one mock response (so the turn
|
||||
;; cannot complete first).
|
||||
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
|
||||
"--skip" "interrupt_tool_records_history_entries"
|
||||
;; Upstream bug: test hardcodes "0.0.0" in the
|
||||
;; expected user-agent string but the workspace
|
||||
;; version is "0.98.0".
|
||||
"--skip" "get_user_agent_returns_current_codex_user_agent"
|
||||
;; Same upstream bug: mcp-server tests
|
||||
;; check the initialize response which
|
||||
;; includes "version": "0.0.0" but the
|
||||
;; server returns "0.98.0".
|
||||
"--skip" "test_codex_tool_passes_base_instructions"
|
||||
"--skip" "test_shell_command_approval_triggers_elicitation"
|
||||
"--skip" "test_patch_approval_triggers_elicitation"
|
||||
;; These codex-exec-server tests need
|
||||
;; "dotslash", a Meta tool that lazily
|
||||
;; downloads pre-built binaries from a
|
||||
;; JSON manifest. The test helper
|
||||
;; create_transport runs
|
||||
;; `dotslash -- fetch <path>` to obtain a
|
||||
;; custom bash binary described in
|
||||
;; exec-server/tests/suite/bash.
|
||||
;; dotslash is not available in the build
|
||||
;; container.
|
||||
"--skip" "list_tools"
|
||||
"--skip" "accept_elicitation_for_prompt_rule"
|
||||
;;; Test isolation bug: each test in
|
||||
;;; state/src/runtime.rs calls
|
||||
;;; unique_temp_dir() to get its own
|
||||
;;; temporary directory (and thus its
|
||||
;;; own SQLite database). That function
|
||||
;;; names directories using the current
|
||||
;;; nanosecond timestamp, so when tests
|
||||
;;; run in parallel several can receive
|
||||
;;; the same name and open the same
|
||||
;;; database. The initial SQLite
|
||||
;;; migration runs CREATE TABLE threads
|
||||
;;; (without IF NOT EXISTS), so any init
|
||||
;;; after the first panics with "table
|
||||
;;; threads already exists". Any of
|
||||
;;; these tests
|
||||
;;; can be the victim.
|
||||
"--skip" "init_removes_legacy_state_db_files"
|
||||
"--skip" "upsert_and_get_thread_memory"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
|
||||
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
|
||||
"--skip" "deleting_thread_cascades_thread_memory")
|
||||
#:cargo-package-crates
|
||||
''(;;; Tier 0: No internal deps.
|
||||
"codex-async-utils"
|
||||
"codex-client"
|
||||
"codex-execpolicy"
|
||||
"codex-file-search"
|
||||
"codex-git"
|
||||
"codex-keyring-store"
|
||||
"codex-utils-absolute-path"
|
||||
"codex-utils-cache"
|
||||
"codex-utils-cargo-bin"
|
||||
"codex-utils-home-dir"
|
||||
"codex-utils-json-to-toml"
|
||||
"codex-utils-pty"
|
||||
"codex-utils-readiness"
|
||||
"codex-utils-string"
|
||||
"codex-backend-openapi-models"
|
||||
"codex-process-hardening"
|
||||
"codex-ansi-escape"
|
||||
;;; Tier 1: Depends on tier 0.
|
||||
"codex-utils-image"
|
||||
"codex-apply-patch"
|
||||
"codex-protocol"
|
||||
"codex-windows-sandbox"
|
||||
"codex-api"
|
||||
"codex-experimental-api-macros"
|
||||
"codex-secrets"
|
||||
"codex-execpolicy-legacy"
|
||||
"codex-debug-client"
|
||||
;;; Tier 2.
|
||||
"codex-app-server-protocol"
|
||||
"codex-rmcp-client"
|
||||
"codex-otel"
|
||||
"codex-state"
|
||||
"codex-core"
|
||||
"codex-linux-sandbox"
|
||||
"codex-feedback"
|
||||
;;; Tier 3.
|
||||
"codex-arg0"
|
||||
"codex-lmstudio"
|
||||
"codex-login"
|
||||
"codex-ollama"
|
||||
"codex-common"
|
||||
"codex-mcp-server"
|
||||
"codex-backend-client"
|
||||
"codex-responses-api-proxy"
|
||||
;;; Tier 4.
|
||||
"codex-cloud-requirements"
|
||||
"codex-exec"
|
||||
"codex-exec-server"
|
||||
"codex-stdio-to-uds"
|
||||
"codex-network-proxy"
|
||||
"codex-chatgpt"
|
||||
"codex-cloud-tasks-client"
|
||||
;;; Tier 5.
|
||||
"codex-app-server"
|
||||
"codex-app-server-test-client"
|
||||
"codex-tui"
|
||||
;;; Tier 6.
|
||||
"codex-cloud-tasks"
|
||||
;; The main executable.
|
||||
"codex-cli")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir-to-workspace
|
||||
(lambda _
|
||||
(chdir "codex-rs")))
|
||||
(add-after 'chdir-to-workspace 'update-version-in-snapshots
|
||||
(lambda _
|
||||
;; Snapshot test files contain hardcoded v0.0.0 version strings.
|
||||
;; Update them to match the actual package version.
|
||||
(let ((snap-files (find-files "." "\\.snap$")))
|
||||
(substitute* snap-files
|
||||
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
|
||||
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
|
||||
(lambda _
|
||||
;; Replace git dependencies with version references so cargo
|
||||
;; resolves them from the vendored sources.
|
||||
(substitute* "Cargo.toml"
|
||||
(("nucleo = \\{ git = [^}]+\\}")
|
||||
"nucleo = \"0.5.0\"")
|
||||
(("runfiles = \\{ git = [^}]+\\}")
|
||||
"runfiles = \"0.1.0\""))))
|
||||
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
|
||||
(lambda _
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; Add version = "0.98.0" to internal path dependencies.
|
||||
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
|
||||
(substitute* cargo-files
|
||||
;; Handle inline deps: name = { path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", path = "))
|
||||
;; Handle inline deps with package: name = { package = "...", path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", package = "))
|
||||
;; Handle section deps: [dependencies.X] with path = "..."
|
||||
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
|
||||
(string-append path-line "\nversion = \"0.98.0\""))))))
|
||||
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash-bin (string-append
|
||||
(assoc-ref inputs "bash-minimal") "/bin"))
|
||||
(coreutils-bin (string-append
|
||||
(assoc-ref inputs "coreutils") "/bin"))
|
||||
(git-bin (string-append
|
||||
(assoc-ref inputs "git-minimal") "/bin"))
|
||||
(sed-bin (string-append
|
||||
(assoc-ref inputs "sed") "/bin"))
|
||||
;; Include .policy files: the execpolicy-legacy
|
||||
;; crate embeds default.policy via include_str!
|
||||
;; at compile time, so its paths must also be
|
||||
;; patched.
|
||||
(rs-files (find-files "." "\\.(rs|policy)$")))
|
||||
(substitute* rs-files
|
||||
(("\"/bin/bash\"")
|
||||
(string-append "\"" bash-bin "/bash\""))
|
||||
(("\"/bin/sh\"")
|
||||
(string-append "\"" bash-bin "/sh\""))
|
||||
(("\"/usr/bin/bash\"")
|
||||
(string-append "\"" bash-bin "/bash\""))
|
||||
(("\"/usr/bin/sh\"")
|
||||
(string-append "\"" bash-bin "/sh\""))
|
||||
;;; bash/sh with inline arguments, e.g. "/bin/bash -i".
|
||||
(("\"/bin/bash ")
|
||||
(string-append "\"" bash-bin "/bash "))
|
||||
(("\"/bin/sh ")
|
||||
(string-append "\"" bash-bin "/sh "))
|
||||
;; coreutils.
|
||||
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
|
||||
(string-append "\"" coreutils-bin "/" cmd "\""))
|
||||
;; coreutils.
|
||||
(("\"/usr/bin/(cat|cp|head|ls|touch|true)\"" all cmd)
|
||||
(string-append "\"" coreutils-bin "/" cmd "\""))
|
||||
;; coreutils with inline arguments
|
||||
;; like "/bin/echo END-EVENT".
|
||||
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch) " all cmd)
|
||||
(string-append "\"" coreutils-bin "/" cmd " "))
|
||||
(("\"/usr/bin/git\"")
|
||||
(string-append "\"" git-bin "/git\""))
|
||||
(("\"/usr/bin/sed\"")
|
||||
(string-append "\"" sed-bin "/sed\"")))
|
||||
;; @SHELL@ placeholder from test-shebangs patch
|
||||
(substitute*
|
||||
(list "rmcp-client/src/program_resolver.rs"
|
||||
"tui/src/external_editor.rs")
|
||||
(("@SHELL@")
|
||||
(string-append bash-bin "/sh")))
|
||||
;; shebang in test-only file
|
||||
(substitute*
|
||||
"core/tests/suite/user_notification.rs"
|
||||
(("#!/bin/bash")
|
||||
(string-append "#!" bash-bin "/bash"))))))
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
(setenv "USER" "nixbld"))))))
|
||||
(native-inputs (list clang ;bindgen uses libclang to parse BoringSSL's C headers
|
||||
cmake-minimal ;BoringSSL is compiled from C source
|
||||
libunwind ;BoringSSL tests verify stack unwinding in assembly
|
||||
perl python-minimal ;for tests
|
||||
pkg-config))
|
||||
(inputs (cons* bash-minimal coreutils git-minimal sed
|
||||
openssl sqlite `(,zstd "lib")
|
||||
(cargo-inputs 'codex)))
|
||||
(home-page "https://github.com/openai/codex")
|
||||
(synopsis "AI-assisted coding CLI and TUI")
|
||||
(description
|
||||
"Codex is an AI-powered coding assistant that runs in the terminal.
|
||||
It provides an interactive TUI for conversations with AI models, with
|
||||
support for shell command execution, file editing, and code generation.
|
||||
Configure providers via @file{~/.codex/config.toml}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public codex-acp
|
||||
(package
|
||||
(name "codex-acp")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zed-industries/codex-acp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
|
||||
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
|
||||
"codex-acp-0.9.2-replace-result-flatten.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-codex-deps
|
||||
(lambda _
|
||||
;; Rewrite git dependencies to use vendored sources from rust-codex
|
||||
(substitute* "Cargo.toml"
|
||||
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
|
||||
"version = \"0.0.0\"")))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
|
||||
(home-page "https://github.com/zed-industries/codex-acp")
|
||||
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
|
||||
(description
|
||||
"This package provides an Agent Client Protocol (ACP) compatible agent
|
||||
that bridges the Zed Codex runtime with ACP clients over stdio. It
|
||||
supports multiple LLM providers through configuration in
|
||||
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
|
||||
operations.")
|
||||
(license license:asl2.0)))
|
||||
@@ -5,7 +5,7 @@
|
||||
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
|
||||
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2024, 2025 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2024, 2025, 2026 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
|
||||
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
|
||||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||||
@@ -197,42 +197,55 @@ Container Runtime fully written in C.")
|
||||
(define-public conmon
|
||||
(package
|
||||
(name "conmon")
|
||||
(version "2.1.13")
|
||||
(version "2.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/conmon")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/containers/conmon")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0fiixv9h5dycrixs7s3bq81d06p7qs8491mskxj42wqlkdq5diay"))
|
||||
(base32 "0n9l6030ibhk7pmsq85rarcf9b0kzglxibd1xnb6vzmkz3ywg1il"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" #$output))
|
||||
;; XXX: uses `go get` to download 50 packages, runs a ginkgo test suite
|
||||
;; then tries to download busybox and use a systemd logging library
|
||||
;; see also https://github.com/containers/conmon/blob/main/nix/derivation.nix
|
||||
#:tests? #f
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda _
|
||||
;; when running go, things fail because
|
||||
;; HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(add-before 'check 'prepare-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "RUNTIME_BINARY"
|
||||
(search-input-file inputs "sbin/runc"))
|
||||
|
||||
;; We need to skip all tests requiring journald.
|
||||
(for-each
|
||||
(lambda (test file)
|
||||
(substitute* file
|
||||
(((string-append "@test \"" test "\" \\{\n$") all)
|
||||
(string-append all "skip 'no journald in Guix';"))))
|
||||
'("log driver as journald should pass"
|
||||
"log driver as journald with short cid should fail"
|
||||
"multiple log drivers should pass"
|
||||
"log management: should work with multiple log drivers")
|
||||
'("test/01-basic.bats"
|
||||
"test/01-basic.bats"
|
||||
"test/01-basic.bats"
|
||||
"test/06-log-management.bats")))))))
|
||||
(inputs
|
||||
(list crun
|
||||
glib
|
||||
libseccomp))
|
||||
(native-inputs
|
||||
(list git
|
||||
go
|
||||
pkg-config))
|
||||
(list bats
|
||||
git
|
||||
go-md2man
|
||||
pkg-config
|
||||
socat
|
||||
runc))
|
||||
(home-page "https://github.com/containers/conmon")
|
||||
(synopsis "Monitoring tool for Open Container Initiative (OCI) runtime")
|
||||
(description
|
||||
@@ -532,7 +545,7 @@ Layer-4 sockets.")
|
||||
(define-public cni-plugins
|
||||
(package
|
||||
(name "cni-plugins")
|
||||
(version "1.8.0")
|
||||
(version "1.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -541,7 +554,7 @@ Layer-4 sockets.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bwczkf4kbrx47sa6mnp5kyn65dbg52qnlfyjyydrwshal8rz3gw"))
|
||||
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")))))
|
||||
@@ -549,19 +562,10 @@ Layer-4 sockets.")
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:tests? #f ; TODO: Figure out how to run tests.
|
||||
#:import-path "github.com/containernetworking/plugins"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
;; XXX: Migrate to go-build-system logic.
|
||||
(invoke "./build_linux.sh"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(copy-recursively (string-append "src/"import-path "/bin")
|
||||
(string-append #$output "/bin")))))))
|
||||
;; XXX: Tests require root access, see test_linux.sh.
|
||||
#:tests? #f
|
||||
#:import-path "github.com/containernetworking/plugins/plugins/..."
|
||||
#:unpack-path "github.com/containernetworking/plugins"))
|
||||
(native-inputs
|
||||
(list go-github-com-alexflint-go-filemutex
|
||||
go-github-com-buger-jsonparser
|
||||
@@ -593,7 +597,7 @@ configure network interfaces in Linux containers.")
|
||||
(define-public gvisor-tap-vsock
|
||||
(package
|
||||
(name "gvisor-tap-vsock")
|
||||
(version "0.8.7")
|
||||
(version "0.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -602,7 +606,7 @@ configure network interfaces in Linux containers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1p9vypphssvqfcm3y2nc7b9v0wcc2smkrqq8k60vskaiza89974k"))
|
||||
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -645,7 +649,9 @@ configure network interfaces in Linux containers.")
|
||||
go-github-com-containers-winquit
|
||||
go-github-com-coreos-stream-metadata-go
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-foxcpp-go-mockdns
|
||||
go-github-com-google-gopacket
|
||||
go-github-com-inetaf-tcpproxy
|
||||
go-github-com-insomniacslk-dhcp
|
||||
;; go-github-com-linuxkit-virtsock ;Windows only
|
||||
go-github-com-mdlayher-vsock
|
||||
@@ -654,7 +660,6 @@ configure network interfaces in Linux containers.")
|
||||
go-github-com-onsi-ginkgo
|
||||
go-github-com-onsi-gomega
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-packets
|
||||
go-github-com-songgao-water
|
||||
@@ -664,6 +669,7 @@ configure network interfaces in Linux containers.")
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gopkg-in-yaml-v3
|
||||
go-gvisor-dev-gvisor))
|
||||
(home-page "https://github.com/containers/gvisor-tap-vsock")
|
||||
(synopsis "Network stack for virtualization based on gVisor")
|
||||
@@ -708,7 +714,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
|
||||
(define-public podman
|
||||
(package
|
||||
(name "podman")
|
||||
(version "5.8.0")
|
||||
(version "5.8.1")
|
||||
(outputs '("out" "docker"))
|
||||
(properties
|
||||
`((output-synopsis "docker" "docker alias for podman")
|
||||
@@ -721,7 +727,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
|
||||
(url "https://github.com/containers/podman")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0vyl6d198iqrxx3c5vgbdx95fxkmn9fcb0napq44h8bzvjcl9fnj"))
|
||||
(base32 "1wdsdc0nj4m1v8mn95dhavi87ad0adqmld70da59gvp2abff5f0f"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -879,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
|
||||
(define-public buildah
|
||||
(package
|
||||
(name "buildah")
|
||||
(version "1.42.1")
|
||||
(version "1.43.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -887,7 +893,7 @@ being rootless and not requiring any daemon to be running.")
|
||||
(url "https://github.com/containers/buildah")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1agblw09yw4pc81c2nsjy3j83gznn4micyjyrgpqxlmp93w5w5h0"))
|
||||
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -2763,45 +2763,39 @@ comma separated value (CSV) files.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public immer
|
||||
;; Use latest commit to fix build with gcc 14.
|
||||
(let ((commit "df6ef46d97e1fe81f397015b9aeb32505cef653b")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "immer")
|
||||
(version (git-version "0.8.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arximboldi/immer")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "032rb84ahvdnc1m6sj4lflrwnk4p1f2jsq1pv03xbgizp2lr2pkx"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; -Werror appears to report false positives.
|
||||
;; See <https://github.com/arximboldi/immer/issues/223>.
|
||||
#:configure-flags #~'("-DDISABLE_WERROR=ON")
|
||||
#:modules `((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
|
||||
(inputs (list boost libgc c-rrb))
|
||||
(native-inputs (list catch2-3 doctest fmt pkg-config))
|
||||
(home-page "https://sinusoid.es/immer")
|
||||
(synopsis "Immutable data structures")
|
||||
(description "Immer is a library of persistent and immutable data structures
|
||||
(package
|
||||
(name "immer")
|
||||
(version "0.9.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arximboldi/immer")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04ckvmi391pspqiglzgi8h57gwr8822xhlrg5qdxf5yg6scgkfj2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules `((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
|
||||
(inputs (list boost libgc c-rrb))
|
||||
(native-inputs (list catch2-3 doctest fmt pkg-config))
|
||||
(home-page "https://sinusoid.es/immer")
|
||||
(synopsis "Immutable data structures")
|
||||
(description "Immer is a library of persistent and immutable data structures
|
||||
written in C++.")
|
||||
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
|
||||
(license license:boost1.0))))
|
||||
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public zug
|
||||
(package
|
||||
(name "zug")
|
||||
(version "0.1.1")
|
||||
(version "0.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2809,7 +2803,7 @@ written in C++.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06vsbzx4ripidpb6ia7y1y8pmjk6gxzr93ilby90ahj6p2x08baf"))
|
||||
(base32 "1fy6wvvlp1253lzh66zcq5sp656jxvanxf7iq8pi37ymjq5fyynh"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-file-recursively "tools"))))
|
||||
(build-system cmake-build-system)
|
||||
@@ -2831,7 +2825,7 @@ composable sequential transformations.")
|
||||
(define-public lager
|
||||
(package
|
||||
(name "lager")
|
||||
(version "0.1.1")
|
||||
(version "0.1.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2839,7 +2833,7 @@ composable sequential transformations.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1by9d49qnkncifyjcq16zy605d7v4ps6hvc01q5nsp1nbswm94m4"))))
|
||||
(base32 "123a75qklhiyic3yaj74h4p8jav2m92x9ssjnfsdiilhycp4p764"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no")
|
||||
#:modules `((guix build cmake-build-system)
|
||||
|
||||
@@ -77,13 +77,10 @@ command-line environment with support for file manipulation on remote WebDAV
|
||||
servers.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; This package isn't reproducible due to non-deterministic behaviour in a
|
||||
;; procedural macros that's provided by a crate used by pimsync.
|
||||
;; See https://github.com/stalwartlabs/hashify/issues/4
|
||||
(define-public pimsync
|
||||
(package
|
||||
(name "pimsync")
|
||||
(version "0.5.6")
|
||||
(version "0.5.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -92,13 +89,20 @@ servers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01qxg0mk7if96rmb0q88wgjpnv1fb8iw2dbzwlm0ars1mi3xpmr3"))))
|
||||
(base32 "0x90l9k3sfnszrvmzqclykpv2py33v9jh92ps68wdd7xkrjp42ga"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-guix-vendored-dependencies
|
||||
(lambda _
|
||||
(substitute* "Cargo.toml"
|
||||
(("^\\[patch.crates-io\\]")
|
||||
"")
|
||||
(("^hashify.*$")
|
||||
"hashify = { version = \"*\" }\n"))))
|
||||
(add-after 'unpack 'setup-environment
|
||||
(lambda _
|
||||
(setenv "PIMSYNC_VERSION"
|
||||
|
||||
@@ -237,8 +237,7 @@ blurred background.")
|
||||
(base32 "09vb9b0pmyhj6fh0b6by59bykszbkdayhz678pnb4pyrdmlvv1am"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
(srfi srfi-26))
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
@@ -357,97 +357,3 @@ and white.")
|
||||
and background layers of images, which can then be encoded into a DjVu file.")
|
||||
(home-page "https://jwilk.net/software/didjvu")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public ocrodjvu
|
||||
(let ((revision "0")
|
||||
(commit "0dd3364462fc77d5674b4457fcc8230835323c30"))
|
||||
(package
|
||||
(name "ocrodjvu")
|
||||
(version (git-version "0.12" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
;; Use the following fork repository, as upstream
|
||||
;; doesn't seem too concerned with Python 3
|
||||
;; compatibility.
|
||||
(url "https://github.com/rmast/ocrodjvu")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x64hg9ysrk8sismxb4jgk0sq7r9j90v2i9765xhmxpiy6f0lpni"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build pyproject-build-system) #:prefix python:)
|
||||
(guix build utils))
|
||||
#:imported-modules `(,@%default-gnu-imported-modules
|
||||
,@%pyproject-build-system-modules)
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-for-python-3.11
|
||||
(lambda _
|
||||
(substitute* "lib/cli/ocrodjvu.py"
|
||||
;; The getargspec function has been removed in python 3.11.
|
||||
(("init_args, _, _, _ = inspect.getargspec\\(cls.__init__\\)")
|
||||
"init_args = inspect.getfullargspec(cls.__init__).args"))))
|
||||
(add-before 'check 'disable-failing-test
|
||||
(lambda _
|
||||
(substitute* "tests/test_ipc.py"
|
||||
;; test_wait_signal gets stuck forever
|
||||
(("yield self\\._test_signal, name")
|
||||
"return True")
|
||||
;; test_path fails to find a file it should have created
|
||||
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
|
||||
"return True"))
|
||||
;; Disable tests with tesseract. They can't work without
|
||||
;; the language files that must downloaded by the final user
|
||||
;; as they are not packaged in Guix.
|
||||
(substitute* "tests/ocrodjvu/test.py"
|
||||
(("engines = stdout\\.getvalue\\(\\)\\.splitlines\\(\\)")
|
||||
"engines = ['ocrad']"))
|
||||
(substitute* "tests/ocrodjvu/test_integration.py"
|
||||
(("engines = 'tesseract', 'cuneiform', 'gocr', 'ocrad'")
|
||||
"engines = 'ocrad'"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "make" "install"
|
||||
"DESTDIR=" (string-append "PREFIX=" #$output))))
|
||||
(add-after 'install 'wrap-python
|
||||
(assoc-ref python:%standard-phases 'wrap))
|
||||
(add-after 'wrap-python 'wrap-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
(wrap-program (search-input-file outputs file)
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append
|
||||
#$(this-package-input "djvulibre") "/bin:"
|
||||
#$(this-package-input "ocrad") "/bin:"
|
||||
#$(this-package-input "tesseract-ocr")
|
||||
"/bin")))))
|
||||
'("bin/djvu2hocr"
|
||||
"bin/hocr2djvused"
|
||||
"bin/ocrodjvu")))))))
|
||||
(native-inputs
|
||||
(list (libc-utf8-locales-for-target) libxml2 python-pynose python-pillow))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
djvulibre
|
||||
ocrad
|
||||
python-djvulibre
|
||||
python-future
|
||||
python-html5lib
|
||||
python-lxml
|
||||
python-pyicu
|
||||
python-regex
|
||||
python-wrapper
|
||||
tesseract-ocr))
|
||||
(synopsis "Program to perform OCR on DjVu files")
|
||||
(description
|
||||
"@code{ocrodjvu} is a wrapper for OCR systems, that allows you to perform
|
||||
OCR on DjVu files.")
|
||||
(home-page "https://jwilk.net/software/ocrodjvu")
|
||||
(license license:gpl2))))
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
|
||||
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -38,6 +39,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
@@ -54,94 +56,12 @@
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public d-tools
|
||||
(package
|
||||
(name "d-tools")
|
||||
(version "2.105.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/tools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(mkdir-p "bin")
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
(setenv "LD" #$(ld-for-target))
|
||||
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
|
||||
(apply invoke "ldc2" "--of=bin/dustmite"
|
||||
(find-files "DustMite" ".*\\.d"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
|
||||
"--rdmd-default-compiler" "ldmd2"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(man (string-append out "/man")))
|
||||
(for-each delete-file (find-files "bin" "\\.o$"))
|
||||
(copy-recursively "bin" bin)
|
||||
(copy-recursively "man" man)))))))
|
||||
(native-inputs
|
||||
(list ldc
|
||||
(module-ref (resolve-interface
|
||||
'(gnu packages commencement))
|
||||
'ld-gold-wrapper)))
|
||||
(home-page "https://github.com/dlang/tools")
|
||||
(synopsis "Useful D-related tools")
|
||||
(description
|
||||
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
|
||||
which runs D source files as scripts, and @code{dustmite}, which reduces D code
|
||||
to a minimal test case.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
;; Compilers and tooling for the D programming language.
|
||||
;; Note: The GNU D compiler is defined in (gnu packages gcc) instead.
|
||||
|
||||
(define-public gdmd
|
||||
(let ((commit "ff2c97a47408fb71c18a2d453294d18808a97cc5")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "gdmd")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/D-Programming-GDC/gdmd")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0pd70clk70069xcjysaas7zszzmigrcw1zl2xxv8kzdg7y7xrzvm"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("dmd-script" "bin/gdmd")
|
||||
("dmd-script.1" "share/man/man1/gdmd.1"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-gdc-location
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "dmd-script"
|
||||
(("my \\$gdc_dir.*")
|
||||
(string-append "my $gdc_dir = \""
|
||||
(dirname (search-input-file inputs "/bin/gdc"))
|
||||
"\";\n"))))))))
|
||||
(inputs (list gdc perl))
|
||||
(home-page "https://github.com/D-Programming-GDC/gdmd")
|
||||
(synopsis "DMD-like wrapper for GDC")
|
||||
(description "This package provides a DMD-like wrapper for the
|
||||
@acronym{GNU D Compiler,GDC}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
;; LLVM-based D compiler
|
||||
|
||||
;; We use GDC, the D frontend for GCC, to bootstrap ldc. We then use
|
||||
;; ldc to bootstrap itself so that no reference remains to GDC.
|
||||
@@ -409,8 +329,12 @@ integration tests...\n")
|
||||
(properties
|
||||
(alist-delete 'hidden? (package-properties ldc-bootstrap)))))
|
||||
|
||||
;;; Bootstrap version of phobos that is built with GDC, using GDC's standard
|
||||
;;; library.
|
||||
|
||||
;; Reference D compiler
|
||||
;; Note: Has limited supported-systems.
|
||||
|
||||
;; DMD built with GDC as the bootstrap D compiler (via the gdmd wrapper).
|
||||
;; Shared libraries are not built, tests are disabled.
|
||||
(define-public dmd-bootstrap
|
||||
(package
|
||||
;; This package is purposefully named just "dmd" and not "dmd-bootstrap",
|
||||
@@ -418,16 +342,16 @@ integration tests...\n")
|
||||
;; and their names must have the same length to avoid corrupting the
|
||||
;; binary.
|
||||
(name "dmd")
|
||||
(version "2.106.1")
|
||||
(version "2.111.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/dmd")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/dlang/dmd")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "dmd" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bq4jws1vns2jjzfz7biyngrx9y5pvvgklymhrvb5kvbzky1ldmy"))))
|
||||
"0cz5qdd1j89w2s7nzw9ahzwsqiraidg4ajy7syy7qkk7mwcyrf6r"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -436,111 +360,198 @@ integration tests...\n")
|
||||
;; Disable tests, as gdmd cannot cope with some arguments used such as
|
||||
;; '-conf'.
|
||||
#:tests? #f
|
||||
#:out-of-source? #t
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
;; XXX: Proceed despite conflicts from symbols provided by both
|
||||
;; the source built and GDC.
|
||||
"DFLAGS=-L--allow-multiple-definition"
|
||||
"ENABLE_RELEASE=1"
|
||||
(string-append "HOST_CXX=" #$(cxx-for-target))
|
||||
"HOST_DMD=gdmd"
|
||||
(string-append "INSTALL_DIR=" #$output)
|
||||
(string-append "SYSCONFDIR=" #$output "/etc")
|
||||
"ENABLE_RELEASE=1"
|
||||
;; Do not build the shared libphobos2.so library, to avoid
|
||||
;; retaining a reference to gcc:lib.
|
||||
"SHARED=0"
|
||||
(string-append "SYSCONFDIR=" #$output "/etc")
|
||||
"VERBOSE=1"
|
||||
"-f" "posix.mak")
|
||||
"VERBOSE=1")
|
||||
#:modules
|
||||
`(,@%default-gnu-modules
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-phobos-source-and-chdir
|
||||
;; Start with building phobos, which in turns will automatically
|
||||
;; build druntime and dmd. A minimal dmd command is still
|
||||
;; required to do so, which is why we need dmd-bootstrap-0.
|
||||
(lambda _
|
||||
(symlink "." "dmd") ;to please the build system expected layout
|
||||
(copy-recursively
|
||||
#$(this-package-native-input (git-file-name "phobos" version))
|
||||
"phobos")
|
||||
(chdir "phobos")))
|
||||
(add-after 'copy-phobos-source-and-chdir 'adjust-phobos-install-dirs
|
||||
(lambda _
|
||||
(substitute* "posix.mak"
|
||||
;; Install to lib directory, not to e.g. 'linux/lib64'.
|
||||
(("\\$\\(INSTALL_DIR)/\\$\\(OS)/\\$\\(lib_dir)")
|
||||
(string-append #$output "/lib"))
|
||||
;; Do not install license file, already done by the gnu build
|
||||
;; system.
|
||||
((".*\\$\\(INSTALL_DIR)/phobos-LICENSE.txt.*") ""))))
|
||||
(delete 'configure)
|
||||
(add-after 'install 'install-druntime
|
||||
(lambda args
|
||||
(chdir "../druntime")
|
||||
(apply (assoc-ref %standard-phases 'install) args)
|
||||
(chdir "..")))
|
||||
(add-after 'install-druntime 'install-includes
|
||||
(lambda _
|
||||
;; Normalize the include files prefix to include/dmd.
|
||||
(let ((include-dir (string-append #$output "/include/dmd")))
|
||||
(mkdir-p include-dir)
|
||||
(rename-file (string-append #$output "/src/phobos")
|
||||
(string-append include-dir))
|
||||
(copy-recursively "druntime/import" include-dir))
|
||||
(delete-file-recursively (string-append #$output "/src"))))
|
||||
(add-after 'install-druntime 'install-dmd
|
||||
(assoc-ref %standard-phases 'install))
|
||||
(add-after 'install-license-files 'refine-install-layout
|
||||
(lambda _
|
||||
(let* ((docdir (string-append #$output "/share/doc/"
|
||||
(strip-store-file-name #$output)))
|
||||
;; The dmd binary gets installed to
|
||||
;; e.g. /linux/bin64/dmd.
|
||||
(dmd (car (find-files #$output "^dmd$")))
|
||||
(dmd.conf (car (find-files #$output "^dmd.conf$")))
|
||||
(os-dir (dirname (dirname dmd))))
|
||||
;; Move samples from root to the doc directory.
|
||||
(rename-file (string-append #$output "/samples")
|
||||
(string-append docdir "/samples"))
|
||||
;; Remove duplicate license file.
|
||||
(delete-file (string-append #$output
|
||||
"/dmd-boostlicense.txt"))
|
||||
;; Move dmd binary and dmd.conf.
|
||||
(install-file dmd (string-append #$output "/bin"))
|
||||
(install-file dmd.conf (string-append #$output "/etc"))
|
||||
(delete-file-recursively os-dir))))
|
||||
(add-after 'refine-install-layout 'patch-dmd.conf
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* (search-input-file outputs "etc/dmd.conf")
|
||||
(("lib(32|64)")
|
||||
"lib")
|
||||
(("\\.\\./src/(phobos|druntime/import)")
|
||||
"include/dmd")))))))
|
||||
(native-inputs (list gdmd which
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/phobos")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "phobos" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yw7nb5d78cx9m7sfibv7rfc7wj3w0dw9mfk3d269qpfpnwzs4n9")))))
|
||||
(home-page "https://github.com/dlang/dmd")
|
||||
#~(let* ((phase-in-sub-dir (lambda (phase sub-dir)
|
||||
(lambda args
|
||||
(with-directory-excursion sub-dir
|
||||
(apply
|
||||
(assoc-ref %standard-phases phase)
|
||||
args)))))
|
||||
(target-bin-sh (string-append
|
||||
#$(this-package-input "bash-minimal")
|
||||
"/bin/sh")))
|
||||
(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(let ((dmd-source source)
|
||||
(phobos-source #$(this-package-native-input
|
||||
(git-file-name "phobos" version))))
|
||||
(mkdir "source")
|
||||
(chdir "source")
|
||||
(copy-recursively dmd-source "dmd" #:keep-mtime? #t)
|
||||
(copy-recursively phobos-source "phobos" #:keep-mtime? #t)
|
||||
(for-each (lambda (f)
|
||||
(false-if-exception (make-file-writable f)))
|
||||
(find-files ".")))))
|
||||
(add-after 'unpack 'patch-git-ls-tree
|
||||
;; The druntime Makefile tries to use git ls-tree to get all
|
||||
;; source files in dmd/druntime/. We replace the command with a
|
||||
;; listing of those files.
|
||||
(lambda _
|
||||
(with-directory-excursion "dmd/druntime"
|
||||
(substitute* "Makefile"
|
||||
(("^MANIFEST *:*=.*$")
|
||||
(string-append "MANIFEST := "
|
||||
(string-join (map (cut string-drop <> 2)
|
||||
(find-files "./")))
|
||||
"\n"))))))
|
||||
(add-after 'unpack 'patch-paths-in-phobos
|
||||
(lambda _
|
||||
(with-directory-excursion "phobos"
|
||||
;; (substitute* "std/datetime/timezone.d"
|
||||
;; (("\"/usr/share/zoneinfo/\"")
|
||||
;; (format #f "~s" target-zoneinfo)))
|
||||
;; (substitute* "std/net/curl.d"
|
||||
;; (("\"libcurl\\.so\"")
|
||||
;; (format #f "~s" target-lib-curl)))
|
||||
(substitute* "std/process.d"
|
||||
(("return \"/bin/sh\";")
|
||||
(format #f "return ~s;" target-bin-sh))
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" target-bin-sh))))))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
;; Since the implementation of SOURCE_DATE_EPOCH support in
|
||||
;; Ddoc, this test fails, as it expects Ddoc timestamps to
|
||||
;; match the output of the `date` command.
|
||||
;; XXX: Report upstream.
|
||||
(substitute* (string-append
|
||||
"dmd/compiler/test/compilable"
|
||||
"/extra-files/ddocYear-postscript.sh")
|
||||
(("^YEAR=.*$") "YEAR=1970\n"))
|
||||
|
||||
;; This test creates a shell script and runs it.
|
||||
(substitute* "dmd/compiler/test/dshell/test6952.d"
|
||||
(("/usr/bin/env bash") target-bin-sh))
|
||||
|
||||
;; In the sarif json output, the compiler version string ends
|
||||
;; with a raw newline for some reason, causing these tests to
|
||||
;; fail.
|
||||
(for-each
|
||||
delete-file
|
||||
'("dmd/compiler/test/compilable/sarif_success_test.d"
|
||||
"dmd/compiler/test/fail_compilation/sarif_test.d"
|
||||
"dmd/compiler/test/fail_compilation/sarifmultiple_test.d"))
|
||||
|
||||
;; tries to debug 64bit executable
|
||||
;; not in executable format: file format not recognized
|
||||
#$@(if (target-32bit?)
|
||||
'((delete-file
|
||||
"dmd/compiler/test/runnable/gdb_slice_debuginfo_64.d"))
|
||||
'())
|
||||
|
||||
;; Locations in stack traces are broken for some reason,
|
||||
;; causing these tests to fail.
|
||||
;; XXX: Report upstream.
|
||||
(for-each
|
||||
delete-file
|
||||
'("dmd/compiler/test/runnable/test17559.d"
|
||||
"dmd/compiler/test/runnable/test19086.d"))
|
||||
(substitute* "dmd/druntime/test/exceptions/Makefile"
|
||||
(((string-append "line_trace line_trace_21656 "
|
||||
"long_backtrace_trunc rt_trap_exceptions "))
|
||||
""))
|
||||
(substitute* "dmd/druntime/test/gc/Makefile"
|
||||
((" invariant ") " "))))
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(phase-in-sub-dir 'build "dmd"))
|
||||
(add-after 'build 'build-phobos
|
||||
(phase-in-sub-dir 'build "phobos"))
|
||||
(replace 'check
|
||||
(phase-in-sub-dir 'check "dmd"))
|
||||
(add-after 'check 'check-phobos
|
||||
(phase-in-sub-dir 'check "phobos"))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((platform (cond (#$(target-linux?) "linux")))
|
||||
(bits (if #$(target-64bit?) 64 32))
|
||||
(build-sub-dir (format #f "generated/~a/release/~a"
|
||||
platform bits))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(lib (assoc-ref outputs "lib"))
|
||||
(out-bin (string-append out "/bin"))
|
||||
(out-etc (string-append out "/etc"))
|
||||
(out-include (string-append out "/include/d/dmd"))
|
||||
(out-lib (string-append out "/lib"))
|
||||
(lib-lib (string-append lib "/lib"))
|
||||
(out-man (string-append out "/share/man")))
|
||||
(with-directory-excursion "dmd"
|
||||
(with-directory-excursion build-sub-dir
|
||||
(install-file "dmd" out-bin)
|
||||
(install-file "libdruntime.a" out-lib)
|
||||
(for-each (cut install-file <> lib-lib)
|
||||
(find-files "." "^libdruntime\\.so[.0-9]*$")))
|
||||
(copy-recursively "druntime/import" out-include)
|
||||
(copy-recursively "compiler/docs/man" out-man))
|
||||
(with-directory-excursion "phobos"
|
||||
(with-directory-excursion build-sub-dir
|
||||
(install-file "libphobos2.a" out-lib)
|
||||
(for-each (cut install-file <> lib-lib)
|
||||
(find-files "." "^libphobos2\\.so[.0-9]*$")))
|
||||
(copy-recursively "etc" (string-append out-include "/etc"))
|
||||
(copy-recursively "std" (string-append out-include "/std")))
|
||||
(mkdir-p out-etc)
|
||||
(with-output-to-file (string-append out-etc "/dmd.conf")
|
||||
(lambda _
|
||||
(format #t "[Environment]\n")
|
||||
(format #t "DFLAGS=")
|
||||
(format #t " -I~a" out-include)
|
||||
(format #t " -L-L~a" out-lib)
|
||||
(format #t " -L-L~a" lib-lib)
|
||||
(format #t " -L--export-dynamic")
|
||||
(format #t " -fPIC")
|
||||
(format #t "\n"))))))
|
||||
(replace 'install-license-files
|
||||
;; Phobos license is identical.
|
||||
(phase-in-sub-dir 'install-license-files "dmd"))))))
|
||||
(inputs
|
||||
(list bash-minimal))
|
||||
(native-inputs
|
||||
(list gdmd which
|
||||
gdb/pinned ; for tests
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/phobos")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "phobos" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ydls3ar6d3f7ffqvidr46x3zrz3wlzjln5qa0nbz843ndjr4g7n")))))
|
||||
(outputs '("out" "lib" "debug"))
|
||||
(synopsis "Reference D Programming Language compiler")
|
||||
(description "@acronym{DMD, Digital Mars D compiler} is the reference
|
||||
compiler for the D programming language.")
|
||||
(license license:boost1.0)
|
||||
(home-page "https://github.com/dlang/dmd")
|
||||
;; As reported by upstream:
|
||||
;; https://wiki.dlang.org/Compilers#Comparison
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
|
||||
|
||||
;; This variant exists only for bootstrapping purposes.
|
||||
(properties '((hidden? . #t)))
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
(license license:boost1.0)))
|
||||
|
||||
;;; Second bootstrap of DMD, built using dmd-bootstrap, with its shared
|
||||
;;; libraries preserved.
|
||||
;; DMD built with dmd-bootstrap as the bootstrap D compiler.
|
||||
;; Shared libraries are built now, tests are no longer disabled.
|
||||
(define-public dmd
|
||||
(package
|
||||
(inherit dmd-bootstrap)
|
||||
@@ -549,41 +560,37 @@ compiler for the D programming language.")
|
||||
(strip-keyword-arguments
|
||||
'(#:tests?) ;reinstate tests
|
||||
(package-arguments dmd-bootstrap))
|
||||
((#:disallowed-references _ ''())
|
||||
((#:disallowed-references _ ''())
|
||||
(list dmd-bootstrap))
|
||||
((#:modules _ ''())
|
||||
'((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))) ;for fold
|
||||
((#:make-flags flags ''())
|
||||
#~(fold delete #$flags '("DFLAGS=-L--allow-multiple-definition"
|
||||
"HOST_DMD=gdmd"
|
||||
#~(fold delete #$flags '("HOST_DMD=gdmd"
|
||||
"SHARED=0")))
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'patch-dmd.conf 'rewrite-references-to-bootstrap
|
||||
;; DMD keeps references to include files used to build a
|
||||
;; binary. Rewrite those of dmd-bootstrap to itself, to reduce
|
||||
;; its closure size.
|
||||
(lambda* (#:key native-inputs inputs outputs
|
||||
#:allow-other-keys)
|
||||
(let ((dmd (search-input-file outputs "bin/dmd"))
|
||||
(dmd-bootstrap (dirname
|
||||
(dirname
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
"bin/dmd")))))
|
||||
;; XXX: Use sed, as replace-store-references wouldn't
|
||||
;; replace the references, while substitute* throws an
|
||||
;; error.
|
||||
(add-after 'install 'rewrite-references-to-bootstrap
|
||||
;; D compilers can keep references to the include files used to
|
||||
;; build a binary in exception messages. For dmd, rewrite the
|
||||
;; references to dmd-bootstrap to itself, to reduce its closure
|
||||
;; size.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((in-dmd-bootstrap #$(this-package-native-input "dmd"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(out-bin-dmd (string-append out "/bin/dmd")))
|
||||
;; XXX: Use sed, as replace-store-references wouldn't replace
|
||||
;; the references, while substitute* throws an error.
|
||||
(invoke "sed" "-i"
|
||||
(format #f "s,~a,~a,g" dmd-bootstrap #$output)
|
||||
dmd))))))))
|
||||
(native-inputs (modify-inputs (package-native-inputs dmd-bootstrap)
|
||||
(replace "gdmd" dmd-bootstrap)))
|
||||
(format #f "s,~a,~a,g" in-dmd-bootstrap out)
|
||||
out-bin-dmd))))))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs dmd-bootstrap)
|
||||
(delete "gdmd")
|
||||
(append dmd-bootstrap)))
|
||||
(properties
|
||||
(alist-delete 'hidden? (package-properties dmd-bootstrap)))))
|
||||
|
||||
|
||||
;; D related tools
|
||||
|
||||
(define-public dub
|
||||
(package
|
||||
(name "dub")
|
||||
@@ -634,6 +641,66 @@ while providing the opportunity to customize things when
|
||||
needed.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public d-tools
|
||||
(package
|
||||
(name "d-tools")
|
||||
(version "2.105.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/tools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
;; Skip broken make ONESHELL shell test.
|
||||
(substitute* "rdmd_test.d"
|
||||
(("makeVersion = .*$") "makeVersion = \"skip\";"))))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(mkdir-p "bin")
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
(setenv "LD" #$(ld-for-target))
|
||||
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
|
||||
(apply invoke "ldc2" "--of=bin/dustmite"
|
||||
(find-files "DustMite" ".*\\.d"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
|
||||
"--rdmd-default-compiler" "ldmd2"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(man (string-append out "/man")))
|
||||
(for-each delete-file (find-files "bin" "\\.o$"))
|
||||
(copy-recursively "bin" bin)
|
||||
(copy-recursively "man" man)))))))
|
||||
(native-inputs
|
||||
(list ldc
|
||||
(module-ref (resolve-interface
|
||||
'(gnu packages commencement))
|
||||
'ld-gold-wrapper)))
|
||||
(home-page "https://github.com/dlang/tools")
|
||||
(synopsis "Useful D-related tools")
|
||||
(description
|
||||
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
|
||||
which runs D source files as scripts, and @code{dustmite}, which reduces D code
|
||||
to a minimal test case.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
|
||||
;; D libraries
|
||||
|
||||
(define-public gtkd
|
||||
(package
|
||||
(name "gtkd")
|
||||
@@ -686,8 +753,8 @@ needed.")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lievenhey/d_demangler")
|
||||
(commit (string-append "version-" version))))
|
||||
(url "https://github.com/lievenhey/d_demangler")
|
||||
(commit (string-append "version-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -705,8 +772,8 @@ needed.")
|
||||
(install-file "libd_demangle.so"
|
||||
(string-append #$output "/lib")))))))
|
||||
(native-inputs (list dmd))
|
||||
(home-page "https://github.com/lievenhey/d_demangler")
|
||||
(synopsis "Utility to demangle D symbols")
|
||||
(description "@command{d_demangle} is a small utility that can be used to
|
||||
demangle D symbols. A shared library is also provided.")
|
||||
(license license:gpl3+)))
|
||||
(synopsis "D symbol demangling library")
|
||||
(description "@code{libd_demangle.so} is a small shared library that can be used to
|
||||
demangle D symbols. It exposes a C interface that wraps D's @code{std.demangle}.")
|
||||
(license license:gpl3+)
|
||||
(home-page "https://github.com/lievenhey/d_demangler")))
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023, 2024, 2025 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020-2025 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2021 Andrew Miloradovsky <andrew@interpretmath.pw>
|
||||
;;; Copyright © 2022 Christian Gelinek <cgelinek@radlogic.com.au>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
@@ -29,6 +29,7 @@
|
||||
;;; Copyright © 2025, 2026 Gabriel Wicki <gabriel@erlikon.ch>
|
||||
;;; Copyright © 2026 Thomas Kramer <thomas@f-si.org>
|
||||
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
|
||||
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -64,6 +65,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
@@ -76,11 +78,11 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages embedded)
|
||||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
@@ -93,37 +95,41 @@
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages libftdi)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-compression)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages serialization)
|
||||
@@ -132,16 +138,16 @@
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages toolkits)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define delkw (@@ (guix utils) delkw))
|
||||
|
||||
@@ -281,7 +287,7 @@ formal verification. This is the Yosyshq fork of ABC.")
|
||||
(define-public apycula
|
||||
(package
|
||||
(name "apycula")
|
||||
(version "0.28")
|
||||
(version "0.31")
|
||||
;; The pypi tar.gz file includes the necessary .pickle files, not available
|
||||
;; in the home-page repository.
|
||||
(source
|
||||
@@ -289,11 +295,24 @@ formal verification. This is the Yosyshq fork of ABC.")
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "apycula" version))
|
||||
(sha256
|
||||
(base32 "0llwcz4fji4sbdajlr43spf3mgdaw42rm15va1l9zb8314fn7wq1"))))
|
||||
(base32 "0pf43cd071kv5ann78hl5qrcj9vhndr46ds2g12sgnfjfvh6pfpg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ;requires Gowin EDA tools
|
||||
(inputs (list python-crc))
|
||||
(native-inputs (list python-setuptools))
|
||||
(arguments
|
||||
(list #:tests? #f ;requires Gowin EDA tools
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-setup
|
||||
(lambda _
|
||||
;; Acceptable, but degraded performance.
|
||||
(substitute* "setup.py"
|
||||
((".*fastcrc.*") ""))))))) ;TODO: Package python-fastcrc
|
||||
(propagated-inputs
|
||||
(list python-cattrs
|
||||
python-crcmod
|
||||
python-numpy
|
||||
python-msgpack
|
||||
python-msgspec))
|
||||
(native-inputs (list python-setuptools python-setuptools-scm))
|
||||
(home-page "https://github.com/YosysHQ/apicula/")
|
||||
(synopsis "Gowin FPGA bitstream format")
|
||||
(description
|
||||
@@ -335,6 +354,44 @@ supporting gerber, excellon and g-code. It is part of the RiNgDove EDA
|
||||
suite.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public charlib
|
||||
(package
|
||||
(name "charlib")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stineje/CharLib")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0phklm6wcpvwdfx00k0q8qvpvdqf6wjvzirkfji7vc7ils7wz2sl"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system pyproject-build-system)
|
||||
(inputs
|
||||
(list ngspice
|
||||
pyspice
|
||||
python-liberty-parser
|
||||
python-matplotlib
|
||||
python-numpy
|
||||
python-ply
|
||||
python-pyyaml
|
||||
python-requests
|
||||
python-schema
|
||||
python-scipy
|
||||
python-tqdm))
|
||||
(native-inputs
|
||||
(list python-poetry-core
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(home-page "https://stineje.github.io/CharLib")
|
||||
(synopsis "CMOS standard-cell characterization")
|
||||
(description
|
||||
"@code{Charlib} is an @acronym{EDA, Electronic Design Automation} tool used to
|
||||
extract timing and power characteristics from CMOS combinational and sequential
|
||||
standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public ciel
|
||||
(package
|
||||
(name "ciel")
|
||||
@@ -677,6 +734,57 @@ Simulator Trace} files.")
|
||||
;; Exception against free government use in tcl_np.c and tcl_np.h.
|
||||
(license (list license:gpl2+ license:expat license:tcl/tk)))))
|
||||
|
||||
(define-public horizon-eda
|
||||
(package
|
||||
(name "horizon-eda")
|
||||
(version "2.7.2")
|
||||
;; TODO: try to unbundle some of the 3rd parties.
|
||||
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/horizon-eda/horizon")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16q22yf407820430cva8i2b3dcmwpjdsbx0wlarj8v2mj5ixs932"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:glib-or-gtk? #t))
|
||||
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
pkg-config))
|
||||
(inputs (list boost
|
||||
cairomm
|
||||
cppzmq
|
||||
curl
|
||||
glib
|
||||
glibmm
|
||||
glm
|
||||
gsettings-desktop-schemas
|
||||
gtk+
|
||||
gtkmm-3
|
||||
libarchive
|
||||
libgit2-glib
|
||||
librsvg
|
||||
libspnav
|
||||
libzip
|
||||
opencascade-occt
|
||||
podofo
|
||||
sqlite
|
||||
`(,util-linux "lib")
|
||||
zeromq))
|
||||
(home-page "https://horizon-eda.org/")
|
||||
(synopsis "@acronym{PCB, Printed Circuit Board} design tool")
|
||||
(description "Horizon is an @acronym{EDA, Electronic Design Automation}
|
||||
package supporting an integrated end-to-end workflow for PCB design, including
|
||||
from parts management and schematic entry to gerber export.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public iverilog
|
||||
(package
|
||||
(name "iverilog")
|
||||
@@ -797,71 +905,10 @@ iCE40 FPGAs and providing simple tools for analyzing and creating bitstream
|
||||
files.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public json-for-vhdl
|
||||
;; No tagged releases.
|
||||
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "json-for-vhdl")
|
||||
(version (git-version "20220905" revision commit)) ;last revision
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("src" "share/json-for-vhdl/work/src"
|
||||
#:include ("vhdl")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The examples/Encodings_VUnit test requires vhdl builtins.
|
||||
(add-after 'unpack 'fix-check
|
||||
(lambda _
|
||||
(substitute* "tests/VUnit/run.py"
|
||||
(("from_argv\\(\\)")
|
||||
"from_argv()\nvu.add_vhdl_builtins()")))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "FW_JSON_VHDL")
|
||||
(separator #f)
|
||||
(files (list "share/json-for-vhdl")))))
|
||||
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(synopsis "Parse and query JSON data structures in VHDL")
|
||||
(description
|
||||
"The JSON-for-VHDL library provides a parser to query JSON data
|
||||
structures from external files on disk. It provides a context to be
|
||||
used in the declarative section of design units.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
;;; Required by python-vunit.
|
||||
(define json-for-vhdl-for-vunit
|
||||
(let ((commit "95e848b8902c6b4275d715462e1a2cc60706917c") ;sync with vunit
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit json-for-vhdl)
|
||||
(name "json-for-vhdl-for-vunit")
|
||||
(version (git-version "20220106" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c106hm0sfnzdi5j9vaacjlz7i5m1dm75j7lrgcdsa4siw5ac7k3")))))))
|
||||
|
||||
(define-public klayout
|
||||
(package
|
||||
(name "klayout")
|
||||
(version "0.30.6") ;keep in sync with python-klayout
|
||||
(version "0.30.7")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -870,7 +917,7 @@ used in the declarative section of design units.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))))
|
||||
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1010,6 +1057,155 @@ It simulates the netlists of the cells with ngspice and writes the
|
||||
characterization result in a liberty library file.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public lepton-eda
|
||||
(package
|
||||
(name "lepton-eda")
|
||||
(version "1.9.18-20220529")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lepton-eda/lepton-eda/")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; When running "make", the POT files are built with the build time as
|
||||
;; their "POT-Creation-Date". Later on, "make" notices that .pot
|
||||
;; files were updated and goes on to run "msgmerge"; as a result, the
|
||||
;; non-deterministic POT-Creation-Date finds its way into .po files,
|
||||
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
|
||||
;; never runs. See <https://bugs.debian.org/792687>.
|
||||
"ac_cv_path_MSGMERGE=true"
|
||||
(string-append "--with-pcb-datadir="
|
||||
#$(this-package-input "pcb")
|
||||
"/share")
|
||||
(string-append "--with-pcb-lib-path="
|
||||
#$(this-package-input "pcb")
|
||||
"/share/pcb/pcblib-newlib:"
|
||||
#$(this-package-input "pcb")
|
||||
"/share/pcb/newlib")
|
||||
"--with-gtk3"
|
||||
"CFLAGS=-fcommon"
|
||||
"--enable-guild"
|
||||
"--enable-contrib")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
;; For logs and auto-compilation
|
||||
(setenv "HOME" "/tmp")
|
||||
|
||||
;; Ensure that readline is found by lepton-shell
|
||||
(substitute* "script.in"
|
||||
(("\\(eval-when \\(expand load eval\\)" m)
|
||||
(string-append "
|
||||
(add-to-load-path \"" #$(this-package-input "guile-readline")
|
||||
"/share/guile/site/3.0\")
|
||||
(set! %load-compiled-path (cons \""
|
||||
#$(this-package-input "guile-readline")
|
||||
"/lib/guile/3.0/site-ccache/"
|
||||
"\" %load-compiled-path))
|
||||
" m)))))
|
||||
(add-before 'build 'fix-dynamic-link
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
|
||||
(("\"liblepton\"")
|
||||
(string-append "\"" #$output "/lib/liblepton.so" "\""))
|
||||
(("\"libleptonattrib\"")
|
||||
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
|
||||
(("\"libleptongui\"")
|
||||
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
|
||||
(("\"libglib-2.0\"")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
|
||||
(("\"libgobject-2.0\"")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
|
||||
(("\"libgtk-3\"")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
|
||||
|
||||
;; For finding libraries when running tests before installation.
|
||||
(setenv "LIBLEPTONGUI"
|
||||
(string-append (getcwd)
|
||||
"/libleptongui/src/.libs/libleptongui.so"))
|
||||
(setenv "LIBLEPTON"
|
||||
(string-append (getcwd)
|
||||
"/libleptongui/src/.libs/liblepton.so"))
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append (getcwd)
|
||||
"/libleptonattrib/src/.libs/:"
|
||||
(getenv "LIBRARY_PATH")))))
|
||||
(add-before 'bootstrap 'prepare
|
||||
(lambda _
|
||||
;; Some of the scripts there are invoked by autogen.sh.
|
||||
(for-each patch-shebang
|
||||
(find-files "build-tools"))
|
||||
|
||||
;; Make sure 'msgmerge' can modify the PO files.
|
||||
(for-each (lambda (po)
|
||||
(chmod po #o666))
|
||||
(find-files "." "\\.po$"))
|
||||
|
||||
;; This would normally be created by invoking 'git', but it
|
||||
;; doesn't work here.
|
||||
(call-with-output-file "version.h"
|
||||
(lambda (port)
|
||||
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
|
||||
#$(string-drop version
|
||||
(+ 1
|
||||
(string-index version #\-))))
|
||||
(format port
|
||||
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
|
||||
#$(string-take version
|
||||
(string-index version #\-)))
|
||||
(format port
|
||||
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
|
||||
(add-after 'install 'compile-scheme-files
|
||||
(lambda _
|
||||
(unsetenv "LIBLEPTONGUI")
|
||||
(unsetenv "LIBLEPTON")
|
||||
(unsetenv "LD_LIBRARY_PATH")
|
||||
(invoke "make" "precompile"))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
desktop-file-utils
|
||||
flex
|
||||
gettext-minimal
|
||||
groff
|
||||
gawk
|
||||
libtool
|
||||
pkg-config
|
||||
m4
|
||||
perl
|
||||
texinfo))
|
||||
(inputs
|
||||
(list glib
|
||||
gtk+
|
||||
gtksheet
|
||||
guile-3.0
|
||||
guile-readline
|
||||
pcb
|
||||
shared-mime-info))
|
||||
(home-page "https://lepton-eda.github.io/")
|
||||
(synopsis
|
||||
"Suite of tools for designing @acronym{PCB, Printed Circuit Boards}")
|
||||
(description
|
||||
"Lepton is an @acronym{EDA, Electronic Design Automation} tool set
|
||||
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
|
||||
design, schematic capture, simulation, prototyping, and production. Lepton
|
||||
EDA includes tools for schematic capture, attribute management, bill of
|
||||
materials (BOM) generation, netlisting into over 20 netlist formats, analog
|
||||
and digital simulation, and PCB layout, and many other features.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public libngspice
|
||||
;; Note: The ngspice's build system does not allow us to build both the
|
||||
;; library and the executables in one go. Thus, we have two packages.
|
||||
@@ -1062,7 +1258,7 @@ an embedded event driven algorithm.")
|
||||
(define-public librelane
|
||||
(package
|
||||
(name "librelane")
|
||||
(version "3.0.0rc0")
|
||||
(version "3.0.0rc1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1071,7 +1267,7 @@ an embedded event driven algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hi4ppdwl1zh7yw1ncy1jrqc6za4mz243mqvfjr7mcdm349pyvb0"))))
|
||||
"1593qrpsczdlml5cqqrx51fvlpxr9k85l2aba2dj0fv7gink4hx0"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1126,7 +1322,7 @@ an embedded event driven algorithm.")
|
||||
python-rapidfuzz
|
||||
python-rich
|
||||
python-semver
|
||||
python-yamlcore-0.0.2
|
||||
python-yamlcore
|
||||
ruby
|
||||
verilator
|
||||
yosys))
|
||||
@@ -1356,7 +1552,6 @@ management with library, schematic and board editors.")
|
||||
libparse, enabling dotlib file parsing.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
|
||||
(define-public libpsf
|
||||
;; There are no release nor tags.
|
||||
(let ((commit "001dc734e01725e739847c8cde6480a0cf35a082")
|
||||
@@ -1715,143 +1910,145 @@ circuits. This is commonly used as a part of toolchains in a process called
|
||||
@acronym{LVS, layout versus schematic} with the intent to verify that the
|
||||
layout of a circuit corresponds to the desired netlists.")
|
||||
(license license:gpl1)))
|
||||
|
||||
|
||||
(define-public nextpnr
|
||||
(let ((commit "d8117e3cadaa4f4db606b64a465b7638b05dac68")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "nextpnr")
|
||||
(version (git-version "0.9" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/YosysHQ/nextpnr/")
|
||||
(commit commit)
|
||||
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
|
||||
;; json11 and python-console, which have custom modifications or
|
||||
;; no longer have their original upstream.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26))
|
||||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "3rdparty"
|
||||
;; The following sources have all been patched, so
|
||||
;; cannot easily be unbundled.
|
||||
"QtPropertyBrowser"
|
||||
"json11"
|
||||
"python-console"
|
||||
"oourafft")))
|
||||
(patches (search-patches "nextpnr-imgui.patch"))
|
||||
(sha256
|
||||
(base32 "0668adviwh8n9c5xy7k3qiyfn77rrzd79b403i3m19hhy8vq907p"))))
|
||||
(outputs '("out" "bba"))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:configure-flags
|
||||
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
|
||||
"-DBUILD_GUI=ON"
|
||||
"-DUSE_OPENMP=ON"
|
||||
"-DBUILD_TESTS=ON"
|
||||
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
|
||||
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
|
||||
"-DHIMBAECHEL_SPLIT=ON"
|
||||
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjbeyond-db"))
|
||||
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjpeppercorn"))
|
||||
(string-append
|
||||
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
|
||||
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
|
||||
(string-append "-DICESTORM_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "icestorm"))
|
||||
(string-append "-DTRELLIS_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "prjtrellis")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-googletest
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(3rdparty\\/googletest.*")
|
||||
(string-append "find_package(GTest)\n"
|
||||
"add_library(gtest_main ALIAS "
|
||||
"GTest::gtest_main)\n"))
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
|
||||
(string-append
|
||||
#$(this-package-native-input "googletest") "/include)")))))
|
||||
(add-after 'unpack 'unbundle-sanitizers-cmake
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; Use the system sanitizers-cmake module. This is made
|
||||
;; necessary 'sanitizers-cmake' installing a FindPackage
|
||||
;; module but no CMake config file.
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
|
||||
(string-append
|
||||
#$(this-package-native-input "sanitizers-cmake")
|
||||
"/share/sanitizers-cmake/cmake")))))
|
||||
(add-after 'install 'run-tests
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "PATH"
|
||||
(string-append #$output "/bin:" (getenv "PATH")))
|
||||
;; ice40
|
||||
(invoke "./nextpnr-ice40-test")
|
||||
(chdir "../source")
|
||||
(setenv "NEXTPNR" "nextpnr-ice40")
|
||||
(with-directory-excursion "ice40/smoketest/attosoc"
|
||||
(invoke "./smoketest.sh"))
|
||||
(with-directory-excursion "tests/ice40/regressions"
|
||||
(invoke "make" (string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ice40")))
|
||||
;; generic
|
||||
(setenv "NPNR" "nextpnr-generic")
|
||||
(invoke "nextpnr-generic" "--uarch" "example" "--test")
|
||||
(with-directory-excursion "tests/generic/flow/bel-pin"
|
||||
(invoke "./run.sh"))
|
||||
;; ecp5
|
||||
(invoke "nextpnr-ecp5"
|
||||
"--um5g-25k" "--package" "CABGA381" "--test")
|
||||
(with-directory-excursion "tests/ecp5/regressions"
|
||||
(invoke "make"
|
||||
(string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
|
||||
(native-inputs
|
||||
(list apycula
|
||||
googletest
|
||||
icestorm
|
||||
iverilog
|
||||
gzip
|
||||
prjbeyond-db
|
||||
`(,prjpeppercorn "db")
|
||||
prjtrellis
|
||||
python-minimal-wrapper
|
||||
sanitizers-cmake
|
||||
yosys))
|
||||
(inputs
|
||||
(list boost
|
||||
eigen
|
||||
pybind11-2
|
||||
qtimgui))
|
||||
(synopsis
|
||||
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
|
||||
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
|
||||
(package
|
||||
(name "nextpnr")
|
||||
(version "0.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/YosysHQ/nextpnr/")
|
||||
(commit (string-append "nextpnr-" version))
|
||||
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
|
||||
;; json11 and python-console, which have custom modifications or
|
||||
;; no longer have their original upstream.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26))
|
||||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "3rdparty"
|
||||
;; The following sources have all been patched, so
|
||||
;; cannot easily be unbundled.
|
||||
"QtPropertyBrowser"
|
||||
"json11"
|
||||
"python-console"
|
||||
"oourafft"
|
||||
"imgui"
|
||||
"qtimgui")))
|
||||
(sha256
|
||||
(base32 "01iwavnnz9pik49mw8z83529grvaa45pvihivmnfzhq1z49cg0c2"))))
|
||||
(outputs '("out" "bba"))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:configure-flags
|
||||
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
|
||||
"-DBUILD_GUI=ON"
|
||||
"-DUSE_OPENMP=ON"
|
||||
"-DBUILD_TESTS=ON"
|
||||
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
|
||||
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
|
||||
"-DHIMBAECHEL_SPLIT=ON"
|
||||
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjbeyond-db"))
|
||||
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjpeppercorn"))
|
||||
(string-append
|
||||
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
|
||||
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
|
||||
(string-append "-DICESTORM_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "icestorm"))
|
||||
(string-append "-DTRELLIS_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "prjtrellis")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-test
|
||||
(lambda _
|
||||
(substitute* "himbaechel/uarch/gatemate/tests/lut.cc"
|
||||
(("9LU") "8LU"))))
|
||||
(add-after 'unpack 'unbundle-googletest
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(3rdparty\\/googletest.*")
|
||||
(string-append "find_package(GTest)\n"
|
||||
"add_library(gtest_main ALIAS "
|
||||
"GTest::gtest_main)\n"))
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
|
||||
(string-append
|
||||
#$(this-package-native-input "googletest") "/include)")))))
|
||||
(add-after 'unpack 'unbundle-sanitizers-cmake
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; Use the system sanitizers-cmake module. This is made
|
||||
;; necessary 'sanitizers-cmake' installing a FindPackage
|
||||
;; module but no CMake config file.
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
|
||||
(string-append
|
||||
#$(this-package-native-input "sanitizers-cmake")
|
||||
"/share/sanitizers-cmake/cmake")))))
|
||||
(add-after 'install 'run-tests
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "PATH"
|
||||
(string-append #$output "/bin:" (getenv "PATH")))
|
||||
;; ice40
|
||||
(invoke "./nextpnr-ice40-test")
|
||||
(chdir "../source")
|
||||
(setenv "NEXTPNR" "nextpnr-ice40")
|
||||
(with-directory-excursion "ice40/smoketest/attosoc"
|
||||
(invoke "./smoketest.sh"))
|
||||
(with-directory-excursion "tests/ice40/regressions"
|
||||
(invoke "make" (string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ice40")))
|
||||
;; generic
|
||||
(setenv "NPNR" "nextpnr-generic")
|
||||
(invoke "nextpnr-generic" "--uarch" "example" "--test")
|
||||
(with-directory-excursion "tests/generic/flow/bel-pin"
|
||||
(invoke "./run.sh"))
|
||||
;; ecp5
|
||||
(invoke "nextpnr-ecp5"
|
||||
"--um5g-25k" "--package" "CABGA381" "--test")
|
||||
(with-directory-excursion "tests/ecp5/regressions"
|
||||
(invoke "make"
|
||||
(string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
|
||||
(native-inputs
|
||||
(list apycula
|
||||
googletest
|
||||
icestorm
|
||||
iverilog
|
||||
gzip
|
||||
prjbeyond-db
|
||||
`(,prjpeppercorn "db")
|
||||
prjtrellis
|
||||
python-minimal-wrapper
|
||||
sanitizers-cmake
|
||||
yosys))
|
||||
(inputs
|
||||
(list boost
|
||||
eigen
|
||||
pybind11))
|
||||
(synopsis
|
||||
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
|
||||
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
|
||||
Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(home-page "https://github.com/YosysHQ/nextpnr/")
|
||||
(license license:isc))))
|
||||
(home-page "https://github.com/YosysHQ/nextpnr/")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public nextpnr-cli
|
||||
(package
|
||||
@@ -1864,9 +2061,6 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(substitute-keyword-arguments (package-arguments nextpnr)
|
||||
((#:configure-flags flags '())
|
||||
#~(delete! "-DBUILD_GUI=ON" #$flags)))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs nextpnr)
|
||||
(delete "qtimgui")))
|
||||
(synopsis
|
||||
(string-append (package-synopsis nextpnr) " Cli only version."))))
|
||||
|
||||
@@ -1895,7 +2089,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(define-public nvc
|
||||
(package
|
||||
(name "nvc")
|
||||
(version "1.19.2")
|
||||
(version "1.19.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1904,7 +2098,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wcniiphnzk81y9p093v6zqq9vd7qhw08639svacwmhd8a67yr6b"))))
|
||||
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:out-of-source? #t
|
||||
@@ -2105,7 +2299,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
|
||||
(define-public prjpeppercorn
|
||||
(package
|
||||
(name "prjpeppercorn")
|
||||
(version "1.9")
|
||||
(version "1.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2114,7 +2308,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z0kzkdham3pwh4fj03yyv9bla5v08mbv0ysbyq1snxr8cdabm8y"))))
|
||||
(base32 "15qv7a0lpl671jlpafs9is0x0vms6i7jbkhp4l723lnr9kafqgm7"))))
|
||||
(outputs (list "out"
|
||||
"db")) ;FPGA database files
|
||||
(build-system cmake-build-system)
|
||||
@@ -2140,7 +2334,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
|
||||
(copy-recursively "tools"
|
||||
(string-append datadir "/tools"))))))))
|
||||
(inputs
|
||||
(list boost-1.88))
|
||||
(list boost))
|
||||
(synopsis "GateMate FPGAs bitstream tools")
|
||||
(description
|
||||
"@code{Prjpeppercorn} includes programming tools for GateMate
|
||||
@@ -2188,7 +2382,7 @@ architecture from Cologne Chip. It also provides data needed to produce a
|
||||
(lambda _
|
||||
(chdir "libtrellis"))))))
|
||||
(native-inputs (list python-minimal-wrapper))
|
||||
(inputs (list openocd boost-1.88 pybind11-2))
|
||||
(inputs (list openocd boost pybind11))
|
||||
(synopsis "Placement and routing for ECP5 FPGAs")
|
||||
(description
|
||||
"Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs.
|
||||
@@ -2601,16 +2795,8 @@ for @acronym{EDA, elecronic design automation} and chip design.")))
|
||||
(define-public python-klayout
|
||||
(package
|
||||
(name "python-klayout")
|
||||
(version "0.30.6") ;keep in sync with klayout
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/klayout/klayout")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(version (package-version klayout))
|
||||
(source (package-source klayout))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3000,7 +3186,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
|
||||
(define-public python-cocotbext-axi
|
||||
(package
|
||||
(name "python-cocotbext-axi")
|
||||
(version "0.1.26")
|
||||
(version "0.1.28")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3009,7 +3195,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
|
||||
(base32 "0kwdzz0mq134m0kxhwwj0d1nr1cbrzv36844476knna34xi2riyg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-cocotb python-cocotb-bus))
|
||||
@@ -3358,7 +3544,7 @@ to enforce it.")
|
||||
(define-public python-vunit
|
||||
(package
|
||||
(name "python-vunit")
|
||||
(version "5.0.0-dev.8") ;v4.7.0 dates back from 2 years ago.
|
||||
(version "5.0.0-dev.9") ;v4.7.0 dates back from 2 years ago.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3367,7 +3553,7 @@ to enforce it.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0a1bz5jh28i59x63fkgqf333jb68bm2hjicg2zlahzyydr4y1wji"))))
|
||||
(base32 "1j9rvlshzi4mdy7wah1j8ri63drkjb47xly22q40wvl2xp2ghqgs"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3377,35 +3563,31 @@ to enforce it.")
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-ghdl-jit
|
||||
(add-after 'unpack 'fix-ghdl-version
|
||||
(lambda _
|
||||
;; TODO: Remove when fixed upstream (see:
|
||||
;; https://github.com/VUnit/vunit/pull/1121).
|
||||
(substitute* "vunit/sim_if/ghdl.py"
|
||||
((": \"llvm\",")
|
||||
(string-append
|
||||
": \"llvm\",\n\tr\"static elaboration, LLVM JIT code "
|
||||
"generator\": \"llvm-jit\",")))))
|
||||
;; Guix uses ghdl 6.0.0.
|
||||
(substitute* "tests/unit/test_ghdl_interface.py"
|
||||
(("GHDL 5\\.0\\.1") "GHDL 6.0.0")
|
||||
(("GNAT Version: 14\\.2\\.0") "GNAT Version: 15.2.0"))))
|
||||
(add-after 'install 'unbundle
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((site-packages
|
||||
(string-append (site-packages inputs outputs)
|
||||
"/vunit/vhdl/")))
|
||||
(mkdir-p (string-append site-packages "JSON-for-VHDL"))
|
||||
(symlink
|
||||
(search-input-directory inputs "share/json-for-vhdl/work/src")
|
||||
(string-append site-packages "JSON-for-VHDL/src"))
|
||||
(symlink
|
||||
(search-input-directory inputs "share/osvvm/work/osvvm")
|
||||
(string-append site-packages "osvvm")))))
|
||||
(add-after 'check 'run-examples
|
||||
;; Run examples as an extra check.
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(lambda* (#:key tests? parallel-build? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "examples/vhdl"
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(invoke "python3" (string-append dir "/run.py"))
|
||||
(invoke "python3" (string-append dir "/run.py")
|
||||
"-p" (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1"))
|
||||
(delete-file-recursively "vunit_out"))
|
||||
(scandir "."
|
||||
(negate
|
||||
@@ -3435,7 +3617,7 @@ to enforce it.")
|
||||
python-setuptools
|
||||
python-setuptools-scm))
|
||||
(inputs
|
||||
(list json-for-vhdl-for-vunit osvvm-2023.04))
|
||||
(list osvvm-2023.04))
|
||||
(propagated-inputs
|
||||
(list python-colorama))
|
||||
(home-page "https://vunit.github.io")
|
||||
|
||||
@@ -72,7 +72,9 @@ as bold, underscore or italic.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))))
|
||||
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))
|
||||
(patches
|
||||
(search-patches "emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -204,12 +204,14 @@
|
||||
#:use-module (gnu packages aspell)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages chez)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages dav)
|
||||
#:use-module (gnu packages dictionaries)
|
||||
#:use-module (gnu packages djvu)
|
||||
#:use-module (gnu packages ebook)
|
||||
@@ -4916,77 +4918,79 @@ or unexpected behavior inside an elisp configuration file (typically
|
||||
|
||||
(define-public emacs-w3m
|
||||
;; Emacs-w3m follows a "rolling release" model.
|
||||
(package
|
||||
(name "emacs-w3m")
|
||||
(version "20220508.2259")
|
||||
(source (origin
|
||||
;; "Officially" this is still on cvs.namazu.org, but that repo
|
||||
;; seems to be unreachable.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/emacs-w3m/emacs-w3m.git")
|
||||
(commit "bbcebbe20ebfa807a3e4beaadf40ce6f4be213e7")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y892n8jaxzyxi1fgyklc7zfh57ibp4yyywmif69dm28hykj6lmz"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf texinfo emacs-minimal))
|
||||
(inputs (list w3m imagemagick))
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build emacs-build-system) #:prefix emacs:)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules `(,@%default-gnu-imported-modules
|
||||
(guix build emacs-build-system)
|
||||
(guix build emacs-utils))
|
||||
#:configure-flags
|
||||
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
|
||||
(string-append "--with-icondir="
|
||||
#$output "/share/images/emacs-w3m")
|
||||
;; Leave .el files uncompressed, otherwise GC can't
|
||||
;; identify run-time dependencies. See
|
||||
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
|
||||
"--without-compress-install")
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf")))
|
||||
(add-before 'configure 'support-emacs!
|
||||
(lambda _
|
||||
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
|
||||
;; unsupported.
|
||||
(substitute* "configure"
|
||||
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
|
||||
(add-before 'build 'patch-exec-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(make-file-writable "w3m.el")
|
||||
(emacs-substitute-variables "w3m.el"
|
||||
("w3m-command" (search-input-file inputs "/bin/w3m"))
|
||||
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
|
||||
("w3m-icon-directory"
|
||||
(string-append #$output "/share/images/emacs-w3m")))
|
||||
(make-file-writable "w3m-image.el")
|
||||
(emacs-substitute-variables "w3m-image.el"
|
||||
("w3m-imagick-convert-program"
|
||||
(search-input-file inputs "/bin/convert"))
|
||||
("w3m-imagick-identify-program"
|
||||
(search-input-file inputs "/bin/identify")))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "make" "install" "install-icons")
|
||||
(with-directory-excursion (emacs:elpa-directory #$output)
|
||||
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
|
||||
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
|
||||
(home-page "http://emacs-w3m.namazu.org/")
|
||||
(synopsis "Simple Web browser for Emacs based on w3m")
|
||||
(description
|
||||
"Emacs-w3m is an emacs interface for the w3m web browser.")
|
||||
(license license:gpl2+)))
|
||||
(let ((commit "ec18c21418bf7c1be159bd3cf7e79a370d4be1f3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-w3m")
|
||||
(version (git-version "20251229" revision commit)) ;commit date
|
||||
(source (origin
|
||||
;; "Officially" this is still on cvs.namazu.org, but that repo
|
||||
;; seems to be unreachable.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/emacs-w3m/emacs-w3m.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00rkvr6cpisma5r6g88bq0im7qh9l30fy8r4g4wgs1k53lai7k68"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf texinfo emacs-minimal))
|
||||
(inputs (list w3m imagemagick))
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build emacs-build-system) #:prefix emacs:)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules `(,@%default-gnu-imported-modules
|
||||
(guix build emacs-build-system)
|
||||
(guix build emacs-utils))
|
||||
#:configure-flags
|
||||
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
|
||||
(string-append "--with-icondir="
|
||||
#$output "/share/images/emacs-w3m")
|
||||
;; Leave .el files uncompressed, otherwise GC can't
|
||||
;; identify run-time dependencies. See
|
||||
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
|
||||
"--without-compress-install")
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf")))
|
||||
(add-before 'configure 'support-emacs!
|
||||
(lambda _
|
||||
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
|
||||
;; unsupported.
|
||||
(substitute* "configure"
|
||||
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
|
||||
(add-before 'build 'patch-exec-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(make-file-writable "w3m.el")
|
||||
(emacs-substitute-variables "w3m.el"
|
||||
("w3m-command" (search-input-file inputs "/bin/w3m"))
|
||||
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
|
||||
("w3m-icon-directory"
|
||||
(string-append #$output "/share/images/emacs-w3m")))
|
||||
(make-file-writable "w3m-image.el")
|
||||
(emacs-substitute-variables "w3m-image.el"
|
||||
("w3m-imagick-convert-program"
|
||||
(search-input-file inputs "/bin/convert"))
|
||||
("w3m-imagick-identify-program"
|
||||
(search-input-file inputs "/bin/identify")))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "make" "install" "install-icons")
|
||||
(with-directory-excursion (emacs:elpa-directory #$output)
|
||||
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
|
||||
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
|
||||
(home-page "http://emacs-w3m.namazu.org/")
|
||||
(synopsis "Simple Web browser for Emacs based on w3m")
|
||||
(description
|
||||
"Emacs-w3m is an emacs interface for the w3m web browser.")
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public emacs-wget
|
||||
(package
|
||||
@@ -5393,16 +5397,16 @@ installed on your machine and launch it.")
|
||||
(version "1.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://stable.melpa.org/packages/"
|
||||
"alchemist-" version ".tar"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://www.github.com/tonini/alchemist.el")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0ygwf9d739zqc8dcckw0j0bqkipw7cmxbrx3l281x237a3d384yw"))))
|
||||
(base32 "1cci0sq568ghx6x7my96m0iiwvqz2f4dh6k3gn3mmfyvi7bmrpww"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-elixir-mode emacs-dash emacs-company emacs-pkg-info))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; TODO Tests are failing; investigate
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-server
|
||||
@@ -5410,8 +5414,13 @@ installed on your machine and launch it.")
|
||||
(let ((server (string-append (elpa-directory #$output)
|
||||
"/alchemist-server")))
|
||||
(mkdir-p server)
|
||||
(copy-recursively "alchemist-server" server)
|
||||
(delete-file-recursively (string-append server "/test"))))))))
|
||||
(delete-file-recursively "alchemist-server/test")
|
||||
(copy-recursively "alchemist-server" server)))))))
|
||||
(propagated-inputs
|
||||
(list emacs-company
|
||||
emacs-dash
|
||||
emacs-elixir-mode
|
||||
emacs-pkg-info))
|
||||
(home-page "https://www.github.com/tonini/alchemist.el")
|
||||
(synopsis "Elixir tooling integration into Emacs")
|
||||
(description
|
||||
@@ -8044,7 +8053,7 @@ next matching page.")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://notabug.org/alezost/emacs-bui.git")
|
||||
(url "https://gitlab.com/alezost-emacs/bui.el")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -8053,7 +8062,7 @@ next matching page.")
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-dash))
|
||||
(home-page "https://notabug.org/alezost/emacs-bui")
|
||||
(home-page "https://gitlab.com/alezost-emacs/bui.el")
|
||||
(synopsis "Buffer interface library for Emacs")
|
||||
(description
|
||||
"BUI (Buffer User Interface) is a library for making @code{list} and
|
||||
@@ -8122,7 +8131,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://notabug.org/alezost/emacs-build-farm.git")
|
||||
(url "https://gitlab.com/alezost-emacs/build-farm")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -8131,7 +8140,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-bui emacs-magit-popup))
|
||||
(home-page "https://notabug.org/alezost/emacs-build-farm")
|
||||
(home-page "https://gitlab.com/alezost-emacs/build-farm")
|
||||
(synopsis "Emacs interface for Hydra and Cuirass build farms")
|
||||
(description
|
||||
"This Emacs package provides an interface for Hydra and
|
||||
@@ -8407,6 +8416,41 @@ them whenever another command is invoked.")
|
||||
a command.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-khalel
|
||||
(package
|
||||
(name "emacs-khalel")
|
||||
(version "0.1.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/hperrey/khalel")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06h5272kmg0ykf0zqdy2qwhlzszqsw176l1brk04bg8xyc3a4384"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'locate-input-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "khalel.el"
|
||||
("khalel-khal-command"
|
||||
(search-input-file inputs "/bin/khal"))
|
||||
("khalel-vdirsyncer-command"
|
||||
(search-input-file inputs "/bin/vdirsyncer"))))))))
|
||||
(inputs (list khal vdirsyncer))
|
||||
(home-page "https://gitlab.com/hperrey/khalel")
|
||||
(synopsis "Interact with local or remote CalDAV calendars")
|
||||
(description
|
||||
"Khalel accesses calendars stored in ICS files and provides means of
|
||||
listing existing events, edit them as well as to create new ones largely
|
||||
through an Org mode interface.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-khardel
|
||||
(package
|
||||
(name "emacs-khardel")
|
||||
@@ -14400,7 +14444,7 @@ Features degrade gracefully when viewed from terminal.")
|
||||
(define-public emacs-org-supertag
|
||||
(package
|
||||
(name "emacs-org-supertag")
|
||||
(version "5.6.3")
|
||||
(version "5.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -14409,7 +14453,7 @@ Features degrade gracefully when viewed from terminal.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ccr3s4mhk28klizbsb7cqhgg2h3092mpg1qvnzpzf53hwlhds2p"))))
|
||||
(base32 "1hdag8kxn2zxwac0fq14c741k4pwzkwvjh5ybwsqc7220vqzhmhm"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
@@ -17940,12 +17984,16 @@ strings, and code folding.")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://stable.melpa.org/packages/"
|
||||
"js-comint-" version ".el"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/redguardtoo/js-comint")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1qin0hclm3ly62nl5ddiim64bcd2k74b1yqsqqc61cf9k2q8k287"))))
|
||||
(base32 "09wfafrklkybfg44skn1lg2hvcj4gfdv908dq87w1r4wv6ibkvka"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f)) ; Tests depend on Eask
|
||||
(home-page "https://github.com/redguardtoo/js-comint")
|
||||
(synopsis "Interacting with a JavaScript interpreter")
|
||||
(description
|
||||
@@ -18120,7 +18168,7 @@ Emacs buffers.")
|
||||
(define-public emacs-markdown-mode
|
||||
(package
|
||||
(name "emacs-markdown-mode")
|
||||
(version "2.7")
|
||||
(version "2.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -18129,10 +18177,26 @@ Emacs buffers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1w6y18bg0fpvb5xwr827ynzbj0f0nh3dms3n0xq6hg38dcyly46b"))))
|
||||
(base32 "05xcmp744sm1cp38zal5sqzj463igbsfhjn7vhgpzd97df95h9mp"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:test-command #~(list "make" "test")
|
||||
#:tests? #f)) ; XXX: 5 unexpected results
|
||||
(arguments
|
||||
(list #:test-command #~(list "make" "test")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'skip-failing-tests
|
||||
(lambda _
|
||||
(let ((skip-tests
|
||||
`("-export/buffer-local-css-path"
|
||||
"-export/relative-css-path"
|
||||
"-export/url-css-path"
|
||||
"/wiki-link-rules"
|
||||
"/wiki-link-search-under-project")))
|
||||
(substitute* "tests/markdown-test.el"
|
||||
(("\\(ert-deftest test-markdown([a-z/-]*) \\(\\)"
|
||||
all test)
|
||||
(if (member test skip-tests)
|
||||
(string-append all "(skip-unless nil)")
|
||||
all)))))))))
|
||||
(home-page "https://jblevins.org/projects/markdown-mode/")
|
||||
(synopsis "Emacs Major mode for Markdown files")
|
||||
(description
|
||||
@@ -21224,29 +21288,25 @@ required by the LaTeX output produced by Org mode.")
|
||||
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))))
|
||||
|
||||
(define-public emacs-org-contacts
|
||||
;; XXX: Upstream does not tag version bumps. Commit below matches latest
|
||||
;; version bump.
|
||||
(let ((commit "217ba04c9d638067a6ccb0829cf1885f54c1d568"))
|
||||
(package
|
||||
(name "emacs-org-contacts")
|
||||
(version "1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://repo.or.cz/org-contacts")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0f0vjdvx0hffj2xvyrya8yfl77djmzmpxdxsx58ym4lmdvwyb6x3"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-org))
|
||||
(home-page "https://repo.or.cz/org-contacts")
|
||||
(synopsis "Contacts management system for Org mode")
|
||||
(description "Manage your contacts from Org mode. You can auto
|
||||
(package
|
||||
(name "emacs-org-contacts")
|
||||
(version "1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://repo.or.cz/org-contacts")
|
||||
(commit (string-append "release_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1djnyswjbsb1k3ciyd2f9xfjfkhbkkfw3dzfmzzr8dx5v71gm47b"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://repo.or.cz/org-contacts")
|
||||
(synopsis "Contacts management system for Org mode")
|
||||
(description "Manage your contacts from Org mode. You can auto
|
||||
complete email addresses, export contacts to a vCard file, put birthdays
|
||||
in your Org Agenda, and more.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-vcard
|
||||
(package
|
||||
@@ -39101,14 +39161,14 @@ user interfaces for various built-in modes.")
|
||||
(define-public emacs-calibre
|
||||
(package
|
||||
(name "emacs-calibre")
|
||||
(version "1.5.0")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/calibre-" version
|
||||
".tar"))
|
||||
(sha256
|
||||
(base32 "08rcwrydrlc995sdxn5ssm5f6ighxi5yr6i7bx9a1nf7n91mgbgh"))))
|
||||
(base32 "0iqgd44wca54l5rn8g6c9qak2c1wblbnrx5a0118hkgckimp8c3k"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -39393,11 +39453,13 @@ or regions to a REPL from ~a buffers.") language))))
|
||||
(version "1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://stable.melpa.org/packages/"
|
||||
"org-babel-eval-in-repl-" version ".tar"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/diadochos/org-babel-eval-in-repl")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bdnps6m3kcvsagz8cfm3kf2rvxzl2p252pfggwbdbl43kzvl35h"))
|
||||
(base32 "1fjifl69qja3ab0g72f1hkfns992qq0v9pw8p4hgvjycx7fpzk0a"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin (delete-file "eval-in-repl-matlab.el")))))
|
||||
@@ -41923,10 +41985,10 @@ service, and connect it with Emacs via inter-process communication.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-telega
|
||||
(let ((commit "70945291fff62ad0c8c2d2c28cbad319138ae811"))
|
||||
(let ((commit "805819bf81dffe2922e9e06ae02d58429d03aa1a"))
|
||||
(package
|
||||
(name "emacs-telega")
|
||||
(version "0.8.600") ; see telega-version in telega.el
|
||||
(version "0.8.601") ; see telega-version in telega.el
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -41934,7 +41996,7 @@ service, and connect it with Emacs via inter-process communication.")
|
||||
(url "https://github.com/zevlg/telega.el")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "08z81m3aa7lf895iy5fkdp52qkvl2nw1r1k1k67dipnyrj4y2bfk"))
|
||||
(base32 "0d02ymr5fw6fknzf9ikaky48swd9yfp5zn846zlwb5083p6bpmis"))
|
||||
(file-name (git-file-name "emacs-telega" version))
|
||||
(patches
|
||||
(search-patches "emacs-telega-test-env.patch"))))
|
||||
@@ -41991,10 +42053,8 @@ service, and connect it with Emacs via inter-process communication.")
|
||||
(string-append ";; " all))))))))
|
||||
(inputs
|
||||
(list emacs-telega-server ffmpeg tgs2png))
|
||||
(native-inputs '())
|
||||
(propagated-inputs
|
||||
(list emacs-company
|
||||
emacs-transient ; requires 0.9.0
|
||||
(list emacs-transient ; requires 0.9.0
|
||||
emacs-visual-fill-column))
|
||||
(home-page "https://zevlg.github.io/telega.el/")
|
||||
(synopsis "GNU Emacs client for the Telegram messenger")
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
|
||||
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
|
||||
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
|
||||
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1165,7 +1166,7 @@ The following systems are supported:
|
||||
(define-public sameboy
|
||||
(package
|
||||
(name "sameboy")
|
||||
(version "1.0.2")
|
||||
(version "1.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1174,12 +1175,12 @@ The following systems are supported:
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0pwnik37c3sgvib5xbadwbq2mjjvgxilhig09rjb3xp5i1d7ykja"))))
|
||||
(base32 "107k6lfh4y9q73azab0r7pb7hs8fwk46537pfc5liqp38blz6ij5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list rgbds pkg-config))
|
||||
(inputs
|
||||
(list sdl2))
|
||||
(list libpng sdl2))
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests
|
||||
#:make-flags `(,(string-append "CC=" ,(cc-for-target))
|
||||
|
||||
@@ -358,155 +358,6 @@ tool to forward annotation from your schematic to layout using PCB; some minor
|
||||
utilities.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public lepton-eda
|
||||
(package
|
||||
(name "lepton-eda")
|
||||
(version "1.9.18-20220529")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lepton-eda/lepton-eda/")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; When running "make", the POT files are built with the build time as
|
||||
;; their "POT-Creation-Date". Later on, "make" notices that .pot
|
||||
;; files were updated and goes on to run "msgmerge"; as a result, the
|
||||
;; non-deterministic POT-Creation-Date finds its way into .po files,
|
||||
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
|
||||
;; never runs. See <https://bugs.debian.org/792687>.
|
||||
"ac_cv_path_MSGMERGE=true"
|
||||
(string-append "--with-pcb-datadir="
|
||||
#$(this-package-input "pcb")
|
||||
"/share")
|
||||
(string-append "--with-pcb-lib-path="
|
||||
#$(this-package-input "pcb")
|
||||
"/share/pcb/pcblib-newlib:"
|
||||
#$(this-package-input "pcb")
|
||||
"/share/pcb/newlib")
|
||||
"--with-gtk3"
|
||||
"CFLAGS=-fcommon"
|
||||
"--enable-guild"
|
||||
"--enable-contrib")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
;; For logs and auto-compilation
|
||||
(setenv "HOME" "/tmp")
|
||||
|
||||
;; Ensure that readline is found by lepton-shell
|
||||
(substitute* "script.in"
|
||||
(("\\(eval-when \\(expand load eval\\)" m)
|
||||
(string-append "
|
||||
(add-to-load-path \"" #$(this-package-input "guile-readline")
|
||||
"/share/guile/site/3.0\")
|
||||
(set! %load-compiled-path (cons \""
|
||||
#$(this-package-input "guile-readline")
|
||||
"/lib/guile/3.0/site-ccache/"
|
||||
"\" %load-compiled-path))
|
||||
" m)))))
|
||||
(add-before 'build 'fix-dynamic-link
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
|
||||
(("\"liblepton\"")
|
||||
(string-append "\"" #$output "/lib/liblepton.so" "\""))
|
||||
(("\"libleptonattrib\"")
|
||||
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
|
||||
(("\"libleptongui\"")
|
||||
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
|
||||
(("\"libglib-2.0\"")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
|
||||
(("\"libgobject-2.0\"")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
|
||||
(("\"libgtk-3\"")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
|
||||
|
||||
;; For finding libraries when running tests before installation.
|
||||
(setenv "LIBLEPTONGUI"
|
||||
(string-append (getcwd)
|
||||
"/libleptongui/src/.libs/libleptongui.so"))
|
||||
(setenv "LIBLEPTON"
|
||||
(string-append (getcwd)
|
||||
"/libleptongui/src/.libs/liblepton.so"))
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append (getcwd)
|
||||
"/libleptonattrib/src/.libs/:"
|
||||
(getenv "LIBRARY_PATH")))))
|
||||
(add-before 'bootstrap 'prepare
|
||||
(lambda _
|
||||
;; Some of the scripts there are invoked by autogen.sh.
|
||||
(for-each patch-shebang
|
||||
(find-files "build-tools"))
|
||||
|
||||
;; Make sure 'msgmerge' can modify the PO files.
|
||||
(for-each (lambda (po)
|
||||
(chmod po #o666))
|
||||
(find-files "." "\\.po$"))
|
||||
|
||||
;; This would normally be created by invoking 'git', but it
|
||||
;; doesn't work here.
|
||||
(call-with-output-file "version.h"
|
||||
(lambda (port)
|
||||
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
|
||||
#$(string-drop version
|
||||
(+ 1
|
||||
(string-index version #\-))))
|
||||
(format port
|
||||
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
|
||||
#$(string-take version
|
||||
(string-index version #\-)))
|
||||
(format port
|
||||
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
|
||||
(add-after 'install 'compile-scheme-files
|
||||
(lambda _
|
||||
(unsetenv "LIBLEPTONGUI")
|
||||
(unsetenv "LIBLEPTON")
|
||||
(unsetenv "LD_LIBRARY_PATH")
|
||||
(invoke "make" "precompile"))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
desktop-file-utils
|
||||
flex
|
||||
gettext-minimal
|
||||
groff
|
||||
gawk
|
||||
libtool
|
||||
pkg-config
|
||||
m4
|
||||
perl
|
||||
texinfo))
|
||||
(inputs
|
||||
(list glib
|
||||
gtk+
|
||||
gtksheet
|
||||
guile-3.0
|
||||
guile-readline
|
||||
pcb
|
||||
shared-mime-info))
|
||||
(home-page "https://lepton-eda.github.io/")
|
||||
(synopsis "GPL Electronic Design Automation")
|
||||
(description
|
||||
"Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
|
||||
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
|
||||
design, schematic capture, simulation, prototyping, and production. Lepton
|
||||
EDA includes tools for schematic capture, attribute management, bill of
|
||||
materials (BOM) generation, netlisting into over 20 netlist formats, analog
|
||||
and digital simulation, and printed circuit board (PCB) layout, and many other
|
||||
features.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public pcb
|
||||
(package
|
||||
(name "pcb")
|
||||
@@ -1407,57 +1258,6 @@ in the context of per-cpu data. The library offers ABI headers to interface
|
||||
with the kernel and various utilities such as per-cpu counters.")
|
||||
(license (list license:lgpl2.1 license:expat)))))
|
||||
|
||||
(define-public horizon-eda
|
||||
(package
|
||||
(name "horizon-eda")
|
||||
(version "2.7.0")
|
||||
;; TODO: try to unbundle some of the 3rd parties.
|
||||
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/horizon-eda/horizon")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sq1d2x9wq168cz91l2rd93gnlq5scknb45bi1njqqcw3jjjhsk3"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:glib-or-gtk? #t))
|
||||
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
pkg-config))
|
||||
(inputs (list boost
|
||||
cairomm
|
||||
cppzmq
|
||||
curl
|
||||
glib
|
||||
glibmm
|
||||
glm
|
||||
gsettings-desktop-schemas
|
||||
gtk+
|
||||
gtkmm-3
|
||||
libarchive
|
||||
libgit2-glib
|
||||
librsvg
|
||||
libspnav
|
||||
libzip
|
||||
opencascade-occt
|
||||
podofo
|
||||
sqlite
|
||||
`(,util-linux "lib")
|
||||
zeromq))
|
||||
(home-page "https://horizon-eda.org/")
|
||||
(synopsis "Electronic Design Automation package")
|
||||
(description "Horizon EDA is an Electronic Design Automation package
|
||||
supporting an integrated end-to-end workflow for printed circuit board design
|
||||
including parts management and schematic entry.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public linsmith
|
||||
(package
|
||||
(name "linsmith")
|
||||
@@ -3256,28 +3056,27 @@ extension and customization.")
|
||||
(define-public libmedfile
|
||||
(package
|
||||
(name "libmedfile")
|
||||
(version "4.0.0")
|
||||
(version "6.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://files.salome-platform.org/Salome/other/med-"
|
||||
"https://files.salome-platform.org/Salome/medfile/med-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54"))))
|
||||
"1a0zbdaj3s459s0cdayq4s3k3vbrfg7y32sf7s7qvi2bhz3fvwgq"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list hdf5-1.10))
|
||||
(inputs (list hdf5 zlib))
|
||||
(arguments
|
||||
`(#:parallel-tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'remove-test-output
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(delete-file-recursively
|
||||
(string-append out "/bin/testc"))
|
||||
#t))))))
|
||||
(list
|
||||
#:parallel-tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'remove-test-output
|
||||
(lambda _
|
||||
(delete-file-recursively
|
||||
(string-append #$output "/bin/testc")))))))
|
||||
(home-page "https://www.salome-platform.org")
|
||||
(synopsis "Library to read and write MED files")
|
||||
(description
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages rocm)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl))
|
||||
|
||||
@@ -223,14 +224,16 @@ testing InfiniBand networks.")
|
||||
#$(this-package-input "rdma-core"))
|
||||
|
||||
(string-append "--with-rdmacm="
|
||||
#$(this-package-input "rdma-core")))
|
||||
#$(this-package-input "rdma-core"))
|
||||
(string-append "--with-rocm="
|
||||
#$(this-package-input "rocr-runtime")))
|
||||
|
||||
;; Be verbose so that compiler flags are displayed.
|
||||
#:make-flags #~'("V=1")))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
(inputs
|
||||
(list numactl rdma-core))
|
||||
(list numactl rdma-core rocr-runtime))
|
||||
(synopsis "Optimized communication layer for message passing in HPC")
|
||||
(description
|
||||
"Unified Communication X (UCX) provides an optimized communication layer
|
||||
|
||||
@@ -255,7 +255,7 @@ wallet and graphical user interface.")
|
||||
(define-public bitcoin-cash-node
|
||||
(package
|
||||
(name "bitcoin-cash-node")
|
||||
(version "28.0.1")
|
||||
(version "29.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -264,7 +264,7 @@ wallet and graphical user interface.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19v38clhxg6yd4xb8wh8bm3sf1ipv3ifg68nwgq0p8l5zqx41wgw"))))
|
||||
(base32 "0fk0zfnl99552yfhzzvzj46lg16fr4dbgh0agp5pqll30wbk78d9"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list help2man
|
||||
@@ -1014,7 +1014,7 @@ the Monero command line client and daemon.")
|
||||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.18.4.6")
|
||||
(version "0.18.4.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1030,7 +1030,7 @@ the Monero command line client and daemon.")
|
||||
;; See the 'extract-monero-sources' phase.
|
||||
(delete-file-recursively "monero")))
|
||||
(sha256
|
||||
(base32 "0l2ris97ibl2smyd4dyav5d81ky22nyv21qhzmmxsbgz3ds7d1mx"))))
|
||||
(base32 "1nbv07jjwznz2x0ch1467vhnd0b4j3y01gv78dzbm7pilbb9wh72"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs monero)
|
||||
@@ -2603,7 +2603,7 @@ mining.")
|
||||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "4.13")
|
||||
(version "4.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2612,7 +2612,7 @@ mining.")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "1flpr0kzyl72hm5vjs9jixiv8fdhvwchlz3p2banb8naxlpads0x"))
|
||||
(sha256 (base32 "10dp6kxmvdx5lz4n144s9av32nzfxgfw28kf92dnmrv13q5p7id2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
|
||||
@@ -1253,11 +1253,15 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
|
||||
#~(modify-phases #$phases
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((fmw (string-append #$output "/share/firmware")))
|
||||
(let ((fmw (string-append #$output "/share/firmware"))
|
||||
(build-dir "Build/ArmVirtQemu-AARCH64/RELEASE_GCC/FV"))
|
||||
(mkdir-p fmw)
|
||||
(copy-file (string-append "Build/ArmVirtQemu-AARCH64/"
|
||||
"RELEASE_GCC/FV/QEMU_EFI.fd")
|
||||
(string-append fmw "/ovmf_aarch64.bin"))))))))))))
|
||||
;; QEMU's virt machine requires 64 MiB pflash devices on
|
||||
;; AArch64. Pad the firmware files to match.
|
||||
(copy-file (string-append build-dir "/QEMU_EFI.fd")
|
||||
(string-append fmw "/ovmf_aarch64.bin"))
|
||||
(truncate-file (string-append fmw "/ovmf_aarch64.bin")
|
||||
(* 64 1024 1024))))))))))))
|
||||
|
||||
(define-public ovmf-arm
|
||||
(let ((base (make-ovmf-firmware "armhf")))
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
;;; Copyright © 2021 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
|
||||
;;; Copyright © 2022 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2018, 2022 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2023 B. Wilson <x@wilsonb.com>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
@@ -20,6 +20,9 @@
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Ian Eure <ian@retrospec.tv>
|
||||
;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org>
|
||||
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -59,8 +62,12 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages bootloaders)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpio)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages electronics)
|
||||
#:use-module (gnu packages elf)
|
||||
@@ -74,6 +81,7 @@
|
||||
#:use-module (gnu packages libftdi)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages mtools)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -83,7 +91,9 @@
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages virtualization)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
@@ -246,6 +256,118 @@ firmware from it.")
|
||||
(home-page "https://dfu-util.sourceforge.net/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public genimage
|
||||
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "genimage")
|
||||
(version (git-version "18" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pengutronix/genimage")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules
|
||||
((ice-9 match)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'guixify
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(map (match-lambda
|
||||
((input directory regexp)
|
||||
(substitute* "config.c"
|
||||
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
|
||||
(string-append ".def = \"" (assoc-ref inputs input)
|
||||
"/" directory "/" command "\"")))))
|
||||
'(("cpio" "bin" "cpio")
|
||||
("coreutils" "bin" "dd")
|
||||
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
|
||||
("genext2fs" "bin" "genext2fs")
|
||||
("cdrkit-libre" "bin" "genisoimage")
|
||||
("mtools" "bin" "mcopy|mmd")
|
||||
;; mkcramfs is obsolete.
|
||||
("dosfstools" "sbin" "mkdosfs")
|
||||
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
|
||||
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
|
||||
("squashfs-tools" "bin" "mksquashfs")
|
||||
("qemu" "bin" "qemu-img")
|
||||
;; rauc and fiptool are unsupported.
|
||||
("tar" "bin" "tar")
|
||||
("u-boot-tools" "bin" "mkimage")))
|
||||
(substitute* "util.c"
|
||||
(("\"/bin/sh\"")
|
||||
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
|
||||
(add-before 'check 'disable-failing-tests
|
||||
(lambda _
|
||||
;; We don't have /etc/passwd so uid 0 is not known as "root".
|
||||
;; Thus patch it out.
|
||||
(substitute* '("test/flash.test")
|
||||
(("test_expect_success \"flash\"")
|
||||
"test_expect_fail \"flash\""))
|
||||
(substitute* '("test/hdimage.test")
|
||||
(("test_expect_success fdisk,sfdisk \"hdimage\"")
|
||||
"test_expect_fail fdisk,sfdisk \"hdimage\"")
|
||||
(("test_expect_success hexdump \"hdimage no-partition\"")
|
||||
"test_expect_fail hexdump \"hdimage no-partition\""))))
|
||||
(add-before 'check 'fix-failing-tests
|
||||
(lambda _
|
||||
;; We don't have /etc/passwd so uid 0 is not known as "root".
|
||||
;; Thus patch it out.
|
||||
(substitute* '("test/ext2test.2.dump"
|
||||
"test/ext3test.2.dump"
|
||||
"test/ext4test.2.dump"
|
||||
"test/ext2test-percent.2.dump"
|
||||
"test/mke2fs.2.dump"
|
||||
"test/mke2fs.3.dump")
|
||||
(("root") "unknown"))))
|
||||
(add-before 'check 'setenv-check
|
||||
(lambda _
|
||||
;; Our container doesn't provide access to /etc/mtab
|
||||
(setenv "EXT2FS_NO_MTAB_OK" "1")
|
||||
;; Make test reproducible
|
||||
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
|
||||
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
;;; Note: cramfs is obsolete.
|
||||
dtc ; for the tests
|
||||
pkg-config
|
||||
util-linux)) ; for the tests
|
||||
(inputs
|
||||
`(("bash" ,bash)
|
||||
("cdrkit-libre" ,cdrkit-libre)
|
||||
("cpio" ,cpio)
|
||||
;; Note: invoked by final executable.
|
||||
("coreutils" ,coreutils) ; chmod, dd
|
||||
("dosfstools" ,dosfstools)
|
||||
("e2fsprogs" ,e2fsprogs)
|
||||
("f2fs-tools" ,f2fs-tools)
|
||||
("genext2fs" ,genext2fs)
|
||||
("libconfuse" ,libconfuse)
|
||||
("mtd-utils" ,mtd-utils)
|
||||
("mtools" ,mtools)
|
||||
("qemu" ,qemu-minimal)
|
||||
("squashfs-tools" ,squashfs-tools)
|
||||
("tar" ,tar)
|
||||
("u-boot-tools" ,u-boot-tools)))
|
||||
(synopsis "Create Flash images according to specification")
|
||||
(description "@command{genimage} creates Flash images according to a
|
||||
specification file.")
|
||||
(home-page "https://github.com/pengutronix/genimage")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public teensy-loader-cli
|
||||
(package
|
||||
(name "teensy-loader-cli")
|
||||
@@ -447,6 +569,87 @@ referred to as the \"Odin 3 protocol\".")
|
||||
dump Intel Firmware Descriptor data of an image file.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public bincfg
|
||||
(package
|
||||
(name "bincfg")
|
||||
(version "25.09")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
#~(list
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/bincfg")))
|
||||
(add-after 'build 'build-binaries
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(for-each
|
||||
(lambda (target result)
|
||||
(apply invoke "make" (string-append "gen-" target) make-flags)
|
||||
(rename-file result
|
||||
(string-append target ".bin")))
|
||||
(list
|
||||
;; generate GbE for X200
|
||||
"gbe-ich9m"
|
||||
;; generate GbE for X220/x230
|
||||
"gbe-82579LM"
|
||||
;; generate IFD for X200
|
||||
"ifd-x200")
|
||||
(list
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_0_fd.bin"))))
|
||||
;; The Makefile has no install target.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(lib (string-append #$output "/lib/bincfg"))
|
||||
(data (string-append #$output "/share/bincfg")))
|
||||
;; Install the program
|
||||
(install-file "bincfg" bin)
|
||||
;; And its data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path data))
|
||||
(append (find-files "." ".*\\.set")
|
||||
(find-files "." ".*\\.spec")))
|
||||
;; And the files generated with the data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path lib))
|
||||
(find-files "." ".*\\.bin"))))))))
|
||||
(native-inputs (list bison flex))
|
||||
(home-page "https://coreboot.org")
|
||||
(synopsis "Encoder/decoder for binary formats described in text files")
|
||||
(description "
|
||||
The bincfg program comes with specifications files for the following binary
|
||||
formats:
|
||||
@itemize
|
||||
@item Various DDR3 and DDR4 SPD
|
||||
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
|
||||
@item Configuration data for the Intel Gigabit Ethernet controller present in
|
||||
the Intel ICH9-M chipset.
|
||||
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
|
||||
@item Configuration data for the ITE IT8718F SuperIO
|
||||
@end itemize
|
||||
It also comes with example files generated by bincfg.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public intelmetool
|
||||
(package
|
||||
(name "intelmetool")
|
||||
@@ -613,7 +816,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
|
||||
(define-public openfpgaloader
|
||||
(package
|
||||
(name "openfpgaloader")
|
||||
(version "1.1.0")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -622,7 +825,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jr9vx0r53h2wkmcyjkc5l90wvk4glinlkf42m00j7rp41bckfvp"))))
|
||||
"00wbf7z5f55422fmqczxc6f7a2lmr52m1qx8m3ky5gl006rkf0sm"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
@@ -638,9 +841,11 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-rules
|
||||
(lambda _
|
||||
(install-file
|
||||
"../source/99-openfpgaloader.rules"
|
||||
(string-append #$output "/lib/udev/rules.d/")))))))
|
||||
(for-each
|
||||
(lambda (f)
|
||||
(install-file
|
||||
f (string-append #$output "/lib/udev/rules.d/")))
|
||||
(find-files "../source" "\\.rules$")))))))
|
||||
(synopsis "Utility for programming FPGA")
|
||||
(description "This package provides a program to transfer a bitstream
|
||||
to an FPGA. To use @code{openfpgaloader} without root privileges it is
|
||||
|
||||
@@ -4206,8 +4206,7 @@ characteristic so that they sit smoothly with the Tamil glyphs.")
|
||||
(base32 "1594lxdk6788bb3i3c2fh74z4pwpzcp2r1xl3cz8cz77nrcjkl8m"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list #:modules '((guix build utils)
|
||||
(ice-9 ftw))
|
||||
(list #:modules '((guix build utils))
|
||||
#:builder
|
||||
#~(let* ((orig #$(package-source this-package))
|
||||
(dist (string-append orig "/dist/v" #$version))
|
||||
|
||||
@@ -2604,7 +2604,7 @@ to applications simultaneously competing for fingerprint readers.")
|
||||
(define-public desktop-file-utils
|
||||
(package
|
||||
(name "desktop-file-utils")
|
||||
(version "0.26")
|
||||
(version "0.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.freedesktop.org/software/"
|
||||
@@ -2612,10 +2612,10 @@ to applications simultaneously competing for fingerprint readers.")
|
||||
"desktop-file-utils-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02bkfi6fyk4c0gh2avd897882ww5zl7qg7bzzf28qb57kvkvsvdj"))))
|
||||
(build-system gnu-build-system)
|
||||
"0w4ai6a3bwrdh86n2pvgv664djlmlds5lfa2hbgc4hnq67id80a4"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config))
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list glib))
|
||||
(home-page "https://www.freedesktop.org/wiki/Software/desktop-file-utils/")
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
|
||||
;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
|
||||
;;; Copyright © 2020-2022, 2024-2025 James Smith <jsubuntuxp@disroot.org>
|
||||
;;; Copyright © 2020-2022, 2024-2026 James Smith <jsubuntuxp@disroot.org>
|
||||
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2021, 2026 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
|
||||
@@ -953,7 +953,7 @@ clone.")
|
||||
(define-public trenchbroom
|
||||
(package
|
||||
(name "trenchbroom")
|
||||
(version "2024.2")
|
||||
(version "2025.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -962,16 +962,12 @@ clone.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18cb3w7wxc9y2izh0flkkl77sg897dh0g49zq7rbhpvw35j4xgaj"))))
|
||||
(base32 "0858q0dfr8f3z8aaafgvrx3zbmjlsldjyw6jjic4x4psyw2xfg3h"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "-DCMAKE_BUILD_TYPE=Release" "-G" "Unix Makefiles"
|
||||
"-DCMAKE_PREFIX_PATH=cmake/packages"
|
||||
(string-append "-DFREEIMAGE_INCLUDE_PATH="
|
||||
#$freeimage "/include")
|
||||
(string-append "-DFREEIMAGE_LIBRARY="
|
||||
#$freeimage "/lib/libfreeimage.so")
|
||||
(string-append "-Dfreetype_INCLUDE_DIR="
|
||||
#$freetype "/include/freetype2")
|
||||
(string-append "-Dfreetype_LIBRARY="
|
||||
@@ -1016,7 +1012,7 @@ clone.")
|
||||
(inputs
|
||||
(list assimp
|
||||
bash-minimal
|
||||
catch2
|
||||
catch2-3.8
|
||||
fmt
|
||||
freeglut
|
||||
freeimage
|
||||
@@ -1027,8 +1023,8 @@ clone.")
|
||||
libxxf86vm
|
||||
mesa
|
||||
miniz
|
||||
qtbase-5
|
||||
qtsvg-5
|
||||
qtbase
|
||||
qtsvg
|
||||
tinyxml2))
|
||||
(native-inputs (list git pandoc python p7zip))
|
||||
(home-page "https://kristianduske.com/trenchbroom/")
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
|
||||
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -55,8 +56,10 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
@@ -1424,26 +1427,195 @@ as the 'native-search-paths' field."
|
||||
"gfortran" '("fortran")
|
||||
%generic-search-paths)))
|
||||
|
||||
(define-public gdc-11 ;kept for bootstrapping
|
||||
(hidden-package
|
||||
(custom-gcc gcc-11 "gdc" '("d")
|
||||
%generic-search-paths)))
|
||||
(define* (make-gdc gcc #:optional bootstrap-gdc #:key frontend-version)
|
||||
(define gdc (custom-gcc gcc "gdc" '("d") (list $LIBRARY_PATH)))
|
||||
(define version (package-version gdc))
|
||||
(define (since-version? since) (version>=? version since))
|
||||
(define (until-version? until) (version>? until version))
|
||||
(package
|
||||
(inherit gdc)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments gdc)
|
||||
((#:modules modules)
|
||||
`(,@modules
|
||||
(ice-9 ftw)))
|
||||
((#:configure-flags flags)
|
||||
#~(append
|
||||
#$flags
|
||||
(list "--disable-c++tools"
|
||||
#$@(if (since-version? "11") #~("--disable-libatomic") #~())
|
||||
"--disable-libcc1"
|
||||
"--disable-libgomp"
|
||||
"--disable-libitm"
|
||||
"--disable-libquadmath"
|
||||
"--disable-libsanitizer"
|
||||
"--disable-libssp"
|
||||
#$@(if (until-version? "15") #~("--disable-libstdcxx") #~())
|
||||
"--disable-plugin")))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'strip 'gdc-cleanup-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define (delete-except-matches prefix patterns)
|
||||
;; Remove all files except for those matching any of the
|
||||
;; patterns.
|
||||
(define (should-delete? path statbuf)
|
||||
(define suffix (substring path (string-length prefix)))
|
||||
(not (or (zero? (string-length suffix))
|
||||
(any (cut string-match <> suffix)
|
||||
patterns))))
|
||||
(for-each (lambda (path)
|
||||
(format #t "Deleting ~a\n" path)
|
||||
(delete-file path))
|
||||
(find-files prefix should-delete?))
|
||||
;; Clean up empty directories.
|
||||
(define (dir-empty? path statbuf)
|
||||
(and (eq? (stat:type statbuf) 'directory)
|
||||
(zero? (length (filter
|
||||
(lambda (name)
|
||||
(not (or (string=? name ".")
|
||||
(string=? name ".."))))
|
||||
(scandir path))))))
|
||||
(while #t
|
||||
(let* ((empty-dirs (find-files prefix dir-empty?
|
||||
#:stat lstat
|
||||
#:directories? #t)))
|
||||
(if (zero? (length empty-dirs))
|
||||
(break)
|
||||
(for-each rmdir empty-dirs)))))
|
||||
;; Leave out non-GDC binaries, man pages, locale files, and
|
||||
;; c++ headers.
|
||||
(delete-except-matches
|
||||
(assoc-ref outputs "out")
|
||||
(list "^/bin/.*gdc$"
|
||||
"^/libexec/"
|
||||
"^/share/info/gdc"
|
||||
"^/share/man/man1/gdc"
|
||||
"^/share/man/man7/"))
|
||||
;; Leave out C/C++ libraries, headers and empty directories.
|
||||
(delete-except-matches
|
||||
(assoc-ref outputs "lib")
|
||||
(list "^/lib/gcc/.*/include/d/"
|
||||
"^/lib/gcc/.*/.*\\.[ao]$"
|
||||
"^/lib/libgcc_s.*"
|
||||
"^/lib/libgdruntime.*"
|
||||
"^/lib/libgphobos.*"))
|
||||
;; Repeat for the debug files.
|
||||
(delete-except-matches
|
||||
(assoc-ref outputs "debug")
|
||||
(list "^/lib/debug/.*/bin/.*gdc\\.debug$"
|
||||
"^/lib/debug/.*/lib/libgcc_s"
|
||||
"^/lib/debug/.*/lib/libgdruntime"
|
||||
"^/lib/debug/.*/lib/libgphobos"))))))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs gdc)
|
||||
;; This makes flags like -static-libstdc++ work. Required for using this
|
||||
;; compiler as a bootstrap compiler for GDC 12+.
|
||||
;; Additionally, this allows us to support linking with GCC libraries,
|
||||
;; without building or storing them ourselves.
|
||||
(append (list gcc "lib"))))
|
||||
(native-inputs
|
||||
(let ((orig (package-native-inputs gdc)))
|
||||
(if bootstrap-gdc
|
||||
(modify-inputs orig
|
||||
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
|
||||
;; to build.
|
||||
(append bootstrap-gdc))
|
||||
orig)))
|
||||
(synopsis "GNU D Compiler")
|
||||
(description
|
||||
(string-append
|
||||
"GDC is the D frontend for the @acronym{GNU Compiler Collection,GCC}. It
|
||||
also includes the druntime and phobos libraries."
|
||||
(if frontend-version
|
||||
(format #f "~%~%This compiler is based on the DMD frontend version ~a."
|
||||
frontend-version)
|
||||
"")))
|
||||
(home-page "https://www.gdcproject.org/")))
|
||||
|
||||
;;; Alias tracking the latest GDC version.
|
||||
(define-public gdc
|
||||
(hidden-package
|
||||
(let ((base (custom-gcc gcc
|
||||
"gdc" '("d")
|
||||
%generic-search-paths)))
|
||||
(package
|
||||
(inherit base)
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs base)
|
||||
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
|
||||
;; to build.
|
||||
;; XXX: GCC must be prepended as well to avoid an issue with the C++
|
||||
;; headers ordering.
|
||||
(prepend gcc gdc-11)))))))
|
||||
(define-public gdc-9
|
||||
(make-gdc gcc-9 #:frontend-version "2.076.2"))
|
||||
|
||||
(define-public gdc-10
|
||||
(make-gdc gcc-10 #:frontend-version "2.076.2"))
|
||||
|
||||
(define-public gdc-11
|
||||
(make-gdc gcc-11 #:frontend-version "2.076.2"))
|
||||
|
||||
(define-public gdc-12
|
||||
(make-gdc gcc-12 gdc-11 #:frontend-version "2.100.2"))
|
||||
|
||||
(define-public gdc-13
|
||||
(make-gdc gcc-13 gdc-11 #:frontend-version "2.103.1"))
|
||||
|
||||
(define-public gdc-14
|
||||
(make-gdc gcc-14 gdc-11 #:frontend-version "2.108.1"))
|
||||
|
||||
(define-public gdc-15
|
||||
(make-gdc gcc-15 gdc-11 #:frontend-version "2.111.0"))
|
||||
|
||||
(define-public gdc gdc-14)
|
||||
|
||||
(define* (make-gdmd gdc)
|
||||
(let ((gdc-version (package-version gdc))
|
||||
(gdmd-version "0.26.0"))
|
||||
(package
|
||||
(name "gdmd")
|
||||
(version (string-append gdc-version "-" gdmd-version))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/D-Programming-GDC/gdmd")
|
||||
(commit (string-append "script-" gdmd-version))))
|
||||
(file-name (git-file-name name gdmd-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i9warhlwyspjs3rpvs2989820909lgzjnsflpd9mp2flq7isjh0"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("dmd-script" "bin/gdmd")
|
||||
("dmd-script.1" "share/man/man1/gdmd.1"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-gdc-location
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "dmd-script"
|
||||
(("my \\$gdc_dir.*")
|
||||
(string-append "my $gdc_dir = \""
|
||||
(dirname
|
||||
(search-input-file inputs "/bin/gdc"))
|
||||
"\";\n"))))))))
|
||||
(inputs (list gdc perl))
|
||||
(synopsis "DMD-like wrapper for GDC")
|
||||
(description "This package provides a DMD-like wrapper for the
|
||||
@acronym{GNU D Compiler,GDC}.")
|
||||
(license gpl3+)
|
||||
(home-page "https://github.com/D-Programming-GDC/gdmd"))))
|
||||
|
||||
(define-public gdmd-9
|
||||
(make-gdmd gdc-9))
|
||||
|
||||
(define-public gdmd-10
|
||||
(make-gdmd gdc-10))
|
||||
|
||||
(define-public gdmd-11
|
||||
(make-gdmd gdc-11))
|
||||
|
||||
(define-public gdmd-12
|
||||
(make-gdmd gdc-12))
|
||||
|
||||
(define-public gdmd-13
|
||||
(make-gdmd gdc-13))
|
||||
|
||||
(define-public gdmd-14
|
||||
(make-gdmd gdc-14))
|
||||
|
||||
(define-public gdmd-15
|
||||
(make-gdmd gdc-15))
|
||||
|
||||
(define-public gdmd gdmd-14)
|
||||
|
||||
(define-public gm2
|
||||
(hidden-package
|
||||
|
||||
@@ -1,154 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;;
|
||||
;;; 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 genimage)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bootloaders)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpio)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages mtools)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages virtualization))
|
||||
|
||||
(define-public genimage
|
||||
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "genimage")
|
||||
(version (git-version "18" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pengutronix/genimage")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules
|
||||
((ice-9 match)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'guixify
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(map (match-lambda
|
||||
((input directory regexp)
|
||||
(substitute* "config.c"
|
||||
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
|
||||
(string-append ".def = \"" (assoc-ref inputs input)
|
||||
"/" directory "/" command "\"")))))
|
||||
'(("cpio" "bin" "cpio")
|
||||
("coreutils" "bin" "dd")
|
||||
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
|
||||
("genext2fs" "bin" "genext2fs")
|
||||
("cdrkit-libre" "bin" "genisoimage")
|
||||
("mtools" "bin" "mcopy|mmd")
|
||||
;; mkcramfs is obsolete.
|
||||
("dosfstools" "sbin" "mkdosfs")
|
||||
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
|
||||
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
|
||||
("squashfs-tools" "bin" "mksquashfs")
|
||||
("qemu" "bin" "qemu-img")
|
||||
;; rauc and fiptool are unsupported.
|
||||
("tar" "bin" "tar")
|
||||
("u-boot-tools" "bin" "mkimage")))
|
||||
(substitute* "util.c"
|
||||
(("\"/bin/sh\"")
|
||||
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
|
||||
(add-before 'check 'disable-failing-tests
|
||||
(lambda _
|
||||
;; We don't have /etc/passwd so uid 0 is not known as "root".
|
||||
;; Thus patch it out.
|
||||
(substitute* '("test/flash.test")
|
||||
(("test_expect_success \"flash\"")
|
||||
"test_expect_fail \"flash\""))
|
||||
(substitute* '("test/hdimage.test")
|
||||
(("test_expect_success fdisk,sfdisk \"hdimage\"")
|
||||
"test_expect_fail fdisk,sfdisk \"hdimage\"")
|
||||
(("test_expect_success hexdump \"hdimage no-partition\"")
|
||||
"test_expect_fail hexdump \"hdimage no-partition\""))))
|
||||
(add-before 'check 'fix-failing-tests
|
||||
(lambda _
|
||||
;; We don't have /etc/passwd so uid 0 is not known as "root".
|
||||
;; Thus patch it out.
|
||||
(substitute* '("test/ext2test.2.dump"
|
||||
"test/ext3test.2.dump"
|
||||
"test/ext4test.2.dump"
|
||||
"test/ext2test-percent.2.dump"
|
||||
"test/mke2fs.2.dump"
|
||||
"test/mke2fs.3.dump")
|
||||
(("root") "unknown"))))
|
||||
(add-before 'check 'setenv-check
|
||||
(lambda _
|
||||
;; Our container doesn't provide access to /etc/mtab
|
||||
(setenv "EXT2FS_NO_MTAB_OK" "1")
|
||||
;; Make test reproducible
|
||||
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
|
||||
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
;;; Note: cramfs is obsolete.
|
||||
dtc ; for the tests
|
||||
pkg-config
|
||||
util-linux)) ; for the tests
|
||||
(inputs
|
||||
`(("bash" ,bash)
|
||||
("cdrkit-libre" ,cdrkit-libre)
|
||||
("cpio" ,cpio)
|
||||
;; Note: invoked by final executable.
|
||||
("coreutils" ,coreutils) ; chmod, dd
|
||||
("dosfstools" ,dosfstools)
|
||||
("e2fsprogs" ,e2fsprogs)
|
||||
("f2fs-tools" ,f2fs-tools)
|
||||
("genext2fs" ,genext2fs)
|
||||
("libconfuse" ,libconfuse)
|
||||
("mtd-utils" ,mtd-utils)
|
||||
("mtools" ,mtools)
|
||||
("qemu" ,qemu-minimal)
|
||||
("squashfs-tools" ,squashfs-tools)
|
||||
("tar" ,tar)
|
||||
("u-boot-tools" ,u-boot-tools)))
|
||||
(synopsis "Create Flash images according to specification")
|
||||
(description "@command{genimage} creates Flash images according to a
|
||||
specification file.")
|
||||
(home-page "https://github.com/pengutronix/genimage")
|
||||
(license license:gpl2))))
|
||||
@@ -20,7 +20,7 @@
|
||||
;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org>
|
||||
;;; Copyright © 2022 Patrick Noll <patrick@patricknoll.com>
|
||||
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
|
||||
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
|
||||
;;; Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
@@ -500,7 +500,7 @@ topology functions.")
|
||||
(define-public gnome-maps
|
||||
(package
|
||||
(name "gnome-maps")
|
||||
(version "49.3")
|
||||
(version "49.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -508,7 +508,7 @@ topology functions.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pxx50cig25dz0ab5xkbppnibb4zcv3r3vy31dkn6ncf24vykj5z"))))
|
||||
"1c04z2ly9vri98gmn4p5lhmfxhqjsc6rqz7kyprf0shdsicazyl6"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -532,14 +532,9 @@ topology functions.")
|
||||
"share/zoneinfo"))))
|
||||
(add-after 'install 'wrap
|
||||
(lambda _
|
||||
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(substitute* (string-append #$output "/share/gnome-maps/"
|
||||
"org.gnome.Maps")
|
||||
(("imports\\.package\\.init" all)
|
||||
(string-append "'" gi-typelib-path "'.split(':').forEach("
|
||||
"path => imports.gi.GIRepository.Repository."
|
||||
"prepend_search_path(path));\n"
|
||||
all)))))))))
|
||||
(wrap-program (string-append #$output "/bin/gnome-maps")
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
`(,glib "bin")
|
||||
@@ -548,7 +543,8 @@ topology functions.")
|
||||
pkg-config
|
||||
tzdata-for-tests))
|
||||
(inputs
|
||||
(list folks
|
||||
(list bash-minimal
|
||||
folks
|
||||
evolution-data-server
|
||||
geoclue
|
||||
geocode-glib
|
||||
@@ -567,7 +563,7 @@ topology functions.")
|
||||
libshumate
|
||||
libsoup
|
||||
libxml2
|
||||
webkitgtk-for-gtk3))
|
||||
webkitgtk))
|
||||
(synopsis "Graphical map viewer and wayfinding program")
|
||||
(description "GNOME Maps is a graphical map viewer. It uses map data from
|
||||
the OpenStreetMap project. It can provide directions for walking, bicycling,
|
||||
|
||||
@@ -141,6 +141,83 @@
|
||||
It uses pandoc as back-end for parsing Markdown.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public amberol
|
||||
(package
|
||||
(name "amberol")
|
||||
(version "2025.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/World/amberol.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ymzpf9lkhibaaah059a0pncy23kk9xiq1w37clqc5hhwzpqwpmw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:tests? #f ;no tests
|
||||
#:imported-modules `(,@%meson-build-system-modules
|
||||
,@%cargo-build-system-modules)
|
||||
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build meson-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-for-build
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false")
|
||||
(("update_desktop_database: true")
|
||||
"update_desktop_database: false"))
|
||||
(substitute* "meson.build"
|
||||
(("'Cargo.lock',")
|
||||
""))
|
||||
(delete-file "Cargo.lock")))
|
||||
(add-after 'configure 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
(lambda (phase)
|
||||
(format #t "Running cargo phase: ~a~%" phase)
|
||||
(apply (assoc-ref cargo:%standard-phases phase)
|
||||
#:vendor-dir "vendor"
|
||||
#:cargo-target #$(cargo-triplet)
|
||||
args))
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
check-for-pregenerated-files
|
||||
patch-cargo-checksums))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/amberol")
|
||||
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix
|
||||
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
|
||||
(native-inputs
|
||||
(cons* bash-minimal
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
pkg-config
|
||||
rust
|
||||
`(,rust "cargo")
|
||||
(or (and=> (%current-target-system)
|
||||
(compose list make-rust-sysroot))
|
||||
'())))
|
||||
(inputs
|
||||
(cons* bash-minimal
|
||||
gstreamer
|
||||
gst-plugins-bad
|
||||
gtk
|
||||
libadwaita
|
||||
(cargo-inputs 'amberol)))
|
||||
(home-page "https://apps.gnome.org/Amberol/")
|
||||
(synopsis "Music player for GNOME")
|
||||
(description "Amberol is a minimalistic music player for GNOME. It works
|
||||
with one playlist in which you can add local audio files and directories.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public blanket
|
||||
(package
|
||||
(name "blanket")
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
;;; Copyright © 2019, 2024, 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
|
||||
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
|
||||
;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2019-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2019 David Wilson <david@daviwil.com>
|
||||
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
|
||||
@@ -82,7 +82,7 @@
|
||||
;;; Copyright © 2024 Justin Veilleux <terramorpha@cock.li>
|
||||
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
|
||||
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
|
||||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2025, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2025 Abra K. <abra_k_332@protonmail.me>
|
||||
;;; Copyright © 2025 Ben Hansen <git@beha.pw>
|
||||
;;; Copyright © 2026 Roman Riabenko <roman@riabenko.com>
|
||||
@@ -188,6 +188,7 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node-xyz)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages openldap)
|
||||
@@ -652,6 +653,73 @@ of writing test cases for asynchronous interactions.")
|
||||
(home-page "https://launchpad.net/gtx")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public decibels
|
||||
(package
|
||||
(name "decibels")
|
||||
(version "49.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jkkyv9r87skqyjhzflzzczzwf3ycwnavw1r3qa6jzlnwai9pdr9"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-gst-init
|
||||
(lambda _
|
||||
;; `null' is no longer accepted as of gstreamer 2.28.1 (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/decibels/-/merge_requests/178>).
|
||||
(substitute* "src/stream.ts"
|
||||
(("Gst.init\\(null)")
|
||||
"Gst.init([])"))))
|
||||
(add-after 'unpack 'skip-gnome-post-install
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false")
|
||||
(("update_desktop_database: true")
|
||||
"update_desktop_database: false"))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(let ((typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program (string-append #$output "/bin/org.gnome.Decibels")
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,typelib-path))))))
|
||||
(add-after 'glib-or-gtk-wrap 'install-alias
|
||||
(lambda _
|
||||
(symlink (string-append #$output "/bin/org.gnome.Decibels")
|
||||
(string-append #$output "/bin/decibels")))))))
|
||||
(native-inputs
|
||||
(list blueprint-compiler
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
pkg-config
|
||||
node-typescript))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
gjs
|
||||
gst-plugins-bad ;for GstPlay
|
||||
gstreamer
|
||||
libadwaita))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/decibels")
|
||||
(synopsis "GNOME audio file player")
|
||||
(description "Decibels, also known as Audio Player, is an audio player
|
||||
focused on simplicity. It offers few advanced features such as:
|
||||
@itemize
|
||||
@item{An elegant waveform of the track.}
|
||||
@item{Adjustable playback speed.}
|
||||
@item{Easy seek controls.}
|
||||
@item{Playing multiple files at the same time.}
|
||||
@end itemize")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public dee
|
||||
(package
|
||||
(name "dee")
|
||||
@@ -915,6 +983,7 @@ tomorrow, the rest of the week and for special occasions.")
|
||||
gtk
|
||||
gvfs
|
||||
json-glib
|
||||
localsearch
|
||||
libadwaita
|
||||
libdazzle
|
||||
libmediaart
|
||||
@@ -922,8 +991,7 @@ tomorrow, the rest of the week and for special occasions.")
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
python
|
||||
tracker
|
||||
tracker-miners))
|
||||
tinysparql))
|
||||
(synopsis "Simple music player for GNOME desktop")
|
||||
(description "GNOME Music is the new GNOME music playing application that
|
||||
aims to combine an elegant and immersive browsing experience with simple
|
||||
@@ -945,6 +1013,16 @@ and straightforward controls.")
|
||||
(base32
|
||||
"0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list bison flex))
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-rpcgen-parse
|
||||
(lambda _
|
||||
(substitute* "rpcgen_parse.y"
|
||||
(("#include \"rpcgen_int.h\"")
|
||||
(string-append
|
||||
"#include \"rpcgen_int.h\"\n"
|
||||
"int yylex();\n"))))))))
|
||||
(synopsis "External Data Representation Library")
|
||||
(description "PortableXDR is an implementation of External Data
|
||||
Representation (XDR) Library. It is a standard data serialization format, for
|
||||
@@ -10412,6 +10490,7 @@ playing media, scanning, and much more.")
|
||||
(propagated-inputs
|
||||
(list baobab
|
||||
cheese
|
||||
decibels
|
||||
epiphany
|
||||
evince
|
||||
file-roller
|
||||
@@ -10445,7 +10524,7 @@ playing media, scanning, and much more.")
|
||||
dbus
|
||||
dconf
|
||||
desktop-file-utils
|
||||
font-abattis-cantarell
|
||||
font-adwaita
|
||||
font-dejavu
|
||||
gnome-default-applications
|
||||
gnome-online-accounts
|
||||
@@ -11242,6 +11321,10 @@ supports both X and Wayland display servers.")
|
||||
(sha256
|
||||
(base32 "17ampw9p1fp7s7i43cz9r68v6mm7xmb1sndx1mqmkns35kn8yl8a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
|
||||
(native-inputs
|
||||
(list desktop-file-utils intltool pkg-config))
|
||||
(inputs
|
||||
@@ -12472,7 +12555,7 @@ desktop environment.")
|
||||
(define-public gnome-boxes
|
||||
(package
|
||||
(name "gnome-boxes")
|
||||
(version "48.1")
|
||||
(version "49.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -12480,7 +12563,7 @@ desktop environment.")
|
||||
(version-major version) "/"
|
||||
"gnome-boxes-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1q2zzq6hizz5dillhqqddddlyjz7wy1sffyj06mh9axdrpa5aaj1"))))
|
||||
(base32 "1jj41r9ras2ys0r2cw8f5bs3nkz0fj1jl693sc5q50yhvl0qhism"))))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
@@ -12496,11 +12579,7 @@ desktop environment.")
|
||||
(substitute* "src/installed-media.vala"
|
||||
(("qemu-img")
|
||||
(search-input-file inputs
|
||||
"/bin/qemu-img")))))
|
||||
(add-before 'configure 'relax-gcc-14-strictness
|
||||
(lambda _
|
||||
(setenv "CFLAGS"
|
||||
"-g -O2 -Wno-error=int-conversion"))))))
|
||||
"/bin/qemu-img"))))))))
|
||||
(native-inputs
|
||||
(list desktop-file-utils ;for update-desktop-database
|
||||
gettext-minimal
|
||||
|
||||
@@ -527,7 +527,7 @@ gpgpme starting with version 1.7.")
|
||||
(package
|
||||
(name "guile-gcrypt")
|
||||
(version "0.5.0")
|
||||
(home-page "https://notabug.org/cwebber/guile-gcrypt")
|
||||
(home-page "https://codeberg.org/guile-gcrypt/guile-gcrypt")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
|
||||
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
|
||||
;;; Copyright © 2023 conses <contact@conses.eu>
|
||||
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2023, 2024, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
|
||||
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
|
||||
;;; Copyright © 2024 Superfly Johnson <superfly.johnson@yahoo.com>
|
||||
@@ -182,6 +182,31 @@ can be ignored.")
|
||||
keys, no configuration options, and Unix-style composability.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-filippo-io-bigmod
|
||||
(package
|
||||
(name "go-filippo-io-bigmod")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/FiloSottile/bigmod")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "029h8qh9ym384q56aprm1if9arq7kmqdsv6l2wbjhkq8w307vd7r"))))
|
||||
(build-system go-build-system)
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-sys))
|
||||
(arguments
|
||||
'(#:import-path "filippo.io/bigmod"))
|
||||
(home-page "https://github.com/FiloSottile/bigmod")
|
||||
(synopsis "Constant-time library for big integers modulo a prime")
|
||||
(description "Bigmod is a constant-time library for big integers modulo a
|
||||
prime, usable for cryptographic applications. Exported from
|
||||
crypto/internal/bigmod, the backend of crypto/rsa and crypto/ecdsa.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-filippo-io-edwards25519
|
||||
(package
|
||||
(name "go-filippo-io-edwards25519")
|
||||
|
||||
@@ -1125,7 +1125,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(package
|
||||
(inherit go-1.24)
|
||||
(name "go")
|
||||
(version "1.25.7")
|
||||
(version "1.25.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1134,7 +1134,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(commit (string-append "go" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mjygpbswf91af07bbc1xpbw1adbcd210401rp5wpqv6d5rqn3jc"))))
|
||||
(base32 "0vgz80mrxlkljr8ynficwvshinirqxbiv2ikscf941ladbv0g604"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.24)
|
||||
((#:phases phases)
|
||||
@@ -1170,7 +1170,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(package
|
||||
(inherit go-1.24)
|
||||
(name "go")
|
||||
(version "1.26.0")
|
||||
(version "1.26.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1179,7 +1179,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(commit (string-append "go" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1n37n62bg2kb39s4a5273lpmqk1n5f5yi6jgfm8m7489j11ay8rl"))))
|
||||
(base32 "1blfc89jxlr7n35j77i523k8rsxvz16f44qzd0h65c940zrrmf77"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.24)
|
||||
((#:phases phases)
|
||||
|
||||
@@ -338,14 +338,14 @@ another.")
|
||||
(define-public orc
|
||||
(package
|
||||
(name "orc")
|
||||
(version "0.4.41")
|
||||
(version "0.4.42")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/data/src/"
|
||||
"orc/orc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18kz8sc8vh0rzk0n221zc8km9pp9gdcjsr04phwwv2ajcm7zs6yb"))))
|
||||
"03694b8jnaqhi9z49v45qchcbvp1i9maamn4fiwcjg5gb6mi5jby"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@@ -375,7 +375,7 @@ arrays of data.")
|
||||
(define-public gstreamer-docs
|
||||
(package
|
||||
(name "gstreamer-docs")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -383,7 +383,7 @@ arrays of data.")
|
||||
"/gstreamer-docs-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
|
||||
"0bp2rffj82a8c5l119dv4kxjkl1l35d9b0lynfc0vk2krcrb5xyv"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
@@ -435,7 +435,7 @@ the GStreamer multimedia framework.")
|
||||
(define-public gstreamer
|
||||
(package
|
||||
(name "gstreamer")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -444,7 +444,7 @@ the GStreamer multimedia framework.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
|
||||
"0125cqbm5a2bhi37bzs6hgj89r057py3zhkmrfc8ggxx6px2ypmn"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:disallowed-references (list (this-package-native-input "python"))
|
||||
@@ -516,7 +516,7 @@ This package provides the core library and elements.")
|
||||
(define-public gst-plugins-base
|
||||
(package
|
||||
(name "gst-plugins-base")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -524,11 +524,13 @@ This package provides the core library and elements.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cvrq9767w0aqzinifbirbc95jg4i4md4b8f4b70hlq217pzkyaf"))))
|
||||
"15r42ff1mwkj5p3z0dij6d9isi1q02gmjnp8i26xgx9gm71a8ihl"))
|
||||
(patches (search-patches "gst-plugins-base-null-pointer.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(propagated-inputs
|
||||
(list glib ;required by gstreamer-sdp-1.0.pc
|
||||
gstreamer ;required by gstreamer-plugins-base-1.0.pc
|
||||
libdrm ;required by gstreamer-allocators-1.0.pc
|
||||
libgudev ;required by gstreamer-gl-1.0.pc
|
||||
;; wayland-client.h is referred to in
|
||||
;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
|
||||
@@ -570,9 +572,8 @@ This package provides the core library and elements.")
|
||||
(lambda _
|
||||
(substitute* "tests/check/meson.build"
|
||||
;; This test causes nondeterministic failures (see:
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
|
||||
((".*'elements/appsrc.c'.*")
|
||||
""))
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
|
||||
((".*'elements/appsrc.c'.*") ""))
|
||||
;; Some other tests fail on other architectures.
|
||||
#$@(cond
|
||||
((target-x86-32?)
|
||||
@@ -624,7 +625,7 @@ for the GStreamer multimedia library.")
|
||||
(define-public gst-plugins-good
|
||||
(package
|
||||
(name "gst-plugins-good")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -633,7 +634,7 @@ for the GStreamer multimedia library.")
|
||||
"https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0lrwscda9yy8a61bv65c3392vb5m8phrl5i7bwgbprnz1rkwjkpy"))))
|
||||
(base32 "139n8in88003dbx4kv6i69zhl4bs07f1mf201q2n4yhvwjp2d3kk"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -744,14 +745,14 @@ model to base your own plug-in on, here it is.")
|
||||
(define-public gst-plugins-bad
|
||||
(package
|
||||
(name "gst-plugins-bad")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/src/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qbmblksgl2nmbi6brw54b1bzziw9flvqk2zb576y9qlmyn8vi4m"))
|
||||
"18hk8gh97r2cwdazl5ikjwsczk3bkvr4z7nmjc45bdgqhwvmkhan"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -957,7 +958,7 @@ par compared to the rest.")
|
||||
(define-public gst-plugins-ugly
|
||||
(package
|
||||
(name "gst-plugins-ugly")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -965,7 +966,7 @@ par compared to the rest.")
|
||||
(string-append "https://gstreamer.freedesktop.org/src/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "19fvv6rvrcvhw4lnx078xb4b85pzbwbrqwdk841sqd7pjpl5wzs1"))))
|
||||
(base32 "0y2sz79ms498mag3rsvkng8q5pmg9f2v0njfq3zw7k1z0v5z70j0"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||
@@ -1014,7 +1015,7 @@ think twice about shipping them.")
|
||||
(define-public gst-libav
|
||||
(package
|
||||
(name "gst-libav")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1023,7 +1024,7 @@ think twice about shipping them.")
|
||||
"https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0kbjs8z545maj3j2qzgpg41v3yr53q1c852v80zbmf5rld87xnis"))))
|
||||
(base32 "16zfxw6h865sqi71j47lllr3y7jlnwsrwmfxvjnxh3wdlfn1madz"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list perl pkg-config python-wrapper ruby))
|
||||
(inputs (list ffmpeg))
|
||||
@@ -1037,7 +1038,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
|
||||
(define-public gst-editing-services
|
||||
(package
|
||||
(name "gst-editing-services")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1045,7 +1046,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
|
||||
"gst-editing-services-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lkgs5h76qzqfpqvi31vs5xr68bbi0kwkw2g0ahvcs1l5hysj86x"))))
|
||||
"1p0ml4yyqs840l9zlgw41k1lh8z9jvaangap5azfwsrmw75h0q1x"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1093,7 +1094,7 @@ given, also pass them to the build system instead of the ones used by PKG."
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'disable-auto-plugins
|
||||
(lambda _
|
||||
(substitute* "meson_options.txt"
|
||||
(substitute* "meson.options"
|
||||
(("'auto'") "'disabled'")))))))))))
|
||||
|
||||
(define-public gst-plugins-bad-minimal
|
||||
@@ -1107,14 +1108,14 @@ binary, but none of the actual plugins.")))
|
||||
(define-public gst-rtsp-server
|
||||
(package
|
||||
(name "gst-rtsp-server")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1ibg83sa0nswqan5fg378bg36jis5sn1dwfl1mvqjiw4m59qlpj1"))))
|
||||
(base32 "0cpqvdxr7falww14xblqs7la6q2f1z1zbli4vjdp9yqcy9mfil3c"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -1142,7 +1143,7 @@ RTSP connections and messages.")
|
||||
(define-public python-gst
|
||||
(package
|
||||
(name "python-gst")
|
||||
(version "1.26.3")
|
||||
(version "1.28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1150,7 +1151,7 @@ RTSP connections and messages.")
|
||||
"gst-python-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
|
||||
"11bhdylgkfcgdlfcv61vyjp0f27sqp3i4y7d8c2a2nxrmnaylz6l"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1162,7 +1163,22 @@ RTSP connections and messages.")
|
||||
#:configure-flags
|
||||
#~(list (string-append
|
||||
"-Dpygi-overrides-dir="
|
||||
(py:site-packages %build-inputs %outputs) "/gi/overrides"))))
|
||||
(py:site-packages %build-inputs %outputs) "/gi/overrides"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-problematic-tests
|
||||
(lambda _
|
||||
;; The 'fundamentals' test fails with a segmentation fault since
|
||||
;; 1.28.1 (see:
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4937>).
|
||||
(substitute* "testsuite/meson.build"
|
||||
((".*'fundamentals',.*") ""))))
|
||||
(delete 'check) ;moved after install
|
||||
(add-after 'install 'check
|
||||
(assoc-ref %standard-phases 'check))
|
||||
(add-before 'check 'add-install-to-pythonpath
|
||||
;; Required for the 'plugins' test.
|
||||
(assoc-ref py:%standard-phases 'add-install-to-pythonpath)))))
|
||||
(native-inputs
|
||||
(list pkg-config python))
|
||||
;; XXX: Move back to propagated-inputs once we no longer need to use
|
||||
|
||||
@@ -1672,62 +1672,6 @@ documents.")
|
||||
("guile-cairo" ,guile2.2-cairo)
|
||||
("guile-rsvg" ,guile2.2-rsvg)))))
|
||||
|
||||
(define-public guile-gnome
|
||||
(package
|
||||
(name "guile-gnome")
|
||||
(version "2.16.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "mirror://gnu/" name
|
||||
"/guile-gnome-platform/guile-gnome-platform-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gnf3j96nip5kl99a268i0dy1hj7s1cfs66sps3zwysnkd7qr399"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
at-spi2-core
|
||||
;;("corba" ,corba) ; not packaged yet
|
||||
gconf
|
||||
gobject-introspection
|
||||
;;("gthread" ,gthread) ; not packaged yet
|
||||
gnome-vfs
|
||||
gdk-pixbuf
|
||||
gtk+-2
|
||||
libglade
|
||||
libgnome
|
||||
libgnomecanvas
|
||||
libgnomeui
|
||||
pango
|
||||
libffi
|
||||
glib))
|
||||
(inputs (list guile-2.2))
|
||||
(propagated-inputs
|
||||
`(("guile-cairo" ,guile2.2-cairo)
|
||||
("g-wrap" ,g-wrap)
|
||||
("guile-lib" ,guile2.2-lib)))
|
||||
(arguments
|
||||
`(#:tests? #f ;FIXME
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before 'configure 'pre-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* (find-files "." "^Makefile.in$")
|
||||
(("guilesite :=.*guile/site" all)
|
||||
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))
|
||||
#t))))))
|
||||
(outputs '("out" "debug"))
|
||||
(synopsis "Guile interface for GTK+ programming for GNOME")
|
||||
(description
|
||||
"Includes guile-clutter, guile-gnome-gstreamer,
|
||||
guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
|
||||
(home-page "https://www.gnu.org/software/guile-gnome/")
|
||||
(license license:gpl2+)
|
||||
(properties '((upstream-name . "guile-gnome-platform")
|
||||
(ftp-directory . "/gnu/guile-gnome/guile-gnome-platform")))))
|
||||
|
||||
;;;
|
||||
;;; C++ bindings.
|
||||
;;;
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022, 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2022, 2025-2026 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com>
|
||||
@@ -169,12 +169,13 @@
|
||||
(name "artanis")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/artanis/artanis-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16cwjyl0ykz6r7vvczrwaik6y4pc0fwc0hvwskfbgv9z71j2alzi"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://https.git.savannah.gnu.org/git/artanis.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0qpksi681z10jsip8ka0phq5kmkpxfcy5nvm861dsbjb335klbb6"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -213,7 +214,10 @@
|
||||
(propagated-inputs
|
||||
(list guile-json-4 guile-curl guile-readline guile-redis))
|
||||
(native-inputs
|
||||
(list bash-minimal ;for the `source' builtin
|
||||
(list autoconf
|
||||
automake
|
||||
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
|
||||
bash-minimal ;for the `source' builtin
|
||||
pkg-config
|
||||
util-linux)) ;for the `script' command
|
||||
(arguments
|
||||
@@ -816,16 +820,16 @@ library for GNU Guile based on the actor model.")
|
||||
(name "guile-daemon")
|
||||
(version "0.1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/alezost/" name
|
||||
"/releases/download/v" version
|
||||
"/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08gaqrgjlly9k5si72vvpbr4xhq5v52l5ma5y6a7spid5dd057cy"))))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alezost/guile-daemon")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0mdxdiwb52zgpz144vii8f4jdia8a7w1i1mpffw8zh3ghglfrjzl"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list autoconf automake texinfo pkg-config))
|
||||
(inputs
|
||||
(list guile-3.0))
|
||||
(home-page "https://github.com/alezost/guile-daemon")
|
||||
@@ -1432,20 +1436,19 @@ HTML (via SXML) or any other format for rendering.")
|
||||
(name "guile-sjson")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dustycloud.org/misc/sjson-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08sr16fg5cqvik3wblav6k4b6djc5ydhgfvxa49bc5bh1irqvrcn"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/dustyweb/guile-sjson")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"1npbla3vy1m0dqvr8gfzx1ncd2mp2cm59mnb7g490vak29kc8s9j"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Allow builds with Guile 3.0.
|
||||
(substitute* "configure"
|
||||
(("2\\.2 2\\.0")
|
||||
"3.0 2.2 2.0"))
|
||||
#t))))
|
||||
;; Allow builds with Guile 3.0.
|
||||
#~(substitute* "configure.ac"
|
||||
(("2\\.2 2\\.0")
|
||||
"3.0 2.2 2.0")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config))
|
||||
@@ -1869,12 +1872,14 @@ types are supported.")
|
||||
(name "guile-aa-tree")
|
||||
(version "3.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-aa-tree/guile-aa-tree-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-aa-tree.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0ghbrszjhv2abgpf11js6grqrri53frysf4360a5yvwhy9bb42pc"))))
|
||||
(build-system guile-build-system)
|
||||
(inputs (list guile-3.0))
|
||||
(arguments
|
||||
@@ -2165,15 +2170,16 @@ allows users to interact with the Guile REPL through Jupyter.")
|
||||
(name "guile-sparql")
|
||||
(version "0.0.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/roelj/guile-sparql/releases/download/"
|
||||
version "/guile-sparql-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1jf4972f9fpm0rd865xpnc9mzl3xv6vhfnp0iygadydy905z9nln"))))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/roelj/guile-sparql")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0iy390dsa0rs6d4gapw1s03gz4zba26w5sdiyvnzlygwv0d1inww"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list autoconf automake texinfo pkg-config))
|
||||
(inputs
|
||||
(list guile-3.0))
|
||||
(home-page "https://github.com/roelj/guile-sparql")
|
||||
@@ -2188,17 +2194,19 @@ using S-expressions.")
|
||||
(name "guile-debbugs")
|
||||
(version "0.0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9"))))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-debbugs.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0ipv3vywx02yhyssq5rp1bifg1qkydgh6kr16vfspxs601q8bbm2"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
(list guile-email))
|
||||
(native-inputs
|
||||
(list guile-3.0 pkg-config))
|
||||
(list autoconf automake texinfo guile-3.0 pkg-config))
|
||||
(home-page "https://savannah.gnu.org/projects/guile-debbugs/")
|
||||
(synopsis "Guile interface to the Debbugs bug tracking service")
|
||||
(description
|
||||
@@ -2449,13 +2457,14 @@ written in pure Scheme by using Guile's foreign function interface.")
|
||||
(name "guile-xosd")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/alezost/" name
|
||||
"/releases/download/v" version
|
||||
"/" name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alezost/guile-xosd")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10r29bpyrsvjalnzkam2falj9k34lvxmch05zs606zp1nk93whp3"))))
|
||||
"0jc88zg6icdg70mxbg732hx5by5bahqjm68yhx2ypqdqi7kqq1fk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@@ -2468,7 +2477,7 @@ written in pure Scheme by using Guile's foreign function interface.")
|
||||
(or (getenv "CPATH") "")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list autoconf automake libtool texinfo pkg-config))
|
||||
(inputs
|
||||
(list guile-3.0 libx11 libxext libxinerama xosd))
|
||||
(home-page "https://github.com/alezost/guile-xosd")
|
||||
@@ -2512,10 +2521,6 @@ library}.")
|
||||
(assoc-ref %standard-phases 'check)))))
|
||||
(native-inputs (list autoconf automake libtool pkg-config))
|
||||
(inputs (list guile-3.0 yaml-cpp))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(home-page "https://gitlab.com/yorgath/guile-yamlpp")
|
||||
(synopsis "Guile YAML reader/writer based on @code{yaml-cpp}")
|
||||
(description
|
||||
@@ -3325,13 +3330,12 @@ writing a Guix package.")))
|
||||
(package
|
||||
(inherit guile-g-golf)
|
||||
(name "g-golf-adw-1-examples")
|
||||
;; XXX: Update version when we have a recent enough libadwaita.
|
||||
(version "0.8.0")
|
||||
(version "0.8.4")
|
||||
(source
|
||||
(g-golf-source #:version version
|
||||
#:hash
|
||||
(content-hash
|
||||
"14b6pjchra0axqifpm90m7jbxla2sarhd7bfhzqbn7d14b74sv2d")))
|
||||
"0qwwvqhhjc141dfj881mah1bgvwlgz111qrh0ml7qf4mc2ssjxqf")))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3354,10 +3358,6 @@ writing a Guix package.")))
|
||||
(chdir "examples/adw-1")
|
||||
;; Re-use the existing Makefile for its wildcard syntax.
|
||||
(rename-file "Makefile.am" "Makefile")
|
||||
(substitute* "Makefile"
|
||||
;; Fix syntax error.
|
||||
(("hello-world")
|
||||
"hello-world \\"))
|
||||
;; Add a rule to install the examples. We install to the
|
||||
;; documentation directory where examples are usually located,
|
||||
;; but we will later create a copy in /bin for `guix shell'.
|
||||
@@ -3374,7 +3374,6 @@ install:
|
||||
for f in $(EXTRA_DIST); do \\
|
||||
cp -r $$f $(examplesdir)/$$f; \\
|
||||
done
|
||||
cp demo/g-resources $(examplesdir)/demo/g-resources
|
||||
" #$output)
|
||||
(close-port port))))
|
||||
(delete 'configure)
|
||||
@@ -3382,10 +3381,7 @@ install:
|
||||
(lambda _
|
||||
;; Create files for adwaita-1-demo needed in install phase.
|
||||
(with-directory-excursion "demo"
|
||||
(system* "make")
|
||||
(system* "glib-compile-resources"
|
||||
"--target" "g-resources"
|
||||
"g-resources.xml"))))
|
||||
(invoke "make"))))
|
||||
(add-before 'install 'patch-scm-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; `current-filename' calls in examples are broken.
|
||||
@@ -3399,7 +3395,12 @@ install:
|
||||
(("^exec guile ")
|
||||
(string-append
|
||||
"exec " (search-input-file inputs "/bin/guile")
|
||||
" ")))))
|
||||
" "))
|
||||
((" \\(compile-g-resources")
|
||||
" (chdir path)(compile-g-resources")
|
||||
(("glib-compile-resources")
|
||||
(search-input-file inputs
|
||||
"/bin/glib-compile-resources")))))
|
||||
(map (cut string-drop <> 2) ;strip ./ prefix
|
||||
(find-files "." (lambda (file stat)
|
||||
;executables or .scm modules
|
||||
@@ -3453,11 +3454,11 @@ install:
|
||||
bash-minimal
|
||||
libadwaita
|
||||
(librsvg-for-system)
|
||||
`(,glib "bin") ;for glib-compile-resources
|
||||
gtk
|
||||
guile-3.0
|
||||
guile-g-golf))
|
||||
(native-inputs (list `(,glib "bin") ;for glib-compile-resources
|
||||
guile-3.0))
|
||||
(native-inputs (list guile-3.0))
|
||||
(propagated-inputs (list))
|
||||
(synopsis "G-Golf Adw-1 examples")
|
||||
(description
|
||||
@@ -3529,10 +3530,6 @@ wrap G-Golf applications when writing a Guix package.")))
|
||||
(install-file "socket.scm" share-dir))))
|
||||
(delete 'check)
|
||||
(delete 'install))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(inputs (list gcc guile-3.0))
|
||||
(synopsis "C bindings for UNIX sockets in multi-scheme (Guile, Gauche,
|
||||
Chicken) Wayland library")
|
||||
@@ -3606,10 +3603,6 @@ Probably can be replaced with guile's built-ins: @code{fdes->ports},
|
||||
(install-file "shm.scm" share-dir))))
|
||||
(delete 'check)
|
||||
(delete 'install))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(inputs (list gcc guile-3.0))
|
||||
(synopsis "C bindings for wayland shared memory (SHM) in multi-scheme
|
||||
(Guile, Gauche, Chicken) wayland library")
|
||||
@@ -3677,10 +3670,6 @@ Probably can be replaced with guile's built-in file-descriptor procedures.")
|
||||
(substitute* (list client-file)
|
||||
(("WAYLAND_BASE_PROTOCOL_PATH")
|
||||
core-protocol-file))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(native-inputs (list guile-3.0 pkg-config texinfo autoconf automake))
|
||||
(inputs (list wayland wayland-protocols))
|
||||
(propagated-inputs (list guile-wayland-scm-socket guile-wayland-scm-shm))
|
||||
@@ -3695,15 +3684,22 @@ client bindings for Wayland.")
|
||||
(name "g-wrap")
|
||||
(version "1.9.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/g-wrap/g-wrap-"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://https.git.savannah.gnu.org/git/g-wrap.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
|
||||
"19bwqfk33djd51ijylvcmz3zz9pqvv1k7bk8k912b1bwbpfr3j0y"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
|
||||
texinfo
|
||||
pkg-config))
|
||||
(propagated-inputs
|
||||
(list guile-2.2 guile-lib))
|
||||
(inputs
|
||||
@@ -3795,14 +3791,34 @@ quotes.")
|
||||
(name "guile-reader")
|
||||
(version "0.6.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-reader/guile-reader-"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-reader.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nqkk4x18i7p3k9jxld4fnk8d69bq9ag6hqsyjzbfw9fmhrh08kb"))))
|
||||
"0y3dq509hwm30ixb3cs3wci2lpni78438q7zz8f7way8vqp5164a"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config gperf))
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'copy-config.rpath
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; This file is not automatically copied by 'autoreconf'.
|
||||
(let ((config-rpath (search-input-file
|
||||
inputs
|
||||
"/share/gettext/config.rpath")))
|
||||
(install-file config-rpath "build-aux")))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
|
||||
texinfo
|
||||
pkg-config
|
||||
gperf))
|
||||
(inputs (list guile-3.0))
|
||||
(synopsis "Framework for building readers for GNU Guile")
|
||||
(description
|
||||
@@ -3831,15 +3847,18 @@ many readers as needed).")
|
||||
(name "guile-ncurses")
|
||||
(version "3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cypz1ikw66n8bc2klsnnaj1plpl22dwq6pwyc7dvffamz7fi2gf"))))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-ncurses.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00xhlca5s278i4g74qgks35ymisa98rhcj63bflja289gpb7j8wf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list ncurses guile-3.0))
|
||||
(native-inputs (list pkg-config))
|
||||
(native-inputs (list autoconf automake libtool texinfo pkg-config))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
((guix build guile-build-system)
|
||||
@@ -3888,13 +3907,16 @@ library.")
|
||||
(name "guile-lib")
|
||||
(version "0.2.8.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ca95g15a88l7rpqcnzmhj1kyxc7gyfbvnni1hckv8z677cc4x0k"))
|
||||
(patches (search-patches "guile-lib-fix-tests-for-guile2.2.patch"))))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-lib.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"1f5a1mi1w487ia677nl8b6gixbgcavnbykzmgqs0yiyrc3w6vdcz"))
|
||||
(patches (search-patches
|
||||
"guile-lib-fix-tests-for-guile2.2.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings
|
||||
@@ -3912,6 +3934,7 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
texinfo
|
||||
gettext-minimal
|
||||
guile-3.0
|
||||
pkg-config))
|
||||
@@ -4063,7 +4086,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
|
||||
(define-public guile-irregex
|
||||
(package
|
||||
(name "guile-irregex")
|
||||
(version "0.9.11")
|
||||
(version "0.9.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -4071,7 +4094,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19"))))
|
||||
"1rmlmkf2pnly7mqi407vi2k6k19m2h44d4jvzfkrizk892qj61yc"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4682,27 +4705,27 @@ a standalone WebAssembly toolchain.")
|
||||
(name "guile-file-names")
|
||||
(version "0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://brandon.invergo.net/software/download/"
|
||||
"guile-file-names/guile-file-names-"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/brandoninvergo/guile-file-names")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01chizdxkhw6aqv629vxka9f5x3534ij7r0jqndawsg2vxm1r9sz"))))
|
||||
"0hmsbvbcl9a7366afcqi0pdhjhlq7l137nkmv1a5z9b8pcgzx90s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-target-directory
|
||||
(lambda _
|
||||
(substitute* "src/Makefile.in"
|
||||
(substitute* "src/Makefile.am"
|
||||
(("guilemoddir = \\$\\(GUILE_SITE\\)")
|
||||
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
|
||||
#t)))))
|
||||
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n")))))))
|
||||
(inputs
|
||||
(list guile-2.2))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list autoconf automake texinfo pkg-config))
|
||||
(home-page "https://gitlab.com/brandoninvergo/guile-file-names")
|
||||
(synopsis "Manipulate file names")
|
||||
(description
|
||||
@@ -5765,12 +5788,14 @@ processing filters.")
|
||||
(name "guile-cv")
|
||||
(version "0.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-cv/guile-cv-"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://https.git.savannah.gnu.org/git/guile-cv.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00620zxm1rxlws7vn1zp2zzcb6y6r3szzj6b4b9fyjb86k972izb"))))
|
||||
"15qmhfiijca2468s8s9xhb0wskiy4wgym9p5jqi4xy30ddnpvyk2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5784,8 +5809,7 @@ processing filters.")
|
||||
(("SITEDIR=\"\\$datadir/guile-cv\"")
|
||||
"SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\"")
|
||||
(("SITECCACHEDIR=\"\\$libdir/guile-cv/")
|
||||
"SITECCACHEDIR=\"$libdir/"))
|
||||
(delete-file "configure"))) ;trigger 'bootstrap' phase
|
||||
"SITECCACHEDIR=\"$libdir/"))))
|
||||
(add-after 'unpack 'substitute-libs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "cv/init.scm"
|
||||
@@ -6032,13 +6056,20 @@ implementation in itself.")
|
||||
(sha256
|
||||
(base32 "0g508aajkyi513wbhm1rhs03ilnb701lwlrvppkmc0vynydlk9ws"))))
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-before 'build 'remove-unnecessary-file
|
||||
(lambda _
|
||||
(delete-file "run-tests.scm")
|
||||
(delete-file-recursively "tests"))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'check
|
||||
(lambda _
|
||||
(invoke "guile" "--no-auto-compile" "run-tests.scm")
|
||||
(delete-file "run-tests.scm")
|
||||
(delete-file-recursively "tests")))
|
||||
(add-after 'build 'install-info-documentation
|
||||
(lambda _
|
||||
(invoke "makeinfo" "doc/guile-uuid.texi" "-o"
|
||||
(string-append #$output "/share/info/")))))))
|
||||
(build-system guile-build-system)
|
||||
(native-inputs (list guile-3.0))
|
||||
(native-inputs (list guile-3.0 texinfo))
|
||||
(propagated-inputs (list guile-gcrypt))
|
||||
(home-page "https://codeberg.org/elb/guile-uuid")
|
||||
(synopsis "UUID generation and manipulation library for Guile Scheme")
|
||||
@@ -6049,7 +6080,6 @@ standard hex-and-dash format of any variant and version.
|
||||
Conversion between binary and hex-and-dash string UUIDs is also included.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
|
||||
(define-public guile-semver
|
||||
(package
|
||||
(name "guile-semver")
|
||||
|
||||
@@ -829,7 +829,7 @@ Guile's foreign function interface.")
|
||||
(package
|
||||
(name "guile-sqlite3")
|
||||
(version "0.1.3")
|
||||
(home-page "https://notabug.org/guile-sqlite3/guile-sqlite3.git")
|
||||
(home-page "https://codeberg.org/guile-sqlite3/guile-sqlite3.git")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -966,13 +966,13 @@ manipulate repositories of the Git version control system.")
|
||||
;; in the same method.
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://notabug.org/guile-zlib/guile-zlib/archive/v"
|
||||
(string-append "https://codeberg.org/guile-compression/guile-zlib/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
;; content nar-sha256: 0rwjlqr1hl2vczs16xsihw8pyj6s70p1yv9ky0sawhm6g30639k9
|
||||
(base32
|
||||
"1h9q7rw8bh5mwa8qjik0pqwcr8v9hnk7xnvwcbsg6yfa695wlv3g"))))
|
||||
"04p9lb3bq5y0k358s8agpksx9x68vzx330cb8jkn4qp3qj7cmnx2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf automake pkg-config guile-3.0))
|
||||
(inputs (list guile-3.0 zlib))
|
||||
@@ -981,7 +981,7 @@ manipulate repositories of the Git version control system.")
|
||||
"This package provides Guile bindings for zlib, a lossless
|
||||
data-compression library. The bindings are written in pure Scheme by using
|
||||
Guile's foreign function interface.")
|
||||
(home-page "https://notabug.org/guile-zlib/guile-zlib")
|
||||
(home-page "https://codeberg.org/guile-compression/guile-zlib")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile2.2-zlib
|
||||
@@ -991,7 +991,7 @@ Guile's foreign function interface.")
|
||||
(package
|
||||
(name "guile-lzlib")
|
||||
(version "0.3.0")
|
||||
(home-page "https://notabug.org/guile-lzlib/guile-lzlib")
|
||||
(home-page "https://codeberg.org/guile-compression/guile-lzlib")
|
||||
(source
|
||||
(origin
|
||||
;; Note: Until "builtin:git-download" can be taken for granted, this
|
||||
@@ -1027,7 +1027,7 @@ pure Scheme by using Guile's foreign function interface.")
|
||||
(package
|
||||
(name "guile-zstd")
|
||||
(version "0.1.1")
|
||||
(home-page "https://notabug.org/guile-zstd/guile-zstd")
|
||||
(home-page "https://codeberg.org/guile-compression/guile-zstd")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page)
|
||||
|
||||
@@ -638,7 +638,7 @@ RGB animations.")
|
||||
(define-public ddcutil
|
||||
(package
|
||||
(name "ddcutil")
|
||||
(version "2.1.4")
|
||||
(version "2.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -647,7 +647,7 @@ RGB animations.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wk82cdg7vddk6pbnn6qq3p71j4bppq13is2ck40glig08ax1bg5"))))
|
||||
(base32 "0mmzfa0g726dmqrmyyysnzxrhdkd93ay4dzzv0kqkvgdcqizh5z8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
@@ -689,7 +689,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
|
||||
(define-public ddcui
|
||||
(package
|
||||
(name "ddcui")
|
||||
(version "0.5.4")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -698,7 +698,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hq19gdy9ybraclkqvv1nlf46irql5b6wrc1y6wi0ihkqly20vgz"))))
|
||||
(base32 "13gqgswkkqbn1x97ayiwj4ds2rbdnw564c2rhpi89zymhc1azj19"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No test suite
|
||||
@@ -1813,7 +1813,7 @@ package also includes @code{usbrelayd}.")))
|
||||
(define-public guile-usbrelay
|
||||
(package
|
||||
(name "guile-usbrelay")
|
||||
(version "0.1.0")
|
||||
(version "0.1.1")
|
||||
(home-page "https://codeberg.org/pisemsky/guile-usbrelay")
|
||||
(source
|
||||
(origin
|
||||
@@ -1823,7 +1823,7 @@ package also includes @code{usbrelayd}.")))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ndgkazv9bnyj45pccym11245c65hlvsvzmx0acpzlywz7xxyy72"))))
|
||||
(base32 "1nghzsash3z398p2bp2vw0a1rzaclq9a6iqxbm7ffyzbldcca81l"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1831,9 +1831,19 @@ package also includes @code{usbrelayd}.")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'compile-ffi
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(lambda _
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
(invoke "guile" "make.scm"))))))
|
||||
(invoke "guild" "compile-ffi" "--no-exec"
|
||||
"modules/usbrelay/ffi/hidapi.ffi")))
|
||||
(add-after 'build 'install-udev-rules
|
||||
(lambda _
|
||||
(let ((rules (string-append #$output "/lib/udev/rules.d")))
|
||||
(mkdir-p rules)
|
||||
(call-with-output-file (string-append rules "/50-usbrelay.rules")
|
||||
(lambda (port)
|
||||
(display (string-append
|
||||
"ATTRS{idVendor}==\"16c0\", ATTRS{idProduct}==\"05df\", "
|
||||
"MODE=\"0660\", GROUP=\"usbrelay\"\n") port)))))))))
|
||||
(native-inputs (list gcc guile-3.0 nyacc pkg-config))
|
||||
(inputs (list hidapi))
|
||||
(propagated-inputs (list nyacc))
|
||||
|
||||
@@ -63,6 +63,49 @@ as approved and published by the @acronym{VHDL, Very High Speed Hardware
|
||||
Description Language} Analysis and Standardization Group.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public json-for-vhdl
|
||||
;; No tagged releases.
|
||||
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "json-for-vhdl")
|
||||
(version (git-version "20220905" revision commit)) ;last revision
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("src" "share/json-for-vhdl/work/src"
|
||||
#:include ("vhdl")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The examples/Encodings_VUnit test requires vhdl builtins.
|
||||
(add-after 'unpack 'fix-check
|
||||
(lambda _
|
||||
(substitute* "tests/VUnit/run.py"
|
||||
(("from_argv\\(\\)")
|
||||
"from_argv()\nvu.add_vhdl_builtins()")))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "FW_JSON_VHDL")
|
||||
(separator #f)
|
||||
(files (list "share/json-for-vhdl")))))
|
||||
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(synopsis "Parse and query JSON data structures in VHDL")
|
||||
(description
|
||||
"The JSON-for-VHDL library provides a parser to query JSON data
|
||||
structures from external files on disk. It provides a context to be
|
||||
used in the declarative section of design units.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public neorv32
|
||||
(package
|
||||
(name "neorv32")
|
||||
@@ -130,7 +173,7 @@ chip written in platform-independent VHDL.")
|
||||
(define-public open-logic
|
||||
(package
|
||||
(name "open-logic")
|
||||
(version "4.4.0")
|
||||
(version "4.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -142,7 +185,7 @@ chip written in platform-independent VHDL.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01kxrglbq50v73796iq9a1vi68i8k2wykk7gga9847smfznqwjwr"))))
|
||||
"1zydrmx35s3mi35im4s4lfd9mmzdwdrnxfh9fg4d12v4ai7ijfrk"))))
|
||||
(outputs
|
||||
'("out" "olo"))
|
||||
(properties
|
||||
@@ -159,6 +202,7 @@ chip written in platform-independent VHDL.")
|
||||
(setenv "HOME" "/tmp")
|
||||
(with-directory-excursion "3rdParty/en_cl_fix/sim"
|
||||
(invoke "python3" "run.py" "--simulator" "nvc"
|
||||
"-p" (number->string (parallel-job-count))
|
||||
"--simulator-path"
|
||||
(dirname (search-input-file inputs "bin/nvc"))))
|
||||
(with-directory-excursion "sim"
|
||||
@@ -167,7 +211,8 @@ chip written in platform-independent VHDL.")
|
||||
;; https://github.com/VUnit/vunit/issues/777
|
||||
(("compile_builtins=False, ")
|
||||
""))
|
||||
(invoke "python3" "run.py" "--nvc" "-v"))))))
|
||||
(invoke "python3" "run.py" "--nvc" "-v"
|
||||
"-p" (number->string (parallel-job-count))))))))
|
||||
#:install-plan
|
||||
#~'(;; Library work.
|
||||
("src" "share/open-logic/work/src"
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls))
|
||||
|
||||
(define-public hexedit
|
||||
@@ -254,11 +255,11 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
(sha256 sha256-hash)))
|
||||
|
||||
(define-public imhex
|
||||
(let* ((version "1.37.4")
|
||||
(let* ((version "1.38.1")
|
||||
(imhex-patterns
|
||||
(make-imhex-patterns
|
||||
version
|
||||
(base32 "0m9g93fzmj2rsgaq25y4mmfigjh1xxyh41zjs6lp5ydsl5hhrn6q"))))
|
||||
(base32 "14c0w3pj3bcrwd6c5b0lbwdxbw003dcmyj5a4d86hab53v6hg91j"))))
|
||||
(package
|
||||
(name "imhex")
|
||||
(version version)
|
||||
@@ -271,7 +272,7 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0l3fpizkz2ykdirbn9alddnnsg75w6kwpp92nvmird13l80z1sdr"))
|
||||
(base32 "17aj8k2zbj78347rvfdy9gassw7kz9xj5vj30skvs5w4gf4lajln"))
|
||||
(modules '((guix build utils) (ice-9 ftw) (ice-9 match)))
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -300,6 +301,7 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
"imgui"
|
||||
;; Needs source to include miniaudio.h
|
||||
"miniaudio"
|
||||
"md4c"
|
||||
"microtar")) ; XXX: unbundle
|
||||
(delete-file-recursively dir)))
|
||||
(scandir "."))
|
||||
@@ -356,7 +358,7 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda _
|
||||
(substitute* "main/gui/source/window/linux_window.cpp"
|
||||
(substitute* "main/gui/source/window/platform/linux.cpp"
|
||||
(("dbus-send")
|
||||
#$(file-append dbus "/bin/dbus-send")))
|
||||
(substitute* "cmake/build_helpers.cmake"
|
||||
@@ -380,9 +382,12 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
curl
|
||||
edlib
|
||||
fmt
|
||||
glfw
|
||||
;; ImHex supports Wayland on GLFW >= 3.4. More info in:
|
||||
;; https://github.com/WerWolv/ImHex/issues/1941#issuecomment-2446252019
|
||||
glfw-3.4
|
||||
libarchive
|
||||
libffi
|
||||
libssh2
|
||||
llvm-17
|
||||
lunasvg
|
||||
plutovg
|
||||
@@ -390,6 +395,7 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
mesa
|
||||
miniaudio
|
||||
nativefiledialog-extended
|
||||
openssl
|
||||
xz
|
||||
fontconfig
|
||||
lz4
|
||||
|
||||
@@ -2003,28 +2003,6 @@ bindings for interpreted languages. This package includes the C++,
|
||||
Python and R interfaces.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public stiff
|
||||
(package
|
||||
(name "stiff")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.astromatic.net/download/stiff/stiff-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "14m92dskzw7bwsr64ha4p0mj3ndv13gwcbfic3qxrs3zq5353s7l"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list libtiff zlib libjpeg-turbo))
|
||||
(home-page "https://www.astromatic.net/software/stiff")
|
||||
(synopsis "Convert scientific FITS images to TIFF format")
|
||||
(description
|
||||
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
|
||||
Transport System} images to the more popular TIFF format for illustration
|
||||
purposes.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-imgviz
|
||||
(package
|
||||
(name "python-imgviz")
|
||||
|
||||
@@ -348,7 +348,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
|
||||
(define-public weechat
|
||||
(package
|
||||
(name "weechat")
|
||||
(version "4.8.1")
|
||||
(version "4.8.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -357,7 +357,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hlhww2pxkvc19lq62fiafwp5mg08m80ahqj1h096gxg5ql07gc2"))))
|
||||
"06lmbd27fdj7z7v6m096csswp73354516z64apfyz8lr5kh140wq"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(native-inputs
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1840,17 +1840,19 @@ for xdg-desktop-portal that is using Qt/KF5.")
|
||||
(arguments
|
||||
(list #:builder #~(begin
|
||||
(mkdir #$output))))
|
||||
;; These inputs are used by plasma-desktop-service-type.
|
||||
(inputs (list bolt ;for plasma-thunderbolt
|
||||
fwupd ;for kinfocenter and discover
|
||||
packagekit)) ;for discover
|
||||
(propagated-inputs (list appmenu-gtk-module
|
||||
aurorae
|
||||
baloo
|
||||
bluedevil
|
||||
bolt ;for plasma-thunderbolt
|
||||
breeze
|
||||
breeze-gtk
|
||||
breeze-icons ;default mouse icon
|
||||
colord
|
||||
discover
|
||||
fwupd
|
||||
kactivitymanagerd
|
||||
kdeclarative ;required by sddm breeze theme
|
||||
kde-cli-tools
|
||||
@@ -1881,7 +1883,6 @@ for xdg-desktop-portal that is using Qt/KF5.")
|
||||
milou
|
||||
ocean-sound-theme
|
||||
oxygen-sounds
|
||||
packagekit ;for discover
|
||||
plasma5support ;required by sddm breeze theme
|
||||
plasma-browser-integration
|
||||
plasma-desktop
|
||||
@@ -3108,6 +3109,7 @@ hardware management, and a high degree of customizability.")
|
||||
kcrash
|
||||
kdbusaddons
|
||||
kiconthemes
|
||||
kirigami
|
||||
knotifications
|
||||
kwidgetsaddons
|
||||
kwindowsystem
|
||||
|
||||
@@ -244,17 +244,17 @@
|
||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
;; ex: date '+%Y%m%d%H%M%S'
|
||||
;; or: (format-time-string "%Y%m%d%H%M%S")
|
||||
(define %librewolf-build-id "20260228165433")
|
||||
(define %librewolf-build-id "20260310210845")
|
||||
|
||||
(define-public librewolf
|
||||
(package
|
||||
(name "librewolf")
|
||||
(version "148.0-1")
|
||||
(version "148.0.2-2")
|
||||
(source
|
||||
(make-librewolf-source
|
||||
#:version version
|
||||
#:firefox-hash "0vybaiiknrzk2zvg46w5sxb0i0m9rmy4msvpxklxpdr3182fb4zc"
|
||||
#:librewolf-hash "02sraza4xy4cp559nlc51m1vwhi52l58i3zz2h95lwymyvc5hv17"
|
||||
#:firefox-hash "142f4k4ykcm65kbvj60p472103r4k79v9fdsfljdav2rbr6qxjx6"
|
||||
#:librewolf-hash "1i0m72i2d0800pxprq18jc040zfzvmg25lw7bi7hgbdh4zvadzdw"
|
||||
#:l10n firefox-l10n))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -185,6 +185,7 @@
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages rocm)
|
||||
#:use-module (gnu packages rpc)
|
||||
#:use-module (gnu packages rrdtool)
|
||||
#:use-module (gnu packages rsync)
|
||||
@@ -530,32 +531,32 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; The current "stable" kernels. That is, the most recently released major
|
||||
;; versions that are still supported upstream.
|
||||
|
||||
(define-public linux-libre-6.19-version "6.19.5")
|
||||
(define-public linux-libre-6.19-version "6.19.6")
|
||||
(define-public linux-libre-6.19-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.19
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.19-version
|
||||
linux-libre-6.19-gnu-revision
|
||||
(base32 "0zl5352xsv12xkqrfygp5kd8nvjq718pg5iaz64y675abymacp8v")
|
||||
(base32 "1awsjh9qs5inrwj34kzkrfvvysdaka6dnbilpn1ai66r6dqc2810")))
|
||||
(base32 "0y9rb4mm1n83h9wa68ivbpqj13va3vv5954j2ywqm7apwpx9ini2")))
|
||||
(define-public linux-libre-6.19-pristine-source
|
||||
(let ((version linux-libre-6.19-version)
|
||||
(hash (base32 "1yig0i2q7vn7p8g4lmkviddxi62mzhp0fv2hx3057qq9qz40bblm")))
|
||||
(hash (base32 "051fq8mkb7sf3m24a45cacr73fmpljfdn0pgjh0qrxhl6bvkz7sd")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.19)))
|
||||
|
||||
(define-public linux-libre-6.18-version "6.18.15")
|
||||
(define-public linux-libre-6.18-version "6.18.16")
|
||||
(define-public linux-libre-6.18-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.18
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.18-version
|
||||
linux-libre-6.18-gnu-revision
|
||||
(base32 "1piyq7183bdf169w66k62yr1vbs0ls7pqx3cyyk7hisw8vhy643j")
|
||||
(base32 "1xdz33lshw1xs6a5qiwhvxzdh2a0acll1zdyk2mnn9d4579a4gn1")))
|
||||
(base32 "1wnlnds2hgap36a0licjyjzyhhggbgp83dc9xbbw07y8jwmc17ai")))
|
||||
(define-public linux-libre-6.18-pristine-source
|
||||
(let ((version linux-libre-6.18-version)
|
||||
(hash (base32 "0w7iy9mx1b42q4qz6y9rvny7nmvpwq0mf6b9vv84w4y4qcb64wbw")))
|
||||
(hash (base32 "1qwfsbr315c6qh3hnqmyjwjcj0h8j3w56hbrxnrx3h849lgw08ag")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.18)))
|
||||
@@ -564,22 +565,22 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
|
||||
(define-public linux-libre-6.12-version "6.12.74")
|
||||
(define-public linux-libre-6.12-version "6.12.76")
|
||||
(define-public linux-libre-6.12-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.12
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.12-version
|
||||
linux-libre-6.12-gnu-revision
|
||||
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
|
||||
(base32 "1wyfggr9q0f10yr3nxsvx3nd3wscp5145fgxw0ps0b09ckcyr2mi")))
|
||||
(base32 "1v6glxf94p9z0yq5m102jwcpyh6anpbp3h8wwff9hxlfy2wdlzzk")))
|
||||
(define-public linux-libre-6.12-pristine-source
|
||||
(let ((version linux-libre-6.12-version)
|
||||
(hash (base32 "0gm1mjn203gc11dqk82fkbsr96bnwcxq4sx5khc7yhwsvjqywmiv")))
|
||||
(hash (base32 "15nq7agr492b9lh57xp10hs48dx9g7k253y2lm4vvrj69j1kxd5v")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.12)))
|
||||
|
||||
(define-public linux-libre-6.6-version "6.6.127")
|
||||
(define-public linux-libre-6.6-version "6.6.129")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -589,12 +590,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0z47f6mkllk1fgpq04x73djl5gh3mj50bxj2rpg4jlzm0rcirrag")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "1zn9z3ghjyff71s3yabfanrgyks3wnmn1p5w6301rczhnjbrrkd7")))
|
||||
(hash (base32 "12j42awg44w97zq8fzifpm300jm9q9ya7qkpn7xbnkr2480qz86a")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
||||
(define-public linux-libre-6.1-version "6.1.164")
|
||||
(define-public linux-libre-6.1-version "6.1.166")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -604,12 +605,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1jiwwl5sgpc16x0v6phbknv94mc46gvwgc2z8s4pdgn4j54yrd8v")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "074xlcrx5lvbkbwgahfvjlvak0j1nig9azfxfdl64zxzgdzhigrk")))
|
||||
(hash (base32 "0jcl12gjlfdf9pwqg1m84rzwnrj3grxxgk5blrq8zlaq45sgr3c1")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.201")
|
||||
(define-public linux-libre-5.15-version "5.15.202")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -619,12 +620,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1s6km2r2mad0wpf7nqn4rqsykw1lm386l1yskmil24239fbva1f1")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "15hv8rqgr6ca9rnbpb6hvzskqvb4h8x3w6nl4y2npbfsxpxzyajg")))
|
||||
(hash (base32 "1m6d53qx1ah4jwpa8hwjdmq0jn2hf7xmz1li6rwpdqjp97vvvh8b")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.251")
|
||||
(define-public linux-libre-5.10-version "5.10.252")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -634,7 +635,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1hgza8fsps7bkjf4i0f2xgvrh1r183z3i6lxrr2nr8qbi5d13qs7")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "00ac9gzidby7b82s2prq4c3w99a077f5li4v4yq8gdg3zqjpd1g6")))
|
||||
(hash (base32 "1yqa4zmvi5ihf50kxcff06abfi6xw0b9ajzagvy6gdzfr7igpcrl")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
@@ -931,6 +932,16 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
|
||||
("CONFIG_FUSE_FS" . m)
|
||||
("CONFIG_CIFS" . m)
|
||||
("CONFIG_9P_FS" . m)
|
||||
;; Enable DMABUF used by wayland, pipewire and libcamera
|
||||
;; https://codeberg.org/guix/guix/issues/5995
|
||||
("CONFIG_UDMABUF" . #t)
|
||||
("CONFIG_DMABUF_MOVE_NOTIFY" . #t)
|
||||
("CONFIG_DMABUF_HEAPS" . #t)
|
||||
("CONFIG_DMABUF_HEAPS_SYSTEM" . #t)
|
||||
("CONFIG_DMABUF_HEAPS_CMA" . #t)
|
||||
,@(if (version>=? version "6.17")
|
||||
'(("CONFIG_DMABUF_HEAPS_CMA_LEGACY" . #t))
|
||||
'())
|
||||
;; Disable the EFI pstore storage backend to avoid causing
|
||||
;; unrecoverable failures on some EFI systems:
|
||||
;; https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html
|
||||
@@ -1473,6 +1484,48 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
("CONFIG_VHOST_VDPA" . m))
|
||||
(default-extra-linux-options linux-libre-lts-version))))
|
||||
|
||||
(define-public reform-debian-packages-for-6.19
|
||||
(package
|
||||
(name "reform-debian-packages")
|
||||
(version "2023-07-10-537-g032a28b") ;from git describe
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://source.mnt.re/reform/reform-debian-packages.git")
|
||||
(commit "032a28b6c8b48077523ea1631cde65b763ab3c43")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "084xnykhnhpbb0kd5wr4nml08g4gjy7jqzrdb9i0chbfx12fnnyr"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("linux/patches6.19/" "/patches6.19")
|
||||
("linux/" "/dts/amlogic"
|
||||
#:include-regexp ("meson.*\\.dts$"))
|
||||
("linux/" "/dts/freescale"
|
||||
#:include-regexp ("imx8.*\\.dts$"))
|
||||
("linux/" "/dts/freescale"
|
||||
#:include-regexp ("fsl.*\\.dts$"))
|
||||
("linux/" "/dts/rockchip"
|
||||
#:include-regexp ("rk3588.*\\.dts$"))
|
||||
("linux/config" "config"))))
|
||||
(home-page "https://source.mnt.re/reform/reform-debian-packages")
|
||||
(synopsis
|
||||
"Linux kernel patches and device-trees used for MNT Reform systems")
|
||||
(description
|
||||
"Linux kernel patches and device-trees used for the MNT Reform systems")
|
||||
(license (list
|
||||
(license:fsf-free "file://filter-output"
|
||||
"https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html")
|
||||
license:bsd-2
|
||||
license:expat
|
||||
license:gpl2
|
||||
license:gpl2+
|
||||
license:gpl3
|
||||
license:x11))))
|
||||
|
||||
(define-public reform-debian-packages-for-6.18
|
||||
(package
|
||||
(name "reform-debian-packages")
|
||||
@@ -1557,6 +1610,321 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
license:gpl3
|
||||
license:x11))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.19
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
(let ((base (make-linux-libre* linux-libre-6.19-version
|
||||
linux-libre-6.19-gnu-revision
|
||||
linux-libre-6.19-source
|
||||
'("aarch64-linux")
|
||||
#:extra-version "arm64-mnt-reform"
|
||||
#:extra-options
|
||||
;; https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config
|
||||
(append `(("CONFIG_DRM_LVDS_CODEC" . m)
|
||||
("CONFIG_DRM_CDNS_MHDP8546" . m)
|
||||
("CONFIG_DRM_CDNS_HDMI_CEC" . m)
|
||||
("CONFIG_DRM_IMX_CDNS_MHDP" . m)
|
||||
("CONFIG_DRM_IMX_DCSS" . m)
|
||||
("CONFIG_PHY_FSL_IMX8MQ_HDPTX" . m)
|
||||
("CONFIG_DRM_PANEL_LVDS" . m)
|
||||
("CONFIG_I2C_IMX_LPI2C" . m)
|
||||
("CONFIG_I2C_MUX_REG" . m)
|
||||
("CONFIG_INTERCONNECT_IMX" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MQ" . #true)
|
||||
("CONFIG_MFD_WM8994" . m)
|
||||
("CONFIG_MUX_GPIO" . m)
|
||||
("CONFIG_MUX_MMIO" . m)
|
||||
("CONFIG_RTC_DRV_PCF8523" . m)
|
||||
("CONFIG_USB_EHCI_FSL" . m)
|
||||
("CONFIG_NO_HZ_IDLE" . #true)
|
||||
("CONFIG_SND_SOC_FSL_MICFIL" . m)
|
||||
("CONFIG_SND_IMX_SOC" . m)
|
||||
("CONFIG_SND_SOC_FSL_ASOC_CARD" . m)
|
||||
("CONFIG_SND_SOC_IMX_AUDMIX" . m)
|
||||
("CONFIG_SND_SOC_IMX_HDMI" . m)
|
||||
("CONFIG_INPUT_JOYSTICK" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD" . m)
|
||||
("CONFIG_JOYSTICK_XPAD_FF" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD_LEDS" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MP" . #true)
|
||||
("CONFIG_SND_SOC_FSL_ASRC" . #true)
|
||||
("CONFIG_DRM_IMX_LCDIF" . #true)
|
||||
("CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE" . #true)
|
||||
("CONFIG_DRM_IMX8MP_HDMI_PVI" . #true)
|
||||
("CONFIG_IMX8MM_THERMAL" . #true)
|
||||
("CONFIG_IMX2_WDT" . #true)
|
||||
("CONFIG_DRM_SAMSUNG_DSIM" . #true)
|
||||
("CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY" . #true)
|
||||
("CONFIG_DRM" . #true)
|
||||
("CONFIG_DRM_PANEL_MNT_POCKET_REFORM" . #true)
|
||||
("CONFIG_IMX8M_BLK_CTRL" . #true)
|
||||
("CONFIG_IMX_GPCV2_PM_DOMAINS" . #true)
|
||||
("CONFIG_DRM_DISPLAY_CONNECTOR" . #true)
|
||||
("CONFIG_DRM_FSL_LDB" . #true)
|
||||
("CONFIG_BACKLIGHT_CLASS_DEVICE" . #true)
|
||||
("CONFIG_BACKLIGHT_PWM" . #true)
|
||||
("CONFIG_BACKLIGHT_GPIO" . #true)
|
||||
("CONFIG_BACKLIGHT_LED" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_PERFORMANCE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_POWERSAVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_USERSPACE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_ONDEMAND" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_CONSERVATIVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_SCHEDUTIL" . #true)
|
||||
("CONFIG_ARM_IMX_CPUFREQ_DT" . #true)
|
||||
("CONFIG_ARM_IMX_BUS_DEVFREQ" . #true)
|
||||
("CONFIG_IMX_IRQSTEER" . #true)
|
||||
("CONFIG_PCI_MESON" . #true)
|
||||
("CONFIG_DWMAC_MESON" . #true)
|
||||
("CONFIG_MDIO_BUS_MUX_MESON_G12A" . #true)
|
||||
("CONFIG_GPIO_ROCKCHIP" . #true)
|
||||
("CONFIG_PL330_DMA" . #true)
|
||||
("CONFIG_I2C_MESON" . #true)
|
||||
("CONFIG_PWM_MESON" . #true)
|
||||
("CONFIG_USB_DWC3_MESON_G12A" . #true)
|
||||
("CONFIG_MMC_MESON_GX" . #true)
|
||||
("CONFIG_MMC_MESON_MX_SDIO" . #true)
|
||||
("CONFIG_MESON_DDR_PMU" . #true)
|
||||
("CONFIG_RTW88_8822CS" . m)
|
||||
("CONFIG_PWM_FSL_FTM" . #true)
|
||||
("CONFIG_FSL_RCPM" . #true)
|
||||
("CONFIG_ARM_ROCKCHIP_CPUFREQ" . m)
|
||||
("CONFIG_DRM_PANTHOR" . m)
|
||||
("CONFIG_NVMEM_ROCKCHIP_OTP" . #true)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_USBDP" . m)
|
||||
("CONFIG_ROCKCHIP_REGULATOR_COUPLER" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP_SFC" . m)
|
||||
("CONFIG_ARM_SCMI_CPUFREQ" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY" . #true)
|
||||
("CONFIG_VIDEO_ROCKCHIP_VDEC2" . m)
|
||||
("CONFIG_ROCKCHIP_DW_HDMI_QP" . #true)
|
||||
("CONFIG_ROCKCHIP_DW_MIPI_DSI2" . #true)
|
||||
;; Fixes https://codeberg.org/guix/guix/issues/101
|
||||
("CONFIG_CRYPTO_USER_API_HASH" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_RNG" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_AEAD" . #true)
|
||||
("CONFIG_KEY_DH_OPERATIONS" . #true)
|
||||
;; nftables support
|
||||
("CONFIG_NF_TABLES" . m)
|
||||
("CONFIG_NF_TABLES_INET" . #true)
|
||||
("CONFIG_NF_TABLES_NETDEV" . #true)
|
||||
("CONFIG_NF_TABLES_IPV4" . #true)
|
||||
("CONFIG_NF_TABLES_ARP" . #true)
|
||||
("CONFIG_NF_TABLES_IPV6" . #true)
|
||||
("CONFIG_NF_TABLES_BRIDGE" . m)
|
||||
("CONFIG_NFT_NUMGEN" . m)
|
||||
("CONFIG_NFT_CT" . m)
|
||||
("CONFIG_NFT_FLOW_OFFLOAD" . m)
|
||||
("CONFIG_NFT_CONNLIMIT" . m)
|
||||
("CONFIG_NFT_LOG" . m)
|
||||
("CONFIG_NFT_LIMIT" . m)
|
||||
("CONFIG_NFT_MASQ" . m)
|
||||
("CONFIG_NFT_REDIR" . m)
|
||||
("CONFIG_NFT_NAT" . m)
|
||||
("CONFIG_NFT_TUNNEL" . m)
|
||||
("CONFIG_NFT_QUEUE" . m)
|
||||
("CONFIG_NFT_QUOTA" . m)
|
||||
("CONFIG_NFT_REJECT" . m)
|
||||
("CONFIG_NFT_REJECT_INET" . m)
|
||||
("CONFIG_NFT_COMPAT" . m)
|
||||
("CONFIG_NFT_HASH" . m)
|
||||
("CONFIG_NFT_FIB" . m)
|
||||
("CONFIG_NFT_FIB_INET" . m)
|
||||
("CONFIG_NFT_XFRM" . m)
|
||||
("CONFIG_NFT_SOCKET" . m)
|
||||
("CONFIG_NFT_OSF" . m)
|
||||
("CONFIG_NFT_TPROXY" . m)
|
||||
("CONFIG_NFT_SYNPROXY" . m)
|
||||
("CONFIG_NFT_DUP_NETDEV" . m)
|
||||
("CONFIG_NFT_FWD_NETDEV" . m)
|
||||
("CONFIG_NFT_FIB_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_IPV4" . m)
|
||||
("CONFIG_NFT_DUP_IPV4" . m)
|
||||
("CONFIG_NFT_FIB_IPV4" . m)
|
||||
("CONFIG_NFT_COMPAT_ARP" . m)
|
||||
("CONFIG_NFT_REJECT_IPV6" . m)
|
||||
("CONFIG_NFT_DUP_IPV6" . m)
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
("CONFIG_USB_WDM" . m)
|
||||
("CONFIG_USB_GADGET" . m)
|
||||
("CONFIG_USB_ETH" . m)
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for wireguard
|
||||
("CONFIG_WIREGUARD" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m))
|
||||
(default-extra-linux-options
|
||||
linux-libre-6.19-version)))))
|
||||
(package
|
||||
(inherit base)
|
||||
(inputs (list reform-debian-packages-for-6.19))
|
||||
(synopsis (string-append (package-synopsis base)
|
||||
" for MNT/Reform systems"))
|
||||
(description (string-append (package-description base)
|
||||
" Configuration options and patches have been applied for use with MNT/Reform systems."))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'apply-reform-patches
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each (lambda (patch)
|
||||
(invoke "patch" "-p1" "-i"
|
||||
(search-input-file inputs
|
||||
(string-append
|
||||
"patches6.19/" patch))))
|
||||
(list
|
||||
"imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch"
|
||||
"imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch"
|
||||
"imx8mp-mnt-pocket-reform/audio/0000-revert-crashy-audiomix-pm-support.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch"
|
||||
"imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch"
|
||||
"imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch"
|
||||
"imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch"
|
||||
"imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch"
|
||||
"imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch"
|
||||
"imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch"
|
||||
"imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch"
|
||||
"imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch"
|
||||
"imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch"
|
||||
"imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch"
|
||||
"imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch"
|
||||
"ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch"
|
||||
"rk3588-mnt-reform2/0001-FROM-UPSTREAM-drm-bridge-dw-hdmi-qp-Add-support-for-.patch"
|
||||
"rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch"
|
||||
"rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch"
|
||||
"rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch"
|
||||
"rk3588-mnt-reform2/0029-Revert-PCI-dw-rockchip-Simplify-regulator-setup-with.patch"
|
||||
"rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch"
|
||||
"rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch"
|
||||
"rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch"
|
||||
"rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch"
|
||||
"rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch"
|
||||
"rk3588-mnt-reform2/0062-PCI-dw-rockchip-Move-devm_phy_get-out-of-phy_init.patch"
|
||||
"rk3588-mnt-reform2/0063-PCI-dw-rockchip-Add-helper-function-for-enhanced-LTS.patch"
|
||||
"rk3588-mnt-reform2/0064-PCI-dw-rockchip-Add-helper-function-for-controller-m.patch"
|
||||
"rk3588-mnt-reform2/0065-PCI-dw-rockchip-Add-helper-function-for-DDL-indicato.patch"
|
||||
"rk3588-mnt-reform2/0066-PCI-dw-rockchip-Add-pme_turn_off-support.patch"
|
||||
"rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch"
|
||||
"rk3588-mnt-reform2/0074-MERGED-phy-hdmi-Add-HDMI-2.1-FRL-configuration-optio.patch"
|
||||
"rk3588-mnt-reform2/0075-PCI-host-common-Add-an-API-to-check-for-any-device-u.patch"
|
||||
"rk3588-mnt-reform2/0076-PCI-qcom-Check-for-the-presence-of-a-device-instead-.patch"
|
||||
"rk3588-mnt-reform2/0077-PCI-dwc-Check-for-the-device-presence-during-suspend.patch"
|
||||
"rk3588-mnt-reform2/0078-PCI-dw-rockchip-Fix-LTSSM-set-functions.patch"
|
||||
"rk3588-mnt-reform2/0079-MERGED-phy-rockchip-samsung-hdptx-Use-usleep_range-i.patch"
|
||||
"rk3588-mnt-reform2/0079-WIP-PCI-dw-rockchip-port-some-suspend-code-from-vend.patch"
|
||||
"rk3588-mnt-reform2/0080-MERGED-phy-rockchip-samsung-hdptx-Fix-coding-style-a.patch"
|
||||
"rk3588-mnt-reform2/0081-MERGED-phy-rockchip-samsung-hdptx-Consistently-use-r.patch"
|
||||
"rk3588-mnt-reform2/0082-MERGED-phy-rockchip-samsung-hdptx-Enable-lane-output.patch"
|
||||
"rk3588-mnt-reform2/0083-MERGED-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_.patch"
|
||||
"rk3588-mnt-reform2/0084-MERGED-phy-rockchip-samsung-hdptx-Compute-clk-rate-f.patch"
|
||||
"rk3588-mnt-reform2/0085-MERGED-phy-rockchip-samsung-hdptx-Drop-hw_rate-drive.patch"
|
||||
"rk3588-mnt-reform2/0086-MERGED-phy-rockchip-samsung-hdptx-Switch-to-driver-s.patch"
|
||||
"rk3588-mnt-reform2/0087-MERGED-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_ph.patch"
|
||||
"rk3588-mnt-reform2/0088-MERGED-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-s.patch"
|
||||
"rk3588-mnt-reform2/0089-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch"
|
||||
"rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Do-not-send-HPD-events-for-a.patch"
|
||||
"rk3588-mnt-reform2/0093-drm-Add-CRTC-background-color-property.patch"
|
||||
"rk3588-mnt-reform2/0094-drm-rockchip-vop2-Support-setting-custom-background-.patch"
|
||||
"rk3588-mnt-reform2/0095-drm-bridge-Add-detect_ctx-hook-and-drm_bridge_detect.patch"
|
||||
"rk3588-mnt-reform2/0096-drm-bridge-connector-Switch-to-using-detect_ctx-hook.patch"
|
||||
"rk3588-mnt-reform2/0097-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock-ratio-and-.patch"
|
||||
"rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch"
|
||||
"rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch"
|
||||
"rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch"
|
||||
"rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch"
|
||||
"rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch"
|
||||
"rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch"
|
||||
"rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch"
|
||||
"rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch"
|
||||
"rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch"
|
||||
"rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch"
|
||||
"rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch"))))
|
||||
(add-after 'apply-reform-patches 'copy-reform-dts-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each (lambda (dts)
|
||||
(copy-file (search-input-file inputs
|
||||
(string-append
|
||||
"/dts/" dts))
|
||||
(string-append "arch/arm64/boot/dts/"
|
||||
dts)))
|
||||
(list
|
||||
"amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts"
|
||||
"freescale/fsl-ls1028a-mnt-reform2.dts"
|
||||
"freescale/imx8mp-mnt-pocket-reform.dts"
|
||||
"freescale/imx8mp-mnt-reform2.dts"
|
||||
"freescale/imx8mq-mnt-reform2-hdmi.dts"
|
||||
"rockchip/rk3588-mnt-desktop-reform.dts"
|
||||
"rockchip/rk3588-mnt-pocket-reform.dts"
|
||||
"rockchip/rk3588-mnt-reform-next.dts"
|
||||
"rockchip/rk3588-mnt-reform2.dts"
|
||||
"rockchip/rk3588-mnt-reform2-dsi.dts"
|
||||
))))
|
||||
(add-after 'apply-reform-patches 'adjust-makefiles-with-new-dtb
|
||||
(lambda _
|
||||
(substitute* "arch/arm64/boot/dts/amlogic/Makefile"
|
||||
(("meson-g12b-bananapi-cm4-mnt-reform2.dtb")
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
|
||||
(("fsl-ls1028a-rdb.dtb")
|
||||
"fsl-ls1028a-rdb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-mnt-reform2.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
|
||||
(("imx8mq-mnt-reform2.dtb")
|
||||
"imx8mq-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-pocket-reform.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2-hdmi.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/rockchip/Makefile"
|
||||
(("rk3588-mnt-reform2.dtb")
|
||||
"rk3588-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-desktop-reform.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.18
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
@@ -1698,6 +2066,15 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
@@ -2024,6 +2401,15 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
@@ -10126,17 +10512,22 @@ known as Slingshot.")
|
||||
(cons package extra)
|
||||
'()))))
|
||||
(append (list rdma-core libnl)
|
||||
(if-supported rocr-runtime)
|
||||
(if-supported psm)
|
||||
(if-supported psm2)
|
||||
(if-supported libcxi curl json-c))))
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(append (if #$(target-64bit?)
|
||||
(list "--enable-efa")
|
||||
'())
|
||||
(list "--enable-efa")
|
||||
'())
|
||||
(list #$@(if (this-package-input "libcxi")
|
||||
#~("--enable-cxi")
|
||||
#~())
|
||||
#$@(if (this-package-input "rocr-runtime")
|
||||
#~((string-append "--with-rocr="
|
||||
#$(this-package-input "rocr-runtime")))
|
||||
#~())
|
||||
"--enable-verbs"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
||||
@@ -197,7 +197,7 @@ read/write Bit Map Font (BMF) into text, JSON and XML.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/3b-bmfont/")
|
||||
(url "https://codeberg.org/shinmera/3b-bmfont/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "3b-bmfont2" version))
|
||||
(sha256
|
||||
@@ -304,7 +304,7 @@ vectors and streams.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/3d-math")
|
||||
(url "https://codeberg.org/shinmera/3d-math")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-3d-math" version))
|
||||
(sha256
|
||||
@@ -315,7 +315,7 @@ vectors and streams.")
|
||||
(inputs
|
||||
(list sbcl-documentation-utils
|
||||
sbcl-type-templates))
|
||||
(home-page "https://shinmera.github.io/3d-math/")
|
||||
(home-page "https://shinmera.com/docs/3d-math/")
|
||||
(synopsis "Linear algebra for 2D and 3D computations")
|
||||
(description
|
||||
"The @code{3d-math} library implements types, operators, and algorithms
|
||||
@@ -328,9 +328,6 @@ compatible, and adds new functionality.")
|
||||
(define-public cl-3d-math
|
||||
(sbcl-package->cl-source-package sbcl-3d-math))
|
||||
|
||||
(define-public ecl-3d-math
|
||||
(sbcl-package->ecl-package sbcl-3d-math))
|
||||
|
||||
(define-public sbcl-3d-matrices
|
||||
(let ((commit "bc1ffa08dcf4732523e09adcf9deba4ddeb559ff")
|
||||
(revision "3"))
|
||||
@@ -514,7 +511,7 @@ alternative 4x4 matrix representation.")
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/3d-vectors/")
|
||||
(home-page "https://shinmera.com/docs/3d-vectors/")
|
||||
(synopsis "Utility library implementing 2D, 3D, and 4D vectors")
|
||||
(description
|
||||
"@code{3D-VECTORS} is a library for vector math in 3D space. It contains
|
||||
@@ -4394,8 +4391,8 @@ Lisp expressions in multiple implementations.")
|
||||
(sbcl-package->cl-source-package sbcl-cl-all))
|
||||
|
||||
(define-public sbcl-cl-ana
|
||||
(let ((commit "848185eed1ed65bab3a124870c122f761ce0d87e")
|
||||
(revision "2"))
|
||||
(let ((commit "88abde5ad3fa327958720426b89a8457e6943b94")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "sbcl-cl-ana")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
@@ -4406,8 +4403,9 @@ Lisp expressions in multiple implementations.")
|
||||
(url "https://github.com/ghollisjr/cl-ana")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-ana" version))
|
||||
(patches (search-patches "cl-ana-pr-49.patch"))
|
||||
(sha256
|
||||
(base32 "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y"))))
|
||||
(base32 "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list openmpi ;; for hdf-cffi
|
||||
@@ -9453,9 +9451,6 @@ classes and cyclic data structures are supported.")
|
||||
(define-public cl-prevalence
|
||||
(sbcl-package->cl-source-package sbcl-cl-prevalence))
|
||||
|
||||
(define-public ecl-cl-prevalence
|
||||
(sbcl-package->ecl-package sbcl-cl-prevalence))
|
||||
|
||||
(define-public sbcl-cl-progress-bar
|
||||
(let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
|
||||
(package
|
||||
@@ -12157,7 +12152,7 @@ options, e.g., by looking up an external key/value store
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/shinmera/clip")
|
||||
(url "https://codeberg.org/shinmera/clip")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "clip" version))
|
||||
(sha256
|
||||
@@ -12165,7 +12160,7 @@ options, e.g., by looking up an external key/value store
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-array-utils sbcl-lquery))
|
||||
(home-page "https://shinmera.github.io/clip/")
|
||||
(home-page "https://shinmera.com/docs/clip/")
|
||||
(synopsis "Common Lisp HTML templating engine")
|
||||
(description
|
||||
"Clip is an attempt at a templating library that allows you to write
|
||||
@@ -14734,8 +14729,8 @@ replacement, which is called @code{*let}).")
|
||||
(sbcl-package->clasp-package sbcl-defstar))
|
||||
|
||||
(define-public sbcl-deploy
|
||||
(let ((commit "5d57fcce38b6156be951f3fed9fbbdacf4ba2912")
|
||||
(revision "3"))
|
||||
(let ((commit "c9b869d943d39fcddd8c4aa380995645bd2e3c0b")
|
||||
(revision "4"))
|
||||
(package
|
||||
(name "sbcl-deploy")
|
||||
(version (git-version "3.0.0" revision commit))
|
||||
@@ -14747,13 +14742,17 @@ replacement, which is called @code{*let}).")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "deploy" version))
|
||||
(sha256
|
||||
(base32 "1f2sahr2k4d291hn7x7bcy4nxav4va3rrw2gcw122zsg97siqy8h"))))
|
||||
(base32 "05xvv6f1nh7p1dmdyqbpddisf2f9v5kvq2ixa38i263p35rg82sr"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-cl-mpg123 sbcl-cl-out123))
|
||||
(list sbcl-cl-mpg123
|
||||
sbcl-cl-out123))
|
||||
(inputs
|
||||
(list sbcl-cffi sbcl-documentation-utils sbcl-pathname-utils
|
||||
sbcl-trivial-features sbcl-sha3))
|
||||
(list sbcl-cffi
|
||||
sbcl-documentation-utils
|
||||
sbcl-pathname-utils
|
||||
sbcl-trivial-features
|
||||
sbcl-sha3))
|
||||
(home-page "https://codeberg.org/shinmera/deploy")
|
||||
(synopsis "Deployment tools for standalone Common Lisp application")
|
||||
(description
|
||||
@@ -14804,7 +14803,7 @@ that have several attributes, and a central data payload. Most notably this
|
||||
includes the OS filesystem, but can also be used to address other
|
||||
filesystem-like things like archives, object stores, etc. in the same
|
||||
manner.")
|
||||
(home-page "https://codeberg.org/Shinmera/depot")
|
||||
(home-page "https://shinmera.com/docs/depot/")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-depot
|
||||
@@ -16663,7 +16662,7 @@ parser/composer.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/feeder")
|
||||
(url "https://codeberg.org/shinmera/feeder")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "feeder" version))
|
||||
(sha256
|
||||
@@ -16671,7 +16670,7 @@ parser/composer.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-documentation-utils sbcl-local-time sbcl-plump))
|
||||
(home-page "https://shinmera.github.io/feeder/")
|
||||
(home-page "https://shinmera.com/docs/feeder/")
|
||||
(synopsis "RSS, Atom and general feed parsing and generating")
|
||||
(description
|
||||
"Feeder is a syndication feed library. It presents a general protocol
|
||||
@@ -16730,7 +16729,7 @@ given the Common Lisp implementation.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/file-attributes/")
|
||||
(url "https://codeberg.org/shinmera/file-attributes/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -16738,7 +16737,7 @@ given the Common Lisp implementation.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-features))
|
||||
(home-page "https://shinmera.github.io/file-attributes/")
|
||||
(home-page "https://shinmera.com/docs/file-attributes/")
|
||||
(synopsis "Access to common file attributes in Common Lisp")
|
||||
(description
|
||||
"This is a small OS portability library to retrieve and set file
|
||||
@@ -16797,7 +16796,7 @@ avoids many of the pitfalls of pathnames.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/file-notify")
|
||||
(url "https://codeberg.org/shinmera/file-notify")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-file-notify" version))
|
||||
(sha256
|
||||
@@ -16807,7 +16806,7 @@ avoids many of the pitfalls of pathnames.")
|
||||
(list sbcl-cffi
|
||||
sbcl-documentation-utils
|
||||
sbcl-trivial-features))
|
||||
(home-page "https://github.com/Shinmera/file-notify")
|
||||
(home-page "https://codeberg.org/shinmera/file-notify")
|
||||
(synopsis "Get notifications for file accesses and changes")
|
||||
(description
|
||||
"File-Notify is a Common Lisp library for getting notifications for file
|
||||
@@ -16830,7 +16829,7 @@ accesses and changes.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/file-select")
|
||||
(url "https://codeberg.org/shinmera/file-select")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "file-select" version))
|
||||
(sha256
|
||||
@@ -16840,7 +16839,7 @@ accesses and changes.")
|
||||
(list sbcl-cffi
|
||||
sbcl-documentation-utils
|
||||
sbcl-float-features))
|
||||
(home-page "https://shinmera.github.io/file-select/")
|
||||
(home-page "https://shinmera.com/docs/file-select/")
|
||||
(synopsis "Invoke the native file selection dialogs to open or save files")
|
||||
(description
|
||||
"This library allows you to open native file dialogs to open and save
|
||||
@@ -16895,7 +16894,7 @@ fashion.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/filesystem-utils/")
|
||||
(url "https://codeberg.org/shinmera/filesystem-utils/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-filesystem-utils" version))
|
||||
(sha256
|
||||
@@ -16905,7 +16904,7 @@ fashion.")
|
||||
(list sbcl-documentation-utils
|
||||
sbcl-pathname-utils
|
||||
sbcl-trivial-features))
|
||||
(home-page "https://shinmera.github.io/filesystem-utils/")
|
||||
(home-page "https://shinmera.com/docs/filesystem-utils/")
|
||||
(synopsis "Collection of utilities for filesystem interaction")
|
||||
(description
|
||||
"This is an extension library to @code{pathname-utils}, to allow
|
||||
@@ -17026,7 +17025,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/flare")
|
||||
(url "https://codeberg.org/shinmera/flare")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "flare" version))
|
||||
(sha256
|
||||
@@ -17039,7 +17038,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
|
||||
sbcl-for
|
||||
sbcl-lambda-fiddle
|
||||
sbcl-trivial-garbage))
|
||||
(home-page "https://shinmera.github.io/flare/")
|
||||
(home-page "https://shinmera.com/docs/flare/")
|
||||
(synopsis "Easy particle systems with fine grained control")
|
||||
(description
|
||||
"FLARE is a library designed to allow quick and precise particle effect
|
||||
@@ -17157,7 +17156,7 @@ a sequence (or chain) of such elements.")
|
||||
(description
|
||||
"Portability library for IEEE float features that are not
|
||||
covered by the Common Lisp standard.")
|
||||
(home-page "https://github.com/Shinmera/float-features")
|
||||
(home-page "https://codeberg.org/shinmera/float-features")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-float-features
|
||||
@@ -17179,7 +17178,7 @@ covered by the Common Lisp standard.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/flow")
|
||||
(url "https://codeberg.org/shinmera/flow")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "flow" version))
|
||||
(sha256
|
||||
@@ -17191,7 +17190,7 @@ covered by the Common Lisp standard.")
|
||||
(inputs
|
||||
(list sbcl-closer-mop
|
||||
sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/flow/")
|
||||
(home-page "https://shinmera.com/docs/flow/")
|
||||
(synopsis "Tools for the representation of graphs and flowcharts")
|
||||
(description
|
||||
"FLOW is a flowchart graph library. Unlike other graphing libraries,
|
||||
@@ -17385,7 +17384,7 @@ time, etc.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/font-discovery")
|
||||
(url "https://codeberg.org/shinmera/font-discovery")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "font-discovery" version))
|
||||
(sha256
|
||||
@@ -17393,7 +17392,7 @@ time, etc.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-indent))
|
||||
(home-page "https://shinmera.github.io/font-discovery/")
|
||||
(home-page "https://shinmera.com/docs/font-discovery/")
|
||||
(synopsis "Find system font files matching a font spec")
|
||||
(description
|
||||
"This is a library to find system font files. It works on systems with
|
||||
@@ -17417,7 +17416,7 @@ aren't already directly available on the system.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/for")
|
||||
(url "https://codeberg.org/shinmera/for")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-for" version))
|
||||
(sha256
|
||||
@@ -17425,7 +17424,7 @@ aren't already directly available on the system.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-documentation-utils sbcl-form-fiddle sbcl-lambda-fiddle))
|
||||
(home-page "https://shinmera.github.io/for/")
|
||||
(home-page "https://shinmera.com/docs/for/")
|
||||
(synopsis "Extensible iteration macro library")
|
||||
(description
|
||||
"For is a library for an extensible iteration macro. It allows you to write
|
||||
@@ -17453,7 +17452,7 @@ require code-walking and is easier to extend.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/forge/")
|
||||
(url "https://codeberg.org/shinmera/forge/")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "006vi2ihrn28pzrwa8b7axmv98bdaxzx7lacnh9pbacbjg3b7hb0"))
|
||||
@@ -17495,7 +17494,7 @@ for the specific kind of project you're building to get the full picture.")
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/Shinmera/form-fiddle")
|
||||
(url "https://codeberg.org/shinmera/form-fiddle")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -17508,7 +17507,7 @@ for the specific kind of project you're building to get the full picture.")
|
||||
(description
|
||||
"Often times we need to destructure a form definition in a Common Lisp
|
||||
macro. This library provides a set of simple utilities to help with that.")
|
||||
(home-page "https://shinmera.github.io/form-fiddle/")
|
||||
(home-page "https://shinmera.com/docs/form-fiddle/")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-form-fiddle
|
||||
@@ -20738,13 +20737,13 @@ performance and simplicity in mind.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/lambda-fiddle")
|
||||
(url "https://codeberg.org/shinmera/lambda-fiddle")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(home-page "https://github.com/Shinmera/lambda-fiddle")
|
||||
(home-page "https://codeberg.org/shinmera/lambda-fiddle")
|
||||
(synopsis "Collection of utilities to process lambda-lists")
|
||||
(description "This collection of utilities is useful in contexts where
|
||||
you want a macro that uses lambda-lists in some fashion but need more precise
|
||||
@@ -20769,7 +20768,7 @@ processing.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/language-codes")
|
||||
(url "https://codeberg.org/shinmera/language-codes")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name commit))
|
||||
(sha256
|
||||
@@ -20777,7 +20776,7 @@ processing.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/language-codes/")
|
||||
(home-page "https://shinmera.com/docs/language-codes/")
|
||||
(synopsis "Map ISO language codes to language names in Common Lisp")
|
||||
(description
|
||||
"This is a small library providing the ISO-639 language code to
|
||||
@@ -20848,7 +20847,7 @@ text.")
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/Shinmera/LASS")
|
||||
(url "https://codeberg.org/shinmera/LASS")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-lass" version))
|
||||
(sha256
|
||||
@@ -20862,7 +20861,7 @@ text.")
|
||||
out in writing CSS quick and easy. LASS was largely inspired by SASS. LASS
|
||||
supports two modes, one being directly in your lisp code, the other in pure
|
||||
LASS files.")
|
||||
(home-page "https://shinmera.github.io/LASS/")
|
||||
(home-page "https://shinmera.com/docs/LASS/")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-lass
|
||||
@@ -21455,9 +21454,6 @@ in Common Lisp.")
|
||||
(define-public cl-lispbuilder-sdl
|
||||
(sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
|
||||
|
||||
(define-public ecl-lispbuilder-sdl
|
||||
(sbcl-package->ecl-package sbcl-lispbuilder-sdl))
|
||||
|
||||
(define-public sbcl-list-named-class
|
||||
(let ((commit "2955791a7469131bcab42d800883f27993ee1d62")
|
||||
(revision "0"))
|
||||
@@ -22197,7 +22193,7 @@ compression/decompression using bindings to the lzlib C library.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/machine-state")
|
||||
(url "https://codeberg.org/shinmera/machine-state")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-machine-state" version))
|
||||
(sha256
|
||||
@@ -22211,7 +22207,7 @@ compression/decompression using bindings to the lzlib C library.")
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
#:asd-systems '("machine-state" "machine-state/opengl")))
|
||||
(home-page "https://shinmera.github.io/machine-state/")
|
||||
(home-page "https://shinmera.com/docs/machine-state/")
|
||||
(synopsis "Retrieve machine state information about CPU time, memory usage and more")
|
||||
(description
|
||||
"This library implements various functions to access status information
|
||||
@@ -23416,7 +23412,7 @@ various string metrics in Common Lisp:
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/mmap")
|
||||
(url "https://codeberg.org/shinmera/mmap")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -23427,7 +23423,7 @@ various string metrics in Common Lisp:
|
||||
sbcl-trivial-features))
|
||||
(inputs
|
||||
(list sbcl-cffi sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/mmap/")
|
||||
(home-page "https://shinmera.com/docs/mmap/")
|
||||
(synopsis "File memory mapping for Common Lisp")
|
||||
(description
|
||||
"This is a utility library providing access to the @emph{mmap} family of
|
||||
@@ -23489,7 +23485,7 @@ place.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/modularize")
|
||||
(url "https://codeberg.org/shinmera/modularize")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -23498,7 +23494,7 @@ place.")
|
||||
(inputs
|
||||
(list sbcl-documentation-utils
|
||||
sbcl-trivial-package-local-nicknames))
|
||||
(home-page "https://shinmera.github.io/modularize/")
|
||||
(home-page "https://shinmera.com/docs/modularize/")
|
||||
(synopsis "Common Lisp modularization framework")
|
||||
(description
|
||||
"@code{MODULARIZE} is an attempt at providing a common interface to
|
||||
@@ -23525,7 +23521,7 @@ tie modules together in functionality, hook into each other and so on.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/modularize-hooks")
|
||||
(url "https://codeberg.org/shinmera/modularize-hooks")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "modularize-hooks" version))
|
||||
(sha256
|
||||
@@ -23534,7 +23530,7 @@ tie modules together in functionality, hook into each other and so on.")
|
||||
(inputs
|
||||
(list sbcl-closer-mop sbcl-lambda-fiddle sbcl-modularize
|
||||
sbcl-trivial-arguments))
|
||||
(home-page "https://shinmera.github.io/modularize-hooks/")
|
||||
(home-page "https://shinmera.com/docs/modularize-hooks/")
|
||||
(synopsis "Generic hooks and triggers extension for Modularize")
|
||||
(description
|
||||
"This is a simple extension to @code{MODULARIZE} that allows modules to
|
||||
@@ -23557,7 +23553,7 @@ define and trigger hooks, which other modules can hook on to.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/modularize-interfaces")
|
||||
(url "https://codeberg.org/shinmera/modularize-interfaces")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "modularize-interfaces" version))
|
||||
(sha256
|
||||
@@ -23566,7 +23562,7 @@ define and trigger hooks, which other modules can hook on to.")
|
||||
(inputs
|
||||
(list sbcl-lambda-fiddle sbcl-modularize sbcl-trivial-arguments
|
||||
sbcl-trivial-indent))
|
||||
(home-page "https://shinmera.github.io/modularize-interfaces/")
|
||||
(home-page "https://shinmera.com/docs/modularize-interfaces/")
|
||||
(synopsis "Programmatical interfaces extension for Modularize")
|
||||
(description
|
||||
"This is an extension to @code{MODULARIZE} that allows your application
|
||||
@@ -23850,7 +23846,7 @@ for Common Lisp.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/multilang-documentation")
|
||||
(url "https://codeberg.org/shinmera/multilang-documentation")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name commit))
|
||||
(sha256
|
||||
@@ -23859,7 +23855,7 @@ for Common Lisp.")
|
||||
(inputs
|
||||
(list sbcl-documentation-utils sbcl-language-codes
|
||||
sbcl-system-locale))
|
||||
(home-page "https://shinmera.github.io/multilang-documentation/")
|
||||
(home-page "https://shinmera.com/docs/multilang-documentation/")
|
||||
(synopsis "Add multiple languages support to Common Lisp documentation")
|
||||
(description
|
||||
"This library provides a drop-in replacement function for
|
||||
@@ -25042,7 +25038,7 @@ expressions.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/open-with")
|
||||
(url "https://codeberg.org/shinmera/open-with")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-open-with" version))
|
||||
(sha256
|
||||
@@ -25066,7 +25062,7 @@ expressions.")
|
||||
"This package provides a small utility library to open a thing (usually
|
||||
a file or URL) in an appropriate handler (usually an external file manager or
|
||||
browser).")
|
||||
(home-page "https://shinmera.github.io/open-with/")
|
||||
(home-page "https://shinmera.com/docs/open-with/")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-open-with
|
||||
@@ -25859,8 +25855,8 @@ variable portably in Common Lisp.")
|
||||
(sbcl-package->ecl-package sbcl-path-parse))
|
||||
|
||||
(define-public sbcl-pathname-utils
|
||||
(let ((commit "3309d65a568acc392ade6a4096c940eb15e1149e")
|
||||
(revision "4"))
|
||||
(let ((commit "c0aa51ab78cb21581700d44deeed88a4743b6f13")
|
||||
(revision "5"))
|
||||
(package
|
||||
(name "sbcl-pathname-utils")
|
||||
(version (git-version "1.1.0" revision commit))
|
||||
@@ -25868,17 +25864,17 @@ variable portably in Common Lisp.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/pathname-utils")
|
||||
(url "https://codeberg.org/shinmera/pathname-utils")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-pathname-utils" version))
|
||||
(sha256
|
||||
(base32 "0w7h0qhi53myakfbwvwgr9srbz5mmgsdcbynzkh5vjiibwjg1c3i"))))
|
||||
(base32 "11hic5gspnkjfggdh4zzx9i1ha4vf7rjr2cyqmz1144sprl2nva6"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-trivial-features))
|
||||
(home-page "https://shinmera.github.io/pathname-utils/")
|
||||
(home-page "https://shinmera.com/docs/pathname-utils/")
|
||||
(synopsis "Collection of utilities to help with pathname operations")
|
||||
(description
|
||||
"This package provides a Common Lisp system with a collection of common
|
||||
@@ -25889,6 +25885,12 @@ handling the accessing of files on the underlying system however.")
|
||||
(define-public cl-pathname-utils
|
||||
(sbcl-package->cl-source-package sbcl-pathname-utils))
|
||||
|
||||
(define-public clasp-pathname-utils
|
||||
(package
|
||||
(inherit (sbcl-package->clasp-package sbcl-pathname-utils))
|
||||
(arguments
|
||||
(list #:tests? #f)))) ;see ECL variant
|
||||
|
||||
(define-public ecl-pathname-utils
|
||||
(package
|
||||
(inherit (sbcl-package->ecl-package sbcl-pathname-utils))
|
||||
@@ -26156,13 +26158,13 @@ for Common Lisp.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/piping/")
|
||||
(url "https://codeberg.org/shinmera/piping/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "piping" version))
|
||||
(sha256
|
||||
(base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(home-page "https://shinmera.github.io/piping/")
|
||||
(home-page "https://shinmera.com/docs/piping/")
|
||||
(synopsis "Library to enable simple message pipelines")
|
||||
(description
|
||||
"This is a Common Lisp library to enable simple message pipelines.")
|
||||
@@ -27048,9 +27050,6 @@ pattern-matching-like, but a char-by-char procedural parser.")
|
||||
(define-public cl-prometheus
|
||||
(sbcl-package->cl-source-package sbcl-prometheus))
|
||||
|
||||
(define-public ecl-prometheus
|
||||
(sbcl-package->ecl-package sbcl-prometheus))
|
||||
|
||||
(define-public sbcl-promise
|
||||
(let ((commit "801db8f853da7935ae2e487fd7f8763acbc5ad2a")
|
||||
(revision "0"))
|
||||
@@ -27061,7 +27060,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/promise")
|
||||
(url "https://codeberg.org/shinmera/promise")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-promise" version))
|
||||
(sha256
|
||||
@@ -27071,7 +27070,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/promise/")
|
||||
(home-page "https://shinmera.com/docs/promise/")
|
||||
(synopsis "Promise mechanism for asynchronous operations")
|
||||
(description
|
||||
"This library implements a basic promise datastructure, which is useful
|
||||
@@ -27647,8 +27646,8 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
(sbcl-package->ecl-package sbcl-quri))
|
||||
|
||||
(define-public sbcl-radiance
|
||||
(let ((commit "8d826c7fe1935338565580931db43f46181e0e85")
|
||||
(revision "3"))
|
||||
(let ((commit "8249b00388ffe1c7e516a148c8ea8e7d9bc4243c")
|
||||
(revision "4"))
|
||||
(package
|
||||
(name "sbcl-radiance")
|
||||
(version (git-version "2.1.2" revision commit))
|
||||
@@ -27656,26 +27655,14 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shirakumo/radiance")
|
||||
(commit commit)))
|
||||
(url "https://codeberg.org/shirakumo/radiance")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "radiance" version))
|
||||
(sha256
|
||||
(base32 "1j823dgp87www0sjbcbv9j025bfxlkwhjd7kz6635mrqwmmlki4l"))))
|
||||
(base32 "1kl1936kzv1j2fmnm6n3nq503bxz38zzymwbwq3vhqa0jsqjwynm"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
`(#:tests? #f ; TODO: The tests require some configuration.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-quicklisp
|
||||
(lambda _
|
||||
;; Disable the automatic installation of systems by Quicklisp.
|
||||
;; (Maybe there would be a way to package Quicklisp and make it
|
||||
;; install things in the user's directory instead of
|
||||
;; /gnu/store/...).
|
||||
(substitute* "interfaces.lisp"
|
||||
(("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
|
||||
all)
|
||||
(string-append "#+quicklisp " all))))))))
|
||||
(list #:tests? #f)) ; TODO: The tests require some configuration.
|
||||
(native-inputs
|
||||
(list sbcl-alexandria
|
||||
sbcl-dexador
|
||||
@@ -27686,8 +27673,8 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
sbcl-bordeaux-threads
|
||||
sbcl-cl-ppcre
|
||||
sbcl-closer-mop
|
||||
sbcl-documentation-utils
|
||||
sbcl-deploy
|
||||
sbcl-documentation-utils
|
||||
sbcl-form-fiddle
|
||||
sbcl-lambda-fiddle
|
||||
sbcl-local-time
|
||||
@@ -27697,7 +27684,7 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
sbcl-trivial-indent
|
||||
sbcl-trivial-mimes
|
||||
sbcl-ubiquitous))
|
||||
(home-page "https://shirakumo.github.io/radiance/")
|
||||
(home-page "https://codeberg.org/shirakumo/radiance")
|
||||
(synopsis "Common Lisp web application environment")
|
||||
(description
|
||||
"Radiance is a web application environment, which is sort of like a web
|
||||
@@ -27723,7 +27710,7 @@ adaptations.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shirakumo/radiance-contribs")
|
||||
(url "https://codeberg.org/shirakumo/radiance-contribs")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "radiance-contribs" version))
|
||||
(sha256
|
||||
@@ -27802,7 +27789,7 @@ sequence.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/random-state")
|
||||
(url "https://codeberg.org/shinmera/random-state")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-random-state" version))
|
||||
(sha256
|
||||
@@ -27810,7 +27797,7 @@ sequence.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/random-state/")
|
||||
(home-page "https://shinmera.com/docs/random-state/")
|
||||
(synopsis "Portable random number generation")
|
||||
(description
|
||||
"This library is a collection of @dfn{pseudo random number generators}.
|
||||
@@ -28672,7 +28659,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/sdf")
|
||||
(url "https://codeberg.org/shinmera/sdf")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "sdf" version))
|
||||
(sha256
|
||||
@@ -28687,7 +28674,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
|
||||
sbcl-pathname-utils))
|
||||
(arguments
|
||||
`(#:asd-systems '("sdf" "sdf/bmfont")))
|
||||
(home-page "https://github.com/Shinmera/sdf")
|
||||
(home-page "https://codeberg.org/shinmera/sdf")
|
||||
(synopsis "Signed distance font atlas generator")
|
||||
(description
|
||||
"This library generates
|
||||
@@ -29459,7 +29446,7 @@ using advisors.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/simple-inferiors")
|
||||
(url "https://codeberg.org/shinmera/simple-inferiors")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -29467,7 +29454,7 @@ using advisors.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-bordeaux-threads sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/simple-inferiors/")
|
||||
(home-page "https://shinmera.com/docs/simple-inferiors/")
|
||||
(synopsis "Common Lisp library to use inferior processes")
|
||||
(description
|
||||
"This is a library to allow easy handling of external processes, and
|
||||
@@ -29687,7 +29674,7 @@ on top of Hunchentoot.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/simple-tasks")
|
||||
(url "https://codeberg.org/shinmera/simple-tasks")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "simple-tasks" version))
|
||||
(sha256
|
||||
@@ -29695,7 +29682,7 @@ on top of Hunchentoot.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-array-utils sbcl-bordeaux-threads sbcl-dissect))
|
||||
(home-page "https://shinmera.github.io/simple-tasks/")
|
||||
(home-page "https://shinmera.com/docs/simple-tasks/")
|
||||
(synopsis "Simple task scheduling framework")
|
||||
(description "This is a task scheduling framework for Common Lisp.")
|
||||
(license license:zlib))))
|
||||
@@ -30520,7 +30507,7 @@ empty object).")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/staple/")
|
||||
(url "https://codeberg.org/shinmera/staple/")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "0qf0if7py3n4rszg25lcavpsqikfz6k5dvcmh5q67y8x5r12i5m7"))
|
||||
@@ -31144,13 +31131,13 @@ and camel-case rules.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/system-load")
|
||||
(url "https://codeberg.org/shinmera/system-load")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-system-load" version))
|
||||
(sha256
|
||||
(base32 "08d8kr8j5l2m8p69f47iklxhna394vx9mrys0sgplf5f2bqb7xcv"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(home-page "https://github.com/Shinmera/system-load")
|
||||
(home-page "https://codeberg.org/shinmera/system-load")
|
||||
(synopsis "Access system's CPU and memory usage from Common Lisp")
|
||||
(description
|
||||
"System-Load is a Common Lisp library for accessing the system's CPU and
|
||||
@@ -31172,7 +31159,7 @@ memory usage.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/system-locale/")
|
||||
(url "https://codeberg.org/shinmera/system-locale/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name commit))
|
||||
(sha256
|
||||
@@ -31180,7 +31167,7 @@ memory usage.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-documentation-utils))
|
||||
(home-page "https://shinmera.github.io/system-locale/")
|
||||
(home-page "https://shinmera.com/docs/system-locale/")
|
||||
(synopsis "Get the system's locale and language settings in Common Lisp")
|
||||
(description
|
||||
"This library retrieves locale information configured on the
|
||||
@@ -32081,13 +32068,13 @@ a simple-array ensuring that the resulting array is still a simple-array.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/trivial-arguments")
|
||||
(url "https://codeberg.org/shinmera/trivial-arguments")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "trivial-arguments" version))
|
||||
(sha256
|
||||
(base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(home-page "https://github.com/Shinmera/trivial-arguments")
|
||||
(home-page "https://codeberg.org/shinmera/trivial-arguments")
|
||||
(synopsis "Common Lisp library to retrieve a function's lambda-list")
|
||||
(description
|
||||
"This is a simple library to retrieve the argument list of a function.")
|
||||
@@ -32190,7 +32177,7 @@ information.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/trivial-benchmark/")
|
||||
(url "https://codeberg.org/shinmera/trivial-benchmark/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-trivial-benchmark" version))
|
||||
(sha256
|
||||
@@ -32198,7 +32185,7 @@ information.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria))
|
||||
(home-page "https://shinmera.github.io/trivial-benchmark/")
|
||||
(home-page "https://shinmera.com/docs/trivial-benchmark/")
|
||||
(synopsis "Easy to use benchmarking system for Common Lisp")
|
||||
(description
|
||||
"Trivial-Benchmark runs a block of code many times and outputs some
|
||||
@@ -32507,13 +32494,13 @@ It provides four readtables. The default one lets you write strings like this:
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/trivial-extensible-sequences")
|
||||
(url "https://codeberg.org/shinmera/trivial-extensible-sequences")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-trivial-extensible-sequences" version))
|
||||
(sha256
|
||||
(base32 "0352psdd8j0phjycr6ldckwspyal4jcf0f2fizi6fwdp7nvadng7"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(home-page "https://shinmera.github.io/trivial-extensible-sequences/")
|
||||
(home-page "https://shinmera.com/docs/trivial-extensible-sequences/")
|
||||
(synopsis "Portability library for the extensible sequences protocol")
|
||||
(description
|
||||
"This package provides a portability layer for the extensible sequences
|
||||
@@ -32684,7 +32671,7 @@ thin compatibility layer for gray streams.")
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/Shinmera/trivial-indent")
|
||||
(url "https://codeberg.org/shinmera/trivial-indent")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-trivial-indent" version))
|
||||
(sha256
|
||||
@@ -32696,7 +32683,7 @@ thin compatibility layer for gray streams.")
|
||||
"This library allows you to define custom indentation hints for your
|
||||
macros if the one recognised by SLIME automatically produces unwanted
|
||||
results.")
|
||||
(home-page "https://shinmera.github.io/trivial-indent/")
|
||||
(home-page "https://shinmera.com/docs/trivial-indent/")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-trivial-indent
|
||||
@@ -32750,7 +32737,7 @@ implementation specific equivalent.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/trivial-main-thread")
|
||||
(url "https://codeberg.org/shinmera/trivial-main-thread")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "trivial-main-thread" version))
|
||||
(sha256
|
||||
@@ -32758,7 +32745,7 @@ implementation specific equivalent.")
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-bordeaux-threads sbcl-simple-tasks sbcl-trivial-features))
|
||||
(home-page "https://shinmera.github.io/trivial-main-thread/")
|
||||
(home-page "https://shinmera.com/docs/trivial-main-thread/")
|
||||
(synopsis "Compatibility library to run things in the main thread")
|
||||
(description
|
||||
"This package provides a Common Lisp system which wraps the
|
||||
@@ -33474,7 +33461,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/type-templates")
|
||||
(url "https://codeberg.org/shinmera/type-templates")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-type-templates" version))
|
||||
(sha256
|
||||
@@ -33487,7 +33474,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
|
||||
(list sbcl-alexandria
|
||||
sbcl-documentation-utils
|
||||
sbcl-form-fiddle))
|
||||
(home-page "https://shinmera.github.io/type-templates/")
|
||||
(home-page "https://shinmera.com/docs/type-templates/")
|
||||
(synopsis "Library for defining and expanding templated functions")
|
||||
(description
|
||||
"The Type-Templates library allows you to define types and “template
|
||||
@@ -33548,7 +33535,7 @@ reasoning about types, but without consing.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/uax-14")
|
||||
(url "https://codeberg.org/shinmera/uax-14")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "uax-14" version))
|
||||
(sha256
|
||||
@@ -33560,7 +33547,7 @@ reasoning about types, but without consing.")
|
||||
(list sbcl-documentation-utils))
|
||||
(arguments
|
||||
`(#:asd-systems '("uax-14")))
|
||||
(home-page "https://shinmera.github.io/uax-14/")
|
||||
(home-page "https://shinmera.com/docs/uax-14/")
|
||||
(synopsis "Unicode Standard Annex #14 for standardised line breaking")
|
||||
(description
|
||||
"This is an implementation of the Unicode Standards Annex
|
||||
@@ -33631,7 +33618,7 @@ RFC7564.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/ubiquitous")
|
||||
(url "https://codeberg.org/shinmera/ubiquitous")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "ubiquitous" version))
|
||||
(sha256
|
||||
@@ -33642,7 +33629,7 @@ RFC7564.")
|
||||
(arguments
|
||||
'(#:asd-systems '("ubiquitous"
|
||||
"ubiquitous-concurrent")))
|
||||
(home-page "https://shinmera.github.io/ubiquitous/")
|
||||
(home-page "https://shinmera.com/docs/ubiquitous/")
|
||||
(synopsis "Application configuration mechanism for Common Lisp")
|
||||
(description
|
||||
"@code{UBIQUITOUS} is a very easy-to-use library for persistent
|
||||
@@ -34149,7 +34136,7 @@ algorithms.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/verbose/")
|
||||
(url "https://codeberg.org/shinmera/verbose/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "verbose" version))
|
||||
(sha256
|
||||
@@ -34158,7 +34145,7 @@ algorithms.")
|
||||
(inputs
|
||||
(list sbcl-bordeaux-threads sbcl-dissect sbcl-documentation-utils
|
||||
sbcl-local-time sbcl-piping))
|
||||
(home-page "https://shinmera.github.io/verbose/")
|
||||
(home-page "https://shinmera.com/docs/verbose/")
|
||||
(synopsis "Logging framework using the piping library")
|
||||
(description
|
||||
"This is a Common Lisp library providing logging faciltiy similar to
|
||||
@@ -35078,7 +35065,7 @@ reading and writing.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Shinmera/zippy/")
|
||||
(url "https://codeberg.org/shinmera/zippy/")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "16cvyyf2nzd9r3fcy4w6d5wh8n3x833wldmrxmnzd3k2xrkhzfl9"))
|
||||
@@ -35107,7 +35094,7 @@ can read and write zip files. It features:
|
||||
@item can compress stream->stream;
|
||||
@item extensible for other encryption and compression mechanisms.
|
||||
@end itemize\n")
|
||||
(home-page "https://shinmera.github.io/zippy/")
|
||||
(home-page "https://shinmera.com/docs/zippy/")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-zippy
|
||||
|
||||
@@ -329,7 +329,7 @@ family of functions.")
|
||||
(define-public python-burr
|
||||
(package
|
||||
(name "python-burr")
|
||||
(version "0.40.2")
|
||||
(version "0.42.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -338,7 +338,7 @@ family of functions.")
|
||||
(commit (string-append "burr-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0scdfdn2dkan5rkrh5ngai8j4i01rj6d6ncrhvab62r43c0h042q"))))
|
||||
(base32 "0a2sf72qy9jkamg6r7d37mv7ayp698h031md7arfyq7v8q9q121n"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4666,7 +4666,7 @@ the tensors contained therein.")
|
||||
libxml2
|
||||
llvm-19
|
||||
opencl-clhpp
|
||||
opencl-headers
|
||||
opencl-headers-2022
|
||||
rang
|
||||
mesa
|
||||
mesa-opencl
|
||||
@@ -4751,7 +4751,6 @@ different backends")
|
||||
,(python:site-packages inputs outputs)))))))))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
openblas
|
||||
python
|
||||
python-customtkinter
|
||||
spirv-headers
|
||||
@@ -6177,7 +6176,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
|
||||
(define-public ctranslate2
|
||||
(package
|
||||
(name "ctranslate2")
|
||||
(version "4.6.3")
|
||||
(version "4.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6185,7 +6184,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
|
||||
(url "https://github.com/OpenNMT/CTranslate2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "CTranslate2" version))
|
||||
(sha256 (base32 "1msmf1imgvmhji48mjj8cq5y8d8fk8rywqh624vmilfawq75f497"))
|
||||
(sha256 (base32 "09gr7pvc2b4xacjg8jbb20rini51071q2x998h88jr85wp5a8824"))
|
||||
(patches (search-patches "ctranslate2-local-build.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -1939,7 +1939,7 @@ compresses it.")
|
||||
(define-public claws-mail
|
||||
(package
|
||||
(name "claws-mail")
|
||||
(version "4.3.1")
|
||||
(version "4.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1948,7 +1948,7 @@ compresses it.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19k8yii61n6j80riw6i8nzypygb0kv3b6npw5ljmiav7qw8g5bfq"))))
|
||||
"0nr5r8lzg44sdawa8hjdadgbnpnh0m0m51j1h1cpmk8gbyfm9q03"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -1990,7 +1990,6 @@ compresses it.")
|
||||
compface
|
||||
curl
|
||||
dbus
|
||||
dbus-glib
|
||||
enchant
|
||||
expat
|
||||
fontconfig
|
||||
|
||||
@@ -507,13 +507,13 @@ triangulations.")
|
||||
(define-public units
|
||||
(package
|
||||
(name "units")
|
||||
(version "2.25")
|
||||
(version "2.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/units/units-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"02zclvjji25hsdriz4jwys5i21dbcmz3i4gap8266k8bq0xg9v9n"))))
|
||||
"0m1whwcggib8kyzmcjkw94sxnd8r19d7bh6k6gj2w8g2kyjgfhsc"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list bash-minimal ;for wrap-program
|
||||
@@ -4859,6 +4859,40 @@ wedges, pyramids, n-spheres, n-balls, n-cubes, n-simplices, and the
|
||||
integration of real-, complex-, and vector-valued functions.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-simplesat
|
||||
(package
|
||||
(name "python-simplesat")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/enthought/sat-solver")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "--ignore=old")))
|
||||
(native-inputs
|
||||
(list python-mock
|
||||
python-pytest
|
||||
python-pyyaml
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-okonomiyaki
|
||||
python-six))
|
||||
(home-page "https://github.com/enthought/sat-solver")
|
||||
(synopsis
|
||||
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
|
||||
(description
|
||||
"This package provides a prototype Python implementation for SAT-based
|
||||
problems.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public slepc
|
||||
(package
|
||||
(name "slepc")
|
||||
@@ -6044,29 +6078,38 @@ parts of it.")
|
||||
(define-public openblas
|
||||
(package
|
||||
(name "openblas")
|
||||
(version "0.3.30")
|
||||
(version "0.3.31")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xianyi/OpenBLAS")
|
||||
(url "https://github.com/OpenMathLib/OpenBLAS")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08crjjs7avnkk7l226pghhz68mw9ak62xcghc9hdpshbflwzd0vy"))))
|
||||
"1ifbbk4mg4ykm92i9b09wwbcwpyzlfzn8lhds8f3p7cbcga7q530"))))
|
||||
;; To build the package, we can either rely on a preset Makefile, or
|
||||
;; generate a new one through a CMake configuration.
|
||||
;; We choose the first option, so we delete the configure phase and we set
|
||||
;; the build system to gnu-build-system to build the package through the
|
||||
;; 'make' command.
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Set the test target (but tests are indeed already run in the build
|
||||
;; phase, which calls 'make -C test all').
|
||||
#:test-target "test"
|
||||
;; No default baseline is supplied for powerpc-linux.
|
||||
#:substitutable? (not (target-ppc32?))
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
"CFLAGS=-O3" ; optimization flags
|
||||
"FFLAGS=-O3" ; optimization flags
|
||||
"SHELL=bash"
|
||||
"DEBUG=1" ; enable debug symbols
|
||||
"MAKE_NB_JOBS=0" ;use jobserver for submakes
|
||||
"NO_STATIC=1" ;avoid a 67 MiB static archive
|
||||
"DEBUG=1" ; enable debug symbols -g
|
||||
"MAKE_NB_JOBS=0" ; use jobserver for submakes
|
||||
"NO_STATIC=1" ; avoid a 67 MiB static archive
|
||||
|
||||
;; This is the maximum number of threads OpenBLAS will ever use
|
||||
;; (that is, if $OPENBLAS_NUM_THREADS is greater than that, then
|
||||
@@ -6075,6 +6118,13 @@ parts of it.")
|
||||
;; obviously wrong.
|
||||
"NUM_THREADS=128"
|
||||
|
||||
;; OpenMP support prevents deadlocks when multithreaded Openblas
|
||||
;; is called from an OpenMP parallel region and takes care of
|
||||
;; deactivating threads when necessary. See
|
||||
;; http://www.openmathlib.org/OpenBLAS/docs/faq/#using-openblas-with-openmp
|
||||
;; for more details.
|
||||
"USE_OPENMP=1"
|
||||
|
||||
;; DYNAMIC_ARCH is only supported on some architectures.
|
||||
;; DYNAMIC_ARCH combined with TARGET=GENERIC provides a library
|
||||
;; which uses the optimizations for the detected CPU. This can
|
||||
@@ -6102,13 +6152,13 @@ parts of it.")
|
||||
((target-riscv64?)
|
||||
'("TARGET=RISCV64_GENERIC"))
|
||||
(else '())))
|
||||
;; no configure script
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Skip configure phase since we rely on a preset Makefile.
|
||||
(delete 'configure)
|
||||
;; Get libgfortran found when building in utest.
|
||||
(add-before 'build 'set-extralib
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Get libgfortran found when building in utest.
|
||||
(setenv "FEXTRALIB"
|
||||
(string-append
|
||||
"-L"
|
||||
|
||||
@@ -115,15 +115,15 @@ Health Federation.")
|
||||
(define-public orthanc
|
||||
(package
|
||||
(name "orthanc")
|
||||
(version "1.12.7")
|
||||
(version "1.12.10")
|
||||
(source
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference (url "https://orthanc.uclouvain.be/hg/orthanc")
|
||||
(changeset "a30cc2fa7250")))
|
||||
(changeset "8628c32729cf")))
|
||||
(file-name (hg-file-name name version))
|
||||
(sha256
|
||||
(base32 "1n8v0dh17g9ihny8cpq63qd6ai5l95i5h3sz9vwzfnd7q3qh0rb9"))))
|
||||
(base32 "16xkbs6amhx81yvn7avkg8nwha6sj55l6vipa5290yf0rgygyadr"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -147,7 +147,7 @@ Health Federation.")
|
||||
;; /etc/localtime is not present in the build container;
|
||||
;; don't let that stop the build.
|
||||
(substitute* "OrthancFramework/Sources/Toolbox.cpp"
|
||||
(("if \\(!SystemToolbox::IsExistingFile\\(LOCALTIME\\)\\)")
|
||||
(("if \\(!boost::filesystem::exists\\(LOCALTIME\\)\\)")
|
||||
"if (false)"))))
|
||||
;; There is no test target; simply run the binary.
|
||||
(replace 'check
|
||||
@@ -158,7 +158,7 @@ Health Federation.")
|
||||
glibc-utf8-locales ;for one test
|
||||
googletest
|
||||
python))
|
||||
(inputs (list boost-1.83
|
||||
(inputs (list boost
|
||||
civetweb
|
||||
curl
|
||||
dcmtk
|
||||
@@ -184,11 +184,11 @@ mechanism for extending its functionality.")
|
||||
|
||||
(define-public orthanc-postgresql
|
||||
;; No tags provided.
|
||||
(let ((changeset "ddc98844d931")
|
||||
(let ((changeset "81d837d7d20d")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "orthanc-postgresql")
|
||||
(version (git-version "7.2" revision changeset))
|
||||
(version (git-version "10.0" revision changeset))
|
||||
(source
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
@@ -197,7 +197,7 @@ mechanism for extending its functionality.")
|
||||
(changeset changeset)))
|
||||
(file-name (hg-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zv2lrj0f3fahmdyiwyj70ayv5ysa3cj33i58fbk7hy2zclrkjzf"))))
|
||||
(base32 "1ijxa8hlpxjcrcp0b54fzmxf01lqb9741bff4ak1nw24sn9z96ai"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -695,6 +695,15 @@ is to provide an accurate identifier for record tracks.")
|
||||
(sha256
|
||||
(base32 "0v866n5rwdz45ks8dlhl8hzx3p54hcjl0rz7x3rbsj4c96jn0m5c"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-gst-init
|
||||
(lambda _
|
||||
;; `None' is no longer accepted as of gstreamer
|
||||
;; 2.28.1.
|
||||
(substitute* "audioread/gstdec.py"
|
||||
(("Gst.init\\(None\\)")
|
||||
"Gst.init([])")))))))
|
||||
(propagated-inputs (list ffmpeg python-pygobject))
|
||||
(native-inputs
|
||||
(list gstreamer
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
@@ -51,6 +52,8 @@
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages oneapi)
|
||||
#:use-module (gnu packages opencl)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages profiling)
|
||||
#:use-module (gnu packages python)
|
||||
@@ -64,9 +67,12 @@
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages rocm)
|
||||
#:use-module (gnu packages rocm-tools)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
@@ -105,42 +111,43 @@
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(arguments
|
||||
`(#:configure-flags '("--localstatedir=/var")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'skip-linux-libnuma-test
|
||||
(lambda _
|
||||
;; Arrange to skip 'tests/linux-libnuma', which fails on some
|
||||
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
|
||||
(substitute* "tests/linux-libnuma.c"
|
||||
(("numa_available\\(\\)")
|
||||
"-1"))))
|
||||
(add-after 'install 'refine-libnuma
|
||||
;; Give -L arguments for libraries to avoid propagation
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "lib"))
|
||||
(numa (assoc-ref inputs "numactl")))
|
||||
(substitute* (map (lambda (f) (string-append out "/" f))
|
||||
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
|
||||
(("-lnuma" lib)
|
||||
(string-append "-L" numa "/lib " lib))))))
|
||||
(add-after 'install 'avoid-circular-references
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((lib (assoc-ref outputs "lib")))
|
||||
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
|
||||
;; "lib" output doesn't refer to "out".
|
||||
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
|
||||
(("^.*prefix=.*$")
|
||||
"")))))
|
||||
(add-after 'install 'move-man3-pages
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Move section 3 man pages to the "doc" output.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc")))
|
||||
(copy-recursively (string-append out "/share/man/man3")
|
||||
(string-append doc "/share/man/man3"))
|
||||
(delete-file-recursively
|
||||
(string-append out "/share/man/man3"))))))))
|
||||
(list #:configure-flags
|
||||
#~(list "--localstatedir=/var")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'skip-linux-libnuma-test
|
||||
(lambda _
|
||||
;; Arrange to skip 'tests/linux-libnuma', which fails on some
|
||||
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
|
||||
(substitute* "tests/linux-libnuma.c"
|
||||
(("numa_available\\(\\)")
|
||||
"-1"))))
|
||||
(add-after 'install 'refine-libnuma
|
||||
;; Give -L arguments for libraries to avoid propagation
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "lib"))
|
||||
(numa (assoc-ref inputs "numactl")))
|
||||
(substitute* (map (lambda (f) (string-append out "/" f))
|
||||
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
|
||||
(("-lnuma" lib)
|
||||
(string-append "-L" numa "/lib " lib))))))
|
||||
(add-after 'install 'avoid-circular-references
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((lib (assoc-ref outputs "lib")))
|
||||
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
|
||||
;; "lib" output doesn't refer to "out".
|
||||
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
|
||||
(("^.*prefix=.*$")
|
||||
"")))))
|
||||
(add-after 'install 'move-man3-pages
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Move section 3 man pages to the "doc" output.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc")))
|
||||
(copy-recursively (string-append out "/share/man/man3")
|
||||
(string-append doc "/share/man/man3"))
|
||||
(delete-file-recursively
|
||||
(string-append out "/share/man/man3"))))))))
|
||||
(home-page "https://www.open-mpi.org/projects/hwloc/")
|
||||
(synopsis "Abstraction of hardware architectures")
|
||||
(description
|
||||
@@ -160,7 +167,7 @@ bind processes, and much more.")
|
||||
(define-public hwloc-2
|
||||
(package
|
||||
(inherit hwloc-1)
|
||||
(version "2.12.2")
|
||||
(version "2.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.open-mpi.org/release/hwloc/v"
|
||||
@@ -168,34 +175,59 @@ bind processes, and much more.")
|
||||
"/hwloc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"182v0n2mpnbvdsw0gjnbmaj027k2jxmw7yphi89i9dgb1zbn2gjn"))))
|
||||
"1aqdznqp7f18yg95vbr5n6ccxxdiywacygvn3wbhzn7bnspkdsaj"))
|
||||
;; XXX: Remove after updating package from 2.13.0.
|
||||
(patches (search-patches "hwloc-add-with-opencl.patch"))))
|
||||
|
||||
(native-inputs (modify-inputs (package-native-inputs hwloc-1)
|
||||
(append autoconf)
|
||||
(append automake)
|
||||
(append libtool)
|
||||
(append opencl-headers)
|
||||
(append bash))) ;for completion tests
|
||||
(inputs (modify-inputs (package-inputs hwloc-1)
|
||||
(append level-zero)
|
||||
;; XXX: rocm-smi requires libdrm/drm.h but doesn't propagate a
|
||||
;; package providing these. For now, libdrm is used to provide
|
||||
;; this header.
|
||||
(append libdrm)
|
||||
(append libxml2)
|
||||
(append opencl-icd-loader)
|
||||
(append rocm-smi-lib)
|
||||
(delete "numactl"))) ;libnuma is no longer needed.
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments hwloc-1)
|
||||
((#:configure-flags flags '())
|
||||
#~(cons* (string-append "--with-opencl="
|
||||
#$(this-package-input "opencl-icd-loader"))
|
||||
"--enable-rsmi"
|
||||
(string-append "--with-rocm="
|
||||
#$(this-package-input "rocm-smi-lib"))
|
||||
#$flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'skip-linux-libnuma-test
|
||||
(lambda _
|
||||
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
|
||||
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
|
||||
(substitute* "tests/hwloc/linux-libnuma.c"
|
||||
(("numa_available\\(\\)")
|
||||
"-1"))))
|
||||
(add-before 'check 'skip-tests-that-require-/sys
|
||||
(lambda _
|
||||
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
|
||||
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
|
||||
(add-before 'check 'skip-test-that-fails-on-qemu
|
||||
(lambda _
|
||||
;; Skip test that fails on emulated hardware due to QEMU bug:
|
||||
;; <https://bugs.gnu.org/40342>.
|
||||
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
|
||||
(("hwloc_topology_init" all)
|
||||
(string-append "exit (77);\n" all)))))))))))
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'delete-configure
|
||||
(lambda _
|
||||
;; Remove configure file to generate it with patch.
|
||||
(delete-file "configure")))
|
||||
(replace 'skip-linux-libnuma-test
|
||||
(lambda _
|
||||
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
|
||||
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
|
||||
(substitute* "tests/hwloc/linux-libnuma.c"
|
||||
(("numa_available\\(\\)")
|
||||
"-1"))))
|
||||
(add-before 'check 'skip-tests-that-require-/sys
|
||||
(lambda _
|
||||
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
|
||||
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
|
||||
(add-before 'check 'skip-test-that-fails-on-qemu
|
||||
(lambda _
|
||||
;; Skip test that fails on emulated hardware due to QEMU bug:
|
||||
;; <https://bugs.gnu.org/40342>.
|
||||
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
|
||||
(("hwloc_topology_init" all)
|
||||
(string-append "exit (77);\n" all)))))))))))
|
||||
|
||||
(define-public hwloc
|
||||
;; The latest stable series of hwloc.
|
||||
@@ -246,43 +278,43 @@ bind processes, and much more.")
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~`(#$(string-append
|
||||
"CFLAGS=-g -O2"
|
||||
" -Wno-error=implicit-function-declaration"
|
||||
" -Wno-error=incompatible-pointer-types")
|
||||
"--enable-mpi-ext=affinity" ;cr doesn't work
|
||||
"--with-sge"
|
||||
"--disable-static"
|
||||
#:configure-flags #~(list (string-append
|
||||
"CFLAGS=-g -O2"
|
||||
" -Wno-error=implicit-function-declaration"
|
||||
" -Wno-error=incompatible-pointer-types")
|
||||
"--enable-mpi-ext=affinity" ;cr doesn't work
|
||||
"--with-sge"
|
||||
"--disable-static"
|
||||
|
||||
#$@(if (package? (this-package-input "valgrind"))
|
||||
#~("--enable-memchecker"
|
||||
"--with-valgrind")
|
||||
#~("--without-valgrind"))
|
||||
#$@(if (package? (this-package-input "valgrind"))
|
||||
#~("--enable-memchecker"
|
||||
"--with-valgrind")
|
||||
#~("--without-valgrind"))
|
||||
|
||||
"--with-hwloc=external"
|
||||
"--with-libevent"
|
||||
"--with-hwloc=external"
|
||||
"--with-libevent"
|
||||
|
||||
;; Help 'orterun' and 'mpirun' find their tools
|
||||
;; under $prefix by default.
|
||||
"--enable-mpirun-prefix-by-default"
|
||||
;; Help 'orterun' and 'mpirun' find their tools
|
||||
;; under $prefix by default.
|
||||
"--enable-mpirun-prefix-by-default"
|
||||
|
||||
;; InfiniBand support
|
||||
"--enable-openib-control-hdr-padding"
|
||||
"--enable-openib-dynamic-sl"
|
||||
"--enable-openib-udcm"
|
||||
"--enable-openib-rdmacm"
|
||||
"--enable-openib-rdmacm-ibaddr"
|
||||
;; InfiniBand support
|
||||
"--enable-openib-control-hdr-padding"
|
||||
"--enable-openib-dynamic-sl"
|
||||
"--enable-openib-udcm"
|
||||
"--enable-openib-rdmacm"
|
||||
"--enable-openib-rdmacm-ibaddr"
|
||||
|
||||
;; Enable support for the 'Process Management
|
||||
;; Interface for Exascale' (PMIx) used e.g. by
|
||||
;; Slurm for the management communication and
|
||||
;; coordination of MPI processes.
|
||||
"--with-pmix=internal"
|
||||
;; Enable support for the 'Process Management
|
||||
;; Interface for Exascale' (PMIx) used e.g. by
|
||||
;; Slurm for the management communication and
|
||||
;; coordination of MPI processes.
|
||||
"--with-pmix=internal"
|
||||
|
||||
;; Enable support for SLURM's Process Manager
|
||||
;; Interface (PMI).
|
||||
,(string-append "--with-pmi="
|
||||
#$(this-package-input "slurm")))
|
||||
;; Enable support for SLURM's Process Manager
|
||||
;; Interface (PMI).
|
||||
(string-append "--with-pmi="
|
||||
#$(this-package-input "slurm")))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
;; opensm is needed for InfiniBand support.
|
||||
(add-after 'unpack 'find-opensm-headers
|
||||
@@ -432,6 +464,25 @@ software vendors, application developers and computer science researchers.")
|
||||
|
||||
#:disallowed-references (list (canonical-package gcc))))))
|
||||
|
||||
;; XXX: ROCm support in Open MPI is enabled in a variant and not in the base
|
||||
;; package due to its dependency rocm-hip-runtime retaining references to
|
||||
;; clang-rocm, which causes the closure to go from ~400MB to ~2.4GB. See
|
||||
;; https://codeberg.org/guix/guix/issues/5585
|
||||
(define-public openmpi-rocm
|
||||
(package/inherit openmpi-5
|
||||
(name "openmpi-rocm")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openmpi-5)
|
||||
((#:configure-flags flags '())
|
||||
#~(cons* (string-append "--with-rocm="
|
||||
#$(this-package-input "rocm-hip-runtime"))
|
||||
#$flags))))
|
||||
(inputs (modify-inputs (package-inputs openmpi-5)
|
||||
;; XXX: This might break openmpi-5 for architectures where ROCm
|
||||
;; is not supported.
|
||||
(append rocm-hip-runtime)))
|
||||
(synopsis "MPI-3 implementation (with ROCm support)")))
|
||||
|
||||
(define-public openmpi-c++
|
||||
(package/inherit openmpi
|
||||
(name "openmpi-c++")
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1450,10 +1451,11 @@ and auto-mapping slices to MIDI note numbers.")
|
||||
(home-page "https://github.com/clearly-broken-software/ninjas2")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; This package tracks the stable release of LilyPond.
|
||||
(define-public lilypond
|
||||
(package
|
||||
(name "lilypond")
|
||||
(version "2.25.30")
|
||||
(version "2.24.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1461,7 +1463,7 @@ and auto-mapping slices to MIDI note numbers.")
|
||||
"v" (version-major+minor version) "/"
|
||||
"lilypond-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0q5id9v211i9zgjmwzmvi2qfvr3flh55kh476653r04a2br53962"))))
|
||||
(base32 "073qa7m9xkghad4x37rxb9v45vp4vfmsylwnjzhj17y7f4ss0vz9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;out-test/collated-files.html fails
|
||||
@@ -7924,6 +7926,7 @@ streaming audio server.")
|
||||
(native-inputs
|
||||
(list xorg-server-for-tests
|
||||
gettext-minimal
|
||||
gobject-introspection
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(inputs
|
||||
|
||||
@@ -4040,7 +4040,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
|
||||
(define-public hcxtools
|
||||
(package
|
||||
(name "hcxtools")
|
||||
(version "7.0.1")
|
||||
(version "7.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4048,7 +4048,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
|
||||
(url "https://github.com/ZerBea/hcxtools")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "07j8fcy9fq1i4jns6v1gx85pm34q56022aw391mdzxq5yka7wpjr"))
|
||||
(base32 "0da9ad3v53x080b75q34zi16mnd58xl5s5w6afafgq406ajd2zdz"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
@@ -5116,7 +5116,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
|
||||
(define-public yggtray
|
||||
(package
|
||||
(name "yggtray")
|
||||
(version "0.1.14")
|
||||
(version "0.1.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5125,7 +5125,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1n4pg5fdbqf579d4xajah5y5dawizp8c8difwfsk7xrvjd3w5rcf"))))
|
||||
(base32 "0dv1aaps1kj9dspnawcv0da2jj3pj03am1cynh9p31a2kin8j9jp"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5158,7 +5158,7 @@ daemon.")
|
||||
(define-public nebula
|
||||
(package
|
||||
(name "nebula")
|
||||
(version "1.10.0")
|
||||
(version "1.10.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -5167,7 +5167,7 @@ daemon.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x4r8b3ny0vxipf404l8z00m5cs7cfy810670gmznl61jkaq1zd7"))
|
||||
"0y0c9l6dzhdrhfzss1hv2sm18y2qzgmkcyiw9s3rav3ij1kcspxh"))
|
||||
;; Remove windows-related binary blobs and files
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -5196,6 +5196,7 @@ daemon.")
|
||||
"nebula-cert")))))))
|
||||
(inputs
|
||||
(list go-dario-cat-mergo
|
||||
go-filippo-io-bigmod
|
||||
go-github-com-anmitsu-go-shlex
|
||||
go-github-com-armon-go-radix
|
||||
go-github-com-cyberdelia-go-metrics-graphite
|
||||
|
||||
@@ -75,14 +75,16 @@
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; Ensure writable cache directory
|
||||
(setenv "HOME" "/tmp")
|
||||
;; Remove test that relies on network access.
|
||||
(delete-file "pynicotine/tests/unit/test_version.py")
|
||||
(invoke "xvfb-run" "python" "-m" "unittest")))))))
|
||||
(inputs (list bash-minimal
|
||||
gspell
|
||||
gtk
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
gobject-introspection
|
||||
libappindicator
|
||||
python-pytaglib))
|
||||
(native-inputs (list gettext-minimal python-setuptools xvfb-run))
|
||||
|
||||
@@ -59,11 +59,13 @@
|
||||
|
||||
;; If you update either of opencl-headers, opencl-clhpp or opencl-icd-loader
|
||||
;; note that they are released together (lockstep) and must be updated
|
||||
;; together.
|
||||
;; together. Bump this version number and update hashes below
|
||||
(define %opencl-version "2025.07.22")
|
||||
|
||||
(define-public opencl-headers
|
||||
(package
|
||||
(name "opencl-headers")
|
||||
(version "2024.10.24")
|
||||
(version %opencl-version)
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -72,7 +74,7 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c3s6g8b3ggfr36cl27axdf3kn79kj6cb880jizcf6q89nw6nf98"))))
|
||||
(base32 "1rir72cdigwkj3a0k8l066fgzvh41yf6vrczzflwh0h4vq3g7h2x"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; Not enabled during build.
|
||||
(synopsis "The Khronos OpenCL headers")
|
||||
@@ -81,10 +83,25 @@
|
||||
(home-page "https://registry.khronos.org/OpenCL/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public opencl-headers-2022
|
||||
(package
|
||||
(inherit opencl-headers)
|
||||
(name "opencl-headers")
|
||||
(version "2022.09.30")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/KhronosGroup/OpenCL-Headers")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vzzkj5kd0invm5pvzlnhdl21n00jci6131a2cjviyz0vxp7xf2m"))))))
|
||||
|
||||
(define-public opencl-clhpp
|
||||
(package
|
||||
(name "opencl-clhpp")
|
||||
(version "2024.10.24")
|
||||
(version %opencl-version)
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -93,7 +110,7 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1s9z30p80qc1dgp04wvc6szgcs4r167m3nk9622d2bbaaalgd5vg"))))
|
||||
(base32 "1d7zyf2s2xpa002c36a081gyldai0mph3pjnyvswhx34c2b8yi44"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;The regression tests require a lot more dependencies.
|
||||
@@ -110,7 +127,7 @@
|
||||
(define-public opencl-icd-loader
|
||||
(package
|
||||
(name "opencl-icd-loader")
|
||||
(version "2024.10.24")
|
||||
(version %opencl-version)
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -119,7 +136,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rnyx83iwisxfj818dzf016fmi62kk1hrlfav0b8a1pjfbzmvr03"))))
|
||||
"12y5v3ri9dqm3zbhg6axy02hbcb0g23f44m2jvyvc2zv0lvy42wg"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; Tests need stub loader setup.
|
||||
(native-search-paths
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2023, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
|
||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
@@ -188,8 +188,8 @@
|
||||
;; Note: the 'update-guix-package.scm' script expects this definition to
|
||||
;; start precisely like this.
|
||||
(let ((version "1.5.0")
|
||||
(commit "deedd482e437182dc8e35b9ef260cfd0dc68e7f2")
|
||||
(revision 1))
|
||||
(commit "520785e315eddbe47199ac557e88e60eca3ae97c")
|
||||
(revision 2))
|
||||
(package
|
||||
(name "guix")
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"14rch8ycl3zy0da4xkrnbyjsxlwnfcm30dfrvjqcgz5s2v71jiaq"))
|
||||
"1kkryhrr2vxyirr5xzl69386kvy9rqlkpz10qbdv222dw628lcda"))
|
||||
(file-name (string-append "guix-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
|
||||
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Reza Housseini <reza@housseini.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -833,3 +834,47 @@ outside of a PMIx-enabled environment.")
|
||||
(home-page "https://openpmix.github.io/")
|
||||
;; The provided license is kind of BSD-style but specific.
|
||||
(license (license:fsf-free "https://github.com/openpmix/prrte?tab=License-1-ov-file#License-1-ov-file"))))
|
||||
|
||||
(define-public python-simple-slurm
|
||||
(package
|
||||
(name "python-simple-slurm")
|
||||
(version "0.3.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/amq92/simple_slurm")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vfbd8rp4qd9375f2v26dm99c53jc3x3dpcllz812ly964qi7rnd"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; these tests need slurm installed
|
||||
"--deselect=test/test_cli.py::Testing::test_01_using_equal"
|
||||
"--deselect=test/test_cli.py::Testing::test_02_using_spaces"
|
||||
"--deselect=test/test_cli.py::Testing::test_03_using_equal_and_spaces"
|
||||
"--deselect=test/test_core.py::Testing::test_14_srun_returncode"
|
||||
"--deselect=test/test_core.py::Testing::test_15_sbatch_execution"
|
||||
"--deselect=test/test_core.py::Testing::test_19_sbatch_execution_with_job_file"
|
||||
"--deselect=test/test_core.py::Testing::test_22_parsable_sbatch_execution")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'hardcode-sbatch-and-srun-command
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "simple_slurm/core.py"
|
||||
(("\"sbatch\"")
|
||||
(string-append "\"" (search-input-file inputs "/bin/sbatch") "\""))
|
||||
(("\"srun\"")
|
||||
(string-append "\"" (search-input-file inputs "/bin/srun") "\""))))))))
|
||||
(native-inputs (list python-setuptools python-pytest))
|
||||
(inputs (list slurm))
|
||||
(home-page "https://github.com/amq92/simple_slurm")
|
||||
(synopsis "Simple Python wrapper for Slurm with flexibility in mind")
|
||||
(description
|
||||
"This package provides a simple Python wrapper for Slurm with flexibility in
|
||||
mind.")
|
||||
(license license:agpl3)))
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2025 Isidor Zeuner <guix@quidecco.pl>
|
||||
;;; Copyright © 2026 John Dawson <dawson.john.andrew@gmail.com>
|
||||
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -136,6 +137,7 @@
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
@@ -872,7 +874,8 @@ command-line programs (@command{pwqcheck}, @command{pwqfilter}, and
|
||||
(string-append #$output "/share/man/man1")))))))
|
||||
(build-system pyproject-build-system)
|
||||
(inputs
|
||||
(list bash-minimal gtk+ python-xdo python-gpg python-pygobject))
|
||||
(list bash-minimal gtk gobject-introspection python-i3ipc python-xdo
|
||||
python-gpg python-pygobject))
|
||||
(propagated-inputs
|
||||
(list xclip))
|
||||
(native-inputs
|
||||
|
||||
33
gnu/packages/patches/cl-ana-pr-49.patch
Normal file
33
gnu/packages/patches/cl-ana-pr-49.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
Upstream status: https://github.com/ghollisjr/cl-ana/pull/49
|
||||
|
||||
From 491ba1127126ca6209b7c4dc1485377c7f772f7e Mon Sep 17 00:00:00 2001
|
||||
From: Philip Taron <philip.taron@gmail.com>
|
||||
Date: Mon, 16 Feb 2026 12:32:04 -0800
|
||||
Subject: [PATCH] Fix type error in fixed-mem-cache for SBCL 2.6.0
|
||||
|
||||
In cl-ana.makeres, the fixed-mem-cache function uses
|
||||
(setf (cdr (last cache)) (list id)) where cache can be nil (initial
|
||||
state or after popping all elements). (last nil) returns nil, making
|
||||
(setf (cdr nil) ...) undefined. SBCL 2.6.0's stricter type inference
|
||||
catches this as a type conflict, causing COMPILE-FILE-ERROR.
|
||||
|
||||
Replace with nconc which handles the nil case correctly.
|
||||
---
|
||||
makeres/makeres.lisp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/makeres/makeres.lisp b/makeres/makeres.lisp
|
||||
index 1999ac4..373bb57 100644
|
||||
--- a/makeres/makeres.lisp
|
||||
+++ b/makeres/makeres.lisp
|
||||
@@ -936,8 +936,8 @@ compressed storage, but alas."
|
||||
(> total maxmem))
|
||||
do (unload-target (pop cache))))
|
||||
(load-target id)
|
||||
- (setf (cdr (last cache))
|
||||
- (list id)))))))))
|
||||
+ (setf cache
|
||||
+ (nconc cache (list id))))))))))
|
||||
|
||||
;; Caching utility functions:
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-08
|
||||
License: ASL2.0
|
||||
|
||||
Remove [patch.crates-io] and [patch.'ssh://...'] sections.
|
||||
|
||||
The [patch] sections point to git repositories which are unavailable
|
||||
in an offline build. The vendored crossterm, ratatui,
|
||||
tokio-tungstenite and tungstenite forks are provided as cargo-inputs
|
||||
instead.
|
||||
|
||||
--- a/codex-rs/Cargo.toml
|
||||
+++ b/codex-rs/Cargo.toml
|
||||
@@ -311,16 +311,3 @@
|
||||
debug = 1 # Reduce debug symbol size
|
||||
inherits = "test"
|
||||
opt-level = 0
|
||||
-
|
||||
-[patch.crates-io]
|
||||
-# Uncomment to debug local changes.
|
||||
-# ratatui = { path = "../../ratatui" }
|
||||
-crossterm = { git = "https://github.com/nornagon/crossterm", branch = "nornagon/color-query" }
|
||||
-ratatui = { git = "https://github.com/nornagon/ratatui", branch = "nornagon-v0.29.0-patch" }
|
||||
-tokio-tungstenite = { git = "https://github.com/JakkuSakura/tokio-tungstenite", rev = "2ae536b0de793f3ddf31fc2f22d445bf1ef2023d" }
|
||||
-
|
||||
-# Uncomment to debug local changes.
|
||||
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
|
||||
-
|
||||
-[patch."ssh://git@github.com/JakkuSakura/tungstenite-rs.git"]
|
||||
-tungstenite = { git = "https://github.com/JakkuSakura/tungstenite-rs", rev = "f514de8644821113e5d18a027d6d28a5c8cc0a6e" }
|
||||
@@ -0,0 +1,92 @@
|
||||
From 8d651d7247c4e8cf07ba805712cdb09e8095dd89 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <8d651d7247c4e8cf07ba805712cdb09e8095dd89.1773006315.git.dannym@friendly-machines.com>
|
||||
From: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: Sun, 8 Mar 2026 21:44:05 +0000
|
||||
Subject: [PATCH] Scope native-comp trampoline disabling to spy-on only
|
||||
See: <https://github.com/jorgenschaefer/emacs-buttercup/pull/257>
|
||||
|
||||
buttercup-with-cleanup disabled native-comp-enable-subr-trampolines
|
||||
for the entire spec execution. This was a workaround for Emacs
|
||||
bug#61880, where trampoline compilation fails when spy-on redefines
|
||||
primitives that the trampoline compiler itself depends on (e.g.
|
||||
file-exists-p).
|
||||
|
||||
However, disabling trampolines globally has the side effect that fset
|
||||
overrides of C primitives become invisible to natively compiled code.
|
||||
This breaks shut-up's message override when called indirectly through
|
||||
native-compiled functions like display-message-or-buffer (from
|
||||
simple.eln), because without a trampoline, the native code calls the C
|
||||
primitive directly, bypassing the fset'd function.
|
||||
|
||||
Move the trampoline disabling from buttercup-with-cleanup into
|
||||
buttercup--spy-on-and-call-replacement, scoping it to just the fset
|
||||
call that installs the spy. This avoids the trampoline compilation
|
||||
issue while allowing other fset overrides (e.g. from shut-up or
|
||||
cl-letf) to work correctly with native-compiled callers.
|
||||
---
|
||||
buttercup.el | 34 +++++++++++++++++-----------------
|
||||
1 file changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/buttercup.el b/buttercup.el
|
||||
index 07e003f..417786d 100644
|
||||
--- a/buttercup.el
|
||||
+++ b/buttercup.el
|
||||
@@ -1293,12 +1293,23 @@ responsibility to ensure ARG is a command."
|
||||
(error "Spies can only be created in `before-each' or `it'"))))
|
||||
|
||||
|
||||
+(defvar native-comp-enable-subr-trampolines)
|
||||
+(defvar comp-enable-subr-trampolines)
|
||||
+
|
||||
(defun buttercup--spy-on-and-call-replacement (spy fun)
|
||||
"Replace the function in symbol SPY with a spy calling FUN."
|
||||
(let ((orig-function (and (fboundp spy) (symbol-function spy))))
|
||||
(when (buttercup--add-cleanup (lambda ()
|
||||
(fset spy orig-function)))
|
||||
- (fset spy (buttercup--make-spy fun)))))
|
||||
+ ;; Disable subr trampoline generation around the fset call.
|
||||
+ ;; Redefining certain primitives causes trampoline compilation
|
||||
+ ;; to fail because the trampoline compiler itself depends on
|
||||
+ ;; primitives that may have just been redefined.
|
||||
+ ;; See <https://github.com/jorgenschaefer/emacs-buttercup/issues/230>
|
||||
+ ;; and <https://debbugs.gnu.org/61880>.
|
||||
+ (let ((native-comp-enable-subr-trampolines nil)
|
||||
+ (comp-enable-subr-trampolines nil))
|
||||
+ (fset spy (buttercup--make-spy fun))))))
|
||||
|
||||
(defun buttercup--make-spy (fun)
|
||||
"Create a new spy function wrapping FUN and tracking every call to itself."
|
||||
@@ -1343,24 +1354,13 @@ responsibility to ensure ARG is a command."
|
||||
Should always be set to a value that is not `listp', except while
|
||||
in a `buttercup-with-cleanup' environment.")
|
||||
|
||||
-(defvar native-comp-enable-subr-trampolines)
|
||||
-(defvar comp-enable-subr-trampolines)
|
||||
-
|
||||
(defmacro buttercup-with-cleanup (&rest body)
|
||||
"Execute BODY, cleaning spys and the rest afterwards."
|
||||
- `(,@(if (fboundp 'with-suppressed-warnings)
|
||||
- '(with-suppressed-warnings ((obsolete comp-enable-subr-trampolines)))
|
||||
- '(progn))
|
||||
- (let ((buttercup--cleanup-functions nil)
|
||||
- ;; Redefining certain primitive's trampolines will cause problems,
|
||||
- ;; see https://github.com/jorgenschaefer/emacs-buttercup/issues/230 and
|
||||
- ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61880
|
||||
- (comp-enable-subr-trampolines nil)
|
||||
- (native-comp-enable-subr-trampolines nil))
|
||||
- (unwind-protect (progn ,@body)
|
||||
- (dolist (fun buttercup--cleanup-functions)
|
||||
- (ignore-errors
|
||||
- (funcall fun)))))))
|
||||
+ `(let ((buttercup--cleanup-functions nil))
|
||||
+ (unwind-protect (progn ,@body)
|
||||
+ (dolist (fun buttercup--cleanup-functions)
|
||||
+ (ignore-errors
|
||||
+ (funcall fun))))))
|
||||
|
||||
(defun buttercup--add-cleanup (function)
|
||||
"Register FUNCTION for cleanup in `buttercup-with-cleanup'."
|
||||
|
||||
base-commit: cc5a2ab7c7f18aaaf525fac61fe59bae5ad018dd
|
||||
--
|
||||
2.52.0
|
||||
@@ -1,40 +0,0 @@
|
||||
diff --git a/test/mke2fs.dump b/test/mke2fs.dump
|
||||
index 8e63662..0c25798 100644
|
||||
--- a/test/mke2fs.0.dump
|
||||
+++ b/test/mke2fs.0.dump
|
||||
@@ -11,7 +11,7 @@
|
||||
Inode count: 8192
|
||||
Block count: 32768
|
||||
Reserved block count: 1638
|
||||
-Free blocks: 26568
|
||||
+Free blocks: 26566
|
||||
Free inodes: 8141
|
||||
First block: 1
|
||||
Block size: 1024
|
||||
@@ -29,7 +29,7 @@
|
||||
Maximum mount count: -1
|
||||
Last checked: Sat Jan 1 00:00:00 2000
|
||||
Check interval: 0 (<none>)
|
||||
-Lifetime writes: 141 kB
|
||||
+Lifetime writes: 143 kB
|
||||
Reserved blocks uid: 0 (user root)
|
||||
Reserved blocks gid: 0 (group root)
|
||||
First inode: 11
|
||||
@@ -51,13 +51,13 @@
|
||||
Journal start: 0
|
||||
|
||||
|
||||
-Group 0: (Blocks 1-8192) csum 0x74a0 [ITABLE_ZEROED]
|
||||
+Group 0: (Blocks 1-8192) csum 0x3f30 [ITABLE_ZEROED]
|
||||
Primary superblock at 1, Group descriptors at 2-2
|
||||
- Block bitmap at 3 (+2), csum 0x16cec4db
|
||||
+ Block bitmap at 3 (+2), csum 0x8d67cdef
|
||||
Inode bitmap at 7 (+6), csum 0xb1052088
|
||||
Inode table at 11-522 (+10)
|
||||
- 6093 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
|
||||
- Free blocks: 2100-8192
|
||||
+ 6091 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
|
||||
+ Free blocks: 2102-8192
|
||||
Free inodes: 52-2048
|
||||
Group 1: (Blocks 8193-16384) csum 0x8fde [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||
Backup superblock at 8193, Group descriptors at 8194-8194
|
||||
@@ -1,32 +0,0 @@
|
||||
Upstream-status: Not presented upstream.
|
||||
|
||||
From a4eb7d1f2cbd02132a9f5512f1294182576d4653 Mon Sep 17 00:00:00 2001
|
||||
From: Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
Date: Fri, 8 Nov 2024 11:47:49 +0100
|
||||
Subject: [PATCH] osdep/hurd: Support the 64bit Hurd.
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
||||
* grub-core/osdep/hurd/getroot.c (grub_util_find_hurd_root_device):
|
||||
Use mach_msg_type_number_t instead of size_t.
|
||||
---
|
||||
grub-core/osdep/hurd/getroot.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/osdep/hurd/getroot.c b/grub-core/osdep/hurd/getroot.c
|
||||
index 0efefdab4..b849700e6 100644
|
||||
--- a/grub-core/osdep/hurd/getroot.c
|
||||
+++ b/grub-core/osdep/hurd/getroot.c
|
||||
@@ -58,7 +58,7 @@ grub_util_find_hurd_root_device (const char *path)
|
||||
file_t file;
|
||||
error_t err;
|
||||
char *argz = NULL, *name = NULL, *ret;
|
||||
- size_t argz_len = 0;
|
||||
+ mach_msg_type_number_t argz_len = 0;
|
||||
int i;
|
||||
|
||||
file = file_name_lookup (path, 0, 0);
|
||||
--
|
||||
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
|
||||
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
|
||||
|
||||
46
gnu/packages/patches/gst-plugins-base-null-pointer.patch
Normal file
46
gnu/packages/patches/gst-plugins-base-null-pointer.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
From 7d7c9ce06837f20d5585f1bc28a47701d12cf8ec Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
||||
Date: Sun, 1 Mar 2026 10:53:21 +0200
|
||||
Subject: [PATCH] glcolorconvert: Fix NULL pointer dereference on buffers
|
||||
without video meta
|
||||
|
||||
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4935
|
||||
---
|
||||
.../gst-libs/gst/gl/gstglcolorconvert.c | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
|
||||
index f2dc2dc7bbb..c13b4df69de 100644
|
||||
--- a/gst-libs/gst/gl/gstglcolorconvert.c
|
||||
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
|
||||
@@ -3428,10 +3428,12 @@ _init_convert (GstGLColorConvert * convert)
|
||||
}
|
||||
|
||||
GstVideoMeta *v_meta = gst_buffer_get_video_meta (convert->inbuf);
|
||||
- if (v_meta->width != convert->priv->padded_width
|
||||
- || v_meta->height != convert->priv->padded_height) {
|
||||
- gdouble padded_width = v_meta->width;
|
||||
- gdouble padded_height = v_meta->height;
|
||||
+ if ((v_meta && (v_meta->width != convert->priv->padded_width
|
||||
+ || v_meta->height != convert->priv->padded_height)) ||
|
||||
+ (!v_meta && (convert->in_info.width != convert->priv->padded_width ||
|
||||
+ convert->in_info.height != convert->priv->padded_height))) {
|
||||
+ gdouble padded_width = v_meta ? v_meta->width : convert->in_info.width;
|
||||
+ gdouble padded_height = v_meta ? v_meta->height : convert->in_info.height;
|
||||
gdouble display_width = GST_VIDEO_INFO_WIDTH (&convert->in_info);
|
||||
gdouble display_height = GST_VIDEO_INFO_HEIGHT (&convert->in_info);
|
||||
|
||||
@@ -3449,8 +3451,8 @@ _init_convert (GstGLColorConvert * convert)
|
||||
crop_vertices, GL_STATIC_DRAW);
|
||||
gl->BindBuffer (GL_ARRAY_BUFFER, 0);
|
||||
|
||||
- convert->priv->padded_width = v_meta->width;
|
||||
- convert->priv->padded_height = v_meta->height;
|
||||
+ convert->priv->padded_width = padded_width;
|
||||
+ convert->priv->padded_height = padded_height;
|
||||
}
|
||||
|
||||
gl->BindTexture (GL_TEXTURE_2D, 0);
|
||||
--
|
||||
GitLab
|
||||
|
||||
90
gnu/packages/patches/hwloc-add-with-opencl.patch
Normal file
90
gnu/packages/patches/hwloc-add-with-opencl.patch
Normal file
@@ -0,0 +1,90 @@
|
||||
From f30cc463a948260088b496c3609dd91c83c0ce1b Mon Sep 17 00:00:00 2001
|
||||
From: Brice Goglin <Brice.Goglin@inria.fr>
|
||||
Date: Mon, 16 Feb 2026 15:00:53 +0100
|
||||
Subject: [PATCH] configure: add --with-opencl=<dir>
|
||||
|
||||
For non-ROCm non-CUDA installs.
|
||||
|
||||
Thanks to Romain Garbage for the suggestion.
|
||||
|
||||
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
|
||||
(cherry picked from commit 462eff5a4541dfcb3db15034490c796c4f1d8ec6)
|
||||
---
|
||||
config/hwloc.m4 | 18 +++++++++++++++---
|
||||
config/hwloc_internal.m4 | 13 ++++++++++++-
|
||||
2 files changed, 27 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/config/hwloc.m4 b/config/hwloc.m4
|
||||
index e0057e8e5..4a26a7ec0 100644
|
||||
--- a/config/hwloc.m4
|
||||
+++ b/config/hwloc.m4
|
||||
@@ -1,7 +1,7 @@
|
||||
dnl -*- Autoconf -*-
|
||||
dnl
|
||||
dnl SPDX-License-Identifier: BSD-3-Clause
|
||||
-dnl Copyright © 2009-2025 Inria. All rights reserved.
|
||||
+dnl Copyright © 2009-2026 Inria. All rights reserved.
|
||||
dnl Copyright © 2009-2012, 2015-2017, 2020, 2023, 2025 Université Bordeaux
|
||||
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
@@ -1365,6 +1365,18 @@ return rsmi_init(0);
|
||||
echo "**** OpenCL configuration"
|
||||
|
||||
hwloc_opencl_happy=yes
|
||||
+
|
||||
+ if test "x$with_opencl" != x -a "x$with_opencl" != xyes; then
|
||||
+ opencl_dir=$with_opencl
|
||||
+ AC_MSG_NOTICE([using custom OpenCL install path $opencl_dir ...])
|
||||
+ else
|
||||
+ AC_MSG_NOTICE([assuming OpenCL is installed in standard directories ...])
|
||||
+ fi
|
||||
+ if test "x$opencl_dir" != x; then
|
||||
+ HWLOC_OPENCL_CPPFLAGS="-I$opencl_dir/include/"
|
||||
+ HWLOC_OPENCL_LDFLAGS="-L$opencl_dir/lib/"
|
||||
+ fi
|
||||
+
|
||||
case ${target} in
|
||||
*-*-darwin*)
|
||||
# On Darwin, only use the OpenCL framework
|
||||
@@ -1387,8 +1399,8 @@ return clGetDeviceIDs(0, 0, 0, NULL, NULL);
|
||||
;;
|
||||
*)
|
||||
# On Others, look for OpenCL at normal locations
|
||||
- HWLOC_OPENCL_CPPFLAGS="$HWLOC_CUDA_COMMON_CPPFLAGS"
|
||||
- HWLOC_OPENCL_LDFLAGS="$HWLOC_CUDA_COMMON_LDFLAGS"
|
||||
+ HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS $HWLOC_CUDA_COMMON_CPPFLAGS"
|
||||
+ HWLOC_OPENCL_LDFLAGS="$HWLOC_OPENCL_LDFLAGS $HWLOC_CUDA_COMMON_LDFLAGS"
|
||||
if test "x$rocm_dir" != x; then
|
||||
if test -d "$rocm_dir/include/CL"; then
|
||||
HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS -I$rocm_dir/include/"
|
||||
diff --git a/config/hwloc_internal.m4 b/config/hwloc_internal.m4
|
||||
index da6505e91..1135a245f 100644
|
||||
--- a/config/hwloc_internal.m4
|
||||
+++ b/config/hwloc_internal.m4
|
||||
@@ -1,7 +1,7 @@
|
||||
dnl -*- Autoconf -*-
|
||||
dnl
|
||||
dnl SPDX-License-Identifier: BSD-3-Clause
|
||||
-dnl Copyright © 2010-2025 Inria. All rights reserved.
|
||||
+dnl Copyright © 2010-2026 Inria. All rights reserved.
|
||||
dnl Copyright © 2009, 2011 Université Bordeaux
|
||||
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
|
||||
dnl University Research and Technology
|
||||
@@ -147,6 +147,17 @@ AC_DEFUN([HWLOC_DEFINE_ARGS],[
|
||||
[AC_MSG_ERROR([--with-amdgpu=<dir> missing the installation directory])])]
|
||||
)
|
||||
|
||||
+ # OpenCL
|
||||
+ AC_ARG_ENABLE([opencl],
|
||||
+ AS_HELP_STRING([--disable-opencl],
|
||||
+ [Disable the OpenCL device discovery]))
|
||||
+ AC_ARG_WITH([opencl],
|
||||
+ AS_HELP_STRING([--with-opencl=<dir>],
|
||||
+ [Specify the OpenCL installation directory]),
|
||||
+ [AS_IF([test "x$withval" = xyes -o "x$withval" = x],
|
||||
+ [AC_MSG_ERROR([--with-opencl=<dir> missing the installation directory])])]
|
||||
+ )
|
||||
+
|
||||
# LevelZero
|
||||
AC_ARG_ENABLE([levelzero],
|
||||
AS_HELP_STRING([--disable-levelzero],
|
||||
@@ -1,75 +0,0 @@
|
||||
Uptream-status: https://github.com/YosysHQ/nextpnr/pull/1480
|
||||
|
||||
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
|
||||
index ff5d9208..c554cc96 100644
|
||||
--- a/gui/CMakeLists.txt
|
||||
+++ b/gui/CMakeLists.txt
|
||||
@@ -46,12 +46,42 @@ target_include_directories(nextpnr-${target}-gui PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
+# Detect whether imgui/qtimgui packages are available from the system.
|
||||
+find_path(IMGUI_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui)
|
||||
+find_path(QTIMGUI_INCLUDE_DIR NAMES QtImGui.h PATH_SUFFIXES qtimgui)
|
||||
+find_library(IMGUI_LIB NAMES imgui)
|
||||
+find_library(QTIMGUI_LIB NAMES qt_imgui_widgets)
|
||||
+if (IMGUI_INCLUDE_DIR AND IMGUI_LIB)
|
||||
+ message("Using system imgui library:
|
||||
+ IMGUI_INCLUDE_DIR=${IMGUI_INCLUDE_DIR}
|
||||
+ IMGUI_LIB=${IMGUI_LIB}")
|
||||
+else()
|
||||
+ message("Using bundled imgui library")
|
||||
+ set(IMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/imgui)
|
||||
+ set(IMGUI_SOURCES
|
||||
+ ../3rdparty/imgui/imgui_widgets.cpp
|
||||
+ ../3rdparty/imgui/imgui_draw.cpp
|
||||
+ ../3rdparty/imgui/imgui.cpp
|
||||
+ ../3rdparty/imgui/imgui_demo.cpp)
|
||||
+endif()
|
||||
+if (QTIMGUI_INCLUDE_DIR AND QTIMGUI_LIB)
|
||||
+ message("Using system qtimgui library:
|
||||
+ QTIMGUI_INCLUDE_DIR=${QTIMGUI_INCLUDE_DIR}
|
||||
+ QTIMGUI_LIB=${QTIMGUI_LIB}")
|
||||
+else()
|
||||
+ message("Using bundled qtimgui library")
|
||||
+ set(QTIMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui)
|
||||
+ set(QTIMGUI_SOURCES
|
||||
+ ../3rdparty/qtimgui/ImGuiRenderer.cpp
|
||||
+ ../3rdparty/qtimgui/QtImGui.cpp)
|
||||
+endif()
|
||||
+
|
||||
target_include_directories(nextpnr-${target}-gui PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/frontend
|
||||
${CMAKE_SOURCE_DIR}/json
|
||||
${CMAKE_SOURCE_DIR}/3rdparty/QtPropertyBrowser/src
|
||||
- ${CMAKE_SOURCE_DIR}/3rdparty/imgui
|
||||
- ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui
|
||||
+ ${IMGUI_INCLUDE_DIR}
|
||||
+ ${QTIMGUI_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
target_link_libraries(nextpnr-${target}-gui PUBLIC
|
||||
@@ -77,14 +107,17 @@ if (BUILD_PYTHON)
|
||||
../3rdparty/python-console/ParseMessage.cpp
|
||||
../3rdparty/python-console/modified/pyredirector.cc
|
||||
../3rdparty/python-console/modified/pyinterpreter.cc
|
||||
- ../3rdparty/imgui/imgui_widgets.cpp
|
||||
- ../3rdparty/imgui/imgui_draw.cpp
|
||||
- ../3rdparty/imgui/imgui.cpp
|
||||
- ../3rdparty/imgui/imgui_demo.cpp
|
||||
- ../3rdparty/qtimgui/ImGuiRenderer.cpp
|
||||
- ../3rdparty/qtimgui/QtImGui.cpp
|
||||
+ ${IMGUI_SOURCES}
|
||||
+ ${QTIMGUI_SOURCES}
|
||||
)
|
||||
|
||||
+ if (IMGUI_LIB)
|
||||
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${IMGUI_LIB})
|
||||
+ endif()
|
||||
+ if (QTIMGUI_LIB)
|
||||
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${QTIMGUI_LIB})
|
||||
+ endif()
|
||||
+
|
||||
target_include_directories(nextpnr-${target}-gui PRIVATE
|
||||
../3rdparty/python-console
|
||||
../3rdparty/python-console/modified
|
||||
@@ -1,89 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-07
|
||||
License: ASL2.0
|
||||
Subject: Use libc::flock instead of unstable std File::try_lock().
|
||||
|
||||
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>
|
||||
and is not yet stable in old Rust versions like Rust 1.88.
|
||||
|
||||
diff -ruN a/codex-rs/arg0/Cargo.toml b/codex-rs/arg0/Cargo.toml
|
||||
--- a/codex-rs/arg0/Cargo.toml
|
||||
+++ b/codex-rs/arg0/Cargo.toml
|
||||
@@ -17,5 +17,6 @@
|
||||
codex-core = { workspace = true }
|
||||
codex-linux-sandbox = { workspace = true }
|
||||
dotenvy = { workspace = true }
|
||||
+libc = { workspace = true }
|
||||
tempfile = { workspace = true }
|
||||
tokio = { workspace = true, features = ["rt-multi-thread"] }
|
||||
diff -ruN a/codex-rs/arg0/src/lib.rs b/codex-rs/arg0/src/lib.rs
|
||||
--- a/codex-rs/arg0/src/lib.rs
|
||||
+++ b/codex-rs/arg0/src/lib.rs
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
use codex_core::CODEX_APPLY_PATCH_ARG1;
|
||||
#[cfg(unix)]
|
||||
+use std::os::unix::io::AsRawFd;
|
||||
+#[cfg(unix)]
|
||||
use std::os::unix::fs::symlink;
|
||||
use tempfile::TempDir;
|
||||
|
||||
@@ -13,6 +15,18 @@
|
||||
const MISSPELLED_APPLY_PATCH_ARG0: &str = "applypatch";
|
||||
const LOCK_FILENAME: &str = ".lock";
|
||||
|
||||
+// FIXME: Remove this helper when Rust provides stable file locking API.
|
||||
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
|
||||
+#[cfg(unix)]
|
||||
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
|
||||
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
|
||||
+ if ret == 0 {
|
||||
+ Ok(())
|
||||
+ } else {
|
||||
+ Err(std::io::Error::last_os_error())
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/// Keeps the per-session PATH entry alive and locked for the process lifetime.
|
||||
pub struct Arg0PathEntryGuard {
|
||||
_temp_dir: TempDir,
|
||||
@@ -216,7 +230,7 @@
|
||||
.create(true)
|
||||
.truncate(false)
|
||||
.open(&lock_path)?;
|
||||
- lock_file.try_lock()?;
|
||||
+ try_lock_exclusive(&lock_file)?;
|
||||
|
||||
for filename in &[
|
||||
APPLY_PATCH_ARG0,
|
||||
@@ -307,10 +321,10 @@
|
||||
Err(err) => return Err(err),
|
||||
};
|
||||
|
||||
- match lock_file.try_lock() {
|
||||
+ match try_lock_exclusive(&lock_file) {
|
||||
Ok(()) => Ok(Some(lock_file)),
|
||||
- Err(std::fs::TryLockError::WouldBlock) => Ok(None),
|
||||
- Err(err) => Err(err.into()),
|
||||
+ Err(ref e) if e.raw_os_error() == Some(libc::EWOULDBLOCK) => Ok(None),
|
||||
+ Err(err) => Err(err),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -318,6 +332,7 @@
|
||||
mod tests {
|
||||
use super::LOCK_FILENAME;
|
||||
use super::janitor_cleanup;
|
||||
+ use super::try_lock_exclusive;
|
||||
use std::fs;
|
||||
use std::fs::File;
|
||||
use std::path::Path;
|
||||
@@ -350,7 +365,7 @@
|
||||
let dir = root.path().join("locked");
|
||||
fs::create_dir(&dir)?;
|
||||
let lock_file = create_lock(&dir)?;
|
||||
- lock_file.try_lock()?;
|
||||
+ try_lock_exclusive(&lock_file)?;
|
||||
|
||||
janitor_cleanup(root.path())?;
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-01-25
|
||||
License: ASL2.0
|
||||
Subject: Use libc::flock instead of unstable std File::try_lock()/try_lock_shared().
|
||||
|
||||
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
|
||||
and is not yet stable in old Rust versions like Rust 1.85.
|
||||
|
||||
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
|
||||
|
||||
diff -u a/codex-rs/core/src/message_history.rs b/codex-rs/core/src/message_history.rs
|
||||
--- a/codex-rs/core/src/message_history.rs
|
||||
+++ b/codex-rs/core/src/message_history.rs
|
||||
@@ -41,6 +41,8 @@
|
||||
use std::os::unix::fs::OpenOptionsExt;
|
||||
#[cfg(unix)]
|
||||
use std::os::unix::fs::PermissionsExt;
|
||||
+#[cfg(unix)]
|
||||
+use std::os::unix::io::AsRawFd;
|
||||
|
||||
/// Filename that stores the message history inside `~/.codex`.
|
||||
const HISTORY_FILENAME: &str = "history.jsonl";
|
||||
@@ -51,6 +53,28 @@
|
||||
const MAX_RETRIES: usize = 10;
|
||||
const RETRY_SLEEP: Duration = Duration::from_millis(100);
|
||||
|
||||
+// FIXME: Remove these helpers when Rust provides stable file locking API
|
||||
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
|
||||
+#[cfg(unix)]
|
||||
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
|
||||
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
|
||||
+ if ret == 0 {
|
||||
+ Ok(())
|
||||
+ } else {
|
||||
+ Err(std::io::Error::last_os_error())
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#[cfg(unix)]
|
||||
+fn try_lock_shared(file: &File) -> std::io::Result<()> {
|
||||
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_SH | libc::LOCK_NB) };
|
||||
+ if ret == 0 {
|
||||
+ Ok(())
|
||||
+ } else {
|
||||
+ Err(std::io::Error::last_os_error())
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
|
||||
pub struct HistoryEntry {
|
||||
pub session_id: String,
|
||||
@@ -126,7 +150,7 @@
|
||||
tokio::task::spawn_blocking(move || -> Result<()> {
|
||||
// Retry a few times to avoid indefinite blocking when contended.
|
||||
for _ in 0..MAX_RETRIES {
|
||||
- match history_file.try_lock() {
|
||||
+ match try_lock_exclusive(&history_file) {
|
||||
Ok(()) => {
|
||||
// While holding the exclusive lock, write the full line.
|
||||
// We do not open the file with `append(true)` on Windows, so ensure the
|
||||
@@ -137,10 +161,10 @@
|
||||
enforce_history_limit(&mut history_file, history_max_bytes)?;
|
||||
return Ok(());
|
||||
}
|
||||
- Err(std::fs::TryLockError::WouldBlock) => {
|
||||
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
|
||||
std::thread::sleep(RETRY_SLEEP);
|
||||
}
|
||||
- Err(e) => return Err(e.into()),
|
||||
+ Err(e) => return Err(e),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,7 +365,7 @@
|
||||
// Open & lock file for reading using a shared lock.
|
||||
// Retry a few times to avoid indefinite blocking.
|
||||
for _ in 0..MAX_RETRIES {
|
||||
- let lock_result = file.try_lock_shared();
|
||||
+ let lock_result = try_lock_shared(&file);
|
||||
|
||||
match lock_result {
|
||||
Ok(()) => {
|
||||
@@ -368,7 +392,7 @@
|
||||
// Not found at requested offset.
|
||||
return None;
|
||||
}
|
||||
- Err(std::fs::TryLockError::WouldBlock) => {
|
||||
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
|
||||
std::thread::sleep(RETRY_SLEEP);
|
||||
}
|
||||
Err(e) => {
|
||||
@@ -1,49 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-01-25
|
||||
License: ASL2.0
|
||||
Subject: Use libc::flock instead of unstable std File::lock().
|
||||
|
||||
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
|
||||
and is not yet stable in old Rust versions like Rust 1.85.
|
||||
|
||||
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
|
||||
|
||||
diff -u a/codex-rs/execpolicy/Cargo.toml b/codex-rs/execpolicy/Cargo.toml
|
||||
--- a/codex-rs/execpolicy/Cargo.toml
|
||||
+++ b/codex-rs/execpolicy/Cargo.toml
|
||||
@@ -19,6 +19,7 @@
|
||||
[dependencies]
|
||||
anyhow = { workspace = true }
|
||||
clap = { workspace = true, features = ["derive"] }
|
||||
+libc = { workspace = true }
|
||||
multimap = { workspace = true }
|
||||
serde = { workspace = true, features = ["derive"] }
|
||||
serde_json = { workspace = true }
|
||||
diff -u a/codex-rs/execpolicy/src/amend.rs b/codex-rs/execpolicy/src/amend.rs
|
||||
--- a/codex-rs/execpolicy/src/amend.rs
|
||||
+++ b/codex-rs/execpolicy/src/amend.rs
|
||||
@@ -1,4 +1,5 @@
|
||||
use std::fs::OpenOptions;
|
||||
+use std::os::unix::io::AsRawFd;
|
||||
use std::io::Read;
|
||||
use std::io::Seek;
|
||||
use std::io::SeekFrom;
|
||||
@@ -100,10 +101,14 @@
|
||||
path: policy_path.to_path_buf(),
|
||||
source,
|
||||
})?;
|
||||
- file.lock().map_err(|source| AmendError::LockPolicyFile {
|
||||
- path: policy_path.to_path_buf(),
|
||||
- source,
|
||||
- })?;
|
||||
+ // FIXME: Use file.lock() when Rust 1.91 is available
|
||||
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX) };
|
||||
+ if ret != 0 {
|
||||
+ return Err(AmendError::LockPolicyFile {
|
||||
+ path: policy_path.to_path_buf(),
|
||||
+ source: std::io::Error::last_os_error(),
|
||||
+ });
|
||||
+ }
|
||||
|
||||
let len = file
|
||||
.metadata()
|
||||
56
gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch
Normal file
56
gnu/packages/patches/rust-codex-0.98.0-test-shebangs.patch
Normal file
@@ -0,0 +1,56 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-27
|
||||
License: ASL2.0
|
||||
Subject: Use @SHELL@ placeholder for shebangs in embedded test scripts.
|
||||
|
||||
Tests that create and execute temporary shell scripts at runtime use
|
||||
a hardcoded "#!/bin/sh" shebang. Replace with @SHELL@ so the build
|
||||
phase can substitute the actual store path.
|
||||
|
||||
Also change assertions to print the actual error on failure.
|
||||
|
||||
diff -ruN a/codex-rs/rmcp-client/src/program_resolver.rs b/codex-rs/rmcp-client/src/program_resolver.rs
|
||||
--- a/codex-rs/rmcp-client/src/program_resolver.rs
|
||||
+++ b/codex-rs/rmcp-client/src/program_resolver.rs
|
||||
@@ -82,7 +82,7 @@
|
||||
cmd.envs(&env.mcp_env);
|
||||
|
||||
let output = cmd.output().await;
|
||||
- assert!(output.is_ok(), "Unix should execute scripts directly");
|
||||
+ output.expect("Unix should execute scripts directly");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -134,10 +134,7 @@
|
||||
cmd.envs(&env.mcp_env);
|
||||
let output = cmd.output().await;
|
||||
|
||||
- assert!(
|
||||
- output.is_ok(),
|
||||
- "Resolved program should execute successfully"
|
||||
- );
|
||||
+ output.expect("Resolved program should execute successfully");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -185,7 +182,7 @@
|
||||
#[cfg(unix)]
|
||||
{
|
||||
let file = dir.join(Self::TEST_PROGRAM);
|
||||
- fs::write(&file, "#!/bin/sh\nexit 0")?;
|
||||
+ fs::write(&file, "#!@SHELL@\nexit 0")?;
|
||||
Self::set_executable(&file)?;
|
||||
}
|
||||
|
||||
diff -ruN a/codex-rs/tui/src/external_editor.rs b/codex-rs/tui/src/external_editor.rs
|
||||
--- a/codex-rs/tui/src/external_editor.rs
|
||||
+++ b/codex-rs/tui/src/external_editor.rs
|
||||
@@ -159,7 +159,7 @@
|
||||
|
||||
let dir = tempdir().unwrap();
|
||||
let script_path = dir.path().join("edit.sh");
|
||||
- fs::write(&script_path, "#!/bin/sh\nprintf \"edited\" > \"$1\"\n").unwrap();
|
||||
+ fs::write(&script_path, "#!@SHELL@\nprintf \"edited\" > \"$1\"\n").unwrap();
|
||||
let mut perms = fs::metadata(&script_path).unwrap().permissions();
|
||||
perms.set_mode(0o755);
|
||||
fs::set_permissions(&script_path, perms).unwrap();
|
||||
20
gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch
Normal file
20
gnu/packages/patches/rust-codex-0.98.0-test-timeout.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-03-05
|
||||
License: ASL2.0
|
||||
Subject: Increase per-event test timeout from 10 to 30 seconds.
|
||||
|
||||
In resource-constrained build environments, image processing (resize,
|
||||
base64-encode, JSON serialization) can exceed 10 seconds under CPU
|
||||
contention, causing intermittent test failures.
|
||||
|
||||
diff -ruN a/codex-rs/core/tests/common/lib.rs b/codex-rs/core/tests/common/lib.rs
|
||||
--- a/codex-rs/core/tests/common/lib.rs
|
||||
+++ b/codex-rs/core/tests/common/lib.rs
|
||||
@@ -174,7 +174,7 @@
|
||||
loop {
|
||||
// Allow a bit more time to accommodate async startup work (e.g. config IO, tool discovery)
|
||||
- let ev = timeout(wait_time.max(Duration::from_secs(10)), codex.next_event())
|
||||
+ let ev = timeout(wait_time.max(Duration::from_secs(30)), codex.next_event())
|
||||
.await
|
||||
.expect("timeout waiting for event")
|
||||
.expect("stream ended unexpectedly");
|
||||
@@ -0,0 +1,23 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-25
|
||||
License: ASL2.0
|
||||
Subject: Add version to codex-protocol dependency in windows-sandbox-rs.
|
||||
|
||||
The codex-protocol dependency in windows-sandbox-rs uses the TOML table
|
||||
format with an explicit path, rather than workspace inheritance
|
||||
(workspace = true). Because it is not an intra-workspace dependency,
|
||||
cargo cannot resolve its version from the workspace root Cargo.toml
|
||||
and cargo package fails with "dependency `codex-protocol` does not
|
||||
specify a version".
|
||||
|
||||
diff -u a/codex-rs/windows-sandbox-rs/Cargo.toml b/codex-rs/windows-sandbox-rs/Cargo.toml
|
||||
--- a/codex-rs/windows-sandbox-rs/Cargo.toml
|
||||
+++ b/codex-rs/windows-sandbox-rs/Cargo.toml
|
||||
@@ -38,6 +38,7 @@
|
||||
[dependencies.codex-protocol]
|
||||
package = "codex-protocol"
|
||||
path = "../protocol"
|
||||
+version = "0.0.0"
|
||||
|
||||
[dependencies.rand]
|
||||
default-features = false
|
||||
@@ -236,7 +236,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.91.3")
|
||||
(version "2.91.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -245,7 +245,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1ypwpxgcjz4gxb77pzjj1b202yr083cwj4dwp9m0vw0ynqgsl6va"))
|
||||
(base32 "1ih4jx652nnw1cyvsjmz8dmmcylrwl6lmczav9r8m4z7n6flgkql"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
@@ -938,6 +938,30 @@ files (.Z), such as the ones created by Unix's shell tool compress.")
|
||||
Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-zipfile2
|
||||
(package
|
||||
(name "python-zipfile2")
|
||||
(version "0.0.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/itziakos/zipfile2/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/itziakos/zipfile2/")
|
||||
(synopsis "Improved @code{ZipFile} Python class")
|
||||
(description
|
||||
"Zipfile2 is a backward compatible replacement to @code{ZipFile}. It
|
||||
provides handling of symlinks, and exception management.")
|
||||
(license license:psfl)))
|
||||
|
||||
(define-public python-zipp
|
||||
(package
|
||||
(name "python-zipp")
|
||||
|
||||
@@ -616,6 +616,28 @@ using NumPy-like idioms.")
|
||||
line drawing algorithm}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-catppuccin
|
||||
(package
|
||||
(name "python-catppuccin")
|
||||
(version "2.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "catppuccin" version))
|
||||
(sha256
|
||||
(base32 "0d38gjn6661pb9jl4bg6l698aw4llir44xacrg8nj8xw6nzz6d9h"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-hatchling python-pytest
|
||||
;; These are optional dependencies but required for tests.
|
||||
python-matplotlib python-pygments python-rich))
|
||||
(home-page "https://github.com/catppuccin/python")
|
||||
(synopsis "Pastel palette for Python libraries")
|
||||
(description "Catppuccin for Python is a soothing pastel pallete for Python
|
||||
libraries. It aims to be the middle ground between low and high contrast
|
||||
themes. It also includes themes for IPython, Matplotlib, Pygments and Rich.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-calmjs-parse
|
||||
(package
|
||||
(name "python-calmjs-parse")
|
||||
@@ -4014,14 +4036,16 @@ commits.")
|
||||
(define-public python-mkdocs-material
|
||||
(package
|
||||
(name "python-mkdocs-material")
|
||||
(version "7.1.3")
|
||||
(version "7.3.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(pypi-uri "mkdocs-material" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/squidfunk/mkdocs-material")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ci9xiasq9nfn09v11m7p49vzazdbgslw7rpzjd6y3hsmn9vljz3"))
|
||||
(base32 "06ghwidcdqimx6jc6yz1zdbyc8rqklkwj5h5cxsihazh0f52fivk"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; TODO There are still bundled assets and minified JS.
|
||||
@@ -4052,8 +4076,8 @@ commits.")
|
||||
""))))
|
||||
(add-after 'ensure-no-mtimes-pre-1980 'inject-javascript-assets
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "material/assets/javascripts/min/")
|
||||
(with-directory-excursion "material/assets/javascripts/min/"
|
||||
(mkdir-p "material/assets/javascripts/lunr/min")
|
||||
(with-directory-excursion "material/assets/javascripts/lunr/min"
|
||||
(symlink-js inputs))))
|
||||
(add-after 'wrap 'replace-javascript-assets
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
@@ -4061,9 +4085,9 @@ commits.")
|
||||
(js-assets (string-append site "/material/"
|
||||
"assets/javascripts")))
|
||||
(with-directory-excursion js-assets
|
||||
(delete-file-recursively "min")
|
||||
(mkdir-p "min")
|
||||
(with-directory-excursion "min"
|
||||
(delete-file-recursively "lunr/min")
|
||||
(mkdir-p "lunr/min")
|
||||
(with-directory-excursion "lunr/min"
|
||||
(symlink-js inputs))))))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list js-lunr-ar
|
||||
@@ -17919,24 +17943,49 @@ JSON Reference and JSON Pointer.")
|
||||
(define-public python-fastbencode
|
||||
(package
|
||||
(name "python-fastbencode")
|
||||
(version "0.3.2") ;the last non Rust version
|
||||
(version "0.3.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fastbencode" version))
|
||||
(modules '((guix build utils)))
|
||||
;; Delete pre-generated Cython C files.
|
||||
(snippet '(for-each delete-file (find-files "." "\\.c$")))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/breezy-team/fastbencode")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1daal7xgsl2sjxq8pcilcas9wd9j9796wd4rlkhrvv5h0k2k4k53"))))
|
||||
(base32 "0d4sd1c2yv85spxx2gvi2fm0avlgpnb7nfkvw7hpxlx6qlaqi4ad"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'unittest
|
||||
#:test-flags #~(list "fastbencode.tests.test_suite")))
|
||||
#:test-flags #~(list "tests.test_suite")
|
||||
#:imported-modules (append %cargo-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules '(((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build pyproject-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
(lambda (phase)
|
||||
(format #t "Running cargo phase: ~a~%" phase)
|
||||
(apply (assoc-ref cargo:%standard-phases phase)
|
||||
#:cargo-target #$(cargo-triplet)
|
||||
args))
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
check-for-pregenerated-files
|
||||
patch-cargo-checksums)))))))
|
||||
(inputs (cargo-inputs 'fastbencode))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-setuptools))
|
||||
(append
|
||||
(list python-setuptools-rust
|
||||
rust
|
||||
`(,rust "cargo"))
|
||||
(or (and=> (%current-target-system)
|
||||
(compose list make-rust-sysroot))
|
||||
'())))
|
||||
(home-page "https://github.com/breezy-team/fastbencode")
|
||||
(synopsis "Python Bencode (de)serializer with optional fast C extensions")
|
||||
(description
|
||||
@@ -18192,40 +18241,6 @@ how many previous alarms had gone off, and if there is music playing at the
|
||||
time.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-simplesat
|
||||
(package
|
||||
(name "python-simplesat")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/enthought/sat-solver")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "--ignore=old")))
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-okonomiyaki
|
||||
python-six))
|
||||
(native-inputs
|
||||
(list python-mock
|
||||
python-pytest
|
||||
python-pyyaml
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/enthought/sat-solver")
|
||||
(synopsis
|
||||
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
|
||||
(description
|
||||
"This package provides a prototype Python implementation for SAT-based
|
||||
problems.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-haas
|
||||
;; A recent revision is required to avoid obsoleted dependencies.
|
||||
(let ((commit "e9c45e88b682c9129ea0971ba31671429495de2c")
|
||||
@@ -18257,27 +18272,6 @@ with Python's built-in unittest test-cases, but supports more advanced
|
||||
features, such as project-specific plugins.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public python-zipfile2
|
||||
(package
|
||||
(name "python-zipfile2")
|
||||
(version "0.0.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/itziakos/zipfile2/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools python-pytest))
|
||||
(home-page "https://github.com/itziakos/zipfile2/")
|
||||
(synopsis "Improved @code{ZipFile} Python class")
|
||||
(description "Zipfile2 is a backward compatible replacement to
|
||||
@code{ZipFile}. It provides handling of symlinks, and exception management.")
|
||||
(license license:psfl)))
|
||||
|
||||
(define-public python-okonomiyaki
|
||||
(package
|
||||
(name "python-okonomiyaki")
|
||||
@@ -41263,17 +41257,19 @@ you do not want to store entirely on disk or on memory.")
|
||||
(arguments
|
||||
`(#:configure-flags '("PYTHON_VERSION=2")))))
|
||||
|
||||
(define-public python-yamlcore-0.0.2
|
||||
;; This is a pinned version dependency for librelane
|
||||
(define-public python-yamlcore
|
||||
(package
|
||||
(name "python-yamlcore")
|
||||
(version "0.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "yamlcore" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vwjiryrx58ycmlbv668izswda4jmdpw7g9cn6bsy5my3iabjblb"))))
|
||||
(version "0.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/perlpunk/pyyaml-core")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03y7fabyky67cw4g71xcbwfdal79wxcnmr303qyllz21x2d4s5ac"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list python-pyyaml))
|
||||
@@ -41283,6 +41279,8 @@ you do not want to store entirely on disk or on memory.")
|
||||
files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-deprecated-package python-yamlcore-0.0.2 python-yamlcore)
|
||||
|
||||
(define-public shrinkwrap
|
||||
(package
|
||||
(name "shrinkwrap")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2023 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2014, 2015, 2023, 2026 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2025 宋文武 <iyzsong@envs.net>
|
||||
;;; Copyright © 2015, 2018-2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015-2019, 2024, 2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
@@ -36,6 +36,7 @@
|
||||
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2024, 2026 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -102,6 +103,7 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages kde-sdk)
|
||||
#:use-module (gnu packages libevent)
|
||||
@@ -5524,6 +5526,38 @@ different kinds of sliders, and much more.")
|
||||
;; textengines/mathml/qwt_mml_document.{cpp,h} is dual LGPL2.1/GPL3 (either).
|
||||
license:lgpl2.1 license:gpl3))))
|
||||
|
||||
(define-public jkqtplotter
|
||||
(package
|
||||
(name "jkqtplotter")
|
||||
(version "4.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jkriege2/JKQtPlotter")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yi80d8w4l69siia5rvdzakyzkm7vbpfk6ffcwc6vm6z0i58m9cl"))))
|
||||
(build-system qt-build-system)
|
||||
(inputs (list opencv qtsvg))
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'delete-broken-binaries
|
||||
(lambda _
|
||||
(delete-file-recursively (string-append #$output "/bin")))))))
|
||||
(home-page "https://jkriege2.github.io/JKQtPlotter/index.html")
|
||||
(synopsis "Qt Plotting Library")
|
||||
(description
|
||||
"JKQTPlotter is a library of function and data plotter classes for Qt.
|
||||
It includes a plotter widget and a LaTeX equation renderer and supports
|
||||
a variety of graphs and charts.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public dotherside
|
||||
(package
|
||||
(name "dotherside")
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
;;; Copyright © 2025 Jordan Moore <lockbox@struct.foo>
|
||||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
|
||||
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -831,6 +832,58 @@ library.")
|
||||
devices that are supported by the SoapySDR library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-meshtastic
|
||||
(package
|
||||
(name "python-meshtastic")
|
||||
(version "2.7.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/meshtastic/python")
|
||||
(commit version)
|
||||
(recursive? #t))) ;TODO: package meshtastic/protobufs subproject
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fdxlwdf1ga00wa7vbfvhhd0dpwcxakdlmrjs24zhd6pq5k7jicf"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 220 passed, 3 skipped, 77 deselected
|
||||
#:test-flags
|
||||
;; requires pytap2 input, which is not in Guix
|
||||
#~(list "-k not test_tunnel_tunnel_arg")))
|
||||
(native-inputs
|
||||
(list python-poetry-core
|
||||
python-pytest))
|
||||
;; unpackaged (optional) inputs: python-print-color, python-dash
|
||||
;; python-pytap2, python-dash-bootstrap-components
|
||||
(propagated-inputs
|
||||
(list python-argcomplete
|
||||
python-bleak
|
||||
python-dotmap
|
||||
python-packaging
|
||||
python-pandas
|
||||
python-pandas-stubs
|
||||
python-protobuf
|
||||
python-pypubsub
|
||||
python-pyqrcode
|
||||
python-pyserial
|
||||
python-pyyaml
|
||||
python-requests
|
||||
python-tabulate
|
||||
python-wcwidth))
|
||||
(home-page "https://github.com/meshtastic/python")
|
||||
(synopsis "Python library and CLI for talking to Meshtastic devices")
|
||||
(description
|
||||
"@url{https://meshtastic.org/,Meshtastic} Python is a small library which
|
||||
provides an easy API for sending and receiving messages over mesh radios. It
|
||||
provides access to any of the operations/data available in the device user
|
||||
interface or the Android applications. Events are delivered using a
|
||||
publish-subscribe model, and you can subscribe to only the message types you
|
||||
are interested in.")
|
||||
(license license:gpl3))) ;XXX: both python API and protobufs
|
||||
|
||||
(define-public qspectrumanalyzer
|
||||
(package
|
||||
(name "qspectrumanalyzer")
|
||||
|
||||
@@ -325,6 +325,28 @@ acts as the performance backbone for a wide variety of compute
|
||||
applications running on AMD GPUs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rocm-validationsuite
|
||||
(package
|
||||
(name "rocm-validationsuite")
|
||||
(version %rocm-version)
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ROCm/rocmvalidationsuite/")
|
||||
(commit (string-append "rocm-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l577sd88f4f46am6w81n7rbswx39zy602xbqrk3zqb156k14s2s"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list rocblas))
|
||||
(home-page "https://rocm.docs.amd.com/projects/ROCmValidationSuite/")
|
||||
(synopsis "ROCm system validation and diagnostics")
|
||||
(description "ROCm monitor for stress testing, detection and
|
||||
troubleshooting issues impacting AMD GPUS in HPC environments.")
|
||||
(license license:expat)))
|
||||
|
||||
(define hipblaslt-supported-targets
|
||||
(list "gfx1100"
|
||||
"gfx1101"
|
||||
|
||||
@@ -293,7 +293,7 @@ available to ROCm and show their properties.")
|
||||
"19jyymisxiikphzmq6h8vy5cg0r5dz3lxr5wvdf44frb8wxr8vla"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; Tests try to use git commit
|
||||
(native-inputs (list git))
|
||||
(native-inputs (list git-minimal/pinned))
|
||||
(home-page "https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/")
|
||||
(synopsis "ROCm cmake modules")
|
||||
(description "ROCm cmake modules provides cmake modules for common build
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages ibus)
|
||||
#:use-module (gnu packages icu4c)
|
||||
@@ -697,6 +698,90 @@ Rust source code.")
|
||||
through tools like `gdb`.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public cocogitto
|
||||
(package
|
||||
(name "cocogitto")
|
||||
(version "6.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cocogitto" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0wpsvrws2lwy1kix0xfs5dqs8b7j5ixnaz2x25apfbnh6gf99vda"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "website")))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-test-flags
|
||||
'(list "--"
|
||||
;; Disable tests that depend on being run inside of the source repository
|
||||
"--skip=conventional::changelog::release::test::should_get_a_release"
|
||||
"--skip=git::hook::tests::add_all"
|
||||
"--skip=git::hook::tests::add_pre_commit_hook"
|
||||
"--skip=git::hook::tests::overwrite_pre_commit_hook"
|
||||
"--skip=git::rev::cache::test::init_cache_ok"
|
||||
"--skip=git::rev::revwalk::test::all_commits"
|
||||
"--skip=git::rev::revwalk::test::from_previous_to_tag"
|
||||
"--skip=git::rev::revwalk::test::from_tag_to_head"
|
||||
"--skip=git::rev::revwalk::test::from_tag_to_tag_ok"
|
||||
"--skip=git::rev::revwalk::test::get_release_range_integration_test"
|
||||
"--skip=git::rev::revwalk::test::recursive_from_origin_to_head"
|
||||
"--skip=cog_tests::changelog::get_changelog_range"
|
||||
"--skip=cog_tests::commit::should_run_git_hooks")
|
||||
#:modules '((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'prepare-for-tests
|
||||
(lambda _
|
||||
;; The tests try to run git as if it were already set up.
|
||||
(setenv "HOME" (getcwd))
|
||||
(invoke "git" "config" "--global" "user.email" "git@example.com")
|
||||
(invoke "git" "config" "--global" "user.name" "Guix")))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs #:allow-other-keys)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((shell . path)
|
||||
(mkdir-p (in-vicinity #$output (dirname path)))
|
||||
(let ((binary
|
||||
(if #$(%current-target-system)
|
||||
(search-input-file native-inputs "bin/cog")
|
||||
(in-vicinity #$output "bin/cog"))))
|
||||
(with-output-to-file (in-vicinity #$output path)
|
||||
(lambda _
|
||||
(invoke binary "generate-completions" shell))))))
|
||||
'(("bash" . "share/bash-completion/completions/cog")
|
||||
("elvish" . "share/elvish/lib/cog")
|
||||
("fish" . "share/fish/vendor_completions.d/cog.fish")
|
||||
("nu" . "share/nushell/vendor/autoload/cog")
|
||||
("zsh" . "share/zsh/site-functions/_cog"))))))))
|
||||
(native-inputs
|
||||
(append (if (%current-target-system)
|
||||
(list this-package)
|
||||
'())
|
||||
(list git-minimal
|
||||
gnupg
|
||||
openssh
|
||||
pkg-config)))
|
||||
(inputs (cons* libgit2-1.9
|
||||
libssh2
|
||||
openssl
|
||||
zlib
|
||||
(cargo-inputs 'cocogitto)))
|
||||
(home-page "https://github.com/cocogitto/cocogitto")
|
||||
(synopsis
|
||||
"Set of CLI tools for the Conventional Commit and SemVer specifications")
|
||||
(description
|
||||
"This package provides Cocogitto, a set of CLI tools for the Conventional
|
||||
Commit and SemVer specifications.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public codeberg-cli
|
||||
(package
|
||||
(name "codeberg-cli")
|
||||
@@ -751,49 +836,6 @@ through tools like `gdb`.")
|
||||
"This package provides CLI Tool for codeberg similar to gh and glab.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public codex-acp
|
||||
(package
|
||||
(name "codex-acp")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zed-industries/codex-acp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
|
||||
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
|
||||
"codex-acp-0.9.2-replace-result-flatten.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:rust rust-1.88
|
||||
#:install-source? #f
|
||||
;; Skip doctests (--doc) because rustdoc is unavailable for non-default
|
||||
;; Rust versions in Guix.
|
||||
#:cargo-test-flags '(list "--lib" "--bins" "--tests")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-codex-deps
|
||||
(lambda _
|
||||
;; Rewrite git dependencies to use vendored sources from rust-codex
|
||||
(substitute* "Cargo.toml"
|
||||
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
|
||||
"version = \"0.0.0\"")))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
|
||||
(home-page "https://github.com/zed-industries/codex-acp")
|
||||
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
|
||||
(description
|
||||
"This package provides an Agent Client Protocol (ACP) compatible agent
|
||||
that bridges the Zed Codex runtime with ACP clients over stdio. It
|
||||
supports multiple LLM providers through configuration in
|
||||
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
|
||||
operations.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public complgen
|
||||
(package
|
||||
(name "complgen")
|
||||
@@ -1690,6 +1732,59 @@ replacement for i3status, written in pure Rust. It provides a way to display
|
||||
bar. It is also compatible with sway.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public ianny
|
||||
(package
|
||||
(name "ianny")
|
||||
(version "2.1.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zefr0x/ianny")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14nmpz7nkjj2rr3g4f3npg8dd5b533wp73q90q4vgp06rf9mbyq8"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `(,@%meson-build-system-modules
|
||||
,@%cargo-build-system-modules)
|
||||
#:modules '(((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build meson-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-for-build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "meson.build"
|
||||
(("/etc/xdg/autostart")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/etc/xdg/autostart")))
|
||||
(delete-file "Cargo.lock")))
|
||||
;; The meson 'configure phase changes to a different directory and
|
||||
;; we need it created before unpacking the crates.
|
||||
(add-after 'configure 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
(lambda (phase)
|
||||
(format #t "Running cargo phase: ~a~%" phase)
|
||||
(apply (assoc-ref cargo:%standard-phases phase)
|
||||
#:vendor-dir "vendor"
|
||||
args))
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
check-for-pregenerated-files
|
||||
patch-cargo-checksums)))))))
|
||||
(native-inputs (list pkg-config rust `(,rust "cargo")))
|
||||
(inputs
|
||||
(cons dbus (cargo-inputs 'ianny)))
|
||||
(home-page "https://github.com/zefr0x/ianny")
|
||||
(synopsis "RSI break timer for Wayland")
|
||||
(description "Desktop utility that helps prevent repetitive strain injuries
|
||||
by keeping track of usage patterns and periodically reminding the user to take
|
||||
breaks.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public iwmenu
|
||||
(package
|
||||
(name "iwmenu")
|
||||
@@ -1783,7 +1878,7 @@ JSON viewer and jq filter editor.")
|
||||
(define-public jujutsu
|
||||
(package
|
||||
(name "jujutsu")
|
||||
(version "0.38.0")
|
||||
(version "0.39.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1792,7 +1887,7 @@ JSON viewer and jq filter editor.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c3fgxvvf7lj5p8s7fzx1mnxbiigplmgfqn49szj3z51m74d0xhm"))))
|
||||
(base32 "0c0n56b5y6wmyvcc18nhrfsmcavjlh2zwv9224lrcs6h602a5jdd"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1802,6 +1897,7 @@ JSON viewer and jq filter editor.")
|
||||
''("--"
|
||||
"--skip=test_gerrit_upload::test_gerrit_upload_rejected_by_remote"
|
||||
"--skip=test_git_push::test_git_push_rejected_by_remote"
|
||||
"--skip=test_git::test_push_updates_with_options"
|
||||
"--skip=test_util_command::test_util_exec_sets_env")
|
||||
#:modules
|
||||
'((guix build cargo-build-system)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -728,13 +728,7 @@ intelligence.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rwj1ykknng39mhzna3fw3rcl3vngynsjdcj1namgkvw91zd9dl7"))
|
||||
;; TODO: Remove patches when Rust provides stable file locking API.
|
||||
;; The file_lock feature is tracked at
|
||||
;; <https://github.com/rust-lang/rust/issues/130994>.
|
||||
(patches (search-patches "rust-codex-0.98.0-execpolicy-file-lock.patch"
|
||||
"rust-codex-0.98.0-core-file-lock.patch"
|
||||
"rust-codex-0.98.0-arg0-file-lock.patch"
|
||||
"rust-codex-0.98.0-core-remove-self-dep.patch"))))
|
||||
(patches (search-patches "rust-codex-0.98.0-core-remove-self-dep.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -818,6 +812,110 @@ intelligence.")
|
||||
and runtime for AI-assisted coding.")
|
||||
(license license:asl2.0)))))
|
||||
|
||||
(define-public rust-codex-0.98.0
|
||||
(hidden-package
|
||||
(package
|
||||
(name "rust-codex")
|
||||
(version "0.98.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openai/codex")
|
||||
(commit "82464689ce0ba8a3b2065e73a8aa0cfdf2ad0625")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mn322gbir4gn4y5jihdqg0wprjlnx771chyfmmm7ri7pnim1zmc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;;; These are JSON manifests with a dotslash
|
||||
;;; shebang that download and run pre-built
|
||||
;;; binaries (ripgrep, bash) at runtime.
|
||||
(delete-file "codex-cli/bin/rg")
|
||||
(delete-file "codex-rs/exec-server/tests/suite/bash")
|
||||
;; Bundled bubblewrap source tree; includes a
|
||||
;; compiled BPF blob (demos/flatpak.bpf).
|
||||
(delete-file-recursively "codex-rs/vendor/bubblewrap")))
|
||||
(patches (search-patches "rust-codex-0.98.0-core-remove-self-dep.patch"
|
||||
"rust-codex-0.98.0-windows-sandbox-protocol-version.patch"
|
||||
"rust-codex-0.98.0-test-shebangs.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:cargo-package-crates
|
||||
;; Order matters: dependencies must come before packages that need them
|
||||
''("codex-async-utils" ; No internal deps
|
||||
"codex-client" ; No internal deps
|
||||
"codex-execpolicy" ; No internal deps
|
||||
"codex-file-search" ; No internal deps
|
||||
"codex-git" ; No internal deps
|
||||
"codex-keyring-store" ; No internal deps
|
||||
"codex-utils-absolute-path" ; No internal deps
|
||||
"codex-utils-cache" ; No internal deps
|
||||
"codex-utils-cargo-bin" ; No internal deps
|
||||
"codex-utils-home-dir" ; No internal deps
|
||||
"codex-utils-json-to-toml" ; No internal deps
|
||||
"codex-utils-pty" ; No internal deps
|
||||
"codex-utils-readiness" ; No internal deps
|
||||
"codex-utils-string" ; No internal deps
|
||||
"codex-utils-image" ; Depends on codex-utils-cache
|
||||
"codex-apply-patch" ; Depends on codex-utils-cargo-bin
|
||||
"codex-protocol" ; Depends on codex-git, codex-utils-*
|
||||
"codex-windows-sandbox" ; Depends on codex-utils-absolute-path, codex-protocol
|
||||
"codex-api" ; Depends on codex-client, codex-protocol
|
||||
"codex-experimental-api-macros" ; Macro crate (must come before app-server-protocol)
|
||||
"codex-app-server-protocol" ; Depends on codex-protocol, codex-experimental-api-macros
|
||||
"codex-rmcp-client" ; Depends on codex-keyring-store, codex-protocol
|
||||
"codex-otel" ; Depends on codex-app-server-protocol, codex-api
|
||||
"codex-state" ; Depends on codex-protocol, codex-otel
|
||||
"codex-core" ; Depends on many packages above
|
||||
"codex-linux-sandbox" ; Depends on codex-core, codex-utils-absolute-path
|
||||
"codex-arg0" ; Depends on codex-apply-patch, codex-core, codex-linux-sandbox
|
||||
"codex-lmstudio" ; Depends on codex-core
|
||||
"codex-login" ; Depends on codex-core
|
||||
"codex-ollama" ; Depends on codex-core
|
||||
"codex-common" ; Depends on codex-core, codex-lmstudio, codex-ollama
|
||||
"codex-mcp-server" ; Depends on codex-core, codex-common
|
||||
"codex-network-proxy") ; Depends on codex-core, rama
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir-to-workspace
|
||||
(lambda _
|
||||
(chdir "codex-rs")))
|
||||
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
|
||||
(lambda _
|
||||
(substitute* "Cargo.toml"
|
||||
(("crossterm = \\{ git = [^}]+\\}")
|
||||
"crossterm = { version = \"0.28.1\" }")
|
||||
(("ratatui = \\{ git = [^}]+\\}")
|
||||
"ratatui = { version = \"0.29.0\" }")
|
||||
(("tokio-tungstenite = \\{ git = [^}]+\\}")
|
||||
"tokio-tungstenite = { version = \"0.28.0\" }")
|
||||
(("nucleo = \\{ git = [^}]+\\}")
|
||||
"nucleo = { version = \"0.5.0\" }")
|
||||
(("runfiles = \\{ git = [^}]+\\}")
|
||||
"runfiles = { version = \"0.1.0\" }"))))
|
||||
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
|
||||
(lambda _
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; Add version = "0.98.0" to internal path dependencies.
|
||||
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
|
||||
(substitute* cargo-files
|
||||
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", path = "))
|
||||
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", package = "))
|
||||
(("(mcp-types) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", path = ")))))))))
|
||||
(inputs (cargo-inputs 'rust-codex-0.0.0.785c0c43))
|
||||
(home-page "https://github.com/openai/codex")
|
||||
(synopsis "OpenAI Codex workspace crates")
|
||||
(description
|
||||
"This package provides the workspace crates for the OpenAI Codex CLI
|
||||
and runtime for AI-assisted coding.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
;; Also update (@ (gnu packages gnome) glycin-loaders) when updating this.
|
||||
(define-public rust-glycin-3
|
||||
(package
|
||||
|
||||
@@ -1827,6 +1827,66 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(("features = \\[\"fs\"" all)
|
||||
(string-append all ", \"use-libc\""))))))))))
|
||||
|
||||
(define-public rust-1.94
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package
|
||||
rust-1.93 "1.94.0"
|
||||
"0k274dla70wnajjli2w80by9k4nqf2wah1lw9xhzy8gkscf94gxq")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source base-rust))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file-recursively
|
||||
'("src/llvm-project"
|
||||
"vendor/curl-sys-0.4.79+curl-8.12.0/curl"
|
||||
"vendor/curl-sys-0.4.84+curl-8.17.0/curl"
|
||||
"vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
|
||||
"vendor/jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
|
||||
"vendor/libffi-sys-4.1.0/libffi"
|
||||
"vendor/libz-sys-1.1.21/src/zlib"
|
||||
"vendor/libz-sys-1.1.23/src/zlib"
|
||||
"vendor/libmimalloc-sys-0.1.44/c_src/mimalloc"
|
||||
"vendor/openssl-src-111.28.2+1.1.1w/openssl"
|
||||
"vendor/openssl-src-300.5.0+3.5.0/openssl"
|
||||
"vendor/openssl-src-300.5.4+3.5.4/openssl"
|
||||
"vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
|
||||
"vendor/tikv-jemalloc-sys-0.6.1+5.3.0-1-\
|
||||
ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
;; Remove vendored dynamically linked libraries.
|
||||
;; find . -not -type d -executable -exec file {} \+ | grep ELF
|
||||
;; Also remove the bundled (mostly Windows) libraries.
|
||||
(for-each delete-file
|
||||
(find-files "vendor" "\\.(a|dll|exe|lib)$"))
|
||||
;; Use the packaged nghttp2.
|
||||
(for-each
|
||||
(lambda (ver)
|
||||
(let ((vendored-dir
|
||||
(format #f "vendor/libnghttp2-sys-~a/nghttp2" ver))
|
||||
(build-rs
|
||||
(format #f "vendor/libnghttp2-sys-~a/build.rs" ver)))
|
||||
(delete-file-recursively vendored-dir)
|
||||
(delete-file build-rs)
|
||||
(call-with-output-file build-rs
|
||||
(lambda (port)
|
||||
(format port "fn main() {~@
|
||||
println!(\"cargo:rustc-link-lib=nghttp2\");~@
|
||||
}~%")))))
|
||||
'("0.1.11+1.64.0"))
|
||||
;; Adjust vendored dependency to explicitly use rustix with libc
|
||||
;; backend.
|
||||
(substitute* '("vendor/tempfile-3.14.0/Cargo.toml"
|
||||
"vendor/tempfile-3.16.0/Cargo.toml"
|
||||
"vendor/tempfile-3.19.1/Cargo.toml"
|
||||
"vendor/tempfile-3.20.0/Cargo.toml"
|
||||
"vendor/tempfile-3.21.0/Cargo.toml"
|
||||
"vendor/tempfile-3.23.0/Cargo.toml"
|
||||
"vendor/tempfile-3.24.0/Cargo.toml")
|
||||
(("features = \\[\"fs\"" all)
|
||||
(string-append all ", \"use-libc\""))))))))))
|
||||
|
||||
(define (make-ignore-test-list strs)
|
||||
"Function to make creating a list to ignore tests a bit easier."
|
||||
(map (lambda (str)
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
expat
|
||||
ffmpeg
|
||||
findutils
|
||||
fmt-11
|
||||
fmt
|
||||
freetype
|
||||
gdal
|
||||
gl2ps
|
||||
@@ -161,7 +161,7 @@
|
||||
readline
|
||||
trilinos-zoltan
|
||||
utfcpp
|
||||
vtk
|
||||
vtk-9.5
|
||||
xz
|
||||
zlib))
|
||||
(outputs '("debug" ;~60MB
|
||||
|
||||
@@ -953,3 +953,49 @@ using a Python-based domain-specific language.")
|
||||
ONNX Runtime. It supports models including Whisper and NeMo Parakeet.
|
||||
Includes bundled Parakeet TDT V3 model weights (int8, CC-BY-4.0, NVIDIA).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pocket-tts
|
||||
(package
|
||||
(name "python-pocket-tts")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyutai-labs/pocket-tts")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0b9xxyrwa8vsz6r6fi7p47z8rd7q2gjjnwq47br89zp2lkzym3zm"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list ;;; These tests try to download models from HuggingFace Hub.
|
||||
"--ignore=tests/test_cli_generate.py"
|
||||
"--ignore=tests/test_documentation_examples.py")))
|
||||
(propagated-inputs
|
||||
(list python-beartype
|
||||
python-einops
|
||||
python-fastapi
|
||||
python-huggingface-hub
|
||||
python-numpy
|
||||
python-pydantic
|
||||
python-pytorch
|
||||
python-safetensors
|
||||
python-scipy
|
||||
python-sentencepiece
|
||||
python-soundfile
|
||||
python-typer
|
||||
python-typing-extensions
|
||||
python-uvicorn))
|
||||
(native-inputs
|
||||
(list nss-certs-for-test
|
||||
python-hatchling
|
||||
python-pytest))
|
||||
(home-page "https://github.com/kyutai-labs/pocket-tts")
|
||||
(synopsis "Fast neural text-to-speech")
|
||||
(description
|
||||
"Pocket TTS is a fast neural text-to-speech engine with ~100M parameters,
|
||||
running at approximately 6x realtime on CPU. English only.")
|
||||
(license license:expat)))
|
||||
|
||||
@@ -381,8 +381,6 @@ Additionally, various channel-specific options can be negotiated.")
|
||||
#$flags))
|
||||
((#:modules mods %default-gnu-modules)
|
||||
(cons '(ice-9 string-fun) mods))
|
||||
((#:imported-modules mods %default-gnu-imported-modules)
|
||||
(cons '(ice-9 string-fun) mods))
|
||||
((#:phases phases #~(list))
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'patch-ssh-stuff
|
||||
@@ -439,6 +437,7 @@ of the ssh protocol. It was originally developed to address performance issues
|
||||
(define-public hpn-ssh-sans-x
|
||||
(package
|
||||
(inherit hpn-ssh)
|
||||
(name "hpn-ssh-sans-x")
|
||||
(inputs
|
||||
(modify-inputs (package-inputs hpn-ssh)
|
||||
(delete "xauth")))
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2026 Foster Hangdaan <foster@hangdaan.email>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -64,6 +65,7 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
@@ -76,6 +78,7 @@
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
@@ -529,3 +532,80 @@ applications.")
|
||||
(synopsis "Dynamic swap manager for Linux")
|
||||
(description "This package provides a dynamic swap manager for Linux.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public garage
|
||||
(package
|
||||
(name "garage")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.deuxfleurs.fr/Deuxfleurs/garage.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nqda782by02ybqv44lpjagn3aqsgpaszvqbicg9iz3lymj8g9ai"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "doc")))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Disable default features and explicitly set them instead.
|
||||
#:cargo-build-flags `(list "--no-default-features")
|
||||
;; The tests fail to compile without the '--release' flag.
|
||||
#:cargo-test-flags `(list "--release" "--no-default-features")
|
||||
#:cargo-install-paths ''("src/garage")
|
||||
#:features '(list "system-libs"
|
||||
"k2v"
|
||||
"kubernetes-discovery"
|
||||
"lmdb"
|
||||
"metrics"
|
||||
"sqlite"
|
||||
"syslog"
|
||||
"telemetry-otlp")
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The 'check phase doesn't honor #:features
|
||||
(replace 'check
|
||||
(lambda* (#:key features cargo-test-flags #:allow-other-keys
|
||||
#:rest args)
|
||||
(apply (assoc-ref %standard-phases 'check)
|
||||
(append
|
||||
args
|
||||
(list #:cargo-test-flags
|
||||
(append cargo-test-flags
|
||||
(list "--features"
|
||||
(string-join features))))))))
|
||||
;; The 'install phase can't pass '--no-default-features'
|
||||
(replace 'install
|
||||
(lambda* (#:key cargo-install-paths features #:allow-other-keys)
|
||||
(mkdir-p #$output)
|
||||
(setenv "CARGO_TARGET_DIR" "./target")
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(invoke "cargo" "install" "--offline" "--no-track"
|
||||
"--path" path "--root" #$output
|
||||
"--no-default-features"
|
||||
"--features" (string-join features)))
|
||||
(if (null? cargo-install-paths)
|
||||
'(".")
|
||||
cargo-install-paths)))))))
|
||||
(native-inputs (list nss-certs-for-test
|
||||
pkg-config
|
||||
protobuf))
|
||||
(inputs
|
||||
(cons* libsodium
|
||||
lmdb
|
||||
openssl
|
||||
sqlite
|
||||
`(,zstd "lib")
|
||||
(cargo-inputs 'garage)))
|
||||
(home-page "https://garagehq.deuxfleurs.fr/")
|
||||
(synopsis "S3-compatible, distributed object storage designed for self-hosting")
|
||||
(description "Garage is a lightweight, geo-distributed data store that
|
||||
implements the @url{https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html,
|
||||
Amazon S3} object storage protocol, with a focus on simplicity and resiliency.")
|
||||
(license license:agpl3)))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user