mirror of
https://codeberg.org/guix/guix.git
synced 2026-04-28 06:34:05 +00:00
Compare commits
552 Commits
add-tests-
...
guix-exten
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3dec0dbf14 | ||
|
|
93e4c03938 | ||
|
|
185cce0649 | ||
|
|
2a5619ac0d | ||
|
|
b07af24158 | ||
|
|
c5b0b9cba0 | ||
|
|
057784277e | ||
|
|
bc610da855 | ||
|
|
06412fbe53 | ||
|
|
d7e7632f57 | ||
|
|
f6659b612e | ||
|
|
4349cca1bf | ||
|
|
27c0c4afe1 | ||
|
|
4f3a9d505f | ||
|
|
aa78526a35 | ||
|
|
fa584635f9 | ||
|
|
70c207162e | ||
|
|
c0539dcf93 | ||
|
|
2d0e42a795 | ||
|
|
cb5fe64086 | ||
|
|
4940efce8a | ||
|
|
d0d5278165 | ||
|
|
f123706a89 | ||
|
|
16ba490bae | ||
|
|
9248824066 | ||
|
|
10593200ba | ||
|
|
a0c752515b | ||
|
|
3422669f50 | ||
|
|
f3d36c2391 | ||
|
|
ed0b121366 | ||
|
|
e4e3eb54d0 | ||
|
|
7eaf4eae43 | ||
|
|
b6b3e42f6c | ||
|
|
cc698b801e | ||
|
|
e64729df20 | ||
|
|
d463b29e4d | ||
|
|
a20e0f6f93 | ||
|
|
74da72f491 | ||
|
|
8c1b704409 | ||
|
|
f78e0bff2b | ||
|
|
acdee26a3a | ||
|
|
e2d507e4c1 | ||
|
|
65432c00fc | ||
|
|
f1c1fb9340 | ||
|
|
0c74e5835e | ||
|
|
b56e2cd6a7 | ||
|
|
72f48ee0d4 | ||
|
|
dc711aad40 | ||
|
|
e6e301ac56 | ||
|
|
0f647d7e34 | ||
|
|
a5dd26b9c5 | ||
|
|
7081495ec6 | ||
|
|
fb99bbfbc5 | ||
|
|
adbf5f9d51 | ||
|
|
0310ac86b4 | ||
|
|
1d26eb93e2 | ||
|
|
64fd3e51b6 | ||
|
|
53d0957396 | ||
|
|
085593c5ef | ||
|
|
9aed8e406a | ||
|
|
d313843515 | ||
|
|
4753a946c3 | ||
|
|
aba1210d8e | ||
|
|
6c2b1e48c2 | ||
|
|
fe6941a641 | ||
|
|
b1179ad62d | ||
|
|
e1a9ae4b22 | ||
|
|
a881defc09 | ||
|
|
0b763df3a6 | ||
|
|
61a13d1a3d | ||
|
|
4fb5164f8e | ||
|
|
06e34decdb | ||
|
|
4a3faf19d4 | ||
|
|
f8c7cd1b1d | ||
|
|
ff65305ea7 | ||
|
|
2aae63601d | ||
|
|
cf7c47870f | ||
|
|
7652e6f8f9 | ||
|
|
3a8656e0bd | ||
|
|
df218e5435 | ||
|
|
136538c7bf | ||
|
|
79b3d9a0fb | ||
|
|
619cc0db5d | ||
|
|
aa2288f00d | ||
|
|
45684d45b4 | ||
|
|
bf6d52423e | ||
|
|
d67366b0d1 | ||
|
|
3eaad37aa5 | ||
|
|
1e5fd901fd | ||
|
|
4897f70905 | ||
|
|
16dd4a36ea | ||
|
|
40a038a465 | ||
|
|
ec9fd2980f | ||
|
|
571bc15dff | ||
|
|
835e1e00f5 | ||
|
|
ed479712ef | ||
|
|
785b69725b | ||
|
|
54467b917b | ||
|
|
7ba3dd1676 | ||
|
|
c03d773d86 | ||
|
|
b2d0310d0e | ||
|
|
d8af184753 | ||
|
|
452e3a5c7e | ||
|
|
9da35d7409 | ||
|
|
ff3c2127e6 | ||
|
|
659e77bbf9 | ||
|
|
12d907b17d | ||
|
|
8632aae122 | ||
|
|
328df1249f | ||
|
|
1ffe9cf1f4 | ||
|
|
12d17eccd9 | ||
|
|
00b57e2554 | ||
|
|
679acc5675 | ||
|
|
f85938f7b7 | ||
|
|
e033bf01e6 | ||
|
|
dc95ec12e8 | ||
|
|
3916b479f7 | ||
|
|
a326afb85f | ||
|
|
692c95e305 | ||
|
|
b9cf7580d2 | ||
|
|
f1005ad96c | ||
|
|
3ded25e6f1 | ||
|
|
9643da0abe | ||
|
|
36d7c88fb4 | ||
|
|
1a587bd302 | ||
|
|
e06dfd5399 | ||
|
|
8f01c85bae | ||
|
|
3ef5dd22dd | ||
|
|
6aa2366f0b | ||
|
|
63b71a5152 | ||
|
|
02dd2b8552 | ||
|
|
36c5be27f3 | ||
|
|
e6fba3945f | ||
|
|
d985622c78 | ||
|
|
6f0d8d658f | ||
|
|
a3d8ec15d8 | ||
|
|
6e3b0e168a | ||
|
|
c71792b260 | ||
|
|
3f2b729589 | ||
|
|
7e90b2fe72 | ||
|
|
7edf40ac19 | ||
|
|
d59016f003 | ||
|
|
aff9ce3761 | ||
|
|
a9462997d7 | ||
|
|
5ef86f97e2 | ||
|
|
dff31548fb | ||
|
|
e5ca91ea97 | ||
|
|
3b2e5bbc84 | ||
|
|
bc84aaa882 | ||
|
|
eb7fc96c91 | ||
|
|
3d4689a240 | ||
|
|
e5dce117a2 | ||
|
|
fb6892a924 | ||
|
|
a3908bf8e2 | ||
|
|
3d4620ab26 | ||
|
|
e2fadf0083 | ||
|
|
51d42cd40f | ||
|
|
f289d792d6 | ||
|
|
b23097b129 | ||
|
|
2fef5fa246 | ||
|
|
c6f78e904d | ||
|
|
720f0fa277 | ||
|
|
4f304b940e | ||
|
|
b2c56f7bd9 | ||
|
|
fc5ec0827e | ||
|
|
d2c2e7f4d6 | ||
|
|
1cf00c47c0 | ||
|
|
4aece62a75 | ||
|
|
6f1448ef89 | ||
|
|
d4ed26d5be | ||
|
|
31768a3f46 | ||
|
|
2be190f989 | ||
|
|
cb0fadb84d | ||
|
|
09fe136186 | ||
|
|
8d04752c8d | ||
|
|
c666ec3bb2 | ||
|
|
82f286efb9 | ||
|
|
e21d6a3401 | ||
|
|
dad1bd0c5e | ||
|
|
e51032b257 | ||
|
|
0d3f82123b | ||
|
|
addca6dba4 | ||
|
|
0270c2624a | ||
|
|
dbbad12c2e | ||
|
|
a3588223c7 | ||
|
|
05d45c847a | ||
|
|
a42af54c73 | ||
|
|
592a96db05 | ||
|
|
522a1d9baf | ||
|
|
04adde463e | ||
|
|
df9d07838a | ||
|
|
b0146d018c | ||
|
|
46c10b5d30 | ||
|
|
28d2071f71 | ||
|
|
9a01dc440c | ||
|
|
0b1f37ded6 | ||
|
|
479a2f7ede | ||
|
|
001cd00bcd | ||
|
|
d339785a0f | ||
|
|
7d223c3ce5 | ||
|
|
a33944f438 | ||
|
|
2d4ed08662 | ||
|
|
43122908e1 | ||
|
|
a7739b01d7 | ||
|
|
ab63e29e90 | ||
|
|
e2857e21fa | ||
|
|
105dbf7dee | ||
|
|
d226cc4933 | ||
|
|
86a6006f41 | ||
|
|
8ba84edf99 | ||
|
|
b7a1223052 | ||
|
|
9e7e40b8bd | ||
|
|
0801604990 | ||
|
|
5623e63313 | ||
|
|
efc32c6684 | ||
|
|
20157dae27 | ||
|
|
2576c66e47 | ||
|
|
bb2263102a | ||
|
|
3dadea4b6d | ||
|
|
51a1475599 | ||
|
|
60782c20d4 | ||
|
|
587fd2dad4 | ||
|
|
9a78e76076 | ||
|
|
a2df6c460f | ||
|
|
5ecec89784 | ||
|
|
5192dc2ff3 | ||
|
|
4b25873c12 | ||
|
|
b00a27c427 | ||
|
|
f55793c575 | ||
|
|
0ac2a0fd18 | ||
|
|
5d6dfd8981 | ||
|
|
ce279acd14 | ||
|
|
49bf395754 | ||
|
|
0ecfe335b9 | ||
|
|
2a0ac4cba5 | ||
|
|
09eda1627e | ||
|
|
0efdde91f6 | ||
|
|
9ce8160844 | ||
|
|
1dfcd17b4d | ||
|
|
7a4de7a900 | ||
|
|
46d1961908 | ||
|
|
4de4d270fb | ||
|
|
fb62e8f046 | ||
|
|
b063cd4aa7 | ||
|
|
228154a5bd | ||
|
|
4281704a25 | ||
|
|
cb8db48a17 | ||
|
|
a448bfa85a | ||
|
|
8148ca8437 | ||
|
|
6168d37404 | ||
|
|
992bcd7eed | ||
|
|
303b10692b | ||
|
|
4d033008a2 | ||
|
|
ae36f472bc | ||
|
|
20263c4a82 | ||
|
|
5b7f0a952c | ||
|
|
724d0cc753 | ||
|
|
b172762c2d | ||
|
|
5b0873aeb1 | ||
|
|
e235f6d978 | ||
|
|
99d7436c1f | ||
|
|
b1a4c062ce | ||
|
|
1434b4e6c7 | ||
|
|
cb927b546e | ||
|
|
4eef7ffd5e | ||
|
|
d392af43c5 | ||
|
|
63182d1ac9 | ||
|
|
1e0eb9e8df | ||
|
|
2dcf1ec33e | ||
|
|
ed1b6b5451 | ||
|
|
d7fd4eab51 | ||
|
|
32988df493 | ||
|
|
9aa7f05639 | ||
|
|
f1f27c6838 | ||
|
|
290435009b | ||
|
|
09acdd3142 | ||
|
|
3c81c4b8b8 | ||
|
|
33b0df3b26 | ||
|
|
5356a7eeb9 | ||
|
|
5ddff69615 | ||
|
|
0297f8813f | ||
|
|
616e77b45a | ||
|
|
5667601c14 | ||
|
|
d5f271ebf8 | ||
|
|
67a113614c | ||
|
|
ed5ddd6b48 | ||
|
|
a8d1edfc33 | ||
|
|
d51ffa1829 | ||
|
|
8ad99d6eba | ||
|
|
03c688575f | ||
|
|
0c9b2cf0d0 | ||
|
|
7ec5abb669 | ||
|
|
2d59c06b08 | ||
|
|
d5093ed37b | ||
|
|
76a918219e | ||
|
|
271592e456 | ||
|
|
32d69c2943 | ||
|
|
2e7ff3c604 | ||
|
|
0a6675db70 | ||
|
|
6b1bb5fbcc | ||
|
|
6997024ea9 | ||
|
|
b104a808ca | ||
|
|
ea4f8318dc | ||
|
|
972f8ba760 | ||
|
|
2455e97436 | ||
|
|
7db9c56b77 | ||
|
|
b26b379a28 | ||
|
|
fbef54aaf8 | ||
|
|
d128cca4ff | ||
|
|
6249485f39 | ||
|
|
e6ca4b6096 | ||
|
|
39a57da774 | ||
|
|
c9b0157cd9 | ||
|
|
40a0d7327a | ||
|
|
266fb873b9 | ||
|
|
81e1d95904 | ||
|
|
90a917605b | ||
|
|
b0bbd770f9 | ||
|
|
c749fd2d10 | ||
|
|
c6ec96a94d | ||
|
|
dbc557eb05 | ||
|
|
28b519e8a9 | ||
|
|
99dc1a2645 | ||
|
|
063cff5c90 | ||
|
|
3dac82e790 | ||
|
|
d5c3f170b0 | ||
|
|
e9c2fb94ad | ||
|
|
a9e412fc9d | ||
|
|
e498671958 | ||
|
|
35fd588af0 | ||
|
|
74366285f0 | ||
|
|
3e2bd2e30b | ||
|
|
55bf53fe92 | ||
|
|
7b9c30de1f | ||
|
|
0c60cfcd37 | ||
|
|
1a19afcd97 | ||
|
|
c1aa87625f | ||
|
|
fdb8bdc689 | ||
|
|
011e027da5 | ||
|
|
58805ac414 | ||
|
|
902de8475b | ||
|
|
59d5a2daa7 | ||
|
|
cab9246395 | ||
|
|
7ee70d0906 | ||
|
|
3516819a95 | ||
|
|
b7dc8aea65 | ||
|
|
71c4428943 | ||
|
|
bfd56b06cb | ||
|
|
55b4d55b69 | ||
|
|
be8bbdd271 | ||
|
|
625ed9311c | ||
|
|
2d94d3f9de | ||
|
|
44a85eb6bd | ||
|
|
a90e2453d5 | ||
|
|
d7dac3985c | ||
|
|
fe9dfb6abb | ||
|
|
9da5b5196a | ||
|
|
48983fab8d | ||
|
|
14ab247ece | ||
|
|
2ede88e3bc | ||
|
|
a52bd8449b | ||
|
|
61f18e6d0c | ||
|
|
e830350288 | ||
|
|
81c8d1c609 | ||
|
|
c203995bf5 | ||
|
|
a3a14c5693 | ||
|
|
40b59d5f47 | ||
|
|
c57e1e118d | ||
|
|
b770d4b370 | ||
|
|
fd08e6589a | ||
|
|
2a59e5d392 | ||
|
|
facb375f88 | ||
|
|
f54a032cec | ||
|
|
58e3af17e2 | ||
|
|
ec689e843a | ||
|
|
2c90e82e82 | ||
|
|
0b51ee66b7 | ||
|
|
ff9db3d56f | ||
|
|
d87a646b0a | ||
|
|
4bd47431d6 | ||
|
|
89710d99fa | ||
|
|
812d9b4717 | ||
|
|
82aa5d47fb | ||
|
|
6e5999d70b | ||
|
|
146da6cf12 | ||
|
|
91a164d588 | ||
|
|
79767ce7aa | ||
|
|
ec18fea38b | ||
|
|
fd5ccad45e | ||
|
|
4d617d8c11 | ||
|
|
7e42aacfc8 | ||
|
|
100454dbe8 | ||
|
|
45e1b3c776 | ||
|
|
86ea7a4aae | ||
|
|
0ec90936c9 | ||
|
|
ddb12f1668 | ||
|
|
42d5d7f37a | ||
|
|
0a2dfdb6d7 | ||
|
|
e3453ff65d | ||
|
|
3d59a38db3 | ||
|
|
608d01cf16 | ||
|
|
8164873c9e | ||
|
|
9bb46e6e02 | ||
|
|
d2c355ce8d | ||
|
|
7021a9632b | ||
|
|
cf5795c4cb | ||
|
|
461eaba666 | ||
|
|
1d3b78360c | ||
|
|
c91470ede9 | ||
|
|
12bae54d87 | ||
|
|
a87435ee58 | ||
|
|
863641c83b | ||
|
|
2858053d7d | ||
|
|
615ad81ecb | ||
|
|
7b52ea8ccb | ||
|
|
ed73da496b | ||
|
|
38ee0d5528 | ||
|
|
1ed4f2b475 | ||
|
|
71edbd9f3b | ||
|
|
819d43b8ca | ||
|
|
2c5002242a | ||
|
|
5980f1cfe9 | ||
|
|
b3e75b5e75 | ||
|
|
0f4ffa74ef | ||
|
|
73fcd73aeb | ||
|
|
cd4a0e2b7b | ||
|
|
f20e7c6eed | ||
|
|
ead9f1d8fa | ||
|
|
d3d7d66b3d | ||
|
|
ec8d3861d6 | ||
|
|
a7d11c6a0b | ||
|
|
fc136e9cea | ||
|
|
05d9a5876b | ||
|
|
a24c051191 | ||
|
|
74e9028499 | ||
|
|
0c8b130c72 | ||
|
|
b73a2dcbf6 | ||
|
|
c443a8b6bb | ||
|
|
1cc99c8565 | ||
|
|
c1f2a0e477 | ||
|
|
8cef389d35 | ||
|
|
b0a55661b1 | ||
|
|
08a731a380 | ||
|
|
25a6fbe2df | ||
|
|
36c3a0a640 | ||
|
|
f7ee648345 | ||
|
|
12dcbe5876 | ||
|
|
cb2d7fa28d | ||
|
|
669a6c8e99 | ||
|
|
1fea6b359f | ||
|
|
53808b13b8 | ||
|
|
1b59b93602 | ||
|
|
1850ff7a3f | ||
|
|
5962a29311 | ||
|
|
2a12c1a487 | ||
|
|
70f73592d3 | ||
|
|
1d81d04d2b | ||
|
|
4a2ea8fab6 | ||
|
|
1e87499a77 | ||
|
|
4a2281923a | ||
|
|
4a1ba85b97 | ||
|
|
61b8f6fd58 | ||
|
|
6e612616f0 | ||
|
|
7d7b8b6f68 | ||
|
|
c13b02491f | ||
|
|
33e0ce57b4 | ||
|
|
0c56ccc9a9 | ||
|
|
0cd42af4f9 | ||
|
|
cdd2690b02 | ||
|
|
a1ab5b87f1 | ||
|
|
8023f009f2 | ||
|
|
f9548eef30 | ||
|
|
7bb3ec9632 | ||
|
|
6def6eae95 | ||
|
|
d68d535327 | ||
|
|
f1ad9b5b82 | ||
|
|
4e067ef98d | ||
|
|
ea1c939464 | ||
|
|
805dd1764e | ||
|
|
0a86d834fa | ||
|
|
3bebde3481 | ||
|
|
38a5dd01dd | ||
|
|
5054c24ed6 | ||
|
|
2b3782eb6e | ||
|
|
812fc780d4 | ||
|
|
f82549d9f6 | ||
|
|
e3c33d9ab4 | ||
|
|
6935e6c51d | ||
|
|
224abdac10 | ||
|
|
e4cc300ea0 | ||
|
|
21a9802a71 | ||
|
|
d2b987b81e | ||
|
|
0c474d32e7 | ||
|
|
64a3cdaff4 | ||
|
|
27a224f340 | ||
|
|
f01eea2a37 | ||
|
|
0e8064d64d | ||
|
|
53cf71560f | ||
|
|
3d8d9624ec | ||
|
|
7ce90c2cce | ||
|
|
e0d9777140 | ||
|
|
457a773e6f | ||
|
|
43000584aa | ||
|
|
ba5170d715 | ||
|
|
2e2294ff26 | ||
|
|
75016a2ee8 | ||
|
|
243bc42768 | ||
|
|
d3b79beaa8 | ||
|
|
1c5314a391 | ||
|
|
d7e98c1ce6 | ||
|
|
f392ac3983 | ||
|
|
a223070138 | ||
|
|
27a8a8888b | ||
|
|
530c6f2668 | ||
|
|
366e125e34 | ||
|
|
1f3c679795 | ||
|
|
0bd6326d91 | ||
|
|
ad94bc31ca | ||
|
|
99af411456 | ||
|
|
48c73c6275 | ||
|
|
dc6f47a44b | ||
|
|
32e0002303 | ||
|
|
7203e3c522 | ||
|
|
710d198457 | ||
|
|
8cdef4cab6 | ||
|
|
e626941500 | ||
|
|
d6d1554fe7 | ||
|
|
f9fddcc784 | ||
|
|
04dce5dab6 | ||
|
|
11425c84e4 | ||
|
|
fdb46ae7b1 | ||
|
|
94b26ff284 | ||
|
|
24d0c0a951 | ||
|
|
ec95989255 | ||
|
|
1242d59e81 | ||
|
|
869de1fc16 | ||
|
|
f4a9869bbc | ||
|
|
8b304ac633 | ||
|
|
21f0be1aa3 | ||
|
|
e7671c02a4 | ||
|
|
3a068fcbb3 | ||
|
|
c4d76205b6 | ||
|
|
8d9372a851 | ||
|
|
2d894dcf17 | ||
|
|
adaada46d2 | ||
|
|
48996087cb | ||
|
|
1994b75de1 | ||
|
|
c0c636db0a | ||
|
|
194edf156f | ||
|
|
e2cf2c8c6f | ||
|
|
2ddbccc761 | ||
|
|
f664eb4ec8 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -68,6 +68,7 @@
|
||||
/doc/stamp-vti
|
||||
/doc/version.texi
|
||||
/doc/version-*.texi
|
||||
/etc/apparmor.d/tunables/guix
|
||||
/etc/committer.scm
|
||||
/etc/gnu-store.mount
|
||||
/etc/guix-daemon.cil
|
||||
|
||||
1
.mailmap
1
.mailmap
@@ -59,6 +59,7 @@ Mathieu Othacehe <mathieu.othacehe@parrot.com>
|
||||
Mathieu Othacehe <othacehe@gnu.org>
|
||||
Matthew James Kraai <kraai@ftbfs.org>
|
||||
Maxim Cournoyer <maxim@guixotic.coop> <maxim.cournoyer@gmail.com>
|
||||
Nguyễn Gia Phong <cnx@loang.net> <mcsinyx@disroot.org>
|
||||
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
|
||||
nikita <nikita@n0.is>
|
||||
nikita <nikita@n0.is> ng0 <ng0@n0.is>
|
||||
|
||||
@@ -129,7 +129,7 @@ guix/build/gnu-build-system\.scm @guix/core-packages
|
||||
guix/build/utils\.scm @guix/core-packages
|
||||
guix/build-system/gnu\.scm @guix/core-packages
|
||||
|
||||
gnu/packages/crypto\.scm @guix/crypto
|
||||
gnu/packages/(.*-|)crypto\.scm$ @guix/crypto
|
||||
gnu/packages/gnupg\.scm @guix/crypto
|
||||
gnu/packages/nettle\.scm @guix/crypto
|
||||
gnu/packages/password-utils\.scm @guix/crypto
|
||||
@@ -194,6 +194,7 @@ guix/scripts/import/go\.scm @guix/go
|
||||
tests/import/go\.scm @guix/go
|
||||
|
||||
gnu/packages/hare\.scm @guix/hare
|
||||
gnu/packages/hare-apps\.scm @guix/hare
|
||||
gnu/packages/hare-xyz\.scm @guix/hare
|
||||
guix/build-system/hare\.scm @guix/hare
|
||||
guix/build/hare-build-system\.scm @guix/hare
|
||||
|
||||
83
Makefile.am
83
Makefile.am
@@ -746,6 +746,14 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
|
||||
# SELinux policy
|
||||
nodist_selinux_policy_DATA = etc/guix-daemon.cil
|
||||
|
||||
# AppArmor profiles.
|
||||
nodist_apparmor_profile_DATA = \
|
||||
etc/apparmor.d/guix \
|
||||
etc/apparmor.d/guix-daemon
|
||||
|
||||
nodist_apparmor_profile_tunables_DATA = \
|
||||
etc/apparmor.d/tunables/guix
|
||||
|
||||
EXTRA_DIST += \
|
||||
.dir-locals.el \
|
||||
.guix-authorizations \
|
||||
@@ -781,6 +789,7 @@ EXTRA_DIST += \
|
||||
etc/manifests/kernels.scm \
|
||||
etc/manifests/release-minimal.scm \
|
||||
etc/manifests/release-desktop.scm \
|
||||
etc/manifests/release-user-packages.scm \
|
||||
etc/manifests/source.scm \
|
||||
etc/manifests/system-tests.scm \
|
||||
etc/manifests/time-travel.scm \
|
||||
@@ -1133,12 +1142,18 @@ system_flags = $(foreach system,$(1),-s $(system))
|
||||
# 5. Build the installation and VM images. The images will run 'guix'
|
||||
# corresponding to 'vX.Y.Z' + 1 commit, and they will install 'vX.Y.Z'.
|
||||
#
|
||||
# This 'release' target takes care of everything and copies the resulting
|
||||
# files to $(releasedir).
|
||||
# This is split into two targets, because a commit is made that has to be
|
||||
# pushed to Guix.
|
||||
# First, 'prepare-release' should be run, doing steps 1 and 2.
|
||||
# Then, the resulting commit should be pushed so that it's available
|
||||
# to be downloaded for the system images.
|
||||
# Afterwards, the 'release' target takes care of the rest. This 'release'
|
||||
# target takes care of everything and copies the resulting files to
|
||||
# $(releasedir).
|
||||
#
|
||||
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
|
||||
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
|
||||
release: dist-with-updated-version all
|
||||
prepare-release: dist-with-updated-version all
|
||||
@if ! git diff-index --quiet HEAD; then \
|
||||
echo "There are uncommitted changes; stopping." >&2 ; \
|
||||
exit 1 ; \
|
||||
@@ -1156,48 +1171,26 @@ release: dist-with-updated-version all
|
||||
$(top_builddir)/pre-inst-env guix build guix \
|
||||
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
|
||||
-v1 --no-grafts --fallback
|
||||
# Generate the binary release tarballs.
|
||||
rm -f $(BINARY_TARBALLS)
|
||||
$(MAKE) $(BINARY_TARBALLS)
|
||||
for system in $(SUPPORTED_SYSTEMS) ; do \
|
||||
mv "guix-binary.$$system.tar.xz" \
|
||||
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
|
||||
done
|
||||
# Build 'current-guix' to speed things up for the next step.
|
||||
$(top_builddir)/pre-inst-env guix build \
|
||||
-e '((@ (gnu packages package-management) current-guix))' \
|
||||
$(call system_flags,$(GUIX_SYSTEM_INSTALLER_SYSTEMS)) \
|
||||
-v1 --no-grafts --fallback
|
||||
# Generate the ISO installation images.
|
||||
for system in $(GUIX_SYSTEM_INSTALLER_SYSTEMS) ; do \
|
||||
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
|
||||
image=`$(top_builddir)/pre-inst-env \
|
||||
guix system image -t iso9660 \
|
||||
--label="GUIX_$${system}_$(VERSION)" \
|
||||
--system=$$system --fallback \
|
||||
gnu/system/install.scm` ; \
|
||||
if [ ! -f "$$image" ] ; then \
|
||||
echo "failed to produce Guix installation image for $$system" >&2 ; \
|
||||
exit 1 ; \
|
||||
fi ; \
|
||||
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" ; \
|
||||
mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" \
|
||||
"$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso" ; \
|
||||
done
|
||||
# Generate the VM images.
|
||||
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
|
||||
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
|
||||
image=`$(top_builddir)/pre-inst-env \
|
||||
guix system image -t qcow2 $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
|
||||
--save-provenance \
|
||||
--system=$$system --fallback \
|
||||
gnu/system/examples/vm-image.tmpl` ; \
|
||||
if [ ! -f "$$image" ] ; then \
|
||||
echo "failed to produce Guix VM image for $$system" >&2 ; \
|
||||
exit 1 ; \
|
||||
fi ; \
|
||||
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2"; \
|
||||
done
|
||||
|
||||
@echo
|
||||
@echo "First step done! Source tarball is ready in $(releasedir)"
|
||||
@echo "Now push the resulting commit and run `make release`."
|
||||
@echo
|
||||
|
||||
# Make sure you've ran prepare-release prior to running release and pushed
|
||||
# the commit to Guix. It might be pushed to any branch, such as version-X.Y.Z.
|
||||
release: all
|
||||
# Build the artifacts for current commit.
|
||||
# Use time-machine for provenance.
|
||||
$(MKDIR_P) "$(releasedir)"
|
||||
@echo "Building guix inferior for current commit."
|
||||
COMMIT="$$(git rev-parse HEAD)" && \
|
||||
GUIX="$$(guix time-machine --commit=$$COMMIT)/bin/guix" && \
|
||||
echo "Building artifacts for current commit: $$COMMIT." && \
|
||||
ARTIFACTS="$$($$GUIX build --no-grafts \
|
||||
-f ./etc/teams/release/artifacts.scm)" && \
|
||||
echo "Artifacts built! Copying to $(releasedir)" && \
|
||||
cp -f "$$ARTIFACTS"/* "$(releasedir)"
|
||||
@echo
|
||||
@echo "Congratulations! All the release files are now in $(releasedir)."
|
||||
@echo
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
directory))
|
||||
((_ . directory) directory))
|
||||
(derivation->output-paths drv)))))
|
||||
%final-inputs))
|
||||
(%final-inputs system)))
|
||||
|
||||
(define (assert-valid-substitute substitute)
|
||||
"Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out
|
||||
|
||||
10
configure.ac
10
configure.ac
@@ -81,6 +81,15 @@ AC_ARG_WITH([selinux-policy-dir],
|
||||
[selinux_policydir='${datadir}/selinux/'])
|
||||
AC_SUBST([selinux_policydir])
|
||||
|
||||
AC_ARG_WITH([apparmor-profile-dir],
|
||||
AS_HELP_STRING([--with-apparmor-profile-dir=DIR],
|
||||
[name of the AppArmor profile directory]),
|
||||
[apparmor_profiledir="$withval"],
|
||||
[apparmor_profiledir='${sysconfdir}/apparmor.d'])
|
||||
AC_SUBST([apparmor_profiledir])
|
||||
apparmor_profile_tunablesdir='${apparmor_profiledir}/tunables'
|
||||
AC_SUBST([apparmor_profile_tunablesdir])
|
||||
|
||||
dnl Better be verbose.
|
||||
AC_MSG_CHECKING([for the store directory])
|
||||
AC_MSG_RESULT([$storedir])
|
||||
@@ -308,6 +317,7 @@ AC_CONFIG_FILES([Makefile
|
||||
po/guix/Makefile.in
|
||||
po/packages/Makefile.in
|
||||
etc/guix-daemon.cil
|
||||
etc/apparmor.d/tunables/guix
|
||||
guix/config.scm])
|
||||
|
||||
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
|
||||
|
||||
@@ -134,7 +134,11 @@ C++11 standard.
|
||||
@section Building from Git
|
||||
|
||||
If you want to hack Guix itself, it is recommended to use the latest
|
||||
version from the Git repository:
|
||||
version from the Git repository@footnote{
|
||||
Guix uses @code{master} as the default branch name. A proposal in 2025 to
|
||||
change the default branch name to @code{main} did not reach consensus.
|
||||
See @uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/003-rename-default-branch.md,
|
||||
Guix Consensus Document 003}.}:
|
||||
|
||||
@example
|
||||
git clone https://git.guix.gnu.org/guix.git
|
||||
|
||||
172
doc/guix.texi
172
doc/guix.texi
@@ -146,6 +146,7 @@ Copyright @copyright{} 2025 Artur Wroblewski@*
|
||||
Copyright @copyright{} 2025 Edouard Klein@*
|
||||
Copyright @copyright{} 2025 Rodion Goritskov@*
|
||||
Copyright @copyright{} 2025 dan@*
|
||||
Copyright @copyright{} 2025 Noé Lopez@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -769,34 +770,25 @@ This section only applies to systems without Guix. Following it for
|
||||
existing Guix installations will overwrite important system files.
|
||||
@end quotation
|
||||
|
||||
Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE
|
||||
provide Guix through their own package managers. The version of Guix
|
||||
may be older than @value{VERSION} but you can update it afterwards by
|
||||
running @samp{guix pull}.
|
||||
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
|
||||
Guix through their own package managers. The version of Guix may be
|
||||
older than @value{VERSION} but you can update it afterwards by running
|
||||
@samp{guix pull}.
|
||||
|
||||
We advise system administrators who install Guix, both from the
|
||||
installation script or @i{via} the native package manager of their
|
||||
foreign distribution, to also regularly read and follow security
|
||||
notices, as shown by @command{guix pull}.
|
||||
|
||||
For Debian or derivatives such as Ubuntu or Trisquel, call:
|
||||
|
||||
@example
|
||||
sudo apt install guix
|
||||
@end example
|
||||
|
||||
Likewise, on openSUSE:
|
||||
|
||||
@example
|
||||
sudo zypper install guix
|
||||
@end example
|
||||
|
||||
If you are running Parabola, after enabling the pcr (Parabola
|
||||
Community Repo) repository, you can install Guix with:
|
||||
@example
|
||||
sudo pacman -S guix
|
||||
@end example
|
||||
|
||||
For other package managers with a @var{guix} package, you should be able
|
||||
to install it like any other package.
|
||||
|
||||
The Guix project also provides a shell script, @file{guix-install.sh},
|
||||
which automates the binary installation process without use of a foreign
|
||||
distro package
|
||||
@@ -928,6 +920,7 @@ pre-built binaries.
|
||||
* Build Environment Setup:: Preparing the isolated build environment.
|
||||
* Daemon Offload Setup:: Offloading builds to remote machines.
|
||||
* SELinux Support:: Using an SELinux policy for the daemon.
|
||||
* AppArmor Support:: Using an AppArmor profile for the daemon.
|
||||
@end menu
|
||||
|
||||
@node Build Environment Setup
|
||||
@@ -1037,6 +1030,12 @@ When using this option, you only need to create one user account, and
|
||||
--system guix-daemon
|
||||
@end example
|
||||
|
||||
@quotation Warning
|
||||
If the @command{nologin} binary is not found by @command{which nologin},
|
||||
you may need to specify its path manually. This will usually be
|
||||
@file{/sbin/nologin} or @file{/usr/sbin/nologin}.
|
||||
@end quotation
|
||||
|
||||
In this configuration, @file{/gnu/store} is owned by the
|
||||
@code{guix-daemon} user.
|
||||
|
||||
@@ -1100,6 +1099,8 @@ systemctl daemon-reload
|
||||
systemctl start guix-daemon
|
||||
@end example
|
||||
|
||||
If your system has AppArmor enabled, @pxref{AppArmor Support}.
|
||||
|
||||
@quotation Warning
|
||||
The commands above assume that @command{guix pull} was run for the root
|
||||
user. You can check whether this is the case by running this command:
|
||||
@@ -1529,6 +1530,43 @@ installation time whenever the Guix package that provides the
|
||||
effectively running @code{guix-daemon} executable is upgraded.
|
||||
@end enumerate
|
||||
|
||||
@node AppArmor Support
|
||||
@subsection AppArmor Support
|
||||
|
||||
@cindex AppArmor
|
||||
|
||||
Guix includes an AppArmor profile for the build daemon in
|
||||
@file{etc/apparmor.d/guix-daemon} that can be installed on systems with
|
||||
strict AppArmor policies to allow it to run unprivileged
|
||||
(@pxref{Build Environment Setup}). Indeed, the unprivileged daemon makes
|
||||
use of Linux user namespaces but these are disallowed
|
||||
without an AppArmor policy on some systems like Ubuntu.
|
||||
|
||||
To know if this applies to you, check if the
|
||||
@code{kernel.apparmor_restrict_unprivileged_userns} kernel parameter is
|
||||
enabled.
|
||||
|
||||
@subsubsection Installing the AppArmor profile
|
||||
@cindex AppArmor, profile installation
|
||||
|
||||
@quotation Note
|
||||
The @code{guix-install.sh} binary installation script offers to perform
|
||||
the steps below for you (@pxref{Binary Installation}).
|
||||
@end quotation
|
||||
|
||||
Run these commands as root to install the profile:
|
||||
|
||||
@example
|
||||
export apparmor_sources=/var/guix/profiles/per-user/root/current-guix/etc/apparmor.d
|
||||
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
|
||||
apparmor_parser -r /etc/apparmor.d/guix-daemon
|
||||
apparmor_parser -r /etc/apparmor.d/guix
|
||||
@end example
|
||||
|
||||
After this, the build daemon will be able to function correctly.
|
||||
|
||||
@node Invoking guix-daemon
|
||||
@section Invoking @command{guix-daemon}
|
||||
@cindex @command{guix-daemon}
|
||||
@@ -3980,12 +4018,9 @@ them in the specified order. You also need to explicitly authorize the
|
||||
public keys of substitute servers to instruct Guix to accept the
|
||||
substitutes they sign.
|
||||
|
||||
On Guix System, this is achieved by modifying the configuration of the
|
||||
@code{guix} service. Since the @code{guix} service is part of the
|
||||
default lists of services, @code{%base-services} and
|
||||
@code{%desktop-services}, you can use @code{modify-services} to change
|
||||
its configuration and add the URLs and substitute keys that you want
|
||||
(@pxref{Service Reference, @code{modify-services}}).
|
||||
On Guix System, this is achieved by extending the configuration of the
|
||||
@code{guix} service. @pxref{Service Composition, Service extensions}
|
||||
allow users to easily add new configuration information.
|
||||
|
||||
As an example, suppose you want to fetch substitutes from
|
||||
@code{guix.example.org} and to authorize the signing key of that server,
|
||||
@@ -3997,18 +4032,13 @@ configuration will look something like:
|
||||
(operating-system
|
||||
;; @dots{}
|
||||
(services
|
||||
;; Assume we're starting from '%desktop-services'. Replace it
|
||||
;; with the list of services you're actually using.
|
||||
(modify-services %desktop-services
|
||||
(guix-service-type config =>
|
||||
(guix-configuration
|
||||
(inherit config)
|
||||
(substitute-urls
|
||||
(append (list "https://guix.example.org")
|
||||
%default-substitute-urls))
|
||||
(authorized-keys
|
||||
(append (list (local-file "./key.pub"))
|
||||
%default-authorized-guix-keys)))))))
|
||||
(cons
|
||||
(simple-service
|
||||
'my-guix-configuration guix-service-type
|
||||
(guix-extension
|
||||
(substitute-urls (list "https://guix.example.org"))
|
||||
(authorized-keys (list (local-file "./key.pub")))))
|
||||
%desktop-services)))
|
||||
@end lisp
|
||||
|
||||
This assumes that the file @file{key.pub} contains the signing key of
|
||||
@@ -13265,6 +13295,11 @@ be a list of keywords with values accepted by procedure
|
||||
@end example
|
||||
@end deffn
|
||||
|
||||
@deffn {REPL command} graft? @var{graft?}
|
||||
Set whether grafts should be performed as part of the build. Equivalent
|
||||
to @code{--no-grafts} argument to @code{guix build}.
|
||||
@end deffn
|
||||
|
||||
@deffn {REPL command} lower @var{object}
|
||||
Lower @var{object} into a derivation or store file name and return it.
|
||||
@end deffn
|
||||
@@ -18898,8 +18933,8 @@ given location at the time of the unlock attempt.
|
||||
;; Following definition would be equivalent to running:
|
||||
;; cryptsetup open --key-file /crypto.key /dev/sdb1 data
|
||||
(mapped-device
|
||||
(source "/dev/sdb1)
|
||||
(target "data)
|
||||
(source "/dev/sdb1")
|
||||
(target "data")
|
||||
(type luks-device-mapping)
|
||||
(arguments '(#:key-file "/crypto.key")))
|
||||
@end lisp
|
||||
@@ -18929,7 +18964,7 @@ options, along with @option{--allow-discards}:
|
||||
(arguments '(#:allow-discards? #t
|
||||
#:extra-options
|
||||
("--perf-no_read_workqueue"
|
||||
"--perf-no_write_workqueue")))))
|
||||
"--perf-no_write_workqueue"))))
|
||||
@end lisp
|
||||
|
||||
@end table
|
||||
@@ -19852,6 +19887,11 @@ symlink:
|
||||
This procedure is meant for @code{/bin/sh}, @code{/usr/bin/env} and
|
||||
similar targets. In particular, use for targets under @code{/etc} might
|
||||
not work as expected if the target is managed by Guix in other ways.
|
||||
|
||||
The special files persist on your system even after the
|
||||
@code{extra-special-file} call has been removed from your system config
|
||||
and the system has been reconfigured. The special files need to be
|
||||
removed manually.
|
||||
@end deffn
|
||||
|
||||
@defvar host-name-service-type
|
||||
@@ -20654,6 +20694,9 @@ a guix service extension.
|
||||
@xref{Service Composition}, for more information.
|
||||
|
||||
@table @asis
|
||||
@item @code{channels} (default: @code{'()})
|
||||
A list of objects where each element is a channel record.
|
||||
|
||||
@item @code{authorized-keys} (default: @code{'()})
|
||||
A list of file-like objects where each element contains a public key.
|
||||
|
||||
@@ -28336,30 +28379,47 @@ Additional command line options to pass to @code{memcached}.
|
||||
|
||||
@subsubheading Redis
|
||||
|
||||
@uref{https://redis.io/, Redis} is an in-memory data store used
|
||||
by millions of developers as a cache, vector database, document
|
||||
database, streaming engine, and message broker. Redis has built-in
|
||||
replication and different levels of on-disk persistence. It supports
|
||||
complex data types (for example, strings, hashes, lists, sets, sorted
|
||||
sets, and JSON), with atomic operations defined on those data types.
|
||||
|
||||
@defvar redis-service-type
|
||||
This is the service type for the @uref{https://redis.io/, Redis}
|
||||
key/value store, whose value is a @code{redis-configuration} object.
|
||||
Type of the service that runs @command{redis}, an in-memory data store.
|
||||
The value for this service is a @code{<redis-configuration>} object.
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} redis-configuration
|
||||
Data type representing the configuration of redis.
|
||||
Available @code{redis-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{redis} (default: @code{redis})
|
||||
@item @code{redis} (default: @code{redis}) (type: package)
|
||||
The Redis package to use.
|
||||
|
||||
@item @code{bind} (default: @code{"127.0.0.1"})
|
||||
@item @code{bind} (default: @code{"127.0.0.1"}) (type: string)
|
||||
Network interface on which to listen.
|
||||
|
||||
@item @code{port} (default: @code{6379})
|
||||
@item @code{port} (default: @code{6379}) (type: number)
|
||||
Port on which to accept connections on, a value of 0 will disable
|
||||
listening on a TCP socket.
|
||||
|
||||
@item @code{working-directory} (default: @code{"/var/lib/redis"})
|
||||
@item @code{working-directory} (default: @code{"/var/lib/redis"}) (type: string)
|
||||
Directory in which to store the database and related files.
|
||||
|
||||
@item @code{config-file} (type: maybe-string)
|
||||
Default location for config file.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
|
||||
@c %end of fragment
|
||||
|
||||
@node Mail Services
|
||||
@subsection Mail Services
|
||||
|
||||
@@ -45481,7 +45541,7 @@ A string representing the OCI image tag. Defaults to @code{latest}.
|
||||
@item @code{value} (type: oci-lowerable-image)
|
||||
A @code{manifest} or @code{operating-system} record that will be lowered
|
||||
into an OCI compatible tarball. Otherwise this field's value can be a
|
||||
gexp or a file-like object that evaluates to an OCI compatible tarball.
|
||||
file-like object that evaluates to an OCI compatible tarball.
|
||||
|
||||
@item @code{pack-options} (default: @code{'()}) (type: list)
|
||||
An optional set of keyword arguments that will be passed to the
|
||||
@@ -47776,7 +47836,9 @@ machine. The @code{grub-bootloader} bootloader is always used
|
||||
independently of what is declared in the @code{operating-system} file
|
||||
passed as argument. This is to make it easier to work with QEMU, which
|
||||
uses the SeaBIOS BIOS by default, expecting a bootloader to be installed
|
||||
in the Master Boot Record (MBR).
|
||||
in the Master Boot Record (MBR). In case the virtual machine is
|
||||
going to be AArch64, you might want to take a look at @code{qcow2-gpt}
|
||||
image type that installs bootloader only in EFI.
|
||||
|
||||
@cindex docker-image, creating docker images
|
||||
When using the @code{docker} image type, a Docker image is produced.
|
||||
@@ -49217,6 +49279,11 @@ daemons are started after all the file systems have been mounted and
|
||||
that, during shutdown, they are stopped before attempting to terminate
|
||||
remaining user processes.
|
||||
|
||||
Similarly, services that do make mounts during their startup or operation,
|
||||
should have @code{user-file-systems} as a requirement. @code{user-processes}
|
||||
does depend on @code{user-file-systems} as well.
|
||||
So direct requirement only on @code{user-processes} is sufficient.
|
||||
|
||||
@cindex one-shot services, for the Shepherd
|
||||
@item @code{one-shot?} (default: @code{#f})
|
||||
Whether this service is @dfn{one-shot}. One-shot services stop immediately
|
||||
@@ -54695,7 +54762,18 @@ Build an image based on the @code{efi32-disk-image} image.
|
||||
|
||||
@defvar qcow2-image-type
|
||||
Build an image based on the @code{mbr-disk-image} image but with the
|
||||
@code{compressed-qcow2} image format.
|
||||
@code{compressed-qcow2} image format. The resulting image will have
|
||||
an MBR embedded bootloader as well as an EFI bootloader. This image
|
||||
is not suitable for architectures that do not support `grub-pc`,
|
||||
such as AArch64. See @code{qcow2-gpt-image-type} for an alternative.
|
||||
@end defvar
|
||||
|
||||
@defvar qcow2-gpt-image-type
|
||||
Build an image based on the @code{efi-disk-image} image but with the
|
||||
@code{compressed-qcow2} image format. The resulting image will have
|
||||
only EFI bootloader, unlike @code{qcow2-image-type}. This image
|
||||
is suitable for architectures that do not support `grub-pc`, such
|
||||
as AArch64.
|
||||
@end defvar
|
||||
|
||||
@defvar iso-image-type
|
||||
|
||||
12
etc/apparmor.d/guix
Normal file
12
etc/apparmor.d/guix
Normal file
@@ -0,0 +1,12 @@
|
||||
abi <abi/4.0>,
|
||||
|
||||
include <tunables/global>
|
||||
include <tunables/guix>
|
||||
|
||||
# There’s no point in confining the guix executable, since it can run
|
||||
# any user code and so everything is expected. We just need to
|
||||
# explicitely enable userns for systems with the
|
||||
# kernel.apparmor_restrict_unprivileged_userns sysctl.
|
||||
profile guix @{guix_storedir}/{*-guix-command,*-guix-*/bin/guix} flags=(unconfined) {
|
||||
userns,
|
||||
}
|
||||
88
etc/apparmor.d/guix-daemon
Normal file
88
etc/apparmor.d/guix-daemon
Normal file
@@ -0,0 +1,88 @@
|
||||
abi <abi/4.0>,
|
||||
|
||||
include <tunables/global>
|
||||
include <tunables/guix>
|
||||
|
||||
profile guix-daemon @{guix_storedir}/*-{guix-daemon,guix}-*/bin/guix-daemon flags=(enforce,attach_disconnected.path=/disconnected) {
|
||||
include <abstractions/base>
|
||||
|
||||
userns,
|
||||
signal,
|
||||
capability sys_admin,
|
||||
capability net_admin,
|
||||
capability sys_chroot,
|
||||
capability setgid,
|
||||
capability chown,
|
||||
network dgram,
|
||||
umount,
|
||||
mount,
|
||||
pivot_root,
|
||||
# Paths inside build chroot
|
||||
/real-root/ w,
|
||||
/ w,
|
||||
|
||||
@{guix_localstatedir}/guix/** rwk,
|
||||
/var/log/guix/** w,
|
||||
owner @{PROC}/@{pid}/{fd/,environ} r,
|
||||
owner @{PROC}/@{pid}/oom_score_adj w,
|
||||
owner @{PROC}/@{pid}/uid_map rw,
|
||||
owner @{PROC}/@{pid}/gid_map rw,
|
||||
owner @{PROC}/@{pid}/setgroups w,
|
||||
@{guix_storedir}/ r,
|
||||
@{guix_storedir}/** rwlmk,
|
||||
@{guix_storedir}/*/bin/guile cx -> guix-builder,
|
||||
@{guix_storedir}/*-guix-command cx -> guix-helper,
|
||||
@{guix_storedir}/*-guix-*/bin/guix cx -> guix-helper,
|
||||
@{etc_rw}/nsswitch.conf r,
|
||||
@{etc_rw}/passwd r,
|
||||
@{etc_rw}/group r,
|
||||
owner /tmp/** rwl,
|
||||
owner /var/tmp/** rwl,
|
||||
|
||||
/usr/bin/newgidmap Ux,
|
||||
|
||||
# Site-specific additions and overrides. See local/README for details.
|
||||
include if exists <local/guix-daemon>
|
||||
|
||||
profile guix-builder flags=(enforce,attach_disconnected.path=/disconnected) {
|
||||
include <abstractions/base>
|
||||
|
||||
signal (receive),
|
||||
|
||||
@{guix_storedir}/** rwlmkux,
|
||||
|
||||
owner /tmp/** rw,
|
||||
|
||||
@{PROC}/@{pid}/fd/ r,
|
||||
|
||||
/disconnected/** rw,
|
||||
}
|
||||
|
||||
# This is for any time guix is called by the daemon as a helper:
|
||||
# - guix download
|
||||
# - guix discover
|
||||
# - guix gc --list-busy
|
||||
# - probably more?
|
||||
profile guix-helper flags=(enforce,attach_disconnected.path=/disconnected) {
|
||||
include <abstractions/base>
|
||||
include <abstractions/nameservice>
|
||||
|
||||
signal (receive),
|
||||
ptrace (read) peer=guix-daemon,
|
||||
|
||||
/disconnected/run/dbus/system_bus_socket rw,
|
||||
dbus (send, receive),
|
||||
@{guix_localstatedir}/guix/discover/ rw,
|
||||
@{guix_localstatedir}/guix/discover/* rw,
|
||||
|
||||
@{guix_localstatedir}/guix/substitute/ rw,
|
||||
@{guix_localstatedir}/guix/substitute/** rwk,
|
||||
|
||||
@{guix_sysconfdir}/guix/** r,
|
||||
|
||||
@{guix_storedir}/** rwlmix,
|
||||
|
||||
@{PROC}/ r,
|
||||
owner @{PROC}/@{pid}/{fd/,environ} r,
|
||||
}
|
||||
}
|
||||
5
etc/apparmor.d/tunables/guix.in
Normal file
5
etc/apparmor.d/tunables/guix.in
Normal file
@@ -0,0 +1,5 @@
|
||||
@{guix_storedir} = @storedir@
|
||||
@{guix_sysconfdir} = @guix_sysconfdir@
|
||||
@{guix_localstatedir} = @guix_localstatedir@
|
||||
|
||||
include if exists <tunables/guix.d>
|
||||
@@ -175,6 +175,10 @@
|
||||
(file (execute
|
||||
execute_no_trans read write open entrypoint map
|
||||
getattr link unlink)))
|
||||
;; Needed to execute the 'newgidmap' helper.
|
||||
(allow guix_daemon_t
|
||||
bin_t
|
||||
(file (execute execute_no_trans map)))
|
||||
|
||||
;; Remounting /gnu/store read-write.
|
||||
(allow guix_daemon_t
|
||||
@@ -322,7 +326,7 @@
|
||||
map
|
||||
getattr setattr
|
||||
unlink
|
||||
open read write)))
|
||||
open read write append)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(lnk_file (create getattr rename unlink read)))
|
||||
@@ -367,7 +371,7 @@
|
||||
;; Allow use of user namespaces
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(cap_userns (sys_admin net_admin sys_chroot)))
|
||||
(cap_userns (setgid sys_admin net_admin sys_chroot)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(user_namespace (create)))
|
||||
@@ -451,6 +455,27 @@
|
||||
vnc_port_t
|
||||
(tcp_socket (name_bind)))
|
||||
|
||||
;; 'guix gc' needs to go through /proc entries for all processes that are
|
||||
;; running. Strictly speaking, it means guix-daemon needs access to all
|
||||
;; process types in the SELinux policy. In practice, only processes from
|
||||
;; programs in the /gnu/store are relevant for finding roots for garbage
|
||||
;; collection. Since Guix currently doesn't install any SELinux policy for
|
||||
;; its packages, we can assume that all the processes it needs to access run
|
||||
;; as unconfined_t.
|
||||
;;
|
||||
;; FIXME: This doesn't stop 'guix gc' from generating a lot of unnecessary
|
||||
;; AVC denied audit messages. Perhaps guix-daemon could test whether it has
|
||||
;; access to the proc entry before trying to access it?
|
||||
(allow guix_daemon_t
|
||||
unconfined_t
|
||||
(dir (search)))
|
||||
(allow guix_daemon_t
|
||||
unconfined_t
|
||||
(file (read)))
|
||||
(allow guix_daemon_t
|
||||
unconfined_t
|
||||
(lnk_file (read)))
|
||||
|
||||
;; I guess sometimes it needs random numbers
|
||||
(allow guix_daemon_t
|
||||
random_device_t
|
||||
|
||||
@@ -14,6 +14,12 @@ ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daem
|
||||
--substitute-urls='@GUIX_SUBSTITUTE_URLS@'
|
||||
Environment='GUIX_STATE_DIRECTORY=@localstatedir@/guix' 'GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
|
||||
|
||||
# Stop the gnu-store.mount so that the daemon can capture the store as
|
||||
# read-write in its private mount namespace.
|
||||
# See <https://codeberg.org/guix/guix/issues/4744>.
|
||||
ExecStartPre=-+systemctl stop gnu-store.mount
|
||||
ExecStartPost=-+systemctl start gnu-store.mount --no-block
|
||||
|
||||
# Run under a dedicated unprivileged user account.
|
||||
User=guix-daemon
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
# Copyright © 2024 Tomas Volf <~@wolfsden.cz>
|
||||
# Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
|
||||
# Copyright © 2025 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
# Copyright © 2025 Noé Lopez <noelopez@free.fr>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -105,10 +106,11 @@ DEBUG=0
|
||||
GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
|
||||
|
||||
# The following associative array holds set of GPG keys used to sign the
|
||||
# releases, keyed by their corresponding Savannah user ID.
|
||||
# releases, keyed by their corresponding Codeberg user name.
|
||||
declare -A GPG_SIGNING_KEYS
|
||||
GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
|
||||
GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
|
||||
GPG_SIGNING_KEYS["civodul"]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
|
||||
GPG_SIGNING_KEYS["apteryx"]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
|
||||
PUBLIC_KEYSERVERS="keys.openpgp.org pgpkeys.eu keyserver.ubuntu.com"
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
#+UTILITIES
|
||||
@@ -203,6 +205,7 @@ chk_gpg_keyring()
|
||||
|
||||
for user_id in "${!GPG_SIGNING_KEYS[@]}"; do
|
||||
gpg_key_id=${GPG_SIGNING_KEYS[$user_id]}
|
||||
codeberg_username=$user_id
|
||||
# Without --dry-run this command will create a ~/.gnupg owned by root on
|
||||
# systems where gpg has never been used, causing errors and confusion.
|
||||
if gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then
|
||||
@@ -211,20 +214,39 @@ chk_gpg_keyring()
|
||||
if prompt_yes_no "${INF}The following OpenPGP public key is \
|
||||
required to verify the Guix binary signature: $gpg_key_id.
|
||||
Would you like me to fetch it for you?"; then
|
||||
# Use a reasonable time-out here so users don't report silent
|
||||
# ‘freezes’ when Savannah goes out to lunch, as has happened.
|
||||
if wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \
|
||||
--timeout=30 --no-verbose -O- | gpg --import -; then
|
||||
if wget "https://codeberg.org/$codeberg_username.gpg" \
|
||||
--tries=1 --timeout=30 --no-verbose -O- | gpg --import -; then
|
||||
continue
|
||||
fi
|
||||
|
||||
key_obtained=false
|
||||
# Try to fetch keys from an available keyserver
|
||||
for key_server in $PUBLIC_KEYSERVERS; do
|
||||
if gpg --keyserver $key_server --recv-key $gpg_key_id; then
|
||||
key_obtained=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if $key_obtained; then
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
# If we reach this point, the key is (still) missing. Report further
|
||||
# missing keys, if any, but then abort the installation.
|
||||
_err "Missing OpenPGP public key ($gpg_key_id).
|
||||
Fetch it with this command:
|
||||
Fetch it with codeberg username:
|
||||
|
||||
wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -O - | \
|
||||
sudo -i gpg --import -"
|
||||
wget \"https://codeberg.org/$codeberg_username.gpg\" -O - | \
|
||||
sudo -i gpg --import -
|
||||
|
||||
If this fails, try to fetch it via a keyserver:
|
||||
|
||||
for key_server in $PUBLIC_KEYSERVERS; do
|
||||
if sudo -i gpg --keyserver $key_server --recv-key $gpg_key_id; then
|
||||
break
|
||||
fi
|
||||
done"
|
||||
exit_flag=yes
|
||||
done
|
||||
if [ "$exit_flag" = yes ]; then
|
||||
@@ -773,10 +795,6 @@ export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
|
||||
# trailing colon so the system default search path is used.
|
||||
export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH"
|
||||
export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
|
||||
# Expose the latest Guix modules to Guile so guix shell and repls spawned by
|
||||
# e.g. Geiser work out of the box.
|
||||
export GUILE_LOAD_PATH="$GUIX_PROFILE/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
|
||||
export GUILE_LOAD_COMPILED_PATH="$GUIX_PROFILE/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
|
||||
|
||||
# User's default profile, if it exists
|
||||
GUIX_PROFILE="$HOME/.guix-profile"
|
||||
@@ -798,6 +816,11 @@ if [ -L "$GUIX_PROFILE" ]; then
|
||||
*$GUIX_PROFILE/share/man*) ;;
|
||||
*) export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
|
||||
esac
|
||||
|
||||
case $XDG_DATA_DIRS in
|
||||
*$GUIX_PROFILE/share*) ;;
|
||||
*) export XDG_DATA_DIRS="$GUIX_PROFILE/share:$XDG_DATA_DIRS"
|
||||
esac
|
||||
fi
|
||||
|
||||
# NOTE: Guix Home handles its own profile initialization in ~/.profile. See
|
||||
@@ -892,6 +915,64 @@ sys_maybe_setup_selinux()
|
||||
restorecon -R /gnu /var/guix
|
||||
}
|
||||
|
||||
sys_maybe_setup_apparmor()
|
||||
{
|
||||
if ! [ -f /sys/module/apparmor/parameters/enabled ]
|
||||
then
|
||||
return
|
||||
fi
|
||||
|
||||
if ! command -v apparmor_parser &> /dev/null
|
||||
then
|
||||
return
|
||||
fi
|
||||
|
||||
prompt_yes_no "Install AppArmor profile that might be required to run guix-daemon?" \
|
||||
|| return 0
|
||||
|
||||
local var_guix=/var/guix/profiles/per-user/root/current-guix
|
||||
local apparmor_sources="${var_guix}/etc/apparmor.d/"
|
||||
|
||||
if ! [ -d "$apparmor_sources" ]
|
||||
then
|
||||
_err "This version of Guix doesn’t contain AppArmor profiles."
|
||||
return
|
||||
fi
|
||||
|
||||
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
|
||||
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
|
||||
apparmor_parser --warn=all -r /etc/apparmor.d/guix-daemon
|
||||
apparmor_parser --warn=all -r /etc/apparmor.d/guix
|
||||
|
||||
_msg_pass "apparmor profiles installed and loaded"
|
||||
}
|
||||
|
||||
sys_delete_apparmor_profiles()
|
||||
{
|
||||
# Not a big deal if the apparmor_parser commands fail as they only apply
|
||||
# for the current boot, we still want to go on and remove the files.
|
||||
if [ -f "/etc/apparmor.d/guix" ]
|
||||
then
|
||||
_msg_info "removing /etc/apparmor.d/guix"
|
||||
apparmor_parser -R /etc/apparmor.d/guix || true
|
||||
rm -f "/etc/apparmor.d/guix"
|
||||
fi
|
||||
|
||||
if [ -f "/etc/apparmor.d/guix-daemon" ]
|
||||
then
|
||||
_msg_info "removing /etc/apparmor.d/guix-daemon"
|
||||
apparmor_parser -R /etc/apparmor.d/guix-daemon || true
|
||||
rm -f "/etc/apparmor.d/guix-daemon"
|
||||
fi
|
||||
|
||||
if [ -f "/etc/apparmor.d/tunables/guix" ]
|
||||
then
|
||||
_msg_info "removing /etc/apparmor.d/tunables/guix"
|
||||
rm -f "/etc/apparmor.d/tunables/guix"
|
||||
fi
|
||||
}
|
||||
|
||||
sys_delete_init_profile()
|
||||
{
|
||||
_msg_info "removing /etc/profile.d/zzz-guix.sh"
|
||||
@@ -969,7 +1050,6 @@ main_install()
|
||||
chk_init_sys
|
||||
add_init_sys_require
|
||||
chk_require "${REQUIRE[@]}"
|
||||
chk_gpg_keyring
|
||||
chk_sys_arch
|
||||
chk_sys_nscd
|
||||
chk_existing
|
||||
@@ -980,6 +1060,7 @@ main_install()
|
||||
tmp_path="$(mktemp -t -d guix.XXXXXX)"
|
||||
|
||||
if [ -z "${GUIX_BINARY_FILE_NAME}" ]; then
|
||||
chk_gpg_keyring
|
||||
guix_get_bin_list "${GNU_URL}"
|
||||
guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
|
||||
GUIX_BINARY_FILE_NAME=${BIN_VER}.tar.xz
|
||||
@@ -994,6 +1075,7 @@ main_install()
|
||||
sys_create_store "${GUIX_BINARY_FILE_NAME}" "${tmp_path}"
|
||||
sys_create_build_user
|
||||
sys_maybe_setup_selinux
|
||||
sys_maybe_setup_apparmor
|
||||
sys_enable_guix_daemon
|
||||
sys_authorize_build_farms
|
||||
sys_create_init_profile
|
||||
@@ -1027,6 +1109,7 @@ main_uninstall()
|
||||
sys_delete_guix_daemon
|
||||
# stop people from accessing their profiles.
|
||||
sys_delete_user_profiles
|
||||
sys_delete_apparmor_profiles
|
||||
# kill guix off all the guts of guix
|
||||
sys_delete_store
|
||||
# clean up the system
|
||||
|
||||
@@ -71,18 +71,21 @@ TARGET."
|
||||
"connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups"
|
||||
"linux-libre" "grub-hybrid")))
|
||||
|
||||
(define %system-gui-packages
|
||||
(define (%system-gui-packages target)
|
||||
;; Key packages proposed by the Guix System installer.
|
||||
(append (map specification->package
|
||||
'(;; build system `python' does not support cross builds
|
||||
;"gnome" "xfce" "mate" "openbox"
|
||||
;"gnome" "xfce" "mate" "openbox"
|
||||
"awesome"
|
||||
"i3-wm" "i3status" "dmenu" "st"
|
||||
"ratpoison" "xterm"
|
||||
;; build system `emacs' does not support cross builds
|
||||
;"emacs-exwm" "emacs-desktop-environment"
|
||||
;"emacs-exwm" "emacs-desktop-environment"
|
||||
"emacs"))
|
||||
%default-xorg-modules))
|
||||
;; NOTE: %default-xorg-modules depends on system.
|
||||
(parameterize
|
||||
((%current-target-system target))
|
||||
%default-xorg-modules)))
|
||||
|
||||
(define %packages-to-cross-build
|
||||
;; Packages that must be cross-buildable from x86_64-linux.
|
||||
@@ -151,7 +154,8 @@ TARGET."
|
||||
;; With a graphical environment:
|
||||
(if (or (target-x86-32? target)
|
||||
(target-aarch64? target))
|
||||
%system-gui-packages
|
||||
;; %system-gui-packages depends on the system.
|
||||
(%system-gui-packages target)
|
||||
'()))))
|
||||
(fold delete (map platform-system->target (systems))
|
||||
'(;; Disable cross-compilation to self:
|
||||
|
||||
165
etc/manifests/release-user-packages.scm
Normal file
165
etc/manifests/release-user-packages.scm
Normal file
@@ -0,0 +1,165 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
|
||||
;;;
|
||||
;;; 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 manifest is a list of packages that user care about (collected via an
|
||||
;;; online form). It corresponds to the “Important packages” of GCD 005.
|
||||
|
||||
(specifications->manifest
|
||||
(list
|
||||
"0ad"
|
||||
"agda"
|
||||
"alacritty"
|
||||
"ardour"
|
||||
"autoconf"
|
||||
"automake"
|
||||
"blender"
|
||||
"borg"
|
||||
"btrfs-progs"
|
||||
"certbot"
|
||||
"chez-scheme"
|
||||
"clang-toolchain"
|
||||
"cryptsetup"
|
||||
"dillo"
|
||||
"direnv"
|
||||
"docker-cli"
|
||||
"dovecot"
|
||||
"emacs"
|
||||
"emacs-exwm"
|
||||
"emacs-pgtk"
|
||||
"evince"
|
||||
"fcitx5"
|
||||
"file"
|
||||
"fish"
|
||||
"foot"
|
||||
"fzf"
|
||||
"gajim"
|
||||
"gallery-dl"
|
||||
"gcc-toolchain"
|
||||
"getmail6"
|
||||
"gettext"
|
||||
"ghc-xmonad-contrib"
|
||||
"gimp"
|
||||
"git"
|
||||
"gmp"
|
||||
"gnome"
|
||||
"gnupg"
|
||||
"godot"
|
||||
"gpaste"
|
||||
"guile"
|
||||
"guile-json"
|
||||
"hatch"
|
||||
"help2man"
|
||||
"helvum"
|
||||
"hexchat"
|
||||
"hyprland"
|
||||
"icecat"
|
||||
"idris"
|
||||
"imagemagick"
|
||||
"imapfilter"
|
||||
"jami"
|
||||
"k3b"
|
||||
"kakoune"
|
||||
"keepassxc"
|
||||
"krita"
|
||||
"ksoloti-patcher"
|
||||
"libreoffice"
|
||||
"librewolf"
|
||||
"libsecret"
|
||||
"libtool"
|
||||
"libvirt"
|
||||
"llama-cpp"
|
||||
"mariadb"
|
||||
"luanti"
|
||||
"mpc"
|
||||
"mpfr"
|
||||
"mplayer"
|
||||
"mpv"
|
||||
"mullvadbrowser"
|
||||
"neovim"
|
||||
"nginx"
|
||||
"niri"
|
||||
"nix"
|
||||
"node"
|
||||
"notmuch"
|
||||
"obs"
|
||||
"offlineimap3"
|
||||
"opencv"
|
||||
"openmpi"
|
||||
"opensmtpd"
|
||||
"openssh"
|
||||
"openttd"
|
||||
"pandoc"
|
||||
"password-store"
|
||||
"pavucontrol"
|
||||
"php"
|
||||
"picard"
|
||||
"pipewire"
|
||||
"pkg-config"
|
||||
"plasma"
|
||||
"plasma-desktop"
|
||||
"po4a"
|
||||
"podman"
|
||||
"postgresql"
|
||||
"python"
|
||||
"python-lxml"
|
||||
"python-pycryptodome"
|
||||
"qemu"
|
||||
"ranger"
|
||||
"retroarch"
|
||||
;;"rocm"
|
||||
"rofi"
|
||||
"rspamd"
|
||||
"rsync"
|
||||
"screen"
|
||||
"slurm"
|
||||
"sqlite"
|
||||
"sqlitebrowser"
|
||||
"strace"
|
||||
"strawberry"
|
||||
"syncthing"
|
||||
"taisei"
|
||||
"telegram-desktop"
|
||||
"texlive-babel"
|
||||
"texlive-babel-english"
|
||||
"texlive-babel-french"
|
||||
"texlive-babel-german"
|
||||
"texlive-collection-latex"
|
||||
"texlive-collection-latexrecommended"
|
||||
"texlive-collection-xetex"
|
||||
"texlive-pdfjam"
|
||||
"tmux"
|
||||
"tuba"
|
||||
"ungoogled-chromium"
|
||||
"unison"
|
||||
"unzip"
|
||||
"uv"
|
||||
"viewnior"
|
||||
"virt-manager"
|
||||
"waybar"
|
||||
"wine"
|
||||
"wine64"
|
||||
"wireguard-tools"
|
||||
"xmobar"
|
||||
"xmonad"
|
||||
"xournal"
|
||||
"xournalpp"
|
||||
"xpdf"
|
||||
"yt-dlp"
|
||||
"zig"
|
||||
"zip"
|
||||
"zsh"))
|
||||
47
etc/news.scm
47
etc/news.scm
@@ -42,10 +42,55 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "d3b79beaa806452dceaffb8b211b69dc4c346aba")
|
||||
(title
|
||||
(en "Linux-libre 5.4 no longer supported")
|
||||
(de "Linux-libre 5.4 nicht mehr unterstützt")
|
||||
(pt "Linux-libre 5.4 não é mais suportado"))
|
||||
(body
|
||||
(en "The linux-libre 5.4 kernel series is no longer supported
|
||||
upstream and will be removed from GNU Guix soon:
|
||||
|
||||
https://www.kernel.org/category/releases.html
|
||||
|
||||
This kernel series was first added to Guix in 2019 by Mark Weaver, at version
|
||||
5.4.5. After ~297 updates delivered to Guix users, we have deployed the final
|
||||
update, 5.4.302.
|
||||
|
||||
The next kernel series removals are scheduled for December 2026, when the Linux
|
||||
long-term support team is planning to stop supporting four different kernel
|
||||
series: 6.12, 6.6, 5.15, and 5.10.")
|
||||
(de "Die Versionsreihe 5.4 des Linux-libre-Kernels wird von dessen
|
||||
Anbieter nicht mehr unterstützt und wird bald aus GNU Guix entfernt werden:
|
||||
|
||||
https://www.kernel.org/category/releases.html
|
||||
|
||||
Diese Kernel-Reihe wurde ursprünglich 2019 zu Guix hinzugefügt von Mark Weaver
|
||||
mit Version 5.4.5. Nach ~297 Aktualisierungen, die Guix seinen Nutzern
|
||||
bereitgestellt hat, haben wir nun die letzte Aktualisierung
|
||||
ausgeliefert, 5.4.302.
|
||||
|
||||
Der weitere Plan von Linux’ Team für Langzeitunterstützung sieht vor, als
|
||||
Nächstes die Unterstützung für vier verschiedene Kernel-Reihen im Dezember 2026
|
||||
zu beenden: 6.12, 6.6, 5.15 und 5.10.")
|
||||
(pt "A série 5.4 do kernel linux-libre não é mais suportada pelo
|
||||
fornecedor e será removida do GNU Guix em breve:
|
||||
|
||||
https://www.kernel.org/category/releases.html
|
||||
|
||||
Esta série de kernels foi adicionada inicialmente ao Guix em 2019 por Mark
|
||||
Weaver, na versão 5.4.5. Após ~297 atualizações entregues aos usuários do
|
||||
Guix, implantamos a atualização final, 5.4.302.
|
||||
|
||||
As próximas remoções de séries do kernel estão agendadas para dezembro de
|
||||
2026, quando o time de suporte de longo prazo planeja interromper o suporte a
|
||||
quatro séries diferentes do kernel: 6.12, 6.6, 5.15 e 5.10.")))
|
||||
|
||||
(entry (commit "14bb0192fde79909999c3880b6b66aa22499eb11")
|
||||
(title
|
||||
(en "Linux-libre 6.16 removed from Guix")
|
||||
(de "Linux-libre 6.16 wurde aus Guix entfernt")
|
||||
(pt "Linux-libre 6.16 removido do Guix")
|
||||
(zh "Linux-libre 6.16 已从 Guix 中移除"))
|
||||
(body
|
||||
(en "The linux-libre 6.16 kernel series has been removed from Guix, as
|
||||
@@ -54,6 +99,8 @@ default.")
|
||||
(de "Die Versionsreihe 6.16 des Linux-libre-Kernels wurde aus GNU Guix
|
||||
entfernt, weil sie von dessen Anbieter nicht mehr unterstützt wird.
|
||||
Kernel-Versionsreihe 6.17 ist jetzt vorgegeben.")
|
||||
(pt "A série 6.16 do kernel linux-libre foi removida do Guix, dado
|
||||
que não é mais suportada pelo fornecedor. A série 6.17 é o padrão atual")
|
||||
(zh "由于上游不再支持,GNU Guix 已移除 6.16 系列的 linux-libre 内核。6.17
|
||||
内核系列现已成为默认版本。")))
|
||||
|
||||
|
||||
@@ -702,6 +702,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
|
||||
(team 'hare
|
||||
#:name "Hare"
|
||||
#:scope (list "gnu/packages/hare.scm"
|
||||
"gnu/packages/hare-apps.scm"
|
||||
"gnu/packages/hare-xyz.scm"
|
||||
"guix/build-system/hare.scm"
|
||||
"guix/build/hare-build-system.scm")))
|
||||
@@ -976,14 +977,13 @@ release."
|
||||
#:name "Crypto team"
|
||||
#:description
|
||||
"Secrets, passwords, cryptography and security related packages."
|
||||
#:scope (list
|
||||
"gnu/packages/crypto.scm"
|
||||
"gnu/packages/gnupg.scm"
|
||||
"gnu/packages/nettle.scm"
|
||||
"gnu/packages/password-utils.scm"
|
||||
"gnu/packages/security-token.scm"
|
||||
"gnu/packages/ssh.scm"
|
||||
"gnu/packages/tls.scm")))
|
||||
#:scope (list (make-regexp* "^gnu/packages/(.*-|)crypto\\.scm$")
|
||||
"gnu/packages/gnupg.scm"
|
||||
"gnu/packages/nettle.scm"
|
||||
"gnu/packages/password-utils.scm"
|
||||
"gnu/packages/security-token.scm"
|
||||
"gnu/packages/ssh.scm"
|
||||
"gnu/packages/tls.scm")))
|
||||
|
||||
(define-team science
|
||||
(team 'science
|
||||
@@ -1276,9 +1276,9 @@ the \"texlive\" importer."
|
||||
games)
|
||||
|
||||
(define-member (person "Laurent Gatto"
|
||||
"laurent.gatto@gmail.com"
|
||||
"lgatto@protonmail.ch"
|
||||
"lgatto")
|
||||
r)
|
||||
r bioinformatics)
|
||||
|
||||
(define-member (person "Nicolas Goaziou"
|
||||
"guix@nicolasgoaziou.fr"
|
||||
@@ -1327,8 +1327,7 @@ the \"texlive\" importer."
|
||||
|
||||
(define-member (person "Hilton Chain"
|
||||
"hako@ultrarare.space"
|
||||
"hako")
|
||||
emacs home localization mozilla rust zig)
|
||||
"hako"))
|
||||
|
||||
(define-member (person "Noé Lopez"
|
||||
"noelopez@free.fr"
|
||||
@@ -1392,7 +1391,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Danny Milosavljevic"
|
||||
"dannym@friendly-machines.com"
|
||||
"daym")
|
||||
bootstrap hpc rust science)
|
||||
bootstrap hpc python rust science)
|
||||
|
||||
(define-member (person "Andy Tai"
|
||||
"atai@atai.org"
|
||||
@@ -1409,6 +1408,16 @@ the \"texlive\" importer."
|
||||
"delitrem")
|
||||
beam)
|
||||
|
||||
(define-member (person "Nguyễn Gia Phong"
|
||||
"cnx@loang.net"
|
||||
"cnx")
|
||||
python)
|
||||
|
||||
(define-member (person "Lilah Tascheter"
|
||||
"lilah@lunabee.space"
|
||||
"tinystar")
|
||||
hare)
|
||||
|
||||
|
||||
(define (find-team name)
|
||||
(or (hash-ref %teams (string->symbol name))
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
;;; 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 file returns a manifest of packages built using the cargo-build-system.
|
||||
;;; It is used to assist continuous integration of the rust-team branch.
|
||||
;;; This file returns a manifest of packages built using the hare-build-system.
|
||||
;;; It is used to assist continuous integration of the hare-team branch.
|
||||
|
||||
(use-modules (guix packages)
|
||||
(guix profiles)
|
||||
|
||||
40
etc/teams/lisp/lisp-manifest.scm
Normal file
40
etc/teams/lisp/lisp-manifest.scm
Normal file
@@ -0,0 +1,40 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; 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 file returns a manifest of packages built using any one of the
|
||||
;;; asdf build systems. It is used to assist continuous integration of
|
||||
;;; the lisp-team branch.
|
||||
|
||||
(use-modules (guix packages)
|
||||
(guix profiles)
|
||||
(guix build-system))
|
||||
|
||||
(manifest
|
||||
(map package->manifest-entry
|
||||
(fold-packages
|
||||
(lambda (package lst)
|
||||
(if (or (eq? 'asdf/sbcl (build-system-name (package-build-system package)))
|
||||
(eq? 'asdf/ecl (build-system-name (package-build-system package)))
|
||||
(eq? 'asdf/clasp (build-system-name (package-build-system package)))
|
||||
(string=? "clasp-cl" (package-name package))
|
||||
(string=? "ecl" (package-name package))
|
||||
(string=? "sbcl" (package-name package)))
|
||||
(cons package lst)
|
||||
lst))
|
||||
'())))
|
||||
|
||||
35
etc/teams/python/python-manifest.scm
Normal file
35
etc/teams/python/python-manifest.scm
Normal file
@@ -0,0 +1,35 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; 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 file returns a manifest of packages built using the python-build-system.
|
||||
;;; It is used to assist continuous integration of the python-team branch.
|
||||
|
||||
(use-modules (guix packages)
|
||||
(guix profiles)
|
||||
(guix build-system))
|
||||
|
||||
(manifest
|
||||
(map package->manifest-entry
|
||||
(fold-packages
|
||||
(lambda (package lst)
|
||||
(if (or (eq? 'python (build-system-name (package-build-system package)))
|
||||
(eq? 'pyproject (build-system-name (package-build-system package)))
|
||||
(string=? "python" (package-name package)))
|
||||
(cons package lst)
|
||||
lst))
|
||||
'())))
|
||||
412
etc/teams/release/artifacts-manifest.scm
Normal file
412
etc/teams/release/artifacts-manifest.scm
Normal file
@@ -0,0 +1,412 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;;
|
||||
;;; 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 manifest returns build artfacts for all supported systems. This can be
|
||||
;;; controlled by SUPPORTED_SYSTEMS environment variable. For the list of
|
||||
;;; artifacts produced, see artifacts-for-system and the `<thing>-for-system?`
|
||||
;;; procedures. NOTE: the --system argument does not change the system for which
|
||||
;;; the resulting package is built. They return different definitions of the
|
||||
;;; images. To change the system, pass different SUPPORTED_SYSTEMS.
|
||||
|
||||
(use-modules (gnu compression)
|
||||
(gnu image)
|
||||
(gnu packages graphviz)
|
||||
(gnu packages imagemagick)
|
||||
(gnu packages package-management)
|
||||
(gnu packages perl)
|
||||
(gnu services)
|
||||
(gnu system image)
|
||||
(gnu system install)
|
||||
(gnu system)
|
||||
(guix build-system gnu)
|
||||
(guix build-system trivial)
|
||||
(guix channels)
|
||||
(guix gexp)
|
||||
(guix git)
|
||||
(guix grafts)
|
||||
(guix memoization)
|
||||
(guix monads)
|
||||
(guix packages)
|
||||
(guix profiles)
|
||||
(guix records)
|
||||
(guix scripts pack)
|
||||
(guix store)
|
||||
(guix ui)
|
||||
(guix utils)
|
||||
(ice-9 format)
|
||||
(ice-9 match)
|
||||
(srfi srfi-9)
|
||||
(srfi srfi-26)
|
||||
(srfi srfi-35))
|
||||
|
||||
;; For easier testing, use (snapshot) guix package from (gnu packages
|
||||
;; package-management). Otherwise, the package is updated to current commit and
|
||||
;; might not be substitutable, leading to longer build times.
|
||||
(define %use-snapshot-package?
|
||||
(string=? (or (getenv "GUIX_USE_SNAPSHOT_PACKAGE") "no") "yes"))
|
||||
|
||||
(define (%guix-version)
|
||||
;; NOTE: while package-version guix is not correct in general,
|
||||
;; it is correct for the release itself. At that time, the
|
||||
;; guix package is updated to vX.Y.Z and it's the version
|
||||
;; we want to use.
|
||||
(package-version guix))
|
||||
|
||||
(define (%vm-image-path)
|
||||
(search-path %load-path "gnu/system/examples/vm-image.tmpl"))
|
||||
|
||||
(define (%vm-image-efi-path)
|
||||
(search-path %load-path "gnu/system/examples/vm-image-efi.tmpl"))
|
||||
|
||||
;; monadic record and gexp-compiler
|
||||
;; taken from Inria
|
||||
;; https://gitlab.inria.fr/numpex-pc5/wp3/guix-images/-/blob/17bf4585abc2d637faa5d339436e778b7c9fb1ce/modules/guix-hpc/packs.scm
|
||||
|
||||
;; XXX: The <monadic> hack below will hopefully become unnecessary once the
|
||||
;; (guix scripts pack) interface switches to declarative style--i.e.,
|
||||
;; file-like objects.
|
||||
|
||||
(define-record-type <monadic>
|
||||
(monadic->declarative mvalue)
|
||||
monadic?
|
||||
(mvalue monadic-value))
|
||||
|
||||
(define-gexp-compiler (monadic-compiler (monadic <monadic>) system target)
|
||||
(monadic-value monadic))
|
||||
|
||||
;; The tarball should be the same for every system.
|
||||
;; Still, we need to decide what system to build it
|
||||
;; for, so use the one that CI has most resources for.
|
||||
(define (source-tarball-for-system? system)
|
||||
(member system
|
||||
'("x86_64-linux")))
|
||||
|
||||
(define (iso-for-system? system)
|
||||
(member system
|
||||
'("x86_64-linux" "i686-linux" "aarch64-linux")))
|
||||
|
||||
(define (qcow2-for-system? system)
|
||||
(member system
|
||||
'("x86_64-linux" "aarch64-linux")))
|
||||
|
||||
(define* (qcow2-gpt-for-system? system)
|
||||
(string=? system "aarch64-linux"))
|
||||
|
||||
(define (copy-/etc/config.scm config)
|
||||
"Copy the configuration.scm of the operating system to /etc/config.scm, for
|
||||
user's convenience. The file has to be writable, not a link to the store, so
|
||||
etc-service-type can't be used here. CONFIG is a pair of strings, (FROM . TO).
|
||||
The config will be copied from FROM to TO."
|
||||
(match config
|
||||
((from . to)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(when (not (file-exists? #$to))
|
||||
(copy-file #$from #$to)
|
||||
(make-file-writable #$to)))))
|
||||
(_ (raise
|
||||
(formatted-message-string
|
||||
(G_ "unexpected config parameter, should be pair of strings: ~a"
|
||||
config))))))
|
||||
|
||||
(define copy-/etc/config.scm-service-type
|
||||
(service-type (name 'copy-/etc/config.scm)
|
||||
(description
|
||||
"Copy the system configuration file to /etc/config.scm.")
|
||||
(extensions (list (service-extension activation-service-type
|
||||
copy-/etc/config.scm)))
|
||||
(default-value (cons "/run/current-system/configuration.scm"
|
||||
"/etc/config.scm"))))
|
||||
|
||||
(define (operating-system-with-/etc/config.scm os)
|
||||
"Copy the system configuration file to writable /etc/config.scm on first boot."
|
||||
(operating-system
|
||||
(inherit os)
|
||||
(services (cons (service copy-/etc/config.scm-service-type)
|
||||
(operating-system-user-services os)))))
|
||||
|
||||
(define (simple-provenance-entry config-file)
|
||||
"Return system entries describing the operating system config, provided
|
||||
through CONFIG-FILE."
|
||||
(mbegin %store-monad
|
||||
(return `(("configuration.scm"
|
||||
,(local-file (assume-valid-file-name config-file)
|
||||
"configuration.scm"))))))
|
||||
|
||||
;; This is mostly taken from provenance-service-type from (gnu services),
|
||||
;; but it provides only configuration.scm, not channels.scm. This is
|
||||
;; to get the same derivations for both Cuirass and local builds.
|
||||
;; In the future, provenance-service-type could be adapted to support
|
||||
;; this use case as well.
|
||||
(define simple-provenance-service-type
|
||||
(service-type (name 'provenance)
|
||||
(extensions
|
||||
(list (service-extension system-service-type
|
||||
simple-provenance-entry)))
|
||||
(default-value #f) ;the OS config file
|
||||
(description
|
||||
"Store configuration.scm of the system in the system
|
||||
itself.")))
|
||||
|
||||
(define* (operating-system-with-simple-provenance
|
||||
os
|
||||
#:optional
|
||||
(config-file
|
||||
(operating-system-configuration-file
|
||||
os)))
|
||||
"Return a variant of OS that stores its CONFIG-FILE. This is similar to
|
||||
`operating-system-with-provenance`, but it does copy only the
|
||||
configuration.scm."
|
||||
(operating-system
|
||||
(inherit os)
|
||||
(services (cons (service simple-provenance-service-type config-file)
|
||||
(operating-system-user-services os)))))
|
||||
|
||||
(define (guix-package-commit guix)
|
||||
;; Extract the commit of the GUIX package.
|
||||
(match (package-source guix)
|
||||
((? channel? source)
|
||||
(channel-commit source))
|
||||
(_
|
||||
(apply (lambda* (#:key commit #:allow-other-keys) commit)
|
||||
(package-arguments guix)))))
|
||||
|
||||
;; NOTE: Normally, we would use (current-guix), along with url
|
||||
;; overriden to the upstream repository to not leak our local checkout.
|
||||
;; But currently, the (current-guix) derivation has to be computed through
|
||||
;; QEMU for systems other than your host system. This takes a lot of time,
|
||||
;; it takes at least half an hour to get the derivations.
|
||||
(define (guix-package/with-commit guix commit)
|
||||
"Use the guix from (gnu packages package-management),
|
||||
but override its commit to the specified version. Make sure
|
||||
to also override the channel commit to have the correct
|
||||
provenance."
|
||||
(let ((scm-version (car (string-split (package-version guix) #\-))))
|
||||
(package
|
||||
(inherit guix)
|
||||
(version (string-append scm-version "." (string-take commit 7)))
|
||||
(source (git-checkout
|
||||
(url (channel-url %default-guix-channel))
|
||||
(commit commit)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guix)
|
||||
((#:configure-flags flags '())
|
||||
#~(cons*
|
||||
(string-append "--with-channel-commit=" #$commit)
|
||||
(filter (lambda (flag)
|
||||
(not (string-prefix? "--with-channel-commit=" flag)))
|
||||
#$flags))))))))
|
||||
|
||||
(define guix-for-images
|
||||
(mlambda (system)
|
||||
(cond
|
||||
;; For testing purposes, use the guix package directly.
|
||||
(%use-snapshot-package? guix)
|
||||
;; Normally, update the guix package to current commit.
|
||||
(else
|
||||
(guix-package/with-commit guix (guix-package-commit (current-guix)))))))
|
||||
|
||||
(define %binary-tarball-compression "xz")
|
||||
|
||||
;; Like guix pack -C xz -s --localstatedir --profile-name=current-guix guix
|
||||
(define* (binary-tarball-for-system system #:key (extra-packages '()))
|
||||
(let* ((base-name (string-append "guix-binary-" (%guix-version) "." system))
|
||||
(manifest (packages->manifest (cons* guix extra-packages)))
|
||||
(profile (profile (content manifest)))
|
||||
(inputs `(("profile" ,profile)))
|
||||
(compression %binary-tarball-compression))
|
||||
(manifest-entry
|
||||
(name (string-append base-name ".tar." compression))
|
||||
(version (%guix-version))
|
||||
(item (monadic->declarative
|
||||
(self-contained-tarball
|
||||
base-name profile
|
||||
#:profile-name "current-guix"
|
||||
#:compressor (lookup-compressor compression)
|
||||
#:localstatedir? #t))))))
|
||||
|
||||
;; Like guix system image -t iso9660 \
|
||||
;; --label="GUIX_$${system}_$(VERSION)" gnu/system/install.scm
|
||||
(define* (iso-for-system system)
|
||||
(let* ((name (string-append
|
||||
"guix-system-install-" (%guix-version) "." system ".iso"))
|
||||
(base-os (make-installation-os
|
||||
#:grub-displayed-version (%guix-version)
|
||||
#:efi-only? (string=? system "aarch64-linux")))
|
||||
(base-image (os->image base-os #:type iso-image-type))
|
||||
(label (string-append "GUIX_" system "_"
|
||||
(if (> (string-length (%guix-version)) 7)
|
||||
(string-take (%guix-version) 7)
|
||||
(%guix-version)))))
|
||||
(manifest-entry
|
||||
(name name)
|
||||
(version (%guix-version))
|
||||
(item (system-image
|
||||
(image-with-label
|
||||
(image
|
||||
(inherit base-image)
|
||||
(name (string->symbol name)))
|
||||
label))))))
|
||||
|
||||
;; Like guix system image -t qcow2 gnu/system/examples/vm-image.tmpl
|
||||
(define* (qcow2-for-system system)
|
||||
(let* ((name (string-append
|
||||
"guix-system-vm-image-" (%guix-version) "." system ".qcow2"))
|
||||
(base-os-path
|
||||
(if (qcow2-gpt-for-system? system)
|
||||
(%vm-image-efi-path)
|
||||
(%vm-image-path)))
|
||||
(target-image-type
|
||||
(if (qcow2-gpt-for-system? system)
|
||||
qcow2-gpt-image-type
|
||||
qcow2-image-type))
|
||||
(base-os
|
||||
(operating-system-with-/etc/config.scm
|
||||
(operating-system-with-simple-provenance
|
||||
(load base-os-path) base-os-path)))
|
||||
(base-image (os->image base-os #:type target-image-type)))
|
||||
(manifest-entry
|
||||
(name name)
|
||||
(version (%guix-version))
|
||||
(item (system-image
|
||||
(image
|
||||
(inherit base-image)
|
||||
(volatile-root? #f)
|
||||
(name (string->symbol name))))))))
|
||||
|
||||
(define* (guix-source-tarball)
|
||||
(let ((guix (package
|
||||
(inherit guix)
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs guix)
|
||||
;; graphviz-minimal -> graphviz
|
||||
(replace "graphviz" graphviz)
|
||||
(append imagemagick)
|
||||
(append perl))))))
|
||||
(manifest-entry
|
||||
(name (string-append "guix-" (%guix-version) ".tar.gz"))
|
||||
(version (package-version guix))
|
||||
(item (dist-package
|
||||
guix
|
||||
;; Guix is built from git source, not from tarball.
|
||||
;; So it's fine to use its source directly.
|
||||
(package-source guix))))))
|
||||
|
||||
(define* (manifest-entry-with-parameters system entry
|
||||
#:key
|
||||
(guix-for-images-proc guix-for-images))
|
||||
(manifest-entry
|
||||
(inherit entry)
|
||||
(item
|
||||
(with-parameters
|
||||
((%current-system system)
|
||||
(%current-target-system #f)
|
||||
(current-guix-package (guix-for-images-proc system)))
|
||||
(manifest-entry-item entry)))))
|
||||
|
||||
(define* (manifest-with-parameters system manifest
|
||||
#:key
|
||||
(guix-for-images-proc guix-for-images))
|
||||
"Returns entries in the manifest accompanied with %current-system,
|
||||
%current-target-sytem and current-guix-package parameters."
|
||||
(make-manifest
|
||||
(map (cut manifest-entry-with-parameters system <>
|
||||
#:guix-for-images-proc guix-for-images-proc)
|
||||
(manifest-entries manifest))))
|
||||
|
||||
(define (artifacts-for-system/nonparameterized system)
|
||||
"Get all artifacts for given system. This will always include the
|
||||
guix-binary tarball and optionally iso and/or qcow2 images."
|
||||
(manifest
|
||||
(append
|
||||
(list
|
||||
(binary-tarball-for-system system))
|
||||
;; TODO: After source tarball generation is ready, uncomment.
|
||||
;; (if (source-tarball-for-system? system)
|
||||
;; (list (guix-source-tarball))
|
||||
;; '())
|
||||
(if (iso-for-system? system)
|
||||
(list (iso-for-system system))
|
||||
'())
|
||||
(if (qcow2-for-system? system)
|
||||
(list (qcow2-for-system system))
|
||||
'()))))
|
||||
|
||||
(define* (artifacts-for-system system
|
||||
#:key
|
||||
(guix-for-images-proc guix-for-images))
|
||||
"Collects all artifacts for a system. Gives them the proper %current-system
|
||||
and %current-target-system parameters, so the --system passed on CLI is
|
||||
irrelevant."
|
||||
;; NOTE: parameterizing current system, because the tarball seems to somehow
|
||||
;; depend on it early on. I haven't investigated it, but seems like a bug. Could
|
||||
;; it be the gexp->derivation + monadic->declarative, not passing down the
|
||||
;; system? Symptom: guix build --system=x86_64 -m artifacts-manifest.scm and
|
||||
;; guix build --system=i686-linux -m artifacts-manifest.scm gives out different
|
||||
;; results without the parameterization.
|
||||
(parameterize
|
||||
((%current-system system)
|
||||
(%current-target-system #f)
|
||||
(current-guix-package (guix-for-images-proc system)))
|
||||
(manifest-with-parameters
|
||||
system
|
||||
(artifacts-for-system/nonparameterized system)
|
||||
#:guix-for-images-proc guix-for-images-proc)))
|
||||
|
||||
(define (manifest->union manifest)
|
||||
"Makes a union that will be a folder with all the entries symlinked. This
|
||||
is different from a profile as it expects the entries are just simple files
|
||||
and symlinks them by their manifest-entry-name."
|
||||
(let ((entries (manifest-entries manifest)))
|
||||
(computed-file
|
||||
"artifacts-union"
|
||||
(with-imported-modules '((guix build union)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(mkdir-p #$output)
|
||||
|
||||
(for-each
|
||||
(lambda* (entry)
|
||||
(symlink (cdr entry)
|
||||
(string-append #$output "/" (car entry))))
|
||||
(list #$@(map (lambda (entry)
|
||||
#~(cons
|
||||
#$(manifest-entry-name entry)
|
||||
#$(manifest-entry-item entry)))
|
||||
entries))))))))
|
||||
|
||||
(define %supported-systems
|
||||
(or (and
|
||||
(getenv "SUPPORTED_SYSTEMS")
|
||||
(string-split (getenv "SUPPORTED_SYSTEMS") #\ ))
|
||||
'("x86_64-linux" "i686-linux"
|
||||
"armhf-linux" "aarch64-linux"
|
||||
"powerpc64le-linux" "riscv64-linux")))
|
||||
|
||||
(define supported-systems-union-manifest
|
||||
(concatenate-manifests
|
||||
(map artifacts-for-system
|
||||
%supported-systems)))
|
||||
|
||||
(when %use-snapshot-package?
|
||||
(warning (G_ "building images using the 'guix' package (snapshot)~%")))
|
||||
(info (G_ "producing artifacts for the following systems: ~a~%")
|
||||
%supported-systems)
|
||||
supported-systems-union-manifest
|
||||
26
etc/teams/release/artifacts.scm
Normal file
26
etc/teams/release/artifacts.scm
Normal file
@@ -0,0 +1,26 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;;
|
||||
;;; 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/>.
|
||||
|
||||
;;; Produce a single directory with all the artifacts inside of it, with proper
|
||||
;;; names. They can then be easily copied to releasedir in Makefile. The files are
|
||||
;;; symlinked to save space, but they should be copied out of the store as regular
|
||||
;;; files.
|
||||
|
||||
(load "artifacts-manifest.scm")
|
||||
|
||||
(manifest->union
|
||||
supported-systems-union-manifest)
|
||||
@@ -359,7 +359,7 @@ to it atomically and set the appropriate permissions."
|
||||
(left unused-subid-range-left ;previous unused subuid range or #f
|
||||
(default #f))
|
||||
(min unused-subid-range-min ;lower bound of this unused subuid range
|
||||
(default %subordinate-id-min))
|
||||
(default 0))
|
||||
(max unused-subid-range-max ;upper bound
|
||||
(default %subordinate-id-max))
|
||||
(right unused-subid-range-right ;next unused subuid range or #f
|
||||
@@ -555,7 +555,10 @@ will be marked as used in it."
|
||||
(define actual-range
|
||||
(subid-range
|
||||
(inherit range)
|
||||
(start allocation-start)))
|
||||
;; New IDs are only allocated between %subordinate-id-min and
|
||||
;; %subordinate-id-max.
|
||||
(start
|
||||
(max allocation-start %subordinate-id-min))))
|
||||
|
||||
(if (within-interval? allocation actual-range)
|
||||
(values
|
||||
@@ -603,13 +606,6 @@ is visited to find the best unused range that can hold RANGE."
|
||||
(define range-end
|
||||
(subid-range-end range))
|
||||
|
||||
(unless (and (subordinate-id? range-start)
|
||||
(subordinate-id? range-end))
|
||||
(raise
|
||||
(condition
|
||||
(&invalid-subid-range-error
|
||||
(range range)))))
|
||||
|
||||
(define less?
|
||||
(< range-end allocation-start))
|
||||
(define more?
|
||||
@@ -802,12 +798,23 @@ new UIDs."
|
||||
(define* (allocate-subids ranges #:optional (current-ranges '()))
|
||||
"Return a list of subids entries for RANGES, a list of <subid-range>. IDs
|
||||
found in CURRENT-RANGES, a list of subid entries, are reused."
|
||||
;; Ranges from disk must always have a start.
|
||||
(let ((generic (any (compose not subid-range-has-start?) current-ranges)))
|
||||
(when generic
|
||||
(raise
|
||||
(condition
|
||||
(&specific-subid-range-expected-error
|
||||
(range generic))))))
|
||||
(for-each
|
||||
(lambda (range)
|
||||
;; New ranges must always be included in the current supported set.
|
||||
(unless (or (not (subid-range-has-start? range))
|
||||
(and (subordinate-id? (subid-range-start range))
|
||||
(subordinate-id? (subid-range-end range))))
|
||||
(raise
|
||||
(condition (&invalid-subid-range-error (range range))))))
|
||||
ranges)
|
||||
|
||||
(define sorted-ranges
|
||||
(stable-sort ranges
|
||||
subid-range-less))
|
||||
|
||||
@@ -321,13 +321,18 @@ EINVAL, ELOOP, etc."
|
||||
;; convention to be followed.
|
||||
(source (canonicalize-path* (string-append etc "/" file))))
|
||||
(rm-f target)
|
||||
(if (string=? (basename target) "sudoers")
|
||||
(begin
|
||||
;; /etc/sudoers must be a regular file.
|
||||
(copy-file source target)
|
||||
;; XXX: dirty hack to meet sudo's expectations
|
||||
(chmod target #o440))
|
||||
(symlink source target)))) ;usual case
|
||||
(cond ((string=? (basename target) "sudoers")
|
||||
(begin
|
||||
;; /etc/sudoers must be a regular file.
|
||||
(copy-file source target)
|
||||
;; XXX: dirty hack to meet sudo's expectations
|
||||
(chmod target #o440)))
|
||||
((string=? (basename target) "hosts")
|
||||
;; /etc/hosts must be a regular file, as some software
|
||||
;; like vpn-slice expect to be able to write to it.
|
||||
(copy-file source target))
|
||||
(else ;usual case
|
||||
(symlink source target)))))
|
||||
(scandir etc (negate dot-or-dot-dot?)
|
||||
;; The default is 'string-locale<?', but we don't have
|
||||
;; it when run from the initrd's statically-linked
|
||||
|
||||
@@ -428,7 +428,11 @@ GRUB configuration and OS-DRV as the stuff in it."
|
||||
"-not" "-wholename" "/System/*"
|
||||
"-not" "-name" "unicode.pf2"
|
||||
"-not" "-name" "bzImage"
|
||||
"-not" "-name" "*.gz" ; initrd & all man pages
|
||||
"-not" "-name" "zImage"
|
||||
"-not" "-name" "Image"
|
||||
"-not" "-name" "vmlinuz"
|
||||
"-not" "-name" "*.gz" ; initrd
|
||||
"-not" "-name" "*.zst" ; all man pages
|
||||
"-not" "-name" "*.png" ; includes grub-image.png
|
||||
"-exec" "set_filter" "--zisofs"
|
||||
"--")
|
||||
|
||||
@@ -367,14 +367,13 @@ purposes."
|
||||
'unknown)
|
||||
((channels ...)
|
||||
(map (lambda (channel)
|
||||
(let* ((uri (string->uri (channel-url channel)))
|
||||
(url (if (or (not uri) (eq? 'file (uri-scheme uri)))
|
||||
"local checkout"
|
||||
(channel-url channel))))
|
||||
`(channel ,(channel-name channel) ,url ,(channel-commit channel))))
|
||||
;; NOTE: URL is not logged to synchronize the derivations
|
||||
;; coming out of pre-inst-env, time-machine and Cuirass
|
||||
;; for generating release artifacts.
|
||||
`(channel ,(channel-name channel) ,(channel-commit channel)))
|
||||
channels))))
|
||||
|
||||
(define* (installer-program #:key dry-run?)
|
||||
(define* (installer-program #:key dry-run? (guix-for-installer (current-guix)))
|
||||
"Return a file-like object that runs the given INSTALLER."
|
||||
(define init-gettext
|
||||
;; Initialize gettext support, so that installer messages can be
|
||||
@@ -423,7 +422,7 @@ purposes."
|
||||
guile-gnutls
|
||||
guile-zlib ;for (gnu build linux-modules)
|
||||
guile-zstd ;for (gnu build linux-modules)
|
||||
(current-guix))
|
||||
guix-for-installer)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
`(,@modules
|
||||
(gnu services herd)
|
||||
|
||||
20
gnu/local.mk
20
gnu/local.mk
@@ -73,6 +73,7 @@
|
||||
# Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
|
||||
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
|
||||
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -357,6 +358,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/gxmessage.scm \
|
||||
%D%/packages/hardware.scm \
|
||||
%D%/packages/hare.scm \
|
||||
%D%/packages/hare-apps.scm \
|
||||
%D%/packages/hare-xyz.scm \
|
||||
%D%/packages/haskell.scm \
|
||||
%D%/packages/haskell-apps.scm \
|
||||
@@ -695,7 +697,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/vpn.scm \
|
||||
%D%/packages/vulkan.scm \
|
||||
%D%/packages/w3m.scm \
|
||||
%D%/packages/wdiff.scm \
|
||||
%D%/packages/weather.scm \
|
||||
%D%/packages/web.scm \
|
||||
%D%/packages/web-browsers.scm \
|
||||
@@ -1143,6 +1144,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/clucene-contribs-lib.patch \
|
||||
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
|
||||
%D%/packages/patches/ctranslate2-local-build.patch \
|
||||
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
|
||||
%D%/packages/patches/cube-nocheck.patch \
|
||||
%D%/packages/patches/cups-relax-root-ownership-check.patch \
|
||||
%D%/packages/patches/cura-engine-gcc-14.patch \
|
||||
@@ -1199,6 +1201,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/duc-fix-test-sh.patch \
|
||||
%D%/packages/patches/dune-common-skip-failing-tests.patch \
|
||||
%D%/packages/patches/durden-shadow-arcan.patch \
|
||||
%D%/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch \
|
||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||
%D%/packages/patches/dwarves-threading-reproducibility.patch \
|
||||
%D%/packages/patches/efivar-fix-fprint-format.patch \
|
||||
@@ -1592,6 +1595,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/hurd-refcounts-assert.patch \
|
||||
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
|
||||
%D%/packages/patches/hurd-startup.patch \
|
||||
%D%/packages/patches/hurd-proc-zombies.patch \
|
||||
%D%/packages/patches/hwloc-1-test-btrfs.patch \
|
||||
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
|
||||
%D%/packages/patches/i7z-gcc-10.patch \
|
||||
@@ -1876,8 +1880,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mpc123-initialize-ao.patch \
|
||||
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
|
||||
%D%/packages/patches/mpg321-gcc-10.patch \
|
||||
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
|
||||
%D%/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch \
|
||||
%D%/packages/patches/modglue-fix-build.patch \
|
||||
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
|
||||
%D%/packages/patches/module-init-tools-moduledir.patch \
|
||||
@@ -2048,6 +2050,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-clarabel-blas.patch \
|
||||
%D%/packages/patches/python-docrepr-fix-tests.patch \
|
||||
%D%/packages/patches/python-feedparser-missing-import.patch \
|
||||
%D%/packages/patches/python-gpg-setup-72.patch \
|
||||
%D%/packages/patches/python-hdmedians-replace-nose.patch \
|
||||
%D%/packages/patches/python-louvain-fix-test.patch \
|
||||
%D%/packages/patches/python-matplotlib-fix-legend-loc-best-test.patch \
|
||||
@@ -2072,6 +2075,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
|
||||
%D%/packages/patches/qtwebengine-revert-egl.patch \
|
||||
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
|
||||
%D%/packages/patches/qxlsx-fix-include-directory.patch \
|
||||
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
|
||||
@@ -2210,19 +2214,20 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
|
||||
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
|
||||
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
|
||||
%D%/packages/patches/qtbase-patch-libvulkan.patch \
|
||||
%D%/packages/patches/qtbase-qmake-use-libname.patch \
|
||||
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
|
||||
%D%/packages/patches/quilt-grep-compat.patch \
|
||||
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
|
||||
%D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \
|
||||
%D%/packages/patches/qtwayland-cleanup-callbacks.patch \
|
||||
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
|
||||
%D%/packages/patches/qtwebengine-fix-dependencies.patch \
|
||||
%D%/packages/patches/qtwebsockets-6.9-fix-tst_QWebSocket.patch\
|
||||
%D%/packages/patches/rabbitmq-defaults.patch \
|
||||
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-qjs.patch \
|
||||
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-sdb.patch \
|
||||
%D%/packages/patches/ragel-char-signedness.patch \
|
||||
%D%/packages/patches/randomjungle-disable-static-build.patch \
|
||||
%D%/packages/patches/rapidcheck-fix-libs.patch \
|
||||
@@ -2250,6 +2255,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/remake-impure-dirs.patch \
|
||||
%D%/packages/patches/restartd-update-robust.patch \
|
||||
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
|
||||
%D%/packages/patches/rlwrap-no-rbgen.patch \
|
||||
%D%/packages/patches/rng-tools-revert-build-randstat.patch \
|
||||
%D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \
|
||||
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
|
||||
@@ -2276,7 +2282,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
|
||||
%D%/packages/patches/s7-flint-3.patch \
|
||||
%D%/packages/patches/safeint-disable-tests.patch \
|
||||
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
|
||||
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
|
||||
%D%/packages/patches/sajson-build-with-gcc10.patch \
|
||||
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
|
||||
@@ -2476,15 +2481,16 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/wmctrl-64-fix.patch \
|
||||
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
|
||||
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
|
||||
%D%/packages/patches/woof-doom-unbundle-spng-miniz.patch \
|
||||
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
|
||||
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
|
||||
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
|
||||
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
|
||||
%D%/packages/patches/x2goclient-fix-makefile.patch \
|
||||
%D%/packages/patches/x265-arm-flags.patch \
|
||||
%D%/packages/patches/x265-4-arm-flags.patch \
|
||||
%D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\
|
||||
%D%/packages/patches/xdg-desktop-portal-disable-configuration-search-exit.patch\
|
||||
%D%/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch\
|
||||
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
|
||||
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
|
||||
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
|
||||
|
||||
@@ -30,10 +30,13 @@
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix utils))
|
||||
|
||||
@@ -95,33 +98,28 @@
|
||||
(define-public python-pylibacl
|
||||
(package
|
||||
(name "python-pylibacl")
|
||||
(version "0.6.0")
|
||||
(version "0.7.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pylibacl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zyrk2m20p5b6bdwxhrwib273i6i71zyr5hzssbxfqis5qra9848"))))
|
||||
(build-system python-build-system)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pylibacl" version))
|
||||
(sha256
|
||||
(base32 "08pr5cbipij3j591bihh72r5h14lyrspy24qwmfjsn0c1rcgp7wx"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-tests
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
;; These tests operate on real files, but our tmpfs does not support
|
||||
;; ACLs.
|
||||
(substitute* "tests/test_acls.py"
|
||||
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
|
||||
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
|
||||
match)))))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "tests")))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-tests
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
;; These tests operate on real files, but our tmpfs does not support
|
||||
;; ACLs.
|
||||
(substitute* "tests/test_acls.py"
|
||||
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
|
||||
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
|
||||
match))))))))
|
||||
(inputs (list acl))
|
||||
(native-inputs (list python-pytest))
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(home-page "https://pylibacl.k1024.org/")
|
||||
(synopsis "POSIX.1e @acronym{ACLs, access control lists} for Python")
|
||||
(description
|
||||
|
||||
@@ -605,15 +605,35 @@ interface and is based on GNU Guile.")
|
||||
(base32
|
||||
"1mh080060lnycys8yq6kkiy363wif8dsip3nyklgd3a1r22wb274"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments shepherd-0.10)
|
||||
((#:configure-flags flags #~'())
|
||||
#~(list "--localstatedir=/var"
|
||||
|
||||
;; Gzip and zstd are used by the log rotation service.
|
||||
(string-append "--with-gzip=" #$(this-package-input "gzip")
|
||||
"/bin/gzip")
|
||||
(string-append "--with-zstd=" #$(this-package-input "zstd")
|
||||
"/bin/zstd")))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "--localstatedir=/var"
|
||||
;; Gzip and zstd are used by the log rotation service.
|
||||
(string-append "--with-gzip=" #$(this-package-input "gzip")
|
||||
"/bin/gzip")
|
||||
(string-append "--with-zstd=" #$(this-package-input "zstd")
|
||||
"/bin/zstd"))
|
||||
#:make-flags #~'("GUILE_AUTO_COMPILE=0")
|
||||
#:phases (if (%current-target-system)
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-fibers-directory
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; When cross-compiling, refer to the target
|
||||
;; Fibers, not the native one.
|
||||
(let ((fibers
|
||||
(search-input-file
|
||||
inputs
|
||||
"share/guile/site/3.0/fibers.scm"))
|
||||
(fibers-go
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/guile/3.0/site-ccache/fibers.go")))
|
||||
(substitute* '("herd.in" "shepherd.in")
|
||||
(("%FIBERS_SOURCE_DIRECTORY%")
|
||||
(dirname fibers))
|
||||
(("%FIBERS_OBJECT_DIRECTORY%")
|
||||
(dirname fibers-go)))))))
|
||||
#~%standard-phases)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs shepherd-0.10)
|
||||
(replace "guile-fibers"
|
||||
@@ -3353,7 +3373,17 @@ provides the following commands:
|
||||
(uri (pypi-uri "ansible" version))
|
||||
(sha256
|
||||
(base32 "0apj783acx4jzkf3bnibn4y5jc6jd8ly7l0rdqq8f1jpgxal933x"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; XXX: All tests errored with:
|
||||
;; from ...common.utils import (
|
||||
;; E ImportError: attempted relative import with no known parent package
|
||||
;;
|
||||
;; tests: 17 skipped, 1 warning, 1132 errors
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(propagated-inputs (list ansible-core))
|
||||
;; The Ansible collections are found by ansible-core via the Python search
|
||||
;; path; the following search path ensures that they are found even when
|
||||
|
||||
@@ -300,6 +300,38 @@ barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
|
||||
C/C++ programs to use its capabilities without restrictions or overhead.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public dmtx-utils
|
||||
(package
|
||||
(name "dmtx-utils")
|
||||
(version "0.7.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dmtx/dmtx-utils/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
"06m3qncqdlcnmw83n95yrx2alaq6bld320ax26z4ndnla41yk0p4")))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf automake libtool pkg-config))
|
||||
(inputs (list libdmtx imagemagick libjpeg-turbo))
|
||||
(home-page "https://github.com/dmtx/dmtx-utils/")
|
||||
(synopsis "Utilities for working with Data Matrix barcodes")
|
||||
(description
|
||||
"libdmtx is a software library that enables programs to read and write Data
|
||||
Matrix barcodes of the modern ECC200 variety. This package, dmtx-utils,
|
||||
provides command line utilities that allow scripts and command line users to
|
||||
use libdmtx functionality.
|
||||
|
||||
This package includes the following programs:
|
||||
@enumerate
|
||||
@item @code{dmtxquery}: Extract information from dmtxread output.
|
||||
@item @code{dmtxread}: Scan Data Matrix barcodes.
|
||||
@item @code{dmtxwrite}: Create Data Matrix barcodes.
|
||||
@end enumerate")
|
||||
(license (list license:lgpl2.1 license:gpl2))))
|
||||
|
||||
;; XXX: qt variant utils are broken: zbarcam-qt fails with segmentation fault.
|
||||
(define-public zbar
|
||||
(package
|
||||
|
||||
@@ -498,25 +498,20 @@ or text interfaces) or as a C++ library.")
|
||||
(define-public flint
|
||||
(package
|
||||
(name "flint")
|
||||
(version "3.2.1")
|
||||
(version "3.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flintlib.org/download/flint-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0gyjbkhwrmx2vgb1gailnmmzacl4aikzgi70dzmpf8lpfxny8yya"))))
|
||||
(base32 "0csa8n7d4l3mh892q36nhiv1r7bkb168vszz79p95bfy0jc6g5wl"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list ntl))
|
||||
(propagated-inputs
|
||||
(list gmp mpfr)) ; header files included by flint.h or mpfr_mat.h
|
||||
(arguments
|
||||
;; Parallel tests failed in the past on ARM, this may need to be
|
||||
;; tested again.
|
||||
`(#:parallel-tests? #f
|
||||
;; Prevent build machine specifics from ending up in the binary.
|
||||
#:configure-flags '("--disable-assembly")))
|
||||
'(#:configure-flags '("--disable-assembly")))
|
||||
(synopsis "Fast library for number theory")
|
||||
(description
|
||||
"FLINT is a C library for number theory. It supports arithmetic
|
||||
@@ -534,6 +529,18 @@ fast arithmetic.")
|
||||
(properties
|
||||
'((release-monitoring-url . "http://flintlib.org/downloads.html")))))
|
||||
|
||||
(define-public flint-3.3
|
||||
(package
|
||||
(inherit flint)
|
||||
(version "3.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flintlib.org/download/flint-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1yzasdcv90f6w926p9g92cli2daxvb0mh2s1w1qskkvn618hxmv4"))))))
|
||||
|
||||
(define-public python-flint
|
||||
(package
|
||||
(name "python-flint")
|
||||
@@ -558,7 +565,7 @@ fast arithmetic.")
|
||||
python-pytest))
|
||||
(inputs
|
||||
(list gmp
|
||||
flint))
|
||||
flint-3.3))
|
||||
(propagated-inputs
|
||||
(list python-numpy))
|
||||
(home-page "https://fredrikj.net/python-flint/")
|
||||
@@ -620,7 +627,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
||||
(define-public singular
|
||||
(package
|
||||
(name "singular")
|
||||
(version "4.4.1")
|
||||
(version "4.4.1p5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -636,7 +643,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
||||
"/singular-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16xlhar1krlskh9gxbw1gw4qi8248c95w71vzxdw72avs2pblkva"))))
|
||||
"1pwygpmhf4sddf1v5x5fr1kbbkb29wlfd5yyj7lryvhbs45s9rdw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1306,50 +1306,58 @@ emulator inside the comfort of Emacs.")
|
||||
(package
|
||||
(name "enjarify")
|
||||
(version "1.0.3")
|
||||
(home-page "https://github.com/Storyyeller/enjarify")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "enjarify-setup-py.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
|
||||
(build-system python-build-system)
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Storyyeller/enjarify")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "enjarify-setup-py.patch"))
|
||||
(sha256
|
||||
(base32 "1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'fixup-expected-test-results
|
||||
;; Upstream adjusted this test in commit:
|
||||
;; 3ae884a6485af82d300515813f537685b08dd800
|
||||
(lambda _
|
||||
(substitute* "tests/test2/expected.txt"
|
||||
(("^20") "0"))
|
||||
#t))
|
||||
(add-before 'check 'drop-java-xss-argument
|
||||
;; Upstream removed this argument in order to support 32-bit
|
||||
;; architectures. commit: 4be0111d879aa95fdc0d9f24fe529f8c664d4093
|
||||
(lambda _
|
||||
(substitute* "enjarify/runtests.py"
|
||||
(("java -Xss515m") "java "))
|
||||
#t))
|
||||
(add-after 'install 'install-enjarify-wrapper
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/bin/"))
|
||||
(copy-file "enjarify.sh" (string-append out "/bin/enjarify"))
|
||||
#t))))))
|
||||
(native-inputs (list openjdk12))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda _
|
||||
(substitute* "enjarify/runtests.py"
|
||||
(("from \\.main") "from enjarify.main")
|
||||
(("from \\.jvm") "from enjarify.jvm"))
|
||||
;; Upstream adjusted this test in commit:
|
||||
;; 3ae884a6485af82d300515813f537685b08dd800
|
||||
(substitute* "tests/test2/expected.txt"
|
||||
(("^20") "0"))
|
||||
;; Upstream removed this argument in order to support 32-bit
|
||||
;; architectures. commit:
|
||||
;; 4be0111d879aa95fdc0d9f24fe529f8c664d4093
|
||||
(substitute* "enjarify/runtests.py"
|
||||
(("java -Xss515m") "java "))))
|
||||
(add-after 'install 'install-enjarify-wrapper
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin")))
|
||||
(install-file "enjarify.sh" bin)
|
||||
(symlink (string-append bin "/enjarify.sh")
|
||||
(string-append bin "/enjarify")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "-m" "enjarify.runtests")))))))
|
||||
(native-inputs
|
||||
(list openjdk12
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/Storyyeller/enjarify")
|
||||
(synopsis "Translate Dalvik bytecode to equivalent Java bytecode")
|
||||
(description "Android applications are Java programs that run on a
|
||||
customized virtual machine, which is part of the Android operating system, the
|
||||
Dalvik VM. Their bytecode differs from the bytecode of normal Java
|
||||
applications. Enjarify can translate the Dalvik bytecode back to equivalent
|
||||
Java bytecode, which simplifies the analysis of Android applications.")
|
||||
(description
|
||||
"Android applications are Java programs that run on a customized virtual
|
||||
machine, which is part of the Android operating system, the Dalvik VM. Their
|
||||
bytecode differs from the bytecode of normal Java applications. Enjarify can
|
||||
translate the Dalvik bytecode back to equivalent Java bytecode, which
|
||||
simplifies the analysis of Android applications. It's an alternative fork of
|
||||
not maintained Goole's project https://github.com/google/enjarify.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public android-file-transfer
|
||||
|
||||
@@ -5043,6 +5043,9 @@ astronomy-specific functionality")
|
||||
(sha256
|
||||
(base32 "062l4bhh1dvsazrlnjc4kr3qj9g3s8qmcs0kqb1libiimy6rdbkk"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; XXX: This test is flaky, it can fail if the CI system is slow.
|
||||
(list #:test-flags #~(list "-k" "not test_combine_slices_hypot")))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-mpl
|
||||
|
||||
@@ -1224,7 +1224,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(define-public audacity
|
||||
(package
|
||||
(name "audacity")
|
||||
(version "3.7.4")
|
||||
(version "3.7.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1233,7 +1233,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(commit (string-append "Audacity-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "184hak52p00qid0i581gky7076fl5rjxwqly0fw7ix8yi6j8li4h"))
|
||||
(base32 "0h2xdhbx6bjhlk2mxqalpbpzjcdj0sb8wf1rp3vj0fbgvxy1y92k"))
|
||||
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
@@ -4654,21 +4654,21 @@ tempo and pitch of an audio recording independently of one another.")
|
||||
(define-public rtmidi
|
||||
(package
|
||||
(name "rtmidi")
|
||||
(version "5.0.0")
|
||||
(version "6.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
|
||||
(uri (string-append "https://caml.music.mcgill.ca/~gary/rtmidi"
|
||||
"/release/rtmidi-" version ".tar.gz"))
|
||||
(file-name (string-append "rtmidi-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8"))))
|
||||
"0nyvck6qlncbfpplgxspjk77fmi05w78ik0cf8039hj29gvcqq2r"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list alsa-lib jack-2))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
(home-page "https://www.music.mcgill.ca/~gary/rtmidi")
|
||||
(home-page "https://caml.music.mcgill.ca/~gary/rtmidi")
|
||||
(synopsis "Cross-platform MIDI library for C++")
|
||||
(description
|
||||
"RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
|
||||
@@ -6194,6 +6194,41 @@ the following features:
|
||||
")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public normalize
|
||||
(package
|
||||
(name "normalize")
|
||||
(version "0.7.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://download.savannah.gnu.org/releases/normalize/normalize-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-shell-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "test/Makefile.in"
|
||||
(("/bin/sh")
|
||||
(search-input-file inputs "/bin/sh"))))))))
|
||||
(inputs (list libmad))
|
||||
(home-page "https://normalize.nongnu.org/")
|
||||
(synopsis "Audio track volume normalizer")
|
||||
(description
|
||||
"@code{normalize} is an audio track normalizer.
|
||||
For a collection of tracks with varying volumes, it is able to
|
||||
make the loudness consistent between them. This is helpful
|
||||
when making mixtapes, for example.
|
||||
It can work with WAV and MP3 files.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public lv2-speech-denoiser
|
||||
(let ((commit "04cfba929630404f8d4f4ca5bac8d9b09a99152f")
|
||||
(revision "1"))
|
||||
|
||||
@@ -574,13 +574,13 @@ rsnapshot uses hard links to deduplicate identical files.")
|
||||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.4.1")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32 "0f9qj05i02aj17lhk97fqyknb1jx3h9xr8d569mhp44xq7qziyxq"))
|
||||
(base32 "07s4jqcv03s98hi6lvqpvmnnhl532qnvv11mjy2xc08rbmsgmfvr"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Delete files generated by Cython. We used to have a regex that
|
||||
@@ -1209,39 +1209,42 @@ compression parameters used by Gzip.")
|
||||
(define-public borgmatic
|
||||
(package
|
||||
(name "borgmatic")
|
||||
(version "2.0.7")
|
||||
(version "2.0.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgmatic" version))
|
||||
;; PyPI archive does not contain NEWS file needed for one test.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://projects.torsion.org/borgmatic-collective/borgmatic")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01l44ny2zyn7x1hhbvhhhwr12jipcjxl3j1cz13kf6c3bdfwms8y"))))
|
||||
(base32
|
||||
"05w3j4knhsg4w0a0yrz8c7lvz3vp3nf95ddmql9i8mqknjqddm1v"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; XXX: all tests fail with error: AttributeError: module
|
||||
;; '_pytest.runner' has no attribute 'call_runtest_hook'.
|
||||
#:tests? #f
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Set absolute store path to borg.
|
||||
(substitute* "borgmatic/commands/borgmatic.py"
|
||||
(("\\.get\\('local_path', 'borg'\\)")
|
||||
(string-append ".get('local_path', '"
|
||||
(search-input-file inputs "bin/borg")
|
||||
"')")))
|
||||
(substitute* "tests/unit/commands/test_borgmatic.py"
|
||||
(("(module.get_local_path.+ == )'borg'" all start)
|
||||
(string-append start "'"
|
||||
(search-input-file inputs "bin/borg")
|
||||
"'")))))
|
||||
(add-before 'check 'set-path
|
||||
(lambda _
|
||||
;; Tests require the installed executable.
|
||||
(setenv "PATH"
|
||||
(string-append #$output "/bin" ":"
|
||||
(getenv "PATH"))))))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Set absolute store path to borg.
|
||||
(substitute* "borgmatic/commands/borgmatic.py"
|
||||
(("\\.get\\('local_path', 'borg'\\)")
|
||||
(string-append ".get('local_path', '"
|
||||
(search-input-file inputs "bin/borg")
|
||||
"')")))
|
||||
(substitute* "tests/unit/commands/test_borgmatic.py"
|
||||
(("(module.get_local_path.+ == )'borg'" all start)
|
||||
(string-append start "'"
|
||||
(search-input-file inputs "bin/borg")
|
||||
"'")))))
|
||||
(add-before 'check 'set-path
|
||||
(lambda _
|
||||
;; Tests require the installed executable.
|
||||
(setenv "PATH"
|
||||
(string-append #$output "/bin" ":"
|
||||
(getenv "PATH"))))))))
|
||||
(native-inputs
|
||||
(list python-flexmock
|
||||
python-pytest
|
||||
@@ -1266,7 +1269,7 @@ borgmatic is powered by borg.")
|
||||
(define-public vorta
|
||||
(package
|
||||
(name "vorta")
|
||||
(version "0.10.3")
|
||||
(version "0.11.1")
|
||||
;; The test folder is not included in the PyPI archive.
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -1276,7 +1279,7 @@ borgmatic is powered by borg.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b4042a0lpbmwlmbh5559b2x9vr2055w6jjrs7088n45d7rkn4sn"))))
|
||||
"16r9ch80i6nfngah634id16fqnmn62ayh60j62zxn5cfivcn3wsq"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -6104,7 +6104,7 @@ UCSC genome browser.")
|
||||
(define-public tetoolkit
|
||||
(package
|
||||
(name "tetoolkit")
|
||||
(version "2.2.1b")
|
||||
(version "2.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6113,10 +6113,11 @@ UCSC genome browser.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1m3xsydakhdan9gp9mfdz7llka5g6ak91d0mbl1cmmxq9qs6an4y"))))
|
||||
(base32 "1jgwnm1kmj2mgvc3gib6d73rvyy3l54icjcj2gw0p1ay6kqkzs0p"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
`(#:tests? #f ;no tests
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
@@ -6163,7 +6164,7 @@ UCSC genome browser.")
|
||||
python-pysam
|
||||
r-minimal
|
||||
r-deseq2))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/mhammell-laboratory/TEtranscripts")
|
||||
(synopsis "Transposable elements in differential enrichment analysis")
|
||||
(description
|
||||
@@ -18686,25 +18687,36 @@ cases include:
|
||||
|
||||
(define-public python-mappy
|
||||
(package
|
||||
(name "python-mappy")
|
||||
(version "2.24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mappy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-cython))
|
||||
(inputs
|
||||
(list zlib))
|
||||
(home-page "https://github.com/lh3/minimap2")
|
||||
(synopsis "Python binding for minimap2")
|
||||
(description "This package provides a convenient interface to minimap2,
|
||||
(name "python-mappy")
|
||||
(version "2.24")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lh3/minimap2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0k658659ivxk2xnyawrfqdhcji6a3xcqdr5a9r5myzb2ivypnjmh"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags
|
||||
#~(list "-c" (string-append "import mappy;"
|
||||
" print(mappy.revcomp("
|
||||
"mappy.Aligner('test/MT-human.fa')"
|
||||
".seq('MT_human', 100, 200)))"))))
|
||||
(native-inputs
|
||||
(list python-cython python-setuptools))
|
||||
(inputs
|
||||
(list zlib))
|
||||
(home-page "https://github.com/lh3/minimap2")
|
||||
(synopsis "Python binding for minimap2")
|
||||
(description "This package provides a convenient interface to minimap2,
|
||||
a fast and accurate C program to align genomic and transcribe nucleotide
|
||||
sequences.")
|
||||
(license license:expat)))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public miniasm
|
||||
(package
|
||||
@@ -20100,7 +20112,7 @@ allowing the insertion of arbitrary types into the tree.")
|
||||
(define-public python-pypairix
|
||||
(package
|
||||
(name "python-pypairix")
|
||||
(version "0.3.8")
|
||||
(version "0.3.9")
|
||||
;; The tarball on pypi does not include the makefile to build the
|
||||
;; programs.
|
||||
(source
|
||||
@@ -20113,7 +20125,7 @@ allowing the insertion of arbitrary types into the tree.")
|
||||
(sha256
|
||||
(base32
|
||||
"1jlxj3xa67q1i58pmbi6imhvl6f5w9m5qxv0xd45ba86mp8mnmvz"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
@@ -20129,6 +20141,9 @@ allowing the insertion of arbitrary types into the tree.")
|
||||
(add-after 'install 'install-programs
|
||||
(lambda _
|
||||
(copy-recursively "bin" (string-append #$output "/bin")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list zlib))
|
||||
(home-page "https://github.com/4dn-dcic/pairix")
|
||||
@@ -23902,7 +23917,9 @@ instruments, or Pacific Biosciences RSII or Sequel sequencers.")
|
||||
(sha256
|
||||
(base32
|
||||
"1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools))
|
||||
(arguments (list #:tests? #f)) ;No tests on either PyPI or Git.
|
||||
(inputs
|
||||
(list curl zlib))
|
||||
(propagated-inputs
|
||||
|
||||
@@ -226,7 +226,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
|
||||
(define-public stig
|
||||
(package
|
||||
(name "stig")
|
||||
(version "0.14.0a0")
|
||||
(version "0.14.1a0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -235,7 +235,18 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jfcgncva94pyzjifar1l6wlmb7aylg0l4fxljc83rkbj1a2aan0"))))
|
||||
(base32 "0196brcasdyn0mx3h2cqlgrx8x9fyv2n7bmx13nj58vnf3y4c1hg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;tests require network access
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'loosen-version-restrictions
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("urwidtrees==1.0.3")
|
||||
"urwidtrees>=1.0.3")))))))
|
||||
(propagated-inputs
|
||||
(list python-urwid
|
||||
python-urwidtrees
|
||||
@@ -246,20 +257,12 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
|
||||
python-natsort
|
||||
python-async-timeout
|
||||
python-setproctitle))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;tests require network access
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'loosen-version-restrictions
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("urwidtrees==1.0.3") "urwidtrees>=1.0.3")))))))
|
||||
(inputs (list python))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-setuptools))
|
||||
(synopsis "TUI and CLI for the BitTorrent client Transmission")
|
||||
(description
|
||||
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command Line
|
||||
Interface} client for the BitTorrent client Transmission.")
|
||||
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command
|
||||
Line Interface} client for the BitTorrent client Transmission.")
|
||||
(home-page "https://github.com/rndusr/stig")
|
||||
(license l:gpl3)))
|
||||
|
||||
@@ -537,20 +540,6 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
|
||||
desktops.")
|
||||
(license l:bsd-2)))
|
||||
|
||||
(define-public libtorrent-rasterbar-1.2
|
||||
(package
|
||||
(inherit libtorrent-rasterbar)
|
||||
(version "1.2.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://github.com/arvidn/libtorrent/"
|
||||
"releases/download/v" version "/"
|
||||
"libtorrent-rasterbar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1z5rdynzxcm6wb7v48ssfbwjairbjacb8rjix5fn70fw4668xgyc"))))))
|
||||
|
||||
(define-public qbittorrent
|
||||
(package
|
||||
(name "qbittorrent")
|
||||
|
||||
@@ -159,9 +159,6 @@ core computer science concepts such as abstraction in programming,
|
||||
metalinguistic abstraction, recursion, interpreters, and modular programming.")
|
||||
(license license:cc-by-sa4.0))))
|
||||
|
||||
;; It may be removed after 2025-12-19.
|
||||
(define-deprecated/public-alias sicp book-sicp)
|
||||
|
||||
(define-public book-sparc
|
||||
(package
|
||||
(name "book-sparc")
|
||||
@@ -338,7 +335,7 @@ parallel study, and original language study.")
|
||||
(define-public book-emacs-lisp-elements
|
||||
(package
|
||||
(name "book-emacs-lisp-elements")
|
||||
(version "1.0.0")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -347,7 +344,7 @@ parallel study, and original language study.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fwbj2hrb33blknxd3qrm7jjs2ixrbyc77788i37qvn6v1y741ry"))))
|
||||
(base32 "0w3jxgkynq37rn7c17pnricykqf3gmq4crsvkz2j2g3hc0ydf6qp"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -361,8 +358,8 @@ parallel study, and original language study.")
|
||||
(home-page "https://protesilaos.com/emacs/emacs-lisp-elements")
|
||||
(synopsis "Overview of the Emacs Lisp programming language")
|
||||
(description
|
||||
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing a big
|
||||
picture view of the @acronym{Elisp, Emacs Lisp} programming language by
|
||||
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing
|
||||
a big picture view of the @acronym{Elisp, Emacs Lisp} programming language by
|
||||
combining prose with code. This book aims to provide an idea of how Elisp
|
||||
works by showing some of the main concepts and patterns encountered in
|
||||
everyday Elisp code.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2022 Christopher Rodriguez <yewscion@gmail.com>
|
||||
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
|
||||
;;; © 2025 case_lambda <case_lambda@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -36,77 +37,71 @@
|
||||
#:use-module (gnu packages compression))
|
||||
|
||||
(define-public dbqn
|
||||
(let ((commit "88f2b43966a75cc2c382421218eb30003bb16f4a")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "dbqn")
|
||||
(version (git-version "0.2.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dzaima/BQN")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"06mzvv7kmandhgwb6jwz3rivsj4ic549sy8afnb5zr6mfn5isyg5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `(,@%default-gnu-imported-modules
|
||||
(guix build ant-build-system))
|
||||
#:modules `((guix build gnu-build-system)
|
||||
((guix build ant-build-system)
|
||||
#:prefix ant:)
|
||||
(guix build utils))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* _
|
||||
(invoke "./build")
|
||||
(chmod "./BQN" #o755)))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(system "./BQN ./test/test"))))
|
||||
(add-after 'install 'reorder-jar-content
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(apply (assoc-ref ant:%standard-phases
|
||||
'reorder-jar-content)
|
||||
#:outputs (list outputs))))
|
||||
(add-after 'reorder-jar-content 'jar-indices
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(apply (assoc-ref ant:%standard-phases
|
||||
'generate-jar-indices)
|
||||
#:outputs (list outputs))))
|
||||
(add-after 'jar-indices 'fix-jar-timestamps
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(apply (assoc-ref ant:%standard-phases
|
||||
'reorder-jar-content)
|
||||
#:outputs (list outputs))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dest-bin (string-append out "/bin"))
|
||||
(dest-jar (string-append out "/share/java")))
|
||||
(mkdir-p dest-bin)
|
||||
(mkdir-p dest-jar)
|
||||
(rename-file "BQN" "dbqn")
|
||||
(install-file "dbqn" dest-bin)
|
||||
(install-file "BQN.jar" dest-jar)
|
||||
(substitute* (string-append dest-bin "/dbqn")
|
||||
(("BQN.jar")
|
||||
(string-append dest-jar "/BQN.jar")))))))))
|
||||
(native-inputs (list `(,icedtea-8 "jdk") zip))
|
||||
(inputs (list icedtea-8 bash-minimal))
|
||||
(synopsis "BQN implementation based on dzaima/APL")
|
||||
(description
|
||||
"dbqn is a Java implementation of the
|
||||
(package
|
||||
(name "dbqn")
|
||||
(version "0.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dzaima/BQN")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zy3y9wbmaw0mrd2sp7d1r912gvs9k0mzw5d3drgmbzkbvpd6iq1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `((guix build ant-build-system)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build ant-build-system)
|
||||
#:prefix ant:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "./build")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
(invoke "./BQN" "./test/test")
|
||||
(begin
|
||||
(display "test suite not run")
|
||||
(newline)))))
|
||||
(add-after 'install 'reorder-jar-content
|
||||
(assoc-ref ant:%standard-phases
|
||||
'reorder-jar-content))
|
||||
(add-after 'reorder-jar-content 'generate-jar-indices
|
||||
(assoc-ref ant:%standard-phases
|
||||
'generate-jar-indices))
|
||||
(add-after 'generate-jar-indices 'strip-jar-timestamps
|
||||
(assoc-ref ant:%standard-phases
|
||||
'strip-jar-timestamps))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((dest-jar (string-append #$output "/share/java")))
|
||||
(rename-file "BQN" "dbqn")
|
||||
(substitute* "dbqn"
|
||||
(("java")
|
||||
(search-input-file inputs "/bin/java"))
|
||||
(("BQN.jar")
|
||||
(string-append dest-jar "/BQN.jar")))
|
||||
(install-file "BQN.jar" dest-jar)
|
||||
(install-file "dbqn"
|
||||
(string-append #$output "/bin"))))))))
|
||||
(native-inputs (list `(,icedtea-8 "jdk") zip))
|
||||
(inputs (list bash-minimal icedtea-8))
|
||||
(synopsis "BQN implementation based on dzaima/APL")
|
||||
(description
|
||||
"dbqn is a Java implementation of the
|
||||
@uref{https://mlochbaum.github.io/BQN/, BQN programming language} that does
|
||||
not need to be bootstrapped, based on an earlier Java implementation of APL by
|
||||
the same author.")
|
||||
(home-page "https://github.com/dzaima/BQN")
|
||||
(license license:expat))))
|
||||
(home-page "https://github.com/dzaima/BQN")
|
||||
(license license:expat)))
|
||||
|
||||
(define bqn-sources
|
||||
;; Aside from dbqn above, the main bqn repository is used by other
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
|
||||
;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
|
||||
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
|
||||
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
|
||||
@@ -99,6 +100,40 @@
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public acr
|
||||
(package
|
||||
(name "acr")
|
||||
(version "2.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/acr")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qd7p50b9gkh2ihf7gs6xpdkb5jk8frg90ajqlw1pbza8735f9q1"))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file "configure")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
(add-after 'patch-source-shebangs 'bootstrap-after-patch-source-shebangs
|
||||
(assoc-ref %standard-phases 'bootstrap)))))
|
||||
(synopsis "Autoconf replacement written in pure Bash")
|
||||
(description
|
||||
"@acronym{ACR, Autoconf Replacement} tries to replace autoconf
|
||||
functionality generating a full-compatible configure script, but relying on
|
||||
Bourne shell script instead of m4.")
|
||||
(home-page "https://github.com/radareorg/acr")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public bam
|
||||
(package
|
||||
(name "bam")
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix store)
|
||||
#:use-module (gnu packages)
|
||||
@@ -72,6 +73,7 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gettext)
|
||||
@@ -466,23 +468,26 @@ language as input.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-ply
|
||||
(lambda _
|
||||
(rmdir "pcpp/ply")
|
||||
(substitute* "setup.py"
|
||||
(("'pcpp/ply/ply'") "")))))))
|
||||
(native-inputs (list python-pytest))
|
||||
#:test-backend #~'unittest
|
||||
#:test-flags #~(list "discover" "-s" "tests" "-p" "*.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-ply
|
||||
(lambda _
|
||||
(rmdir "pcpp/ply")
|
||||
(substitute* "setup.py"
|
||||
(("'pcpp/ply/ply'")
|
||||
"")))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(propagated-inputs (list python-ply))
|
||||
(home-page "https://github.com/ned14/pcpp")
|
||||
(synopsis "C99 preprocessor written in Python")
|
||||
(description "This package provides a C99 preprocessor written in pure
|
||||
Python.")
|
||||
(description
|
||||
"This package provides a C99 preprocessor written in pure Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public aml
|
||||
|
||||
@@ -832,7 +832,20 @@ format.")
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:parallel-tests? #f
|
||||
#:configure-flags '("-DBUILD_TESTS=ON")))
|
||||
#:configure-flags '("-DBUILD_TESTS=ON"
|
||||
"-DUSE_BUNDLED_TINYXML2=OFF")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-testcondition-test
|
||||
(lambda _
|
||||
(substitute* "test/testcondition.cpp"
|
||||
(("test.cpp:4\\] -> \\[test.cpp:6")
|
||||
"test.cpp:4:25] -> [test.cpp:6:18")
|
||||
(("test.cpp:3\\] -> \\[test.cpp:5(.*false)"_ rest)
|
||||
(string-append "test.cpp:3:22] -> [test.cpp:5:22" rest
|
||||
" [knownConditionTrueFalse]"))))))))
|
||||
(inputs
|
||||
(list tinyxml2))
|
||||
(home-page "https://cppcheck.sourceforge.io")
|
||||
(synopsis "Static C/C++ code analyzer")
|
||||
(description "Cppcheck is a static code analyzer for C and C++. Unlike
|
||||
@@ -3152,57 +3165,6 @@ non-technical or business participants in a software project. Behave uses
|
||||
tests written in a natural language style, backed up by Python code.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public python-behave-web-api
|
||||
(package
|
||||
(name "python-behave-web-api")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "behave-web-api" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04p5sp6wck3mafj634w1fpvfhxm170l5q3hfb9d06pi71ql606n6"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-dependencies
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'wheel'") "") ; We don't use it.
|
||||
(("'ordereddict==1.1'") "")) ; Python >= 2.7 has it built-in.
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list behave python-requests))
|
||||
(home-page "https://github.com/jefersondaniel/behave-web-api")
|
||||
(synopsis "Provides testing for JSON APIs with Behave for Python")
|
||||
(description "This package provides testing utility modules for testing
|
||||
JSON APIs with Behave.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-nose-timer
|
||||
(package
|
||||
(name "python-nose-timer")
|
||||
(version "0.7.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nose-timer" version))
|
||||
(sha256
|
||||
(base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-nose python-termcolor))
|
||||
(home-page "https://github.com/mahmoudimus/nose-timer")
|
||||
(synopsis "Timer plugin for nosetests")
|
||||
(description "Shows how much time was needed to run individual tests.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-freezegun
|
||||
(package
|
||||
(name "python-freezegun")
|
||||
@@ -3774,28 +3736,6 @@ system. The code under test requires no modification to work with pyfakefs.")
|
||||
asynchronous code in Python (asyncio).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-dependency
|
||||
(package
|
||||
(name "python-pytest-dependency")
|
||||
(version "0.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-dependency" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-pytest))
|
||||
(home-page
|
||||
"https://github.com/RKrahl/pytest-dependency")
|
||||
(synopsis "Manage dependencies of tests")
|
||||
(description "This pytest plugin manages dependencies of tests. It allows
|
||||
to mark some tests as dependent from other tests. These tests will then be
|
||||
skipped if any of the dependencies did fail or has been skipped.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-pytest-datadir
|
||||
(package
|
||||
(name "python-pytest-datadir")
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages)
|
||||
@@ -460,14 +461,40 @@ and workspaces that can be used in the compiler environment of your choice.")
|
||||
(uri (pypi-uri "cmakelang" version))
|
||||
(sha256
|
||||
(base32 "0zz6g1ignqanl4ja9f5nrlk5f3mvv7cp5y9yswjd0m06n23jx603"))))
|
||||
(build-system python-build-system)
|
||||
(arguments (list #:tests? #f ;no test data in pypi archive
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-setup.py
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("cmakelang/doc/README.rst")
|
||||
"README.rst")))))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test data in pypi archive
|
||||
#:modules '((guix build pyproject-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 textual-ports))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-setup.py
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("cmakelang/doc/README.rst")
|
||||
"README.rst"))
|
||||
;; XXX: setup.py has multiple setup() calls, breaking the 'build
|
||||
;; phase ; in this case the package is wrong, but conveniently
|
||||
;; our goal is the first setup() call, so discard what comes from
|
||||
;; the second one.
|
||||
(rename-file "setup.py" "setup.py.bak")
|
||||
(call-with-input-file "setup.py.bak"
|
||||
(lambda (in)
|
||||
(call-with-output-file "setup.py"
|
||||
(lambda (out)
|
||||
(let loop ((line (get-line in))
|
||||
(setup-seen #f))
|
||||
(unless (or (eof-object? line)
|
||||
(and (string-prefix? "setup(" line)
|
||||
setup-seen))
|
||||
(display line out)
|
||||
(newline out)
|
||||
(loop (get-line in)
|
||||
(or setup-seen
|
||||
(string-prefix? "setup(" line))))))))))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list python-jinja2 python-pyyaml python-six))
|
||||
(home-page "https://github.com/cheshirekow/cmake_format/")
|
||||
(synopsis "Language tools for CMake (format, lint, etc.)")
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
|
||||
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
|
||||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2025 Foster Hangdaan <foster@hangdaan.email>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -702,22 +703,33 @@ To get @code{podman machine} working, install @code{qemu-minimal}, and
|
||||
(define-public podman-compose
|
||||
(package
|
||||
(name "podman-compose")
|
||||
(version "1.2.0")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/podman-compose")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/containers/podman-compose")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06vm088q1x7j929n93ylq3bav716bqh6l79agj8sgzsqxjsmli73"))))
|
||||
(base32 "08pz9axvgfyr0jd8rlndmhh8147s864mz17ng6qs07831g9ylj80"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "pytests")))
|
||||
(native-inputs (list python-pytest python-parameterized python-setuptools python-wheel))
|
||||
(propagated-inputs (list python-dotenv python-pyyaml))
|
||||
;; Only run tests in `tests/unit`, skipping the ones in
|
||||
;; `tests/integration`. The integration tests need an environment with
|
||||
;; the ability to manage containers and volumes using the `podman`
|
||||
;; command.
|
||||
;;
|
||||
;; tests: 378 tests
|
||||
#:test-backend #~'unittest
|
||||
#:test-flags #~(list "discover" "tests/unit")))
|
||||
(native-inputs
|
||||
(list python-parameterized
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-dotenv
|
||||
python-pyyaml))
|
||||
(home-page "https://github.com/containers/podman-compose")
|
||||
(synopsis "Script to run docker-compose.yml using podman")
|
||||
(description
|
||||
|
||||
@@ -982,7 +982,7 @@ utilities used across the hypr* ecosystem.")
|
||||
(define-public hyprlang
|
||||
(package
|
||||
(name "hyprlang")
|
||||
(version "0.6.6")
|
||||
(version "0.6.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -991,7 +991,7 @@ utilities used across the hypr* ecosystem.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13lqlwrpcd3gs5xw51sj1zx2w7kvsywvgdal81dp841rpph91z00"))))
|
||||
"0n64jq9jdabyx76sax0fb45jg92708488733c2m6zsf84r6nv2g7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2473,17 +2473,22 @@ of C++14 components that complements @code{std} and Boost.")
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DENABLE_TESTS=ON")
|
||||
#:configure-flags #~(list "-DENABLE_TESTS=ON" "-DENABLE_CRYPTO=ON"
|
||||
"-DENABLE_NETSSL=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-problematic-tests
|
||||
(lambda _
|
||||
(substitute* (list "Foundation/CMakeLists.txt" ; XXX: fails.
|
||||
;; Require network access
|
||||
;; Require network access.
|
||||
"Net/CMakeLists.txt"
|
||||
"MongoDB/CMakeLists.txt"
|
||||
"Redis/CMakeLists.txt")
|
||||
"Redis/CMakeLists.txt"
|
||||
;; Requires network access and uses certificates
|
||||
;; that will expire.
|
||||
"NetSSL_OpenSSL/CMakeLists.txt")
|
||||
(("ENABLE_TESTS") "FALSE")))))))
|
||||
(inputs (list openssl))
|
||||
(home-page "https://pocoproject.org/")
|
||||
(synopsis "Portable C++ components")
|
||||
(description "This package provides a collection of C++ libraries intended
|
||||
|
||||
@@ -520,14 +520,14 @@ total number of shares generated.")
|
||||
(define-public tomb
|
||||
(package
|
||||
(name "tomb")
|
||||
(version "2.11")
|
||||
(version "2.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.dyne.org/tomb/releases/"
|
||||
"Tomb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "05f34yx91bn9fj7rkabgpzvkw4pa6bg2c1r8cnp72wwnx6bzj97m"))))
|
||||
(base32 "1405kw0j8i1bqyqbim8530xf6hchpf57r9p1v92aknwyn5wgny0g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
|
||||
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
|
||||
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
|
||||
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -139,6 +140,7 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages pantheon)
|
||||
@@ -3713,24 +3715,29 @@ for many database kinds that tortoise-orm doesn't need, for example.")
|
||||
(define-public python-asyncpg
|
||||
(package
|
||||
(name "python-asyncpg")
|
||||
;; asyncpg 0.31.0 requires Cython(>=3.2.1,<4.0.0), got Cython==3.1.2
|
||||
(version "0.30.0")
|
||||
(source
|
||||
(origin
|
||||
;; git-fetch leads to errors like
|
||||
;; ValueError: 'asyncpg/pgproto/pgproto.pyx' doesn't match any files
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asyncpg" version))
|
||||
(sha256
|
||||
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; raises ValueError("Invalid IPv6 URL") ; Maybe due to urllib?
|
||||
#~(list "-k" "not TestConnectParams")))
|
||||
(native-inputs
|
||||
(list postgresql
|
||||
python-cython
|
||||
python-pytest
|
||||
python-uvloop
|
||||
python-distro
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-async-timeout))
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/MagicStack/asyncpg")
|
||||
(synopsis "Fast PostgreSQL database client library for Python")
|
||||
(description "@code{asyncpg} is a database interface library designed
|
||||
@@ -4338,26 +4345,53 @@ framework.")
|
||||
(define-public python-sqlalchemy-utils
|
||||
(package
|
||||
(name "python-sqlalchemy-utils")
|
||||
(version "0.38.3")
|
||||
(version "0.42.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "SQLAlchemy-Utils" version))
|
||||
(sha256
|
||||
(base32 "0k8z0mjhvdv302kn0nhci8b2dgw4cn2akprsf37ma1540ykgp6lz"))))
|
||||
(build-system python-build-system)
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kvesteri/sqlalchemy-utils")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ny1p352p0dlgrf9fnmzj7ld1rga5zj698qpla1kdaliwwh6xawn"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; FIXME: Many tests require a running database server.
|
||||
;; #:phases
|
||||
;; (modify-phases %standard-phases
|
||||
;; (replace 'check
|
||||
;; (lambda _
|
||||
;; (zero? (system* "py.test" "sqlalchemy_utils" "tests")))))
|
||||
(propagated-inputs
|
||||
(list python-six python-sqlalchemy))
|
||||
(list
|
||||
#:test-flags
|
||||
;; XXX: These tests require additional inputs.
|
||||
#~(list "--deselect=tests/test_views.py::TestMySqlTrivialView"
|
||||
"--deselect=tests/functions/test_database.py::\
|
||||
TestDatabasePostgresPg8000::test_create_and_drop"
|
||||
"--deselect=tests/functions/test_database.py::\
|
||||
TestDatabasePostgresPsycoPG2CFFI::test_create_and_drop")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-postgresql
|
||||
(lambda* (#:key inputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "TZDIR" (search-input-directory inputs
|
||||
"share/zoneinfo"))
|
||||
(let ((dbdir (string-append (getcwd) "/../pgdir")))
|
||||
(setenv "SQLALCHEMY_UTILS_TEST_POSTGRESQL_USER"
|
||||
"nixbld")
|
||||
(invoke "initdb" "-D" dbdir)
|
||||
(invoke "pg_ctl" "-D" dbdir
|
||||
"-o" (string-append "-k " dbdir)
|
||||
"-l" (string-append dbdir "/db.log")
|
||||
"start")
|
||||
(invoke "psql" "-h" dbdir "-d" "postgres"
|
||||
"-c" "CREATE DATABASE sqlalchemy_utils_test;"))))))))
|
||||
(propagated-inputs (list python-six python-sqlalchemy))
|
||||
(native-inputs
|
||||
(list python-dateutil python-flexmock python-psycopg2 python-pytest
|
||||
python-pytz))
|
||||
(list postgresql
|
||||
python-dateutil
|
||||
python-flexmock
|
||||
python-psycopg2
|
||||
python-pytest
|
||||
python-pytz
|
||||
python-setuptools
|
||||
tzdata-for-tests))
|
||||
(home-page "https://github.com/kvesteri/sqlalchemy-utils")
|
||||
(synopsis "Various utility functions for SQLAlchemy")
|
||||
(description
|
||||
@@ -4459,19 +4493,23 @@ SQLAlchemy Database Toolkit for Python.")
|
||||
(package
|
||||
(name "python-sqlite-fts4")
|
||||
(version "1.0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sqlite-fts4" version))
|
||||
(sha256
|
||||
(base32
|
||||
"034kx0ac556sywy1p4qcrc36l24w3q0xwswqv2z9s3k8yvm5xc3q"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-pytest))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/simonw/sqlite-fts4")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05c69n4nrc9srkbih1q1wxlw6n9mb3dm7ysb47ipqjn3rp1aif11"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(home-page "https://github.com/simonw/sqlite-fts4")
|
||||
(synopsis "Python functions for working with SQLite FTS4 search")
|
||||
(description "This package provides custom SQLite functions written
|
||||
in Python for ranking documents indexed using the SQLite's FTS4 full
|
||||
text search extension.")
|
||||
(description
|
||||
"This package provides custom SQLite functions written in Python for
|
||||
ranking documents indexed using the SQLite's FTS4 full text search
|
||||
extension.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-sqlite-utils
|
||||
@@ -4621,14 +4659,33 @@ managers for automatically closing connections.")
|
||||
(define-public python-databases
|
||||
(package
|
||||
(name "python-databases")
|
||||
(version "0.7.0")
|
||||
;; 0.9.0 needs sqlalchemy>=2.0.7
|
||||
;; 0.8.0 needs sqlalchemy>=1.4.42,<1.5
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "databases" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/encode/databases")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "183yawn8w561y1ni117rf5zaxm4gqqbcmi9fp52xd5fx2dj8qy3v"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; These need TEST_DATABASE_URLS set.
|
||||
;; TODO: Use "sqlite:///test.db"? See docs/contributing.md.
|
||||
#~(list "--ignore=tests/test_databases.py"
|
||||
"--ignore=tests/test_integration.py"
|
||||
"--ignore=tests/test_connection_options.py")))
|
||||
(native-inputs
|
||||
(list python-httpx
|
||||
python-psycopg
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-starlette))
|
||||
(propagated-inputs
|
||||
(list python-aiosqlite
|
||||
python-aiopg
|
||||
@@ -4645,18 +4702,41 @@ libraries with SQLALchemy.")
|
||||
(define-public python-psycopg2
|
||||
(package
|
||||
(name "python-psycopg2")
|
||||
(version "2.9.6")
|
||||
(version "2.9.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psycopg2" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/psycopg/psycopg2")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04chl9f7v7k1zssa40pmk06jvpyqiss2lpjq50dq69nqix0mhlgi"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "04l2yzbl15nrw1pcjfkqycvqn6h9phcdh1xx9ynfy3dzfscq5ly5"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; Tests would require a postgresql database "psycopg2_test"
|
||||
;; and a running postgresql database management service.
|
||||
'(#:tests? #f)) ; TODO re-enable after providing a test-db.
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-postgresql
|
||||
(lambda* (#:key inputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "TZDIR" (search-input-directory inputs
|
||||
"share/zoneinfo"))
|
||||
(let ((dbdir (string-append (getcwd) "/../pgdir")))
|
||||
(setenv "PSYCOPG2_TESTDB_USER" "nixbld")
|
||||
(setenv "PSYCOPG2_TESTDB_HOST" dbdir)
|
||||
(invoke "initdb" "-D" dbdir)
|
||||
(invoke "pg_ctl" "-D" dbdir
|
||||
"-o" (string-append "-k " dbdir)
|
||||
"-l" (string-append dbdir "/db.log")
|
||||
"start")
|
||||
(invoke "psql" "-h" dbdir "-d" "postgres"
|
||||
"-c" "CREATE DATABASE psycopg2_test;"))))))))
|
||||
(native-inputs
|
||||
(list postgresql
|
||||
python-pytest
|
||||
python-setuptools
|
||||
tzdata-for-tests))
|
||||
(inputs
|
||||
(list postgresql)) ; libpq
|
||||
(home-page "https://www.psycopg.org/")
|
||||
@@ -4678,14 +4758,16 @@ libraries with SQLALchemy.")
|
||||
(sha256
|
||||
(base32
|
||||
"1pkx7nj1mhacwpna7ldzqfqxd1xg8826600r0bs9ad1h93f429yh"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;run for psycopg below
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; This module requires 'psycopg', however psycopg needs this
|
||||
;; for its tests. Disable sanity check to break the cycle.
|
||||
(delete 'sanity-check))))
|
||||
(list
|
||||
#:tests? #f ;run for psycopg below
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; This module requires 'psycopg', however psycopg needs this
|
||||
;; for its tests. Disable sanity check to break the cycle.
|
||||
(delete 'sanity-check))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://www.psycopg.org/")
|
||||
(synopsis "Connection pooler for psycopg")
|
||||
(description
|
||||
@@ -4796,23 +4878,49 @@ from a SQLAlchemy model (or directly from the database).")
|
||||
(define-public yoyo-migrations
|
||||
(package
|
||||
(name "yoyo-migrations")
|
||||
(version "8.2.0")
|
||||
(version "9.0.0")
|
||||
(source
|
||||
(origin
|
||||
;; We use the upstream repository, as the tests are not included in the
|
||||
;; PyPI releases.
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://hg.sr.ht/~olly/yoyo")
|
||||
(changeset (string-append "v" version "-release"))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "1al030ix0w63hr4s3mqry6s0mlqdj8p242pdqks06br7c25nx3yj"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0bn4n043y0n4dh7axwavfims2krap5dcmdaxswbadzmis3a4hxyb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; XXX: Tests require a connection to some pgsql database and psycopg
|
||||
;; fails to connect to it.
|
||||
'(#:tests? #f))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-postgresql
|
||||
(lambda* (#:key inputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(delete-file "test_databases.ini")
|
||||
(call-with-output-file "test_databases.ini"
|
||||
(lambda (port)
|
||||
(format port "[DEFAULT]
|
||||
postgresql = postgresql://nixbld@/yoyo_test~%")))
|
||||
(setenv "TZDIR" (search-input-directory inputs
|
||||
"share/zoneinfo"))
|
||||
(let ((dbdir (string-append (getcwd) "/../pgdir")))
|
||||
(setenv "PGHOST" dbdir)
|
||||
(setenv "PGUSER" "nixbld")
|
||||
(invoke "initdb" "-D" dbdir)
|
||||
(invoke "pg_ctl" "-D" dbdir
|
||||
"-o" (string-append "-k " dbdir)
|
||||
"-l" (string-append dbdir "/db.log")
|
||||
"start")
|
||||
(invoke "psql" "-h" dbdir "-d" "postgres"
|
||||
"-c" "CREATE DATABASE yoyo_test;"))))))))
|
||||
(native-inputs
|
||||
(list postgresql
|
||||
python-freezegun
|
||||
python-psycopg2
|
||||
python-pytest
|
||||
python-setuptools
|
||||
tms
|
||||
tzdata-for-tests))
|
||||
(propagated-inputs
|
||||
(list python-sqlparse python-tabulate python-importlib-metadata))
|
||||
(home-page "https://ollycope.com/software/yoyo/latest/")
|
||||
@@ -5505,7 +5613,7 @@ algorithm implementations.")
|
||||
(package
|
||||
(inherit apache-arrow)
|
||||
(name "python-pyarrow")
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; XXX: Test data is distributed separately in
|
||||
@@ -5515,7 +5623,6 @@ algorithm implementations.")
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'build) ; XXX the build is performed again during the install phase
|
||||
(add-after 'unpack 'enter-source-directory
|
||||
(lambda _ (chdir "python")))
|
||||
(add-after 'enter-source-directory 'set-version
|
||||
@@ -5559,7 +5666,8 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
|
||||
python-cython
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-setuptools-scm))
|
||||
python-setuptools-scm
|
||||
python-setuptools))
|
||||
(outputs '("out"))
|
||||
(home-page "https://arrow.apache.org/docs/python/")
|
||||
(synopsis "Python bindings for Apache Arrow")
|
||||
@@ -5645,16 +5753,31 @@ and @code{intake-parquet}. It supports the following compression algorithms:
|
||||
(define-public python-crate
|
||||
(package
|
||||
(name "python-crate")
|
||||
(version "0.23.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "crate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-urllib3))
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/crate/crate-python")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0kk84wf7awgspdijycvhkbqvm5llp3wmwxa9n4w3qda861xn6krb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "--ignore=tests/testing/test_layer.py" ; Requires crate binary.
|
||||
"--ignore=tests/client/test_http.py"))) ; XXX: fails collection.
|
||||
(native-inputs
|
||||
(list python-orjson
|
||||
python-pytest
|
||||
python-pytz
|
||||
python-setuptools
|
||||
python-sqlalchemy
|
||||
python-verlib2
|
||||
tzdata-for-tests))
|
||||
(propagated-inputs (list python-urllib3))
|
||||
(home-page "https://github.com/crate/crate-python")
|
||||
(synopsis "CrateDB Python client")
|
||||
(description
|
||||
@@ -5849,6 +5972,46 @@ with no external dependencies. The targets are small apps that would
|
||||
be blown away by a SQL-DB or an external database server.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public sdb
|
||||
(package
|
||||
(name "sdb")
|
||||
(version "2.2.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/sdb.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15pc807s2nmhnr3mspyz9h47rkxkv1r07x959ir17v5b6zs7wxvw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'setenv-cc
|
||||
(lambda _
|
||||
(setenv "CC" #$(cc-for-target))))
|
||||
;; The provided meson.build uses a Makefile in the source root
|
||||
;; to run the tests, but resolves its directory relative to
|
||||
;; the build directory, assuming the build is one level under
|
||||
;; the source tree. This breaks if the build tree is elsewhere.
|
||||
(add-before 'check 'set-test-workdir-to-source-root
|
||||
(lambda _
|
||||
(substitute* "../source/meson.build"
|
||||
(("workdir: join_paths.*$")
|
||||
"workdir: meson.project_source_root(),\n")))))))
|
||||
(native-inputs
|
||||
(list node
|
||||
perl
|
||||
python-minimal-wrapper))
|
||||
(home-page "https://github.com/radareorg/sdb")
|
||||
(synopsis "Simple and fast string based key-value database")
|
||||
(description "SDB is a simple key/value database based on djb's cdb disk
|
||||
storage that supports JSON and array introspection.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public sequeler
|
||||
(package
|
||||
(name "sequeler")
|
||||
@@ -5947,7 +6110,7 @@ compatible with SQLite using a graphical user interface.")
|
||||
(define-public sqlitestudio
|
||||
(package
|
||||
(name "sqlitestudio")
|
||||
(version "3.4.17")
|
||||
(version "3.4.18")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5956,7 +6119,7 @@ compatible with SQLite using a graphical user interface.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zb1qr88rwkzmrxc0lm99x8h99hpn5c2wfdpvqzs9f9ph8qvasww"))))
|
||||
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -116,13 +116,23 @@ clients.")
|
||||
(define-public xandikos
|
||||
(package
|
||||
(name "xandikos")
|
||||
(version "0.2.12")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "xandikos" version))
|
||||
(sha256 (base32 "0x6g5s9pkippxg429r9agp3w0xsid2vv1h45wfc3xzdfvgj6ygsr"))))
|
||||
(build-system python-build-system)
|
||||
(sha256
|
||||
(base32 "10j7qmwcrwql4ah6q8si3nf1ljwrx99w8ipiy85bzjd3qz2vackj"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'unittest
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-aiohttp
|
||||
python-defusedxml
|
||||
@@ -131,13 +141,6 @@ clients.")
|
||||
python-jinja2
|
||||
python-multidict
|
||||
python-vobject))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
|
||||
(home-page "https://www.xandikos.org/")
|
||||
(synopsis "Lightweight CalDAV/CardDAV server")
|
||||
(description
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
;;; Copyright © 2023 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Robin Templeton <robin@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2014-2016, 2018, 2021, 2024, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017-2019, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
@@ -411,15 +411,19 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
||||
(define-public grammalecte
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "2.1.1")
|
||||
(version "2.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
|
||||
(uri (string-append "https://grammalecte.net/zip/"
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0kv8h0116sfcrqnpd3jv2b098ychda7v27fciq1phxw50jbj395a"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-backend #~'unittest))
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(home-page "https://grammalecte.net")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
(description "Grammalecte is a grammar checker for the French language,
|
||||
|
||||
@@ -855,7 +855,7 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
|
||||
(sha256
|
||||
(base32
|
||||
"1ji5sq9jf0p44982zkb5dj2d3mrpy675k0mkyg3r17q5syz0wbia"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;XXX: root access is required, see: <scripts/tests/test.sh>
|
||||
@@ -970,24 +970,31 @@ reformatted. It can recover lost files from at least:
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public pydf
|
||||
(package
|
||||
(name "pydf")
|
||||
(version "12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pydf" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f8ly8xyp93i2hm9c0qjqd4y86nz73axw2f09z01mszwmg1sfivz"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
|
||||
(synopsis "Colourised @command{df} clone")
|
||||
(description "All-singing, all-dancing, fully colourised @command{df} clone
|
||||
written in Python. It displays the amount of disk space available on the
|
||||
mounted file systems, using different colours for different types of file
|
||||
systems. Output format is completely customizable.")
|
||||
(license license:public-domain)))
|
||||
(let ((commit "af38bb3b7aacbcc32271e6dafa8b8b0a77ffead8")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "pydf")
|
||||
(version (git-version "15" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/garabik/pydf")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18ljigg8zm9pc3qg3alpyh3n4a4f1wcza4p36cchjn2vd4466jf4"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ; No tests.
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
|
||||
(synopsis "Colourised @command{df} clone")
|
||||
(description
|
||||
"All-singing, all-dancing, fully colourised @command{df} clone written
|
||||
in Python. It displays the amount of disk space available on the mounted file
|
||||
systems, using different colours for different types of file systems. Output
|
||||
format is completely customizable.")
|
||||
(license license:public-domain))))
|
||||
|
||||
(define-public f3
|
||||
(package
|
||||
|
||||
@@ -302,13 +302,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
||||
(package
|
||||
(inherit python-django)
|
||||
(name "python-django-4")
|
||||
(version "4.2.26")
|
||||
(version "4.2.27")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "django" version))
|
||||
(sha256
|
||||
(base32 "0ylxdpkiwdh8yhqxqzm90fxiagm8v7xijvdm5ha3ypmmpj3y964k"))))
|
||||
(base32 "14jvv95nw76fz8v0gzqdn6xwicqdn91glpjcb4vfxld3ykhgnrdq"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments python-django)
|
||||
((#:phases phases)
|
||||
@@ -695,16 +695,16 @@ them do this.")
|
||||
(define-public python-django-allauth
|
||||
(package
|
||||
(name "python-django-allauth")
|
||||
(version "65.7.0")
|
||||
(version "65.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pennersr/django-allauth")
|
||||
(url "https://codeberg.org/allauth/django-allauth")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1k5b3x7pdysb21vbqx7pxi9cm72yj057mm1clg19ymiqj4kq8yfl"))))
|
||||
(base32 "03a7175748533rw6h3grfpv86i3qb31ixw0kb2kj90gc77sh1sw2"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -740,7 +740,7 @@ them do this.")
|
||||
python-pytest-asyncio
|
||||
python-pytest-django
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/pennersr/django-allauth")
|
||||
(home-page "https://codeberg.org/allauth/django-allauth")
|
||||
(synopsis "Set of Django applications addressing authentication")
|
||||
(description
|
||||
"Integrated set of Django applications addressing authentication,
|
||||
|
||||
@@ -253,10 +253,10 @@ management tool.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0m5ifgxdhcf7yci0ncgnxjas879sksrf3im0fahs573g268farz9"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
;; Integration tests need a running Docker daemon.
|
||||
(arguments (list #:tests? #f))
|
||||
(native-inputs '())
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (modify-inputs (package-inputs python-docker)
|
||||
(prepend python-six)
|
||||
(delete "python-urllib3")))
|
||||
@@ -264,6 +264,9 @@ management tool.")
|
||||
(modify-inputs (package-propagated-inputs python-docker)
|
||||
(prepend python-docker-pycreds python-urllib3-1.26)))))
|
||||
|
||||
;; Needed for old v1 of docker-compose; remove once Docker is updated to a
|
||||
;; more recent version which has the command "docker compose" built-in, see:
|
||||
;; <https://codeberg.org/guix/guix/milestone/30347>.
|
||||
(define-public python-dockerpty
|
||||
(package
|
||||
(name "python-dockerpty")
|
||||
@@ -275,9 +278,11 @@ management tool.")
|
||||
(sha256
|
||||
(base32
|
||||
"1kjn64wx23jmr8dcc6g7bwlmrhfmxr77gh6iphqsl39sayfxdab9"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; XXX: Requires outdated python-expects
|
||||
(native-inputs
|
||||
(list python-six))
|
||||
(list python-setuptools python-six))
|
||||
(home-page "https://github.com/d11wtq/dockerpty")
|
||||
(synopsis "Python library to use the pseudo-TTY of a Docker container")
|
||||
(description "Docker PTY provides the functionality needed to operate the
|
||||
@@ -298,7 +303,7 @@ client.")
|
||||
(sha256
|
||||
(base32
|
||||
"1dq9kfak61xx7chjrzmkvbw9mvj9008k7g8q7mwi4x133p9dk32c"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
;; TODO: Tests require running Docker daemon.
|
||||
(arguments
|
||||
(list
|
||||
@@ -310,6 +315,7 @@ client.")
|
||||
(substitute* "setup.py"
|
||||
((", < 6")
|
||||
"")))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs
|
||||
(list python-cached-property
|
||||
python-distro
|
||||
|
||||
@@ -581,7 +581,10 @@ calendars, equations, and other features as extensions of Markdown syntax.")
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke #$(cc-for-target)
|
||||
"-O2" "-g" "-o" "stddoc" "stddoc.c")
|
||||
"-O2" "-g"
|
||||
;; XXX: Relax gcc 14 strictness.
|
||||
"-Wno-int-conversion"
|
||||
"-o" "stddoc" "stddoc.c")
|
||||
(with-input-from-file "stddoc.c"
|
||||
(lambda _
|
||||
(with-output-to-file "stddoc.c.html"
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cmake)
|
||||
@@ -120,18 +121,23 @@
|
||||
(version "0.8.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pychm" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dottedmag/pychm")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
|
||||
(build-system python-build-system)
|
||||
"0zf2vnrby2m31nvi6p3isspbrjmzjw1vwfx3xl7bkvjs7sli1wbw"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(inputs
|
||||
(list chmlib))
|
||||
(home-page "https://github.com/dottedmag/pychm")
|
||||
(synopsis "Handle CHM files")
|
||||
(description "This package provides a Python module for interacting
|
||||
with Microsoft Compiled HTML (CHM) files")
|
||||
with Microsoft Compiled HTML (CHM) files.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public calibre
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
@@ -88,6 +89,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
@@ -376,47 +378,48 @@ to open the application in a web browser, for offline usage.")
|
||||
(uri (list
|
||||
;; XXX: Upstream does not exist anymore.
|
||||
;; (string-append "http://www.bipede.fr/downloads/logiciels/"
|
||||
;; "ToutEnClic-" version "-src.zip")
|
||||
(string-append "https://archive.org/download/tout-en-clic-" version
|
||||
"-src/ToutEnClic-" version "-src.zip")))
|
||||
;; "ToutEnClic-" version "-src.zip")
|
||||
(string-append "https://archive.org/download/tout-en-clic-"
|
||||
version "-src/ToutEnClic-" version "-src.zip")))
|
||||
(sha256
|
||||
(base32 "0xg24p925rl5bfqsq3jb2lrkidb0f3kbmay5iyxxmjsn3ra0blyh"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/toutenclic"))
|
||||
(pixmaps (string-append out "/share/pixmaps"))
|
||||
(doc (string-append out "share/doc/" ,name "-" ,version))
|
||||
(bin (string-append out "/bin"))
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((share (string-append #$output "/share/toutenclic"))
|
||||
(bin (string-append #$output "/bin"))
|
||||
(executable "toutenclic"))
|
||||
;; Install icon.
|
||||
(install-file "toutenclic.png" pixmaps)
|
||||
;; Move files into "share/" directory.
|
||||
(for-each (lambda (f) (install-file f share))
|
||||
(find-files "." "\\.py$"))
|
||||
;; Install documentation.
|
||||
(install-file "ToutEnClic.pdf" doc)
|
||||
;; Create executable in "bin/".
|
||||
(mkdir-p bin)
|
||||
(with-directory-excursion bin
|
||||
(symlink (string-append share "/" executable ".py")
|
||||
executable)))))
|
||||
(add-after 'install 'create-desktop-file
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(applications (string-append out "/share/applications")))
|
||||
(mkdir-p applications)
|
||||
(call-with-output-file
|
||||
(string-append applications "/toutenclic.desktop")
|
||||
(lambda (file)
|
||||
(format file
|
||||
"[Desktop Entry]~@
|
||||
;; Install icon.
|
||||
(install-file "toutenclic.png"
|
||||
(string-append #$output "/share/pixmaps"))
|
||||
;; Move files into "share/" directory.
|
||||
(for-each (lambda (f)
|
||||
(install-file f share))
|
||||
(find-files "." "\\.py$"))
|
||||
;; Install documentation.
|
||||
(install-file "ToutEnClic.pdf"
|
||||
(string-append #$output "share/doc/"
|
||||
#$name "-" #$version))
|
||||
;; Create executable in "bin/".
|
||||
(mkdir-p bin)
|
||||
(with-directory-excursion bin
|
||||
(symlink (string-append share "/" executable ".py")
|
||||
executable)))))
|
||||
(add-after 'install 'create-desktop-file
|
||||
(lambda _
|
||||
(let ((applications (string-append #$output "/share/applications")))
|
||||
(mkdir-p applications)
|
||||
(call-with-output-file (string-append applications
|
||||
"/toutenclic.desktop")
|
||||
(lambda (file)
|
||||
(format file
|
||||
"[Desktop Entry]~@
|
||||
Name=ToutEnClic~@
|
||||
Comment=For schooling without difference~@
|
||||
Exec=~a/bin/toutenclic~@
|
||||
@@ -424,18 +427,16 @@ to open the application in a web browser, for offline usage.")
|
||||
Terminal=false~@
|
||||
Icon=toutenclic~@
|
||||
Type=Application~%"
|
||||
out)))))))))
|
||||
(native-inputs
|
||||
(list unzip))
|
||||
(inputs
|
||||
(list python-pyqt))
|
||||
#$output)))))))))
|
||||
(native-inputs (list unzip python-setuptools))
|
||||
(inputs (list python-pyqt))
|
||||
(synopsis "School tools for physically disabled children")
|
||||
(description "ToutEnClic is intended to facilitate the schooling
|
||||
of physically disabled children in ordinary schools. It is both
|
||||
a multi-page virtual exercise book and a kit including pencil,
|
||||
scissors, glue, ruler, compass, protractor and square. A virtual
|
||||
keyboard is also available if the child does not have any other
|
||||
specialized device.")
|
||||
(description
|
||||
"ToutEnClic is intended to facilitate the schooling of physically
|
||||
disabled children in ordinary schools. It is both a multi-page virtual
|
||||
exercise book and a kit including pencil, scissors, glue, ruler, compass,
|
||||
protractor and square. A virtual keyboard is also available if the child does
|
||||
not have any other specialized device.")
|
||||
(home-page "https://bipede.fr/contrib/")
|
||||
(license license:gpl3)))
|
||||
|
||||
@@ -1004,7 +1005,7 @@ learning for programming languages.")
|
||||
(define-public mazo
|
||||
(package
|
||||
(name "mazo")
|
||||
(version "1.1.0")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1013,43 +1014,37 @@ learning for programming languages.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14nk3qsj6lg7wp2ws8lxhb4hyjnczvw1cn9f3m466dkkfimp7ygf"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0mwhd8y3xs57rbaarpi1ams5i0kndizdpns4ym7dmnnn7s9g1xq8"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:use-setuptools? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'build)
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(home (string-append out "/tmp")))
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(setenv "HOME" home)
|
||||
(invoke "python3" "manage.py" "test")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(script (string-append bin "/mazo"))
|
||||
(share (string-append out "/share"))
|
||||
(help (string-append share "/help/C/mazo"))
|
||||
(icons (string-append
|
||||
share
|
||||
"/icons/hicolor/scalable/apps"))
|
||||
(apps (string-append share "/applications"))
|
||||
(site (string-append
|
||||
(site-packages inputs outputs)
|
||||
"/mazo")))
|
||||
(mkdir-p help)
|
||||
(mkdir-p bin)
|
||||
(copy-file "mazo.py" script)
|
||||
(chmod script #o555)
|
||||
(install-file "icons/mazo.svg" icons)
|
||||
(install-file "lugare.ulkeva.Mazo.desktop" apps)
|
||||
(copy-recursively "help/C/mazo" help)
|
||||
(copy-recursively "mazo" site)))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'build)
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" (getcwd))
|
||||
(invoke "python3" "manage.py" "test"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(script (string-append bin "/mazo"))
|
||||
(share (string-append #$output "/share"))
|
||||
(help (string-append share "/help/C/mazo")))
|
||||
(mkdir-p help)
|
||||
(mkdir-p bin)
|
||||
(copy-file "mazo.py" script)
|
||||
(chmod script #o555)
|
||||
(install-file "icons/mazo.svg"
|
||||
(string-append share
|
||||
"/icons/hicolor/scalable/apps"))
|
||||
(install-file "lugare.ulkeva.Mazo.desktop"
|
||||
(string-append share "/applications"))
|
||||
(copy-recursively "help/C/mazo" help)
|
||||
(copy-recursively "mazo"
|
||||
(string-append (site-packages inputs outputs)
|
||||
"/mazo"))))))))
|
||||
(native-inputs
|
||||
(list python-django
|
||||
python-django-cleanup
|
||||
@@ -1071,8 +1066,9 @@ learning for programming languages.")
|
||||
yelp))
|
||||
(home-page "https://luis-felipe.gitlab.io/mazo/")
|
||||
(synopsis "Memorize concepts using multimedia flash cards")
|
||||
(description "Mazo is a learning application that helps you memorize
|
||||
simple concepts using multimedia flash cards and spaced reviews.")
|
||||
(description
|
||||
"Mazo is a learning application that helps you memorize simple concepts
|
||||
using multimedia flash cards and spaced reviews.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public hardv
|
||||
|
||||
@@ -207,8 +207,8 @@ are also taken from the original.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public abc
|
||||
(let ((commit "c8eac7595d094dd45402133497d645fb74e545f0")
|
||||
(revision "7"))
|
||||
(let ((commit "ee04349aee0a11d5ce0ad39b0de80e3cb366087e")
|
||||
(revision "8"))
|
||||
(package
|
||||
(name "abc")
|
||||
(version (git-version "0.0" revision commit))
|
||||
@@ -220,7 +220,7 @@ are also taken from the original.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14k2j54fwr2a3nmb637fclzdf22a16jw5fsmhr3cf42yd924yn71"))))
|
||||
"0y00c9h54dkcnidgyw45czxrkxb7yg5pbw9hhipgjw7qswjh8yb2"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list readline))
|
||||
@@ -737,6 +737,110 @@ used in the declarative section of design units.")
|
||||
(native-inputs
|
||||
'()))))
|
||||
|
||||
(define-public klayout
|
||||
(package
|
||||
(name "klayout")
|
||||
(version "0.30.5")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/KLayout/klayout")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ixl8wzpiaw6frb28x9y9jy3fvhjclmn4xl77i72rs37rf4i2a2s"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("output/klayout" "bin/")
|
||||
("output/" "bin/" #:include-regexp ("strm.*"))
|
||||
("output/" "lib/" #:include-regexp ("lib.*\\.so.*"))
|
||||
("output/pymod" "lib/"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'patch-build-script ;; ensure reproducibility
|
||||
(lambda _
|
||||
(substitute* "build.sh"
|
||||
(("KLAYOUT_VERSION_DATE=\"\\$KLAYOUT_VERSION_DATE\"")
|
||||
"KLAYOUT_VERSION_DATE=1970-01-01"))))
|
||||
(add-after 'patch-build-script 'disable-failing-tests
|
||||
(lambda _
|
||||
(substitute* "src/tl/unit_tests/unit_tests.pro"
|
||||
;; These need internet connection.
|
||||
((" tlWebDAVTests\\.cc")
|
||||
"# tlWebDAVTests.cc \\")
|
||||
((" tlGitTests\\.cc")
|
||||
"# tlGitTests.cc \\")
|
||||
((" tlHttpStreamTests\\.cc")
|
||||
"# tlHttpStreamTests.cc \\")
|
||||
;; The threaded tests are reportedly flaky.
|
||||
((" tlThreadedWorkersTests\\.cc")
|
||||
"# tlThreadedWorkersTests\\.cc \\"))
|
||||
(substitute* "src/rba/rba.pro"
|
||||
;; There are issues of non-detereminism involved with Ruby's GC
|
||||
;; implementation. https://github.com/KLayout/klayout/issues/2251
|
||||
(("SUBDIRS = rba unit_tests")
|
||||
"SUBDIRS = rba")
|
||||
(("unit_tests.depends += rba")
|
||||
""))))
|
||||
(add-after 'disable-failing-tests 'build
|
||||
(lambda _
|
||||
(invoke "bash" "build.sh"
|
||||
"-prefix" "output"
|
||||
"-option"
|
||||
(string-append "-j" (number->string (parallel-job-count))))))
|
||||
(add-after 'install 'patch-elfs
|
||||
(lambda _
|
||||
(let* ((lib (string-append #$output "/lib"))
|
||||
(layout-lib (string-append lib "/lay_plugins"))
|
||||
(db-lib (string-append lib "/db_plugins"))
|
||||
(bin (string-append #$output "/bin"))
|
||||
(executables (filter executable-file? (find-files #$output)))
|
||||
(ut-runner "build-release/ut_runner")
|
||||
(unit-tests (cons* ut-runner
|
||||
(find-files "build-release" "\\.ut")))
|
||||
(patchem (lambda (elf)
|
||||
(when (not (string-suffix? ".py" elf))
|
||||
(invoke "patchelf" "--add-rpath" lib elf)
|
||||
(invoke "patchelf" "--add-rpath" layout-lib elf)
|
||||
(invoke "patchelf" "--add-rpath" db-lib elf)))))
|
||||
(map patchem executables)
|
||||
(map patchem unit-tests)
|
||||
(patchem ut-runner))))
|
||||
(add-after 'patch-elfs 'check-after-install
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "build-release"
|
||||
(mkdir "testtmp")
|
||||
(setenv "TESTTMP" "testtmp")
|
||||
(setenv "TESTSRC" "..")
|
||||
(setenv "LD_LIBRARY_PATH" ".")
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "HOME" "/tmp/home") ;; Fontconfig needs a writable cache.
|
||||
(invoke "./ut_runner"))))))))
|
||||
(native-inputs (list perl python qtsvg ruby tcl))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
libgit2
|
||||
patchelf
|
||||
qt5compat
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qttools))
|
||||
(home-page "https://www.klayout.de")
|
||||
(synopsis "Mask layout editor")
|
||||
(description "KLayout is @acronym{EDA, Electronic Design Automation}
|
||||
software. It is a scriptable @acronym{VLSI, Very Large Scale Integration}
|
||||
layout editor used for visualizing and editing mask data, transcoding between
|
||||
different file formats (GDSII and OASIS), executing @acronym{DRC, Design rule
|
||||
checking}, @acronym{LVS, Layout Versus Schematic} verification, and drawing of
|
||||
chip cross-sections basked on mask data.")
|
||||
;; The license version will be clarified with the next version bump.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(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.
|
||||
@@ -1812,7 +1916,7 @@ verification.")
|
||||
(define-public open-logic
|
||||
(package
|
||||
(name "open-logic")
|
||||
(version "4.1.0")
|
||||
(version "4.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1824,7 +1928,7 @@ verification.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0azapw9dyr5l5qal7qd409lyq0w6pw2wyjwvxfl44sykpbfxdl2x"))))
|
||||
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
|
||||
(outputs
|
||||
'("out" "test"))
|
||||
(properties
|
||||
@@ -1921,7 +2025,6 @@ reusable and vendor/tool-independent way. It is written following the VHDL
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list libngspice
|
||||
ngspice
|
||||
python-invoke
|
||||
python-matplotlib
|
||||
python-ply
|
||||
@@ -2042,7 +2145,13 @@ files as specified in IEEE 1364-2005.")
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" "not test_toplevel_library")));requires questasim simulator
|
||||
#~(list "-k" "not test_toplevel_library") ;requires questasim simulator
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'check 'run-examples
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "make" "-k" "-C" "examples")))))))
|
||||
(native-inputs
|
||||
(list iverilog
|
||||
nvc
|
||||
@@ -2058,53 +2167,96 @@ and Verilog RTL using Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cocotb-bus
|
||||
;; XXX: The latest tagged release (2.6.1) was placed on <2023-07-01>, switch
|
||||
;; to tag when the fresh release is available.
|
||||
(let ((commit "f5578a4d451ef6bc1efdd4919de5facdb381b781")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "python-cocotb-bus")
|
||||
;; Version from src/cocotb_bus/_version.py
|
||||
(version (git-version "0.2.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cocotb/cocotb-bus/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "13zdqalzhzrfv1lcn6l71zhi4hns89y093hvz9swkcr2kzwfn08r"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; TODO: Build documentation from <docs>.
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "make" "-k" "-C" "tests")
|
||||
(invoke "make" "-k" "-C" "examples")))))))
|
||||
(native-inputs
|
||||
(list iverilog
|
||||
nvc
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-cocotb
|
||||
python-packaging
|
||||
python-scapy))
|
||||
(home-page "https://github.com/cocotb/cocotb-bus/")
|
||||
(synopsis "Cocotb reusable tools")
|
||||
(description "@code{Cocotb-bus} provides a set of utilities, test benches
|
||||
(package
|
||||
(name "python-cocotb-bus")
|
||||
;; Version from src/cocotb_bus/_version.py
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cocotb/cocotb-bus/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0aqk78w5gg23rwf93gidw8yazmidwgmahqcmm3x0qx380mbdxjl4"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; TODO: Build documentation from <docs>.
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "make" "-k" "-C" "tests")
|
||||
(invoke "make" "-k" "-C" "examples")))))))
|
||||
(native-inputs
|
||||
(list iverilog
|
||||
nvc
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-cocotb
|
||||
python-scapy))
|
||||
(home-page "https://github.com/cocotb/cocotb-bus/")
|
||||
(synopsis "Cocotb reusable tools")
|
||||
(description "@code{Cocotb-bus} provides a set of utilities, test benches
|
||||
and reusable bus interfaces to be used with @code{cocotb}.")
|
||||
(license license:bsd-3))))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cocotb-test
|
||||
(package
|
||||
(name "python-cocotb-test")
|
||||
(version "0.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cocotb_test" version))
|
||||
(sha256
|
||||
(base32 "14h62sr2prxd0iy1axq68b9zdfggnms230xgrimywphlr941jrm4"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ;requires examples folder from python-cocotb
|
||||
(propagated-inputs
|
||||
(list python-cocotb))
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(home-page "https://pypi.org/project/cocotb-test/")
|
||||
(synopsis
|
||||
"Standard python unit testing cababilities for @code{python-cocotb}")
|
||||
(description "This package provides the look and feel of Python unit
|
||||
testing to @code{cocotb}, removing the need of manipulating Makefiles.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cocotbext-axi
|
||||
(package
|
||||
(name "python-cocotbext-axi")
|
||||
(version "0.1.26")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alexforencich/cocotbext-axi/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-cocotb python-cocotb-bus))
|
||||
(native-inputs
|
||||
(list iverilog python-cocotb-test python-pytest python-setuptools))
|
||||
(home-page "https://github.com/alexforencich/cocotbext-axi/")
|
||||
(synopsis
|
||||
"Extra @acronym{AXI, Advanced Extensible Interface} modules for cocotb")
|
||||
(description "This package provides an extension to @code{cocotb} in the
|
||||
form of AXI, AXI lite, and AXI stream modules.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-edalize
|
||||
(package
|
||||
(name "python-edalize")
|
||||
(version "0.6.1")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2113,7 +2265,7 @@ and reusable bus interfaces to be used with @code{cocotb}.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03mkzkmi96jkrpgcnawixvy832p3b8li8lrirdjhfp9dmp7d5kg5"))))
|
||||
(base32 "1ml6b17jp4vwjaw16v0agajzksig92q5qmk2psm51ck4q076lm3m"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2299,6 +2451,7 @@ languages.")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-deps
|
||||
@@ -2309,8 +2462,8 @@ languages.")
|
||||
(("rawVer .*")
|
||||
(string-append "rawVer = \"v"
|
||||
#$version "\""))))))))
|
||||
(native-inputs (list python-setuptools python-wheel python-gitpython
|
||||
git-minimal/pinned))
|
||||
(native-inputs
|
||||
(list python-setuptools python-gitpython git-minimal/pinned))
|
||||
(home-page "https://slaclab.github.io/surf/")
|
||||
(synopsis "SLAC Ultimate RTL Framework")
|
||||
(description
|
||||
|
||||
@@ -163,6 +163,7 @@
|
||||
;;; Copyright @ 2025 Andrew Wong <wongandj@icloud.com>
|
||||
;;; Copyright @ 2025 Nik Gaffney <nik@fo.am>
|
||||
;;; Copyright © 2025 Untrusem <mysticmoksh@riseup.net>
|
||||
;;; Copyright © 2025 case_lambda <case_lambda@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -311,6 +312,7 @@
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages erlang)
|
||||
#:use-module (gnu packages search)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages telegram)
|
||||
@@ -639,6 +641,29 @@ supported algorithm is chosen to ensure interoperability with
|
||||
Emacs Lisp.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public emacs-perl-doc
|
||||
(package
|
||||
(name "emacs-perl-doc")
|
||||
(version "0.82")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/perl-doc-" version
|
||||
".tar"))
|
||||
(sha256
|
||||
(base32 "1fj13361a9pgmlda8yix0p805r2gwzv1gxf43pq6y79a8hxbm8yn"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/HaraldJoerg/emacs-perl-doc")
|
||||
(synopsis "Read Perl documentation from Emacs")
|
||||
(description
|
||||
"This package contains a command to read Perl documentation in Emacs: @samp{M-x
|
||||
perl-doc}. It uses two external commands which come with Perl:
|
||||
@command{perldoc} to locate the Perl documentation for the Perl modules
|
||||
installed on your system, and @command{pod2html} to format the documentation
|
||||
to HTML. This HTML version is then displayed using the Emacs simple HTML
|
||||
renderer, @code{shr}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-sops
|
||||
(package
|
||||
(name "emacs-sops")
|
||||
@@ -690,6 +715,33 @@ files, provide Age encrypted authentication information out of
|
||||
@file{.authinfo.age}, open/edit/save Age encrypted files via Tramp...")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-balanced-windows
|
||||
(let ((commit "1da5354ad8a9235d13928e2ee0863f3642ccdd13")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-balanced-windows")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/wbolster/emacs-balanced-windows")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hsjg48jlfi6lc6izp9xcfqvxj7c0ivjrfsr2q3yv3s1iy2fz37l"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ;there are no tests
|
||||
(home-page "https://github.com/wbolster/emacs-balanced-windows/")
|
||||
(synopsis "Automatically balance Emacs windows")
|
||||
(description
|
||||
"This Emacs package provides a global minor mode to automatically
|
||||
balance windows (keeping them roughly the same size) whenever the window
|
||||
configuration changes, e.g. after splitting or deleting a window.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public emacs-bookmark-plus
|
||||
(package
|
||||
(name "emacs-bookmark-plus")
|
||||
@@ -2684,6 +2736,42 @@ third-party predecessor @code{git-tbdiff}), a Git subcommand for comparing two
|
||||
versions of a topic branch.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-magit-delta
|
||||
;; No releases or tags.
|
||||
(let ((commit "5fc7dbddcfacfe46d3fd876172ad02a9ab6ac616")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-magit-delta")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(home-page "https://github.com/dandavison/magit-delta")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kph5r9dy21pgfknpcdzzqfn6rqig5nvp8ksh16y13k3axlzvkiw"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-delta-executable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "magit-delta.el"
|
||||
("magit-delta-delta-executable"
|
||||
(search-input-file inputs "/bin/delta"))))))))
|
||||
(propagated-inputs (list emacs-dash emacs-magit emacs-xterm-color))
|
||||
(inputs (list git-delta))
|
||||
(synopsis "Integration of @code{delta} with @code{emacs-magit}")
|
||||
(description "Magit-delta provides a minor mode which configures
|
||||
@code{emacs-magit} to use @code{delta} for syntax highlighting when displaying
|
||||
diffs.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public emacs-malyon
|
||||
(package
|
||||
(name "emacs-malyon")
|
||||
@@ -6473,7 +6561,7 @@ of bibliographic references.")
|
||||
(define-public emacs-corfu
|
||||
(package
|
||||
(name "emacs-corfu")
|
||||
(version "2.5")
|
||||
(version "2.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6482,7 +6570,7 @@ of bibliographic references.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14ddl6dby5hlphpcsnwxkvw61hh1cyhilpgsyj17fzw9xwpp4q9w"))))
|
||||
(base32 "0psy7ximwnansy9pppcw1l2fryr15v2vqgj81q649743py6nd60l"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -6699,7 +6787,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(define-public emacs-ellama
|
||||
(package
|
||||
(name "emacs-ellama")
|
||||
(version "1.8.7")
|
||||
(version "1.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6709,7 +6797,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14f4mwkjsldygvv232d3ivkggizm3ccyrgyd01hymfmv6xazj155"))))
|
||||
"09xzn4daf80w7x6kbj2b8az89viv66sh367kxlxymr7rsznq1a7q"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -9003,46 +9091,6 @@ and contract the region by semantic units. Unlike @code{expand-region},
|
||||
@code{expreg} can leverage Emacs 29's tree-sitter support.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-explain-pause-mode
|
||||
(let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-explain-pause-mode")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lastquestion/explain-pause-mode")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs
|
||||
(list emacs-buttercup))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This causes the byte-compilation before unit-tests to fail.
|
||||
(add-after 'unpack 'remove-error-on-warn
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
|
||||
;; Don't run case-tests as they will fail to create sockets because
|
||||
;; the path is too long
|
||||
#:test-command '("make" "byte-compile" "unit-tests")
|
||||
;; Parallel testing will cause the tests to run before
|
||||
;; byte-compilation is finished
|
||||
#:parallel-tests? #f))
|
||||
(home-page "https://github.com/lastquestion/explain-pause-mode")
|
||||
(synopsis "Top-like interface to determine why Emacs paused")
|
||||
(description
|
||||
"This package monitors Emacs function calls and records their execution
|
||||
time. This information can be reviewed to determine what is causing the user
|
||||
interface to pause.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-filladapt
|
||||
(package
|
||||
(name "emacs-filladapt")
|
||||
@@ -11253,11 +11301,11 @@ not hang at all.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-elastic-modes
|
||||
(let ((commit "ea49bb03b78cb9fd17655990223e3095f137a3ce")
|
||||
(revision "1"))
|
||||
(let ((commit "c577e8921a4d9bd77742729707152bc557fae3e2")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "emacs-elastic-modes")
|
||||
(version "1.0.0")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -11266,7 +11314,7 @@ not hang at all.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dkigkjw4i9nz5rl0dnic16ljdnp5cyz2xic3hc2myqnjlqnc6z6"))))
|
||||
"0r40g7zgz9072x74qbnv8lmql0gajsz2p8b8jckmgyniakmln69v"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #false)) ;no tests
|
||||
(propagated-inputs (list emacs-dash))
|
||||
@@ -15683,25 +15731,70 @@ in the modeline by default.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-test-simple
|
||||
(package
|
||||
(name "emacs-test-simple")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/test-simple-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"11sgc7187l1a4f1x1f6z58dy7pc7n1999id50rjifkvk901x0qd1"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/rocky/emacs-test-simple")
|
||||
(synopsis "Simple unit test framework for Emacs Lisp")
|
||||
(description
|
||||
"Test Simple is a simple unit test framework for Emacs Lisp. It
|
||||
(let ((commit "da8ddb6fecb820c8e0809ac0892374e755e4efec")) ;version bump
|
||||
(package
|
||||
(name "emacs-test-simple")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rocky/emacs-test-simple/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"18a9d1n2xc2fqimvsg0nkvizn7y7sb6ap5i9al526cp40l0yky3n"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "test"
|
||||
(invoke "emacs" "--batch"
|
||||
"-l" "test-basic.el"
|
||||
"-l" "test-buffer.el"
|
||||
"-l" "test-fns.el"
|
||||
"-l" "test-no-clear.el"))))))))
|
||||
(home-page "https://github.com/rocky/emacs-test-simple")
|
||||
(synopsis "Simple unit test framework for Emacs Lisp")
|
||||
(description
|
||||
"Test Simple is a simple unit test framework for Emacs Lisp. It
|
||||
alleviates the need for context macros, enclosing specifications or required
|
||||
test tags. It supports both interactive and non-interactive use.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-load-dir
|
||||
;; This package is kept inside ELPA; there is no version-specific
|
||||
;; tag. Version string was taken from source code.
|
||||
(let ((commit "22bcac73d8808a680fd9b261cd89937d8e5c6a3c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-load-dir")
|
||||
(version (git-version "0.0.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/emacs/elpa.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"011m9vnjrxmnpnvf7zjfg3pzkkfsfwc4xf3h5z37f2d4x7ghlw10"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No tests.
|
||||
(synopsis "Load all Emacs Lisp files in a given directory")
|
||||
(description
|
||||
"This package provides a way to load all Emacs Lisp snippets (they
|
||||
don't have to be libraries) in a directory on startup or when Emacs is already
|
||||
running. It won't reload snippets unless the user requests it.")
|
||||
(home-page "https://elpa.gnu.org/packages/load-dir.html")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-load-relative
|
||||
(package
|
||||
@@ -15771,67 +15864,72 @@ text excepting lines containing matches.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-realgud
|
||||
(package
|
||||
(name "emacs-realgud")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/realgud/realgud/")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-realgud:run-process-void-error
|
||||
;; See: https://github.com/realgud/realgud/issues/269.
|
||||
(lambda _
|
||||
(substitute* '("realgud/debugger/gdb/gdb.el"
|
||||
"realgud/debugger/gub/gub.el")
|
||||
(("^\\(require 'load-relative\\).*" anchor)
|
||||
(string-append anchor
|
||||
"(require-relative-list \
|
||||
'(\"../../common/run\") \"realgud:\")\n")))))
|
||||
(add-after 'expand-load-path 'fix-autogen-script
|
||||
(lambda _
|
||||
(substitute* "autogen.sh"
|
||||
(("./configure") "sh configure"))))
|
||||
(add-after 'fix-autogen-script 'autogen
|
||||
(lambda _
|
||||
(setenv "CONFIG_SHELL" "sh")
|
||||
(invoke "sh" "autogen.sh")))
|
||||
(add-after 'fix-autogen-script 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR"))))
|
||||
(add-before 'patch-el-files 'patch-more-el-files
|
||||
(lambda _
|
||||
;; XXX: Some tests/assumptions in this file are
|
||||
;; not valid on Emacs@30.
|
||||
(delete-file "test/test-regexp-perldb.el")
|
||||
;; FIXME: `patch-el-files' crashes on this file with error:
|
||||
;; unable to locate "bashdb".
|
||||
(delete-file "./test/test-regexp-bashdb.el"))))
|
||||
#:include #~(cons* ".*\\.el$" %default-include)))
|
||||
(native-inputs
|
||||
(list autoconf automake emacs-test-simple))
|
||||
(propagated-inputs
|
||||
(list emacs-load-relative emacs-loc-changes))
|
||||
(home-page "https://github.com/realgud/realgud/")
|
||||
(synopsis
|
||||
"Modular front-end for interacting with external debuggers")
|
||||
(description
|
||||
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
|
||||
;; Last tagged release is from 2019.
|
||||
(let ((commit "56a8d82830ad65c9cbb9c694617f078f007281ac")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-realgud")
|
||||
(version (git-version "1.5.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/realgud/realgud/")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1n232jphfgqbb44p806bpgg2wisbmr5iz09js71knk7n5gslrz25"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-cask-install
|
||||
(lambda _
|
||||
(delete-file "cask-install.el")))
|
||||
(add-after 'expand-load-path 'fix-autogen-script
|
||||
(lambda _
|
||||
(substitute* "autogen.sh"
|
||||
(("./configure") "sh configure"))))
|
||||
(add-after 'fix-autogen-script 'autogen
|
||||
(lambda _
|
||||
(setenv "CONFIG_SHELL" "sh")
|
||||
(invoke "sh" "autogen.sh")))
|
||||
(add-after 'fix-autogen-script 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR"))))
|
||||
(add-before 'patch-el-files 'patch-more-el-files
|
||||
(lambda _
|
||||
;; Misc failures
|
||||
(for-each delete-file
|
||||
(list "test/test-pdb.el"
|
||||
"test/test-shortkey.el"
|
||||
"test/test-track.el"
|
||||
"test/test-trepan2.el"
|
||||
"test/test-lang.el"))
|
||||
;; XXX: Some tests/assumptions in this file are
|
||||
;; not valid on Emacs@30.
|
||||
(delete-file "test/test-regexp-perldb.el")
|
||||
;; FIXME: `patch-el-files' crashes on this file with error:
|
||||
;; unable to locate "bashdb".
|
||||
(delete-file "./test/test-regexp-bashdb.el"))))
|
||||
#:include #~(cons* ".*\\.el$" %default-include)))
|
||||
(native-inputs
|
||||
(list autoconf automake emacs-test-simple perl python-minimal-wrapper
|
||||
ruby))
|
||||
(propagated-inputs
|
||||
(list emacs-load-relative emacs-loc-changes))
|
||||
(home-page "https://github.com/realgud/realgud/")
|
||||
(synopsis
|
||||
"Modular front-end for interacting with external debuggers")
|
||||
(description
|
||||
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
|
||||
with external debuggers. It integrates various debuggers such as gdb, pdb,
|
||||
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
|
||||
sources. Unlike GUD, it also supports running multiple debug sessions in
|
||||
parallel.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-rmsbolt
|
||||
;; There is no release tag. Version is extracted from main file.
|
||||
@@ -16695,6 +16793,39 @@ circumstances, and leaves the keys untouched outside of those situations,
|
||||
allowing unprefixed keys to insert their respective characters as expected.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-claude-code
|
||||
;; There is no proper release/tag.
|
||||
(let ((commit "becece683bcf60f7b150a87a30ef14885dcf8ce3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-claude-code")
|
||||
(version (git-version "0.4.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stevemolitor/claude-code.el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z77nxazkw08pmqam2z27a56s9nyp72a1vvc0ba3vgcwfkjx0v81"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:include #~(cons "^bin\\/" %default-include)
|
||||
#:tests? #f)) ; There are no tests.
|
||||
(propagated-inputs
|
||||
(list emacs-transient
|
||||
emacs-inheritenv))
|
||||
(home-page "https://github.com/stevemolitor/claude-code.el")
|
||||
(synopsis "Claude Code Emacs integration")
|
||||
(description
|
||||
"This package provides convenient ways to interact with Claude from
|
||||
within Emacs, including sending commands, toggling the Claude window, and
|
||||
accessing slash commands.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public emacs-claude-code-ide
|
||||
;; Upstream does not make versioned releases.
|
||||
(let ((commit "c5e2de1a343bc6c0444789e0a99ad822cd56cfbe"))
|
||||
@@ -18869,6 +19000,27 @@ determines structure, this mode provides indentation and indentation command
|
||||
behavior very similar to that of Python mode.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-yaml-pro
|
||||
(package
|
||||
(name "emacs-yaml-pro")
|
||||
(version "1.3.3")
|
||||
(home-page "https://github.com/zkry/yaml-pro")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sipz42gb8pl8w9xci5m0kdz5dlinxj409hvyz173z3gzg7f4qr1"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-yaml))
|
||||
(synopsis "Tools for editing YAML leveraging tree-sitter/parser")
|
||||
(description "Leverages tree-sitter and provides fast and accurate
|
||||
YAML parsing.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-yari
|
||||
(let ((revision "0")
|
||||
(commit "de61285ceb21f56c29f4be12e2e65b2aa2bccf56"))
|
||||
@@ -19364,7 +19516,7 @@ implementation.")
|
||||
(define-public emacs-cider
|
||||
(package
|
||||
(name "emacs-cider")
|
||||
(version "1.19.0")
|
||||
(version "1.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -19373,7 +19525,7 @@ implementation.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0limw27arkc8bn0zzj0jzhdsax78qm1lz5jfgy8zgf971llhf5qc"))))
|
||||
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -22657,6 +22809,91 @@ window (using the fringe, by default), allows you to jump between the hunks
|
||||
and revert them selectively.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-difftastic
|
||||
;; No releases or tags.
|
||||
(let ((commit "5a23176610b7181f52b7088cbdf1d2a95691b27e")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-difftastic")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pkryger/difftastic.el/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nl1kcaxgq67338knfhmxxmxl5npsvjvvs3z7s8m5z4wpknsn1rd"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-command
|
||||
#~(list "emacs" "--batch"
|
||||
"-l" "test/difftastic.t.el"
|
||||
"-l" "test/difftastic-bindings.t.el"
|
||||
"-f" "ert-run-tests-batch-and-exit")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'unpack-el-mock
|
||||
(lambda _
|
||||
(install-file
|
||||
(string-append
|
||||
#$(this-package-native-input "el-mock") "/el-mock.el")
|
||||
".")))
|
||||
;; 11/435 tests fail.
|
||||
(add-before 'check 'skip-failing-tests
|
||||
(lambda _
|
||||
(let ((skip-tests
|
||||
`("-forge-pullreq-show-diff-args:buffer-post-object"
|
||||
"-forge-pullreq-show-diff-args:current-topic"
|
||||
,(string-append
|
||||
"-forge-pullreq-show-diff-args"
|
||||
":new-pullreq-with-base-and-head")
|
||||
"-forge-pullreq-show-diff-args:single-prefix-argument"
|
||||
"-magit-diff-buffer-file:no-file"
|
||||
"-forge-pullreq-show-diff-args:triple-prefix-argument"
|
||||
"forge-create-pulreq-show-diff:basic"
|
||||
"forge-pullreq-show-diff:basic"
|
||||
"forge-pullreq-show-diff:double-prefix-arg"
|
||||
"forge-pullreq-show-diff:single-prefix-arg"
|
||||
"forge-pullreq-show-diff:triple-prefix-arg")))
|
||||
(substitute* "test/difftastic.t.el"
|
||||
(("\\(ert-deftest difftastic-([a-z:-]*) \\(\\)" all test)
|
||||
(if (member test skip-tests)
|
||||
(string-append all "(skip-unless nil)")
|
||||
all))))))
|
||||
(add-after 'unpack 'substitute-python-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "difftastic.el"
|
||||
("difftastic-executable"
|
||||
(search-input-file inputs "/bin/difft"))))))))
|
||||
(inputs
|
||||
(list difftastic))
|
||||
(propagated-inputs
|
||||
(list emacs-compat emacs-magit))
|
||||
(native-inputs
|
||||
(list
|
||||
;; This package uses a custom version of el-mock for the tests.
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pkryger/el-mock.el")
|
||||
(commit "8fb750784faf07445033441bd86485fecfdb9413")))
|
||||
(file-name "el-mock")
|
||||
(sha256
|
||||
(base32
|
||||
"1qbcj952hrrpr26rh8q77vf5i35nzkbsrqdvj7rrc307dp0n2gsv")))))
|
||||
(home-page "https://github.com/pkryger/difftastic.el/")
|
||||
(synopsis "Wrapper interface for @code{difft} command line tool")
|
||||
(description
|
||||
"This package integrates @code{difftastic} structural diff tool into
|
||||
Emacs. It automatically displays @code{difftastic} output within Emacs using
|
||||
faces from the user theme, ensuring consistency with overall coding
|
||||
environment.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-diminish
|
||||
;; XXX: Upstream did not tag last release.
|
||||
(let ((commit "fd486ef76e4c1d8211ae337a43b8bba106d4bca7")
|
||||
@@ -26765,8 +27002,9 @@ the pipeline, featuring the support for running @code{emacsclient}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-jupyter
|
||||
(let ((commit "db8a9e233a010a61063f34220821ec76157a2d84")
|
||||
(revision "2"))
|
||||
;; Last release from 3/2024.
|
||||
(let ((commit "de89cbeca890db51ba84aee956658f89aaa0b642")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "emacs-jupyter")
|
||||
(version (git-version "1.0" revision commit))
|
||||
@@ -26774,11 +27012,11 @@ the pipeline, featuring the support for running @code{emacsclient}.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nnicandro/emacs-jupyter")
|
||||
(url "https://github.com/emacs-jupyter/jupyter")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gjxi84d95sx5fw8q2a8szfhq6kb4xzwq0xr9a3pirkiga9hxymz"))))
|
||||
(base32 "09mcnl4piynzynjad7zy35rp6qn35xh1zrfc7kyws8qmii3561db"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ;tests require a working jupyter
|
||||
(propagated-inputs
|
||||
@@ -26787,7 +27025,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
|
||||
emacs-simple-httpd
|
||||
emacs-websocket
|
||||
emacs-zmq))
|
||||
(home-page "https://github.com/nnicandro/emacs-jupyter")
|
||||
(home-page "https://github.com/emacs-jupyter/jupyter")
|
||||
(synopsis "Emacs interface to communicate with Jupyter kernels")
|
||||
(description "This package provides an Emacs interface to communicate with
|
||||
Jupyter kernels. It provides REPL and Org mode source code block frontends to
|
||||
@@ -34021,47 +34259,41 @@ and comments.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-yeetube
|
||||
(let ((commit "b8877e61b58dfabcc30044680d0975b3c6b12052")) ;version bump
|
||||
(package
|
||||
(name "emacs-yeetube")
|
||||
(version "2.1.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.thanosapollo.org/yeetube")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1gii2y4cvw795039kdky1mdmgpfrfm4s48ld7z4gv7bvb0fs9hpq"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'locate-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "." "\\.el$")
|
||||
(("\\(executable-find \"mpv\"\\)")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "/bin/mpv")))
|
||||
(("\\(executable-find \"torsocks\"\\)")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "/bin/torsocks")))
|
||||
(("\\(executable-find \"yt-dlp\"\\)")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "/bin/yt-dlp")))))))))
|
||||
(inputs (list mpv torsocks yt-dlp))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://thanosapollo.org/projects/yeetube/")
|
||||
(synopsis "Youtube front-end for Emacs")
|
||||
(description
|
||||
"This package provides the ability to scrape YouTube, with the results
|
||||
(package
|
||||
(name "emacs-yeetube")
|
||||
(version "2.1.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.thanosapollo.org/yeetube")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0krd2x0vyysqsgb7r3ca2qc7cl1s929gm52j5rihnqw0yfjpwgpv"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'locate-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "." "\\.el$")
|
||||
(("\\(executable-find \"(mpv|torsocks|yt-dlp)\"\\)" all program)
|
||||
(format #f "~s" (search-input-file inputs
|
||||
(string-append "/bin/" program))))))))))
|
||||
(inputs (list mpv torsocks yt-dlp))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://thanosapollo.org/projects/yeetube/")
|
||||
(synopsis "Youtube front-end for Emacs")
|
||||
(description
|
||||
"This package provides the ability to scrape YouTube, with the results
|
||||
displayed in a tabulated list format. The videos can be opened with a user-defined
|
||||
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
|
||||
This package also includes a minimal @code{yt-dlp} wrapper.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-web-tools
|
||||
(package
|
||||
@@ -38672,6 +38904,44 @@ global minor mode whose purpose is to automatically feed TRAMP sub-processes
|
||||
with passwords for paths matching regexps.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-ssh-tunnels
|
||||
;; There are no tags or releases upstream.
|
||||
(let ((commit "5010d779edef33f869065231b99d74723c9c7eaf")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-ssh-tunnels")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/death/ssh-tunnels")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15pwgc9s7f5fjmx2savjrpwr6qcpp0s9iy0y10abpy63np4krc62"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-ssh-location
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "ssh-tunnels.el"
|
||||
("ssh-tunnels-program"
|
||||
(search-input-file inputs "/bin/ssh"))))))))
|
||||
(inputs (list openssh))
|
||||
(propagated-inputs (list emacs-helm))
|
||||
(home-page "https://github.com/death/ssh-tunnels")
|
||||
(synopsis "Manipulate @code{ssh} tunnels from Emacs")
|
||||
(description "This package provides an Emacs interface to modify,
|
||||
run and kill @code{ssh} tunnels. It lets customise descriptions of the
|
||||
tunnels configurations, and includes an @code{emacs-helm} interface to modify
|
||||
and act on tunnels.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public emacs-eacl
|
||||
(package
|
||||
(name "emacs-eacl")
|
||||
@@ -43384,8 +43654,8 @@ org-mode templates.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-glossary
|
||||
(let ((commit "1b9b7fd3d1e6c214c34463e568daaba6df00ec27")
|
||||
(revision "0"))
|
||||
(let ((commit "97827bc323765a5f70213c62800bed50d75c2822")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-org-glossary")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
@@ -43397,7 +43667,7 @@ org-mode templates.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09mg8aqxamnxx8kpdyk074wf2wkm4rx62z7q66azw70hjr1ggwa3"))))
|
||||
(base32 "0qd1ikc602nnhhm0czv4gn9b1g4jqhjbnnz93ba2pjimgssmb58w"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -45396,27 +45666,35 @@ buffer.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-setup
|
||||
(package
|
||||
(name "emacs-setup")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/setup-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32 "184g3kd9caxyhwq41w94spkjs1j45vblg4sqfb5h5pqb5h9p95n5"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://git.sr.ht/~pkal/setup")
|
||||
(synopsis "Helpful configuration macro")
|
||||
(description
|
||||
"The @code{setup} macro simplifies repetitive configuration patterns, by
|
||||
providing context-sensitive local macros in @code{setup} bodies. These macros
|
||||
can be mixed with regular elisp code without any issues, allowing for
|
||||
flexible and terse configurations. The list of local macros can be
|
||||
extended by the user via @code{setup-define}. A list of currently known
|
||||
local macros are documented in the docstring for @code{setup}.")
|
||||
(license license:gpl3+)))
|
||||
;; No tagged releases; this commit reflects the version bump on the source
|
||||
(let ((commit "5a69dab9bb79d8bebaaa9bc14795cbaafd1c2423"))
|
||||
(package
|
||||
(name "emacs-setup")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/pkal/setup.el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pa5k36pkgvp8als0ngxgy17x0gja9j26qydw3wwawkslssl5kbx"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f)) ; No tests.
|
||||
(home-page "https://codeberg.org/pkal/setup.el")
|
||||
(synopsis "Helpful configuration macro")
|
||||
(description
|
||||
"The @code{setup} macro simplifies repetitive configuration patterns,
|
||||
by providing context-sensitive local macros in @code{setup} bodies. These
|
||||
macros can be mixed with regular elisp code without any issues, allowing for
|
||||
flexible and terse configurations. The list of local macros can be extended
|
||||
by the user via @code{setup-define}. A list of currently known local macros
|
||||
are documented in the docstring for @code{setup}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-tomelr
|
||||
(package
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013-2017, 2019, 2021-2022, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||
@@ -464,19 +464,22 @@ editor (console only)")
|
||||
(string-append (getenv "LIBRARY_PATH")
|
||||
":" libgccjit-libdir)))))
|
||||
(add-after 'unpack 'patch-compilation-driver
|
||||
(lambda _
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "lisp/emacs-lisp/comp.el"
|
||||
(("\\(defcustom native-comp-driver-options nil")
|
||||
(format
|
||||
#f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
|
||||
(string-append
|
||||
"-B" #$(this-package-input "binutils") "/bin/")
|
||||
"-B" (dirname (search-input-file inputs "/bin/nm")))
|
||||
(string-append
|
||||
"-B" #$(this-package-input "glibc") "/lib/")
|
||||
"-B" (dirname (search-input-file inputs "/lib/libc.so")))
|
||||
(string-append
|
||||
"-B" #$(this-package-input "libgccjit") "/lib/")
|
||||
"-B" (dirname (search-input-file inputs "/lib/libgccjit.so")))
|
||||
(string-append
|
||||
"-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))
|
||||
"-B" (string-append
|
||||
(dirname
|
||||
(search-input-file inputs "/lib/libgccjit.so"))
|
||||
"/gcc")))))))
|
||||
(add-after 'build 'build-trampolines
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "trampolines" make-flags)))
|
||||
@@ -498,11 +501,7 @@ editor (console only)")
|
||||
(inputs
|
||||
(modify-inputs (package-inputs emacs-minimal)
|
||||
(prepend gnutls
|
||||
;; To "unshadow" ld-wrapper in native builds
|
||||
(make-ld-wrapper "ld-wrapper" #:binutils binutils)
|
||||
;; For native compilation
|
||||
binutils
|
||||
(libc-for-target)
|
||||
libgccjit
|
||||
|
||||
;; Avoid Emacs's limited movemail substitute that retrieves POP3
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libusb)
|
||||
@@ -109,9 +110,12 @@
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages robotics)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages textutils)
|
||||
@@ -1239,7 +1243,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
|
||||
(define-public mupen64plus-core
|
||||
(package
|
||||
(name "mupen64plus-core")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1248,7 +1252,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1iav8r3f0r44sq9pz4zjqrdzyspk412c117ywxz02qpjkhkf91a3"))))
|
||||
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config nasm which))
|
||||
@@ -1258,6 +1262,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
|
||||
libpng
|
||||
mesa
|
||||
sdl2
|
||||
vulkan-loader
|
||||
zlib))
|
||||
(arguments
|
||||
'(#:phases
|
||||
@@ -1288,7 +1293,7 @@ core library.")
|
||||
(define-public mupen64plus-audio-sdl
|
||||
(package
|
||||
(name "mupen64plus-audio-sdl")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1297,7 +1302,7 @@ core library.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0j78xk78fj7lhi6jk6npr7wm9ix7qyr5cbaaqsmk6pqw6gfx81kz"))))
|
||||
(base32 "08sp70kjjbqg8mhxdm6yphfwn6bnf2i7yvzrzygnnn2cwd0qw42j"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1332,7 +1337,7 @@ SDL audio plugin.")
|
||||
(define-public mupen64plus-input-sdl
|
||||
(package
|
||||
(name "mupen64plus-input-sdl")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1341,7 +1346,7 @@ SDL audio plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nnniyiy0wpg4m9918va31xxnz8r5qvj0z08vyq2is0b47ld3kq0"))))
|
||||
(base32 "1x07bc3pcfy11k1kp7q0bwz1z9wppxyi3f5pr72wsk1s8szzvck0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list which))
|
||||
@@ -1376,7 +1381,7 @@ SDL input plugin.")
|
||||
(define-public mupen64plus-rsp-hle
|
||||
(package
|
||||
(name "mupen64plus-rsp-hle")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1385,7 +1390,7 @@ SDL input plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0sblabl3dp1jy9izbwyhx90690xdj96yfmwi47kpka8axzj93naq"))))
|
||||
(base32 "1wdnf9y5b61hxkv7jkz67m1bcqyxykzc24bg9k77ny7jc2q42v93"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list mupen64plus-core))
|
||||
@@ -1418,7 +1423,7 @@ high-level emulation (HLE) RSP processor plugin.")
|
||||
(define-public mupen64plus-rsp-z64
|
||||
(package
|
||||
(name "mupen64plus-rsp-z64")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1427,7 +1432,7 @@ high-level emulation (HLE) RSP processor plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02w7c6b7fc6q5rrvawxv48xp64crfs5jbs06f2fqqj4smysyjfcc"))))
|
||||
(base32 "0hpd402a00kmqsq45hrmgjfd1nchkjgjj5hc3fzb4fbvac5pacsz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list mupen64plus-core))
|
||||
@@ -1460,7 +1465,7 @@ Z64 RSP processor plugin.")
|
||||
(define-public mupen64plus-video-arachnoid
|
||||
(package
|
||||
(name "mupen64plus-video-arachnoid")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1469,7 +1474,7 @@ Z64 RSP processor plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bkzbmg53qiwvza9h45d76rbyn0isbb31cfp5qqza0fzmgjxhv1d"))))
|
||||
(base32 "0dvjn3dnpsdzgjpvn4la05bcan2hs2hvzhqhfq43z1bqyxw7qb2d"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1504,7 +1509,7 @@ Arachnoid video plugin.")
|
||||
(define-public mupen64plus-video-glide64
|
||||
(package
|
||||
(name "mupen64plus-video-glide64")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1513,7 +1518,7 @@ Arachnoid video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jscvr2imm9wj9jsgsp5815pv27f97w8g19ix0n39y9yy851qvrg"))))
|
||||
(base32 "15hlbamw2iw5r7l2234a986gikgmkypdzhvl3r7px0rs0pi816pl"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1547,7 +1552,7 @@ Glide64 video plugin.")
|
||||
(define-public mupen64plus-video-glide64mk2
|
||||
(package
|
||||
(name "mupen64plus-video-glide64mk2")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1556,7 +1561,7 @@ Glide64 video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hr0mv6y7v72101iff3zf6rd0wpqah936234m3hcb4cgna6zj9xy"))))
|
||||
(base32 "1w0cp448i3rnr8c6rq8ivqvjmfkcawpr4b798xqhryhbxnlr3s35"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1596,7 +1601,7 @@ Glide64MK2 video plugin.")
|
||||
(define-public mupen64plus-video-rice
|
||||
(package
|
||||
(name "mupen64plus-video-rice")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1605,7 +1610,7 @@ Glide64MK2 video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vn24g7ahyv70jd06f5sq0j4bjs4axl2c0kfz4qdkpqsamsgxng8"))))
|
||||
(base32 "16bzcjawyzy3wmxaq1chjfnljspm1sgzv7swylr9lkf3kpaijcw2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1640,7 +1645,7 @@ Rice Video plugin.")
|
||||
(define-public mupen64plus-video-z64
|
||||
(package
|
||||
(name "mupen64plus-video-z64")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1649,7 +1654,7 @@ Rice Video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i8dxa0lhcsm5ss1bf74dqnzaa2bw5naj6f56ixw2qjvybrnsmk2"))))
|
||||
(base32 "17h5xh5ms7xv53wcsmagapg08qzybmc1qmch5h6i7dirp5hpa411"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
@@ -1691,7 +1696,7 @@ Z64 video plugin.")
|
||||
(define-public mupen64plus-ui-console
|
||||
(package
|
||||
(name "mupen64plus-ui-console")
|
||||
(version "2.5.9")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1700,7 +1705,7 @@ Z64 video plugin.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dyrqdfs2jkalfd86bqidgd9y1hy03qgrgwk46d3xf3kyfmaa1cq"))
|
||||
(base32 "0lir5clzqp2al7dcw9p6xg0kpz5wrgb4s3ar56siqg8nafslrqp3"))
|
||||
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
@@ -3724,6 +3729,165 @@ hardware states and PS2 system memory. This allows you to play PS2 games on
|
||||
your PC, with many additional features and benefits.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public rpcs3
|
||||
;; NB: When updating to a new release, don't forget to check if any more
|
||||
;; libraries can be linked dynamically, and to update the commits for any
|
||||
;; specialized sources included in native-inputs so that they match the
|
||||
;; sub-modules in ./3rdparty.
|
||||
(package
|
||||
(name "rpcs3")
|
||||
(version "0.0.38")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/RPCS3/rpcs3")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dwrfjs9b3ldwyn68nmyf0qip4hm1w8c3picdl3zk7z76j7rrhal"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; -fexceptions is needed to compile part of yaml-cpp.
|
||||
"-DCMAKE_CXX_FLAGS=-fexceptions"
|
||||
;; "USE_NATIVE_INSTRUCTIONS makes rpcs3 compile with -march=native,
|
||||
;; which is useful for local builds, but not good for packages."
|
||||
"-DUSE_NATIVE_INSTRUCTIONS=OFF"
|
||||
"-DWITH_LLVM=ON"
|
||||
"-DBUILD_LLVM=OFF"
|
||||
"-DSTATIC_LINK_LLVM=OFF"
|
||||
"-DUSE_FAUDIO=ON"
|
||||
"-DUSE_LIBEVDEV=ON"
|
||||
"-DUSE_DISCORD_RPC=OFF"
|
||||
"-DUSE_VULKAN=ON"
|
||||
"-DUSE_PRECOMPILED_HEADERS=OFF"
|
||||
"-DUSE_SDL=ON"
|
||||
"-DUSE_SYSTEM_CUBEB=ON"
|
||||
"-DUSE_SYSTEM_CURL=ON"
|
||||
"-DUSE_SYSTEM_FAUDIO=ON"
|
||||
"-DUSE_SYSTEM_FFMPEG=ON"
|
||||
"-DUSE_SYSTEM_FLATBUFFERS=ON"
|
||||
"-DUSE_SYSTEM_GLSLANG=ON"
|
||||
"-DUSE_SYSTEM_HIDAPI=ON"
|
||||
"-DUSE_SYSTEM_LIBPNG=ON"
|
||||
"-DUSE_SYSTEM_LIBUSB=ON"
|
||||
"-DUSE_SYSTEM_MINIUPNPC=ON"
|
||||
"-DUSE_SYSTEM_OPENAL=ON"
|
||||
"-DUSE_SYSTEM_OPENCV=ON"
|
||||
"-DUSE_SYSTEM_PUGIXML=ON"
|
||||
"-DUSE_SYSTEM_RTMIDI=ON"
|
||||
"-DUSE_SYSTEM_SDL=ON"
|
||||
"-DUSE_SYSTEM_VULKAN_MEMORY_ALLOCATOR=ON"
|
||||
"-DUSE_SYSTEM_WOLFSSL=ON"
|
||||
"-DUSE_SYSTEM_ZLIB=ON"
|
||||
"-DUSE_SYSTEM_ZSTD=ON"
|
||||
"-DBUILD_RPCS3_TESTS=ON"
|
||||
"-DRUN_RPCS3_TESTS=ON"
|
||||
;; "Choose whether to enable GameMode features or not."
|
||||
;; Off, for now, because GameMode requires systemd to work.
|
||||
"-DUSE_GAMEMODE=OFF")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'add-some-submodules
|
||||
;; TODO: Remove as many of these as possible.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "3rdparty"
|
||||
(rmdir "fusion/fusion")
|
||||
(symlink (string-append
|
||||
(search-input-directory inputs "Fusion") "/../")
|
||||
"fusion/fusion")
|
||||
(rmdir "SoundTouch/soundtouch")
|
||||
(symlink (dirname
|
||||
(search-input-file inputs "soundtouch.pc.in"))
|
||||
"SoundTouch/soundtouch")
|
||||
(rmdir "asmjit/asmjit")
|
||||
(symlink (string-append
|
||||
(search-input-directory inputs "src/asmjit")
|
||||
"/../../")
|
||||
"asmjit/asmjit")
|
||||
(rmdir "yaml-cpp/yaml-cpp")
|
||||
(symlink (dirname
|
||||
(search-input-file inputs "yaml-cpp.pc.in"))
|
||||
"yaml-cpp/yaml-cpp")
|
||||
(rmdir "stblib/stb")
|
||||
(symlink (dirname
|
||||
(search-input-file inputs "stb_c_lexer.h"))
|
||||
"stblib/stb")))))))
|
||||
(inputs
|
||||
(append
|
||||
(list cubeb
|
||||
curl
|
||||
eudev
|
||||
faudio
|
||||
;; RPCS3 v0.0.38 uses symbols that are deprecated in ffmpeg 8.
|
||||
;; See https://github.com/RPCS3/rpcs3/issues/17461
|
||||
ffmpeg-6
|
||||
flatbuffers
|
||||
glew
|
||||
glslang
|
||||
glu
|
||||
hidapi
|
||||
jack-2
|
||||
libevdev
|
||||
libglvnd
|
||||
libpng
|
||||
libusb-next
|
||||
llvm-18
|
||||
mesa
|
||||
miniupnpc-next
|
||||
openal
|
||||
opencv
|
||||
pugixml-next
|
||||
pulseaudio
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
rtmidi
|
||||
sdl3
|
||||
spirv-tools
|
||||
vulkan-loader
|
||||
wayland
|
||||
wolfssl-for-rpcs3
|
||||
zlib
|
||||
`(,zstd "lib"))))
|
||||
(native-inputs
|
||||
(list
|
||||
googletest
|
||||
pkg-config
|
||||
vulkan-memory-allocator
|
||||
(package-source asmjit)
|
||||
(package-source fusion)
|
||||
(package-source stb)
|
||||
(origin
|
||||
(file-name "rpcs3-soundtouch-source")
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/RPCS3/soundtouch")
|
||||
(commit "3982730833b6daefe77dcfb32b5c282851640c17")))
|
||||
(sha256
|
||||
(base32 "07q514mx69jkrz7i58c45iwj3zql88vdsa1sah7immwr1005i91y")))
|
||||
(origin
|
||||
(file-name "rpcs3-yaml-cpp-source")
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/RPCS3/yaml-cpp")
|
||||
(commit "456c68f452da09d8ca84b375faa2b1397713eaba")))
|
||||
(sha256
|
||||
(base32 "0spp91yz1bvr9dljc7zgjf2sqw49d8b9yinlncykjwzxm7ap7jys")))))
|
||||
(home-page "https://rpcs3.net/")
|
||||
(synopsis "PlayStation 3 emulator")
|
||||
(description "RPCS3 is an emulator and debugger for the Sony
|
||||
@acronym{PS3,PlayStation 3}.")
|
||||
(license
|
||||
(list license:gpl2 ;core, pine_server.h
|
||||
license:bsd-3 ;FindWayland.cmake, FindFFMPEG.cmake
|
||||
;;flow_layout.h, sse2neon.h, unordered_dense.h, ffx_fsr1.h,
|
||||
;;ffx_a.h, bcdec.hpp, LUrlParser.h, khrplatform.h
|
||||
license:expat))))
|
||||
|
||||
(define-public gens-gs
|
||||
(package
|
||||
(name "gens-gs")
|
||||
|
||||
@@ -40,12 +40,13 @@
|
||||
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
|
||||
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
|
||||
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
|
||||
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -129,6 +130,7 @@
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages javascript)
|
||||
#:use-module (gnu packages jupyter)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
@@ -145,6 +147,7 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages openkinect)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages pcre)
|
||||
@@ -1031,6 +1034,62 @@ user-level language.")
|
||||
;; Mark as tunable to take advantage of SIMD code in Eigen.
|
||||
(properties '((tunable? . #t))))))
|
||||
|
||||
(define-public iaito
|
||||
;; Release versions are currently out of sync with radare2,
|
||||
;; use most recent commit.
|
||||
(let ((commit "27cdc1793c2f5bf71c6f2ef5116f0bfb91edd730")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "iaito")
|
||||
(version (git-version "6.0.4" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/iaito")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0bwjxv73nsd06al2a40r5gvm99kzlq7f7q7ial9189awlnsbnwlw"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The build system assumes the sdb lib is installed alongside
|
||||
;; radare2. We already patch the radare2 package to use a
|
||||
;; system-installed sdb rather than install its own, so we must
|
||||
;; propagate those changes here.
|
||||
(add-before 'configure 'add-sdb-libs
|
||||
(lambda _
|
||||
(substitute* '("./src/lib_radare2.pri")
|
||||
(("pkg-config --libs r_core" all)
|
||||
(string-append all " sdb")))))
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
;; Does not recognize "--enable-fast-install".
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" #$output)))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
qtbase
|
||||
qtsvg
|
||||
radare2
|
||||
sdb))
|
||||
(native-inputs
|
||||
(list pkg-config python-minimal-wrapper))
|
||||
(home-page "https://github.com/radareorg/iaito")
|
||||
(synopsis "Official radare2 GUI")
|
||||
(description "Iaito is the official graphical interface for radare2, a
|
||||
libre reverse engineering framework. Iaito focuses on simplicity, parity with
|
||||
commands, features, and keybindings.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public inspekt3d
|
||||
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
|
||||
(revision "0"))
|
||||
@@ -2095,7 +2154,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(define-public radare2
|
||||
(package
|
||||
(name "radare2")
|
||||
(version "5.1.1")
|
||||
(version "6.0.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2103,29 +2162,59 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
"1nkqa8mkmvmbc3812gf5ayfmzyf0krjgc1695rpkphw3fsl76rgx"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
|
||||
"radare2-fix-meson-build-to-use-sys-qjs.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; tests require git and network access
|
||||
#:configure-flags
|
||||
#~(list "-Duse_libuv=true"
|
||||
"-Duse_ssl=true"
|
||||
"-Duse_sys_capstone=true"
|
||||
"-Duse_sys_lz4=true"
|
||||
"-Duse_sys_magic=true"
|
||||
"-Duse_sys_openssl=true"
|
||||
"-Duse_sys_xxhash=true"
|
||||
"-Duse_sys_zip=true"
|
||||
"-Duse_sys_zlib=true")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'mklibdir
|
||||
(lambda _ (mkdir-p (string-append #$output "/lib")))))
|
||||
#:configure-flags
|
||||
#~(list "--with-openssl"
|
||||
"--with-rpath"
|
||||
"--with-syscapstone"
|
||||
"--with-sysmagic"
|
||||
"--with-syszip"
|
||||
"--with-sysxxhash")
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))))
|
||||
;; TODO: Add gmp and libzip and make the build system actually find them.
|
||||
;; CHECK LATER: This patches an incorrect relative include.
|
||||
(add-before 'build 'fix-relative-include
|
||||
(lambda _
|
||||
(substitute* "../source/libr/arch/p/java/plugin.c"
|
||||
(("include \".." all)
|
||||
(string-append all "/..")))))
|
||||
;; These tests require sample binaries from an external repository.
|
||||
(add-before 'check 'skip-tests
|
||||
(lambda _
|
||||
(substitute* '("../source/test/unit/test_bin.c"
|
||||
"../source/test/unit/test_dwarf.c"
|
||||
"../source/test/unit/test_dwarf_info.c"
|
||||
"../source/test/unit/test_dwarf_integration.c"
|
||||
"../source/test/unit/test_pdb.c"
|
||||
;; TODO: add r2pipe and enable this test.
|
||||
"../source/test/unit/test_r2pipe.c")
|
||||
(("(^| )main *\\(.*" all)
|
||||
(string-append all " exit (77);\n"))))))))
|
||||
(inputs
|
||||
(list capstone libuv openssl zip))
|
||||
(list capstone
|
||||
gmp
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
quickjs-ng
|
||||
sdb
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list node
|
||||
perl
|
||||
pkg-config
|
||||
python-minimal-wrapper))
|
||||
(propagated-inputs
|
||||
;; In the Libs: section of r_hash.pc.
|
||||
(list xxhash))
|
||||
@@ -4331,11 +4420,19 @@ G-codes to binary and vice versa.")
|
||||
(lambda _
|
||||
(substitute* "tests/libslic3r/test_quadric_edge_collapse.cpp"
|
||||
(("#include <libigl/igl/qslim.h>")
|
||||
"#include <igl/qslim.h>")))))))
|
||||
"#include <igl/qslim.h>"))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/prusa-slicer")
|
||||
;; For GtkFileChooserDialog.
|
||||
`("GSETTINGS_SCHEMA_DIR" =
|
||||
(,(string-append #$(this-package-input "gtk+")
|
||||
"/share/glib-2.0/schemas")))))))))
|
||||
(native-inputs
|
||||
(list pkg-config catch2-3.8))
|
||||
(inputs
|
||||
(list boost-1.83
|
||||
(list bash-minimal
|
||||
boost-1.83
|
||||
cereal
|
||||
cgal
|
||||
curl
|
||||
@@ -5271,37 +5368,36 @@ forward kinematics solvers.")
|
||||
(name "python-orocos-kinematics-dynamics")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source orocos-kinematics-dynamics))
|
||||
(snippet '(begin
|
||||
(substitute* "python_orocos_kdl/CMakeLists.txt"
|
||||
;; Use the system pybind11 instead of the bundled version
|
||||
(("add_subdirectory\\(pybind11\\)")
|
||||
"find_package(pybind11)")
|
||||
;; change debian-specific python install directory
|
||||
(("dist-packages")
|
||||
"site-packages"))
|
||||
;; ROS 1 uses some dynamic attributes, which are
|
||||
;; disabled by default in pybind11. No harm in enabling them
|
||||
;; See "https://github.com/ros2/geometry2/issues/624
|
||||
;; and https://pybind11.readthedocs.io/en/stable/classes.html
|
||||
;; #dynamic-attributes <Both accessed June 1 2025>
|
||||
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
|
||||
(("m, \"Vector\"")
|
||||
"m, \"Vector\", py::dynamic_attr()")
|
||||
(("m, \"Frame\"")
|
||||
"m, \"Frame\", py::dynamic_attr()")
|
||||
(("m, \"Twist\"")
|
||||
"m, \"Twist\", py::dynamic_attr()")
|
||||
(("m, \"Wrench\"")
|
||||
"m, \"Wrench\", py::dynamic_attr()"))))))
|
||||
(inherit (package-source orocos-kinematics-dynamics))))
|
||||
(native-inputs (list python pybind11 python-psutil))
|
||||
(inputs (list orocos-kinematics-dynamics))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(add-after 'unpack 'fix
|
||||
(lambda _
|
||||
(substitute* "python_orocos_kdl/CMakeLists.txt"
|
||||
;; Use the system pybind11 instead of the bundled version
|
||||
(("add_subdirectory\\(pybind11\\)")
|
||||
"find_package(pybind11)")
|
||||
;; change debian-specific python install directory
|
||||
(("dist-packages")
|
||||
"site-packages"))
|
||||
;; ROS 1 uses some dynamic attributes, which are
|
||||
;; disabled by default in pybind11. No harm in enabling them
|
||||
;; See "https://github.com/ros2/geometry2/issues/624
|
||||
;; and https://pybind11.readthedocs.io/en/stable/classes.html
|
||||
;; #dynamic-attributes <Both accessed June 1 2025>
|
||||
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
|
||||
(("m, \"Vector\"")
|
||||
"m, \"Vector\", py::dynamic_attr()")
|
||||
(("m, \"Frame\"")
|
||||
"m, \"Frame\", py::dynamic_attr()")
|
||||
(("m, \"Twist\"")
|
||||
"m, \"Twist\", py::dynamic_attr()")
|
||||
(("m, \"Wrench\"")
|
||||
"m, \"Wrench\", py::dynamic_attr()"))
|
||||
(chdir "python_orocos_kdl")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
|
||||
@@ -392,50 +392,56 @@ embedded systems.")
|
||||
(define-public python-efl
|
||||
(package
|
||||
(name "python-efl")
|
||||
(version "1.26.0")
|
||||
(version "1.26.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
|
||||
"python/python-efl-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dj6f24n33hkpy0bkdclnzpxhvs8vpaxqaf7hkw0di19pjwrq25h"))
|
||||
(modules '((guix build utils)))
|
||||
;; Remove files generated by Cython
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each (lambda (file)
|
||||
(let ((generated-file
|
||||
(string-append (string-drop-right file 3) "c")))
|
||||
(when (file-exists? generated-file)
|
||||
(delete-file generated-file))))
|
||||
(find-files "efl" "\\.pyx$"))
|
||||
(delete-file "efl/eo/efl.eo_api.h")))))
|
||||
(build-system python-build-system)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
|
||||
"python/python-efl-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1mr80vgbcs03rs5lbmg8pxj8hifkrzrwdrw01plik2h729z3knyw"))
|
||||
(modules '((guix build utils)))
|
||||
;; Remove files generated by Cython
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each (lambda (file)
|
||||
(let ((generated-file
|
||||
(string-append (string-drop-right file 3) "c")))
|
||||
(when (file-exists? generated-file)
|
||||
(delete-file generated-file))))
|
||||
(find-files "efl" "\\.pyx$"))
|
||||
(delete-file "efl/eo/efl.eo_api.h")))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(setenv "ENABLE_CYTHON" "1")
|
||||
(invoke "python" "setup.py" "build")))
|
||||
(add-before 'build 'set-flags
|
||||
(lambda _
|
||||
(setenv "CFLAGS"
|
||||
(string-append "-I" (assoc-ref %build-inputs "python-dbus")
|
||||
"/include/dbus-1.0"))))
|
||||
(add-before 'check 'set-environment
|
||||
(lambda _
|
||||
;; Some tests require write access to HOME.
|
||||
(setenv "HOME" "/tmp")
|
||||
;; These tests try to connect to the internet.
|
||||
(delete-file "tests/ecore/test_09_file_download.py")
|
||||
(delete-file "tests/ecore/test_11_con.py"))))))
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "tests"
|
||||
;; These tests try to connect to the internet.
|
||||
"--ignore=tests/ecore/test_09_file_download.py"
|
||||
"--ignore=tests/ecore/test_11_con.py"
|
||||
;; The above test ignorance probably breaks this one.
|
||||
"--deselect=tests/ecore/test_08_exe.py::TestExe::testInit"
|
||||
;; This test requires access to a running Xorg server,
|
||||
;; /var/lib/dbus and /etc.
|
||||
"--ignore=tests/dbus/test_01_basics.py"
|
||||
;; XXX: RuntimeWarning: Setting standard icon failed
|
||||
"--ignore=tests/elementary/test_02_image_icon.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-flags
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((include-dir (search-input-directory inputs
|
||||
"include/dbus-1.0")))
|
||||
(setenv "CFLAGS" (string-append "-I" include-dir)))))
|
||||
(add-before 'check 'configure-tests
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))))) ;needed by tests
|
||||
(native-inputs
|
||||
(list pkg-config python-cython-0))
|
||||
(inputs
|
||||
(list efl python-dbus python-packaging))
|
||||
(list pkg-config
|
||||
python-cython-0
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(inputs (list efl python-dbus python-packaging))
|
||||
(home-page "https://www.enlightenment.org/")
|
||||
(synopsis "Python bindings for EFL")
|
||||
(description
|
||||
|
||||
@@ -185,7 +185,7 @@ testing InfiniBand networks.")
|
||||
(define-public ucx
|
||||
(package
|
||||
(name "ucx")
|
||||
(version "1.17.0")
|
||||
(version "1.19.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -195,7 +195,7 @@ testing InfiniBand networks.")
|
||||
(patches (search-patches "ucx-tcp-iface-ioctl.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"09182kx60kq7iyjyz3mpcrgp1mm0lnpc0f4hd4hlw5yyabkxrpa1"))
|
||||
"12j9200iyg6d0yr84r25hcpq8qqzfaa08klbhvgrqpflpfcljz4z"))
|
||||
(snippet
|
||||
;; As seen in commit b0a275a5492125a13020cd095fe9934e0b5e7c6a.
|
||||
#~(begin (use-modules (guix build utils))
|
||||
|
||||
@@ -692,3 +692,25 @@ as well as those for Chinese dialects. It has the ability to compose phrases
|
||||
and sentences intelligently and provide very accurate traditional Chinese
|
||||
output.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public fcitx5-hangul
|
||||
(package
|
||||
(name "fcitx5-hangul")
|
||||
(version "5.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fcitx/fcitx5-hangul")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02lkbwg25jr4hazjyxcy69midfsmxc0ksbdrfwbmqcfa3kz5d9gb"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list extra-cmake-modules pkg-config gettext-minimal))
|
||||
(inputs (list fcitx5 libhangul))
|
||||
(home-page "https://github.com/fcitx/fcitx5-hangul")
|
||||
(synopsis "Hangul support for Fcitx5")
|
||||
(description
|
||||
"This package provides the Hangul (Korean) input method engine for Fcitx5.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
@@ -952,7 +952,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
|
||||
(define-public bcachefs-linux-module
|
||||
(package
|
||||
(name "bcachefs-linux-module")
|
||||
(version "1.32.1")
|
||||
(version "1.33.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -961,7 +961,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0m85s00i1xfb9lr73j41f80akkhcijh9m0b602r76b15a0l5v3a9"))))
|
||||
(base32 "05lqw3mxi73nm1q4qv43p9hyiwi2hdx4nc9fzm7rxwip6ys1kqkd"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -354,14 +354,14 @@ Accounting.")
|
||||
(define-public homebank
|
||||
(package
|
||||
(name "homebank")
|
||||
(version "5.9.4")
|
||||
(version "5.9.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.gethomebank.org/public/sources"
|
||||
"/homebank-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gwzj3x3rnd3f5z1fzvrl740zhpnxjcsbxlmabwgkw22l6226i4c"))))
|
||||
"0ymp7qj6im1cl66lbf9q2r8dgav3dagbhbipskg8zcgj0kz0ncph"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config intltool))
|
||||
@@ -1166,14 +1166,19 @@ settings.")
|
||||
(define-public python-mnemonic
|
||||
(package
|
||||
(name "python-mnemonic")
|
||||
(version "0.20")
|
||||
(version "0.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mnemonic" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/trezor/python-mnemonic")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xi5qvj2rvi5almf9c89rl7hz1z4ms04d53pg818i4vpkmivavvw"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1r8cdlgqpmj71ap3kyhc2nq8dn29gmj7v8dlq8kgcy91jky94n8g"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-poetry-core python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-pbkdf2))
|
||||
(home-page "https://github.com/trezor/python-mnemonic")
|
||||
@@ -1252,29 +1257,6 @@ of Bitcoin BIP-0039.")
|
||||
Ledger Blue/Nano S.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-btchip-python
|
||||
(package
|
||||
(name "python-btchip-python")
|
||||
(version "0.1.32")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "btchip-python" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mcg3gfd0qk8lhral3vy9cfd4pii9kzs42q71pf6b3y0c70y1x9l"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; those require PyQt4
|
||||
(propagated-inputs
|
||||
(list python-ecdsa python-hidapi))
|
||||
(home-page "https://github.com/LedgerHQ/btchip-python")
|
||||
(synopsis "Python library to communicate with Ledger Nano dongle")
|
||||
(description
|
||||
"This package provides a Python library to communicate with Ledger
|
||||
Nano dongle.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-trezor
|
||||
(package
|
||||
(name "python-trezor")
|
||||
@@ -1481,12 +1463,18 @@ the KeepKey Hardware Wallet.")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
;; TODO: Figure out how to build from
|
||||
;; https://github.com/romanz/trezor-agent
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "keepkey_agent" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no tests in PyPI package
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(inputs
|
||||
(list python-keepkey python-packaging python-trezor-agent))
|
||||
(home-page "https://github.com/romanz/trezor-agent")
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
@@ -78,6 +79,7 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages swig)
|
||||
@@ -490,29 +492,31 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
|
||||
(package
|
||||
(name "me-cleaner")
|
||||
(version "1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/corna/me_cleaner")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system python-build-system)
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/corna/me_cleaner")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-documentation
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(man (string-append out "/share/man/man1")))
|
||||
(install-file "man/me_cleaner.1" man)
|
||||
#t))))))
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-documentation
|
||||
(lambda _
|
||||
(install-file "man/me_cleaner.1"
|
||||
(string-append #$output "/share/man/man1")))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/corna/me_cleaner")
|
||||
(synopsis "Intel ME cleaner")
|
||||
(description "This package provides tools for disabling Intel
|
||||
ME as far as possible (it only edits ME firmware image files).")
|
||||
(description
|
||||
"This package provides tools for disabling Intel ME as far as possible
|
||||
(it only edits ME firmware image files).")
|
||||
(license license:gpl3+)
|
||||
|
||||
;; This is an Intel thing.
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
|
||||
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2022 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
|
||||
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
|
||||
@@ -69,6 +69,7 @@
|
||||
;;; Copyright © 2025 Liam Hupfer <liam@hpfr.net>
|
||||
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
|
||||
;;; Copyright © 2025 Alexandre Hannud Abdo <abdo@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -575,6 +576,61 @@ intended to be optimally legible for readers who are partially visually impaired
|
||||
all characters maximally distinguishable from one another.")
|
||||
(license license:silofl1.1))))
|
||||
|
||||
(define-public font-atkinson-hyperlegible-next
|
||||
(let ((commit "7925f50f649b3813257faf2f4c0b381011f434f1")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "font-atkinson-hyperlegible-next")
|
||||
(version (git-version "2.001" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://github.com/googlefonts/atkinson-hyperlegible-next/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01m59xl35xvjv07d0qwli1czgfjg2wfgv676xi71is2rirh1y71f"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://www.brailleinstitute.org/freefont/")
|
||||
(synopsis
|
||||
"Typeface designed to increase legibility for low vision readers")
|
||||
(description
|
||||
"Atkinson Hyperlegible Next is an improvement of the typeface Atkinson
|
||||
Hyperlegible, including new characters, improved glyphs, and improved kerning.
|
||||
Additionally, the two previous weights has increased to six, all in upright
|
||||
and italic, allowing for greater flexibility in use.")
|
||||
(license license:silofl1.1))))
|
||||
|
||||
(define-public font-atkinson-hyperlegible-mono
|
||||
(let ((commit "154d50362016cc3e873eb21d242cd0772384c8f9")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "font-atkinson-hyperlegible-mono")
|
||||
(version (git-version "2.001" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://github.com/googlefonts/atkinson-hyperlegible-next-mono/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bdhp70zniqnj14raw9krb034zrvvxhzimzqys713p8ksrndck2p"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://www.brailleinstitute.org/freefont/")
|
||||
(synopsis
|
||||
"Monospace typeface designed to increase legibility for low vision readers")
|
||||
(description
|
||||
"Atkinson Hyperlegible Mono is an entirely new typeface inspired by
|
||||
Atkinson Hyperlegible. The characters in a monospace typeface all occupy the
|
||||
same width, allowing for them to be scanned quickly in table-based and coding
|
||||
environments. The glyphs in Atkinson Hyperlegible Mono are newly created for
|
||||
this variation, and unique to the typeface.")
|
||||
(license license:silofl1.1))))
|
||||
|
||||
(define-public font-lato
|
||||
(package
|
||||
(name "font-lato")
|
||||
@@ -5031,3 +5087,54 @@ is necessary, such as when composing tabular data using text.")
|
||||
technical and idiosyncratic feel—perfect for headers and pull-quotes. Made to
|
||||
work well together with Mona Sans.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
|
||||
(define-public font-peppercarrot
|
||||
(package
|
||||
(name "font-peppercarrot")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://framagit.org/peppercarrot/fonts")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1yw5wjd6rydgllf0c3g5nh9zqbnhc1wbbhsx36c08isr28sy59mm"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:license-file-regexp ".*\\.(COPYRIGHT|LICENSE)$"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; License files are spread in subdirectories, gotta catch 'em all!
|
||||
(replace 'install-license-files
|
||||
(let ((install-license-files (assoc-ref %standard-phases
|
||||
'install-license-files))
|
||||
(package-directories (find-files "."
|
||||
(lambda (file stat)
|
||||
(eq? 'directory
|
||||
(stat:type stat)))
|
||||
#:directories? #t)))
|
||||
(lambda args
|
||||
(for-each (lambda (directory)
|
||||
(with-directory-excursion directory
|
||||
(apply install-license-files args)))
|
||||
package-directories)))))))
|
||||
(home-page "https://www.peppercarrot.com/en/fonts/")
|
||||
(synopsis "Fonts used by the comic strip Pepper&Carrot")
|
||||
(description
|
||||
"This package provides a collection of open fonts compiled and adapted by David
|
||||
Revoy and collaborators for use in the comic strip Pepper&Carrot.")
|
||||
;; We list all licenses used for any of the many fonts in the collection
|
||||
(license (list license:silofl1.1
|
||||
license:silofl1.0
|
||||
(license:non-copyleft
|
||||
"http://jikasei.me/info/license.html#M_FONT_LICENSE_1")
|
||||
license:gpl3
|
||||
license:gpl3+
|
||||
license:gpl2
|
||||
license:gpl2+
|
||||
license:asl2.0
|
||||
license:cc-by3.0))))
|
||||
|
||||
@@ -2820,35 +2820,57 @@ to the C library @code{uchardet} to increase performance.")
|
||||
(version "2.5.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "udiskie" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/coldfix/udiskie")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0c6i7i7yb0lqrfxjrh63y6amw2npkp1n3dxdfjf9zh4pgbnaivd3"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0ccp55fgmcc4fsd7jsqla6k1m6v8zkn03i4axw446zh2nzxpanhl"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags #~(list "test/test_match.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'check 'fix-entry-points
|
||||
;; FIXME: See: <https://codeberg.org/guix/guix/issues/4509>.
|
||||
(lambda _
|
||||
(substitute* (string-append #$output "/bin/.udiskie-real")
|
||||
(("from udiskie.cli import Daemon.main")
|
||||
"from udiskie.cli import Daemon"))
|
||||
(substitute* (string-append #$output "/bin/.udiskie-info-real")
|
||||
(("from udiskie.cli import Info.main")
|
||||
"from udiskie.cli import Info"))
|
||||
(substitute* (string-append #$output "/bin/.udiskie-mount-real")
|
||||
(("from udiskie.cli import Mount.main")
|
||||
"from udiskie.cli import Mount"))
|
||||
(substitute* (string-append #$output "/bin/.udiskie-umount-real")
|
||||
(("from udiskie.cli import Umount.main")
|
||||
"from udiskie.cli import Umount"))))
|
||||
(add-after 'wrap 'wrap-gi-typelib
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/udiskie")
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(native-inputs
|
||||
(list asciidoc
|
||||
gettext-minimal
|
||||
gobject-introspection))
|
||||
gobject-introspection
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
gobject-introspection
|
||||
gtk+
|
||||
libappindicator
|
||||
libnotify
|
||||
python-docopt
|
||||
python-keyutils
|
||||
python-pygobject
|
||||
python-pyxdg
|
||||
python-pyyaml
|
||||
udisks))
|
||||
(propagated-inputs
|
||||
(list python-docopt python-pygobject python-keyutils python-pyxdg
|
||||
python-pyyaml))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-gi-typelib
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program (string-append out "/bin/udiskie")
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
|
||||
(home-page "https://github.com/coldfix/udiskie")
|
||||
(synopsis "Automounter for removable media")
|
||||
(description
|
||||
@@ -3229,6 +3251,41 @@ The portal interfaces include APIs for file access, opening URIs, printing
|
||||
and others.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public xdg-desktop-portal-next
|
||||
(let ((base xdg-desktop-portal))
|
||||
(package
|
||||
(inherit base)
|
||||
(version "1.20.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
|
||||
version "/xdg-desktop-portal-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p4yvbhqr8yf231gm69vdz3h7na8m6x1mhiw3bmhg4gm6x4idysb"))
|
||||
(patches (search-patches
|
||||
"xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch"))
|
||||
(modules '((guix build utils)))
|
||||
;; Disable failing tests.
|
||||
(snippet #~(substitute* "tests/meson.build"
|
||||
((".*test_dynamiclauncher.*") "")
|
||||
((".*test_notification.*") "")
|
||||
((".*test_usb.*") "")))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:configure-flags flags #~'())
|
||||
;; Requires python-furo, which isn't packaged for guix, and depends
|
||||
;; on node.js.
|
||||
#~(append '("-Ddocumentation=disabled")
|
||||
#$flags))))
|
||||
(inputs (modify-inputs (package-inputs base)
|
||||
(append gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
umockdev))))))
|
||||
|
||||
(define-public xdg-desktop-portal-gtk
|
||||
(package
|
||||
(name "xdg-desktop-portal-gtk")
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
;;; Copyright © 2025 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
|
||||
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
|
||||
;;; Copyright © 2025 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -510,13 +511,19 @@ PCM data.")
|
||||
(define-public nml
|
||||
(package
|
||||
(name "nml")
|
||||
(version "0.7.6")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nml" version))
|
||||
(sha256
|
||||
(base32 "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
|
||||
(base32 "0krs3jac9jc0zqr59ivfl5vibqc15b4yhww73j3c01dla1shvlcj"))))
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "make" "-C" "regression"))))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-pillow python-ply))
|
||||
@@ -563,38 +570,78 @@ types (revolute, prismatic, wheel, etc.).")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public python-anvil-parser
|
||||
(let ((commit "27544bb41f035617be130a209a84371cbaf837cc")
|
||||
;; Github project does not have tags.
|
||||
(let ((commit "91a7eda55f0fb55a948d1072896430c29d906809")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "python-anvil-parser")
|
||||
(version (git-version "0.9.0" revision commit))
|
||||
(version (git-version "0.10.6" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/0xTiger/anvil-parser")
|
||||
(url "https://github.com/0xTiger/anvil-parser2")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "196nli36pz4sllx1m8jlys661hgbxhcxr2c4545fqb4nd27hhwy7"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "16j7kv6v782nz1fafkxkb7v2vpwfhpi1a66ak04xawg9h1fz7vkc"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(propagated-inputs (list python-frozendict python-nbt))
|
||||
(home-page "https://github.com/0xTiger/anvil-parser")
|
||||
(home-page "https://github.com/0xTiger/anvil-parser2")
|
||||
(synopsis "Anvil file format parser")
|
||||
(description "This package provides an Anvil file format parser.")
|
||||
(license license:expat))))
|
||||
|
||||
;;~4MiB of test files.
|
||||
(define python-nbt-testdata
|
||||
(file-union
|
||||
"python-nbt-testdata"
|
||||
(list
|
||||
(let ((file "Sample_World.tar.gz"))
|
||||
`(,file
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/twoolie/NBT/files/13199373/"
|
||||
file))
|
||||
(sha256
|
||||
(base32
|
||||
"1s58g5zicx8ghdai2qix2aqq0fc675vfajica4h78c397crwjrl9"))))))))
|
||||
|
||||
(define-public python-nbt
|
||||
(package
|
||||
(name "python-nbt")
|
||||
(version "1.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "NBT" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i9ncrzy5zcfnxzkh2j31n9ayzxfncckzwa6fkz9vjq5fq9v4fys"))))
|
||||
(build-system python-build-system)
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/twoolie/NBT")
|
||||
(commit (string-append "version-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a3mj7c18m1n5iqzwwvvlk7n65kxp3xbmccsqyap36apwpbbxyd9"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "tests/regiontests.py" "tests/nbttests.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'fake-download
|
||||
;; Fake the download of the test tarball.
|
||||
(lambda _
|
||||
(substitute*
|
||||
"tests/downloadsample.py"
|
||||
(("tar_file = .*")
|
||||
(string-append
|
||||
"tar_file = '"
|
||||
#+python-nbt-testdata
|
||||
"/Sample_World.tar.gz'"))))))))
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(home-page "https://github.com/twoolie/NBT")
|
||||
(synopsis "Named Binary Tag reader and writer")
|
||||
(description
|
||||
@@ -1943,6 +1990,43 @@ programming languages.")
|
||||
visual novel engine, explaining all of its features.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rpatool
|
||||
;; XXX: No releases or version tags, see:
|
||||
;; <https://codeberg.org/shiz/rpatool/issues/28>.
|
||||
(let ((revision "0")
|
||||
(commit "74f26d5dfdd645483e02552aa766ca447ad6b191"))
|
||||
(package
|
||||
(name "rpatool")
|
||||
(version (git-version "0.8" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/shiz/rpatool")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "10dm8bak0dm84d1ciwzw6jd5y64invddlmcdnawnpp7jn3wrg1jb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "rpatool"
|
||||
(string-append #$output "/bin")))))))
|
||||
(home-page "https://codeberg.org/shiz/rpatool")
|
||||
(synopsis "Tool to work with Ren'Py archives")
|
||||
(description
|
||||
"@samp{rpatool} is a simple tool allowing you to create, modify and
|
||||
extract @url{https://www.renpy.org/,Ren'Py} Archive files
|
||||
(@code{.rpa}/@code{.rpi}). Currently, only writing RPAv2/RPAv3 archives is
|
||||
supported.")
|
||||
(license license:wtfpl2))))
|
||||
|
||||
(define-public python-pyxel
|
||||
;; Note to updaters: Use commit and revision even if you're bumping
|
||||
;; to a release, as upstream is known to "reuse" tags.
|
||||
@@ -2088,36 +2172,40 @@ robust and compatible with many systems and operating systems.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public mc2mt
|
||||
;; No tags in the repository.
|
||||
(let ((commit "039dbc26466a430e03c646dc5a9bd0822637a87a")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "mc2mt")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/listia/mc2mt")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
|
||||
(patches (search-patches "mc2mt-add-packaging-support.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(substitute* "mc2mtlib/argument_parser.py"
|
||||
(("mineclone2") "mineclone"))))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools))
|
||||
(propagated-inputs (list python-anvil-parser))
|
||||
(arguments
|
||||
(list #:tests? #f)) ; no tests
|
||||
(synopsis "Minecraft to Minetest world converter")
|
||||
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
|
||||
(package
|
||||
(name "mc2mt")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/listia/mc2mt")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
|
||||
(patches (search-patches "mc2mt-add-packaging-support.patch"))
|
||||
(modules '((guix build utils)))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-code
|
||||
(lambda* _
|
||||
(substitute* "mc2mtlib/argument_parser.py"
|
||||
(("mineclone2") "mineclone")))))))
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(propagated-inputs (list python-anvil-parser))
|
||||
(synopsis "Minecraft to Minetest world converter")
|
||||
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
|
||||
It can convert worlds from Minecraft 1.9 and later.")
|
||||
(home-page "https://github.com/listia/mc2mt")
|
||||
(license license:expat))))
|
||||
(home-page "https://github.com/listia/mc2mt")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public mygui
|
||||
(package
|
||||
|
||||
@@ -1544,7 +1544,7 @@ practise.")
|
||||
(define-public doom-runner
|
||||
(package
|
||||
(name "doom-runner")
|
||||
(version "1.8.3")
|
||||
(version "1.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1553,10 +1553,13 @@ practise.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rpywq95zy9w0wj1262x4rf84c52wg1rgf0by549qph6fybn34rn"))))
|
||||
(base32 "19jq5cj6rc8d5ghd9321a2f3v0b7z928990d7dj6ynyhkpcj769p"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-file-recursively "Screenshots")))) ;Save 1.4MiB.
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((guix build qt-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
@@ -1565,37 +1568,37 @@ practise.")
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* "DoomRunner.pro"
|
||||
(("/usr")
|
||||
#$output))
|
||||
(invoke "qmake" "DoomRunner.pro" "-spec" "linux-g++"
|
||||
"\"CONFIG+=release\"")))
|
||||
"\"CONFIG+=release\""
|
||||
(string-append "INSTALL_DIR=" #$output))))
|
||||
(replace 'build (assoc-ref gnu:%standard-phases 'build))
|
||||
(replace 'install (assoc-ref gnu:%standard-phases 'install))
|
||||
(add-after 'install 'install-xdg
|
||||
(lambda _
|
||||
(with-directory-excursion #$output
|
||||
(install-file "DoomRunner" "bin/")
|
||||
(delete-file "DoomRunner"))
|
||||
(with-directory-excursion "Install/XDG"
|
||||
(install-file "DoomRunner.desktop"
|
||||
(string-append #$output
|
||||
"/share/applications"))
|
||||
(let ((install-icon
|
||||
(lambda (size)
|
||||
(install-file (simple-format
|
||||
#f "DoomRunner.~sx~s.png"
|
||||
size size)
|
||||
(simple-format
|
||||
#f "~a/share/icons/hicolor/~sx~s/apps"
|
||||
#$output size size)))))
|
||||
(for-each install-icon
|
||||
'(16 24 32 48 64 128)))))))))
|
||||
(string-append #$output "/share/applications"))
|
||||
(install-file "io.github.Youda008.DoomRunner.appdata.xml"
|
||||
(string-append #$output "/share/metainfo"))
|
||||
(for-each
|
||||
(lambda (size)
|
||||
(let ((filename (simple-format #f "DoomRunner.~sx~s.png"
|
||||
size size)))
|
||||
(chmod filename #o444)
|
||||
(install-file
|
||||
filename
|
||||
(simple-format #f "~a/share/icons/hicolor/~sx~s/apps"
|
||||
#$output size size))))
|
||||
'(16 24 32 48 64 128))))))))
|
||||
(home-page "https://github.com/Youda008/DoomRunner")
|
||||
(synopsis "Launcher for Doom engine games")
|
||||
(description
|
||||
"Doom Runner is yet another launcher of common Doom source ports (like
|
||||
GZDoom, Zandronum, PrBoom, ...) with graphical user interface. It is
|
||||
written in C++ and Qt, and it is designed around the idea of presets
|
||||
for various multi-file modifications to allow one-click switching
|
||||
between them and minimize any repetitive work.")
|
||||
(description "Doom Runner is yet another launcher of common Doom source
|
||||
ports (e.g. GZDoom, Zandronum, PrBoom) with a graphical user interface. It
|
||||
is written in C++ and Qt, and it is designed around the idea of presets for
|
||||
various multi-file modifications to allow one-click switching between them.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public falltergeist
|
||||
@@ -3156,7 +3159,7 @@ exec -a ~s ~s \"$@\"
|
||||
(string-append lib "/main.py"))))
|
||||
(chmod bin #o555)))))))
|
||||
(native-inputs (list unzip python-setuptools))
|
||||
(inputs (list python python-pygame python-tmx))
|
||||
(inputs (list python python-pygame))
|
||||
(home-page "https://rogueboxadventures.tuxfamily.org")
|
||||
(synopsis "Classical roguelike/sandbox game")
|
||||
(description
|
||||
@@ -9235,7 +9238,7 @@ original.")
|
||||
(define-public woof-doom
|
||||
(package
|
||||
(name "woof-doom")
|
||||
(version "15.2.0")
|
||||
(version "15.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -9244,22 +9247,29 @@ original.")
|
||||
(commit (string-append "woof_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04c7hm4jnr9aiz6w4520zww6b7j86qv9xaf87hdv48cjc9sp2ljk"))
|
||||
(base32 "0ki7wqjhqhjxci04aksh9m8m35gi2db89475v79rjzdgk00b3mqv"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
(with-directory-excursion "third-party"
|
||||
(delete-file-recursively "miniz")
|
||||
(delete-file-recursively "yyjson")
|
||||
(delete-file-recursively "spng"))
|
||||
(delete-file-recursively "spng")
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_library\\(miniz.+")
|
||||
"find_package(miniz REQUIRED)")
|
||||
(("target_.+\\(miniz.+$") "")
|
||||
(("add_library\\(spng.+")
|
||||
"find_package(PkgConfig)
|
||||
pkg_search_module(spng REQUIRED spng)")
|
||||
(("target_.+\\(spng.+$") "")))
|
||||
(delete-file-recursively "win32")
|
||||
(substitute* (find-files "src" ".")
|
||||
(("miniz.h") "miniz/miniz.h"))))
|
||||
(patches (search-patches "woof-doom-unbundle-spng-miniz.patch"))))
|
||||
(("miniz.h") "miniz/miniz.h"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f)) ;'demotest' requires internet access.
|
||||
(native-inputs (list python))
|
||||
(native-inputs (list pkg-config python))
|
||||
(inputs (list libebur128
|
||||
libsndfile
|
||||
libxmp
|
||||
@@ -9270,8 +9280,8 @@ original.")
|
||||
spng
|
||||
yyjson
|
||||
fluidsynth))
|
||||
(home-page "https://github.com/fabiangreffrath/woof")
|
||||
(synopsis "MBF-style Doom source port targeted at modern systems")
|
||||
(home-page "https://fabiangreffrath.github.io/woof/")
|
||||
(synopsis "MBF-lineage Doom source port")
|
||||
(description
|
||||
"Woof! is a continuation of the MBF lineage of Doom source ports, with
|
||||
modern features such as dynamic resolution scaling, uncapped framerates,
|
||||
@@ -9284,7 +9294,6 @@ UMAPINFO, DEHEXTRA, and DSDHacked specifictions.")
|
||||
(list (license:non-copyleft
|
||||
"https://bitbucket.org/jpommier/pffft/src/master/pffft.h"
|
||||
"FFTPACK license")
|
||||
license:bsd-2
|
||||
license:bsd-3
|
||||
license:cc-by3.0
|
||||
license:cc0
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
|
||||
;;;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2025 Lars Bilke <lars.bilke@ufz.de>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
||||
@@ -266,7 +266,7 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "xvfb-run" "utility/test.sh"))))))))
|
||||
(native-inputs (list python-setuptools python-wheel xvfb-run))
|
||||
(native-inputs (list python-setuptools python-wheel xvfb-run-for-tests))
|
||||
(propagated-inputs (list python-jinja2))))
|
||||
|
||||
(define-public s2tc
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
|
||||
;;; Copyright © 2020 Christopher Lam <christopher.lck@gmail.com>
|
||||
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -57,6 +58,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
@@ -257,77 +259,95 @@ to be read using the GNOME Yelp program.")
|
||||
(license (list license:fdl1.1+ license:gpl3+)))))
|
||||
|
||||
(define-public gwenhywfar
|
||||
(let ((attachid "529")) ;; file attachid changes for each version
|
||||
(package
|
||||
(name "gwenhywfar")
|
||||
(version "5.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
|
||||
"download/" attachid "/gwenhywfar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09nnjn1i8nzlkk62wai2lbnvqap8w6y98fh520b1y883fx2g3m8a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--disable-network-checks"
|
||||
;; GTK+3, GTK+2 and QT4 are supported.
|
||||
"--with-guis=gtk3"
|
||||
"--enable-system-certs"
|
||||
"--with-libxml2-code=yes"
|
||||
"--disable-binreloc")))
|
||||
(inputs
|
||||
(list libgcrypt gnutls openssl gtk+ libxml2))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Utility library for networking and security applications")
|
||||
(description
|
||||
"This package provides a helper library for networking and security
|
||||
(package
|
||||
(name "gwenhywfar")
|
||||
(version "5.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.aquamaniac.de/git/gwenhywfar")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0p0fzi69jsr3flpr10s8gbl9i265x5j5k1q2i5yva2vsdx2j2878"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "--disable-network-checks"
|
||||
;; GTK+3, GTK+2, Qt4, Qt5 and Qt6 are supported.
|
||||
"--with-guis=gtk3"
|
||||
"--enable-system-certs"
|
||||
"--with-libxml2-code=yes"
|
||||
"--disable-binreloc")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'make-cvs
|
||||
(lambda _
|
||||
(invoke "make" "-fMakefile.cvs"))))))
|
||||
(inputs
|
||||
(list libgcrypt gnutls openssl gtk+ libxml2))
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal libtool pkg-config))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Utility library for networking and security applications")
|
||||
(description
|
||||
"This package provides a helper library for networking and security
|
||||
applications and libraries. It is used by AqBanking.")
|
||||
;; The license includes an explicit additional permission to compile and
|
||||
;; distribute this library with the OpenSSL Toolkit.
|
||||
(license license:lgpl2.1+))))
|
||||
;; The license includes an explicit additional permission to compile and
|
||||
;; distribute this library with the OpenSSL Toolkit.
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public aqbanking
|
||||
(let ((attachid "531")) ;; file attachid changes for each version
|
||||
(package
|
||||
(name "aqbanking")
|
||||
(version "6.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
|
||||
"download/" attachid "/aqbanking-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1yqbwh91gwwqgiv8cf15rc9mxcdlikhbr5qknaqp5bavp63l8qrp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; Parallel building fails because aqhbci is required before it's
|
||||
;; built.
|
||||
#:parallel-build? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Embed the package version instead of the build date
|
||||
(add-after 'unpack 'use-version-instead-of-date
|
||||
(lambda _
|
||||
(substitute*
|
||||
"src/libs/plugins/backends/aqhbci/header.xml.in"
|
||||
(("@DATETIME@") ,version)))))))
|
||||
(propagated-inputs
|
||||
(list gwenhywfar))
|
||||
(inputs
|
||||
(list gmp xmlsec gnutls))
|
||||
(native-inputs
|
||||
(list pkg-config gettext-minimal libltdl))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Interface for online banking tasks")
|
||||
(description
|
||||
"AqBanking is a modular and generic interface to online banking tasks,
|
||||
(package
|
||||
(name "aqbanking")
|
||||
(version "6.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.aquamaniac.de/git/aqbanking")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0ys5r8lbr1nvd14fr82rs6c16iqfpd1hdz5l9s8l9biy2sq8jh0z"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Parallel building fails because aqhbci is required before it's
|
||||
;; built.
|
||||
#:parallel-build? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'make-cvs
|
||||
(lambda _
|
||||
(invoke "make" "-fMakefile.cvs")))
|
||||
;; Embed the package version instead of the build date
|
||||
(add-after 'make-cvs 'use-version-instead-of-date
|
||||
(lambda _
|
||||
(substitute*
|
||||
"src/libs/plugins/backends/aqhbci/header.xml.in"
|
||||
(("@DATETIME@") #$version))))
|
||||
(add-before 'build 'build-types
|
||||
(lambda _
|
||||
(invoke "make" "typedefs")
|
||||
(invoke "make" "typefiles"))))))
|
||||
(propagated-inputs
|
||||
(list gwenhywfar))
|
||||
(inputs
|
||||
(list gmp xmlsec gnutls))
|
||||
(native-inputs
|
||||
(list autoconf automake gettext-minimal libltdl libtool pkg-config))
|
||||
(home-page "https://www.aquamaniac.de")
|
||||
(synopsis "Interface for online banking tasks")
|
||||
(description
|
||||
"AqBanking is a modular and generic interface to online banking tasks,
|
||||
financial file formats (import/export) and bank/country/currency information.
|
||||
AqBanking uses backend plugins to actually perform the online tasks. HBCI,
|
||||
OFX DirectConnect, YellowNet, GeldKarte, and DTAUS discs are currently
|
||||
supported. AqBanking is used by GnuCash, KMyMoney, and QBankManager.")
|
||||
;; AqBanking is licensed under the GPLv2 or GPLv3
|
||||
(license (list license:gpl2 license:gpl3)))))
|
||||
;; AqBanking is licensed under the GPLv2 or GPLv3
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
|
||||
@@ -584,6 +584,7 @@ interface (FFI) of Guile.")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gpg" version))
|
||||
(patches (search-patches "python-gpg-setup-72.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
|
||||
@@ -709,18 +710,22 @@ signing, decryption, verification, and key-listing parsing.")
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public pius
|
||||
;; The last release was from 2019, the latest commit is from 2025
|
||||
(let ((commit "5f7c10bd3b058c864b128a3b0e0c0efa1f1befa2")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "pius")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/jaymzh/pius/releases/download/v"
|
||||
version "/pius-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"11fhmfvr0avxl222rv43wjd2xjbpxrsmcl8xwmn0nvf1rw95v9fn"))))
|
||||
(build-system python-build-system)
|
||||
(version (git-version "3.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jaymzh/pius")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qf1fxwdrnfkia0c1iz752mb9flbjl9jgh75dls51j1k8fzbl758"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
@@ -729,8 +734,13 @@ signing, decryption, verification, and key-listing parsing.")
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "libpius/constants.py"
|
||||
(("/usr/bin/gpg2")
|
||||
(search-input-file inputs "bin/gpg"))))))))
|
||||
(inputs (list perl ;for 'pius-party-worksheet'
|
||||
(search-input-file inputs "bin/gpg")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./run_tests")))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list perl ;for 'pius-party-worksheet'
|
||||
gnupg))
|
||||
(synopsis "Programs to simplify GnuPG key signing")
|
||||
(description
|
||||
@@ -742,7 +752,7 @@ the process. The @command{pius-keyring-mgr} and
|
||||
@command{pius-party-worksheet} commands help organizers of PGP key signing
|
||||
parties.")
|
||||
(license license:gpl2)
|
||||
(home-page "https://www.phildev.net/pius/index.shtml")))
|
||||
(home-page "https://github.com/jaymzh/pius"))))
|
||||
|
||||
(define-public signing-party
|
||||
(package
|
||||
|
||||
@@ -604,9 +604,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"zh-CN"
|
||||
"zh-TW"))
|
||||
|
||||
(define %icecat-base-version "140.5.0")
|
||||
(define %icecat-base-version "140.6.0")
|
||||
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
|
||||
(define %icecat-build-id "20251111000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icecat-build-id "20251211000000") ;must be of the form YYYYMMDDhhmmss
|
||||
|
||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
@@ -626,9 +626,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qhhsgk1dvdrxvvvry6gpijqzpbgmc6h1fd01c7478ppwprpwaw3"))))
|
||||
"1jadc0ynq49zcqd7ix9nxlrqy5gfhm61p7yliwy068bma2mwjdbc"))))
|
||||
|
||||
(gnuzilla-commit "5897aee761cc6d179bd8632f085c3c14ccf7db6c")
|
||||
(gnuzilla-commit "f4e50b9a4d5384ce2e860133bf0beaaccbf19b46")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -639,7 +639,7 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"1yk3bpsa01gy5s5dwavsr089qp5dznzb8za5k3ab3fs79i9vdg6z"))))
|
||||
"0zjzw7blal3niyzyvw33w2cg906pnjbmvf7gsgas2in9xy3rlix6"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
|
||||
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
|
||||
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -3516,7 +3517,7 @@ traffic.")))
|
||||
(define-public ssh-to-pgp
|
||||
(package
|
||||
(name "ssh-to-pgp")
|
||||
(version "1.1.4")
|
||||
(version "1.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3525,7 +3526,7 @@ traffic.")))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xaj6pnk5y2flnxm57j9bpdpll9vhg1rbjj4v3a7hn1gginxpprx"))))
|
||||
(base32 "10n4xggambw3b9nw0qsz36v7xzyvg31s8xqj66j179f78rdclpw7"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1815,6 +1815,47 @@ the OTEL Go SDK.")
|
||||
(description "This package provides a CSS parser and inliner.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-aymerick-raymond
|
||||
(package
|
||||
(name "go-github-com-aymerick-raymond")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aymerick/raymond")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0s5nxzx87a12hcdzhliy1j8albfx2jqddaks4m86yfrcawm6vndn"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/aymerick/raymond"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Replace vendored mustache version with the one from 'inputs'.
|
||||
(add-before 'check 'supply-mustache
|
||||
(lambda* (#:key inputs import-path #:allow-other-keys)
|
||||
(let ((mustache (string-append "src/" import-path "/mustache")))
|
||||
(delete-file-recursively mustache)
|
||||
(copy-recursively #$(this-package-input "mustache-specs")
|
||||
mustache)))))))
|
||||
(inputs `(("mustache-specs" ,(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url
|
||||
"https://github.com/mustache/spec")
|
||||
(commit
|
||||
"83b0721610a4e11832e83df19c73ace3289972b9")))
|
||||
(sha256 (base32
|
||||
"1g2f6hi04vkxrk53ixzm7yvkg5v8m00dh9nrkh9lxnx8aw824y80"))))))
|
||||
(propagated-inputs (list go-gopkg-in-yaml-v2))
|
||||
(home-page "https://github.com/aymerick/raymond")
|
||||
(synopsis "Handlebars for Golang")
|
||||
(description
|
||||
"This package provides a minimal templating engine for Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
|
||||
(package
|
||||
(name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
|
||||
@@ -6277,6 +6318,29 @@ sessions, flash messages, custom backends, and more.")
|
||||
protocol.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-gosimple-slug
|
||||
(package
|
||||
(name "go-github-com-gosimple-slug")
|
||||
(version "1.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gosimple/slug")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15gk6hdd8kjfl0srlf3gnjq34m64as1s6pjv7paaxd1zvrcml46y"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/gosimple/slug"))
|
||||
(propagated-inputs (list go-github-com-gosimple-unidecode))
|
||||
(home-page "https://github.com/gosimple/slug")
|
||||
(synopsis "URL-friendly slugify with multiple language support")
|
||||
(description "Generates slug from Unicode string for use in URLs.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public go-github-com-gregjones-httpcache
|
||||
(package
|
||||
(name "go-github-com-gregjones-httpcache")
|
||||
@@ -16648,6 +16712,31 @@ etc)
|
||||
be used as both a binary and a library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-mvdan-xurls
|
||||
(package
|
||||
(name "go-github-com-mvdan-xurls")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mvdan/xurls")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05q4nqbpgfb0a35sn22rn9mlag2ks4cgwb54dx925hipp6zgj1hx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/mvdan/xurls"))
|
||||
(propagated-inputs (list go-golang-org-x-net))
|
||||
(home-page "https://github.com/mvdan/xurls")
|
||||
(synopsis "Extracts URLs from text")
|
||||
(description
|
||||
"Xurls extracts urls from plain text using regular expressions. It can
|
||||
be used as both a binary and a library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-nhooyr-io-websocket
|
||||
(package
|
||||
(name "go-nhooyr-io-websocket")
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
|
||||
;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2023 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2023 Sergey Trofimov <sarg@sarg.org.ru>
|
||||
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
|
||||
@@ -1371,6 +1371,28 @@ be stripped.")
|
||||
with as little developer effort as possible.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alecthomas-kong-for-zk
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit go-github-com-alecthomas-kong)
|
||||
(name "go-github-com-alecthomas-kong-for-zk")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alecthomas/kong")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1lk4nb8ilvy0l5szj4s6wnz716vlz0v253423ykmph5l6bmips1k"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:import-path "github.com/alecthomas/kong"))
|
||||
(propagated-inputs (list go-github-com-alecthomas-repr
|
||||
go-github-com-pkg-errors)))))
|
||||
|
||||
(define-public go-github-com-alecthomas-kong-hcl
|
||||
(package
|
||||
(name "go-github-com-alecthomas-kong-hcl")
|
||||
@@ -7924,6 +7946,27 @@ string into a slice of words.")
|
||||
defined output to the standard output.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-fatih-color-for-zk
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit go-github-com-fatih-color)
|
||||
(name "go-github-com-fatih-color-for-zk")
|
||||
(version "1.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fatih/color")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "029qkxsdpblhrpgbv4fcmqwkqnjhx08hwiqp19pd7zz6l8a373ay"))))
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/fatih/color"
|
||||
#:test-flags
|
||||
#~(list "-vet=off"))))))
|
||||
|
||||
(define-public go-github-com-fatih-gomodifytags
|
||||
;; This particular commit (v1.17.1-0.20250423142747-f3939df9aa3c) provides
|
||||
;; "modifytags" submodule which is required for gopls@0.19.1.
|
||||
@@ -8525,6 +8568,30 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods
|
||||
@code{MarshalJSON} and @code{UnmarshalJSON} unlike go-yaml.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-gosimple-unidecode
|
||||
(package
|
||||
(name "go-github-com-gosimple-unidecode")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gosimple/unidecode")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dxdddn744l0s1lr006s2a4k02w6qx8j3k31c7sfflh7wvwzcdzx"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/gosimple/unidecode"))
|
||||
(home-page "https://github.com/gosimple/unidecode")
|
||||
(synopsis "Unicode transliterator for Golang")
|
||||
(description
|
||||
"Package unidecode implements a unicode transliterator which
|
||||
replaces non-ASCII characters with their ASCII approximations.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-git-lfs-go-netrc
|
||||
(package
|
||||
(name "go-github-com-git-lfs-go-netrc")
|
||||
@@ -20011,6 +20078,30 @@ logging.")
|
||||
#:go go-1.23
|
||||
#:import-path "github.com/russross/blackfriday/v2"))))
|
||||
|
||||
(define-public go-github-com-rvflash-elapsed
|
||||
(package
|
||||
(name "go-github-com-rvflash-elapsed")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rvflash/elapsed")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jawknvv51k1awlzpyr2qc1s75s1fg3l40c0zhixp1sc98hl434c"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/rvflash/elapsed"))
|
||||
(home-page "https://github.com/rvflash/elapsed")
|
||||
(synopsis "Calculates the elapsed time for a given date")
|
||||
(description
|
||||
"This package can be used to return the elapsed time since a
|
||||
given time in a human-readable format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-rwcarlsen-goexif
|
||||
;; No release or version tag, Golang pseudo version:
|
||||
;; 0.0.0-20190401172101-9e8deecbddbd.
|
||||
@@ -22267,6 +22358,31 @@ flushing entries at a given size or interval, useful for cases such as
|
||||
batching log events.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tj-go-naturaldate
|
||||
(package
|
||||
(name "go-github-com-tj-go-naturaldate")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tj/go-naturaldate")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12d7nf1jd7nk9r8ifn1hr21a7m4yb1garmiw2grrsi5zsqsh2jb1"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/tj/go-naturaldate"))
|
||||
(propagated-inputs (list go-github-com-tj-assert))
|
||||
(home-page "https://github.com/tj/go-naturaldate")
|
||||
(synopsis "Provides natural date time parsing")
|
||||
(description
|
||||
"This package parses human-friendly relative date/time ranges.")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define-public go-github-com-tj-go-spin
|
||||
(package
|
||||
(name "go-github-com-tj-go-spin")
|
||||
@@ -22392,6 +22508,79 @@ supported by the time package
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tliron-glsp
|
||||
(package
|
||||
(name "go-github-com-tliron-glsp")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tliron/glsp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vz4idndpcxrkjck6m0azdg8zsgcxcchf0ldhnkr8fj3z2sllljr"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/tliron/glsp"))
|
||||
(propagated-inputs (list go-github-com-sasha-s-go-deadlock
|
||||
go-github-com-tliron-kutil
|
||||
go-github-com-sourcegraph-jsonrpc2
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-gorilla-websocket
|
||||
go-golang-org-x-term
|
||||
go-golang-org-x-crypto
|
||||
go-github-com-zchee-color))
|
||||
(home-page "https://github.com/tliron/glsp")
|
||||
(synopsis "Language Server Protocol SDK for Golang")
|
||||
(description
|
||||
"Implementation of the @acronym{LSP, language server protocol}
|
||||
for Golang, allowing the creating of custom language servers.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tliron-kutil
|
||||
(package
|
||||
(name "go-github-com-tliron-kutil")
|
||||
(version "0.1.59")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tliron/go-kutil")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07lhzgpsi96icdya874xmfd1ymg4s4y09s7m7h398aryn7hbysyg"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; TODO: Not ready packages required for tests and full build.
|
||||
;; (propagated-inputs
|
||||
;; (list
|
||||
;; go-github-com-beevik-etree
|
||||
;; go-github-com-coreos-go-systemd
|
||||
;; go-github-com-dop251-goja
|
||||
;; go-github-com-fxamacker-cbor
|
||||
;; go-github-com-go-git-go-git
|
||||
;; go-github-com-google-go-containerregistry
|
||||
;; go-github-com-hokaccha-go-prettyjson
|
||||
;; go-github-com-mitchellh-hashstructure
|
||||
;; go-github-com-segmentio-ksuid
|
||||
;; go-github-com-tliron-yamlkeys
|
||||
;; go-github-com-zchee-color
|
||||
;; go-k8s-io-apiextensions-apiserver
|
||||
;; go-k8s-io-klog))
|
||||
#:skip-build? #t
|
||||
#:tests? #f
|
||||
#:import-path "github.com/tliron/kutil"))
|
||||
(home-page "https://github.com/tliron/go-kutil")
|
||||
(synopsis "Utility library for Golang")
|
||||
(description
|
||||
"This package provides a collection of Golang utilities.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tomwright-dasel-v2
|
||||
(package
|
||||
(name "go-github-com-tomwright-dasel-v2")
|
||||
@@ -24052,6 +24241,31 @@ deltas can be applied to a JSON object to \"patch\" them.")
|
||||
common sequence} values from two arbitrary arrays.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-yuin-goldmark-meta
|
||||
(package
|
||||
(name "go-github-com-yuin-goldmark-meta")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/yuin/goldmark-meta")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07dnwpkcifk9lw25ncflwdzmp8xqwbsbq0bnw3v7ljz9i8zi3ya3"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/yuin/goldmark-meta"))
|
||||
(propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-yuin-goldmark))
|
||||
(home-page "https://github.com/yuin/goldmark-meta")
|
||||
(synopsis "YAML metadata extension for the goldmark markdown parser")
|
||||
(description
|
||||
"Extension for the @code{goldmark} markdown parser which enables
|
||||
defining document metadata in the YAML format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-yuin-gopher-lua
|
||||
(package
|
||||
(name "go-github-com-yuin-gopher-lua")
|
||||
@@ -24147,6 +24361,35 @@ Go host programs.")
|
||||
from the system keyring.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zchee-color
|
||||
(package
|
||||
(name "go-github-com-zchee-color")
|
||||
(version "2.0.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zchee/color")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0im301c9m5702lsv3qvzwmx943m9hmrpb2670zfv0z14cm7fqhls"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-vet=off")
|
||||
#:import-path "github.com/zchee/color/v2"))
|
||||
(propagated-inputs (list go-github-com-mattn-go-isatty
|
||||
go-github-com-mattn-go-colorable))
|
||||
(home-page "https://github.com/zchee/color")
|
||||
(synopsis "Color package for Golang")
|
||||
(description
|
||||
"Package color is an ANSI color package to output colorized or
|
||||
SGR defined output to the standard output. The API can be used in several way,
|
||||
pick one that suits you.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zclconf-go-cty
|
||||
(package
|
||||
(name "go-github-com-zclconf-go-cty")
|
||||
@@ -24467,6 +24710,31 @@ It is a maintained fork of @url{gorilla/schema,
|
||||
https://github.com/gorilla/schema}")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-zk-org-pretty
|
||||
(package
|
||||
(name "go-github-com-zk-org-pretty")
|
||||
(version "0.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zk-org/pretty")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "086zcjamclnn3y9w4ww88ik9avwihbxk7h08vk7686643i1zij96"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/zk-org/pretty"))
|
||||
(propagated-inputs (list go-github-com-rogpeppe-go-internal
|
||||
go-github-com-kr-text))
|
||||
(home-page "https://github.com/zk-org/pretty")
|
||||
(synopsis "Pretty printing for Golang values")
|
||||
(description
|
||||
"This package provides a pretty printing library for Golang values.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-zyedidia-clipper
|
||||
(package
|
||||
(name "go-github-com-zyedidia-clipper")
|
||||
@@ -25802,6 +26070,34 @@ distributions of benchmark measurements
|
||||
(list
|
||||
#:import-path "gopkg.in/alecthomas/kingpin.v2"))))
|
||||
|
||||
(define-public go-gopkg-in-djherbis-times-v1
|
||||
(package
|
||||
(name "go-gopkg-in-djherbis-times-v1")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/djherbis/times")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dk087l9c927f90zrsmyxxfx5i980r952qw47j9srq2q7dd0b4ni"))
|
||||
(modules '((guix build utils)))
|
||||
;; Fix import path for itself in the example code (build by 'check).
|
||||
(snippet '(substitute* "example/main.go"
|
||||
(("github.com/djherbis/times")
|
||||
"gopkg.in/djherbis/times.v1")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "gopkg.in/djherbis/times.v1"))
|
||||
(home-page "https://github.com/djherbis/times")
|
||||
(synopsis "File times for Golang")
|
||||
(description
|
||||
"This package allows access different file time metadata from Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-gopkg-in-fsnotify-v1
|
||||
(package/inherit go-github-com-fsnotify-fsnotify
|
||||
(name "go-gopkg-in-fsnotify-v1")
|
||||
|
||||
@@ -667,7 +667,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
#~(modify-phases #$phases
|
||||
(delete 'skip-TestGoPathShlibGccgo-tests)
|
||||
(delete 'patch-source)
|
||||
(delete 'disable-more-tests)
|
||||
(add-after 'unpack 'patch-os-tests
|
||||
(lambda _
|
||||
(substitute* "src/os/os_test.go"
|
||||
@@ -717,6 +716,45 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(substitute* "src/cmd/cgo/internal/testsanitizers/asan_test.go"
|
||||
((".*arena_fail.*") ""))))
|
||||
|
||||
(replace 'disable-more-tests
|
||||
(lambda _
|
||||
#$@(cond
|
||||
((target-aarch64?)
|
||||
;; https://go-review.googlesource.com/c/go/+/151303
|
||||
;; This test is known buggy on aarch64 and is enabled and
|
||||
;; disabled upstream with some regularity.
|
||||
#~((substitute* "src/plugin/plugin_test.go"
|
||||
(("package plugin_test")
|
||||
(string-append "//go:build !(linux && arm64)\n\n"
|
||||
"package plugin_test")))
|
||||
;; collect2: fatal error: cannot find 'ld'
|
||||
;; Disable testshared by adding a build constraint that
|
||||
;; excludes linux/arm64.
|
||||
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
|
||||
(("package shared_test")
|
||||
(string-append "//go:build !(linux && arm64)\n\n"
|
||||
"package shared_test")))
|
||||
(substitute* "src/cmd/dist/test.go"
|
||||
((".*testcshared.*") "")
|
||||
((".*testshared.*") ""))))
|
||||
((target-arm32?)
|
||||
;; https://go-review.googlesource.com/c/go/+/151303
|
||||
;; This test is known buggy on aarch64 so we disable
|
||||
;; it on armhf also since we emulate armhf on aarch64.
|
||||
#~((substitute* "src/plugin/plugin_test.go"
|
||||
(("package plugin_test")
|
||||
(string-append "//go:build !(linux && arm)\n\n"
|
||||
"package plugin_test")))
|
||||
;; collect2: fatal error: cannot find 'ld'
|
||||
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
|
||||
(("package shared_test")
|
||||
(string-append "//go:build !(linux && arm)\n\n"
|
||||
"package shared_test")))
|
||||
(substitute* "src/cmd/dist/test.go"
|
||||
((".*testcshared.*") "")
|
||||
((".*testshared.*") ""))))
|
||||
(else (list #t)))))
|
||||
|
||||
(add-after 'enable-external-linking 'enable-external-linking-1.21
|
||||
(lambda _
|
||||
;; Invoke GCC to link any archives created with GCC (that is,
|
||||
|
||||
@@ -205,7 +205,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
|
||||
(define-public gpxsee
|
||||
(package
|
||||
(name "gpxsee")
|
||||
(version "13.22")
|
||||
(version "15.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -214,7 +214,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15m5rqky2fwsq5n6x531350x39wwhpv1hz56m1yfaxj7acxhb2p5"))))
|
||||
(base32 "0kfbx7vv740fkx96v3m1gywl0mdfs3mxq84hmipjksm59qi4s3yy"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -2948,7 +2948,7 @@ and enables interoperable use of content across the industry.")
|
||||
(define-public monado
|
||||
(package
|
||||
(name "monado")
|
||||
(version "25.0.0")
|
||||
(version "25.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2957,7 +2957,7 @@ and enables interoperable use of content across the industry.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h4ivjqdj1qisgp1b49h3aqqjlrbd5najyd1vrhskdlz1yzz252p"))))
|
||||
"09bmcqr01kakhzc26r2kmlqd1l3hqr33360qrrpmiy6mlgpsci45"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list ffmpeg
|
||||
|
||||
@@ -428,21 +428,17 @@ graphs in Graphviz's DOT language, written in pure Python.")
|
||||
(sha256
|
||||
(base32
|
||||
"1kp77wiv7b5qib82i3y3sn9r49rym43aaqm5aw1bwnzfbbq2m6i9"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "tests"
|
||||
;; The test_semicolon test fails for unknown reason
|
||||
;; (see:
|
||||
;; https://github.com/kjellmf/dot2tex/issues/94).
|
||||
"-k" "not test_semicolon")))))))
|
||||
;; tests: 57 passed, 1 deselected
|
||||
#:test-flags
|
||||
;; The test_semicolon test fails for unknown reason, see:
|
||||
;; <https://github.com/kjellmf/dot2tex/issues/94>.
|
||||
#~(list "--deselect=tests/test_dot2tex.py::MultipleStatements::test_semicolon")))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools
|
||||
(texlive-local-tree
|
||||
(list texlive-pgf
|
||||
texlive-preview
|
||||
@@ -469,28 +465,35 @@ This approach allows:
|
||||
(define-public gprof2dot
|
||||
(package
|
||||
(name "gprof2dot")
|
||||
(version "2021.02.21")
|
||||
(version "2025.04.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jrfonseca/gprof2dot")
|
||||
(commit version)))
|
||||
(url "https://github.com/jrfonseca/gprof2dot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jjhsjf5fdi1fkn7mvhnzkh6cynl8gcjrygd3cya5mmda3akhzic"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0yil32pbcarwsfmhgn2zhldjj985v9p80f2yi2shkaxzfc4w6zwi"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "tests/test.py")))))))
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags
|
||||
#~(list "tests/test.py"
|
||||
"--python=bash"
|
||||
"--max-acceptable=0"
|
||||
(string-append "--gprof2dot=" #$output "/bin/gprof2dot"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-tests
|
||||
;; Prevent irrelevant errors that cause test output mismatches:
|
||||
;; ‘Fontconfig error: No writable cache directories’
|
||||
(lambda _
|
||||
(setenv "XDG_CACHE_HOME" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list graphviz))
|
||||
(list graphviz
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/jrfonseca/gprof2dot")
|
||||
(synopsis "Generate a dot graph from the output of several profilers")
|
||||
(description "This package provides a Python script to convert the output
|
||||
|
||||
@@ -1009,9 +1009,8 @@ application suites.")
|
||||
(define-public gtk+
|
||||
(package
|
||||
(inherit gtk+-2)
|
||||
(replacement gtk+/fixed)
|
||||
(name "gtk+")
|
||||
(version "3.24.49")
|
||||
(version "3.24.51")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1020,7 +1019,7 @@ application suites.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
|
||||
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
|
||||
(patches (search-patches
|
||||
"gtk3-respect-GUIX_GTK3_PATH.patch"
|
||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
|
||||
@@ -1141,23 +1140,6 @@ application suites.")
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
(files '("lib/gtk-3.0")))))))
|
||||
|
||||
(define-public gtk+/fixed
|
||||
(let* ((base gtk+)
|
||||
(source (package-source base)))
|
||||
(package
|
||||
(inherit base)
|
||||
(version "3.24.51")
|
||||
(source
|
||||
(origin
|
||||
(inherit source)
|
||||
(uri (git-reference
|
||||
(inherit (origin-uri source))
|
||||
(commit version)))
|
||||
(file-name (git-file-name (package-name base) version))
|
||||
(sha256
|
||||
(base32
|
||||
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh")))))))
|
||||
|
||||
(define-public gtk
|
||||
(package
|
||||
(name "gtk")
|
||||
|
||||
@@ -1030,7 +1030,7 @@ invocations."))))
|
||||
(define-public guile-dsv
|
||||
(package
|
||||
(name "guile-dsv")
|
||||
(version "0.8.0")
|
||||
(version "0.8.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1039,7 +1039,7 @@ invocations."))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mc4najwji8144xzhpnrljrmh7m9iiykf3bp3lzksrwqyhz8np2k"))))
|
||||
"0hpdl2x0lp0dqpx23l29a45lvn5c2qpd4bzrl8d46vm4nraqi7aa"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf
|
||||
automake
|
||||
@@ -1053,29 +1053,28 @@ invocations."))))
|
||||
(inputs (list bash-minimal guile-3.0))
|
||||
(propagated-inputs (list guile-lib guile-smc))
|
||||
(arguments
|
||||
`(#:modules (((guix build guile-build-system)
|
||||
#:select (target-guile-effective-version))
|
||||
,@%default-gnu-modules)
|
||||
#:imported-modules ((guix build guile-build-system)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'strip)
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(guile-lib (assoc-ref inputs "guile-lib"))
|
||||
(version (target-guile-effective-version))
|
||||
(scm (string-append "/share/guile/site/" version))
|
||||
(go (string-append "/lib/guile/" version
|
||||
"/site-ccache")))
|
||||
(wrap-program (string-append bin "/dsv")
|
||||
`("GUILE_LOAD_PATH" prefix
|
||||
(,(string-append out scm) ,(string-append
|
||||
guile-lib scm)))
|
||||
`("GUILE_LOAD_COMPILED_PATH" prefix
|
||||
(,(string-append out go) ,(string-append guile-lib
|
||||
go))))) #t)))))
|
||||
(list #:modules `(((guix build guile-build-system)
|
||||
#:select (target-guile-effective-version))
|
||||
,@%default-gnu-modules)
|
||||
#:imported-modules `((guix build guile-build-system)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'strip)
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(guile-lib (assoc-ref inputs "guile-lib"))
|
||||
(version (target-guile-effective-version))
|
||||
(scm (string-append "/share/guile/site/" version))
|
||||
(go (string-append "/lib/guile/" version
|
||||
"/site-ccache")))
|
||||
(wrap-program (string-append bin "/dsv")
|
||||
`("GUILE_LOAD_PATH" prefix
|
||||
(,(string-append #$output scm)
|
||||
,(string-append guile-lib scm)))
|
||||
`("GUILE_LOAD_COMPILED_PATH" prefix
|
||||
(,(string-append #$output go)
|
||||
,(string-append guile-lib go))))))))))
|
||||
(home-page "https://github.com/artyom-poptsov/guile-dsv")
|
||||
(synopsis "DSV module for Guile")
|
||||
(description
|
||||
|
||||
131
gnu/packages/hare-apps.scm
Normal file
131
gnu/packages/hare-apps.scm
Normal file
@@ -0,0 +1,131 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; 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 hare-apps)
|
||||
#:use-module (gnu packages hare-xyz)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (guix build-system hare)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public bonsai
|
||||
(package
|
||||
(name "bonsai")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/bonsai")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "148rccbh5alpnz36ricv8y26qyrqwm4g7mj936vpwrxwd9dkwmff"))))
|
||||
(build-system hare-build-system)
|
||||
(inputs (list hare-ev hare-json))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://bonsai.builtwithhare.org")
|
||||
(synopsis "Finite State Machine structured as a tree that trigger commands")
|
||||
(description "Bonsai is a Finite State Machine structured as a tree. It
|
||||
has been designed to trigger commands when successive events and/or a precise
|
||||
context is accepted. There is 4 kind of transition with specific acceptance
|
||||
rules:
|
||||
|
||||
@itemize
|
||||
@item event transition: The received event name match the transition
|
||||
one
|
||||
@item context transition: The state context match the transition one @item
|
||||
exec transition: The transition command is run and succeed
|
||||
@item delay
|
||||
transition: The state wait for the delay transition duration. No other
|
||||
accepted event is received while waiting
|
||||
@end itemize
|
||||
|
||||
The state will transition following every accepted transition. If there is no
|
||||
more available transition, the state goes back to the initial position.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public hare-lsp
|
||||
(package
|
||||
(name "hare-lsp")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~whynothugo/hare-lsp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h763ynv1zh2ili26bkd9anmv8srva63rwpv2avnmimia1bvsx81"))))
|
||||
(build-system hare-build-system)
|
||||
(inputs (list hare-json))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://git.sr.ht/~whynothugo/hare-lsp/")
|
||||
(synopsis "Language server implementation for Hare")
|
||||
(description "This package provides a language server implementation for
|
||||
Hare.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public hare-mcron
|
||||
(package
|
||||
(name "hare-mcron")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/mcron")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18h85fpxa2hs3fr132j85qh8b73dsawcn845ifk8ffgvh2kmw9zl"))))
|
||||
(build-system hare-build-system)
|
||||
(native-inputs (list scdoc))
|
||||
(inputs (list hare-ev))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://mcron.builtwithhare.org/")
|
||||
(synopsis "Sleeping cron job scheduler")
|
||||
(description "Mcron is a cron implementation that is designed to be used
|
||||
on suspendable machines, like mobile phones. It will wake the device from
|
||||
suspension to trigger the tasks.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public sxmobar
|
||||
(package
|
||||
(name "sxmobar")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/sxmobar")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dlw4sbf3awzxvglmfml5fmi9w6zmqxr2f4xqsrwchi154bixix9"))))
|
||||
(build-system hare-build-system)
|
||||
(native-inputs (list scdoc))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://sxmobar.builtwithhare.org")
|
||||
(synopsis "Status bar component manager")
|
||||
(description "sxmobar is a status bar component manager. It is used to
|
||||
generate status lines for @command{i3status}, @command{i3bar},
|
||||
@command{swaybar}, and others.")
|
||||
(license license:agpl3+)))
|
||||
@@ -48,6 +48,26 @@
|
||||
(description "This package provides compression algorithms for Hare.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-ev
|
||||
(package
|
||||
(name "hare-ev")
|
||||
(version "0.25.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~sircmpwn/hare-ev")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ak9anvzg2qfdsvxpcszshimw5cqbm52zfq7kwx7z0yf6qi6zm0f"))))
|
||||
(build-system hare-build-system)
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://sr.ht/~sircmpwn/hare-ev")
|
||||
(synopsis "Event loop for Hare")
|
||||
(description "This package provides an event loop for Hare programs.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-json
|
||||
(package
|
||||
(name "hare-json")
|
||||
@@ -68,6 +88,69 @@
|
||||
(description "This package provides JSON support for Hare.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-lex
|
||||
(package
|
||||
(name "hare-lex")
|
||||
(version "0.25.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/hare-lex")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06jlkb1q8ybr6yx56c6ikxv5ywz44k04dpwxcc796cnpzpkgqlyf"))))
|
||||
(build-system hare-build-system)
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://git.sr.ht/~stacyharper/hare-lex")
|
||||
(synopsis "General purpose lexical tokenization machinery for Hare")
|
||||
(description "This module provides a general purpose lexer machine for Hare.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-irc
|
||||
(package
|
||||
(name "hare-irc")
|
||||
(version "0.25.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~sircmpwn/hare-irc")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ani8prdwjsfh8iqn5kfmkiim9ihl8dvbr28g69c037f6gbdb08v"))))
|
||||
(build-system hare-build-system)
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://sr.ht/~sircmpwn/hare-irc")
|
||||
(synopsis "IRC client protocol implementation for Hare")
|
||||
(description "This package provides an implementation of the IRC client
|
||||
protocol for Hare programs, based on the @url{ircdocs.horse} specifications.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-scfg
|
||||
(package
|
||||
(name "hare-scfg")
|
||||
(version "0.25.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~chrisppy/hare-scfg")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nj9gqvnvmwh3j39rj1h856p5qzghv5in01rxi4x74mqirl5q2ch"))))
|
||||
(build-system hare-build-system)
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://git.sr.ht/~chrisppy/hare-scfg")
|
||||
(synopsis "Hare library for a simple configuration file format")
|
||||
(description "This package provides a Hare library for parsing
|
||||
@uref{https://git.sr.ht/~emersion/scfg, scfg}, a simple configuration file
|
||||
format with one directive per line.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-ssh
|
||||
(package
|
||||
(name "hare-ssh")
|
||||
@@ -89,6 +172,28 @@
|
||||
and agent protocols in pure Hare.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-template
|
||||
(package
|
||||
(name "hare-template")
|
||||
(version "0.25.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~stacyharper/hare-template")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mfg3ijfmii7vag1cgvr0n76hd7cic6vdf37gd05c5ilnb31ial6"))))
|
||||
(build-system hare-build-system)
|
||||
(inputs (list hare-lex))
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://git.sr.ht/~stacyharper/hare-template")
|
||||
(synopsis "Templating tool and library for Hare")
|
||||
(description "This package aims to offer a good and simple templating
|
||||
system for Hare, using code generation.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-gi
|
||||
(package
|
||||
(name "hare-gi")
|
||||
@@ -201,3 +306,23 @@ language.")
|
||||
(description "This package is a set of gtk-layer-shell bindings for the Hare
|
||||
language.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public hare-xml
|
||||
(package
|
||||
(name "hare-xml")
|
||||
(version "0.25.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~sircmpwn/hare-xml")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h216z59piz1g7a0iiy1qic1wj8lbajw3mw5zw9nid0bz2vx81b0"))))
|
||||
(build-system hare-build-system)
|
||||
(supported-systems %hare-supported-systems)
|
||||
(home-page "https://git.sr.ht/~sircmpwn/hare-xml")
|
||||
(synopsis "XML support for Hare")
|
||||
(description "This package provides XML support for Hare.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
@@ -344,7 +344,8 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
||||
(inherit (package-source hurd-headers))
|
||||
(patches (search-patches "hurd-refcounts-assert.patch"
|
||||
"hurd-rumpdisk-no-hd.patch"
|
||||
"hurd-startup.patch"))))
|
||||
"hurd-startup.patch"
|
||||
"hurd-proc-zombies.patch"))))
|
||||
(version (package-version hurd-headers))
|
||||
(arguments
|
||||
`(#:tests? #f ;no "check" target
|
||||
@@ -389,12 +390,6 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
||||
(("#include <rpc/pmap_prot.h>" m)
|
||||
(string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\n" m)))
|
||||
#t))
|
||||
,@(if (%current-target-system)
|
||||
'((add-after 'configure 'fixup-cross-configure
|
||||
(lambda _
|
||||
(substitute* "config.make"
|
||||
(("HAVE_LIBRUMP = no") "HAVE_LIBRUMP = yes")))))
|
||||
'())
|
||||
(add-before 'build 'pre-build
|
||||
(lambda _
|
||||
;; Don't change the ownership of any file at this time.
|
||||
@@ -583,7 +578,9 @@ exec ${system}/rc \"$@\"
|
||||
(string-append datadir "/vga-system.bdf"))))))
|
||||
#:configure-flags
|
||||
,#~(list (string-append "LDFLAGS=-Wl,-rpath="
|
||||
#$output "/lib")
|
||||
#$output "/lib"
|
||||
;; Linking with librump.so
|
||||
" -Wl,--as-needed")
|
||||
"--enable-static-progs=ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi"
|
||||
"--disable-ncursesw"
|
||||
"--without-libbz2"
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
@@ -70,6 +71,7 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages python-web)
|
||||
@@ -1173,15 +1175,11 @@ and does not rely on an online service.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; No tests
|
||||
(propagated-inputs
|
||||
(list python-tinycss2 python-pygobject))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)))
|
||||
(base32 "0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ; No tests
|
||||
(propagated-inputs (list python-tinycss2 python-pygobject))
|
||||
(native-inputs (list gettext-minimal python-setuptools))
|
||||
(home-page "https://github.com/openSUSE/IBus-Theme-Tools")
|
||||
(synopsis "Tool for IBus Themes")
|
||||
(description "IBus Theme Tools can extract IBus-specific settings from
|
||||
|
||||
@@ -180,7 +180,7 @@ Magnetic Resonance Imaging.")
|
||||
(define-public cimg
|
||||
(package
|
||||
(name "cimg")
|
||||
(version "3.5.5")
|
||||
(version "3.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -189,7 +189,7 @@ Magnetic Resonance Imaging.")
|
||||
(commit (string-append "v." version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01myf3bjbc46f977r7lvr9g1hcnpfygcv2xnqvhrl2nj7955sm5x"))))
|
||||
(base32 "1zdw1mbwl2g0ka1gasq9l706aral0l2mfsc0vmvq2szn90l2i455"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -645,7 +645,13 @@ different data arrays similar to those available in the numdiff software.")
|
||||
(substitute* "modules/photo/test/test_hdr.cpp"
|
||||
(("0\\.131") "0.222"))
|
||||
;; These tests hang forever on aarch64.
|
||||
(delete-file-recursively "modules/videoio/test/"))
|
||||
(delete-file-recursively "modules/videoio/test/")
|
||||
;; This test fails on aarch64 due to floating-point precision
|
||||
;; differences with ARM NEON.
|
||||
;; Expected: RMSE <= 0.34, actual: 0.407627
|
||||
(substitute* "../opencv-contrib/modules/optflow/test/test_OF_accuracy.cpp"
|
||||
(("\\bReferenceAccuracy\\b" all)
|
||||
(string-append "DISABLED_" all))))
|
||||
'())
|
||||
|
||||
,@(if (target-riscv64?)
|
||||
@@ -850,14 +856,14 @@ due to its architecture which automatically parallelises the image workflows.")
|
||||
(define-public gmic
|
||||
(package
|
||||
(name "gmic")
|
||||
(version "3.5.5")
|
||||
(version "3.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gmic.eu/files/source/gmic_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1wyzq5g8kfnglb5l8ipzh6lhf4667vmcd88gd9vf55fdnvdrjygp"))))
|
||||
(base32 "16hncbj7isxcw5al3zf62n8iwpsvbnmfclihdbgq4fnwci6yb1q9"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -874,14 +874,14 @@ preloading.")
|
||||
(define-public chafa
|
||||
(package
|
||||
(name "chafa")
|
||||
(version "1.16.2")
|
||||
(version "1.18.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hpjansson.org/chafa/releases/chafa-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pv1g2gcn4qn27bkwm1g1k87nb1yq0gzw7jclhq53d49kbfrhy35"))))
|
||||
"1nyakydm8f4kshhdqg35ckfa62nxk54i41npva4jw15q3927ax6d"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config which))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2013, 2015, 2016, 2025 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
|
||||
@@ -2891,12 +2891,25 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
|
||||
#:modules ((guix build python-build-system)
|
||||
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
|
||||
(guix build utils))
|
||||
;; XXX: Tests are not discovered.
|
||||
#:tests? #false
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("\"rU\"") "\"r\""))))
|
||||
(("\"rU\"") "\"r\"")
|
||||
(("test_suite='tests'.*") ""))
|
||||
(substitute* "setup.cfg"
|
||||
(("install-") "install_"))
|
||||
;; This file makes Python confuse it for a module, so we rename
|
||||
;; it.
|
||||
(rename-file "lib/xml.py" "lib/xmlo.py")
|
||||
(substitute* (find-files "." "\\.py$")
|
||||
(("lib.xml") "lib.xmlo"))
|
||||
;; This procedure has been removed.
|
||||
(substitute* "lib/gettext_setup.py"
|
||||
(("c = gettext.bind_textdomain_codeset.*") "c = True\n"))))
|
||||
(add-after 'install 'glib-or-gtk-wrap
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
|
||||
(add-after 'install 'wrap-program
|
||||
@@ -2904,6 +2917,10 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(gdk-pixbuf (assoc-ref inputs "gdk-pixbuf"))
|
||||
(gtk+ (assoc-ref inputs "gtk+")))
|
||||
;; This is replaced with an invalid shebang.
|
||||
(substitute* (string-append out "/bin/mypaint")
|
||||
(("#!python")
|
||||
(string-append "#!" (which "python3"))))
|
||||
(wrap-program (string-append out "/bin/mypaint")
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca>
|
||||
;;; Copyright © 2023 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
||||
@@ -11,9 +11,14 @@
|
||||
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
|
||||
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
|
||||
;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2023 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2023 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -198,6 +203,70 @@ simulation, statistical modeling, machine learning and much more.")
|
||||
(modify-inputs (package-propagated-inputs parent)
|
||||
(replace "python-jupyter-client" python-jupyter-client-bootstrap)))))))
|
||||
|
||||
(define-public python-jupytext
|
||||
(package
|
||||
(name "python-jupytext")
|
||||
(version "1.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mwouts/jupytext")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01vvi5aab7lahj57ng5v4svjw18xrlgnasz877lqvdf4m6cpi8s9"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 4017 passed, 173 skipped, 2 deselected, 1 warning
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; Requires git.
|
||||
"--ignore=tests/external"
|
||||
;; Requires python-black.
|
||||
"--ignore=tests/functional/contents_manager"
|
||||
;; Failed: DID NOT RAISE <class 'ValueError'>.
|
||||
(string-append "--deselect=tests/functional/cli/test_source_is_newer.py"
|
||||
"::test_check_source_is_newer_when_using_jupytext_to")
|
||||
;; Failed: DID NOT RAISE <class 'jupytext.cli.SynchronousModificationError'>.
|
||||
(string-append "--deselect=tests/functional/cli/test_synchronous_changes.py"
|
||||
"::test_jupytext_to_raises_on_synchronous_edits"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; some tests fail when HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp")
|
||||
;; OSError: [Errno 18] Invalid cross-device link
|
||||
(setenv "TMPDIR" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list python-hatchling
|
||||
python-jupyter-client
|
||||
python-jupyter-server
|
||||
python-pytest
|
||||
python-pytest-asyncio))
|
||||
(propagated-inputs
|
||||
(list python-markdown-it-py
|
||||
python-mdit-py-plugins
|
||||
python-nbformat
|
||||
python-packaging
|
||||
python-pyyaml))
|
||||
(home-page "https://jupytext.readthedocs.io/")
|
||||
(synopsis
|
||||
"Jupyter notebooks as Markdown documents, Julia, Python or R scripts")
|
||||
(description
|
||||
"Jupytext is a plugin for Jupyter that can save Jupyter notebooks as
|
||||
either Markdown files or scripts in many languages. Common use cases for
|
||||
Jupytext are:
|
||||
|
||||
@itemize
|
||||
@item version control on Jupyter Notebooks
|
||||
@item editing, merging or refactoring notebooks in your favorite text editor
|
||||
@item applying Q&A checks on notebooks.
|
||||
@end itemize ")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-nbclassic
|
||||
(package
|
||||
(name "python-nbclassic")
|
||||
|
||||
@@ -219,32 +219,6 @@ used from QtQuick applications for both simple display of data as well as
|
||||
continuous display of high-volume data.")
|
||||
(license (list license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
(define-public kquickcharts-5
|
||||
(package
|
||||
(inherit kquickcharts)
|
||||
(name "kquickcharts")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version)
|
||||
"/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bd20kpypji6053fwn5a1b41rjf7r1b3wk85swb0xlmm2kji236j"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(system "Xvfb :1 -screen 0 640x480x24 &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(invoke "ctest")))))))
|
||||
(inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5
|
||||
xorg-server-for-tests))))
|
||||
|
||||
(define-public kuserfeedback
|
||||
;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
|
||||
;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
|
||||
@@ -1265,26 +1239,6 @@ but also for getting notified upon idle time events, such as custom timeouts,
|
||||
or user activity.")
|
||||
(license (list license:gpl2+ license:lgpl2.1+))))
|
||||
|
||||
(define-public kidletime-5
|
||||
(package
|
||||
(inherit kidletime)
|
||||
(name "kidletime")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15s9nxpkqy3i182xk82bpl92iaqcilsckja7301854fw6ppl8vvh"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules pkg-config))
|
||||
(inputs
|
||||
(list libxscrnsaver ; X-Screensaver based poller, fallback mode
|
||||
qtbase-5 qtx11extras))))
|
||||
|
||||
(define-public kirigami
|
||||
(package
|
||||
(name "kirigami")
|
||||
@@ -1401,26 +1355,6 @@ model to observers
|
||||
@end enumerate")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public kitemmodels-5
|
||||
(package
|
||||
(inherit kitemmodels)
|
||||
(name "kitemmodels")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wcznkj24553spkl202zwifk6hgrvdd60j3y47jp2m6zpadywz2k"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules))
|
||||
(inputs
|
||||
(list qtdeclarative-5))
|
||||
(arguments '())))
|
||||
|
||||
(define-public kitemviews
|
||||
(package
|
||||
(name "kitemviews")
|
||||
@@ -1570,27 +1504,6 @@ integration with a custom editor as well as a ready-to-use
|
||||
(properties `((upstream-name . "syntax-highlighting")))
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public ksyntaxhighlighting-5
|
||||
(package
|
||||
(inherit ksyntaxhighlighting)
|
||||
(name "ksyntaxhighlighting")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
"syntax-highlighting-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19zs3n6cn83rjs0bpyrn6f5r75qcflavf8rb1c2wxj8dpp7cm33g"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules perl qttools-5
|
||||
;; Optional, for compile-time validation of syntax definition files:
|
||||
qtxmlpatterns-5))
|
||||
(inputs
|
||||
(list qtbase-5))))
|
||||
|
||||
(define-public plasma-wayland-protocols
|
||||
(package
|
||||
(name "plasma-wayland-protocols")
|
||||
@@ -2183,25 +2096,6 @@ ASpell and HUNSPELL.")
|
||||
uses a job-based interface to queue tasks and execute them in an efficient way.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public threadweaver-5
|
||||
(package
|
||||
(inherit threadweaver)
|
||||
(name "threadweaver")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q7ax3dhsayz35j0l9pdmarkwfyyy1dsy2crdf5xz8pr5mjxq8wp"))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules))
|
||||
(inputs
|
||||
(list qtbase-5))))
|
||||
|
||||
|
||||
;; Tier 2
|
||||
;;
|
||||
@@ -2610,47 +2504,6 @@ used by file indexers to retrieve the metadata. This library can also be used
|
||||
by applications to write metadata.")
|
||||
(license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
(define-public kfilemetadata-5
|
||||
(package
|
||||
(inherit kfilemetadata)
|
||||
(name "kfilemetadata")
|
||||
(version "5.116.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/frameworks/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13yfcy02rmhrhf8lxv7smk1n9rg1ywsh60hwzm94b8hq9a62qp0r"))))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "ctest" "-E"
|
||||
"(usermetadatawritertest|taglibextractortest)")))))))
|
||||
(native-inputs (list extra-cmake-modules pkg-config))
|
||||
(inputs
|
||||
(list attr
|
||||
ebook-tools
|
||||
karchive-5
|
||||
kconfig-5
|
||||
kcoreaddons-5
|
||||
ki18n-5
|
||||
qtmultimedia-5
|
||||
qtbase-5
|
||||
;; Required run-time packages
|
||||
catdoc
|
||||
;; Optional run-time packages
|
||||
exiv2
|
||||
ffmpeg
|
||||
poppler-qt5
|
||||
taglib))))
|
||||
|
||||
(define-public kimageannotator
|
||||
(package
|
||||
(name "kimageannotator")
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024, 2025 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -55,7 +56,8 @@
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public calligra
|
||||
(package
|
||||
@@ -283,6 +285,50 @@ processor built in, and can integrate with Pandoc, MultiMarkdown, Discount, and
|
||||
cmark processors if they are installed.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public klevernotes
|
||||
(package
|
||||
(name "klevernotes")
|
||||
(version "1.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/klevernotes/" version
|
||||
"/klevernotes-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0jnnbsml29gmpbycx8b012rnzdnjfigp9d6wsaww085mql0rdf73"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTING:BOOL=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-xorg-server
|
||||
(lambda _
|
||||
(system "Xvfb :99 -screen 0 1024x768x24 &")
|
||||
(setenv "DISPLAY" ":99.0"))))))
|
||||
(native-inputs (list extra-cmake-modules xorg-server))
|
||||
(inputs (list kconfigwidgets
|
||||
kcoreaddons
|
||||
ki18n
|
||||
kiconthemes
|
||||
kio
|
||||
kirigami
|
||||
kirigami-addons
|
||||
kitemmodels
|
||||
qqc2-desktop-style
|
||||
qtsvg
|
||||
qtwayland
|
||||
qtwebengine
|
||||
sonnet))
|
||||
(home-page "https://apps.kde.org/klevernotes/")
|
||||
(synopsis "Note taking and management application")
|
||||
(description
|
||||
"KleverNotes is a note taking and management application. It uses Markdown
|
||||
and allows you to preview your content.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public tellico
|
||||
(package
|
||||
(name "tellico")
|
||||
|
||||
@@ -1455,51 +1455,6 @@ you login.")
|
||||
(home-page "https://invent.kde.org/plasma/kwallet-pam")
|
||||
(license (list license:lgpl2.1+))))
|
||||
|
||||
(define-public kwayland-integration
|
||||
(package
|
||||
(name "kwayland-integration")
|
||||
(version "6.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/plasma/"
|
||||
version "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01jxpl0zbz8pbnrbxw9bnn148mr03rrf86ryl627cqx8k4p9842d"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(delete 'check)
|
||||
(add-after 'install 'check-after-install
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(invoke "ctest"))))
|
||||
(add-before 'check-after-install 'check-setup
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "QT_PLUGIN_PATH"
|
||||
(string-append #$output
|
||||
"/lib/qt5/plugins:"
|
||||
(getenv "QT_PLUGIN_PATH"))))))))
|
||||
(native-inputs (list extra-cmake-modules wayland-protocols pkg-config))
|
||||
(inputs (list kguiaddons-5
|
||||
kidletime-5
|
||||
kwindowsystem-5
|
||||
kwayland-5
|
||||
libxkbcommon
|
||||
wayland
|
||||
plasma-wayland-protocols
|
||||
qtbase-5
|
||||
qtwayland-5))
|
||||
(synopsis "KWayland runtime integration plugins")
|
||||
(description "This package provides Wayland integration plugins for various
|
||||
KDE Frameworks components.")
|
||||
(home-page "https://invent.kde.org/plasma/kwayland-integration")
|
||||
(license (list license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
(define-public kwin
|
||||
(package
|
||||
(name "kwin")
|
||||
|
||||
@@ -870,7 +870,7 @@ noun phrases, verb phrases, etc.).")
|
||||
(define-public praat
|
||||
(package
|
||||
(name "praat")
|
||||
(version "6.4.47")
|
||||
(version "6.4.49")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -879,7 +879,7 @@ noun phrases, verb phrases, etc.).")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0iyzdmgb56w80lgd4kb1cw9a0skxfbwj00q25idz7mkjij522fhi"))))
|
||||
"1h49ffxjrc3pxamm0b77n6jirl5pp9xm09fvb16mx1qwr0cnzi2q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags #~(list (string-append "CC="
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user