1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-12 17:34:06 +02:00

Compare commits

..

37 Commits

Author SHA1 Message Date
Jelle Licht f594456209 gnu: node-lts: Update to 24.14.1.
* gnu/packages/node.scm (node-lts): Update to 24.14.1.

Change-Id: I60457e8e8e05e0102feb450655113ba410bd7667
2026-05-03 20:58:59 +02:00
Jelle Licht f8a0185f03 gnu: node-nan: Update to 2.26.2.
* gnu/packages/node-xyz.scm (node-nan): Update to 2.26.2.

Change-Id: I84c8aa254540646c559b4b65646083e1ea961d75
2026-05-03 20:58:58 +02:00
Jelle Licht f224f47572 gnu: node-openzwave-shared: Fix compilation for new versions of node.
* gnu/packages/zwave.scm (node-openzwave-shared):[arguments]<#:phases>:Adjust
patch-compiler phase use std=c++20 to allow compilation with node versions 24
and up.

Change-Id: I04b4657c025d233f4abbbc4d3829ca44351fdae3
2026-05-03 20:58:58 +02:00
Jelle Licht f5d7f2f881 Revert "build-system: node: Rewrite modify-json."
This reverts commit dff01d4eb12016435b8fb8878294b79b25b3bf4a. The #:file
keyword argument was still part of the rest arguments, which lead to custom
file arguments being called as functions due to the `apply compose'.

Change-Id: I91d6b576adb7ebb5af6a584e999248b5cc410f6a
2026-05-03 20:58:58 +02:00
Jelle Licht f65fd4efc7 gnu: node-lts: Update to 24.14.0.
* gnu/packages/node.scm (node-lts): Update to 24.14.0.

Change-Id: I51f3c4c77530a81ddac6dc0ebbef0c0f2897c875
2026-05-03 20:58:58 +02:00
Jelle Licht 92f84e2135 gnu: node-lts: Update to 24.11.0.
* gnu/packages/node.scm (node-lts): Update to 24.11.0.
[arguments]<#:phases>: Adjust 'ignore-number-of-hardlinks phase to patch both
ESM and CJS modules. Remove deprecated 'install-node-gyp-wrapper phase.
Introduce new replacement for 'fix-node-gyp-references phase.

Change-Id: I1a372ceb10e31ecfedeff7653030708efa97dab9
2026-05-03 20:58:58 +02:00
Jelle Licht d9a5bbfa79 gnu: node-bootstrap: Rename phase that fixes node-gyp references
* gnu/packages/node.scm (node-bootstrap)[arguments]<#:phases>: Rename
install-npmrc phase to fix-node-gyp-reference.
(libnode)[arguments]<#:phases>: Delete 'fix-node-gyp-reference phase instead
of 'install-npmrc phase.

Change-Id: I062753b79e42e5a8a311b019855168bb96a566b2
2026-05-03 20:58:58 +02:00
Jelle Licht f5c66d183d build-system: tree-sitter: Fix lockfiles extensibility.
* guix/build-system/tree-sitter.scm (tree-sitter-build-build): Add and pass
along lockfiles argument.
(tree-sitter-cross-build): Likewise.

Change-Id: I6f68c0741f21ff26367dd37ff3c53e612fdc9bc2
2026-05-03 20:58:58 +02:00
Jelle Licht d4c7c8f3a7 build-system: node: Export %default-lockfiles for build systems.
* guix/build-system/node.scm (%default-lockfiles): New variable.

Change-Id: I8d9f01bf07670615a7c6012fca3e08308eab3c1c
2026-05-03 20:58:58 +02:00
Jelle Licht a4b766a561 gnu: r-v8: Fix build with node-lts@24.
The version bump of node-lts from 22 to 24 also bumped the version in the so-file.

* gnu/packages/cran.scm (r-v8)[#:phases]<find-v8>: Look for libnode-so.137 as
provided by node-lts@24.

Change-Id: I41bf86cd387c49b214d84a43135fca969a515202
2026-05-03 20:58:58 +02:00
Jelle Licht 99ce5b322e build-system: node: Use file:// prefix for local dependencies.
Using the file:// prefix for local packages was always allowed, and since npm
version 11 required in order to properly resolve local dependencies when
installing from tarballs.

* guix/build/node-build-system.scm (index-modules): Add "file://" prefix to
hash table values for local modules.

Change-Id: I9d95a5d6788cc918b94677b4524391617e3a73b4
2026-05-03 20:58:58 +02:00
Nicolas Graves de25db13bf build-system: node: Refresh phase 'configure.
* guix/build/node-build-system.scm (configure): Remove unused outputs
argument, add --no-outputs flag.

Change-Id: Icf0d5d23cf70abc9168038e79c995391fae48e6a
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:58 +02:00
Nicolas Graves 390d345e47 build-system: node: Refresh phase 'avoid-node-gyp-rebuild.
* guix/build/node-build-system.scm (avoid-node-gyp-rebuild): Refresh
phase by using let* instead of multiple defines.

Change-Id: I30c53f5d7d5bc69444ddcef45cdf8eefcab7db84
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:58 +02:00
Nicolas Graves 206b5efc28 build-system: node: Remove trailing #t.
* guix/build/node-build-system.scm (set-home, delete-lockfiles, build,
repack, install): Remove trailing #t.

Change-Id: Idf5ba50242a7b9fb5d30c8fca6e6662471cf87e4
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Nicolas Graves 2c682b098a build-system: node: Rewrite phase 'patch-dependencies.
* guix/build/node-build-system.scm (alist-update): Remove procedure.
(patch-dependencies): Rewrite using modify-json and higher-order
function resolve.

Change-Id: I6a3e30526d5523b559d48317f0e052f2b1dcf04c
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Nicolas Graves 5bdb684f15 build-system: node: Improve lockfiles extensibility.
* guix/build-system/node.scm (%default-lockfiles): New variable.
(node-build): Add lockfiles argument.

* guix/build/node-build-system.scm (delete-lockfiles): Re-factor with
lockfiles argument.

Change-Id: I09927977ec7c6430191f592f7f36d4030721c520
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Nicolas Graves 335a1cd01a build-system: node: Improve (default-guile-json) import style.
Also place it just after (default-node).

* guix/build-system/node.scm (default-guile-json): Place it
after (default-node) and use helper macro @*.

Change-Id: Idc21c9627f414a011915033da0cab845529ddbff
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Nicolas Graves fc858b0c18 build-system: node: Rewrite modify-json.
This function seems way too complex for what it's trying to do.

* guix/build/node-build-system.scm (modify-json): Rewrite procedure
using apply and compose.

Change-Id: I6419bd32eea76031393573a1d6450571d092ec4d
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Nicolas Graves 9fbe3c4494 build-system: node: Refresh delete-dependencies procedure.
* guix/build/node-build-system.scm (delete-dependencies): Use map and
match-lambda to improve readability of the phase.

Change-Id: I6d9275c7eea1514f103988215916d478a68ea466
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Nicolas Graves a37d3eeb5f build-system: node: Remove alist-pop, simplify alist-update.
Those functions are most likely not worth the complexity they carry.
They might be a little more efficient (stop at the first encounter
instead of mapping until the end), but is it worth the additional
complexity? I'm unsure.

* guix/build/node-build-system.scm (alist-pop): Remove variable.
(alist-update): Use a more standard map.

Change-Id: I47b91461849d6e6d627e98f67bc6a08f12fa7370
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Nicolas Graves 26bf16aab2 build-system: node: Remove assoc-ref* helper.
This procedure has little added value and is basically equivalent to a
simple composition of assoc-ref and or.

* guix/build/node-build-system.scm (assoc-ref*): Remove procedure.
(patch-dependencies, build, avoid-node-gyp-rebuild): Replace use of
assoc-ref*.

Change-Id: I947a66fe91eaa2b4adc8dc405232a32257f9d061
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2026-05-03 20:58:57 +02:00
Jelle Licht 4f63b4ca95 gnu: node-lts: Update to 24.9.0.
* gnu/packages/node.scm (node-lts): Update to 24.9.0.

Change-Id: I0ed967dc028e88f927cf24e08bc51d6fc6933998
2026-05-03 20:58:57 +02:00
Jelle Licht 272236f8e7 gnu: node-lts: Update to 24.8.0.
* gnu/packages/node.scm (node-lts): Update to 24.8.0.

Change-Id: I1950d278b9105e72adad2401e4d1ef78c78da16f
2026-05-03 20:58:57 +02:00
Jelle Licht 364a27d498 gnu: node-lts: Update to 24.7.0.
* gnu/packages/node.scm (node-lts): Update to 24.7.0.

Change-Id: I1384b65244c16c67d2aad13931ac0af6e9ce2acf
2026-05-03 20:58:57 +02:00
Jelle Licht 4824c0bc06 gnu: node-lts: Update to 24.6.0.
* gnu/packages/node.scm (node-lts): Update to 24.6.0.

Change-Id: I2aca0c22cf13306d76ba274a78a4560b43be0de4
2026-05-03 20:58:57 +02:00
Jelle Licht cc6e802092 gnu: node-lts: Update to 24.5.0.
* gnu/packages/node.scm (node-lts): Update to 24.5.0.

Change-Id: I09ab8f4c9fc16c534519ff6b48c02adf2796f5a3
2026-05-03 20:58:57 +02:00
Jelle Licht af52370a8b gnu: node-lts: Update to 24.4.1.
* gnu/packages/node.scm (node-lts): Update to 24.4.1.

Change-Id: I13e3a6ce872ba3cd24050b4df72c7c626746b4fe
2026-05-03 20:58:57 +02:00
Jelle Licht 0d6302f6fd gnu: node-lts: Update to 24.4.0.
* gnu/packages/node.scm (node-lts): Update to 24.4.0.

Change-Id: Id2a929edfb2deb8149cbb97e93d2427fb946121a
2026-05-03 20:58:57 +02:00
Jelle Licht ffec500b92 gnu: node-lts: Update to 24.3.0.
* gnu/packages/node.scm (node-lts): Update to 24.3.0.

Change-Id: Iff0e02f30300fe55e71e4e4e0c15578f3095ba9e
2026-05-03 20:58:57 +02:00
Jelle Licht 26fd04e5db gnu: node-lts: Update to 24.2.0.
* gnu/packages/node.scm (node-lts): Update to 24.2.0.
[source]: Update snippet to delete bundled llhttp and zstd sources.
[arguments]<#:configure-flags>: Add "--shared-http-parser" and
"--shared-http-parser-libname=llhttp". Add "--shared-zstd".
<#:phases>: Delete 'replace-llhttp-sources phase.
[inputs]: Add (zstd-1.5.7 "lib").

Change-Id: I44c7accf85a2d88b34438fa506ff725739e995ce
2026-05-03 20:58:54 +02:00
Jelle Licht 94a01eb2b5 gnu: libuv-for-node-lts: Update to 1.51.0.
* gnu/packages/libevent.scm (libuv-for-node-lts): Update to 1.51.0.

Change-Id: I6a49d7337ff62f54004dde24803c43490e2daac4
2026-05-03 20:57:36 +02:00
Jelle Licht e2175057ac gnu: llhttp-bootstrap: Update to 9.3.0.
* gnu/packages/node.scm (llhttp-bootstrap): Update to 9.3.0.

Change-Id: Id18f84a582f12ef3ebb31f214bbb4da7e39018de
2026-05-03 20:57:36 +02:00
Jelle Licht 29529ae0e3 gnu: node-llparse-bootstrap: Update to 7.3.0.
* gnu/packages/node.scm (node-llparse-bootstrap): Update to 7.3.0.

Change-Id: I1a84ea216933bf4ce12c12782d57fef5b4891f4c
2026-05-03 20:57:36 +02:00
Jelle Licht e16ed2a669 gnu: node-llparse-frontend-bootstrap: Update to 3.0.0.
* gnu/packages/node.scm (node-llparse-frontend-bootstrap): Update to 3.0.0.

Change-Id: I11957e5238999f85db00b39548a590ccd6feed47
2026-05-03 20:57:35 +02:00
Jelle Licht 3324436ccb gnu: node-llparse-builder-bootstrap: Update to 1.5.2.
* gnu/packages/node.scm (node-llparse-builder-bootstrap): Update to 1.5.2.

Change-Id: I886eceb7f284fe1ba4c3ccb2c3bfea5e0fd9c9dd
2026-05-03 20:57:35 +02:00
Jelle Licht b48482522b gnu: node-lts: Update to 24.0.1.
* gnu/packages/node.scm (node-lts): Update to 24.0.1.
[arguments]<#:phases>: Add timing-sensitive test to 'delete-problematic-tests
phase.
[native-inputs]: Add gcc-14.

Change-Id: I28fc890e40070dc50bd40b89c1bd98ffabc7be5d
2026-05-03 20:57:35 +02:00
Jelle Licht 149ee4a51c gnu: libuv-for-node-lts: Update to 1.50.0.
* gnu/packages/libevent.scm (libuv-for-node-lts): Update to 1.50.0.

Change-Id: Ic51d832d30872d31b070ecfe1a51daff26dedeea
2026-05-03 20:57:23 +02:00
482 changed files with 34233 additions and 59267 deletions
+3 -6
View File
@@ -42,12 +42,9 @@
;; For use with 'bug-reference-prog-mode'. Extra bug-reference ;; For use with 'bug-reference-prog-mode'. Extra bug-reference
;; configuration should be done in your Emacs user configuration file; ;; configuration should be done in your Emacs user configuration file;
;; refer to (info (guix) The Perfect Setup). ;; refer to (info (guix) The Perfect Setup).
(eval . (setq-local bug-reference-bug-regexp (bug-reference-bug-regexp
;; #8545 (issues), !8545 (PRs), guix/guix#8545 and . "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
;; guix/guix!8545 (bug-reference-url-format . "https://issues.guix.gnu.org/%s")
(rx (group (seq (? "guix/guix") (or "#" "!"))
(group (one-or-more digit))))))
(bug-reference-url-format . "https://codeberg.org/guix/guix/issues/%s")
(eval . (add-to-list 'completion-ignored-extensions ".go")) (eval . (add-to-list 'completion-ignored-extensions ".go"))
+6 -10
View File
@@ -32,7 +32,6 @@ gnu/packages/assembly\.scm @guix/build-tools
gnu/packages/autogen\.scm @guix/build-tools gnu/packages/autogen\.scm @guix/build-tools
gnu/packages/autotools\.scm @guix/build-tools gnu/packages/autotools\.scm @guix/build-tools
gnu/packages/bison\.scm @guix/build-tools gnu/packages/bison\.scm @guix/build-tools
gnu/packages/compiler-tools\.scm @guix/build-tools
gnu/packages/m4\.scm @guix/build-tools gnu/packages/m4\.scm @guix/build-tools
gnu/packages/oyacc\.scm @guix/build-tools gnu/packages/oyacc\.scm @guix/build-tools
gnu/packages/re2c\.scm @guix/build-tools gnu/packages/re2c\.scm @guix/build-tools
@@ -162,8 +161,6 @@ gnu/system/examples/bare-bones\.tmpl @guix/documentation
gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation
gnu/system/examples/desktop\.tmpl @guix/documentation gnu/system/examples/desktop\.tmpl @guix/documentation
gnu/packages/dotnet\.scm @guix/dotnet
gnu/packages/electronics\.scm @guix/electronics gnu/packages/electronics\.scm @guix/electronics
gnu/packages/hdl\.scm @guix/electronics gnu/packages/hdl\.scm @guix/electronics
gnu/packages/libftdi\.scm @guix/electronics gnu/packages/libftdi\.scm @guix/electronics
@@ -292,12 +289,12 @@ guix/build-system/julia\.scm @guix/julia
gnu/packages/(kde)(-.+|)\.scm$ @guix/kde gnu/packages/(kde)(-.+|)\.scm$ @guix/kde
gnu/build/linux-modules\.scm @guix/linux-libre gnu/build/linux-modules\.scm @guix/kernel
gnu/packages/aux-files/linux-libre.*$ @guix/linux-libre gnu/packages/aux-files/linux-libre.*$ @guix/kernel
gnu/packages/linux\.scm @guix/linux-libre gnu/packages/linux\.scm @guix/kernel
gnu/tests/linux-modules\.scm @guix/linux-libre gnu/tests/linux-modules\.scm @guix/kernel
guix/build/linux-module-build-system\.scm @guix/linux-libre guix/build/linux-module-build-system\.scm @guix/kernel
guix/build-system/linux-module\.scm @guix/linux-libre guix/build-system/linux-module\.scm @guix/kernel
gnu/packages/lisp(-.+|)\.scm$ @guix/lisp gnu/packages/lisp(-.+|)\.scm$ @guix/lisp
guix/build/asdf-build-system\.scm @guix/lisp guix/build/asdf-build-system\.scm @guix/lisp
@@ -341,7 +338,6 @@ guix/build-system/rakudo\.scm @guix/perl
guix/import/cpan\.scm @guix/perl guix/import/cpan\.scm @guix/perl
guix/scripts/import/cpan\.scm @guix/perl guix/scripts/import/cpan\.scm @guix/perl
gnu/packages/aux-files/python/.*\.py$ @guix/python
gnu/packages/django\.scm @guix/python gnu/packages/django\.scm @guix/python
gnu/packages/jupyter\.scm @guix/python gnu/packages/jupyter\.scm @guix/python
gnu/packages/python(-.+|)\.scm$ @guix/python gnu/packages/python(-.+|)\.scm$ @guix/python
-9
View File
@@ -488,7 +488,6 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf \ gnu/packages/aux-files/linux-libre/5.10-x86_64.conf \
gnu/packages/aux-files/ovmf/51-edk2-ovmf-2m-raw-x64-nosb.json \ gnu/packages/aux-files/ovmf/51-edk2-ovmf-2m-raw-x64-nosb.json \
gnu/packages/aux-files/pack-audit.c \ gnu/packages/aux-files/pack-audit.c \
gnu/packages/aux-files/python/pytest_guix.py \
gnu/packages/aux-files/python/sanity-check.py \ gnu/packages/aux-files/python/sanity-check.py \
gnu/packages/aux-files/python/sitecustomize.py \ gnu/packages/aux-files/python/sitecustomize.py \
gnu/packages/aux-files/renpy/renpy.in \ gnu/packages/aux-files/renpy/renpy.in \
@@ -1281,14 +1280,6 @@ $(GIT_HOOKS_DIR):
$(GIT_HOOKS_DIR)/%: etc/git/% | $(GIT_HOOKS_DIR)/ $(GIT_HOOKS_DIR)/%: etc/git/% | $(GIT_HOOKS_DIR)/
if [ -n "$(GIT_HOOKS_DIR)" ]; then cp "$<" "$@"; fi if [ -n "$(GIT_HOOKS_DIR)" ]; then cp "$<" "$@"; fi
# Special-case the pre-push hook installation, to ensure it is always
# up-to-date with its source.
.PHONY: $(GIT_HOOKS_DIR)/pre-push
$(GIT_HOOKS_DIR)/pre-push: etc/git/pre-push | $(GIT_HOOKS_DIR)
@if [ -n "$(GIT_HOOKS_DIR)" ]; then \
cmp "--silent" "$<" "$@" || cp "$<" "$@"; \
fi
$(GIT_CONFIG_FILE): etc/git/gitconfig $(GIT_CONFIG_FILE): etc/git/gitconfig
if [ -n "$(GIT_CONFIG_FILE)" ]; then \ if [ -n "$(GIT_CONFIG_FILE)" ]; then \
git config --fixed-value --replace-all include.path \ git config --fixed-value --replace-all include.path \
-1
View File
@@ -120,7 +120,6 @@ running 'guix-daemon $extra_options'" >&2
"@abs_top_builddir@/pre-inst-env" \ "@abs_top_builddir@/pre-inst-env" \
"@abs_top_builddir@/guix-daemon" \ "@abs_top_builddir@/guix-daemon" \
$extra_options \ $extra_options \
--allow-aslr \
--substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" & --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" &
daemon_pid=$! daemon_pid=$!
+23 -41
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019-2026 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
@@ -324,31 +324,17 @@ actual file name."
((('span ('@ ('class "category")) ;raw Texinfo 6.8 ((('span ('@ ('class "category")) ;raw Texinfo 6.8
(? string-or-entity?) ...) rest ...) (? string-or-entity?) ...) rest ...)
#t) #t)
((('span ;Texinfo 6, post-processed ((('span ('@ ('class "symbol-definition-category"))
('@ ('class "symbol-definition-category")) (? string-or-entity?) ...) rest ...)
(? string-or-entity?) ...) rest ...)
#t)
((('span ;Texinfo 7
('@ ('class "category-def")) _ ...)
('span ('strong ('@ ('class "def-name")) _ ...)
_ ...)
rest ...)
#t) #t)
(x (x
#f)))) #f))))
(define (definition-class? class)
;; Return true for "deffn def-line", "deftp def-line", etc.
(string-suffix? " def-line" class))
(let ((shtml (call-with-input-file file html->shtml))) (let ((shtml (call-with-input-file file html->shtml)))
(let loop ((shtml shtml) (let loop ((shtml shtml)
(anchors anchors)) (anchors anchors))
(match shtml (match shtml
((or ('dt ('@ ('id id) _ ...) rest ...) ;Texinfo 6 (('dt ('@ ('id id) _ ...) rest ...)
('dt ('@ ('class (? definition-class?)) ;Texinfo 7
('id id))
rest ...))
(if (and (string-prefix? "index-" id) (if (and (string-prefix? "index-" id)
(worthy-entry? rest)) (worthy-entry? rest))
(alist-cons (anchor-id->key id) (alist-cons (anchor-id->key id)
@@ -519,16 +505,10 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(loop rest (cons str strings))) (loop rest (cons str strings)))
((('*ENTITY* "additional" entity) . rest) ((('*ENTITY* "additional" entity) . rest)
(loop rest (cons (entity->string entity) strings))) (loop rest (cons (entity->string entity) strings)))
((('*ENTITY* "additional-char" entity) . rest)
(loop rest (cons (string
(integer->char (string->number entity)))
strings)))
((('span _ lst ...) . rest) ;for <span class="roman"> ((('span _ lst ...) . rest) ;for <span class="roman">
(loop (append lst rest) strings)) (loop (append lst rest) strings))
((('var ('@ _) name) . rest) ;for @var{name} within @lisp ((('var name) . rest) ;for @var{name} within @lisp
(loop rest (cons name strings))) ;XXX: losing formatting (loop rest (cons name strings))) ;XXX: losing formatting
((('var name) . rest) ;likewise (Texinfo 6)
(loop rest (cons name strings)))
(something (something
(pk 'unsupported-code-snippet something) (pk 'unsupported-code-snippet something)
(primitive-exit 1))))) (primitive-exit 1)))))
@@ -557,10 +537,7 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(link (@ (rel "stylesheet") (link (@ (rel "stylesheet")
(type "text/css") (type "text/css")
(href #$syntax-css-url))))) (href #$syntax-css-url)))))
((or ('pre ('@ ('class "lisp")) ;Texinfo 6 (('pre ('@ ('class "lisp")) code-snippet ...)
code-snippet ...)
('pre ('@ ('class "lisp-preformatted"))
code-snippet ...))
`(pre (@ (class "lisp")) `(pre (@ (class "lisp"))
,@(highlights->sxml* ,@(highlights->sxml*
(pair-open/close (pair-open/close
@@ -568,16 +545,14 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(concatenate-snippets code-snippet))) (concatenate-snippets code-snippet)))
anchors))) anchors)))
;; For Texinfo 6: Replace the ugly <strong> used for @deffn ;; Replace the ugly <strong> used for @deffn etc., which
;; etc., which translate to <dt>, with more stylable ;; translate to <dt>, with more stylable markup.
;; markup. No such post-processing is needed for @deffn
;; with Texinfo 7.
(('dt ('@ ('id id)) ;raw Texinfo 6.8 (('dt ('@ ('id id)) ;raw Texinfo 6.8
('span ('@ ('class "category")) category ...) ('span ('@ ('class "category")) category ...)
('span ('strong thing) ('span ('strong thing)
anchor)) anchor))
(highlight-definition id category thing '())) (highlight-definition id category thing '()))
(('dt ('@ ('id id)) ;ditto (('dt (@ ('id id))
('span ('@ ('class "category")) category ...) ('span ('@ ('class "category")) category ...)
('span ('strong thing) ('span ('strong thing)
(? space?) ('em args ...) (? space?) ('em args ...)
@@ -833,9 +808,16 @@ in SOURCE."
(match sxml (match sxml
(('*TOP* decl body ...) (('*TOP* decl body ...)
`(*TOP* ,decl ,@(map loop body))) `(*TOP* ,decl ,@(map loop body)))
((or ('body ('@ _) elements ...) (('head elements ...)
('body elements ...)) ;; Add reference to our own manual CSS, which provides
`(body ,(navigation-bar ;; support for the language menu.
`(head ,@elements
(link (@ (rel "stylesheet")
(type "text/css")
(href #$manual-css-url)))))
(('body ('@ attributes ...) elements ...)
`(body (@ ,@attributes)
,(navigation-bar
;; TODO: Add "Contribute" menu, to report ;; TODO: Add "Contribute" menu, to report
;; errors, etc. ;; errors, etc.
(list (menu-dropdown (list (menu-dropdown
@@ -970,12 +952,12 @@ makeinfo OPTIONS."
(mkdir-p (string-append #$output "/" (mkdir-p (string-append #$output "/"
(normalize language))) (normalize language)))
(setenv "LANGUAGE" language) (setenv "LANGUAGE" language)
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo") (apply invoke #$(file-append texinfo "/bin/makeinfo")
"-o" (string-append #$output "/" "-o" (string-append #$output "/"
(normalize language) (normalize language)
"/html_node") "/html_node")
opts) opts)
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo") (apply invoke #$(file-append texinfo "/bin/makeinfo")
"--no-split" "--no-split"
"-o" "-o"
(string-append #$output "/" (string-append #$output "/"
@@ -1427,7 +1409,7 @@ commit date (an integer)."
(string-append #+tar "/bin:" (string-append #+tar "/bin:"
#+xz "/bin:" #+xz "/bin:"
#+zstd "/bin:" #+zstd "/bin:"
#+texinfo-7 "/bin")) #+texinfo "/bin"))
(invoke "tar" "xf" #$(package-source guile)) (invoke "tar" "xf" #$(package-source guile))
(mkdir-p (string-append #$output "/en/html_node")) (mkdir-p (string-append #$output "/en/html_node"))
@@ -1446,7 +1428,7 @@ commit date (an integer)."
(string-append #$output "/en/html_node"))))))))) (string-append #$output "/en/html_node")))))))))
(define %guile-manual-base-url (define %guile-manual-base-url
"https://doc.guix.gnu.org/guile/latest/en") "https://www.gnu.org/software/guile/manual")
(define (for-all-languages index) (define (for-all-languages index)
(map (lambda (language) (map (lambda (language)
+7 -28
View File
@@ -618,33 +618,6 @@ enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
out! out!
@unnumberedsubsubsec Submitting Pull Requests Following the AGit Workflow
@cindex AGit workflow, for pull requests (Emacs).
@url{https://codeberg.org/halvin/agitjo, Agitjo} is a helper to ease
AGit workflow based patch submission (@pxref{Submitting Patches}).
Install it with:
@example
guix install emacs-agitjo
@end example
Assuming your local checkout is on the branch containing the changes you
would like to submit for inclusion in the @code{master} branch, use
@command{M-x agitjo-push} then:
@itemize
@item
Set options like the title @option{-t} and the session identifier
@option{-s}.
@item
Invoke one of the push commands to execute a @command{git push} operation.
@end itemize
When creating a new pull request, a dedicated buffer will open for
drafting a description. The force-push option @option{-f} is enabled to
push changes to the existing pull request.
@unnumberedsubsubsec Taming Boilerplate with Templates @unnumberedsubsubsec Taming Boilerplate with Templates
@cindex code snippets @cindex code snippets
@@ -733,7 +706,13 @@ Manual}). To set it up, enable it in the relevant modes:
When working from a Git checkout of Guix, setup is automatic: When working from a Git checkout of Guix, setup is automatic:
@code{bug-reference} automatically detects that the project is hosted on @code{bug-reference} automatically detects that the project is hosted on
Codeberg and infers the issue and pull request URL from there. Codeberg@footnote{
@c 'vc-git-repository-url' is used by
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
@c names for the remote.
As of Emacs@tie{}30.2, auto-detection works if and
only if the Git remote is called @code{upstream} or @code{origin}.} and
infers the issue and pull request URL from there.
@node Guile Studio @node Guile Studio
@subsection Guile Studio @subsection Guile Studio
+14 -32
View File
@@ -646,11 +646,9 @@ This field contains a description of the source code origin. The
@enumerate @enumerate
@item The method, here @code{url-fetch} to download via HTTP/FTP, but other methods @item The method, here @code{url-fetch} to download via HTTP/FTP, but other methods
exist, such as @code{git-fetch} for Git repositories. @xref{origin exist, such as @code{git-fetch} for Git repositories.
Reference,,, guix, GNU Guix Reference Manual}, for more info on the
available download methods.
@item The URI, which is typically some @code{https://} location for @code{url-fetch}. Here @item The URI, which is typically some @code{https://} location for @code{url-fetch}. Here
the special @code{mirror://gnu} refers to a set of well known locations, all of the special `mirror://gnu` refers to a set of well known locations, all of
which can be used by Guix to fetch the source, should some of them fail. which can be used by Guix to fetch the source, should some of them fail.
@item The @code{sha256} checksum of the requested file. This is essential to ensure @item The @code{sha256} checksum of the requested file. This is essential to ensure
the source is not corrupted. Note that Guix works with base32 strings, the source is not corrupted. Note that Guix works with base32 strings,
@@ -1118,8 +1116,7 @@ Let's discuss those fields in depth.
@subsubsection @code{git-fetch} method @subsubsection @code{git-fetch} method
Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
a Git repository and a commit (@pxref{origin Reference,,, guix, GNU Guix a Git repository and a commit. The commit can be any Git reference such as
Reference Manual}). The commit can be any Git reference such as
tags, so if the @code{version} is tagged, then it can be used directly. Sometimes tags, so if the @code{version} is tagged, then it can be used directly. Sometimes
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
"v" version))}. "v" version))}.
@@ -1165,7 +1162,7 @@ Snippets might need additional Guile modules which can be imported from the
There are 3 different input types. In short: There are 3 different input types. In short:
@table @code @table @asis
@item native-inputs @item native-inputs
Required for building but not runtime -- installing a package Required for building but not runtime -- installing a package
through a substitute won't install these inputs. through a substitute won't install these inputs.
@@ -1233,14 +1230,9 @@ It's advised to separate outputs only when you've shown it's worth it: if the
output size is significant (compare with @code{guix size}) or in case the package is output size is significant (compare with @code{guix size}) or in case the package is
modular. modular.
@xref{Packages with Multiple Outputs,,, guix, GNU Guix Reference
Manual}, for more info.
@subsubsection Build system arguments @subsubsection Build system arguments
The @code{arguments} is a keyword-value list used to configure the build The @code{arguments} is a keyword-value list used to configure the build process.
process; these arguments are passed to the @dfn{build system}
(@pxref{Build Systems,,, guix, GNU Guix Reference Manual}).
The simplest argument @code{#:tests?} can be used to disable the test suite when The simplest argument @code{#:tests?} can be used to disable the test suite when
building the package. This is mostly useful when the package does not feature building the package. This is mostly useful when the package does not feature
@@ -1256,7 +1248,7 @@ following flags
"CC=gcc") "CC=gcc")
@end lisp @end lisp
translate into: translate into
@example @example
$ make CC=gcc prefix=/gnu/store/...-<out> $ make CC=gcc prefix=/gnu/store/...-<out>
@@ -1276,9 +1268,7 @@ Similarly, it's possible to set the configure flags:
The @code{%build-inputs} variable is also generated in scope. It's an association The @code{%build-inputs} variable is also generated in scope. It's an association
table that maps the input names to their store directories. table that maps the input names to their store directories.
The @code{phases} keyword lists the sequential steps of the build The @code{phases} keyword lists the sequential steps of the build system. Typically
system. @xref{Build Phases,,, guix, GNU Guix Reference Manual}, for
details; in a nutshell,
phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know
more about those phases, you need to work out the appropriate build system more about those phases, you need to work out the appropriate build system
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}: definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
@@ -1393,12 +1383,10 @@ Its return value is ignored.
@subsubsection Code staging @subsubsection Code staging
The astute reader may have noticed the hash-tilde and hash-dollar syntax in the The astute reader may have noticed the quasi-quote and comma syntax in the
argument field. Indeed, the build code in the package declaration should not be argument field. Indeed, the build code in the package declaration should not be
evaluated on the client side, but only when passed to the Guix daemon. This evaluated on the client side, but only when passed to the Guix daemon. This
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}. mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for info on the
this mechanism, which is called @dfn{g-expressions}.
@subsubsection Utility functions @subsubsection Utility functions
@@ -1407,7 +1395,7 @@ equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: com
regular ``Unix-style'' installations. regular ``Unix-style'' installations.
Some like @code{chmod} are native to Guile. Some like @code{chmod} are native to Guile.
@xref{File System,,, guile, Guile reference manual} for a complete list. @xref{,,, guile, Guile reference manual} for a complete list.
Guix provides additional helper functions which prove especially handy in the Guix provides additional helper functions which prove especially handy in the
context of package management. context of package management.
@@ -1541,9 +1529,9 @@ The recursive importer won't import packages for which Guix already has package
definitions, except for the very first. definitions, except for the very first.
Not all applications can be packaged this way, only those relying on a select Not all applications can be packaged this way, only those relying on a select
number of supported systems. number of supported systems. Read about the full list of importers in
@xref{Invoking guix import,,, guix, GNU Guix Reference Manual} for the guix import section of the manual
the full list of importers. (@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
@node Automatic update @node Automatic update
@subsubsection Automatic update @subsubsection Automatic update
@@ -1563,9 +1551,6 @@ well:
$ guix refresh hello --update $ guix refresh hello --update
@end example @end example
@xref{Invoking guix refresh,,, guix, GNU Guix Reference Manual}, for
more info.
@node Inheritance @node Inheritance
@subsubsection Inheritance @subsubsection Inheritance
@@ -1590,9 +1575,7 @@ noticed that a significant number of them have a @code{inherit} field:
All unspecified fields are inherited from the parent package. This is very All unspecified fields are inherited from the parent package. This is very
convenient to create alternative packages, for instance with different source, convenient to create alternative packages, for instance with different source,
version or compilation options. @xref{Defining Package Variants,,, guix, version or compilation options.
GNU Guix Reference Manual}, for a discussion of inheritance and of other
ways to create package variants.
@node Getting help @node Getting help
@subsection Getting help @subsection Getting help
@@ -1633,8 +1616,7 @@ hopefully we will see your contributions soon!
@itemize @itemize
@item @item
@xref{Defining Packages,,, guix, GNU Guix Reference Manual}, for the The @uref{https://guix.gnu.org/manual/en/html_node/Defining-Packages.html, package reference in the manual}
@code{package} reference in the manual.
@item @item
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix} @uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix}
+129 -652
View File
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -6,7 +6,7 @@
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu> # Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2019 Timothy Sample <samplet@ngyro.com> # Copyright © 2019 Timothy Sample <samplet@ngyro.com>
# Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org> # Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> # Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
@@ -30,7 +30,7 @@ COOKBOOK_LANGUAGES = de es fr it ko pt_BR ru sk sv ta zh_CN
# Arg1: A list of languages codes. # Arg1: A list of languages codes.
# Arg2: The file name stem. # Arg2: The file name stem.
lang_to_texinfo = $(foreach lang,$(1),$(srcdir)/%D%/$(2).$(lang).texi) lang_to_texinfo = $(foreach lang,$(1),%D%/$(2).$(lang).texi)
# Automake does not understand GNU Make non-standard extensions, # Automake does not understand GNU Make non-standard extensions,
# unfortunately, so we cannot use the above patsubst-based function here. # unfortunately, so we cannot use the above patsubst-based function here.
@@ -104,7 +104,7 @@ MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
# reference is not translated, which means it references a section that does not # reference is not translated, which means it references a section that does not
# exist. # exist.
define xref_command define xref_command
$(top_builddir)/pre-inst-env $(GUILE) --no-auto-compile \ $(top_srcdir)/pre-inst-env $(GUILE) --no-auto-compile \
"$(top_srcdir)/build-aux/convert-xref.scm" \ "$(top_srcdir)/build-aux/convert-xref.scm" \
$@.tmp $< $@.tmp $<
endef endef
@@ -116,21 +116,21 @@ dummy_pot = $(shell mktemp --suffix=.pot)
$(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go $(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \ -$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \ --variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/guix.texi" \ --variable master="%D%/guix.texi" \
--variable po="$<" \ --variable po="$<" \
--variable pot=$(dummy_pot) \ --variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg po/doc/po4a.cfg
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp" -sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command) -$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@" -mv "$@.tmp" "$@"
$(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go $(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \ -$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \ --variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/guix-cookbook.texi" \ --variable master="%D%/guix-cookbook.texi" \
--variable po="$<" \ --variable po="$<" \
--variable pot=$(dummy_pot) \ --variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg po/doc/po4a.cfg
-sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp" -sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command) -$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@" -mv "$@.tmp" "$@"
@@ -138,16 +138,16 @@ $(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
$(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \ -$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \ --variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/contributing.texi" \ --variable master="%D%/contributing.texi" \
--variable po="$<" \ --variable po="$<" \
--variable pot=$(dummy_pot) \ --variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg po/doc/po4a.cfg
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command) -$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@" -mv "$@.tmp" "$@"
%D%/os-config-%.texi: gnu/system/examples/%.tmpl %D%/os-config-%.texi: gnu/system/examples/%.tmpl
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \ $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
sed -e s,@,@@,g "$<" > "$@" cp "$<" "$@"
infoimagedir = $(infodir)/images infoimagedir = $(infodir)/images
dist_infoimage_DATA = \ dist_infoimage_DATA = \
+5 -6
View File
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
# From Gerrit Code Review 3.11.1.
# #
# Part of Gerrit Code Review (https://www.gerritcodereview.com/) # Part of Gerrit Code Review (https://www.gerritcodereview.com/)
# #
@@ -69,9 +70,9 @@ dest="$1.tmp.${random}"
trap 'rm -f "$dest" "$dest-2"' EXIT trap 'rm -f "$dest" "$dest-2"' EXIT
if ! sed -e '/>8/q' "$1" | git stripspace --strip-comments > "${dest}" ; then if ! cat "$1" | sed -e '/>8/q' | git stripspace --strip-comments > "${dest}" ; then
echo "cannot strip comments from $1" echo "cannot strip comments from $1"
exit 1 exit 1
fi fi
if test ! -s "${dest}" ; then if test ! -s "${dest}" ; then
@@ -90,7 +91,7 @@ else
pattern=".*" pattern=".*"
fi fi
if git interpret-trailers --no-divider --parse < "$1" | grep -q "^$token: $pattern$" ; then if git interpret-trailers --parse < "$1" | grep -q "^$token: $pattern$" ; then
exit 0 exit 0
fi fi
@@ -98,7 +99,6 @@ fi
# sentinel at the end to make sure there is one. # sentinel at the end to make sure there is one.
# Avoid the --in-place option which only appeared in Git 2.8 # Avoid the --in-place option which only appeared in Git 2.8
if ! git interpret-trailers \ if ! git interpret-trailers \
--no-divider \
--trailer "Signed-off-by: SENTINEL" < "$1" > "$dest-2" ; then --trailer "Signed-off-by: SENTINEL" < "$1" > "$dest-2" ; then
echo "cannot insert Signed-off-by sentinel line in $1" echo "cannot insert Signed-off-by sentinel line in $1"
exit 1 exit 1
@@ -110,7 +110,6 @@ fi
# Avoid the --in-place option which only appeared in Git 2.8 # Avoid the --in-place option which only appeared in Git 2.8
# Avoid the --where option which only appeared in Git 2.15 # Avoid the --where option which only appeared in Git 2.15
if ! git -c trailer.where=before interpret-trailers \ if ! git -c trailer.where=before interpret-trailers \
--no-divider \
--trailer "Signed-off-by: $token: $value" < "$dest-2" | --trailer "Signed-off-by: $token: $value" < "$dest-2" |
sed -e "s/^Signed-off-by: \($token: \)/\1/" \ sed -e "s/^Signed-off-by: \($token: \)/\1/" \
-e "/^Signed-off-by: SENTINEL/d" > "$dest" ; then -e "/^Signed-off-by: SENTINEL/d" > "$dest" ; then
+2 -2
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020-2022, 2024 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020-2022, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2026 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
@@ -61,7 +61,7 @@ TARGET."
;; from the other package sets. ;; from the other package sets.
(fold delete %base-packages (fold delete %base-packages
(append (map specification->package (append (map specification->package
'("kbd" "iproute2" "iw" "wireless-tools")) '("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools"))
%base-packages-linux))) %base-packages-linux)))
(define %system-packages (define %system-packages
-127
View File
@@ -43,133 +43,6 @@
(channel-news (channel-news
(version 0) (version 0)
(entry (commit "c9dcd203e5356f13b736d5be121fd61874be1a93")
(title
(en "@command{pull} and @command{time-machine} can download channel
files")
(de "@command{pull} und @command{time-machine} können Kanaldateien
herunterladen")
(fr "@command{pull} et @command{time-machine} peuvent télécharger des
fichiers canaux")
(pt "@command{pull} e @command{time-machine} podem baixar arquivos de canal"))
(body
(en "The @command{guix pull} and @command{guix time-machine} can now
be passed a URL as their @option{-C} (or @option{--channels}) option. For
instance, the command below pulls from the latest successfully-evaluated
commit of the @code{master} branch:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
Alternatively, one may also specify a @uref{https://swhid.org, SWHID} that
points to a channel file:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
To make that possible, channel files are now evaluated in an isolated
environment (a @dfn{sandbox}), which prevents them from evaluating arbitrary
code; if you have existing channel files that rely on \"non-standard\"
features, you may now need to pass @option{--unsafe-channel-evaluation} to
evaluate them. Furthermore, when fetching channels from a downloaded file,
only @dfn{trusted channels} are allowed---one may specify them in
@file{~/.config/guix/trusted-channels.scm}.
See @samp{info \"(guix)Invoking guix pull\"} for more information.")
(de "Den Befehlen @command{guix pull} und @command{guix time-machine}
kann jetzt eine URL mit der Option @option{-C} (oder @option{--channels})
übergeben werden. Zum Beispiel lädt der folgende Befehl vom neuesten
erfolgreich ausgewerteten Commit des @code{master}-Branches herunter:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
Als Alternative kann man auch eine @uref{https://swhid.org, SWHID} angeben, die
auf eine Kanaldatei verweist:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
Damit das möglich ist, werden Kanaldateien jetzt in einer isolierten Umgebung
ausgewertet (einer @dfn{Sandbox}), wodurch sie keinen beliebigen Code mehr
ausführen können. Wenn Sie in bestehenden Dateien solche über den Standard
hinausgehenden Funktionen benutzt haben, kann dazu jetzt verlangt werden, dass
Sie @option{--unsafe-channel-evaluation} übergeben, um sie auszuwerten. Des
Weiteren dürfen Kanäle aus heruntergeladenen Dateien nur als
@dfn{vertrauenswürdig} markierte Kanäle verwenden, die Sie in
@file{~/.config/guix/trusted-channels.scm} angeben.
Siehe @samp{info \"(guix.de) Aufruf von guix pull\"} für mehr Informationen.")
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
peuvent dorénavant prendre une URL pour l'option @option{-C} (ou
@option{--channels}). Par exemple, la commande ci-dessous tire la dernière
révision de la branch @code{master} à avoir été évaluée avec succès:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
On peut également spécifier un @uref{https://swhid.org, SWHID} qui pointe vers
un fichier canaux:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
Pour permettre cela, les fichiers canaux sont maintenant évalués dans un
environnement isolé (un @dfn{bac à sable}), ce qui les empêche d'évaluer du
code arbitraire; lorsqu'on a des fichiers canaux qui dépendent de
fonctionnalités «non standard», il peut dorénavant être nécessaire de passer
l'option @option{--unsafe-channel-evaluation} pour les évaluer. De plus,
lorsqu'un fichier canaux est téléchargé, seuls les @dfn{canaux de confiance}
sont admis---on peut les énumérer dans
@file{~/.config/guix/trusted-channels.scm}.
Voir @samp{info \"(guix.fr) Invoquer guix pull\"} pour plus
d'informations.")
(pt "Os comandos @command{guix pull} e @command{guix time-machine}
podem receber uma URL como opção para @option{-C} (or @option{--channels}).
Por exemplo, o comando abaixo busca do commit mais recente evaluado com
sucesso do ramo @code{master}:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
Alternativamente, pode-se também especificar uma @uref{https://swhid.org,
SWHID} que aponta para um arquivo de canal:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
Para tornar isso possível, arquivos de canal agora são evaluados em um
ambiente isolado (uma caixinha de areia, vulgo @dfn{sandbox}), o que os impede
de evaluar código arbitrário; se você tem arquivos de canal que dependem de
recursos \"não padrão\", pode ser necessário que você passe a opção
@option{--unsafe-channel-evaluation} para evaluá-los. Além disso, quando se
buscam canais de um arquivo baixado, somente @dfn{canais confiáveis} são
permitidos---é possível especificá-los em
@file{~/.config/guix/trusted-channels.scm}.
Veja @samp{info \"(guix.pt_BR)Invocando guix pull\"} para mais informação.")))
(entry (commit "a7c8e68dc51144a6d3981b770aca9c4897fc7c0c") (entry (commit "a7c8e68dc51144a6d3981b770aca9c4897fc7c0c")
(title (title
(en "Records can refer to inherited values of thunked fields") (en "Records can refer to inherited values of thunked fields")
+9 -37
View File
@@ -514,7 +514,6 @@ of Rebar and Mix build systems and Hex.pm importer."
"gnu/packages/autogen.scm" "gnu/packages/autogen.scm"
"gnu/packages/autotools.scm" "gnu/packages/autotools.scm"
"gnu/packages/bison.scm" "gnu/packages/bison.scm"
"gnu/packages/compiler-tools.scm"
"gnu/packages/m4.scm" "gnu/packages/m4.scm"
"gnu/packages/oyacc.scm" "gnu/packages/oyacc.scm"
"gnu/packages/re2c.scm"))) "gnu/packages/re2c.scm")))
@@ -662,12 +661,6 @@ challenges"))
"gnu/system/examples/lightweight-desktop.tmpl" "gnu/system/examples/lightweight-desktop.tmpl"
"gnu/system/examples/desktop.tmpl"))) "gnu/system/examples/desktop.tmpl")))
(define-team dotnet
(team 'dotnet
#:name ".NET"
#:description ".NET programming environment."
#:scope (list "gnu/packages/dotnet.scm")))
(define-team electronics (define-team electronics
(team 'electronics (team 'electronics
#:name "Electronics team" #:name "Electronics team"
@@ -876,8 +869,8 @@ and the maven-build-system."
"The plasma desktop environment, and KDE Applications." "The plasma desktop environment, and KDE Applications."
#:scope (list (make-regexp* "^gnu/packages/(kde)(-.+|)\\.scm$")))) #:scope (list (make-regexp* "^gnu/packages/(kde)(-.+|)\\.scm$"))))
(define-team linux-libre (define-team kernel
(team 'linux-libre (team 'kernel
#:name "Linux-libre kernel team" #:name "Linux-libre kernel team"
#:scope (list "gnu/build/linux-modules.scm" #:scope (list "gnu/build/linux-modules.scm"
(make-regexp* "^gnu/packages/aux-files/linux-libre.*$") (make-regexp* "^gnu/packages/aux-files/linux-libre.*$")
@@ -984,8 +977,7 @@ perl-build-system as well as the rakudo-build-system."
#:description #:description
"Python, Python packages, the \"pypi\" importer, and the python-build-system." "Python, Python packages, the \"pypi\" importer, and the python-build-system."
#:scope #:scope
(list (make-regexp* "^gnu/packages/aux-files/python/.*\\.py$") (list "gnu/packages/django.scm"
"gnu/packages/django.scm"
"gnu/packages/jupyter.scm" "gnu/packages/jupyter.scm"
(make-regexp* "^gnu/packages/python(-.+|)\\.scm$") (make-regexp* "^gnu/packages/python(-.+|)\\.scm$")
"gnu/packages/sphinx.scm" "gnu/packages/sphinx.scm"
@@ -1249,11 +1241,6 @@ the \"texlive\" importer."
"guix/build-system/zig.scm"))) "guix/build-system/zig.scm")))
(define-member (person "Anderson Torres"
"anderson.torres.8519@gmail.com"
"AndersonTorres")
community translations)
(define-member (person "Eric Bavier" (define-member (person "Eric Bavier"
"bavier@posteo.net" "bavier@posteo.net"
"bavier") "bavier")
@@ -1298,7 +1285,7 @@ the \"texlive\" importer."
(define-member (person "Leo Famulari" (define-member (person "Leo Famulari"
"leo@famulari.name" "leo@famulari.name"
"lfam") "lfam")
linux-libre) kernel)
(define-member (person "Efraim Flashner" (define-member (person "Efraim Flashner"
"efraim@flashner.co.il" "efraim@flashner.co.il"
@@ -1383,7 +1370,7 @@ the \"texlive\" importer."
(define-member (person "Vagrant Cascadian" (define-member (person "Vagrant Cascadian"
"vagrant@debian.org" "vagrant@debian.org"
"vagrantc") "vagrantc")
debian embedded linux-libre) debian embedded kernel)
(define-member (person "Vagrant Cascadian" ;XXX: duplicate (define-member (person "Vagrant Cascadian" ;XXX: duplicate
"vagrant@reproducible-builds.org" "vagrant@reproducible-builds.org"
@@ -1537,7 +1524,7 @@ the \"texlive\" importer."
(define-member (person "Rodion Goritskov" (define-member (person "Rodion Goritskov"
"rodion@goritskov.com" "rodion@goritskov.com"
"rodion-goritskov") "rodion-goritskov")
games java kde linux-libre release) games java kde kernel release)
(define-member (person "Jason Conroy" (define-member (person "Jason Conroy"
"jconroy@tscripta.net" "jconroy@tscripta.net"
@@ -1557,7 +1544,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic" (define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com" "dannym@friendly-machines.com"
"daym") "daym")
bootstrap dotnet hpc python rust science) bootstrap hpc python rust science)
(define-member (person "Andy Tai" (define-member (person "Andy Tai"
"atai@atai.org" "atai@atai.org"
@@ -1577,7 +1564,7 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong" (define-member (person "Nguyễn Gia Phong"
"cnx@loang.net" "cnx@loang.net"
"cnx") "cnx")
build-tools lua qa-packages sysadmin vcs) build-tools python qa-packages sysadmin vcs)
(define-member (person "Lilah Tascheter" (define-member (person "Lilah Tascheter"
"lilah@lunabee.space" "lilah@lunabee.space"
@@ -1622,7 +1609,7 @@ the \"texlive\" importer."
(define-member (person "Wilko Meyer" (define-member (person "Wilko Meyer"
"w@wmeyer.eu" "w@wmeyer.eu"
"theesm") "theesm")
linux-libre perl) kernel perl)
(define-member (person "Untrusem" (define-member (person "Untrusem"
"mysticmoksh@riseup.net" "mysticmoksh@riseup.net"
@@ -1679,21 +1666,6 @@ the \"texlive\" importer."
"gemmaro") "gemmaro")
ruby) ruby)
(define-member (person "bdunahu"
"bdunahu@operationnull.com"
"bdunahu")
games)
(define-member (person "Nomike"
"nomike@nomike.com"
"nomike")
dotnet)
(define-member (person "Fabio Natali"
"me@fabionatali.com"
"fnat")
emacs)
(define (find-team name) (define (find-team name)
(or (hash-ref %teams (string->symbol name)) (or (hash-ref %teams (string->symbol name))
-2
View File
@@ -446,11 +446,9 @@ when booting a root file system on a Btrfs subvolume."
(modules (menu-entry-multiboot-modules entry))) (modules (menu-entry-multiboot-modules entry)))
#~(format port " #~(format port "
menuentry ~s { menuentry ~s {
~a
multiboot ~a root=~a~a~a multiboot ~a root=~a~a~a
}~%" }~%"
#$label #$label
#$(grub-root-search device kernel)
#$kernel #$kernel
#$(device-name->hurd-device-name device-name #:disk disk) #$(device-name->hurd-device-name device-name #:disk disk)
(string-join (list #$@arguments) " " 'prefix) (string-join (list #$@arguments) " " 'prefix)
+24 -90
View File
@@ -74,37 +74,16 @@ Return the value associated with OPTION, or #f on failure."
(loop (absolute target) (+ depth 1)) (loop (absolute target) (+ depth 1))
file)))))) file))))))
(define* (make-hurd-device-nodes #:key (root "/") (hurd "/hurd")) (define* (make-hurd-device-nodes #:optional (root "/"))
"Make some of the nodes needed on GNU/Hurd." "Make some of the nodes needed on GNU/Hurd."
(define (scope dir) (define (scope dir)
(in-vicinity root dir)) (string-append root (if (string-suffix? "/" root) "" "/") dir))
(define scope-set-translator
(match-lambda
((file-name command)
(scope-set-translator (list file-name command #o600)))
((file-name command mode)
(let ((mount-point (scope file-name)))
(set-translator mount-point command mode)))))
(mkdir-p (scope "dev")) (mkdir-p (scope "dev"))
;; XXX: We must have `/dev/console` otherwise `console-run` tries to ;; Don't create /dev/null etc just yet; the store
;; create it while the file-system is still read-only. ;; messes-up the permission bits.
(for-each (lambda (file) ;; Don't create /dev/console, /dev/vcs, etc.: they are created by
(call-with-output-file (scope file) ;; console-run on first boot.
(lambda (port)
(display file port) ;avoid hard-linking
(chmod port #o666))))
'("dev/console"
;; XXX What about vcs?
;; Don't create /dev/null etc just yet; the store
;; messes-up the permission bits.
;; "dev/null"
;; "dev/zero"
;; "dev/full"
;; "dev/random"
;; "dev/urandom"
))
(mkdir-p (scope "servers")) (mkdir-p (scope "servers"))
(for-each (lambda (file) (for-each (lambda (file)
@@ -122,47 +101,22 @@ Return the value associated with OPTION, or #f on failure."
"suspend")) "suspend"))
(mkdir-p (scope "servers/socket")) (mkdir-p (scope "servers/socket"))
(mkdir-p (scope "servers/bus/pci"))
;; Set the 'gnu.translator' extended attribute for passive translator ;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
;; settings for pipes (servers/socet/1) and mount information (proc/mounts).
;; Pipes are needed for guile-3.0.11 to startup, this enables moving
;; "runsystem" to guile.
;; XXX TODO: Set more passive xattr translators?
(define servers
`(
;; ("servers/bus/pci" ("/hurd/pci-arbiter"))
;; ("servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
;; ("servers/crash-kill" ("/hurd/crash" "--kill"))
;; ("servers/crash-suspend" ("/hurd/crash" "--suspend"))
;; ("servers/password" ("/hurd/password"))
;; PIPE -- for running runsystem as Guile
("servers/socket/1" (,(in-vicinity hurd "pflocal")))
;; /servers/socket/2 and /26 are created by 'static-networking-service'.
;; XXX: Spawn pfinet without arguments on these nodes so that a DHCP
;; client has someone to talk to?
("proc" (,(in-vicinity hurd "procfs") "--stat-mode=444"))))
(for-each scope-set-translator servers) ;; TODO: Set the 'gnu.translator' extended attribute for passive translator
;; settings?
(define devices (mkdir-p (scope "servers/bus/pci")))
'())
(for-each scope-set-translator devices))
(define (passive-translator-xattr? file-name) (define (passive-translator-xattr? file-name)
"Return true if FILE-NAME has an extended @code{gnu.translator} attribute "Return true if FILE-NAME has an extended @code{gnu.translator} attribute
set. set."
(catch 'system-error
Note that reading \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs, (lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is (lambda args
needed." (if (= ENODATA (system-error-errno args))
(and (file-exists? file-name) #f
(catch 'system-error (apply throw args)))))
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
(lambda args
(if (= ENODATA (system-error-errno args))
#f
(apply throw args))))))
(define (passive-translator-installed? file-name) (define (passive-translator-installed? file-name)
"Return true if @file{showtrans} finds a translator installed on FILE-NAME." "Return true if @file{showtrans} finds a translator installed on FILE-NAME."
@@ -182,11 +136,7 @@ needed."
(passive-translator-installed? file-name))) (passive-translator-installed? file-name)))
(define* (set-translator file-name command #:optional (mode #o600)) (define* (set-translator file-name command #:optional (mode #o600))
"Setup translator COMMAND on FILE-NAME. "Setup translator COMMAND on FILE-NAME."
Note that setting \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs,
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is
needed."
(unless (translated? file-name) (unless (translated? file-name)
(let ((dir (dirname file-name))) (let ((dir (dirname file-name)))
(unless (directory-exists? dir) (unless (directory-exists? dir)
@@ -218,7 +168,7 @@ needed."
"Make some of the device nodes needed on GNU/Hurd." "Make some of the device nodes needed on GNU/Hurd."
(define (scope dir) (define (scope dir)
(in-vicinity root dir)) (string-append root (if (string-suffix? "/" root) "" "/") dir))
(define scope-set-translator (define scope-set-translator
(match-lambda (match-lambda
@@ -230,19 +180,8 @@ needed."
(define (mkdir* dir) (define (mkdir* dir)
(let ((dir (scope dir))) (let ((dir (scope dir)))
(unless (file-exists? dir) (unless (file-exists? dir)
(mkdir-p dir)))) (mkdir-p dir))))
;; (define random-seed "/var/lib/random-seed")
;; ;; Create seed file to avoid
;; ;; /gnu/store/...-hurd-x.y.z/hurd/random: Warning: Failed to read random seed file /var/lib/random-seed: No such file or directory
;; (let ((file (scope random-seed)))
;; (mkdir-p (dirname file))
;; (call-with-output-file file
;; (lambda (port)
;; (display (iota 1000) port)
;; (chmod port #o600))))
(define servers (define servers
'(("servers/bus/pci" ("/hurd/pci-arbiter")) '(("servers/bus/pci" ("/hurd/pci-arbiter"))
@@ -259,14 +198,8 @@ needed."
(define devices (define devices
`(("dev/full" ("/hurd/null" "--full") #o666) `(("dev/full" ("/hurd/null" "--full") #o666)
("dev/null" ("/hurd/null") #o666) ("dev/null" ("/hurd/null") #o666)
;; The random translators, especially /dev/urandom, need to be non-passive ("dev/random" ("/hurd/random" "--seed-file" "/var/lib/random-seed")
;; When they exist in the file-system and reference /var/lib/random-seed #o644)
;; while / is read-only. console-run will hang.
;; ("dev/random" ("/hurd/random" "--seed-file" ,random-seed)
;; #o644)
;; ("dev/urandom" ("/hurd/random" "--seed-file" ,random-seed
;; "--fast")
;; #o644)
("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666) ("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666)
("dev/console" ("/hurd/term" "/dev/console" "device" "console")) ("dev/console" ("/hurd/term" "/dev/console" "device" "console"))
@@ -351,6 +284,7 @@ needed."
(rename-file (scope "dev/console") (scope "dev/console-"))) (rename-file (scope "dev/console") (scope "dev/console-")))
(for-each scope-set-translator devices) (for-each scope-set-translator devices)
(false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom")))
(false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin"))) (false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin")))
(false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout"))) (false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout")))
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr"))) (false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr")))
+1 -1
View File
@@ -322,7 +322,7 @@ register-closure."
;; Populate /dev. ;; Populate /dev.
(when make-device-nodes (when make-device-nodes
(make-device-nodes #:root root)) (make-device-nodes root))
(when register-closures? (when register-closures?
(unless copy-closures? (unless copy-closures?
+1 -10
View File
@@ -173,16 +173,7 @@ SYSTEM."
(define (core-packages system) (define (core-packages system)
"Return the 'core' package set suitable for SYSTEM, which might be a system "Return the 'core' package set suitable for SYSTEM, which might be a system
type or a GNU triplet." type or a GNU triplet."
(cond ((target-linux? system) (cond ((target-linux? system) (append %core-packages %linux-packages))
(append %core-packages
%linux-packages
(cond ((target-arm32? system)
(list linux-libre-arm-generic))
((target-aarch64? system)
(list linux-libre-arm64-generic))
((target-riscv64? system)
(list linux-libre-riscv64-generic))
(else '()))))
((target-hurd? system) (append %core-packages %hurd-packages)) ((target-hurd? system) (append %core-packages %hurd-packages))
((target-mingw? system) %core-packages-for-mingw) ((target-mingw? system) %core-packages-for-mingw)
(else '()))) (else '())))
-68
View File
@@ -70,11 +70,6 @@
openssh-host-proxy-command openssh-host-proxy-command
openssh-host-host-key-algorithms openssh-host-host-key-algorithms
openssh-host-accepted-key-types openssh-host-accepted-key-types
openssh-host-control-master
openssh-host-control-file-name
openssh-host-control-persist
openssh-host-sent-environment-variables
openssh-host-environment-variables
openssh-host-extra-content openssh-host-extra-content
proxy-jump proxy-jump
proxy-jump-host-name proxy-jump-host-name
@@ -89,9 +84,6 @@
(define (serialize-field-name name) (define (serialize-field-name name)
(match name (match name
('accepted-key-types "PubkeyAcceptedKeyTypes") ('accepted-key-types "PubkeyAcceptedKeyTypes")
('sent-environment-variables "SendEnv")
('environment-variables "SetEnv")
('control-file-name "ControlPath")
(_ (_
(let ((name (let ((str (symbol->string name))) (let ((name (let ((str (symbol->string name)))
(if (string-suffix? "?" str) (if (string-suffix? "?" str)
@@ -138,14 +130,6 @@
(define-maybe string) (define-maybe string)
(define-maybe natural-number) (define-maybe natural-number)
(define (serialize-symbol field value)
(if (maybe-value-set? value)
(string-append " " (serialize-field-name field) " "
(symbol->string value) "\n")
""))
(define-maybe symbol)
(define (serialize-raw-configuration-string field value) (define (serialize-raw-configuration-string field value)
(string-append value "\n")) (string-append value "\n"))
(define raw-configuration-string? string?) (define raw-configuration-string? string?)
@@ -158,33 +142,6 @@
(define-maybe string-list) (define-maybe string-list)
(define (env-list? lst)
(string-list? lst))
(define (serialize-env-list field lst)
(string-append " " (serialize-field-name field) " "
(string-join lst " ") "\n"))
(define-maybe env-list)
(define (string-alist? lst)
(and (list? lst)
(every (lambda (x)
(and (pair? x)
(string? (car x))
(string? (cdr x))))
lst)))
(define (serialize-string-alist field lst)
(string-append " " (serialize-field-name field) " "
(string-join
(map (match-lambda
((key . value)
(format #nil "~s" (string-append key "=" value))))
lst) " ") "\n"))
(define-maybe string-alist)
(define-record-type <proxy-command> (define-record-type <proxy-command>
(proxy-command command) (proxy-command command)
proxy-command? proxy-command?
@@ -318,31 +275,6 @@ through before connecting to the server.")
(accepted-key-types (accepted-key-types
maybe-string-list maybe-string-list
"The list of accepted user public key types.") "The list of accepted user public key types.")
(control-master
maybe-symbol
"Enables the sharing of multiple sessions over a single network connection.
Acceptable values are @code{'no}, @code{'yes}, @code{'auto}, @code{'ask}, and
@code{'autoask}.")
(control-file-name
maybe-string
"The file name of the control socket used for connection sharing, or
@code{\"none\"} to disable connection sharing.")
(control-persist
maybe-string
"When used in conjunction with @env{control-master}, specifies that the
master connection should remain open in the background (waiting for future
client connections) after the initial client connection has been closed.")
(sent-environment-variables
maybe-env-list
"Specifies which variables from the local environment should be sent to the
server. The server must also support it, and the server must be configured to
accept those environment variables.")
(environment-variables
maybe-string-alist
"List of environment variables with corresponding values to send to the
server, as an alist of strings of the form @code{'(\"@var{variable}\"
. \"@var{value}\")}. The server must also support it, and the server must be
configured to accept those environment variables.")
(extra-content (extra-content
(raw-configuration-string "") (raw-configuration-string "")
"Extra content appended as-is to this @code{Host} block in "Extra content appended as-is to this @code{Host} block in
+41 -36
View File
@@ -76,7 +76,6 @@
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com> # Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org> # Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com> # Copyright © 2025 bdunahu <bdunahu@operationnull.com>
# Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@@ -209,7 +208,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cobol.scm \ %D%/packages/cobol.scm \
%D%/packages/code.scm \ %D%/packages/code.scm \
%D%/packages/commencement.scm \ %D%/packages/commencement.scm \
%D%/packages/compiler-tools.scm \
%D%/packages/compression.scm \ %D%/packages/compression.scm \
%D%/packages/compton.scm \ %D%/packages/compton.scm \
%D%/packages/computer-architecture.scm \ %D%/packages/computer-architecture.scm \
@@ -236,7 +234,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/darwin.scm \ %D%/packages/darwin.scm \
%D%/packages/data-language.scm \ %D%/packages/data-language.scm \
%D%/packages/databases.scm \ %D%/packages/databases.scm \
%D%/packages/datalog.scm \
%D%/packages/datamash.scm \ %D%/packages/datamash.scm \
%D%/packages/datastructures.scm \ %D%/packages/datastructures.scm \
%D%/packages/dav.scm \ %D%/packages/dav.scm \
@@ -344,7 +341,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/golang-check.scm \ %D%/packages/golang-check.scm \
%D%/packages/golang-compression.scm \ %D%/packages/golang-compression.scm \
%D%/packages/golang-crypto.scm \ %D%/packages/golang-crypto.scm \
%D%/packages/golang-graphics.scm \
%D%/packages/golang-maths.scm \ %D%/packages/golang-maths.scm \
%D%/packages/golang-vcs.scm \ %D%/packages/golang-vcs.scm \
%D%/packages/golang-web.scm \ %D%/packages/golang-web.scm \
@@ -733,6 +729,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/zig.scm \ %D%/packages/zig.scm \
%D%/packages/zig-xyz.scm \ %D%/packages/zig-xyz.scm \
%D%/packages/zile.scm \ %D%/packages/zile.scm \
%D%/packages/zwave.scm \
\ \
%D%/services.scm \ %D%/services.scm \
%D%/services/admin.scm \ %D%/services/admin.scm \
@@ -759,7 +756,6 @@ GNU_SYSTEM_MODULES = \
%D%/services/docker.scm \ %D%/services/docker.scm \
%D%/services/authentication.scm \ %D%/services/authentication.scm \
%D%/services/file-sharing.scm \ %D%/services/file-sharing.scm \
%D%/services/firmware.scm \
%D%/services/games.scm \ %D%/services/games.scm \
%D%/services/ganeti.scm \ %D%/services/ganeti.scm \
%D%/services/getmail.scm \ %D%/services/getmail.scm \
@@ -1004,9 +1000,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/alure-dumb-2.patch \ %D%/packages/patches/alure-dumb-2.patch \
%D%/packages/patches/amd-smi-newer-libdrm.patch \
%D%/packages/patches/amd-smi-python.patch \ %D%/packages/patches/amd-smi-python.patch \
%D%/packages/patches/angband-remove-nonfree-tile-options.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \ %D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \ %D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \
@@ -1023,7 +1017,6 @@ dist_patch_DATA = \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \
%D%/packages/patches/atlas-gfortran-compat.patch \ %D%/packages/patches/atlas-gfortran-compat.patch \
%D%/packages/patches/aubio-waflib-python312-compat.patch \
%D%/packages/patches/audacity-ffmpeg-fallback.patch \ %D%/packages/patches/audacity-ffmpeg-fallback.patch \
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \ %D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
%D%/packages/patches/audiofile-fix-sign-conversion.patch \ %D%/packages/patches/audiofile-fix-sign-conversion.patch \
@@ -1106,6 +1099,7 @@ dist_patch_DATA = \
%D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrkit-libre-cross-compile.patch \ %D%/packages/patches/cdrkit-libre-cross-compile.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-fix-cmake.patch \
%D%/packages/patches/cf-tool-add-languages.patch \ %D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-ana-pr-49.patch \ %D%/packages/patches/cl-ana-pr-49.patch \
@@ -1138,8 +1132,11 @@ dist_patch_DATA = \
%D%/packages/patches/clog-fix-shared-build.patch \ %D%/packages/patches/clog-fix-shared-build.patch \
%D%/packages/patches/clucene-gcc-14.patch \ %D%/packages/patches/clucene-gcc-14.patch \
%D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \ %D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \ %D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
%D%/packages/patches/rust-codex-0.117.0-remove-patch-sections.patch \
%D%/packages/patches/cogl-fix-double-free.patch \ %D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collada-dom-boost.patch \ %D%/packages/patches/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \ %D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1171,6 +1168,7 @@ dist_patch_DATA = \
%D%/packages/patches/cryfs-boost-1.89-fix.patch \ %D%/packages/patches/cryfs-boost-1.89-fix.patch \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \ %D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.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/cube-nocheck.patch \
%D%/packages/patches/cups-relax-root-ownership-check.patch \ %D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \ %D%/packages/patches/cura-engine-gcc-14.patch \
@@ -1181,6 +1179,8 @@ dist_patch_DATA = \
%D%/packages/patches/curlftpfs-fix-memory-leak.patch \ %D%/packages/patches/curlftpfs-fix-memory-leak.patch \
%D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \ %D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
%D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvc5-reproducible-build.patch \
%D%/packages/patches/cvc5-symfpu-compatibility.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-fix-time-h.patch \ %D%/packages/patches/cyrus-sasl-fix-time-h.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \ %D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
@@ -1190,7 +1190,6 @@ dist_patch_DATA = \
%D%/packages/patches/date-output-pkg-config-files.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \ %D%/packages/patches/dbacl-include-locale.h.patch \
%D%/packages/patches/dbacl-icheck-multiple-definitions.patch \ %D%/packages/patches/dbacl-icheck-multiple-definitions.patch \
%D%/packages/patches/dblatex-importlib.patch \
%D%/packages/patches/dblatex-inkscape-1.0.patch \ %D%/packages/patches/dblatex-inkscape-1.0.patch \
%D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/ddd-build.patch \ %D%/packages/patches/ddd-build.patch \
@@ -1301,7 +1300,6 @@ dist_patch_DATA = \
%D%/packages/patches/fbgemm-use-system-libraries.patch \ %D%/packages/patches/fbgemm-use-system-libraries.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \ %D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fbreader-fix-icon.patch \ %D%/packages/patches/fbreader-fix-icon.patch \
%D%/packages/patches/fdroidcl-fix-tests.patch \
%D%/packages/patches/fenics-dolfin-algorithm.patch \ %D%/packages/patches/fenics-dolfin-algorithm.patch \
%D%/packages/patches/fenics-dolfin-demo-init.patch \ %D%/packages/patches/fenics-dolfin-demo-init.patch \
%D%/packages/patches/fenics-dolfin-boost.patch \ %D%/packages/patches/fenics-dolfin-boost.patch \
@@ -1368,8 +1366,16 @@ dist_patch_DATA = \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \ %D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-haskell-pythondir.patch \ %D%/packages/patches/ganeti-haskell-pythondir.patch \
%D%/packages/patches/ganeti-lens-compat.patch \ %D%/packages/patches/ganeti-lens-compat.patch \
%D%/packages/patches/ganeti-openssh-test-fix.patch \
%D%/packages/patches/ganeti-pyyaml-compat.patch \
%D%/packages/patches/ganeti-procps-compat.patch \
%D%/packages/patches/ganeti-reorder-arbitrary-definitions.patch \
%D%/packages/patches/ganeti-relax-dependencies.patch \
%D%/packages/patches/ganeti-shepherd-master-failover.patch \ %D%/packages/patches/ganeti-shepherd-master-failover.patch \
%D%/packages/patches/ganeti-shepherd-support.patch \ %D%/packages/patches/ganeti-shepherd-support.patch \
%D%/packages/patches/ganeti-sphinx-import.patch \
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
%D%/packages/patches/gawk-shell.patch \ %D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \ %D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \ %D%/packages/patches/gcc-arm-link-spec-fix.patch \
@@ -1509,8 +1515,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \ %D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
%D%/packages/patches/glibc-supported-locales.patch \ %D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glibc-versioned-locpath.patch \ %D%/packages/patches/glibc-versioned-locpath.patch \
%D%/packages/patches/glog-windows-h-nonwindows.patch \
%D%/packages/patches/glycin-sandbox-Adapt-bwrap-invocation.patch \
%D%/packages/patches/gmime-disable-tests.patch \ %D%/packages/patches/gmime-disable-tests.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gmp-faulty-test.patch \
@@ -1585,9 +1589,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \ %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \ %D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
%D%/packages/patches/gtk4-demo-reproducible.patch \
%D%/packages/patches/gtk4-needs-udmabuf.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \ %D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
@@ -1665,7 +1667,6 @@ dist_patch_DATA = \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/ispell-for-linphone-cmake.patch \ %D%/packages/patches/ispell-for-linphone-cmake.patch \
%D%/packages/patches/jami-avutil-link.patch \ %D%/packages/patches/jami-avutil-link.patch \
%D%/packages/patches/jami-libjami-cmake.patch \
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \ %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \ %D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \ %D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
@@ -1748,6 +1749,7 @@ dist_patch_DATA = \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \
%D%/packages/patches/kismet-unbundle-boost.patch \ %D%/packages/patches/kismet-unbundle-boost.patch \
%D%/packages/patches/kissfft-tflite-micro.patch \ %D%/packages/patches/kissfft-tflite-micro.patch \
%D%/packages/patches/kitty-fix-wayland-protocols.patch \
%D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-8-runtime-keymap-switch.patch \ %D%/packages/patches/kmscon-8-runtime-keymap-switch.patch \
%D%/packages/patches/knot-remove-runtime-deps.patch \ %D%/packages/patches/knot-remove-runtime-deps.patch \
@@ -1862,7 +1864,6 @@ dist_patch_DATA = \
%D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch \ %D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/linux-pam-unix_chkpwd.patch \ %D%/packages/patches/linux-pam-unix_chkpwd.patch \
%D%/packages/patches/linux-shmem-hurd-xattr.patch \
%D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \ %D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llvm-13-gcc-14.patch \ %D%/packages/patches/llvm-13-gcc-14.patch \
@@ -1881,10 +1882,10 @@ dist_patch_DATA = \
%D%/packages/patches/lua-5.4-pkgconfig.patch \ %D%/packages/patches/lua-5.4-pkgconfig.patch \
%D%/packages/patches/lua-5.4-liblua-so.patch \ %D%/packages/patches/lua-5.4-liblua-so.patch \
%D%/packages/patches/lua-5.4-search-paths.patch \ %D%/packages/patches/lua-5.4-search-paths.patch \
%D%/packages/patches/lua-5.5-search-paths.patch \
%D%/packages/patches/lua-5.x-search-path-helpers.patch \ %D%/packages/patches/lua-5.x-search-path-helpers.patch \
%D%/packages/patches/lua-lgi-fix-pango.patch \ %D%/packages/patches/lua-lgi-fix-pango.patch \
%D%/packages/patches/lua-lgi-fix-ref.patch \ %D%/packages/patches/lua-lgi-fix-ref.patch \
%D%/packages/patches/luanti-paths.patch \
%D%/packages/patches/lugaru-fix-sound.patch \ %D%/packages/patches/lugaru-fix-sound.patch \
%D%/packages/patches/luit-posix.patch \ %D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lxc-no-static-bin.patch \ %D%/packages/patches/lxc-no-static-bin.patch \
@@ -1943,6 +1944,7 @@ dist_patch_DATA = \
%D%/packages/patches/modglue-fix-build.patch \ %D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \ %D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/monero-use-system-miniupnpc.patch \
%D%/packages/patches/mono-1.2.6-bootstrap.patch \ %D%/packages/patches/mono-1.2.6-bootstrap.patch \
%D%/packages/patches/mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch \ %D%/packages/patches/mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch \
%D%/packages/patches/mono-1.9.1-fixes.patch \ %D%/packages/patches/mono-1.9.1-fixes.patch \
@@ -1967,7 +1969,7 @@ dist_patch_DATA = \
%D%/packages/patches/mswebrtc-cmake.patch \ %D%/packages/patches/mswebrtc-cmake.patch \
%D%/packages/patches/mtools-mformat-uninitialized.patch \ %D%/packages/patches/mtools-mformat-uninitialized.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/musl-CVE-2026-40200.patch \ %D%/packages/patches/musl-cross-locale.patch \
%D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \ %D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
%D%/packages/patches/nanosvg-prusa-slicer.patch \ %D%/packages/patches/nanosvg-prusa-slicer.patch \
@@ -1983,7 +1985,6 @@ dist_patch_DATA = \
%D%/packages/patches/netbeans-25-nativeexecution-paths.patch \ %D%/packages/patches/netbeans-25-nativeexecution-paths.patch \
%D%/packages/patches/netbeans-25-terminal-no-login-shell.patch \ %D%/packages/patches/netbeans-25-terminal-no-login-shell.patch \
%D%/packages/patches/netbeans-25-source-only-build.patch \ %D%/packages/patches/netbeans-25-source-only-build.patch \
%D%/packages/patches/netbeans-25-wayland-font-rendering.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \ %D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \ %D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \ %D%/packages/patches/netsurf-message-timestamp.patch \
@@ -1993,7 +1994,6 @@ dist_patch_DATA = \
%D%/packages/patches/nhc98-c-update.patch \ %D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \ %D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \ %D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nlohmann_json_fix_char8_t.patch \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \ %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \ %D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
%D%/packages/patches/network-manager-plugin-ownership.patch \ %D%/packages/patches/network-manager-plugin-ownership.patch \
@@ -2010,13 +2010,10 @@ dist_patch_DATA = \
%D%/packages/patches/nss-3.115-disable-broken-tests.patch \ %D%/packages/patches/nss-3.115-disable-broken-tests.patch \
%D%/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch \ %D%/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch \
%D%/packages/patches/ntp-fix-dereferencing-the-wrong-variable.patch \ %D%/packages/patches/ntp-fix-dereferencing-the-wrong-variable.patch \
%D%/packages/patches/ntfs-3g-autoconf-sbin-helpers.patch \
%D%/packages/patches/ntfs-3g-consistent-sbindir-usage.patch \
%D%/packages/patches/nvi-add-function-prototypes.patch \ %D%/packages/patches/nvi-add-function-prototypes.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/obs-advanced-masks-nlohmann-json.patch \
%D%/packages/patches/obs-modules-location.patch \ %D%/packages/patches/obs-modules-location.patch \
%D%/packages/patches/ocaml-ctypes-test-oo.patch \ %D%/packages/patches/ocaml-ctypes-test-oo.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \ %D%/packages/patches/ocaml-multiple-definitions.patch \
@@ -2024,6 +2021,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \ %D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \ %D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \ %D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
%D%/packages/patches/ogs-6.5.7-netcdfconverter.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/oneko-remove-nonfree-characters.patch \ %D%/packages/patches/oneko-remove-nonfree-characters.patch \
%D%/packages/patches/onetbb-other-arches.patch \ %D%/packages/patches/onetbb-other-arches.patch \
@@ -2078,6 +2076,7 @@ dist_patch_DATA = \
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \ %D%/packages/patches/openssl-3.0-c-rehash-in.patch \
%D%/packages/patches/openssl-hurd64.patch \ %D%/packages/patches/openssl-hurd64.patch \
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \ %D%/packages/patches/opentaxsolver-file-browser-fix.patch \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/opusfile-CVE-2022-47021.patch \ %D%/packages/patches/opusfile-CVE-2022-47021.patch \
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \ %D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orca-fix-gst-init-check-call.patch \ %D%/packages/patches/orca-fix-gst-init-check-call.patch \
@@ -2111,7 +2110,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.11-fix-tests.patch \ %D%/packages/patches/python-3.11-fix-tests.patch \
%D%/packages/patches/python-3.12-fix-tests.patch \ %D%/packages/patches/python-3.12-fix-tests.patch \
%D%/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch \ %D%/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch \
%D%/packages/patches/python-beangulp-click-8.2-compat.patch \
%D%/packages/patches/python-bed-reader-use-store-samples.patch \ %D%/packages/patches/python-bed-reader-use-store-samples.patch \
%D%/packages/patches/python-chai-drop-python2.patch \ %D%/packages/patches/python-chai-drop-python2.patch \
%D%/packages/patches/python-clarabel-blas.patch \ %D%/packages/patches/python-clarabel-blas.patch \
@@ -2134,20 +2132,16 @@ dist_patch_DATA = \
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \ %D%/packages/patches/python-pyreadstat-link-libiconv.patch \
%D%/packages/patches/python-sip-include-dirs.patch \ %D%/packages/patches/python-sip-include-dirs.patch \
%D%/packages/patches/python-scikit-build-setuptools-compat.patch \ %D%/packages/patches/python-scikit-build-setuptools-compat.patch \
%D%/packages/patches/python-scikit-image-fix-python-pillow.patch \
%D%/packages/patches/python-sgmllib3k-assertions.patch \ %D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \ %D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \ %D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
%D%/packages/patches/python-sshtunnel-pep518.patch \ %D%/packages/patches/python-sshtunnel-pep518.patch \
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch \ %D%/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch \
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.12-support.patch \
%D%/packages/patches/python-zipfile2-python-3.12-support.patch \
%D%/packages/patches/qcodeeditor-qt6.patch \ %D%/packages/patches/qcodeeditor-qt6.patch \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \ %D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \ %D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \ %D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
%D%/packages/patches/qtwebengine-revert-egl.patch \ %D%/packages/patches/qtwebengine-revert-egl.patch \
%D%/packages/patches/qtwebengine5-python312-six-compat.patch \
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \ %D%/packages/patches/quodlibet-disable-bundled-packages.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \ %D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \ %D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
@@ -2257,7 +2251,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \ %D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
%D%/packages/patches/python-pillow-CVE-2022-45199.patch \ %D%/packages/patches/python-pillow-CVE-2022-45199.patch \
%D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-lsp-server-python-3.13-compatibility.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \ %D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mslice-matplotlib-3.6-compatibility.patch \ %D%/packages/patches/python-mslice-matplotlib-3.6-compatibility.patch \
%D%/packages/patches/python-packaging-test-arch.patch \ %D%/packages/patches/python-packaging-test-arch.patch \
@@ -2273,7 +2266,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-pytorch-system-libraries.patch \ %D%/packages/patches/python-pytorch-system-libraries.patch \
%D%/packages/patches/python-pytorch-without-kineto.patch \ %D%/packages/patches/python-pytorch-without-kineto.patch \
%D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \ %D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
%D%/packages/patches/python-py-ubjson-recursion-test.patch \
%D%/packages/patches/python-vaex-core-fix-tsl-use.patch \ %D%/packages/patches/python-vaex-core-fix-tsl-use.patch \
%D%/packages/patches/python-vega-datasets-remove-la-riots-code.patch \ %D%/packages/patches/python-vega-datasets-remove-la-riots-code.patch \
%D%/packages/patches/python-versioneer-guix-support.patch \ %D%/packages/patches/python-versioneer-guix-support.patch \
@@ -2295,6 +2287,8 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \ %D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickjs-ng-64-bits-precision-on-i686.patch \
%D%/packages/patches/quickjs-ng-fix-atomics.pause-on-32-bit.patch \
%D%/packages/patches/quilt-grep-compat.patch \ %D%/packages/patches/quilt-grep-compat.patch \
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \ %D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
%D%/packages/patches/qtwayland-update-wayland-xml.patch \ %D%/packages/patches/qtwayland-update-wayland-xml.patch \
@@ -2368,8 +2362,16 @@ dist_patch_DATA = \
%D%/packages/patches/renpy-fix-integer-slots.patch \ %D%/packages/patches/renpy-fix-integer-slots.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \ %D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/rdkit-unbundle-external-dependencies.patch \ %D%/packages/patches/rdkit-unbundle-external-dependencies.patch \
%D%/packages/patches/r-biostrings-r4.6.0-compat.patch \
%D%/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \ %D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
%D%/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch \
%D%/packages/patches/r-rsamtools-r-4.6.0-compat.patch \
%D%/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch \
%D%/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch \
%D%/packages/patches/r-sapa-lapack.patch \ %D%/packages/patches/r-sapa-lapack.patch \
%D%/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-sparsearray-r-4.6.0-compat.patch \
%D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \ %D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
@@ -2410,8 +2412,13 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \ %D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \ %D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch \ %D%/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \ %D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
%D%/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch \ %D%/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch \
%D%/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch \ %D%/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch \
%D%/packages/patches/rust-codex-0.120.0-test-timeout.patch \ %D%/packages/patches/rust-codex-0.120.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch \ %D%/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch \
@@ -2426,6 +2433,7 @@ dist_patch_DATA = \
%D%/packages/patches/sajson-build-with-gcc10.patch \ %D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \ %D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \ %D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \ %D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \ %D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \ %D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
@@ -2451,10 +2459,10 @@ dist_patch_DATA = \
%D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/libsequoia-fix-ffi-Makefile.patch \ %D%/packages/patches/libsequoia-fix-ffi-Makefile.patch \
%D%/packages/patches/libsequoia-remove-store.patch \ %D%/packages/patches/libsequoia-remove-store.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \ %D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/showtime-python-3.11-compat.patch \ %D%/packages/patches/showtime-python-3.11-compat.patch \
%D%/packages/patches/simpleitk-r-4.6.0.patch \
%D%/packages/patches/sipwitch-fix-build-with-exosip5.patch \ %D%/packages/patches/sipwitch-fix-build-with-exosip5.patch \
%D%/packages/patches/slim-config.patch \ %D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-gcc-14.patch \ %D%/packages/patches/slim-gcc-14.patch \
@@ -2489,7 +2497,6 @@ dist_patch_DATA = \
%D%/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch \ %D%/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch \
%D%/packages/patches/swift-llvm-5.7.3-linux.patch \ %D%/packages/patches/swift-llvm-5.7.3-linux.patch \
%D%/packages/patches/swig-support-gcc-12.patch \ %D%/packages/patches/swig-support-gcc-12.patch \
%D%/packages/patches/swig-support-r-4.6.0.patch \
%D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \ %D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \
@@ -2522,6 +2529,7 @@ dist_patch_DATA = \
%D%/packages/patches/texmacs-wayland-hidpi.patch \ %D%/packages/patches/texmacs-wayland-hidpi.patch \
%D%/packages/patches/tflite-micro_disable_download.patch \ %D%/packages/patches/tflite-micro_disable_download.patch \
%D%/packages/patches/thefuck-test-environ.patch \ %D%/packages/patches/thefuck-test-environ.patch \
%D%/packages/patches/thefuck-remove-broken-tests.patch \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/timewarrior-time-sensitive-tests.patch \ %D%/packages/patches/timewarrior-time-sensitive-tests.patch \
%D%/packages/patches/tinydir-fix-cbehave-test.patch \ %D%/packages/patches/tinydir-fix-cbehave-test.patch \
@@ -2537,7 +2545,6 @@ dist_patch_DATA = \
%D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.patch \ %D%/packages/patches/trytond-add-guix_trytond_path.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/tuir-python-3.12-support.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/tvm_fix_cpptest_build.patch \ %D%/packages/patches/tvm_fix_cpptest_build.patch \
%D%/packages/patches/twinkle-bcg729.patch \ %D%/packages/patches/twinkle-bcg729.patch \
@@ -2615,7 +2622,6 @@ dist_patch_DATA = \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \ %D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \ %D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
%D%/packages/patches/websocketpp-boost-compat.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wmctrl-64-fix.patch \ %D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \ %D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
@@ -2628,7 +2634,6 @@ dist_patch_DATA = \
%D%/packages/patches/x265-arm-flags.patch \ %D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \ %D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\ %D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xdmf-3.0.0-hdf5.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \ %D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \ %D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
%D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \ %D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \
+86 -205
View File
@@ -2,7 +2,6 @@
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com> ;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2025 Owen T. Heisler <writer@owenh.net> ;;; Copyright © 2025 Owen T. Heisler <writer@owenh.net>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net> ;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@@ -37,7 +36,6 @@
#:use-module (gnu system) #:use-module (gnu system)
#:use-module (guix base32) #:use-module (guix base32)
#:use-module (guix colors) #:use-module (guix colors)
#:use-module (guix deprecation)
#:use-module (guix derivations) #:use-module (guix derivations)
#:use-module (guix diagnostics) #:use-module (guix diagnostics)
#:use-module (guix gexp) #:use-module (guix gexp)
@@ -57,7 +55,6 @@
#:use-module (ice-9 string-fun) #:use-module (ice-9 string-fun)
#:use-module (ice-9 textual-ports) #:use-module (ice-9 textual-ports)
#:use-module (json) #:use-module (json)
#:use-module ((rnrs base) #:select (assert))
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-2) #:use-module (srfi srfi-2)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
@@ -69,10 +66,8 @@
#:use-module (ssh session) #:use-module (ssh session)
#:use-module (ssh sftp) #:use-module (ssh sftp)
#:use-module (ssh shell) #:use-module (ssh shell)
#:export (%hetzner-os-arm ;deprecated #:export (%hetzner-os-arm
%hetzner-os-x86 ;deprecated %hetzner-os-x86
make-hetzner-os
deploy-hetzner deploy-hetzner
hetzner-configuration hetzner-configuration
hetzner-configuration-allow-downgrades? hetzner-configuration-allow-downgrades?
@@ -87,7 +82,6 @@
hetzner-configuration-server-type hetzner-configuration-server-type
hetzner-configuration-ssh-key hetzner-configuration-ssh-key
hetzner-configuration-ssh-public-key hetzner-configuration-ssh-public-key
hetzner-configuration-user
hetzner-configuration? hetzner-configuration?
hetzner-environment-type)) hetzner-environment-type))
@@ -104,7 +98,7 @@
;; Operating system for arm servers using UEFI boot mode. ;; Operating system for arm servers using UEFI boot mode.
(define %hetzner-os-arm/efi (define %hetzner-os-arm
(operating-system (operating-system
(host-name "guix-arm") (host-name "guix-arm")
(bootloader (bootloader
@@ -134,9 +128,9 @@
;; Operating system for x86 servers using BIOS boot mode. ;; Operating system for x86 servers using BIOS boot mode.
(define %hetzner-os-x86/bios (define %hetzner-os-x86
(operating-system (operating-system
(inherit %hetzner-os-arm/efi) (inherit %hetzner-os-arm)
(host-name "guix-x86") (host-name "guix-x86")
(bootloader (bootloader
(bootloader-configuration (bootloader-configuration
@@ -152,51 +146,6 @@
(type "ext4")) (type "ext4"))
%base-file-systems)))) %base-file-systems))))
(define %hetzner-os-x86/efi
(operating-system
(inherit %hetzner-os-arm/efi)
(host-name "guix-x86")
(initrd-modules
(cons "virtio_scsi" %base-initrd-modules))))
(define (server-type-name->arch type-name)
"Return a symbol corresponding to the server type architecture, e.g.
@code{'x86} or @code{'arm}."
(cond
((string-prefix-ci? "cax" type-name)
'arm)
(else
'x86)))
(define (server-type-name->bootloader type-name)
"Return a symbol corresponding to the bootloader type, e.g.
@code{'efi} or @code{'bios}."
(if (eq? 'arm (server-type-name->arch type-name))
'efi
(cond
((string-prefix-ci? "cx" type-name)
'bios) ;old, cost-optimized x86 servers
(else
'efi)))) ;newer, regular performance/general purpose servers
(define* (make-hetzner-os server-type-name)
"Return an operating server customized for SERVER-TYPE-NAME, a string like
\"cx23\" or \"cax11\", denoting the Hetzner virtual server type."
(match (server-type-name->arch server-type-name)
('arm %hetzner-os-arm/efi)
('x86
(match (server-type-name->bootloader server-type-name)
('bios %hetzner-os-x86/bios)
('efi %hetzner-os-x86/efi)))))
(define-deprecated %hetzner-os-x86
make-hetzner-os
%hetzner-os-x86/bios)
(define-deprecated %hetzner-os-arm
make-hetzner-os
%hetzner-os-arm/efi)
(define (operating-system-authorize os) (define (operating-system-authorize os)
"Authorize the OS with the public signing key of the current machine." "Authorize the OS with the public signing key of the current machine."
(if (file-exists? %public-key-file) (if (file-exists? %public-key-file)
@@ -242,11 +191,6 @@ Have you run 'guix archive --generate-key'?")
;;; Hetzner configuration. ;;; Hetzner configuration.
;;; ;;;
;;; This parameter overrides the value returned by
;;; `hetzner-configuration-ssh-key'.
(define %hetzner-ssh-key-file
(make-parameter #f))
(define-record-type* <hetzner-configuration> hetzner-configuration (define-record-type* <hetzner-configuration> hetzner-configuration
make-hetzner-configuration hetzner-configuration? this-hetzner-configuration make-hetzner-configuration hetzner-configuration? this-hetzner-configuration
(allow-downgrades? hetzner-configuration-allow-downgrades? ; boolean (allow-downgrades? hetzner-configuration-allow-downgrades? ; boolean
@@ -258,7 +202,7 @@ Have you run 'guix archive --generate-key'?")
(build-locally? hetzner-configuration-build-locally? ; boolean (build-locally? hetzner-configuration-build-locally? ; boolean
(default #t)) (default #t))
(delete? hetzner-configuration-delete? ; boolean (delete? hetzner-configuration-delete? ; boolean
(default #t)) (default #f))
(labels hetzner-configuration-labels ; list of strings (labels hetzner-configuration-labels ; list of strings
(default '())) (default '()))
(location hetzner-configuration-location ; #f | string (location hetzner-configuration-location ; #f | string
@@ -269,39 +213,26 @@ Have you run 'guix archive --generate-key'?")
(default #t)) (default #t))
(ipv6 hetzner-configuration-ipv6 ; boolean | string (ipv6 hetzner-configuration-ipv6 ; boolean | string
(default #t)) (default #t))
(ssh-public-key hetzner-configuration-ssh-public-key* ; #f | public-key | string (ssh-public-key hetzner-configuration-ssh-public-key ; public-key | string
(thunked) (thunked)
(default (and=> (hetzner-configuration-ssh-key (default (public-key-from-file (hetzner-configuration-ssh-key this-hetzner-configuration)))
this-hetzner-configuration) (sanitize
public-key-from-file)) (lambda (value)
(sanitize (lambda (value) (if (string? value) (public-key-from-file value) value))))
(if (string? value) (ssh-key hetzner-configuration-ssh-key
(public-key-from-file value) (default #f))) ; #f | string
value))))
(ssh-key hetzner-configuration-ssh-key* ; #f | string
(default #f))
(user hetzner-configuration-user ;string
(default "root")))
(define (hetzner-configuration-ssh-key config) (define (hetzner-configuration-ssh-key-fingerprint config)
(or (%hetzner-ssh-key-file) "Return the SSH public key fingerprint of CONFIG as a string."
(hetzner-configuration-ssh-key* config))) (and-let* ((pubkey (hetzner-configuration-ssh-public-key config))
(hash (get-public-key-hash pubkey 'md5)))
(define (hetzner-configuration-ssh-public-key config)
(or (and=> (%hetzner-ssh-key-file) public-key-from-file)
(hetzner-configuration-ssh-public-key* config)))
(define (public-key->fingerprint public-key)
"Return the SSH public key fingerprint of PUBLIC-KEY, a Guile-SSH public key
object, in the expected format for the Hetzner API."
(let ((hash (get-public-key-hash public-key 'md5)))
(bytevector->hex-string hash))) (bytevector->hex-string hash)))
(define (public-key->string-with-type public-key) (define (hetzner-configuration-ssh-key-public config)
"Return the SSH public key string of PUBLIC-KEY, a Guile-SSH public key "Return the SSH public key of CONFIG as a string."
object, in the expected format for the Hetzner API." (let ((public-key (hetzner-configuration-ssh-public-key config)))
(format #f "ssh-~a ~a" (get-key-type public-key) (format #f "ssh-~a ~a" (get-key-type public-key)
(public-key->string public-key))) (public-key->string public-key))))
;;; ;;;
@@ -314,26 +245,21 @@ object, in the expected format for the Hetzner API."
;; Get the operating system WITHOUT the provenance service to avoid a ;; Get the operating system WITHOUT the provenance service to avoid a
;; duplicate symlink conflict in the store. ;; duplicate symlink conflict in the store.
(os ((@@ (gnu machine) %machine-operating-system) target))) (os ((@@ (gnu machine) %machine-operating-system) target)))
(match-record config <hetzner-configuration> (machine
( authorize? allow-downgrades? build-locally? user) (inherit target)
(machine (operating-system
(inherit target) (if (hetzner-configuration-authorize? config)
(operating-system (operating-system-authorize os)
(if authorize? os))
(operating-system-authorize os) (environment managed-host-environment-type)
os)) (configuration
(environment managed-host-environment-type) (machine-ssh-configuration
(configuration (allow-downgrades? (hetzner-configuration-allow-downgrades? config))
(machine-ssh-configuration (authorize? (hetzner-configuration-authorize? config))
(allow-downgrades? allow-downgrades?) (build-locally? (hetzner-configuration-build-locally? config))
(authorize? authorize?) (host-name (hetzner-server-public-ipv4 server))
(build-locally? build-locally?) (identity (hetzner-configuration-ssh-key config))
(host-name (hetzner-server-public-ipv4 server)) (system (hetzner-server-system server)))))))
;; XXX: match-record doesn't make use of custom accessors to obtain
;; the value, so we can't bind SSH-KEY with it.
(identity (hetzner-configuration-ssh-key config))
(system (hetzner-server-system server))
(user user)))))))
(define (hetzner-machine-location machine) (define (hetzner-machine-location machine)
"Find the location of MACHINE on the Hetzner API." "Find the location of MACHINE on the Hetzner API."
@@ -437,43 +363,45 @@ Available locations:~%~%~a~%~%For more details, see: ~a")
"Return the form to bootstrap an operating system on SERVER." "Return the form to bootstrap an operating system on SERVER."
(let* ((os (machine-operating-system machine)) (let* ((os (machine-operating-system machine))
(system (hetzner-server-system server)) (system (hetzner-server-system server))
(type-name (hetzner-server-type-name (hetzner-server-type server)))
(arm? (equal? "arm" (hetzner-server-architecture server))) (arm? (equal? "arm" (hetzner-server-architecture server)))
(x86? (equal? "x86" (hetzner-server-architecture server))) (x86? (equal? "x86" (hetzner-server-architecture server)))
(efi? (equal? 'efi (server-type-name->bootloader type-name)))
(root-fs-type (operating-system-root-file-system-type os))) (root-fs-type (operating-system-root-file-system-type os)))
`(operating-system `(operating-system
(host-name ,(operating-system-host-name os)) (host-name ,(operating-system-host-name os))
(timezone "Etc/UTC") (timezone "Etc/UTC")
(bootloader (bootloader-configuration (bootloader (bootloader-configuration
(bootloader ,(if efi? (bootloader ,(cond (arm? 'grub-efi-bootloader)
'grub-efi-bootloader (x86? 'grub-bootloader)))
'grub-bootloader)) (targets ,(cond (arm? '(list "/boot/efi"))
(targets ,(if efi? (x86? '(list "/dev/sda"))))
'(list "/boot/efi") (terminal-outputs '(console))))
'(list "/dev/sda")))
(terminal-outputs '(console))))
(initrd-modules (append (initrd-modules (append
,(cond (arm? '(list "sd_mod" "virtio_scsi")) ,(cond (arm? '(list "sd_mod" "virtio_scsi"))
(x86? '(list "virtio_scsi"))) (x86? '(list "virtio_scsi")))
%base-initrd-modules)) %base-initrd-modules))
(file-systems (cons* (file-system (file-systems ,(cond
(mount-point "/") (arm? `(cons* (file-system
(device "/dev/sda1") (mount-point "/")
(type ,root-fs-type)) (device "/dev/sda1")
,@(if efi? (type ,root-fs-type))
'((file-system (file-system
(mount-point "/boot/efi") (mount-point "/boot/efi")
(device "/dev/sda15") (device "/dev/sda15")
(type "vfat"))) (type "vfat"))
'()) %base-file-systems))
%base-file-systems)) (x86? `(cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
%base-file-systems))))
(services (services
(cons* (service dhcpcd-service-type) ;; guix 1.4.0 does not have dhcpcd-service-type,
;; so we use dhcp-client-service-type here.
(cons* (service dhcp-client-service-type)
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(openssh openssh-sans-x) (openssh openssh-sans-x)
(permit-root-login 'prohibit-password))) (permit-root-login 'prohibit-password)))
%base-services))))) %base-services)))))
(define (rexec-verbose session cmd) (define (rexec-verbose session cmd)
@@ -495,9 +423,8 @@ values: list of output lines returned by CMD and its exit code."
(define (hetzner-machine-ssh-key machine) (define (hetzner-machine-ssh-key machine)
"Find the SSH key for MACHINE on the Hetzner API." "Find the SSH key for MACHINE on the Hetzner API."
(and-let* ((config (machine-configuration machine)) (let* ((config (machine-configuration machine))
(public-key (hetzner-configuration-ssh-public-key config)) (expected (hetzner-configuration-ssh-key-fingerprint config)))
(expected (public-key->fingerprint public-key)))
(find (lambda (ssh-key) (find (lambda (ssh-key)
(equal? expected (hetzner-ssh-key-fingerprint ssh-key))) (equal? expected (hetzner-ssh-key-fingerprint ssh-key)))
(hetzner-api-ssh-keys (hetzner-api-ssh-keys
@@ -510,12 +437,10 @@ values: list of output lines returned by CMD and its exit code."
(format #t "creating ssh key for '~a'...\n" name) (format #t "creating ssh key for '~a'...\n" name)
(let* ((config (machine-configuration machine)) (let* ((config (machine-configuration machine))
(api (hetzner-configuration-api config)) (api (hetzner-configuration-api config))
(pubkey (hetzner-configuration-ssh-public-key config))
(_ (assert pubkey))
(ssh-key (hetzner-api-ssh-key-create (ssh-key (hetzner-api-ssh-key-create
api (hetzner-configuration-api config)
(public-key->fingerprint pubkey) (hetzner-configuration-ssh-key-fingerprint config)
(public-key->string-with-type pubkey) (hetzner-configuration-ssh-key-public config)
#:labels (hetzner-configuration-labels config)))) #:labels (hetzner-configuration-labels config))))
(format #t "successfully created ssh key for '~a'\n" name) (format #t "successfully created ssh key for '~a'\n" name)
ssh-key))) ssh-key)))
@@ -541,16 +466,6 @@ values: list of output lines returned by CMD and its exit code."
(formatted-message (G_ "primary ip '~a' does not exist.") (formatted-message (G_ "primary ip '~a' does not exist.")
name)))) name))))
(define temporary-ssh-key-file
(let ((ssh-key-file (port-filename (mkstemp "/tmp/hetzner-key-XXXXXX")))
(ssh-key #f))
(lambda ()
"Return a dynamically created, temporary private SSH key."
(unless ssh-key
(set! ssh-key (make-keypair 'ed25519))
(private-key-to-file ssh-key ssh-key-file))
ssh-key-file)))
(define (hetzner-machine-create-server machine) (define (hetzner-machine-create-server machine)
"Create the Hetzner server for MACHINE." "Create the Hetzner server for MACHINE."
(let* ((config (machine-configuration machine)) (let* ((config (machine-configuration machine))
@@ -558,14 +473,13 @@ values: list of output lines returned by CMD and its exit code."
(server-type (hetzner-configuration-server-type config))) (server-type (hetzner-configuration-server-type config)))
(format #t "creating '~a' server for '~a'...\n" server-type name) (format #t "creating '~a' server for '~a'...\n" server-type name)
(let* ((ssh-key (hetzner-machine-ssh-key machine)) (let* ((ssh-key (hetzner-machine-ssh-key machine))
(_ (assert ssh-key)) ;required during provisioning
(ipv4 (hetzner-configuration-ipv4 config)) (ipv4 (hetzner-configuration-ipv4 config))
(ipv6 (hetzner-configuration-ipv6 config)) (ipv6 (hetzner-configuration-ipv6 config))
(api (hetzner-configuration-api config)) (api (hetzner-configuration-api config))
(server (hetzner-api-server-create (server (hetzner-api-server-create
api api
(machine-display-name machine) (machine-display-name machine)
#:ssh-keys (list ssh-key) (list ssh-key)
#:ipv4 (if (string? ipv4) #:ipv4 (if (string? ipv4)
(hetzner-primary-ip-id (hetzner-resolve-ip api ipv4)) (hetzner-primary-ip-id (hetzner-resolve-ip api ipv4))
ipv4) ipv4)
@@ -613,15 +527,13 @@ values: list of output lines returned by CMD and its exit code."
(write-known-host! ssh-session))) (write-known-host! ssh-session)))
(define (hetzner-machine-enable-rescue-system machine server) (define (hetzner-machine-enable-rescue-system machine server)
"Enable the rescue system on the Hetzner SERVER for MACHINE, provisioning it "Enable the rescue system on the Hetzner SERVER for MACHINE."
with the configured SSH key, or a dynamically created temporary one."
(let* ((name (machine-display-name machine)) (let* ((name (machine-display-name machine))
(config (machine-configuration machine)) (config (machine-configuration machine))
(api (hetzner-configuration-api config)) (api (hetzner-configuration-api config))
(ssh-keys (and=> (hetzner-machine-ssh-key machine) list))) (ssh-keys (list (hetzner-machine-ssh-key machine))))
(format #t "enabling rescue system on '~a'...\n" name) (format #t "enabling rescue system on '~a'...\n" name)
(let ((action (hetzner-api-server-enable-rescue-system (let ((action (hetzner-api-server-enable-rescue-system api server ssh-keys)))
api server #:ssh-keys ssh-keys)))
(format #t "successfully enabled rescue system on '~a'\n" name) (format #t "successfully enabled rescue system on '~a'\n" name)
action))) action)))
@@ -657,7 +569,6 @@ with the configured SSH key, or a dynamically created temporary one."
(set! hetzner-machine-ssh-run-script hetzner-machine-ssh-run-script) (set! hetzner-machine-ssh-run-script hetzner-machine-ssh-run-script)
(define (hetzner-machine-rescue-install-os machine ssh-session server) (define (hetzner-machine-rescue-install-os machine ssh-session server)
"Init a minimal Guix System to bootstrap from."
(let ((name (machine-display-name machine)) (let ((name (machine-display-name machine))
(os (hetzner-machine-bootstrap-os-form machine server))) (os (hetzner-machine-bootstrap-os-form machine server)))
(format #t "installing guix operating system on '~a'...\n" name) (format #t "installing guix operating system on '~a'...\n" name)
@@ -676,9 +587,9 @@ chmod 600 /mnt/root/.ssh/authorized_keys
# Small instance don't have much disk space. Bind mount the store of the # Small instance don't have much disk space. Bind mount the store of the
# rescue system to the tmp directory of the new Guix system. # rescue system to the tmp directory of the new Guix system.
mkdir -p /mnt/tmp/gnu mkdir -p /mnt/tmp/gnu/store
mkdir -p /gnu mkdir -p /gnu/store
mount --bind /mnt/tmp/gnu /gnu mount --bind /mnt/tmp/gnu/store /gnu/store
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
chmod +x /tmp/guix-install.sh chmod +x /tmp/guix-install.sh
@@ -754,8 +665,7 @@ apt-get install cloud-initramfs-growroot uidmap --assume-yes"))
action))) action)))
(define (hetzner-machine-provision machine) (define (hetzner-machine-provision machine)
"Provision a Guix System bootstrap server for MACHINE on the Hetzner Cloud "Provision a server for MACHINE on the Hetzner Cloud service."
service."
(with-exception-handler (with-exception-handler
(lambda (exception) (lambda (exception)
(let ((config (machine-configuration machine)) (let ((config (machine-configuration machine))
@@ -770,10 +680,12 @@ service."
(let ((ssh-session (hetzner-machine-wait-for-ssh machine server))) (let ((ssh-session (hetzner-machine-wait-for-ssh machine server)))
(hetzner-machine-rescue-install-packages machine ssh-session) (hetzner-machine-rescue-install-packages machine ssh-session)
(hetzner-machine-rescue-partition machine ssh-session) (hetzner-machine-rescue-partition machine ssh-session)
(hetzner-machine-rescue-install-os machine ssh-session server)) (hetzner-machine-rescue-install-os machine ssh-session server)
(hetzner-machine-reboot machine server) (hetzner-machine-reboot machine server)
(hetzner-machine-authenticate-host machine server) (sleep 5)
server)))) (hetzner-machine-authenticate-host machine server)
server)))
#:unwind? #t))
(define (machine-not-provisioned machine) (define (machine-not-provisioned machine)
(formatted-message (formatted-message
@@ -799,47 +711,16 @@ an environment type of 'hetzner-environment-type'."
;;; System deployment. ;;; System deployment.
;;; ;;;
(define (cleanup-temporary-ssh-key/maybe api ssh-key)
"Delete the temporary SSH private key file from the file system and the
Hetzner API, if one was created used."
(when (%hetzner-ssh-key-file)
(format #t "cleaning up temporary ssh key~%")
(delete-file (%hetzner-ssh-key-file))
(%hetzner-ssh-key-file #f)
(hetzner-api-ssh-key-delete api ssh-key)))
(define (deploy-hetzner machine) (define (deploy-hetzner machine)
"Internal implementation of 'deploy-machine' for 'machine' instances with an "Internal implementation of 'deploy-machine' for 'machine' instances with an
environment type of 'hetzner-environment-type'." environment type of 'hetzner-environment-type'."
(hetzner-machine-validate machine) (hetzner-machine-validate machine)
(unless (hetzner-machine-ssh-key machine)
(hetzner-machine-ssh-key-create machine))
(let ((server (or (hetzner-machine-server machine)
(hetzner-machine-provision machine))))
(deploy-machine (hetzner-machine-delegate machine server))))
(define server (hetzner-machine-server machine))
(define config (machine-configuration machine))
(define api (hetzner-configuration-api config))
(define ssh-key #f) ;hetzner API key
;; Provisioning requires uploading an SSH key via the Hetzner API to
;; authenticate non-interactively with the newly created server.
(unless server ;provisioning?
(unless (hetzner-configuration-ssh-public-key config)
(format #t "using a temporary ssh key for provisioning~%")
(%hetzner-ssh-key-file (temporary-ssh-key-file)))
(set! ssh-key (or (hetzner-machine-ssh-key machine)
(hetzner-machine-ssh-key-create machine))))
;; Cleaning-up here is a bit tricky, as `deploy-machine' returns a monadic
;; value immediately, to be executed later; this means the clean-up must be
;; delayed until monadic evaluation time.
(let* ((server (or server (hetzner-machine-provision machine)))
(delegate-machine (hetzner-machine-delegate machine server)))
;; FIXME: The clean-up in the guard does not run even when
;; `deploy-machine' fails.
(guard (c (#t (cleanup-temporary-ssh-key/maybe api ssh-key)
(raise c)))
(mlet %store-monad
((value (deploy-machine delegate-machine)))
(cleanup-temporary-ssh-key/maybe api ssh-key)
(return value)))))
;;; ;;;
+8 -90
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com> ;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@@ -20,7 +19,6 @@
(define-module (gnu machine hetzner http) (define-module (gnu machine hetzner http)
#:use-module (guix diagnostics) #:use-module (guix diagnostics)
#:use-module (guix i18n) #:use-module (guix i18n)
#:use-module (guix memoization)
#:use-module (guix records) #:use-module (guix records)
#:use-module (ice-9 iconv) #:use-module (ice-9 iconv)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@@ -53,7 +51,6 @@
hetzner-api-action-wait hetzner-api-action-wait
hetzner-api-actions hetzner-api-actions
hetzner-api-create-ssh-key hetzner-api-create-ssh-key
hetzner-api-images
hetzner-api-locations hetzner-api-locations
hetzner-api-primary-ips hetzner-api-primary-ips
hetzner-api-request-body hetzner-api-request-body
@@ -84,23 +81,6 @@
hetzner-error-code hetzner-error-code
hetzner-error-message hetzner-error-message
hetzner-error? hetzner-error?
hetzner-image?
hetzner-image-id
hetzner-image-type
hetzner-image-status
hetzner-image-name
hetzner-image-description
hetzner-image-disk-size
hetzner-image-created
hetzner-image-created-from
hetzner-image-bound-to
hetzner-image-os-flavor
hetzner-image-os-version
hetzner-image-rapid-deploy
hetzner-image-protection
hetzner-image-deprecated
hetzner-image-deleted
hetzner-image-architecture
hetzner-ipv4-blocked? hetzner-ipv4-blocked?
hetzner-ipv4-dns-ptr hetzner-ipv4-dns-ptr
hetzner-ipv4-id hetzner-ipv4-id
@@ -168,7 +148,6 @@
hetzner-ssh-key? hetzner-ssh-key?
make-hetzner-action make-hetzner-action
make-hetzner-error make-hetzner-error
make-hetzner-image
make-hetzner-ipv4 make-hetzner-ipv4
make-hetzner-ipv6 make-hetzner-ipv6
make-hetzner-location make-hetzner-location
@@ -189,19 +168,7 @@
(make-parameter (getenv "GUIX_HETZNER_API_TOKEN"))) (make-parameter (getenv "GUIX_HETZNER_API_TOKEN")))
;; Ideally this would be a Guix image. Maybe one day. ;; Ideally this would be a Guix image. Maybe one day.
(define %hetzner-default-server-image (define %hetzner-default-server-image "debian-11")
(mlambda (api)
"Return the latest Debian image available. This image gets used for the
initial system provisioning phase, before Guix System takes over."
(let ((debian-images (filter (lambda (image)
(string=? "debian"
(hetzner-image-os-flavor image)))
(hetzner-api-images api))))
(hetzner-image-name
(last (sort debian-images
(lambda (x y)
(< (string->number (hetzner-image-os-version x))
(string->number (hetzner-image-os-version y))))))))))
;; Falkenstein, Germany ;; Falkenstein, Germany
(define %hetzner-default-server-location "fsn1") (define %hetzner-default-server-location "fsn1")
@@ -323,43 +290,6 @@ initial system provisioning phase, before Guix System takes over."
(server-type hetzner-server-type "server_type" (server-type hetzner-server-type "server_type"
json->hetzner-server-type)) ; <hetzner-server-type> json->hetzner-server-type)) ; <hetzner-server-type>
(define-json-mapping <hetzner-image>
make-hetzner-image hetzner-image? json->hetzner-image
(id hetzner-image-id) ;integer
(type hetzner-image-type) ;string
(status hetzner-image-status) ;string
(name hetzner-image-name "name" (null-or identity)) ;string | null
(description hetzner-image-description) ;string
(image-size hetzner-image-size "image_size" ;number | null (GiB)
(null-or identity))
(disk-size hetzner-image-disk-size "disk_size") ;number (GiB)
(created hetzner-image-created) ;string (date)
(created-from hetzner-image-created-from "created_from" ;object | null
(null-or json->hetzner-image-created-from))
(bound-to hetzner-image-bound-to "bound_to" (null-or identity)) ;integer | null
(os-flavor hetzner-image-os-flavor "os_flavor") ;string
(os-version hetzner-image-os-version "os_version" ;string | null
(null-or identity))
(rapid-deploy hetzner-image-rapid-deploy "rapid_deploy") ;boolean
(protection hetzner-image-protection "protection" ;object
json->hetzner-image-protection)
(deprecated hetzner-image-deprecated) ;string
(deleted hetzner-image-deleted "deleted" (null-or identity)) ;null | string
(architecture hetzner-image-architecture)) ;string
(define (null-or parser)
(lambda (value)
(if (eq? 'null value)
*unspecified*
(parser value))))
(define-json-type <hetzner-image-created-from>
(id) ;integer
(name)) ;string
(define-json-type <hetzner-image-protection>
(delete)) ;boolean
(define-json-mapping <hetzner-server-type> (define-json-mapping <hetzner-server-type>
make-hetzner-server-type hetzner-server-type? json->hetzner-server-type make-hetzner-server-type hetzner-server-type? json->hetzner-server-type
(architecture hetzner-server-type-architecture) ; string (architecture hetzner-server-type-architecture) ; string
@@ -668,11 +598,11 @@ initial system provisioning phase, before Guix System takes over."
(apply hetzner-api-list api "/locations" "locations" json->hetzner-location options)) (apply hetzner-api-list api "/locations" "locations" json->hetzner-location options))
(define* (hetzner-api-server-create (define* (hetzner-api-server-create
api name #:key api name ssh-keys
ssh-keys #:key
(ipv4 #f) (ipv4 #f)
(ipv6 #f) (ipv6 #f)
(image (%hetzner-default-server-image api)) (image %hetzner-default-server-image)
(labels '()) (labels '())
(location %hetzner-default-server-location) (location %hetzner-default-server-location)
(server-type %hetzner-default-server-type) (server-type %hetzner-default-server-type)
@@ -690,11 +620,7 @@ initial system provisioning phase, before Guix System takes over."
,@(if (integer? ipv6) `(("ipv6" . ,ipv6)) '()))) ,@(if (integer? ipv6) `(("ipv6" . ,ipv6)) '())))
("location" . ,location) ("location" . ,location)
("server_type" . ,server-type) ("server_type" . ,server-type)
,@(if ssh-keys ("ssh_keys" . ,(apply vector (map hetzner-ssh-key-id ssh-keys)))
`(("ssh_keys" .
,(apply vector (map hetzner-ssh-key-id
ssh-keys))))
'())
("start_after_create" . ,start-after-create?))))) ("start_after_create" . ,start-after-create?)))))
(hetzner-api-action-wait api (hetzner-api-body-action body)) (hetzner-api-action-wait api (hetzner-api-body-action body))
(json->hetzner-server (assoc-ref body "server")))) (json->hetzner-server (assoc-ref body "server"))))
@@ -705,15 +631,12 @@ initial system provisioning phase, before Guix System takes over."
(hetzner-api-action-wait api (hetzner-api-body-action body)))) (hetzner-api-action-wait api (hetzner-api-body-action body))))
(define* (hetzner-api-server-enable-rescue-system (define* (hetzner-api-server-enable-rescue-system
api server #:key ssh-keys (type "linux64")) api server ssh-keys #:key (type "linux64"))
"Enable the rescue system for SERVER with the Hetzner API." "Enable the rescue system for SERVER with the Hetzner API."
(let* ((ssh-keys (and ssh-keys (let* ((ssh-keys (apply vector (map hetzner-ssh-key-id ssh-keys)))
(apply vector (map hetzner-ssh-key-id ssh-keys))))
(body (hetzner-api-post (body (hetzner-api-post
api (hetzner-server-path server "/actions/enable_rescue") api (hetzner-server-path server "/actions/enable_rescue")
#:body `(,@(if ssh-keys #:body `(("ssh_keys" . ,ssh-keys)
`(("ssh_keys" . ,ssh-keys))
'())
("type" . ,type))))) ("type" . ,type)))))
(hetzner-api-action-wait api (hetzner-api-body-action body)))) (hetzner-api-action-wait api (hetzner-api-body-action body))))
@@ -764,8 +687,3 @@ initial system provisioning phase, before Guix System takes over."
"Get server types from the Hetzner API." "Get server types from the Hetzner API."
(apply hetzner-api-list api "/server_types" "server_types" (apply hetzner-api-list api "/server_types" "server_types"
json->hetzner-server-type options)) json->hetzner-server-type options))
(define* (hetzner-api-images api . options)
"Get image types from the Hetzner API."
(apply hetzner-api-list api "/images" "images"
json->hetzner-image options))
+1 -7
View File
@@ -164,12 +164,6 @@ flags."
%default-package-module-path %default-package-module-path
channels-scm)))) channels-scm))))
(define (strip-trailing-slash s)
;; Strip the trailing slash of a string, if present.
(if (string-suffix? "/" s)
(string-drop-right s 1)
s))
(define %patch-path (define %patch-path
;; Define it after '%package-module-path' so that '%load-path' contains user ;; Define it after '%package-module-path' so that '%load-path' contains user
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found. ;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
@@ -178,7 +172,7 @@ flags."
(if (string=? directory %distro-root-directory) (if (string=? directory %distro-root-directory)
(string-append directory "/gnu/packages/patches") (string-append directory "/gnu/packages/patches")
directory)) directory))
(map strip-trailing-slash %load-path)))) %load-path)))
;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now. ;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now.
;; See <https://github.com/alezost/guix.el/issues/30>. ;; See <https://github.com/alezost/guix.el/issues/30>.
+1 -4
View File
@@ -51,7 +51,6 @@
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages tcl) #:use-module (gnu packages tcl)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
@@ -186,9 +185,7 @@ terminals.")
(native-inputs (native-inputs
(append (append
(list clisp (list clisp
;; See: <https://bugzilla.redhat.com/show_bug.cgi?id=2231865>. python-cython-0 ;; See https://bugzilla.redhat.com/show_bug.cgi?id=2231865
python-cython-0
python-setuptools ;remove with next update
doxygen doxygen
gettext-minimal) gettext-minimal)
;; icedtea doesn't build reliably on all architectures. ;; icedtea doesn't build reliably on all architectures.
+1
View File
@@ -37,6 +37,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils)) #:use-module (guix utils))
(define-public acl (define-public acl
+66 -118
View File
@@ -109,6 +109,7 @@
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system ruby) #:use-module (guix build-system ruby)
@@ -144,7 +145,7 @@
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages file-systems) #:use-module (gnu packages file-systems)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
@@ -743,7 +744,7 @@ manager.")
(define-public swineherd (define-public swineherd
(package (package
(name "swineherd") (name "swineherd")
(version "0.0.5") (version "0.0.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -752,7 +753,7 @@ manager.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1w3fvkdmqvbzqfx3xindm8qgam54wja46isgwasaiqmmhnla7p52")))) "0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--localstatedir=/var") '(#:configure-flags '("--localstatedir=/var")
@@ -766,7 +767,7 @@ manager.")
guile-netlink guile-netlink
guile-3.0 guile-3.0
guix guix
shepherd-1.0)) shepherd-0.10))
(home-page "https://github.com/BIMSBbioinfo/swineherd") (home-page "https://github.com/BIMSBbioinfo/swineherd")
(synopsis "System container manager") (synopsis "System container manager")
(description (description
@@ -1084,7 +1085,7 @@ console.")
(define-public btop (define-public btop
(package (package
(name "btop") (name "btop")
(version "1.4.7") (version "1.4.6")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -1093,7 +1094,7 @@ console.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0d3cr5l6gpcwhxgnrizny5b5kg6fys2hy9a58bc68w4n2hc040fy")))) "1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (list lowdown)) (native-inputs (list lowdown))
(arguments (arguments
@@ -1971,7 +1972,7 @@ maintenance releases.")
(define-public dhcpcd (define-public dhcpcd
(package (package
(name "dhcpcd") (name "dhcpcd")
(version "10.3.2") (version "10.3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -1980,7 +1981,7 @@ maintenance releases.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1z5rpi0n2vwhkh3c4d0dxwp38fl18br58jpy7kzh97gzg3gpk5dl")))) (base32 "058k8wbzbjb6mm6qklv40z1y4k6sdb4ysap1xk6pny1m1f9xkdax"))))
(inputs (list bash-minimal coreutils-minimal eudev sed)) (inputs (list bash-minimal coreutils-minimal eudev sed))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@@ -2979,7 +2980,7 @@ system is under heavy load.")
(define-public stress-ng (define-public stress-ng
(package (package
(name "stress-ng") (name "stress-ng")
(version "0.21.01") (version "0.20.01")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -2988,7 +2989,7 @@ system is under heavy load.")
(commit (string-append "V" version)))) (commit (string-append "V" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11w8xjm53lgnxfvg286lavqjh0il3bfr1fsgyk915167r4vlabqq")))) (base32 "1jkinrxh9ppv7xfii9xlisnd2679wnj4ljq12h8y0nvwrm8fkm0b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; XXX The test suite seems to cause instability on the VisionFive 2 ;; XXX The test suite seems to cause instability on the VisionFive 2
@@ -3405,7 +3406,7 @@ provides the following commands:
;; variable in the tests/import/cpan.scm test. ;; variable in the tests/import/cpan.scm test.
(list (search-path-specification (list (search-path-specification
(variable "GUIX_PYTHONPATH") (variable "GUIX_PYTHONPATH")
(files (list "lib/python3.12/site-packages"))))) (files (list "lib/python3.11/site-packages")))))
(home-page "https://www.ansible.com/") (home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation") (synopsis "Radically simple IT automation")
(description "Ansible aims to be a radically simple IT automation system. (description "Ansible aims to be a radically simple IT automation system.
@@ -3423,7 +3424,7 @@ modules and plugins that extend Ansible.")
(define-public debops (define-public debops
(package (package
(name "debops") (name "debops")
(version "3.3.0") (version "3.2.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -3432,7 +3433,7 @@ modules and plugins that extend Ansible.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0z6wck5kax5h2bjv1vw8pbd7fdcdhx87bj9fakh3h0rar9d2qksj")) (base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
(patches (patches
(search-patches "debops-setup-py-avoid-git.patch")))) (search-patches "debops-setup-py-avoid-git.patch"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
@@ -3454,8 +3455,8 @@ modules and plugins that extend Ansible.")
python-future python-future
python-gitpython python-gitpython
python-jinja2 python-jinja2
python-pyxdg
python-pyyaml python-pyyaml
python-pyxdg
python-toml)) python-toml))
(arguments (arguments
(list (list
@@ -3470,7 +3471,7 @@ modules and plugins that extend Ansible.")
`("PATH" ":" prefix `("PATH" ":" prefix
,(map dirname ,(map dirname
(map (cut search-input-file inputs <>) (map (cut search-input-file inputs <>)
(list ;; "bin/ansible" ;see above (list "bin/ansible"
"bin/gpg" "bin/gpg"
"bin/git" "bin/git"
"bin/git-crypt" "bin/git-crypt"
@@ -3926,18 +3927,6 @@ rules is done with the @code{auditctl} utility.")
(wrap-program (string-append ndiff "/bin/ndiff") (wrap-program (string-append ndiff "/bin/ndiff")
`("GUIX_PYTHONPATH" prefix `("GUIX_PYTHONPATH" prefix
(,(python-path ndiff))))))) (,(python-path ndiff)))))))
(add-before 'check 'fix-tests-for-python-3.12
(lambda _
(substitute* "ndiff/ndifftest.py"
(("import imp")
"import importlib.util")
(("ndiff = imp\\.load_source\\(\"ndiff\", \"ndiff\\.py\"\\)")
(string-join
'("spec = \
importlib.util.spec_from_file_location(\"ndiff\", \"ndiff.py\")"
"ndiff = importlib.util.module_from_spec(spec)"
"spec.loader.exec_module(ndiff)")
"\n")))))
;; These are the tests that do not require network access. ;; These are the tests that do not require network access.
(replace 'check (replace 'check
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
@@ -4067,59 +4056,51 @@ plug-in architecture to allow monitoring other system metrics.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public thefuck (define-public thefuck
;; Latest release, 3.32, is not compatible with Python 3.12. (package
(let ((revision "0") (name "thefuck")
(commit "c7e7e1d884d3bb241ea6448f72a989434c2a35ec")) (version "3.32")
(package (source
(name "thefuck") (origin
(version (git-version "3.32" revision commit)) (method git-fetch)
(source (uri (git-reference
(origin (url "https://github.com/nvbn/thefuck")
(method git-fetch) (commit version)))
(uri (git-reference (file-name (git-file-name name version))
(url "https://github.com/nvbn/thefuck") (sha256
(commit commit))) (base32 "18ipa1bm6q1n5drbi8i65726hhqhl1g41390lfqrc11hkbvv443d"))
(file-name (git-file-name name version)) (patches (search-patches "thefuck-test-environ.patch"
(sha256 "thefuck-remove-broken-tests.patch"))))
(base32 "1l3i2cpdf3vznpbzqw7b18l23xikqs7andx6yzqvm5415snaqg06")) (build-system pyproject-build-system)
(patches (search-patches "thefuck-test-environ.patch")))) (arguments
(build-system pyproject-build-system) (list
(arguments #:phases
(list #~(modify-phases %standard-phases
#:test-flags (add-before 'check 'pre-check
#~(list (lambda _
"--deselect=tests/test_utils.py::TestGetValidHistoryWithoutCurrent" ;; Tests look for installed package
"--ignore=tests/functional/conftest.py") ;; Some tests need write access to $HOME.
#:phases (setenv "HOME" "/tmp")
#~(modify-phases %standard-phases ;; Even with that, this function tries to mkdir /.config.
(add-before 'check 'pre-check (substitute* "tests/test_utils.py"
(lambda _ (("settings\\.init\\(\\)") "")))))))
;; ModuleNotFoundError: No module named 'pytest_docker_pexpect' (native-inputs
(delete-file "tests/functional/conftest.py") (list go
;; Tests look for installed package python-mock
;; Some tests need write access to $HOME. python-pytest-8
(setenv "HOME" "/tmp") python-pytest-mock
;; Even with that, this function tries to mkdir /.config. python-setuptools
(substitute* "tests/test_utils.py" python-wheel))
(("settings\\.init\\(\\)") ""))))))) (inputs
(native-inputs (list python-colorama
(list go python-decorator
python-mock python-psutil
;; Uses test markers that are incompatible with pytest 9. python-pyte))
python-pytest-8 (home-page "https://github.com/nvbn/thefuck")
python-pytest-mock (synopsis "Correct mistyped console command")
python-setuptools)) (description
(inputs "The Fuck tries to match a rule for a previous, mistyped command, creates
(list python-colorama
python-decorator
python-psutil
python-pyte))
(home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command")
(description
"The Fuck tries to match a rule for a previous, mistyped command, creates
a new command using the matched rule, and runs it.") a new command using the matched rule, and runs it.")
(license license:x11)))) (license license:x11)))
(define-public di (define-public di
(package (package
@@ -4434,7 +4415,7 @@ buffers.")
(define-public igt-gpu-tools (define-public igt-gpu-tools
(package (package
(name "igt-gpu-tools") (name "igt-gpu-tools")
(version "2.4") (version "2.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -4443,7 +4424,7 @@ buffers.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ijvfa5wamihzbl8l29sc27ml0kmgzlld83jm5mln6bb4bvny4gs")))) (base32 "1vyqrsvxraib98r4i6cjmxq7nis480s2ns95v78dscygcci42i8a"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:tests? #f ; many of the tests try to load kernel modules `(#:tests? #f ; many of the tests try to load kernel modules
@@ -4461,7 +4442,6 @@ buffers.")
libdrm libdrm
libpciaccess libpciaccess
libunwind libunwind
pciutils
procps procps
python)) python))
(native-inputs (native-inputs
@@ -4731,7 +4711,7 @@ information tool.")
(define-public fastfetch-minimal (define-public fastfetch-minimal
(package (package
(name "fastfetch-minimal") (name "fastfetch-minimal")
(version "2.63.1") (version "2.60.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -4740,7 +4720,7 @@ information tool.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "13a5maf8jxyga5bga96s40binqp2i54pjlipsnqgfj85q01yzkg9")) (base32 "089577qgxd63zqzd00fz381bfpmj6pwlmy2zfan9r6gbm1jvj4i8"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
(delete-file-recursively "src/3rdparty") (delete-file-recursively "src/3rdparty")
@@ -7072,7 +7052,7 @@ network, which causes enabled computers to power on.")
(define-public witr (define-public witr
(package (package
(name "witr") (name "witr")
(version "0.3.2") (version "0.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -7081,7 +7061,7 @@ network, which causes enabled computers to power on.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "06vxrgd0j2v6s4snmyviwpp66hm5zai7xca9318inhyg4jw3ngg5")))) (base32 "03v9n4mdvqm0knqjl4s64321i5clqpmlrlkkdb87glzb9p28sg00"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@@ -7228,38 +7208,6 @@ has a focus on performance. It can be used as a greeter by starting
it from @file{~/.bashrc} for example.") it from @file{~/.bashrc} for example.")
(license license:agpl3+))) (license license:agpl3+)))
(define-public zeptofetch
(package
(name "zeptofetch")
(version "1.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.archlinux.org/gurov/zeptofetch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1f1dm9nrp0z0prqy90csrkbk98ixp0jx76ax473qb0qsbb7ys4g7"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests available.
#:make-flags
#~(list (string-append "PREFIX="
#$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; No configure script.
(home-page "https://gitlab.archlinux.org/gurov/zeptofetch")
(synopsis
"Fast, minimal system information tool for Linux.")
(description
"This package provides a system fetch tool, similar to
@command{neofetch}, @command{fastfetch}, etc. It is lightweight and
has a focus on performance.")
(license license:gpl3+)))
(define-public zzz (define-public zzz
(package (package
(name "zzz") (name "zzz")
+2 -2
View File
@@ -117,7 +117,7 @@ Features:
(define-public python-zbarlight (define-public python-zbarlight
(package (package
(name "python-zbarlight") (name "python-zbarlight")
(version "4.0") (version "3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -126,7 +126,7 @@ Features:
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1q1nfc7g7bl9y63fwvnq1fcgqk79inc2hhw3ilvyw0nk0g74v8cm")))) (base32 "1radfpfhfhkx3xnz01bqr5l9pl2zv70zis6l2kw1gwqbfw65r6w6"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(propagated-inputs (list python-pillow)) (propagated-inputs (list python-pillow))
(inputs (list zbar)) (inputs (list zbar))
+2 -1
View File
@@ -52,7 +52,7 @@
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fltk) #:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
@@ -88,6 +88,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system r) #:use-module (guix build-system r)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
+16 -22
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
@@ -1229,35 +1230,28 @@ main repository.")
(define-public fdroidcl (define-public fdroidcl
(package (package
(name "fdroidcl") (name "fdroidcl")
(version "0.8.1") (version "0.7.0")
(source (source (origin
(origin (method git-fetch)
(method git-fetch) (uri (git-reference
(uri (git-reference (url "https://github.com/mvdan/fdroidcl")
(url "https://github.com/Hoverth/fdroidcl") (commit (string-append "v" version))))
(commit (string-append "v" version)))) (file-name (git-file-name name version))
(file-name (git-file-name name version)) (sha256
(sha256 (base32
(base32 "1bflahcsjarv4v6r61knl5gc5iydh1lwvqjgffhxr4pis4qfsqsa")) "1s3fszlyyab9gbdrg52zcbafsb1mgb770skg7b3gj7f3pzfnra5n"))))
;; XXX: Reported upstream.
;; See: <https://github.com/Hoverth/fdroidcl/pull/92>.
(patches (search-patches "fdroidcl-fix-tests.patch"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list `(#:import-path "mvdan.cc/fdroidcl"
#:install-source? #f #:tests? #f ;requires internet access
#:import-path "mvdan.cc/fdroidcl")) #:install-source? #f))
(inputs (inputs (list go-github-com-kr-pretty go-github-com-schollz-progressbar-v3))
(list go-github-com-kr-pretty
go-github-com-pelletier-go-toml-v2
go-github-com-rogpeppe-go-internal
go-github-com-schollz-progressbar-v3))
(home-page "https://github.com/Hoverth/fdroidcl")
(synopsis "F-Droid desktop client") (synopsis "F-Droid desktop client")
(description (description
"While the Android client integrates with the system with regular update "While the Android client integrates with the system with regular update
checks and notifications, this is a simple command line client that talks to checks and notifications, this is a simple command line client that talks to
connected devices via ADB.") connected devices via ADB.")
(home-page "https://github.com/mvdan/fdroidcl")
(license license:bsd-3))) (license license:bsd-3)))
(define-public emacs-fdroid (define-public emacs-fdroid
+2 -2
View File
@@ -22,7 +22,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
@@ -180,7 +180,7 @@ supported by Canonical since 2009.")
(list libapparmor)) (list libapparmor))
;; Python module `readline' needed ;; Python module `readline' needed
(native-inputs (native-inputs
(list bison flex gettext-minimal perl python python-setuptools which)) (list bison flex gettext-minimal perl python which))
(license license:gpl2)))) (license license:gpl2))))
(define-public pam-apparmor (define-public pam-apparmor
+1 -1
View File
@@ -50,7 +50,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
+41 -20
View File
@@ -37,6 +37,7 @@
(define-module (gnu packages astronomy) (define-module (gnu packages astronomy)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix build-system python) #:select (pypi-uri)) ;to be removed soon
#:use-module (guix build-system ant) #:use-module (guix build-system ant)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
@@ -66,7 +67,7 @@
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages fortran-xyz) #:use-module (gnu packages fortran-xyz)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
@@ -1991,22 +1992,12 @@ model-fitting photometry or morphological analyses.")
(sha256 (sha256
(base32 "156y3zp0nm77976rwsxjjdh7yvggas8s6m0nm523khvn4lq8f9n0")))) (base32 "156y3zp0nm77976rwsxjjdh7yvggas8s6m0nm523khvn4lq8f9n0"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; Assertion errors:
;;
;; You are lazy loading attributes via 'bibtex', and so are making
;; multiple calls to the API. This will impact your overall rate
;; limits. bibtex should be queried with ads.ExportQuery(); You will hit
;; API ratelimits very quickly otherwise.
#~(list (string-append "--deselect=ads/tests/test_search.py"
"::TestArticle::test_get_field_bibtex"))))
(native-inputs (native-inputs
(list nss-certs-for-test (list nss-certs-for-test
python-httpretty python-httpretty
python-pytest python-pytest
python-setuptools)) python-setuptools
python-wheel))
(propagated-inputs (propagated-inputs
(list python-mock (list python-mock
python-requests python-requests
@@ -2186,6 +2177,20 @@ interchange format for scientific data. This package contains the Python
implementation of the ASDF Standard.") implementation of the ASDF Standard.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-asdf-3
(package
(inherit python-asdf)
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asdf" version))
(sha256
(base32 "0scnw5y4x5k3vyfylq0w612b662xlccx3gsscaw082zlv2yxfyh4"))))
(propagated-inputs
(modify-inputs propagated-inputs
(prepend python-asdf-transform-schemas)))))
(define-public python-asdf-astropy (define-public python-asdf-astropy
(package (package
(name "python-asdf-astropy") (name "python-asdf-astropy")
@@ -3862,6 +3867,10 @@ find,download, and read the data files.")
#~(list "-m" "not remote_data") #~(list "-m" "not remote_data")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
((" --cov=cdflib --cov-report=xml") ""))))
(add-before 'check 'set-HOME (add-before 'check 'set-HOME
(lambda _ (lambda _
(setenv "HOME" "/tmp")))))) (setenv "HOME" "/tmp"))))))
@@ -4663,6 +4672,7 @@ Cesium.")
(native-inputs (native-inputs
(list python-pydot (list python-pydot
python-pytest python-pytest
python-pytest-cov
python-pytest-asdf-plugin python-pytest-asdf-plugin
python-pytest-doctestplus python-pytest-doctestplus
python-pytest-filter-subpackage python-pytest-filter-subpackage
@@ -5187,6 +5197,7 @@ files.")
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-pytest-cov
python-setuptools python-setuptools
python-setuptools-scm python-setuptools-scm
python-wheel)) python-wheel))
@@ -5781,6 +5792,7 @@ across many files.")
(list python-mock (list python-mock
python-objgraph python-objgraph
python-pytest python-pytest
python-pytest-cov
;; python-pytest-faulthandler ;; python-pytest-faulthandler
python-setuptools python-setuptools
python-wheel python-wheel
@@ -6627,6 +6639,19 @@ files.")
(string-append (string-append
"from astropy.units.core import Unit, UnitBase\n" "from astropy.units.core import Unit, UnitBase\n"
"from astropy.units.errors import UnitTypeError\n"))))) "from astropy.units.errors import UnitTypeError\n")))))
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
;; RuntimeError: Unable to detect version control
;; system. Checked: Git. Not installed: Mercurial, Darcs,
;; Subversion, Bazaar, Fossil, Pijul. See
;; <https://github.com/blacklanternsecurity/bbot/issues/1257>.
(("enable = true") "enable = false"))))
(add-before 'build 'set-version
(lambda _
;; TODO: Include in pyproject-build-system.
(setenv "POETRY_DYNAMIC_VERSIONING_BYPASS"
#$(version-major+minor+point version))))
(add-before 'check 'prepare-test-environment (add-before 'check 'prepare-test-environment
(lambda _ (lambda _
(setenv "HOME" "/tmp")))))) (setenv "HOME" "/tmp"))))))
@@ -6684,7 +6709,7 @@ astronomical tables
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
;; tests: 1508 passed, 43621 warnings ;; tests: 1509 passed, 55331 warnings
#:test-flags #:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
;; TypeError: SparseSolverBase.__init__() got an unexpected ;; TypeError: SparseSolverBase.__init__() got an unexpected
@@ -6701,12 +6726,7 @@ astronomical tables
(string-append "--deselect=test/test_Sampling/test_Likelihoods/" (string-append "--deselect=test/test_Sampling/test_Likelihoods/"
"test_position_likelihood.py" "test_position_likelihood.py"
"::TestPositionLikelihood" "::TestPositionLikelihood"
"::test_multiplane_position_likelihood") "::test_multiplane_position_likelihood"))
;; XXX: AttributeError: 'FileFinder' object has no attribute
;; 'find_module'.
;; See: <https://github.com/lenstronomy/lenstronomy/issues/845>.
(string-append "--deselect=test/test_Util/test_package_util.py"
"::test_short_and_laconic"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'check 'pre-check (add-before 'check 'pre-check
@@ -11663,6 +11683,7 @@ for dealing with particle data and a few related utility functions.")
(build-system pyproject-build-system) (build-system pyproject-build-system)
(propagated-inputs (list python-numpy python-scipy)) (propagated-inputs (list python-numpy python-scipy))
(native-inputs (list python-pytest (native-inputs (list python-pytest
python-pytest-cov
python-pytest-doctestplus python-pytest-doctestplus
python-setuptools-scm python-setuptools-scm
python-wheel)) python-wheel))
+129 -299
View File
@@ -51,7 +51,7 @@
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me> ;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com> ;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2024 Sughosha <sughosha@disroot.org> ;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025, 2026 Junker <dk@junkeria.club> ;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Sughosha <sughosha@disroot.org> ;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com> ;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com> ;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
@@ -63,7 +63,6 @@
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr> ;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu> ;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Daniel Martins <email@danielfm.me> ;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@@ -103,7 +102,7 @@
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fltk) #:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
@@ -128,7 +127,6 @@
#:use-module (gnu packages linphone) #:use-module (gnu packages linphone)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages machine-learning) #:use-module (gnu packages machine-learning)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
@@ -137,6 +135,7 @@
#:use-module (gnu packages music) #:use-module (gnu packages music)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages onc-rpc) #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages oneapi) #:use-module (gnu packages oneapi)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@@ -145,7 +144,6 @@
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science) #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
@@ -181,6 +179,7 @@
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
@@ -195,45 +194,6 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public adplug
(package
(name "adplug")
(version "2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/adplug/adplug")
(commit (string-append "adplug-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0l31ya42g3q7ry2m0y5djgjb9ax8ciy8jn86252vdjkjswwqgscd"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON")
#:modules
'((guix build cmake-build-system)
(guix build utils)
(srfi srfi-26)) ;for cute
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-headers
(lambda _
(for-each (cute install-file <>
(string-append #$output "/include/adplug"))
(find-files "../source/src" "\\.h$")))))))
(propagated-inputs
(list libbinio))
(home-page "https://adplug.github.io/")
(synopsis "AdLib sound player library")
(description
"AdPlug is a hardware independent AdLib sound player library, mainly
written in C++. AdPlug plays sound data, originally created for the AdLib
(OPL2/3) audio board, on top of an OPL2/3 emulator or by using the real
hardware. No OPL2/3 chips are required for playback.")
(license license:lgpl2.1+)))
(define-public opensles (define-public opensles
(package (package
(name "opensles") (name "opensles")
@@ -820,8 +780,7 @@ Filter) modules follow the convention of 1V / Octave.")
"https://aubio.org/pub/aubio-" version ".tar.bz2")) "https://aubio.org/pub/aubio-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl")) "1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
(patches (search-patches "aubio-waflib-python312-compat.patch"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
(list (list
@@ -2135,17 +2094,7 @@ envelope follower, distortion effects, tape effects and more.")
(base32 (base32
"01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w")))) "01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments (list #:tests? #false)) ;There are no tests.
(list
#:tests? #false ;There are no tests.
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'python3.12-compatibility
(lambda _
(substitute* "waflib/Context.py"
(("imp.new_module") "types.ModuleType")
(("import os, re, imp, sys")
"import os, re, types, sys")))))))
(inputs (list lv2)) (inputs (list lv2))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(home-page "https://git.drobilla.net/cgit.cgi/omins.lv2.git/") (home-page "https://git.drobilla.net/cgit.cgi/omins.lv2.git/")
@@ -3289,27 +3238,30 @@ synchronous execution of all clients, and low latency operation.")
(package (package
(inherit jack-1) (inherit jack-1)
(name "jack2") (name "jack2")
;; 1.9.22 does not compile with Python 3.12, use the latest commit instead. (version "1.9.21")
(properties '((commit . "17959465a722225a36a8b612aed26764036f258e")
(revision . "0")))
(version (git-version "1.9.22"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/jackaudio/jack2") (url "https://github.com/jackaudio/jack2")
(commit (assoc-ref properties 'commit)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"18dbjq9y8mcp27j9aaqdlg4976hrisr7b88lk84ck09gmzlwqalp")))) "0sbrffmdbajvrk7iqvsvrnwnpvmicvbjyq3f52r6ashdsznsz03b"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
#:configure-flags '("--dbus" "--alsa") #:configure-flags '("--dbus" "--alsa")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Python 3.11 has removed the 'U' (universal newline) mode. It has
;; been the default since Python 3.3.
(add-after 'unpack 'python-compatibility
(lambda _
(substitute* '("waflib/Context.py"
"waflib/ConfigSet.py")
(("m='rU'") "m='r'")
(("read\\('rU'") "read('r'"))))
(add-before 'configure 'set-linkflags (add-before 'configure 'set-linkflags
(lambda _ (lambda _
;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp ;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp
@@ -3335,7 +3287,7 @@ synchronous execution of all clients, and low latency operation.")
expat expat
libsamplerate libsamplerate
opus opus
python-dbus python-dbus-1.2
readline)) readline))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
@@ -3478,7 +3430,7 @@ from being able to mix multiple JACK audio streams.")
(define-public pipemixer (define-public pipemixer
(package (package
(name "pipemixer") (name "pipemixer")
(version "0.5.0") (version "0.4.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -3487,8 +3439,19 @@ from being able to mix multiple JACK audio streams.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "104h2zdhqx5gdddnb7v7rhrflznh4v7d4g3s6vk2mxwf938zgm72")))) (base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pw-device
(lambda _
(substitute* "src/pw/device.c"
;; TODO: Report upstream:
;; ../source/src/pw/device.c:328:80: error: expected
;; ; before { token
(("iter\\) \\{") "iter); {")))))))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
@@ -3888,58 +3851,6 @@ provided by Pipewire.")
cross-platform audio input/output stream library.") cross-platform audio input/output stream library.")
(license license:expat))) (license license:expat)))
(define-public python-pyroomacoustics
(package
(name "python-pyroomacoustics")
(version "0.10.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LCAV/pyroomacoustics")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0546506lg93nrybvilc4wgrgvn317w9zxv2jwikhpfy1i0qyrnkk"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
;; Want to download data from the internet:
"--ignore"
"pyroomacoustics/directivities/tests/test_sofa_directivities.py"
"--ignore"
"pyroomacoustics/datasets/tests/test_download_uncompress.py"
;; May fail because of slight numerical imprecision.
"--ignore"
"pyroomacoustics/experimental/tests/test_measure_rt60.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-extra-include-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
(string-append
(search-input-directory inputs "include/eigen3")
":"
(or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
(propagated-inputs (list python-scipy))
(native-inputs (list eigen
pybind11
python-cython
python-matplotlib
python-numpy
python-pytest
python-setuptools
python-sofa))
(inputs (list nanoflann))
(home-page "https://github.com/LCAV/pyroomacoustics")
(synopsis "Python library for room acoustics")
(description "@code{pyroomacoustics} is a framework for simulating the
acustic behaviour of rooms, such as computing the impulse response using
different simulation methods.")
(license license:expat)))
(define-public python-pulsectl (define-public python-pulsectl
(package (package
(name "python-pulsectl") (name "python-pulsectl")
@@ -4044,40 +3955,6 @@ to send and receive OSC messages using a nice and simple Python API. Also
included are the command line utilities @code{send_osc} and @code{dump_osc}.") included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public python-sofa
(package
(name "python-sofa")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spatialaudio/python-sofa/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0n6mdck2dawfm6napqhhxi8gjyvs6121pblcr7zjl37a8ldqvg29"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;No tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-wrong-dependency
(lambda _
(substitute* "setup.py"
(("'datetime'")
"")))))))
(propagated-inputs (list python-netcdf4 python-numpy python-scipy))
(native-inputs (list python-setuptools))
(home-page "https://github.com/spatialaudio/python-sofa/")
(synopsis
"Python @acronym{Spatially Oriented Format for Acoustics, SOFA} API")
(description
"Python API for @acronym{Spatially Oriented Format for Acoustics, SOFA} files
as specified in @url{https://www.sofaconventions.org, SOFA conventions}.")
(license license:expat)))
(define-public python-soundfile (define-public python-soundfile
(package (package
(name "python-soundfile") (name "python-soundfile")
@@ -4213,7 +4090,9 @@ one-dimensional sample-rate conversion library.")
(string-append "'" #$(this-package-input "libsndfile") (string-append "'" #$(this-package-input "libsndfile")
"/lib/libsndfile")))))))) "/lib/libsndfile"))))))))
(native-inputs (native-inputs
(list python-pytest python-setuptools)) (list python-pytest
python-pytest-cov
python-setuptools))
(inputs (inputs
(list libsndfile (list libsndfile
portaudio)) portaudio))
@@ -4586,33 +4465,6 @@ This includes device enumeration and initialization, file loading, and
streaming.") streaming.")
(license license:expat))) (license license:expat)))
(define-public wp-notifyd
(package
(name "wp-notifyd")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LDAP/wp-notifyd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nkndz0li15maf0dc9x631p0dr8085wzz5358552wljv7chywrza"))))
(build-system meson-build-system)
(arguments
(list #:tests? #f)) ;there are no tests
(inputs (list libnotify
wireplumber-minimal
pipewire
spdlog))
(native-inputs (list pkg-config))
(home-page "https://github.com/LDAP/wp-notifyd")
(synopsis "Notification daemon for Wireplumber")
(description "@command{wp-notifyd} is a lightweight notification daemon for
@dfn{WirePlumber} (the session and policy manager for PipeWire).")
(license license:expat)))
(define-public pa-notify (define-public pa-notify
(package (package
(name "pa-notify") (name "pa-notify")
@@ -5017,42 +4869,6 @@ using Guix System.")
;; GNU Library (not Lesser) General Public License. ;; GNU Library (not Lesser) General Public License.
(license license:lgpl2.0+))) (license license:lgpl2.0+)))
(define-public hiir
(let ((commit "4a9a1e67fa6f8ce7688e1c0c8a2b017cecd206a3")
(revision "0"))
(package
(name "hiir")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LostRobotMusic/hiir")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1wzlg0di768mzcik6fij4pd6dnpmbw8q236h478c057d10qfp44g"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~`(("." "/include/hiir"))))
(home-page "https://github.com/LostRobotMusic/hiir")
(synopsis "Header-only version of Laurent de Soras's HIIR 1.40 library")
(description
"This package provides a header-only version of the
@uref{http://ldesoras.free.fr/prod.html#src_hiir, HIIR library by Laurent De
Soras}, updated to version 1.40. HIIR is a C++ library for changing the
sampling rate of a signal by a factor two, in both directions (upsampling and
downsampling), obtaining two signals with a π/2 phase difference (Hilbert
transform). It is made of a two-path polyphase IIR filter, implemented with
FPU, 3DNow!, SSE, SSE2, AVX, AVX-512 and NEON instruction sets.
This package contains the same as the original library, except with the
contents of one source file moved into a header file (and set as inline) to
make the library header-only, and with the test folder removed.")
(license license:wtfpl2))))
(define-public redumper (define-public redumper
(package (package
(name "redumper") (name "redumper")
@@ -7213,6 +7029,32 @@ developing fully accurate DirectX Audio runtime libraries.")
license:expat license:expat
license:public-domain)))) license:public-domain))))
(define-public gnaural
(package
(name "gnaural")
(version "20110606")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnaural/Gnaural/gnaural_"
version ".tar.xz"))
(sha256
(base32
"1gq519c0imsh57zklyi0f8h64l3ai48lh672c834470z8c6kvbfi"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib gtk+-2 libsndfile portaudio))
(native-inputs
(list pkg-config))
(home-page "https://gnaural.sourceforge.net/")
(synopsis "Binaural beat synthesizer")
(description "Gnaural is a programmable auditory binaural beat synthesizer
intended to be used for brainwave entrainment. Gnaural supports creation of
binaural beat tracks of different frequencies and exporting of tracks into
different audio formats. Gnaural can also be linked over the internet with
other Gnaural instances, allowing synchronous sessions between many users.")
(license license:gpl2+)))
(define-public darkice (define-public darkice
(package (package
(name "darkice") (name "darkice")
@@ -7423,7 +7265,6 @@ as is the case with audio plugins.")
(find-files "bin"))))))))) (find-files "bin")))))))))
(inputs (inputs
(list alsa-lib (list alsa-lib
bash-minimal
ffmpeg ffmpeg
fluidsynth fluidsynth
file file
@@ -7481,8 +7322,8 @@ default and preferred audio driver but also supports native drivers like ALSA.")
;;; This package variant tracks the latest in-development 2.6 release. ;;; This package variant tracks the latest in-development 2.6 release.
(define-public carla-2.6 (define-public carla-2.6
(let ((commit "294a80145e39c0755ab9073d90fd8b9524fbfc84") (let ((commit "aa400535b31c67f4b6c1b28e6e20e4d4f82111a3")
(revision "1")) (revision "0"))
(package (package
(inherit carla) (inherit carla)
(name "carla") (name "carla")
@@ -7496,12 +7337,7 @@ default and preferred audio driver but also supports native drivers like ALSA.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "053yfwf9l9vqvq95c354by6nm8ym0wgkv3fr1434x5w9n1344z0z")))) (base32 "0cnj2sgr60f5h6wdfmihc214wf3n74686sipl3iyzmylqrcyhbjn")))))))
(inputs
(modify-inputs (package-inputs carla)
(replace "python-pyqt" python-pyqt-6)
(replace "qtbase" qtbase)
(replace "qtwayland" qtwayland))))))
;; This source is a fork of vst3sdk with the documentation and VSTGUI ;; This source is a fork of vst3sdk with the documentation and VSTGUI
;; submodules removed and a dummy `meson.build` file that just lists all ;; submodules removed and a dummy `meson.build` file that just lists all
@@ -7991,59 +7827,60 @@ Rate} 3600x2250 bit/s vocoder used in various radio systems.")
(delete-file-recursively "third_party") (delete-file-recursively "third_party")
(delete-file-recursively "modules"))))) (delete-file-recursively "modules")))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DLINK_BUILD_QT_EXAMPLES=ON"
"-DLINK_BUILD_JACK=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(let* ((python (search-input-file inputs "/bin/python3"))
(run-tests "../source/ci/run-tests.py"))
(invoke python run-tests "--target" "LinkCoreTest")
(invoke python run-tests "--target" "LinkDiscoveryTest")))))
(add-before 'install 'patch-cmake
(lambda* (#:key inputs #:allow-other-keys)
(let* ((source "../source/"))
(substitute* (string-append source
"cmake_include/AsioStandaloneConfig.cmake")
(((string-append "\\$\\{CMAKE_CURRENT_LIST_DIR\\}/\\.\\./"
"modules/asio-standalone/asio/include"))
(dirname (search-input-file inputs "include/asio.hpp"))))
(substitute* (string-append source "AbletonLinkConfig.cmake")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include")
"${CMAKE_CURRENT_LIST_DIR}/../../../include")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include/ableton/Link\\.hpp")
"${CMAKE_CURRENT_LIST_DIR}/../../../include/ableton/Link.hpp")))))
(replace 'install
(lambda _
(let* ((out #$output)
(lib-cmake (string-append out "/lib/cmake/ableton-link"))
(source "../source"))
(for-each delete-file
'("bin/LinkDiscoveryTest" "bin/LinkCoreTest"))
(copy-recursively "bin" (string-append out "/bin"))
(copy-recursively (string-append source "/include/ableton")
(string-append out "/include/ableton"))
(install-file (string-append source "/AbletonLinkConfig.cmake")
lib-cmake)
(install-file (string-append source
"/cmake_include/AsioStandaloneConfig.cmake")
(string-append lib-cmake "/cmake_include"))))))))
(native-inputs (native-inputs
(list catch-framework (list catch-framework
portaudio ;for portaudio examples python ;for running tests
python ;for running tests portaudio)) ;for portaudio examples
python-setuptools)) ;for running tests
(inputs (inputs
(list jack-1)) ;for JACK examples (list jack-1)) ;for JACK examples
(propagated-inputs (propagated-inputs
;; This is because include/ableton/platforms/asio/AsioWrapper.hpp ;; This is because include/ableton/platforms/asio/AsioWrapper.hpp
;; contains '#include <asio.hpp>'. ;; contains '#include <asio.hpp>'.
(list asio-1.28)) (list asio-1.28))
(arguments
`(#:configure-flags
'("-DLINK_BUILD_QT_EXAMPLES=ON"
"-DLINK_BUILD_JACK=ON")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(let* ((python (search-input-file inputs "/bin/python3"))
(run-tests "../source/ci/run-tests.py"))
(invoke python run-tests "--target" "LinkCoreTest")
(invoke python run-tests "--target" "LinkDiscoveryTest")))))
(add-before 'install 'patch-cmake
(lambda* (#:key inputs #:allow-other-keys)
(let* ((source "../source/"))
(substitute* (string-append source
"cmake_include/AsioStandaloneConfig.cmake")
(((string-append "\\$\\{CMAKE_CURRENT_LIST_DIR\\}/\\.\\./"
"modules/asio-standalone/asio/include"))
(string-append (assoc-ref inputs "asio")
"/include")))
(substitute* (string-append source "AbletonLinkConfig.cmake")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include")
"${CMAKE_CURRENT_LIST_DIR}/../../../include")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include/ableton/Link\\.hpp")
"${CMAKE_CURRENT_LIST_DIR}/../../../include/ableton/Link.hpp")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib-cmake (string-append out "/lib/cmake/ableton-link"))
(source "../source"))
(for-each (lambda (test-file)
(delete-file test-file))
'("bin/LinkDiscoveryTest" "bin/LinkCoreTest"))
(copy-recursively "bin" bin)
(copy-recursively (string-append source "/include/ableton")
(string-append out "/include/ableton"))
(install-file (string-append source "/AbletonLinkConfig.cmake")
lib-cmake)
(install-file (string-append source
"/cmake_include/AsioStandaloneConfig.cmake")
(string-append lib-cmake "/cmake_include"))))))))
(home-page "https://github.com/Ableton/link") (home-page "https://github.com/Ableton/link")
(synopsis "Synchronize musical beat, tempo, and phase across multiple applications") (synopsis "Synchronize musical beat, tempo, and phase across multiple applications")
(description (description
@@ -8141,16 +7978,7 @@ Icecast server.")
(lambda _ (lambda _
(substitute* "misc.c" (substitute* "misc.c"
(("#include <stdio.h>\n" all) (("#include <stdio.h>\n" all)
(string-append all "#include <string.h>\n"))) (string-append all "#include <string.h>\n")))))
(substitute* "wavsubs.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))
(substitute* "wavfile.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))
(substitute* "generator.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))))
(delete 'configure) (delete 'configure)
(replace 'install (replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys) (lambda* (#:key make-flags outputs #:allow-other-keys)
@@ -8162,8 +7990,7 @@ Icecast server.")
(inputs (inputs
(list ncurses)) (list ncurses))
(native-inputs (native-inputs
`(("gcc" ,gcc-9) `(("groff" ,groff-minimal) ; for nroff
("groff" ,groff-minimal) ; for nroff
("util-linux" ,util-linux))) ; for col ("util-linux" ,util-linux))) ; for col
(home-page "https://github.com/bleskodev/siggen") (home-page "https://github.com/bleskodev/siggen")
(synopsis "Signal generation tools") (synopsis "Signal generation tools")
@@ -8239,7 +8066,7 @@ as sample rate, determining whether an audio file is silent, and much more.")
(propagated-inputs (propagated-inputs
(list python-numba python-numpy python-scipy python-six)) (list python-numba python-numpy python-scipy python-six))
(native-inputs (native-inputs
(list python-pytest python-setuptools python-wheel)) (list python-pytest python-pytest-cov python-setuptools python-wheel))
(home-page "https://github.com/bmcfee/resampy") (home-page "https://github.com/bmcfee/resampy")
(synopsis "Efficient signal resampling") (synopsis "Efficient signal resampling")
(description (description
@@ -8257,10 +8084,10 @@ Home Page}.")
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/librosa/librosa/") (url "https://github.com/librosa/librosa/")
(commit version) (commit version)
;; TODO: Package test data. ;; For test files.
(recursive? #true))) (recursive? #true)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "065x43hx670rjrclxi4hiqxscllb16v9s7myjvg7rd5pd3y0k7sg")))) (base32 "065x43hx670rjrclxi4hiqxscllb16v9s7myjvg7rd5pd3y0k7sg"))))
@@ -8268,13 +8095,15 @@ Home Page}.")
(arguments (arguments
(list (list
#:test-flags #:test-flags
#~(list "-k" (string-append ;; Ignore --mpl flag.
;; Resampling tests require python-samplerate. '(list "-c" "/dev/null"
"not resample" "-k" (string-append
;; These tests use Pooch and download data files. ;; Resampling tests require python-samplerate.
" and not example and not test_cite" "not resample"
;; XXX assert 22050 == 31744 ;; These tests use Pooch and download data files.
" and not test_stream")))) " and not example and not test_cite"
;; XXX assert 22050 == 31744
" and not test_stream"))))
(propagated-inputs (propagated-inputs
(list python-audioread (list python-audioread
python-decorator python-decorator
@@ -8293,9 +8122,10 @@ Home Page}.")
(list python-matplotlib (list python-matplotlib
python-packaging python-packaging
python-pytest python-pytest
python-pytest-mpl python-pytest-cov
python-resampy python-resampy
python-setuptools)) python-setuptools
python-wheel))
(home-page "https://librosa.org") (home-page "https://librosa.org")
(synopsis "Python module for audio and music processing") (synopsis "Python module for audio and music processing")
(description (description
@@ -1989,7 +1989,7 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set # CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set # CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_VIRTIO=m # CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_DH is not set # CONFIG_SCSI_DH is not set
# end of SCSI device support # end of SCSI device support
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,58 +0,0 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2025 Nicolas Graves <ngraves@ngraves.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/>.
import importlib.util
import json
def pytest_addoption(parser):
"""Add stub options to be ignored by pytest.
More precisely, inject all options provided in .pytest_guix_options.json,
except options whose plugin is indeed installed.
For example, if the json file records --cov:
if the pytest_cov module is installed, its --cov will be used.
otherwise, --cov is ignored (read by this parser, but nothing is done
with it).
Flags can be given with additional keyword arguments in a json object.
If the json object is not given, fallback to the default
{"action": "append", "nargs": "?"}. In practice, these arguments are only
mandatory for the store_true and store_const actions to avoid eating other
arguments.
This allows to remove development packages, which are not required at build
time while at the same time avoiding the need to adjust test options in
pyproject.toml or other configuration files.
"""
with open(".pytest_guix_options.json", "r") as options_file:
plugin_options = json.load(options_file)
group = parser.getgroup(
"guix", "Options ignored by the Guix pyproject-build-system"
)
# Only add options for plugins that are not present.
for key, options in plugin_options.items():
if importlib.util.find_spec(f"pytest_{key}") is None:
# Plugin not found, add stub options
for option, kwargs in options.items():
if kwargs:
group.addoption(option, **kwargs)
else:
group.addoption(option, action="append", nargs="?")
+68 -69
View File
@@ -50,6 +50,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
@@ -106,7 +107,6 @@
#:use-module (gnu packages rsync) #:use-module (gnu packages rsync)
#:use-module (gnu packages ruby-xyz) #:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages time) #:use-module (gnu packages time)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@@ -137,6 +137,7 @@
python-paramiko python-paramiko
python-pexpect python-pexpect
python-pytest python-pytest
python-pytest-runner
python-setuptools-scm python-setuptools-scm
tzdata-for-tests tzdata-for-tests
python-mock)) python-mock))
@@ -631,26 +632,41 @@ rsnapshot uses hard links to deduplicate identical files.")
(define-public borg (define-public borg
(package (package
(name "borg") (name "borg")
(version "1.4.4") (version "1.4.3")
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (pypi-uri "borgbackup" version))
(url "https://github.com/borgbackup/borg")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "0bk302lbjjz1y8dg78wqqys80bm7mzkj5yf6wgyqdwvbqpsnpim4")))) (base32 "07s4jqcv03s98hi6lvqpvmnnhl532qnvv11mjy2xc08rbmsgmfvr"))
(snippet
#~(begin
;; Delete files generated by Cython. We used to have a regex that
;; created the list of generated files but Borg has added new
;; non-generated C files that cause the regex to generate the
;; wrong list.
(for-each delete-file
'("src/borg/algorithms/checksums.c"
"src/borg/chunker.c"
"src/borg/compress.c"
"src/borg/crypto/low_level.c"
"src/borg/hashindex.c"
"src/borg/item.c"
"src/borg/platform/darwin.c"
"src/borg/platform/freebsd.c"
"src/borg/platform/linux.c"
"src/borg/platform/posix.c"
"src/borg/platform/syncfilerange.c"
"src/borg/platform/windows.c"))))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
#:modules '((srfi srfi-26) ; for cut #:modules '((srfi srfi-26) ; for cut
(guix build utils) (guix build utils)
(guix build pyproject-build-system)) (guix build pyproject-build-system))
;; tests: 1318 passed, 293 skipped
#:test-flags #:test-flags
#~(list "--benchmark-skip" #~(list "--benchmark-skip"
"--numprocesses" (number->string (min 8 (parallel-job-count))) "--numprocesses" (number->string (parallel-job-count))
"--pyargs" "borg.testsuite" "--pyargs" "borg.testsuite"
"-k" (string-join "-k" (string-join
;; These tests need to write to '/var'. ;; These tests need to write to '/var'.
@@ -671,15 +687,7 @@ rsnapshot uses hard links to deduplicate identical files.")
"test_mount_hardlinks " "test_mount_hardlinks "
"test_readonly_mount " "test_readonly_mount "
"test_fuse_versions_view " "test_fuse_versions_view "
"test_migrate_lock_alive" "test_migrate_lock_alive")
;; Test files are not in /gnu/store
"test_convert_all[False]"
"test_convert_all[True]"
"test_convert_segments[False]"
"test_convert_segments[True]"
"test_detect_attic_repo"
"test_key_export_qr"
"test_keys")
" and not ")) " and not "))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@@ -695,58 +703,46 @@ rsnapshot uses hard links to deduplicate identical files.")
(setenv "BORG_LIBLZ4_PREFIX" lz4) (setenv "BORG_LIBLZ4_PREFIX" lz4)
(setenv "BORG_LIBXXHASH_PREFIX" xxhash) (setenv "BORG_LIBXXHASH_PREFIX" xxhash)
(setenv "BORG_LIBZSTD_PREFIX" zstd)))) (setenv "BORG_LIBZSTD_PREFIX" zstd))))
(add-before 'build 'fix-testsuite-setuid-mode (add-after 'install 'install-doc
(lambda _ (lambda _
(substitute* "src/borg/testsuite/archiver.py" (let ((man (string-append #$output "/share/man/man1"))
(("0o4755") "0o0755")))) (misc (string-append #$output "/share/doc/borg-"
(add-after 'install 'build-and-install-docs #$(package-version this-package))))
(lambda _
(let* ((doc (string-append #$output "/share/doc/borg-" #$version))
(html (string-append doc "/html"))
(txt (string-append doc "/txt"))
(misc (string-append doc "/misc"))
(man (string-append #$output "/share/man/man1")))
(with-directory-excursion "docs"
(invoke "make" "text" "man" "singlehtml"))
(for-each (cut install-file <> misc) (for-each (cut install-file <> misc)
'("docs/misc/create_chunker-params.txt" '("docs/misc/create_chunker-params.txt"
"docs/misc/borg-data-flow.png" "docs/misc/borg-data-flow.png"
"docs/misc/internals-picture.txt" "docs/misc/internals-picture.txt"
"docs/misc/prune-example.txt")) "docs/misc/prune-example.txt"))
(copy-recursively "docs/_build/man" man) (copy-recursively "docs/man" man))))
(copy-recursively "docs/_build/singlehtml" html) (add-after 'install-doc 'install-shell-completions
(copy-recursively "docs/_build/text" txt))))
(add-after 'build-and-install-docs 'install-shell-completions
(lambda _ (lambda _
(let* ((etc (string-append #$output "/etc")) (let ((etc (string-append #$output "/etc"))
(share (string-append #$output "/share")) (share (string-append #$output "/share")))
(bash (string-append etc "/bash_completion.d"))
(zsh (string-append share "/zsh/site-functions"))
(fish (string-append share "/fish/vendor_completions.d")))
(with-directory-excursion "scripts/shell_completions" (with-directory-excursion "scripts/shell_completions"
(install-file "bash/borg" bash) (install-file "bash/borg"
(install-file "zsh/_borg" zsh) (string-append etc "/bash_completion.d"))
(install-file "fish/borg.fish" fish)))))))) (install-file "zsh/_borg"
(string-append share "/zsh/site-functions"))
(install-file "fish/borg.fish"
(string-append share "/fish/vendor_completions.d")))))))))
(native-inputs (native-inputs
(list python-cython (list python-cython
python-guzzle-sphinx-theme python-dateutil
python-pkgconfig
python-pytest python-pytest
python-pytest-benchmark python-pytest-benchmark
python-pytest-xdist python-pytest-xdist
python-setuptools python-setuptools
python-setuptools-scm python-setuptools-scm
python-sphinx python-wheel))
python-sphinxcontrib-jquery))
(inputs (inputs
(list acl (list acl
lz4 lz4
openssl openssl
python-msgpack ;; This is the latest version of msgpack accepted by 'setup.py'.
python-msgpack-for-borg
;; FUSE 3 isn't working well, so we stick with FUSE 2 for now: ;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
;; <https://issues.guix.gnu.org/53407> ;; <https://issues.guix.gnu.org/53407>
python-llfuse python-llfuse
python-packaging
xxhash xxhash
`(,zstd "lib"))) `(,zstd "lib")))
(synopsis "Deduplicated, encrypted, authenticated and compressed backups") (synopsis "Deduplicated, encrypted, authenticated and compressed backups")
@@ -897,7 +893,7 @@ is like a time machine for your data.")
(define-public restic (define-public restic
(package (package
(name "restic") (name "restic")
(version "0.18.1") (version "0.17.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -906,7 +902,7 @@ is like a time machine for your data.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0gxhknn022bwg2s8hababqg3vjkzflq59vr67y7r1c8fjnlsgf4l")))) (base32 "1wsgq7f0bfi0i5iiwcc3hlf2lhxcnz3zfs8p8bc6l913r9hvyg1x"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@@ -915,18 +911,15 @@ is like a time machine for your data.")
#:import-path "github.com/restic/restic/cmd/restic" #:import-path "github.com/restic/restic/cmd/restic"
#:unpack-path "github.com/restic/restic" #:unpack-path "github.com/restic/restic"
#:embed-files #~(list "children" "nodes" "text") #:embed-files #~(list "children" "nodes" "text")
#:test-flags
;; Python is required.
#~(list "-skip" "TestStdinFromCommand|TestStdinFromCommandNoOutput")
#:test-subdirs #~(list "../../...") #:test-subdirs #~(list "../../...")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-python-path
(lambda* (#:key inputs unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* "cmd/restic/cmd_backup_integration_test.go"
(("python")
(search-input-file inputs "/bin/python3"))))))
(add-after 'install 'install-docs (add-after 'install 'install-docs
(lambda* (#:key unpack-path #:allow-other-keys) (lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path) (with-directory-excursion (string-append "src/" import-path)
(let* ((man "/share/man") (let* ((man "/share/man")
(man-section (string-append man "/man"))) (man-section (string-append man "/man")))
;; Install all the man pages to "out". ;; Install all the man pages to "out".
@@ -949,12 +942,12 @@ is like a time machine for your data.")
go-github-com-cenkalti-backoff-v4 go-github-com-cenkalti-backoff-v4
go-github-com-cespare-xxhash-v2 go-github-com-cespare-xxhash-v2
go-github-com-elithrar-simple-scrypt go-github-com-elithrar-simple-scrypt
;; go-github-com-go-ole-go-ole ;Windows only ;; go-github-com-go-ole-go-ole ;windows only
go-github-com-google-go-cmp go-github-com-google-go-cmp
go-github-com-hashicorp-golang-lru-v2 go-github-com-hashicorp-golang-lru-v2
go-github-com-klauspost-compress go-github-com-klauspost-compress
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-minio-minio-go-v7 go-github-com-minio-minio-go-v7
go-github-com-minio-sha256-simd
go-github-com-ncw-swift-v2 go-github-com-ncw-swift-v2
go-github-com-peterbourgon-unixtransport go-github-com-peterbourgon-unixtransport
go-github-com-pkg-errors go-github-com-pkg-errors
@@ -974,7 +967,6 @@ is like a time machine for your data.")
go-golang-org-x-text go-golang-org-x-text
go-golang-org-x-time go-golang-org-x-time
go-google-golang-org-api go-google-golang-org-api
python-minimal
;; XXX: These packages have to be bootstrapped to break cycle with ;; XXX: These packages have to be bootstrapped to break cycle with
;; go-google-golang-org-grpc. ;; go-google-golang-org-grpc.
@@ -1268,9 +1260,10 @@ compression parameters used by Gzip.")
(define-public borgmatic (define-public borgmatic
(package (package
(name "borgmatic") (name "borgmatic")
(version "2.1.5") (version "2.1.2")
(source (source
(origin (origin
;; PyPI archive does not contain NEWS file needed for one test.
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://projects.torsion.org/borgmatic-collective/borgmatic") (url "https://projects.torsion.org/borgmatic-collective/borgmatic")
@@ -1278,11 +1271,10 @@ compression parameters used by Gzip.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"17i15ysg0wbcnfvki8wz2z9gx3zx99czv3czjh83y2m1xppvqbl5")))) "0vrpl21n6hf3pj0di4n7s36jq64sx24c93j48cmbdgczs8jiwi36"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
;; tests: 2609 passed
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'configure (add-after 'unpack 'configure
@@ -1297,12 +1289,19 @@ compression parameters used by Gzip.")
(("(module.get_local_path.+ == )'borg'" all start) (("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'" (string-append start "'"
(search-input-file inputs "bin/borg") (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 (native-inputs
(list python-flexmock (list python-flexmock
python-pytest python-pytest
python-pytest-timeout python-pytest-cov
python-setuptools)) python-setuptools
python-wheel))
(inputs (inputs
(list borg (list borg
python-apprise python-apprise
@@ -1364,9 +1363,9 @@ borgmatic is powered by borg.")
(assoc-ref qt:%standard-phases 'qt-wrap))))) (assoc-ref qt:%standard-phases 'qt-wrap)))))
(native-inputs (native-inputs
(list python-platformdirs (list python-platformdirs
python-pytest
python-pytest-mock python-pytest-mock
python-pytest-qt python-pytest-qt
python-pytest-runner
python-setuptools python-setuptools
python-setuptools-git)) python-setuptools-git))
(inputs (inputs
+16 -21
View File
@@ -13,7 +13,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl> ;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Sughosha <sughosha@disroot.org> ;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2023 Advanced Micro Devices, Inc. ;;; Copyright © 2023 Advanced Micro Devices, Inc.
;;; ;;;
@@ -44,6 +44,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (gnu packages) #:use-module (gnu packages)
@@ -679,26 +680,20 @@ the user is too low. To raise such limit on a Guix System, refer to
"0ifnw8vnkcgrksx7g5d9ii4kjppqnk32lvrybdybmibyvag6zfdc")))) "0ifnw8vnkcgrksx7g5d9ii4kjppqnk32lvrybdybmibyvag6zfdc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:tests? #f ; no tests `(#:tests? #f ; no tests
#:make-flags #:phases
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration" (modify-phases %standard-phases
(string-append "CC=" #$(cc-for-target))) (add-after 'unpack 'fix-broken-makefile
#:phases (lambda _
#~(modify-phases %standard-phases ;; Remove erroneous "-lm" target
(add-after 'unpack 'fix-broken-makefile (substitute* "Makefile"
(lambda _ (("hackbench.o -lm") "hackbench.o"))))
;; Remove erroneous "-lm" target (delete 'configure)
(substitute* "Makefile" (replace 'install
(("hackbench.o -lm") "hackbench.o")))) (lambda* (#:key outputs #:allow-other-keys)
(delete 'configure) (let ((out (assoc-ref outputs "out")))
(replace 'install (install-file "interbench" (string-append out "/bin"))
(lambda _ (install-file "interbench.8" (string-append out "/share/man/man8"))))))))
(install-file "interbench"
(string-append #$output "/bin"))
(install-file "interbench.8"
(string-append #$output
"/share/man/man8")))))))
(native-inputs (list gcc-10))
(home-page "http://users.on.net/~ckolivas/interbench/") (home-page "http://users.on.net/~ckolivas/interbench/")
(synopsis "Interactivity benchmark") (synopsis "Interactivity benchmark")
(description "interbench is designed to benchmark interactivity on Linux. (description "interbench is designed to benchmark interactivity on Linux.
+1599 -1715
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -28,7 +28,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public bison (define-public bison
+14 -15
View File
@@ -86,6 +86,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
@@ -360,18 +361,18 @@ Transmission BitTorrent daemon.")
(name "aria2") (name "aria2")
(version "1.37.0") (version "1.37.0")
(source (origin (source (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (string-append "https://github.com/aria2/aria2/releases/"
(url "https://github.com/aria2/aria2") "download/release-" version
(commit (string-append "release-" version)))) "/aria2-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1yr9yxr7z3bdg51afpzj0i63xl2rdk1prl20qws21y6r1x58vf65")) "0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
(file-name (git-file-name name version))
(patches (search-patches "aria2-unbundle-wslay.patch")) (patches (search-patches "aria2-unbundle-wslay.patch"))
(snippet (snippet
#~(begin (use-modules (guix build utils)) #~(begin (use-modules (guix build utils))
(delete-file-recursively "deps"))))) (delete-file-recursively "deps")
(delete-file "configure")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@@ -381,13 +382,10 @@ Transmission BitTorrent daemon.")
#$output "/etc/bash_completion.d/")) #$output "/etc/bash_completion.d/"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'update-gettext-version (add-after 'unpack 'patch-configure
(lambda _ (lambda _
(substitute* "configure.ac" (substitute* "configure.ac"
(("AM_GNU_GETTEXT_VERSION\\(.*\\)") (("0[.]18") "0.19.6"))))
(format #f "AM_GNU_GETTEXT_VERSION([~a])"
#$(package-version (this-package-native-input
"gettext-minimal")))))))
(add-after 'unpack 'delete-socket-tests (add-after 'unpack 'delete-socket-tests
(lambda _ (lambda _
(substitute* "test/LpdMessageDispatcherTest.cc" (substitute* "test/LpdMessageDispatcherTest.cc"
@@ -419,6 +417,8 @@ Transmission BitTorrent daemon.")
"Aria2 is a lightweight, multi-protocol & multi-source command-line "Aria2 is a lightweight, multi-protocol & multi-source command-line
download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
(properties
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
(license license:gpl2+))) (license license:gpl2+)))
(define-public uget (define-public uget
@@ -533,9 +533,8 @@ and will take advantage of multiple processor cores where possible.")
(inputs (list boost-1.83 openssl)) (inputs (list boost-1.83 openssl))
(native-inputs (native-inputs
(list libfaketime (list libfaketime
pkg-config python-wrapper
python-setuptools pkg-config))
python-wrapper))
(home-page "https://www.libtorrent.org/") (home-page "https://www.libtorrent.org/")
(synopsis "Feature-complete BitTorrent implementation") (synopsis "Feature-complete BitTorrent implementation")
(description (description
+2 -2
View File
@@ -334,7 +334,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements (define-public book-emacs-lisp-elements
(package (package
(name "book-emacs-lisp-elements") (name "book-emacs-lisp-elements")
(version "2.0.4") (version "2.0.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -343,7 +343,7 @@ parallel study, and original language study.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "06mhrb16h93n3s3srcfgmzsyh2lxx4ffj1di6qvczfg4039pi3c8")))) (base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
(list (list
+37 -53
View File
@@ -83,6 +83,9 @@
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
#:imported-modules %pyproject-build-system-modules
#:modules `(((guix build pyproject-build-system) #:select (python-version))
,@%default-gnu-modules)
#:tests? #f #:tests? #f
#:configure-flags #:configure-flags
#~(let ((icu (dirname (dirname (search-input-file #~(let ((icu (dirname (dirname (search-input-file
@@ -91,26 +94,17 @@
;; Auto-detection looks for ICU only in traditional ;; Auto-detection looks for ICU only in traditional
;; install locations. ;; install locations.
(string-append "--with-icu=" icu) (string-append "--with-icu=" icu)
;; Ditto for Python. The Gexp can't be evaluated if python is not ;; Ditto for Python.
;; in the inputs (e.g. boost-for-mysql), so delay its evaluation #$@(if (%current-target-system)
;; after checking for python, rather than concurrently. #~()
#$@(force #~((let ((python (dirname (dirname (search-input-file
(if (or (%current-target-system) %build-inputs
(not (this-package-input "python-minimal-wrapper"))) "bin/python")))))
(delay (string-append "--with-python-root=" python)
#~()) (string-append "--with-python=" python
(delay "/bin/python")
#~((let ((python (dirname (dirname (search-input-file (string-append "--with-python-version="
%build-inputs (python-version python)))))
"bin/python")))))
(string-append "--with-python-root=" python)
(string-append "--with-python=" python
"/bin/python")
(string-append "--with-python-version="
#$(version-major+minor
(package-version
(this-package-input
"python-minimal-wrapper")))))))))
"--with-toolset=gcc")) "--with-toolset=gcc"))
#:make-flags #:make-flags
#~(list "threading=multi" "link=shared" #~(list "threading=multi" "link=shared"
@@ -206,39 +200,29 @@
(replace 'install (replace 'install
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "./b2" "install" make-flags))) (apply invoke "./b2" "install" make-flags)))
#$@(force ; See above for why the force is necessary. #$@(if (%current-target-system)
(if (or (%current-target-system) #~()
(not (this-package-input "python-minimal-wrapper"))) #~((add-after 'install 'provide-libboost_python
(delay (lambda* (#:key make-flags inputs outputs #:allow-other-keys)
#~()) (let* ((static? (member "link=static" make-flags))
(delay (libext (if static? ".a" ".so"))
#~((add-after 'install 'provide-libboost_python (python (dirname (dirname (search-input-file
(lambda* (#:key make-flags inputs outputs inputs "bin/python"))))
#:allow-other-keys) (python-version (python-version python))
(let* ((static? (member "link=static" make-flags)) (libboost_pythonNN
(ext (if static? ".a" ".so")) (string-append "libboost_python"
(python (dirname (string-join (string-split
(dirname (search-input-file python-version #\.)
inputs "bin/python")))) "")
(python-version libext)))
#$(version-major+minor (with-directory-excursion (string-append #$output "/lib")
(package-version (symlink libboost_pythonNN
(this-package-input (string-append "libboost_python" libext))
"python-minimal-wrapper")))) ;; Some packages only look for the major version.
(NN (string-join (string-split (symlink libboost_pythonNN
python-version #\.) (string-append "libboost_python"
"")) (string-take python-version 1)
(libboost_pythonNN libext)))))))))))
(string-append "libboost_python" NN ext))
(major (string-take python-version 1)))
(with-directory-excursion
(string-append #$output "/lib")
(symlink libboost_pythonNN
(string-append "libboost_python" ext))
;; Some packages only look for the major version.
(symlink libboost_pythonNN
(string-append "libboost_python"
major ext)))))))))))))
(inputs (inputs
(append (append
(list icu4c zlib) (list icu4c zlib)
+54 -59
View File
@@ -48,14 +48,13 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages disk) #:use-module (gnu packages disk)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom) #:use-module (gnu packages cdrom)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cross-base) #:use-module (gnu packages cross-base)
#:use-module (gnu packages disk) #:use-module (gnu packages disk)
#:use-module (gnu packages firmware) #:use-module (gnu packages firmware)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@@ -66,6 +65,7 @@
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages mtools) #:use-module (gnu packages mtools)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@@ -267,8 +267,8 @@
;; rebooting. ;; rebooting.
(if (member (or (%current-target-system) (if (member (or (%current-target-system)
(%current-system)) (%current-system))
(package-supported-systems fuse)) (package-supported-systems fuse-2))
(list fuse) (list fuse-2)
'()))) '())))
(native-inputs (native-inputs
(append (list pkg-config (append (list pkg-config
@@ -1815,68 +1815,63 @@ For more information, refer to
(define-public os-prober (define-public os-prober
(package (package
(name "os-prober") (name "os-prober")
(version "1.84") (version "1.81")
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
(url "https://salsa.debian.org/installer-team/os-prober.git") version ".tar.xz"))
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1bji3w6nbqaz8zqrbmy8b1j5dph9xn7bdh1cd2z8ia1q125i6mgp")))) (base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list `(#:modules ((guix build gnu-build-system)
#:tests? #f ; No tests.
#:modules '((guix build gnu-build-system)
(guix build utils) (guix build utils)
(ice-9 regex) ; string-match (ice-9 regex) ; for string-match
(srfi srfi-26)) ; cut (srfi srfi-26)) ; for cut
#:make-flags #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))) (list ,(string-append "CC=" (cc-for-target)))
#:phases #:tests? #f ; no tests
#~(modify-phases %standard-phases #:phases
(replace 'configure (modify-phases %standard-phases
(lambda _ (replace 'configure
(substitute* (find-files ".") (lambda* (#:key outputs #:allow-other-keys)
(("/usr") #$output)) (substitute* (find-files ".")
(substitute* (find-files "." "50mounted-tests$") (("/usr") (assoc-ref outputs "out")))
(("mkdir") "mkdir -p -v")))) (substitute* (find-files "." "50mounted-tests$")
(replace 'install (("mkdir") "mkdir -p"))))
(lambda _ (replace 'install
(define (find-files-non-recursive directory) (lambda* (#:key outputs #:allow-other-keys)
(find-files directory (define (find-files-non-recursive directory)
(lambda (file stat) (find-files directory
(string-match (string-append "^" directory "/[^/]*$") (lambda (file stat)
file)) (string-match (string-append "^" directory "/[^/]*$")
#:directories? #t)) file))
#:directories? #t))
(let ((bin (string-append #$output "/bin")) (let* ((out (assoc-ref outputs "out"))
(lib (string-append #$output "/lib")) (bin (string-append out "/bin"))
(share (string-append #$output "/share"))) (lib (string-append out "/lib"))
(for-each (cut install-file <> bin) (share (string-append out "/share")))
(list "linux-boot-prober" "os-prober")) (for-each (cut install-file <> bin)
(install-file "newns" (string-append lib "/os-prober")) (list "linux-boot-prober" "os-prober"))
(install-file "common.sh" (string-append share "/os-prober")) (install-file "newns" (string-append lib "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx" (install-file "common.sh" (string-append share "/os-prober"))
(string-append lib "/os-probes/mounted")) (install-file "os-probes/mounted/powerpc/20macosx"
(for-each (string-append lib "/os-probes/mounted"))
(lambda (directory) (for-each
(for-each (lambda (directory)
(lambda (file) (for-each
(let ((destination (string-append lib "/" directory (lambda (file)
"/" (basename file)))) (let ((destination (string-append lib "/" directory
(mkdir-p (dirname destination)) "/" (basename file))))
(copy-recursively file destination))) (mkdir-p (dirname destination))
(append (find-files-non-recursive (string-append directory "/common")) (copy-recursively file destination)))
(find-files-non-recursive (string-append directory "/x86"))))) (append (find-files-non-recursive (string-append directory "/common"))
(list "linux-boot-probes" (find-files-non-recursive (string-append directory "/x86")))))
"linux-boot-probes/mounted" (list "os-probes" "os-probes/mounted" "os-probes/init"
"os-probes" "linux-boot-probes" "linux-boot-probes/mounted"))))))))
"os-probes/init" (home-page "https://joeyh.name/code/os-prober")
"os-probes/mounted"))))))))
(home-page "https://joeyh.name/code/os-prober/")
(synopsis "Detect other operating systems") (synopsis "Detect other operating systems")
(description "os-prober probes disks on the system for other operating (description "os-prober probes disks on the system for other operating
systems so that they can be added to the bootloader. It also works out how to systems so that they can be added to the bootloader. It also works out how to
+4 -53
View File
@@ -69,55 +69,6 @@ match website theme.")
(define-public adaptive-tab-bar-colour/icecat (define-public adaptive-tab-bar-colour/icecat
(make-icecat-extension adaptive-tab-bar-colour)) (make-icecat-extension adaptive-tab-bar-colour))
(define canvasblocker
(package
(name "canvasblocker")
(version "1.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kkapsner/CanvasBlocker")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xxs6s7nrl4y4qiw2cpkqh170mbv78n0ixd874a72jjvczw2vpg7"))
(modules '((guix build utils) (ice-9 match) (ice-9 ftw)))
(snippet
#~(begin
(for-each delete-file
'("canvasblocker.xpi" "package-lock.json"))
;; Delete all hidden files/directories except .tools.
(for-each
(match-lambda
((or "." ".tools" ".."
(? (lambda (name)
(not (string-prefix? "." name)))))
#t)
((? file-is-directory? dir)
(delete-file-recursively dir))
(file
(delete-file file)))
(scandir "."))))))
(build-system copy-build-system)
(properties '((addon-id . "CanvasBlocker@kkapsner.de")))
(arguments
(list
#:install-plan ;deduced from .tools/build.js
#~'(("." #$(assq-ref properties 'addon-id)
#:exclude ("crowdin.yml" "package.json" "releaseNotes.txt")
#:exclude-regexp ("test/.*" "versions/.*" ".tools/*")))))
(home-page "https://github.com/kkapsner/CanvasBlocker")
(synopsis "Firefox extension to protect from being fingerprinted")
(description "This extension allows users to prevent websites from using
some Javascript APIs to fingerprint them. Users can choose to block the APIs
entirely on some or all websites (which may break some websites) or just block
or fake its fingerprinting-friendly readout API.")
(license license:mpl2.0)))
(define-public canvasblocker/icecat
(make-icecat-extension canvasblocker))
(define play-to-kodi (define play-to-kodi
(package (package
(name "play-to-kodi") (name "play-to-kodi")
@@ -312,7 +263,7 @@ fill and submit login forms if a matching password entry is found.")
(define keepassxc-browser (define keepassxc-browser
(package (package
(name "keepassxc-browser") (name "keepassxc-browser")
(version "1.9.10") (version "1.9.9.6")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -322,7 +273,7 @@ fill and submit login forms if a matching password entry is found.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"18kgmdvsq1kv9px8a1m7i10r4m0iik72qlnw9k2ijxmn1xikfyfb")) "1chw1y1332zn69s7kf5mkljc1bp2xfvl3zzvafnalv3zj2jsa5cs"))
;; Default 'manifest.json' targets chromium based browsers and ;; Default 'manifest.json' targets chromium based browsers and
;; depends on background.service_worker support. ;; depends on background.service_worker support.
;; See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1573659> ;; See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1573659>
@@ -377,7 +328,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define noscript (define noscript
(package (package
(name "noscript") (name "noscript")
(version "13.6.19.1984") (version "13.6.18.1984")
(source (origin (source (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
(uri (string-append (uri (string-append
@@ -385,7 +336,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
version ".xpi")) version ".xpi"))
(sha256 (sha256
(base32 (base32
"1lb3855w34avs7idvycv8cfpjnpic2mnsh9yqkidrdw7msr0na74")))) "0assv8v89hhg302q81vvv7ln3q8k9m6rzjkbprv2j05ghb23kkvm"))))
(build-system copy-build-system) (build-system copy-build-system)
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}"))) (properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
(arguments (arguments
+8 -151
View File
@@ -64,6 +64,7 @@
#:use-module (gnu packages logging) #:use-module (gnu packages logging)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@@ -76,7 +77,6 @@
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages regex) #:use-module (gnu packages regex)
#:use-module (gnu packages rpc) #:use-module (gnu packages rpc)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
@@ -94,6 +94,7 @@
#:use-module (guix build-system hare) #:use-module (guix build-system hare)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix deprecation) #:use-module (guix deprecation)
#:use-module (guix download) #:use-module (guix download)
@@ -104,8 +105,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix search-paths) #:use-module (guix search-paths)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (ice-9 optargs) #:use-module (ice-9 optargs))
#:use-module (srfi srfi-1))
(define-public acr (define-public acr
(package (package
@@ -275,14 +275,14 @@ generate such a compilation database.")
(define-public bmake (define-public bmake
(package (package
(name "bmake") (name "bmake")
(version "20260508") (version "20260406")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz")) "http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256 (sha256
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv")) (base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
(patches (search-patches "bmake-run-check-separately.patch")))) (patches (search-patches "bmake-run-check-separately.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
@@ -432,8 +432,9 @@ files and generates build instructions for the Ninja build system.")
(arguments (arguments
(list (list
#:tests? #f ;disabled to avoid extra dependencies #:tests? #f ;disabled to avoid extra dependencies
;; Custom build steps to prevent using pyproject-build-system which ;; Essentially a lighter copy of the former python-build-system.
;; allows to edit the latter without a C++ world rebuild. ;; Using it rather than pyproject-build-system allows to edit the latter
;; without a C++ world rebuild.
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(delete 'bootstrap) (delete 'bootstrap)
@@ -1451,147 +1452,3 @@ It is an alternative to e.g. @command{make(1)} and @command{redo(1)}. Features:
@end itemize @end itemize
") ")
(license license:wtfpl2))) (license license:wtfpl2)))
(define-public xmake
(package
(name "xmake")
(version "3.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xmake-io/xmake.git")
(commit (string-append "v" version))
;; Requires some dependencies from "xmake-core-*" repos
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1pdjz52w9lzfbcpx9wmzy0bsjg7i19xz43f63czk7jz9v0xba6gi"))))
(build-system gnu-build-system)
(arguments
(list
;; No check rule in make
;; TODO: find how to run Lua tests in "test" directory
#:tests? #f))
(home-page "https://xmake.io/")
(synopsis "Cross-platform build utility based on Lua")
(description "@command{xmake} is a cross-platform build utility based on Lua.
Features:
@itemize
@item Built-in caching and parallel compilation,
@item Concise Lua syntax,
@item Custom rules, plugins and modules,
@item Support for C++20 modules and compile_commands.json,
@item Support for languages outside C/C++ (e.g. Go, Rust, Zig).
@end itemize")
(license license:asl2.0)))
(define-public ninja/pinned
(hidden-package
(package
(name "ninja")
(version "1.13.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ninja-build/ninja")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lp9dmxbjyjwv089i8mgq3nvnhpbnsn01ifm05m9s47w7cifrl8g"))))
(build-system gnu-build-system)
(inputs (list python-wrapper re2c))
(arguments
'(; Tests now require googletest, which is a circular dependency.
#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "src/subprocess-posix.cc"
(("/bin/sh") (which "sh")))
(substitute* "src/subprocess_test.cc"
(("/bin/echo") (which "echo")))))
(replace 'build
(lambda _
(invoke "./configure.py" "--bootstrap")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./configure.py")
(invoke "./ninja" "ninja_test")
(invoke "./ninja_test"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/ninja")))
(install-file "ninja" bin)
(install-file "doc/manual.asciidoc" doc)))))))
(home-page "https://ninja-build.org/")
(synopsis "Small build system")
(description
"Ninja is a small build system with a focus on speed. It differs from
other build systems in two major respects: it is designed to have its input
files generated by a higher-level build system, and it is designed to run
builds as fast as possible.")
(license license:asl2.0))))
(define-public ninja
(package/inherit ninja/pinned
(properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
(define-public samurai
(package
(name "samurai")
(version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/michaelforney/samurai")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"04iw18hgkm72yrl83a2xh1jc47w9rilpb95kwick0j37b4q3gxj4"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.c"
(("/bin/sh")
(search-input-file inputs "bin/sh")))))
(delete 'configure))))
(inputs (list bash-minimal))
(home-page "https://github.com/michaelforney/samurai")
(synopsis "Ninja-compatible build tool written in C")
(description "@code{samurai} is a ninja-compatible build tool written in
C99 with a focus on simplicity, speed, and portability. It is
feature-complete and supports most of the same options as ninja. This package
provides the command @command{samu}. For a @command{ninja} command
replacement, use the @code{samu-as-ninja-wrapper} package.")
(license (list license:asl2.0 ;for the most part
license:expat)))) ;htab.h, htab.c and tree.c
(define-public samu-as-ninja-wrapper
(package/inherit samurai
(name "samu-as-ninja-wrapper")
(build-system trivial-build-system)
(arguments
(list #:builder
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((bindir (string-append #$output "/bin"))
(samu (string-append #$(this-package-input "samurai")
"/bin/samu")))
(mkdir-p bindir)
(symlink samu (string-append bindir "/ninja")))))))
(inputs (list samurai))
(description "This package provides the @command{ninja} command,
implemented as a symbolic link to the @command{samu} command of @code{samurai}
package.")))
+47 -47
View File
@@ -47,7 +47,6 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
@@ -55,6 +54,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix store) #:use-module (guix store)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
@@ -62,7 +62,7 @@
#:use-module (gnu packages bootstrap) #:use-module (gnu packages bootstrap)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@@ -81,7 +81,6 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
@@ -1094,8 +1093,32 @@ portability.")
(license (list license:bsd-2 ;all files except... (license (list license:bsd-2 ;all files except...
license:bsd-3)))) ;...the unidef.1 manual page license:bsd-3)))) ;...the unidef.1 manual page
(define-deprecated/public-alias byacc (define-public byacc
(@ (gnu packages compiler-tools) byacc)) (package
(name "byacc")
(version "20240109")
(source (origin
(method url-fetch)
(uri (string-append
"https://invisible-mirror.net/archives/byacc/byacc-"
version ".tgz"))
(sha256
(base32
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
(snippet
#~(begin (delete-file "btyaccpar.c")
(delete-file "yaccpar.c")))))
(native-inputs
(list gawk))
(build-system gnu-build-system)
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
(description
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
specification from a file and generates an LALR(1) parser for it. The parsers
consist of a set of LALR(1) parsing tables and a driver routine written in the
C programming language.")
(license license:public-domain)))
(define-public argparse (define-public argparse
(package (package
@@ -1304,6 +1327,25 @@ for the @acronym{AWS,Amazon Web Services} SDK.")
(home-page "https://github.com/awslabs/aws-c-sdkutils") (home-page "https://github.com/awslabs/aws-c-sdkutils")
(license license:asl2.0))) (license license:asl2.0)))
(define-public pcl
(package
(name "pcl")
(version "1.12")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.xmailserver.org/pcl-" version ".tar.gz"))
(sha256
(base32
"06ly65rq4iyj2p4704i215c8y4rgspwl8sxfaifmf4ahfr30bcz7"))))
(build-system gnu-build-system)
(home-page "http://www.xmailserver.org/libpcl.html")
(synopsis "Portable Coroutine Library")
(description "The @acronym{PCL, Portable Coroutine Library} implements the
low level functionality for coroutines.")
(license license:gpl2+)))
(define-public aws-c-http (define-public aws-c-http
(package (package
(name "aws-c-http") (name "aws-c-http")
@@ -1477,48 +1519,6 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(home-page "https://microsoft.github.io/mimalloc/") (home-page "https://microsoft.github.io/mimalloc/")
(license license:expat))) (license license:expat)))
(define-public mps
(package
(name "mps")
(version "1.118.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Ravenbrook/mps")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "078iv3fsz0dnfwb7g63apkvcksczbqfxrxm73k80jwnwca6pgafy"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-cflags
;; The recursive make call in the test suite doesn't pass CFLAGS
;; down properly so we need to do it ourselves
(lambda _
(substitute* "Makefile.in"
(("CFLAGS=\"(.*)\"" _ flags)
(string-append "CFLAGS=\"" flags " $(CFLAGS)\""))))))
#:parallel-build? #f ;Parallel build fails
#:test-target "test"
#:make-flags
#~(list "CFLAGS=-Wno-error=dangling-pointer -Wno-maybe-uninitialized"
;; These flags are needed for the recursive make calls in testing
(string-append "CC=" #$(cc-for-target)) "-j" "1")))
(inputs (list sqlite))
(home-page "http://www.ravenbrook.com/project/mps")
(synopsis "Memory pool system")
(description
"This package provides a cross-platform memory management system. It
permits the flexible combination of memory management techniques, supporting
manual and automatic memory management, in-line allocation, finalization,
weakness, and multiple concurrent co-operating incremental generational
garbage collections. It also includes a library of memory pool classes
implementing specialized memory management policies.")
(license license:bsd-2)))
;;; The package is named orangeduck-mpc to differentiate it from GNU mpc. ;;; The package is named orangeduck-mpc to differentiate it from GNU mpc.
(define-public orangeduck-mpc (define-public orangeduck-mpc
;; The last release lacks an 'install' target. ;; The last release lacks an 'install' target.
+1
View File
@@ -45,6 +45,7 @@
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
+23 -11
View File
@@ -52,7 +52,7 @@
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
@@ -337,7 +337,7 @@ reconstruction capability.")
(define-public cdrdao (define-public cdrdao
(package (package
(name "cdrdao") (name "cdrdao")
(version "1.2.6") (version "1.2.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -347,18 +347,30 @@ reconstruction capability.")
(string-append "rel_" (string-replace-substring version "." "_"))))) (string-append "rel_" (string-replace-substring version "." "_")))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0hb8dfb88zk01yk5nfl8m5hsg4x2scb2899pxb717zywznr8jijw")))) (base32 "1hh1lm4wr1vhsq2brczn94h88h3bppvjidj9cfqkl20jhaj38968"))))
(build-system glib-or-gtk-build-system) (build-system gnu-build-system)
(arguments (arguments
(list '(#:configure-flags
#:configure-flags (list
#~(list ;; GCDMaster depends on obsolete libgnomeuimm, see
;; Use the native SCSI interface. ;; <https://github.com/cdrdao/cdrdao/issues/3>.
"--without-scglib"))) "--without-gcdmaster"
;; Use the native SCSI interface.
"--without-scglib")
#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'fix-configure.ac
(lambda _
;; Remove references to missing macros.
(substitute* "configure.ac"
(("^AM_GCONF_SOURCE_2.*") "")
;; This was introduced in autoconf-2.70, but is described
;; as usually not needed in the autoconf documentation.
(("^AC_CHECK_INCLUDES_DEFAULT") "")))))))
(native-inputs (native-inputs
(list autoconf-2.72 automake `(,glib "bin") pkg-config)) (list autoconf automake pkg-config))
(inputs (inputs
(list ao gtkmm-3 lame libmad libsigc++-2 libvorbis)) (list ao lame libmad libvorbis))
(home-page "https://cdrdao.sourceforge.net") (home-page "https://cdrdao.sourceforge.net")
(synopsis "Read and write CDs in disk-at-once mode") (synopsis "Read and write CDs in disk-at-once mode")
(description "cdrdao records audio or data CDs in disk-at-once (DAO) mode, (description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,
+49 -18
View File
@@ -131,6 +131,7 @@
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
@@ -1881,6 +1882,7 @@ http server.")
(arguments (list #:tests? #false)) ;no tests included (arguments (list #:tests? #false)) ;no tests included
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-pytest-cov
python-setuptools python-setuptools
python-wheel python-wheel
python-xmlschema)) python-xmlschema))
@@ -1913,6 +1915,42 @@ XML output")
decorators from external files.") decorators from external files.")
(license license:expat))) (license license:expat)))
(define-public python-pytest-random-order
(package
(name "python-pytest-random-order")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-random-order" version))
(sha256
(base32 "104hww3b86jchk41kjhyycr541pd2dfgqkww6lx5y70z9z9xfwj4"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; AttributeError: module 'py' has no attribute 'code'.
#~(list "-k" (string-append "not test_it_works_with_actual_tests"
" and not test_failed_first"
" and not test_doctests"))))
(native-inputs
(list python-pytest-xdist
python-setuptools
python-py
python-wheel))
(propagated-inputs
(list python-pytest))
(home-page "https://github.com/jbasko/pytest-random-order")
(synopsis "Pytest plugin to randomize the order of tests")
(description "@code{pytest-random-order} is a Pytest plugin that
randomizes the order of tests. This can be useful to detect a test that
passes just because it happens to run after an unrelated test that leaves the
system in a favourable state. The plugin allows user to control the level of
randomness they want to introduce and to disable reordering on subsets of
tests. Tests can be rerun in a specific order by passing a seed value
reported in a previous test run.")
(license license:expat)))
(define-public python-pytest-runner (define-public python-pytest-runner
(package (package
(name "python-pytest-runner") (name "python-pytest-runner")
@@ -2695,11 +2733,7 @@ failures and errors instantly.")
"test_is_not_identity" "test_is_not_identity"
"test_resolves_builtin_types[object]" "test_resolves_builtin_types[object]"
"test_resolves_forwardrefs_to_builtin_types[object]" "test_resolves_forwardrefs_to_builtin_types[object]"
"test_timezone_lookup[tzinfo]" "test_timezone_lookup[tzinfo]")
;; hypothesis.errors.FailedHealthCheck: Input generation is slow
#$@(if (target-riscv64?)
'("test_can_run_with_no_db")
'()))
" and not ")) " and not "))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@@ -2922,8 +2956,12 @@ mypy plugins.")
"and not upstream_url")))) "and not upstream_url"))))
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-pytest-black
python-pytest-checkdocs python-pytest-checkdocs
python-pytest-cov
python-pytest-enabler python-pytest-enabler
python-pytest-flake8
python-pytest-mypy
python-setuptools python-setuptools
python-wheel)) python-wheel))
(propagated-inputs (propagated-inputs
@@ -3030,28 +3068,21 @@ possible to write plugins to add your own checks.")
(define-public behave (define-public behave
(package (package
(name "behave") (name "behave")
;; 1.3.3 (2025-09-04), the latest changes provide support for Python (version "1.3.3")
;; 3.12+; move back to git tag when released.
(properties '((commit . "43d0a93240c0b25b0cbf59bdc196b74fb8a2353e")
(revision . "0")))
(version (git-version "1.3.3"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/behave/behave") (url "https://github.com/behave/behave")
(commit (assoc-ref properties 'commit)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "05671jf7scpgqr8chzgs9bxidvf12nlkqqiqxa5qwmykqfvc8nk4")))) (base32 "1fxj51kailsdakqi7qbw700k258n7r3lv75mgxs45ld5xh2jfyxh"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
;; tests: 1638 passed, 3 skipped, 2 xfailed
(native-inputs (native-inputs
(list python-chardet (list python-assertpy
python-freezegun python-chardet
python-charset-normalizer python-mock
python-path python-path
python-pyhamcrest python-pyhamcrest
python-pytest python-pytest
+2 -1
View File
@@ -28,6 +28,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
@@ -46,7 +47,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages fortran-xyz) #:use-module (gnu packages fortran-xyz)
+12 -11
View File
@@ -302,7 +302,7 @@ will name the threaded machine type unless THREADS? is provided as #f."
(name "chez-scheme-for-racket") (name "chez-scheme-for-racket")
;; The version should match `(scheme-version #t)`. ;; The version should match `(scheme-version #t)`.
;; See s/cmacros.ss c. line 360. ;; See s/cmacros.ss c. line 360.
(version "10.4.0-pre-release.1-1") ; expect a chez-nanopass-bootstrap update (version "10.3.0-pre-release.2") ; expect a chez-nanopass-bootstrap update
(source #f) (source #f)
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(,@(if (nix-system->native-chez-machine-type) (inputs `(,@(if (nix-system->native-chez-machine-type)
@@ -507,7 +507,7 @@ version of Chez Scheme.")
(name "chez-scheme") (name "chez-scheme")
;; The version should match `(scheme-version-number #t)`. ;; The version should match `(scheme-version-number #t)`.
;; See s/cmacros.ss c. line 360. ;; See s/cmacros.ss c. line 360.
(version "10.4.0") ; expect a chez-nanopass-bootstrap update (version "10.2.0") ; expect a chez-nanopass-bootstrap update
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -515,7 +515,7 @@ version of Chez Scheme.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"079vlkl27qdvsg1rsynmd828m42n98c2dnldkhsxf2slfsqd9kv5")) "14iv4kfkyvrkigr1n2prf71n2l3vs0sf0549rvh6y4x2faa2l329"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(patches (search-patches "chez-scheme-bin-sh.patch")) (patches (search-patches "chez-scheme-bin-sh.patch"))
(snippet #~(begin (snippet #~(begin
@@ -840,9 +840,9 @@ User's Guix}, among other documents.")
(define-public chez-nanopass-bootstrap (define-public chez-nanopass-bootstrap
(hidden-package (hidden-package
(package (package
(name "chez-nanopass-bootstrap") (name "chez-nanopass")
(version "1.9.4") (version "1.9.2")
(properties '((chez-nanopass-release-date . "December 29, 2025"))) (properties `((chez-nanopass-release-date . "October 18, 2020")))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -850,7 +850,7 @@ User's Guix}, among other documents.")
(url "https://github.com/nanopass/nanopass-framework-scheme") (url "https://github.com/nanopass/nanopass-framework-scheme")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0")) (base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i"))
(file-name (git-file-name "nanopass-framework-scheme" version)) (file-name (git-file-name "nanopass-framework-scheme" version))
(snippet (snippet
#~(begin #~(begin
@@ -929,9 +929,10 @@ create compilers, making them easier to understand and maintain.")
(define-public chez-nanopass (define-public chez-nanopass
(package (package
(inherit chez-nanopass-bootstrap) (inherit chez-nanopass-bootstrap)
(name "chez-nanopass") ;; This release has a significant bug fix. Expect the next releases of
(version "1.9.4") ;; chez-scheme{,-for-racket} to want this for chez-nanopass-bootstrap.
(properties '((chez-nanopass-release-date . "December 29, 2025"))) (version "1.9.3")
(properties '((chez-nanopass-release-date . "August 24, 2025")))
(source (source
(let ((bootstrap-origin (package-source chez-nanopass-bootstrap))) (let ((bootstrap-origin (package-source chez-nanopass-bootstrap)))
(origin (origin
@@ -940,7 +941,7 @@ create compilers, making them easier to understand and maintain.")
(url (git-reference-url (origin-uri bootstrap-origin))) (url (git-reference-url (origin-uri bootstrap-origin)))
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0")) (base32 "0757x3a3b4kcd3jk52h4ikqzv7cc1mvphlw592f0r5pz99bkxiin"))
(file-name (git-file-name "nanopass-framework-scheme" version))))) (file-name (git-file-name "nanopass-framework-scheme" version)))))
(native-inputs (list chez-scheme stex)))) (native-inputs (list chez-scheme stex))))
+47 -95
View File
@@ -20,113 +20,65 @@
(define-module (gnu packages chicken) (define-module (gnu packages chicken)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system chicken) #:use-module (guix build-system chicken)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix svn-download) #:use-module (guix svn-download)
#:use-module ((guix licenses) #:use-module ((guix licenses)
#:prefix license:) #:prefix license:))
#:use-module (srfi srfi-1))
;; This package is build from pre-built C source code, provided in the CHICKEN
;; release tarball. Based on this bootstrap compiler, we build CHICKEN from
;; the Scheme source, thus enabling us to (at least) patch it.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken-bootstrap
(hidden-package
(package
(name "chicken-bootstrap")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
pr oduces portable and efficient C, supports almost all of the R5RS Scheme
la nguage standard, and includes many enhancements and extensions.")
(license license:bsd-3))))
;; The CHICKEN compiler is itself written in CHICKEN, the CHICKEN release
;; tarballs includes auto-generated C code to mitigate the compiler
;; bootstrapping problem. To be able to patch the original Scheme source,
;; we compile from this Scheme source here using the chicken-bootstrap
;; compiler obtained from the autogenerated C code.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken (define-public chicken
(package (package
(inherit chicken-bootstrap)
(name "chicken") (name "chicken")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments (arguments
(substitute-keyword-arguments (package-arguments chicken-bootstrap) `(#:modules ((guix build gnu-build-system)
((#:phases phases) (guix build utils)
#~(modify-phases #$phases (srfi srfi-1))
;; CHICKEN contains auto-generated C code, remove it and
;; compile from the Scheme source using chicken-bootstrap. ;; No `configure' script; run "make check" after "make install" as
(add-after 'unpack 'remove-auto-generated-code ;; prescribed by README.
(lambda _ #:phases
(invoke "make" "spotless"))) (modify-phases %standard-phases
;; Invoke commands by name, not by path. (delete 'configure)
;; (delete 'check)
;; See <https://codeberg.org/guix/guix/issues/8471>. (add-after 'install 'check
(add-after 'unpack 'fix-paths (assoc-ref %standard-phases 'check)))
(lambda* (#:key inputs #:allow-other-keys)
(let ((sh (search-input-file inputs "/bin/sh")) #:make-flags (let ((out (assoc-ref %outputs "out")))
(cp (search-input-file inputs "/bin/cp"))) (list "PLATFORM=linux"
(substitute* "egg-compile.scm" (string-append "PREFIX=" out)
(("/bin/sh") sh) (string-append "VARDIR=" out "/var/lib")))
(("\"cp\"") (string-append "\"" cp "\"")))
(substitute* "posixunix.scm" ;; Parallel builds are not supported, as noted in README.
(("/bin/sh") sh)) #:parallel-build? #f))
(substitute* "chicken-install.scm" (native-search-paths
(("\"sh \"") (string-append "\"" sh " \"")))))))))) (list (search-path-specification
(inputs (list chicken-bootstrap)) (variable "CHICKEN_REPOSITORY_PATH")
(properties ;; TODO extract binary version into a module level definition.
(alist-delete 'hidden? (package-properties chicken-bootstrap))))) (files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
produces portable and efficient C, supports almost all of the R5RS Scheme
language standard, and includes many enhancements and extensions.")
(license license:bsd-3)))
(define-public chicken-compile-file (define-public chicken-compile-file
(package (package
+10 -4
View File
@@ -53,6 +53,7 @@
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node) #:use-module (gnu packages node)
#:use-module (gnu packages nss) #:use-module (gnu packages nss)
#:use-module (gnu packages pciutils) #:use-module (gnu packages pciutils)
@@ -78,9 +79,12 @@
'("base/third_party/cityhash" ;Expat '("base/third_party/cityhash" ;Expat
"base/third_party/double_conversion" ;BSD-3 "base/third_party/double_conversion" ;BSD-3
"base/third_party/icu" ;Unicode, X11-style "base/third_party/icu" ;Unicode, X11-style
"base/third_party/nspr" ;MPL-2.0
"base/third_party/superfasthash" ;BSD-3 "base/third_party/superfasthash" ;BSD-3
"base/third_party/symbolize" ;BSD-3 "base/third_party/symbolize" ;BSD-3
"base/third_party/xdg_user_dirs" ;Expat "base/third_party/xdg_user_dirs" ;Expat
"buildtools/third_party/libc++" ;BSD
"buildtools/third_party/libc++abi" ;BSD
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+ "net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"net/third_party/quiche" ;BSD-3 "net/third_party/quiche" ;BSD-3
"net/third_party/uri_template" ;ASL2.0 "net/third_party/uri_template" ;ASL2.0
@@ -218,6 +222,7 @@
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3 "third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
"third_party/libaom/source/libaom/third_party/vector" ;Expat "third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC "third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libc++" ;Expat
"third_party/libdrm" ; Expat "third_party/libdrm" ; Expat
"third_party/libgav1" ;ASL2.0 "third_party/libgav1" ;ASL2.0
"third_party/libjingle_xmpp" ;BSD-3 "third_party/libjingle_xmpp" ;BSD-3
@@ -243,6 +248,8 @@
"third_party/libzip" ;BSD-3 "third_party/libzip" ;BSD-3
"third_party/lit" ;BSD-3 "third_party/lit" ;BSD-3
"third_party/lit/v3_0" ;BSD-3 "third_party/lit/v3_0" ;BSD-3
"third_party/llvm-libc" ;ASL2.0
"third_party/llvm-libc/src/shared" ;ASL2.0
"third_party/lottie" ;Expat "third_party/lottie" ;Expat
"third_party/lss" ;BSD-3 "third_party/lss" ;BSD-3
"third_party/lzma_sdk" ;public domain "third_party/lzma_sdk" ;public domain
@@ -894,9 +901,8 @@
"libvk_swiftshader.so" "libvk_swiftshader.so"
"vk_swiftshader_icd.json" "vk_swiftshader_icd.json"
;; Chromium ships its own libGL and ;; Chromium ships its own libGL
;; vulkan implementation called ANGLE. ;; implementation called ANGLE.
"libvulkan.so.1"
"libEGL.so" "libGLESv2.so")) "libEGL.so" "libGLESv2.so"))
(locales (string-append lib "/locales")) (locales (string-append lib "/locales"))
(resources (string-append lib "/resources")) (resources (string-append lib "/resources"))
@@ -915,7 +921,7 @@
(("@@MENUNAME") "Chromium") (("@@MENUNAME") "Chromium")
(("@@PACKAGE") "chromium") (("@@PACKAGE") "chromium")
(("/usr/bin/@@usr_bin_symlink_name") exe) (("/usr/bin/@@usr_bin_symlink_name") exe)
(("@@uri_scheme") "x-scheme-handler/chromium;") (("@@uri_scheme") "x-scheme-handler/chromium")
(("@@extra_desktop_entries") "")) (("@@extra_desktop_entries") ""))
(mkdir-p man) (mkdir-p man)
+1
View File
@@ -30,6 +30,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
+34 -106
View File
@@ -23,24 +23,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages clojure) (define-module (gnu packages clojure)
#:use-module (gnu packages)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages maven) #:use-module (gnu packages maven)
#:use-module (gnu packages)
#:use-module (guix build-system ant)
#:use-module (guix build-system clojure)
#:use-module (guix build-system copy)
#:use-module (guix build-system go)
#:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)) #:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system copy)
#:use-module (guix build-system clojure))
(define-public clojure-spec-alpha (define-public clojure-spec-alpha
(package (package
@@ -382,14 +377,14 @@ designs.")
(define-public clojure-tools (define-public clojure-tools
(package (package
(name "clojure-tools") (name "clojure-tools")
(version "1.12.4.1618") (version "1.12.4.1582")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-" (uri (string-append "https://download.clojure.org/install/clojure-tools-"
version version
".tar.gz")) ".tar.gz"))
(sha256 (base32 "08fy3k248sbsrbgl0lq3q4d23vp4chdawy230ardx61sssk9sxhk")) (sha256 (base32 "08gzfblnz0zhnk6pwr9vcm6y168psgrwmqww3wqk1v7j5gr68n7x"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled ;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code. ;; Clojure source code.
(snippet (snippet
@@ -517,7 +512,7 @@ defining and using monads and useful monadic functions.")
(define-public clojure-core-async (define-public clojure-core-async
(package (package
(name "clojure-core-async") (name "clojure-core-async")
(version "1.9.865") (version "1.8.741")
(home-page "https://github.com/clojure/core.async") (home-page "https://github.com/clojure/core.async")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@@ -527,7 +522,7 @@ defining and using monads and useful monadic functions.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"15pc2m58fscix85gsiwl9dlvw2x6alvc4qni46rry2sr00nfzd3r")))) "1m6lir2xr119yxz483cz0rfw4k3a40qmmsiwl2y7kyxy65vab60z"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
'(#:source-dirs '("src/main/clojure") '(#:source-dirs '("src/main/clojure")
@@ -551,7 +546,7 @@ work on Communicating Sequential Processes (CSP).")
(define-public clojure-core-cache (define-public clojure-core-cache
(package (package
(name "clojure-core-cache") (name "clojure-core-cache")
(version "1.2.263") (version "1.2.249")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -560,7 +555,7 @@ work on Communicating Sequential Processes (CSP).")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"19q81aki8wb120v6jfylwqgf965mwkhrpcsrs5zazjfjv8vq6glx")))) "0hdwv5dsx49i12riz3frzshwkgw26ah43667lzga2n6zgpmrh8ii"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
'(#:source-dirs '("src/main/clojure") '(#:source-dirs '("src/main/clojure")
@@ -603,7 +598,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(define-public clojure-core-memoize (define-public clojure-core-memoize
(package (package
(name "clojure-core-memoize") (name "clojure-core-memoize")
(version "1.2.281") (version "1.2.273")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -612,7 +607,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0bnlqs7m69svhfadwy46wgc88j9ma9fhdk4586b4xxppamj6c5j4")))) "009fj19y464an66pryygmqbnx2dqk5wkp40rbkbgkir0ax0k6j3y"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
'(#:source-dirs '("src/main/clojure") '(#:source-dirs '("src/main/clojure")
@@ -739,7 +734,7 @@ maps also support conj/peek/pop operations.")
(define-public clojure-data-xml (define-public clojure-data-xml
(package (package
(name "clojure-data-xml") (name "clojure-data-xml")
(version "0.2.0-alpha11") (version "0.2.0-alpha10")
(home-page "https://github.com/clojure/data.xml") (home-page "https://github.com/clojure/data.xml")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@@ -749,7 +744,7 @@ maps also support conj/peek/pop operations.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0k7hq3s4zbk0ryhgycivl1dk22fzh60522a57az8ykmixhqjxwhg")))) "0mnhgrh20p2wwmq8a4631dkpxbgbijwi6sfhw5v784hzkjkfgkh6"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
'(#:source-dirs '("src/main/clojure") '(#:source-dirs '("src/main/clojure")
@@ -867,7 +862,7 @@ tree.
(define-public clojure-tools-analyzer (define-public clojure-tools-analyzer
(package (package
(name "clojure-tools-analyzer") (name "clojure-tools-analyzer")
(version "1.2.2") (version "1.2.1")
(home-page "https://github.com/clojure/tools.analyzer") (home-page "https://github.com/clojure/tools.analyzer")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@@ -877,7 +872,7 @@ tree.
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"07cxphrmd6a3clnalrdqxlyin8l0lw0xhjy2rh9gaizxfv5c23jp")))) "0apa3gc45rmdj19plbvglpj6i9dadkgvvidj5mcnkzi9y3h0nr27"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
'(#:source-dirs '("src/main/clojure") '(#:source-dirs '("src/main/clojure")
@@ -943,7 +938,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-cli (define-public clojure-tools-cli
(package (package
(name "clojure-tools-cli") (name "clojure-tools-cli")
(version "1.4.256") (version "1.3.250")
(home-page "https://github.com/clojure/tools.cli") (home-page "https://github.com/clojure/tools.cli")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@@ -952,7 +947,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1kr1cpypzgzh8pkih5qamsaq8c96jfpcvmn9f330sic2shb53m55")))) (base32 "1nyw33w83gd7xlbpma03p4jwcdcp38h8y99x2rqw4zcnw19gsz4p"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
'(#:source-dirs '("src/main/clojure/") '(#:source-dirs '("src/main/clojure/")
@@ -964,25 +959,29 @@ tools.analyzer, providing additional JVM-specific passes.")
work with command-line arguments.") work with command-line arguments.")
(license license:epl1.0))) (license license:epl1.0)))
(define-public clojure-tools-deps-edn (define-public clojure-tools-deps
(package (package
(name "clojure-tools-deps-edn") (name "clojure-tools-deps")
(version "0.9.22") (version "0.28.1578")
(home-page "https://github.com/clojure/tools.deps.edn") (home-page "https://github.com/clojure/tools.deps")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url home-page) (url home-page)
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"082p6zpbb8vvdc9ncc0d66h3g7sax4pp0h4fymwiv0lakzyq3g9g")))) "1w3f8cl81q4kln6iz74fnfzms4c4x279ivh1962pcg22q8l1w8d5"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources") `(#:source-dirs '("src/main/clojure" "src/main/resources")
#:java-source-dirs '("src/main/java")
#:test-dirs '("src/test/clojure") #:test-dirs '("src/test/clojure")
#:doc-dirs '() #:doc-dirs '()
;; FIXME: Could not initialize class
;; org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'build 'reference-clojure-jar-input (add-before 'build 'reference-clojure-jar-input
@@ -993,42 +992,12 @@ work with command-line arguments.")
(string-append "org.clojure/clojure {:local/root \"" (string-append "org.clojure/clojure {:local/root \""
(assoc-ref inputs "clojure") (assoc-ref inputs "clojure")
"/share/java/clojure.jar\"}")))))))) "/share/java/clojure.jar\"}"))))))))
(synopsis "Reader for @file{deps.edn}")
(description "This package provides support for reading and manipulating
@file{deps.edn} files and data structures. It can be used in scenarios where
the @code{tools.deps} library is not needed for dep expansion.")
(license license:epl1.0)))
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps")
(version "0.29.1598")
(home-page "https://github.com/clojure/tools.deps")
(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
"1qds0ri6y8s7419x3pzl9yhhr19qli3l52yg9a78w47h0w6dd1kv"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
#:java-source-dirs '("src/main/java")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()
;; FIXME: Could not initialize class
;; org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f))
(propagated-inputs (list maven-3.8-core (propagated-inputs (list maven-3.8-core
maven-resolver-1.6-connector-basic maven-resolver-1.6-connector-basic
maven-resolver-1.6-transport-http maven-resolver-1.6-transport-http
maven-resolver-1.6-transport-file maven-resolver-1.6-transport-file
clojure-tools-gitlibs clojure-tools-gitlibs
clojure-tools-cli clojure-tools-cli
clojure-tools-deps-edn
clojure-data-xml clojure-data-xml
cognitect-aws-api)) cognitect-aws-api))
(synopsis "Clojure library supporting clojure-tools") (synopsis "Clojure library supporting clojure-tools")
@@ -1206,7 +1175,7 @@ asynchronous support.")
(define-public cognitect-aws-api (define-public cognitect-aws-api
(package (package
(name "cognitect-aws-api") (name "cognitect-aws-api")
(version "0.8.824") (version "0.8.800")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -1215,7 +1184,7 @@ asynchronous support.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ivlcmsr7rvr7741k9wzniv2zxijida0b588nqngm5vrgna816yl")) "17sxj3mvq4iasr0kchbx2anmrh25v8bvmpam4si704vksmnm28p3"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@@ -1258,44 +1227,3 @@ an operation on the service. invoke takes a map and returns a map, and works
the same way for every operation on every service.") the same way for every operation on every service.")
(home-page "https://github.com/cognitect-labs/aws-api") (home-page "https://github.com/cognitect-labs/aws-api")
(license license:asl2.0))) (license license:asl2.0)))
(define-public let-go
(package
(name "let-go")
(version "1.7.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nooga/let-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "139a129fw3w9a4bcfgms60ll90vy2vmqinbmjn44zmgx4fr2adif"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.26
#:install-source? #f
#:import-path "github.com/nooga/let-go"))
(native-inputs
(list go-github-com-davecgh-go-spew
go-github-com-alimpfard-line
go-github-com-hashicorp-go-uuid
go-github-com-kr-pretty
go-github-com-pmezard-go-difflib
go-github-com-stretchr-testify
go-github-com-zeebo-bencode
go-golang-org-x-sys
go-gopkg-in-check-v1
go-gopkg-in-yaml-v3))
(home-page "https://nooga.github.io/let-go")
(synopsis "Clojure dialect written in Go")
(description
"let-go is a Clojure dialect with a bytecode compiler and a stack virtual
machine, written in the Go programming language.
It is not a drop-in replacement for Clojure JVM. It does not load JARs and
does not aim to. Most idiomatic Clojure code runs unmodified, but a real
project with library dependencies will need adjustments.")
(license license:expat)))
+1 -1
View File
@@ -32,7 +32,7 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
+1
View File
@@ -47,6 +47,7 @@
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module (guix build-system pyproject) #: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 ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
+1 -1
View File
@@ -25,7 +25,7 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages dbm) #:use-module (gnu packages dbm)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
+4 -43
View File
@@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2013, 2015, 2018, 2020, 2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019-2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@@ -49,6 +49,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix build-system go) #:use-module (guix build-system go)
@@ -66,7 +67,7 @@
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
@@ -865,46 +866,6 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
the C, C++, C++/CLI, ObjectiveC, C#, and Java programming languages.") the C, C++, C++/CLI, ObjectiveC, C#, and Java programming languages.")
(license license:lgpl3+))) (license license:lgpl3+)))
(define-public idutils
(package
(name "idutils")
(version "4.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/idutils/idutils-" version ".tar.xz"))
(sha256
(base32 "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append
"#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN" "\n"
"# define _IO_IN_BACKUP 0x100\n" "#endif\n\n"
"/* BSD stdio derived implementations")))
;; 'gets' is deprecated in glibc 2.33 and its declaration is
;; no longer visible by default from <stdio.h>.
(substitute* "lib/stdio.in.h"
(("_GL_WARN_ON_USE \\(gets.*")
""))))))
(build-system gnu-build-system)
(native-inputs (list emacs-minimal))
(home-page "https://www.gnu.org/software/idutils/")
(synopsis "Identifier database utilities")
(description
"The GNU idutils package includes tools to create an index of textual
tokens used in a list of file names and then to query that index. Thus, it
allows the user to, for example, find all the uses of a particular function
in a large programming project. In addition to handling textual tokens, it
can also handle numeric constants and the contents of character strings.")
(license license:gpl3+)))
(define-public indent (define-public indent
;; XXX: Not released anymore, but some patches fix CVEs. ;; XXX: Not released anymore, but some patches fix CVEs.
(let ((commit "1737c929cbe2ec8a181107df9742894a44c57f71") (let ((commit "1737c929cbe2ec8a181107df9742894a44c57f71")
+1 -1
View File
@@ -42,7 +42,7 @@
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
-216
View File
@@ -1,216 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2014, 2019, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2024-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2020, 2021 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages compiler-tools)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages gawk)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages python)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
(define-public byacc
(package
(name "byacc")
(version "20240109")
(source
(origin
(method url-fetch)
(uri (string-append
"https://invisible-mirror.net/archives/byacc/byacc-"
version ".tgz"))
(sha256
(base32
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
(snippet
#~(begin
;; Remove machine-generated files
(for-each delete-file
(list "configure"
"btyaccpar.c"
"yaccpar.c"))))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gawk))
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
(description
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
specification from a file and generates an LALR(1) parser for it. The parsers
consist of a set of LALR(1) parsing tables and a driver routine written in the
C programming language.")
(license license:public-domain)))
(define-public flex
(package
(name "flex")
(version "2.6.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/westes/flex"
"/releases/download/v" version "/"
"flex-" version ".tar.gz"))
(sha256
(base32
"15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8"))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
(list #:configure-flags
#~'("ac_cv_func_malloc_0_nonnull=yes"
"ac_cv_func_realloc_0_nonnull=yes"))
'()))
(native-inputs
(list help2man
;; m4 is not present in PATH when cross-building
m4))
(inputs
(list
(package
(inherit bison)
(arguments
;; Disable tests, since they require flex.
(substitute-keyword-arguments arguments
((#:tests? _ #f) #f)))
(inputs (modify-inputs inputs
(delete "flex"))))))
(propagated-inputs (list m4))
(home-page "https://github.com/westes/flex")
(synopsis "Fast lexical analyser generator")
(description
"Flex is a tool for generating scanners. A scanner, sometimes
called a tokenizer, is a program which recognizes lexical patterns in
text. The flex program reads user-specified input files, or its standard
input if no file names are given, for a description of a scanner to
generate. The description is in the form of pairs of regular expressions
and C code, called rules. Flex generates a C source file named,
\"lex.yy.c\", which defines the function yylex(). The file \"lex.yy.c\"
can be compiled and linked to produce an executable. When the executable
is run, it analyzes its input for occurrences of text matching the
regular expressions for each rule. Whenever it finds a match, it
executes the corresponding C code.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
(define-public oyacc
(package
(name "oyacc")
(version "6.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ibara/yacc")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a2nyg2nnh1las40klnp037sapaaph86kjx258cpqcwnk4cv3rnx"))))
(build-system gnu-build-system)
(arguments
(list
#:test-target "test"
#:make-flags
#~(list (string-append "BINDIR=" #$output "/bin")
(string-append "MANDIR=" #$output "/share/man/man1"))))
(home-page "https://github.com/ibara/yacc")
(synopsis "Portable YACC from OpenBSD")
(description
"@command{oyacc} is a portable version of the OpenBSD's
@acronym{yacc, Yet Another Compiler Compiler} program, with no dependencies
besides libc.")
(license license:bsd-2)))
(define-public oyacc-as-yacc-wrapper
(package/inherit oyacc
(name "oyacc-as-yacc-wrapper")
(build-system trivial-build-system)
(arguments
(list
#:builder
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((bindir (string-append #$output "/bin"))
(oyacc (string-append #$(this-package-input "oyacc")
"/bin/oyacc")))
(mkdir-p bindir)
(symlink oyacc (string-append bindir "/yacc")))))))
(inputs (list oyacc))
(description
"This package provides the @command{yacc} command, implemented as a
symbolic link to the @command{oyacc} command from the same-named package.")))
(define-public re2c
(package
(name "re2c")
(version "4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/skvadrik/" name
"/releases/download/" version "/"
name "-" version ".tar.xz"))
(sha256
(base32
"07ysqgdm0h566a8lwnpdgycp93vz7zskzihsgah3bla0ycj2pp69"))))
(build-system gnu-build-system)
(arguments
(list
#:tests?
(not (or (%current-target-system)
;; TODO: run_tests.py hangs
(system-hurd?)))
#:phases
(if (target-arm32?)
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda _
(invoke "patch" "-p1" "--force" "--input"
#$(local-file (search-patch
"re2c-Use-maximum-alignment.patch"))))))
#~%standard-phases)))
(native-inputs
(list python)) ; for the test driver
(home-page "https://re2c.org/")
(synopsis "Lexer generator")
(description
"@code{re2c, Regular Expressions to Code} is a flexible lexical analyser.
Instead of using traditional table-driven approaches, it encodes a finite
state machine directly in the code in the form of jumps and comparisons.")
(license license:public-domain)))
+2 -33
View File
@@ -42,7 +42,6 @@
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2026 Jake Forster <jakecameron.forster@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@@ -1476,7 +1475,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(define-public 7zip (define-public 7zip
(package (package
(name "7zip") (name "7zip")
(version "26.01") (version "26.00")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -1484,7 +1483,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(url "https://github.com/ip7z/7zip") (url "https://github.com/ip7z/7zip")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "0qwzn9pz1m6f8q20cqgmfqp1qx6s7959xnyikpr60n1v8c1mj98q")) (base32 "1fvgl9qp2pl5c0jmvgbdx6qig3qd80mhxvml42yby8y412x65sh7"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(modules '((guix build utils) (modules '((guix build utils)
(ice-9 regex))) (ice-9 regex)))
@@ -3192,33 +3191,3 @@ exported by the zlib library.")
ratio at the cost of high CPU/memory usage.") ratio at the cost of high CPU/memory usage.")
(home-page "https://github.com/byronknoll/cmix") (home-page "https://github.com/byronknoll/cmix")
(license license:gpl3))) (license license:gpl3)))
(define-public zlib-ng
(package
(name "zlib-ng")
(version "2.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zlib-ng/zlib-ng")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0g4pxy7gc1slw9n6j583hzps32mml30f08gmmg1adsq4y3dl2cny"))))
(build-system cmake-build-system)
(native-inputs (list googletest))
(home-page "https://github.com/zlib-ng/zlib-ng")
(synopsis "Fork of the zlib data compression library")
(description
"zlib-ng is a @code{zlib} replacement with optimizations for next
generation systems.")
(license license:zlib)))
(define-public zlib-ng-compat
(package/inherit zlib-ng
(name "zlib-ng-compat")
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags #~(list))
#~(cons "-DZLIB_COMPAT=ON" #$flags))))))
+89 -391
View File
@@ -50,7 +50,6 @@
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages docker)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@@ -71,7 +70,6 @@
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check) #:use-module (gnu packages python-check)
@@ -123,365 +121,6 @@
"This package provides a Go library to read and manipulate checkpoint "This package provides a Go library to read and manipulate checkpoint
archives as created by Podman, CRI-O and containerd.") archives as created by Podman, CRI-O and containerd.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-github-com-containerd-containerd-v2
(package
(name "go-github-com-containerd-containerd-v2")
(version "2.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containerd/containerd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wxy5np689571s6lw77mx63nw75fx85w5svi0jplksmqzmjqp8wd"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containerd/containerd/api
(delete-file-recursively "api")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/containerd/containerd/v2"
#:test-subdirs
#~(list "cmd/protoc-gen-go-fieldpath/..."
"core/containers/..."
"core/content/..."
"core/diff"
"core/diff/apply"
"core/events/..."
"core/images/..."
"core/introspection/..."
"core/leases/..."
"core/metrics/..."
"core/remotes/..."
"core/sandbox/..."
"core/streaming/..."
"core/transfer"
"core/transfer/archive/..."
"core/transfer/image/..."
"core/transfer/local/..."
"core/transfer/plugins/..."
"core/transfer/streaming/..."
"core/unpack/..."
"internal/cleanup/..."
"internal/erofsutils/..."
"internal/eventq/..."
"internal/failpoint/..."
"internal/fsverity/..."
"internal/kmutex/..."
"internal/lazyregexp/..."
"internal/pprof/..."
"internal/randutil/..."
"internal/registrar/..."
"internal/tomlext/..."
"internal/truncindex/..."
"internal/userns/..."
"internal/wintls/..."
"pkg/apparmor/..."
"pkg/archive/..."
"pkg/atomicfile/..."
"pkg/blockio/..."
"pkg/cap/..."
"pkg/cio..."
"pkg/deprecation/..."
"pkg/dialer/..."
"pkg/display/..."
"pkg/epoch/..."
"pkg/fifosync/..."
"pkg/filters/..."
"pkg/gc/..."
"pkg/httpdbg/..."
;; TODO: Check why these submodule fail to build.
;; "client/..."
;; "cmd/containerd-shim-runc-v2/..."
;; "cmd/containerd-stress/..."
;; "cmd/containerd/..."
;; "cmd/ctr/..."
;; "cmd/gen-manpages/..."
;; "contrib/..."
;; "core/diff/proxy"
;; "core/metadata/..."
;; "core/mount/..."
;; "core/runtime/..."
;; "core/snapshots/..."
;; "core/transfer/proxy/..."
;; "core/transfer/registry/..."
;; "integration/..."
;; "internal/cri/..."
;; "internal/nri/..."
;; "pkg/cdi/..."
#;"plugins/...")
#:test-flags
#~(list "-skip" (string-join
;; panic: cannot statfs cgroup root [recovered]
(list "TestValidateConfig"
;; io_test.go:40: failed to start binary process:
;; fork/exec /bin/echo: no such file or directory
"TestNewBinaryIO"
;; expected success: got executable file not found in $PATH
"TestExecutorWithArgs"
"TestSetEnv"
"TestStdIOPipes"
;; panic: cannot statfs cgroup root
"TestContainerCapabilities"
"TestContainerSpecTty"
"TestContainerSpecReadonlyRootfs"
"TestContainerSpecWithExtraMounts"
"TestContainerAndSandboxPrivileged"
"TestPrivilegedBindMount"
"TestCgroupNamespace"
"TestPidNamespace/node_namespace_mode"
;; failed to apply b: invalid argument
"TestDiffTar/IgnoreSockets"
"TestBinDirVerifyImage/max_verifiers_=_-1,_with_timeout"
"TestContainerSpecDefaultPath"
;; Error: Not equal:
;; expected: 1000
;; actual : 123
"TestSetPositiveOomScoreAdjustment")
"|"))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-dario-cat-mergo
go-github-com-adalogics-go-fuzz-headers
go-github-com-checkpoint-restore-checkpointctl
go-github-com-checkpoint-restore-go-criu-v7
go-github-com-containerd-btrfs-v2
go-github-com-containerd-cgroups-v3
go-github-com-containerd-console
go-github-com-containerd-containerd-api
go-github-com-containerd-continuity
go-github-com-containerd-errdefs
go-github-com-containerd-errdefs-pkg
go-github-com-containerd-fifo
go-github-com-containerd-go-cni
go-github-com-containerd-go-runc
go-github-com-containerd-imgcrypt-v2
go-github-com-containerd-log
go-github-com-containerd-nri
go-github-com-containerd-otelttrpc
go-github-com-containerd-platforms
go-github-com-containerd-plugin
go-github-com-containerd-ttrpc
go-github-com-containerd-typeurl-v2
go-github-com-containerd-zfs-v2
go-github-com-containernetworking-cni
go-github-com-containernetworking-plugins
go-github-com-coreos-go-systemd-v22
go-github-com-davecgh-go-spew
go-github-com-distribution-reference
go-github-com-docker-go-events
go-github-com-docker-go-metrics
go-github-com-docker-go-units
go-github-com-emicklei-go-restful-v3
go-github-com-fsnotify-fsnotify
go-github-com-google-certtostore
go-github-com-google-go-cmp
go-github-com-google-uuid
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
go-github-com-intel-goresctrl
go-github-com-klauspost-compress
go-github-com-mdlayher-vsock
;;go-github-com-microsoft-go-winio ;Windows only
;;go-github-com-microsoft-hcsshim ;Windows only
go-github-com-moby-locker
go-github-com-moby-sys-mountinfo
go-github-com-moby-sys-sequential
go-github-com-moby-sys-signal
go-github-com-moby-sys-symlink
go-github-com-moby-sys-user
go-github-com-moby-sys-userns
go-github-com-opencontainers-go-digest
go-github-com-opencontainers-image-spec
go-github-com-opencontainers-runtime-spec
go-github-com-opencontainers-runtime-tools
go-github-com-opencontainers-selinux
go-github-com-pelletier-go-toml-v2
go-github-com-prometheus-client-golang
go-github-com-sirupsen-logrus
go-github-com-tchap-go-patricia-v2
go-github-com-urfave-cli-v2
go-github-com-vishvananda-netlink
go-github-com-vishvananda-netns
go-go-etcd-io-bbolt
go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
go-go-opentelemetry-io-otel-sdk
go-go-opentelemetry-io-otel-trace
go-go-uber-org-goleak
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-time
go-google-golang-org-genproto-googleapis-rpc
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-gopkg-in-inf-v0
go-k8s-io-apimachinery
go-k8s-io-client-go
go-k8s-io-cri-api
go-k8s-io-klog-v2
go-tags-cncf-io-container-device-interface))
(home-page "https://containerd.io/")
(synopsis "Container runtime support daemon")
(description
"Containerd is a container runtime with an emphasis on simplicity,
robustness, and portability. It is available as a daemon, which can manage
the complete container lifecycle of its host system: image transfer and
storage, container execution and supervision, low-level storage and network
attachments, etc.")
(license license:asl2.0)))
(define-public go-github-com-containers-gvisor-tap-vsock
(package
(name "go-github-com-containers-gvisor-tap-vsock")
(version "0.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/gvisor-tap-vsock")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containers/gvisor-tap-vsock/tools
(delete-file-recursively "tools")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/containers/gvisor-tap-vsock"
#:unpack-path "github.com/containers/gvisor-tap-vsock"
#:build-flags
#~(list (string-append "-ldflags="
"-X github.com/containers/gvisor-tap-vsock"
"/pkg/types.gitVersion=" #$version))
#:test-flags
#~(list "-skip"
(string-join
;; Received unexpected error:
;; listen unix /tmp/guix-.../test.sock: bind: invalid argument
(list "TestNotificationSender_Success"
;; Requires network
"TestSuite"
"TestDNS")
"|"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prune-tests
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
;; Requires working DNS.
(substitute* "pkg/services/dns/dns_test.go"
(("Should pass DNS requests to default system DNS.*" all)
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
(("\"redhat.com\",")
"\"localhost\",")
(("\"52.200.142.250\"")
"\"127.0.0.1\""))))))))
(native-inputs
(list go-github-com-stretchr-testify
go-github-com-foxcpp-go-mockdns))
(propagated-inputs
(list go-github-com-apparentlymart-go-cidr
go-github-com-containers-winquit
go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-miekg-dns
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
(description "This package provides a replacement for @code{libslirp} and
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
and brings a configurable DNS server and dynamic port forwarding.
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
The binary is called @command{gvproxy}.")
(license license:asl2.0)))
(define-public go-github-com-rootless-containers-rootlesskit-v3
(package
(name "go-github-com-rootless-containers-rootlesskit-v3")
(version "3.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rootless-containers/rootlesskit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0giw1whjpm64h8f1iamgym246rr3wl01w7zgw4lygrj7dqk3clmb"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/rootless-containers/rootlesskit/v3"))
(propagated-inputs
(list go-github-com-containernetworking-plugins
go-github-com-containers-gvisor-tap-vsock
go-github-com-gofrs-flock
go-github-com-google-uuid
go-github-com-gorilla-mux
go-github-com-insomniacslk-dhcp
go-github-com-masterminds-semver-v3
go-github-com-moby-sys-mountinfo
go-github-com-moby-vpnkit
go-github-com-sirupsen-logrus
go-github-com-songgao-water
go-github-com-urfave-cli-v2
go-golang-org-x-sync
go-golang-org-x-sys
go-gotest-tools-v3))
(home-page "https://github.com/rootless-containers/rootlesskit")
(synopsis "Linux-native fakeroot using user namespaces in Golang")
(description
"@code{RootlessKit} is a Linux-native implementation of \"fake root\" using
@url{http://man7.org/linux/man-pages/man7/user_namespaces.7.html,(code
user_namespaces(7))}. It is used to run containers engines as an
unprivileged user, known as \"Rootless mode\".")
(license license:asl2.0)))
;;; ;;;
;;; Executables: ;;; Executables:
@@ -511,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun (define-public crun
(package (package
(name "crun") (name "crun")
(version "1.27.1") (version "1.26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -521,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz")) "/crun-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy")))) "1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@@ -906,7 +545,7 @@ Layer-4 sockets.")
(define-public cni-plugins (define-public cni-plugins
(package (package
(name "cni-plugins") (name "cni-plugins")
(version "1.9.1") (version "1.9.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -915,7 +554,7 @@ Layer-4 sockets.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "12z6w2jk6xgfiwdxys7skpkxldz1cgaa7scgfcr90lsghay59s6w")) (base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
(snippet (snippet
#~(begin (use-modules (guix build utils)) #~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor"))))) (delete-file-recursively "vendor")))))
@@ -956,33 +595,92 @@ configure network interfaces in Linux containers.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public gvisor-tap-vsock (define-public gvisor-tap-vsock
(package/inherit go-github-com-containers-gvisor-tap-vsock (package
(name "gvisor-tap-vsock") (name "gvisor-tap-vsock")
(version "0.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/gvisor-tap-vsock")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containers/gvisor-tap-vsock/tools
(delete-file-recursively "tools")))))
(build-system go-build-system)
(arguments (arguments
(substitute-keyword-arguments arguments (list
((#:install-source? _ #t) #f) #:install-source? #f
((#:skip-build? _ #t) #f) #:import-path "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
((#:tests? _ #t) #f) #:unpack-path "github.com/containers/gvisor-tap-vsock"
((#:phases _ '%standard-phases) #:build-flags
#~(modify-phases %standard-phases #~(list (string-append "-ldflags="
;; Build binary outputs are taken from project's Makefile. "-X github.com/containers/gvisor-tap-vsock"
(replace 'build "/pkg/types.gitVersion=" #$version))
(lambda arguments #:test-flags
(for-each ;; serve UDP error: *net.OpError read udp 127.0.0.1:5354: use of closed
(lambda (cmd) ;; network connection
(apply (assoc-ref %standard-phases 'build) #~(list "-skip" "TestSuite")
`(,@arguments #:import-path ,cmd))) #:test-subdirs
(list "github.com/containers/gvisor-tap-vsock/cmd/gvproxy" #~(list "../../...") ;test the whole library
"github.com/containers/gvisor-tap-vsock/cmd/qemu-wrapper" #:phases
"github.com/containers/gvisor-tap-vsock/cmd/vm")))) #~(modify-phases %standard-phases
(add-after 'install 'fix-bin-name (add-after 'unpack 'prune-tests
(lambda _ (lambda* (#:key unpack-path #:allow-other-keys)
(rename-file (string-append #$output "/bin/vm") (with-directory-excursion (string-append "src/" unpack-path)
(string-append #$output "/bin/gvforwarder")))))))) ;; Requires working DNS.
(substitute* "pkg/services/dns/dns_test.go"
(("Should pass DNS requests to default system DNS.*" all)
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
(("\"redhat.com\",")
"\"localhost\",")
(("\"52.200.142.250\"")
"\"127.0.0.1\""))))))))
(native-inputs (native-inputs
(package-propagated-inputs go-github-com-containers-gvisor-tap-vsock)) (list go-github-com-apparentlymart-go-cidr
(propagated-inputs '()) go-github-com-containers-winquit
(inputs '()))) go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-foxcpp-go-mockdns
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-miekg-dns
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
go-github-com-stretchr-testify
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
(description "This package provides a replacement for @code{libslirp} and
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
and brings a configurable DNS server and dynamic port forwarding.
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
The binary is called @command{gvproxy}.")
(license license:asl2.0)))
(define-public catatonit (define-public catatonit
(package (package
@@ -1187,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah (define-public buildah
(package (package
(name "buildah") (name "buildah")
(version "1.43.1") (version "1.43.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -1195,7 +893,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah") (url "https://github.com/containers/buildah")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "00x4ja5n49jmkmiv54mmkihks9pnjnna7s7py57in6pc9g85xj2y")) (base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
+1 -1
View File
@@ -35,7 +35,7 @@
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ocaml) #:use-module (gnu packages ocaml)
+1 -71
View File
@@ -23,7 +23,7 @@
(define-module (gnu packages coreboot) (define-module (gnu packages coreboot)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages pciutils) #:use-module (gnu packages pciutils)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo) #:use-module (guix build-system cargo)
@@ -127,76 +127,6 @@ formats:
It also comes with example files generated by bincfg.") It also comes with example files generated by bincfg.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public bucts
(package
(name "bucts")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(delete 'configure) ;no configure script
(add-after 'unpack 'enter-source
(lambda _
(chdir "util/bucts")))
(add-after 'enter-source 'set-version
(lambda _
(substitute* "Makefile"
(("^VERSION:=*")
#$(string-append "VERSION:=" version)))))
;; no install target
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(doc (string-append #$output "/share/doc/bucts/"))
(licenses (string-append #$output
"/share/licenses/bucts/")))
(install-file "bucts" bin)
(install-file "readme.md" doc)
(install-file "../../COPYING" licenses)))))))
(inputs (list pciutils))
(home-page "https://coreboot.org")
(synopsis "Tool to swap the BIOS bootblock and backup bootblock on the
Intel I945 chipsets")
(description
"The @command{bucts} command can flip a bit in the BUC.TS register of the
Intel I945 chipsets and show the register status. When the bit is set, it
swaps the bootblock location. Because the bootblock region is often set
read-only by the default BIOS, this enables to bypass that restriction and is
used as part of a procedure to replace the nonfree BIOS with free software on
various computers (Lenovo X60, X60s, X60T, T60, probably more).")
(license license:gpl2)))
(define-public ectool
(package
(name "ectool")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/ectool")))
(delete 'configure)))) ; no configure script
(home-page "https://doc.coreboot.org/util.html")
(synopsis "Tool to dump and modify @acronym{EC, Embedded Controller} RAM
on computers such as laptops")
(description "This package provides @command{ectool}, a program to dump
and modify the contents of @acronym{EC, Embedded Controller} RAM
on mobile computers.")
(license license:gpl2)))
(define-public ifdtool (define-public ifdtool
(package (package
(name "ifdtool") (name "ifdtool")
+4 -255
View File
@@ -28,7 +28,7 @@
;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name> ;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2022, 2026 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022-2025 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2022-2025 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2022-2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022-2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022-2024, 2026 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2022-2024, 2026 Maxim Cournoyer <maxim@guixotic.coop>
@@ -53,7 +53,6 @@
;;; Copyright © 2025 Murilo <murilo@disroot.org> ;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz> ;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@@ -80,6 +79,7 @@
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system scons) #:use-module (guix build-system scons)
#:use-module (guix modules) #:use-module (guix modules)
@@ -134,7 +134,6 @@
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages tex) #:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages webkit) #:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
@@ -937,85 +936,6 @@ inspired by the @url{https://github.com/gruns/icecream, Python library} of the
same name.") same name.")
(license license:expat))) (license license:expat)))
(define-public tinyformat
(package
(name "tinyformat")
(version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/c42f/tinyformat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j8bxrg7i4rn98iqpfh03krshgcbwh8hq8nm0p3sfdqpira3vi3y"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(install-file "../source/tinyformat.h"
(string-append #$output "/include")))))))
(home-page "https://github.com/c42f/tinyformat")
(synopsis "Minimal, type-safe printf replacement library for C++")
(description "@code{tinyformat} is a type-safe @code{printf} replacement
library in a single C++ header file. Design goals include:
@itemize
@item Type-safety and extensibility for user defined types
@item C99 @code{printf} compatibility, to the extent possible using
@code{std::ostream}
@item POSIX extension for positional arguments
@item Simplicity and minimalism; a single header file to include and
distribute with your projects
@item Augment rather than replace the standard stream formatting mechanism
@item C++98 support, with optional C++11 niceties
@end itemize")
(license license:boost1.0)))
(define-public span
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
(revision "0"))
(package
(name "span")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tcbrindle/span")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
(snippet
#~(delete-file "test/catch.hpp"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-catch2
(lambda _
;; Use catch2 from Guix.
(substitute* (find-files "test" "\\.cpp$")
(("#include \"catch.hpp\"")
"#include <catch2/catch.hpp>"))))
(replace 'install
(lambda _
(install-file "../source/include/tcb/span.hpp"
(string-append #$output "/include")))))))
(native-inputs
(list catch2))
(home-page "https://github.com/tcbrindle/span")
(synopsis "C++20's @code{std::span} shim for older compilers")
(description "This package provides a single-header implementation of
C++20's @code{std::span}, conforming to the C++20 committee draft. It is
compatible with C++11, but will use newer language features if they are
available.")
(license license:boost1.0))))
(define-public google-highway (define-public google-highway
(package (package
(name "google-highway") (name "google-highway")
@@ -1434,9 +1354,6 @@ data transfer object.")
(define-public nlohmann-json (define-public nlohmann-json
(package (package
(name "nlohmann-json") (name "nlohmann-json")
;; XXX: Merge related package `nlohmann-json-no-char8-t' back into here when
;; updating from 3.12.0, as the unique patch it applies will already be
;; incorporated in.
(version "3.12.0") (version "3.12.0")
(home-page "https://github.com/nlohmann/json") (home-page "https://github.com/nlohmann/json")
(source (source
@@ -1510,46 +1427,6 @@ intuitive syntax and trivial integration.")
(define-deprecated-package json-modern-cxx (define-deprecated-package json-modern-cxx
nlohmann-json) nlohmann-json)
(define-public nlohmann-json-no-char8-t
(package
;; XXX: Version 3.12.0 does not work without char8_t support.
;; OpenRCT2 compiles with -fno-char8_t, and thus requires this patch.
;; See https://github.com/nlohmann/json/pull/4736
(inherit nlohmann-json)
(name "nlohmann-json-no-char8-t")
(version "3.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/nlohmann/json")
(commit (string-append "v" version))))
(sha256
(base32 "09nqq56ighr3lghhn3fs399lkllghz717j0xyp87x0giw86ayh3h"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
;; Delete bundled software. Preserve doctest_compatibility.h, which
;; is a wrapper library added by this package.
(install-file "./tests/thirdparty/doctest/doctest_compatibility.h"
"/tmp")
(delete-file-recursively "./tests/thirdparty")
(install-file "/tmp/doctest_compatibility.h"
"./tests/thirdparty/doctest")
;; Adjust for the unbundled fifo_map and doctest.
(substitute* (find-files "./tests/" "\\.h(pp)?")
(("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
(("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
(with-directory-excursion "tests/src"
(let ((files (find-files "." "\\.cpp$")))
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
(string-append
"#include <fifo_map/" fifo-map-hpp ">")))))))
(patches
(search-patches "nlohmann_json_fix_char8_t.patch"))))))
(define-public jthread (define-public jthread
(let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8") (let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8")
(revision "0")) (revision "0"))
@@ -1795,38 +1672,6 @@ maintained anymore.")
concurrent queue for C++11.") concurrent queue for C++11.")
(license license:bsd-2))) (license license:bsd-2)))
(define-public ringbuffer
(package
(name "ringbuffer")
(version "0.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JohannesLorenz/ringbuffer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1c57hj6zyvcjpcbwrq8c1hj5brk1bnh69ayd88ny1p0gx031sjpk"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DCMAKE_CXX_FLAGS=-Wno-error=array-bounds"
(string-append "-DINSTALL_LIB_DIR=" #$output "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-export-header
(lambda _
(install-file "src/lib/ringbuffer_export.h"
(string-append #$output
"/include/ringbuffer")))))))
(home-page "https://github.com/JohannesLorenz/ringbuffer")
(synopsis "Lock-free multi-reader ringbuffer")
(description
"@code{ringbuffer} is a library containing a ringbuffer. It is lock-free
(using atomics only), and allows multiple readers, but only one writer.")
(license license:gpl3+)))
(define-public spscqueue (define-public spscqueue
(package (package
(name "spscqueue") (name "spscqueue")
@@ -2060,7 +1905,8 @@ using the string similarity calculations from FuzzyWuzzy.")
(add-after 'unpack 'fix-pytest-config (add-after 'unpack 'fix-pytest-config
(lambda _ (lambda _
(substitute* "pyproject.toml" (substitute* "pyproject.toml"
(("\"pytest-cov\", ") ""))))))) ((" \"pytest-cov\", ") "")
((" --cov-fail-under=90 --cov=cpplint") "")))))))
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-pytest-timeout python-pytest-timeout
@@ -3822,39 +3668,6 @@ computing Fast Fourier transformations. It supports multidimensional arrays,
different floating point sizes and complex transformations.") different floating point sizes and complex transformations.")
(license license:bsd-3)))) (license license:bsd-3))))
(define-public libbinio
;; The latest tagged version does not support CMake build. This commit has
;; builds with CMake and has updated CMake version support.
(let ((commit "e88dad086265e179ab6aef7f479e19f3917c7a98")
(revision "0"))
(package
(name "libbinio")
(version (git-version "1.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/adplug/libbinio")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0rb33jl6gpxb88zymzl996m43b7r6wyw4lq0ib3626kna3baqnha"))))
(native-inputs
(list autoconf automake libtool texinfo))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no tests
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON")))
(home-page "http://adplug.github.io/libbinio/")
(synopsis "Binary I/O stream class library")
(description
"This binary I/O stream class library presents a platform-independent
way to access binary data streams in C++. The library is hardware independent
in the form that it transparently converts between the different forms of
machine-internal binary data representation.")
(license license:lgpl2.1+))))
(define-public priocpp (define-public priocpp
;; Latest release is from 2022-08-14. ;; Latest release is from 2022-08-14.
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5") (let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
@@ -4524,29 +4337,6 @@ file name and location, as well as filters with friendly names (such as
"This package provides a simple S-Expression parser for C++.") "This package provides a simple S-Expression parser for C++.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public sfl-library
(package
(name "sfl-library")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavenf/sfl-library")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ngy86b9y1b8a4j37c14m1jrg0q5b12jj8b0gdnpl5sjb1r2fljk"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;no tests
(home-page "https://github.com/slavenf/sfl-library")
(synopsis "Header-only C++11/20 container library")
(description "sfl-library provides many STL-like (Standard Template Library)
containers including vectors, associative containers, and unordered containers
based on hash tables. These containers are designed for C++11 and C++20
constant expression usage.")
(license license:zlib)))
(define-public string-view-lite (define-public string-view-lite
(package (package
(name "string-view-lite") (name "string-view-lite")
@@ -4704,47 +4494,6 @@ meta data function.")
;; or the CECILL-C license: ;; or the CECILL-C license:
(license (list license:lgpl3 license:cecill-c)))) (license (list license:lgpl3 license:cecill-c))))
(define-public tcbrindle-span
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
(revision "0"))
(package
(name "tcbrindle-span")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tcbrindle/span")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
(modules '((guix build utils)))
;; Unbundle catch.
(snippet
'(with-directory-excursion "test"
(delete-file "catch.hpp")
(substitute* (find-files "." "\\.cpp$")
(("\"catch\\.hpp\"") "<catch.hpp>"))))))
(build-system cmake-build-system)
(native-inputs (list catch-framework))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(mkdir-p (string-append #$output))
(copy-recursively "../source/include"
(string-append #$output "/include")))))))
(home-page "https://github.com/tcbrindle/span")
(synopsis "Implementation of C++20's @code{std::span} for older compilers")
(description
"This package provides a single-header implementation of C++20's
@code{std::span}, conforming to the C++20 committee draft. It is compatible
with C++11, but will use newer language features if they are available.")
(license license:boost1.0))))
(define-public tsl-hopscotch-map (define-public tsl-hopscotch-map
(package (package
(name "tsl-hopscotch-map") (name "tsl-hopscotch-map")
+538 -954
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -105,6 +105,7 @@
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
+1
View File
@@ -62,6 +62,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
+14 -4
View File
@@ -31,6 +31,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
@@ -111,7 +112,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(define-public gallia (define-public gallia
(package (package
(name "gallia") (name "gallia")
(version "2.1.1") (version "2.0.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -120,7 +121,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "04xzh5fi18wrkjs7sqwlv344jf54njvnly042rhxq3x5jrvpvkdw")))) (base32 "1yvjpwpqq6r6glfm4qzb8j91d2gsfy4lvygd9z9pg2j6jvcq6f6s"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@@ -132,16 +133,25 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
#:test-flags #~(list "tests/pytest"))) #:test-flags #~(list "tests/pytest")))
(native-inputs (native-inputs
(list python-poetry-core (list python-poetry-core
python-pygit2
python-pytest python-pytest
python-pytest-asyncio)) python-pytest-asyncio))
(inputs (inputs
(list python-aiosqlite (list python-aiofiles
python-aiosqlite
python-argcomplete python-argcomplete
python-boltons python-boltons
python-can
python-construct
python-exitcode
python-httpx
python-more-itertools
python-msgspec
python-platformdirs python-platformdirs
python-psutil
python-pydantic python-pydantic
python-pygit2
python-tabulate python-tabulate
python-wcwidth
python-zstandard)) python-zstandard))
(home-page "https://github.com/Fraunhofer-AISEC/gallia") (home-page "https://github.com/Fraunhofer-AISEC/gallia")
(synopsis "Extendable Pentesting Framework") (synopsis "Extendable Pentesting Framework")
+116 -237
View File
@@ -32,7 +32,7 @@
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com> ;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018, 2021-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
@@ -109,7 +109,7 @@
#:use-module (gnu packages dbm) #:use-module (gnu packages dbm)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
@@ -131,7 +131,6 @@
#:use-module (gnu packages guile-xyz) #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc) #:use-module (gnu packages jemalloc)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages language) #:use-module (gnu packages language)
#:use-module (gnu packages libedit) #:use-module (gnu packages libedit)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
@@ -148,7 +147,6 @@
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages node) #:use-module (gnu packages node)
#:use-module (gnu packages onc-rpc) #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
#:use-module (gnu packages openstack) #:use-module (gnu packages openstack)
#:use-module (gnu packages pantheon) #:use-module (gnu packages pantheon)
#:use-module (gnu packages parallel) #:use-module (gnu packages parallel)
@@ -177,7 +175,6 @@
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages ruby-check) #:use-module (gnu packages ruby-check)
#:use-module (gnu packages ruby-xyz) #:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages security-token)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
@@ -208,6 +205,7 @@
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system ruby) #:use-module (guix build-system ruby)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
@@ -1063,31 +1061,6 @@ auto-completion and syntax highlighting.")
\"special\", or \"backslash commands\") on PostgreSQL.") \"special\", or \"backslash commands\") on PostgreSQL.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-sqlite-anyio
(package
(name "python-sqlite-anyio")
(version "0.2.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidbrochart/sqlite-anyio")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "075fnrrwzn9xc2clkcsyfycjc870khcwnpdg4g726qwl44pfzy2a"))))
(build-system pyproject-build-system)
(arguments
(list
#:build-backend "poetry.core.masonry.api")) ;XXX: python-uv-build is required
(propagated-inputs (list python-anyio python-typing-extensions))
(native-inputs (list python-poetry-core python-pytest))
(home-page "https://github.com/davidbrochart/sqlite-anyio")
(synopsis "Asynchronous client for SQLite using AnyIO")
(description "This package provides an asynchronous client for SQLite
using @code{AnyIO}.")
(license license:expat)))
(define-public python-sqlitedict (define-public python-sqlitedict
(package (package
(name "python-sqlitedict") (name "python-sqlitedict")
@@ -1186,196 +1159,104 @@ autocompletion and syntax highlighting.")
auto-completion and syntax highlighting.") auto-completion and syntax highlighting.")
(license license:bsd-3))) (license license:bsd-3)))
;; XXX When updating, check whether boost-for-mysql is still needed.
;; It might suffice to patch cmake/boost.cmake as done in the past.
(define-public mysql (define-public mysql
(package (package
(name "mysql") (name "mysql")
(version "9.7.0") (version "5.7.33")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append (uri (list (string-append
"https://cdn.mysql.com/Downloads/MySQL-" "https://dev.mysql.com/get/Downloads/MySQL-"
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.gz")
(string-append
"https://downloads.mysql.com/archives/get/file/"
name "-" version ".tar.gz"))) name "-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"0v9hc8yzp0f5pwl4kr1a8k7lwyf62g95klxb6avfrc2npjx79dbl")) "1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Delete bundled source libraries.
(delete-all-but "extra"
;; XXX: The build system doesn't currently
;; support unbundling these.
"json" ;used by bundled opentelemetry
"libbacktrace"
"libcno"
"opentelemetry-cpp"
"opentelemetry-proto"
"rapidjson"
"unordered_dense"
"xxhash")))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list `(#:configure-flags
#:tests? #f ;FIXME: teach build system to use system googletest '("-DBUILD_CONFIG=mysql_release"
#:configure-flags "-DWITH_SSL=system"
#~(list "-DBUILD_CONFIG=mysql_release" "-DWITH_ZLIB=system"
"-DWITH_AUTHENTICATION_LDAP=ON" "-DDEFAULT_CHARSET=utf8"
"-DWITH_AUTHENTICATION_WEBAUTHN=ON" "-DDEFAULT_COLLATION=utf8_general_ci"
"-DWITH_BENCHMARK=OFF" "-DMYSQL_DATADIR=/var/lib/mysql"
;; XXX: BUILD_ID is disabled so that the INFO_BIN target is not "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
;; run; this target relies on running mysqld before it is "-DINSTALL_INFODIR=share/mysql/docs"
;; installed, which fails in our case. "-DINSTALL_MANDIR=share/man"
"-DWITH_BUILD_ID=OFF" "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DWITH_FIDO=system" "-DINSTALL_SCRIPTDIR=bin"
"-DWITH_SYSTEM_LIBS=ON" "-DINSTALL_INCLUDEDIR=include/mysql"
"-DWITH_UNIT_TESTS=OFF" ;avoid bundled googletest "-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DREPRODUCIBLE_BUILD=ON" "-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DMYSQL_DATADIR=/var/lib/mysql" "-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" "-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_INFODIR=share/info" "-DINSTALL_SHAREDIR=share/mysql"
"-DINSTALL_MANDIR=share/man" ;; Get rid of test data.
"-DINSTALL_PLUGINDIR=lib/mysql/plugin" "-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_INCLUDEDIR=include/mysql" "-DINSTALL_SQLBENCHDIR=")
"-DINSTALL_DOCREADMEDIR=share/mysql/docs" #:phases (modify-phases %standard-phases
"-DINSTALL_SUPPORTFILESDIR=share/mysql" (add-after
"-DINSTALL_MYSQLSHAREDIR=share/mysql" 'install 'remove-extra-binaries
"-DINSTALL_MYSQLTESTDIR=OFF" (lambda* (#:key outputs #:allow-other-keys)
"-DINSTALL_DOCDIR=share/mysql/docs" (let ((out (assoc-ref outputs "out")))
"-DINSTALL_SHAREDIR=share/mysql") ;; Remove the 3 *_embedded files, which weigh in at
#:phases ;; 14 MiB each.
#~(modify-phases %standard-phases (for-each delete-file
(add-before 'configure 'disable-broken-abi-check (find-files (string-append out "/bin")
(lambda _ "_embedded$"))
;; The ABI check started failing with MySQL 9.7.0 for unknown #t)))
;; reasons. (add-after
(substitute* "cmake/abi_check.cmake" 'install 'wrap-mysql_helpers
(("RUN_ABI_CHECK 1") (lambda* (#:key inputs outputs #:allow-other-keys)
"RUN_ABI_CHECK 0")))) (let* ((out (assoc-ref outputs "out"))
(add-after 'install 'remove-extra-binaries (bin (string-append out "/bin"))
(lambda _ (awk (assoc-ref inputs "gawk"))
;; Remove the 3 *_embedded files, which weigh in at (coreutils (assoc-ref inputs "coreutils"))
;; 14 MiB each. (grep (assoc-ref inputs "grep"))
(for-each delete-file (ps (assoc-ref inputs "procps"))
(find-files (string-append #$output "/bin") (sed (assoc-ref inputs "sed")))
"_embedded$")))) (wrap-program (string-append bin "/mysql_config")
(add-after 'install 'wrap-mysql_helpers `("PATH" ":" suffix
(lambda* (#:key inputs outputs #:allow-other-keys) (,(string-append awk "/bin")
(let ((bin (string-append #$output "/bin")) ,(string-append coreutils "/bin")
(gawk (search-input-file inputs "bin/gawk")) ,(string-append sed "/bin"))))
(coreutils (search-input-file inputs "bin/ls")) (wrap-program (string-append bin "/mysqld_safe")
(grep (search-input-file inputs "bin/grep")) `("PATH" ":" suffix
(ps (search-input-file inputs "bin/ps")) (,(string-append awk "/bin")
(sed (search-input-file inputs "bin/sed"))) ,(string-append coreutils "/bin")
(wrap-program (search-input-file outputs "bin/mysql_config") ,(string-append grep "/bin")
`("PATH" suffix ,(string-append ps "/bin")
,(list (dirname gawk) ,(string-append sed "/bin"))))))))))
(dirname coreutils)
(dirname sed))))
(wrap-program (search-input-file outputs "bin/mysqld_safe")
`("PATH" suffix
,(list (dirname gawk)
(dirname coreutils)
(dirname grep)
(dirname ps)
(dirname sed)))))))
(add-after 'install 'fix-permissions
;; XXX: Otherwise, the guix daemon reports: "suspicious ownership
;; or permission on `/gnu/store/...-mysql-9.7.0'; rejecting this
;; build output".
(lambda _
(chmod #$output #o755))))))
(native-inputs (native-inputs
(list bison perl pkg-config)) (list bison perl pkg-config))
(inputs (inputs
(list bash-minimal (list bash-minimal
boost boost-for-mysql
coreutils coreutils
curl
cyrus-sasl
gawk gawk
grep grep
icu4c
libaio libaio
libedit
libfido2
libtirpc libtirpc
lz4
mit-krb5
ncurses ncurses
openldap openssl-1.1
openssl
protobuf
procps procps
rpcsvc-proto ; rpcgen rpcsvc-proto ; rpcgen
sed sed
zlib zlib))
`(,zstd "lib")))
(home-page "https://www.mysql.com/") (home-page "https://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database") (synopsis "Fast, easy to use, and popular database")
(description (description
"MySQL is a fast, reliable, and easy to use relational database "MySQL is a fast, reliable, and easy to use relational database
management system that supports the standardized Structured Query management system that supports the standardized Structured Query
Language.") Language.")
(license license:gpl2))) ;v2 only -- see 'Election of GPLv2' in LICENSE
(define-public mysql-connector-python
(package
(name "mysql-connector-python")
(version "9.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mysql/mysql-connector-python")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0zdm35apj1cfraxwlqfmr04pm87qpw73ilb8p88cn08zsa8q11hg"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
;; Our protobuf is too old for the mysqlx dev API, so use the
;; classic one without the C modules.
(chdir "mysql-connector-python")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Some of these tests might be failing due to the build
;; container's restrictions, others are due to the version
;; mismatch.
(mkdir-p "/tmp/datadir")
(invoke "python3" "unittests.py"
"--verbosity=3"
(string-append "--with-mysql=" #$(this-package-input "mysql"))
"--keep"
"--mysql-topdir=/tmp/datadir"
"--unix-socket=/tmp/datadir")))))))
(native-inputs (list python-setuptools))
(inputs (list mysql openssl zlib `(,zstd "lib")))
(home-page "https://dev.mysql.com/doc/connector-python/en/index.html")
(synopsis "MySQL driver written in Python")
(description "MySQL Connector/Python enables Python programs to access
MySQL databases, using an API that is compliant with the Python Database API
Specification v2.0 (PEP 249).")
(license license:gpl2))) (license license:gpl2)))
(define-deprecated-package python-mysql-connector-python
mysql-connector-python)
(define-public mariadb (define-public mariadb
(package (package
(name "mariadb") (name "mariadb")
@@ -1672,14 +1553,14 @@ and high-availability (HA).")
(define-public postgresql-17 (define-public postgresql-17
(package (package
(name "postgresql") (name "postgresql")
(version "17.10") (version "17.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"144cb40gn1lasvz0jvz4i72mda8k7pm1bx6azq2vggfddm8h72h7")) "1dg9labqgph2idaypb8khdvbag29pr3h4bqv5w8k7kgc08rk97pg"))
(patches (search-patches (patches (search-patches
"postgresql-disable-normalize_exec_path.patch")))) "postgresql-disable-normalize_exec_path.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@@ -1742,14 +1623,14 @@ pictures, sounds, or video.")
(package (package
(inherit postgresql-17) (inherit postgresql-17)
(name "postgresql") (name "postgresql")
(version "16.14") (version "16.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0w9lgsn03m4k0v3m622v7fk3gqbfbjvwv34mrrc0i4ip4wa7gl7n")) "0hib575m9x3z8c71gkcv9jsyq77d3qk7q2zgzvfy6clwrvs8b16y"))
(patches (search-patches (patches (search-patches
"postgresql-disable-normalize_exec_path.patch")))) "postgresql-disable-normalize_exec_path.patch"))))
(arguments (arguments
@@ -1773,14 +1654,14 @@ pictures, sounds, or video.")
(package (package
(inherit postgresql-16) (inherit postgresql-16)
(name "postgresql") (name "postgresql")
(version "15.18") (version "15.15")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1d13qckpslfqamdmp23q3rbzxlp1rqwszylilyllpsp3gzwhvpqi")) "1ais46b2ij38y75i1w336as03pybyndsd2pp2q8gdjq9igmsllsp"))
(patches (search-patches (patches (search-patches
"postgresql-disable-resolve_symlinks.patch")))) "postgresql-disable-resolve_symlinks.patch"))))
(native-inputs (modify-inputs native-inputs (native-inputs (modify-inputs native-inputs
@@ -1793,7 +1674,6 @@ pictures, sounds, or video.")
(inherit postgresql-15) (inherit postgresql-15)
(name "postgresql") (name "postgresql")
(version "14.20") (version "14.20")
(replacement postgresql-14.23)
(source (origin (source (origin
(inherit (package-source postgresql-15)) (inherit (package-source postgresql-15))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
@@ -1802,19 +1682,6 @@ pictures, sounds, or video.")
(base32 (base32
"0sv45dsmyplfys6dfdjdwmrczl46s82x35xdh311nxj02q7z29vm")))))) "0sv45dsmyplfys6dfdjdwmrczl46s82x35xdh311nxj02q7z29vm"))))))
(define-public postgresql-14.23
(package
(inherit postgresql-14)
(name "postgresql")
(version "14.23")
(source (origin
(inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"19clihp73ak2p5di90jhg50lqjkkr0iy349gkki30qsl5f11cwnc"))))))
(define-deprecated/public postgresql-13 #f (define-deprecated/public postgresql-13 #f
(package (package
(inherit postgresql-14) (inherit postgresql-14)
@@ -4849,24 +4716,33 @@ PickleShare.")
(define-public python-apsw (define-public python-apsw
(package (package
(name "python-apsw") (name "python-apsw")
(version "3.50.4.0") (version "3.46.0.0")
;; The compressed release has fetching functionality disabled.
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (string-append
(url "https://github.com/rogerbinns/apsw") "https://github.com/rogerbinns/apsw/releases/download/"
(commit version))) version "/apsw-" version ".zip"))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "0r9awjgpl9cmqz5xd4zbqrpiv0rv5c36a18jkqnsfky6n6sgr424")))) (base32
"10yfbasi4mq63g0svyl1h49ylwn9znjylq78id16dzxzk9q9ipdx"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments
(list #:test-backend #~'custom
#:test-flags #~(list "-m" "apsw.tests")))
(native-inputs (native-inputs
(list python-setuptools)) (list unzip python-setuptools python-wheel))
(inputs (inputs (list sqlite-next)) ;SQLite 3.45.1 required.
(list sqlite-next)) ;SQLite 3.45.1 required. (arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'build-extensions
(lambda _
(invoke "python" "setup.py" "build" "--enable-all-extensions"
"--enable=load_extension")))
(add-after 'build 'build-test-helper
(lambda _
(invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
"-I." "-Isqlite3" "src/testextension.c"))))))
(home-page "https://github.com/rogerbinns/apsw/") (home-page "https://github.com/rogerbinns/apsw/")
(synopsis "Another Python SQLite Wrapper") (synopsis "Another Python SQLite Wrapper")
(description (description
@@ -5665,7 +5541,7 @@ with integrated support for finding required rows quickly.")
(define-public apache-arrow (define-public apache-arrow
(package (package
(name "apache-arrow") (name "apache-arrow")
(version "24.0.0") (version "23.0.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -5675,7 +5551,7 @@ with integrated support for finding required rows quickly.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1j3gs5ffa9gx2y2nggmi2zn5rj0bsnjnxrzfnipx6050jz6n8dx9")))) "1qn7wgavi3kiz4d6w1naqj5631bg87fnj6gbhaxmpmynm5hi9wm7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@@ -5844,7 +5720,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
python-cython python-cython
python-pytest python-pytest
python-pytest-runner python-pytest-runner
python-scikit-build-core
python-setuptools-scm python-setuptools-scm
python-setuptools)) python-setuptools))
(outputs '("out")) (outputs '("out"))
@@ -6441,7 +6316,7 @@ mechanism of @code{dogpile}.")
(define-public datasette (define-public datasette
(package (package
(name "datasette") (name "datasette")
(version "1.0a26") (version "1.0a19")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -6450,20 +6325,23 @@ mechanism of @code{dogpile}.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1ra0yfrz9w3jx7ix3dmcsg0g8hjxkz37586g7ijmqshxpzczxfm7")))) (base32 "0wb73iksrc5vg2lnq3q4vr7yhlzxwr711jfmjdndd0s77996zsfh"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
;; tests: 1720 passed, 9 skipped, 8 xfailed, 13 xpassed, 3 warnings, 120
;; subtests passed
#:test-flags #:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) ;; See https://github.com/simonw/datasette/issues/2048
"--ignore=tests/test_black.py") #~(list "-k" (string-append
;; These contain two unexpected extra items.
"not test_searchable"
" and not test_searchmode")
"--ignore=tests/test_black.py"
"-n" (number->string (parallel-job-count)))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements (add-after 'unpack 'relax-requirements
(lambda _ (lambda _
(substitute* "pyproject.toml" (substitute* "setup.py"
(("\"pip\",") ""))))))) (("\"pip\",") "")))))))
(propagated-inputs (propagated-inputs
(list python-aiofiles (list python-aiofiles
@@ -6478,6 +6356,7 @@ mechanism of @code{dogpile}.")
python-janus python-janus
python-jinja2 python-jinja2
python-mergedeep python-mergedeep
python-pint
python-pluggy python-pluggy
python-pyyaml python-pyyaml
python-sqlite-utils python-sqlite-utils
@@ -6486,9 +6365,9 @@ mechanism of @code{dogpile}.")
(list nss-certs-for-test (list nss-certs-for-test
python-beautifulsoup4 python-beautifulsoup4
python-cogapp python-cogapp
python-multipart-form-data-conformance
python-pytest python-pytest
python-pytest-asyncio python-pytest-asyncio-0.26
python-pytest-runner
python-pytest-timeout python-pytest-timeout
python-pytest-xdist python-pytest-xdist
python-setuptools python-setuptools
-113
View File
@@ -1,113 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; 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 datalog)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages libffi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (guix build-system cmake)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public souffle
(package
(name "souffle")
(version "2.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/souffle-lang/souffle")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1lrw69g02b17vxxz4g7cj8hbmc39wlzl80vl5fwy40a6b9pxwrsj"))
(snippet
#~(begin
;; Delete bundled dependencies. souffle also uses a forked
;; and modified version of json11. We cannot unbundle
;; that.
(for-each delete-file
(list "licenses/TCBRINDLE SPAN.txt"
"licenses/TINYFORMAT.txt"
"src/include/souffle/utility/span.h"
"src/include/souffle/utility/tinyformat.h"))))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DSOUFFLE_GIT=OFF"
(string-append "-DPACKAGE_VERSION="
#$version))
;; We disable these tests since they fail with gcc 14. This issue
;; has been reported upstream:
;; https://github.com/souffle-lang/souffle/issues/2576
#:test-exclude (string-join
(list "syntactic/cpp_keywords_run_souffle"
"syntactic/cpp_keywords_c_run_souffle"
"syntactic/cpp_keywords_compare_std_outputs"
"syntactic/cpp_keywords_compare_csv"
"syntactic/cpp_keywords_c_compare_std_outputs"
"syntactic/cpp_keywords_c_compare_csv")
"|")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'replace-bundled-libraries
(lambda _
;; Patch souffle to use tinyformat from Guix.
(substitute* (find-files "src" "\\.(cpp|h)$")
(("#include \"souffle/utility/tinyformat.h\"")
"#include <tinyformat.h>"))
;; Replace span.h with a header that uses span from Guix
;; and provides the same namespace.
(call-with-output-file "src/include/souffle/utility/span.h"
(lambda (port)
(display "#pragma once
#include <span.hpp>
namespace souffle {
using tcb::span;
}
"
port))))))))
(inputs
(list libffi
ncurses
python
span
sqlite
zlib))
(native-inputs
(list bison
flex
tinyformat))
(home-page "https://souffle-lang.github.io/")
(synopsis "Datalog variant")
(description "Soufflé is a variant of Datalog for tool designers crafting
analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program
from a logic specification. The Soufflé language is similar to Datalog (but
has terms known as records), and is frequently used as a domain-specific
language for analysis problems.")
(license (list license:upl ; main license
;; src/include/souffle/profile/htmlJsChartistPlugin.h
;; src/include/souffle/utility/json11.h
license:expat))))
+5
View File
@@ -27,6 +27,7 @@
(define-module (gnu packages dav) (define-module (gnu packages dav)
#:use-module (guix build-system cargo) #:use-module (guix build-system cargo)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
@@ -142,6 +143,9 @@ CardDAV server with a local folder or file.")
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-pytest-cov
python-pytest-flake8
python-pytest-isort
python-setuptools python-setuptools
python-waitress python-waitress
python-wheel)) python-wheel))
@@ -240,6 +244,7 @@ efficient syncing
(list python-aioresponses (list python-aioresponses
python-pytest python-pytest
python-pytest-asyncio python-pytest-asyncio
python-pytest-cov
python-pytest-httpserver python-pytest-httpserver
python-setuptools python-setuptools
python-setuptools-scm python-setuptools-scm
+51 -67
View File
@@ -58,7 +58,7 @@
#:use-module (gnu packages code) #:use-module (gnu packages code)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages digest) #:use-module (gnu packages digest)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gdb) #:use-module (gnu packages gdb)
@@ -77,6 +77,7 @@
#:use-module (gnu packages mail) #:use-module (gnu packages mail)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
@@ -262,7 +263,7 @@ simple way to add custom protocol messages.")
(define-public c-vise (define-public c-vise
(package (package
(name "c-vise") (name "c-vise")
(version "2.8.0") (version "2.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -270,53 +271,37 @@ simple way to add custom protocol messages.")
(url "https://github.com/marxin/cvise") (url "https://github.com/marxin/cvise")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "1ynhm1d56r25apgvv0wqbdrhjbwigkwrgw92g2czz4nfx77rjxz2")) (base32 "1i2z5q2pcwh1gpdqc24x1a2q5vzwhblzzq021nzwf304di7m18vl"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-linkage
(lambda _
(substitute* "clang_delta/CMakeLists.txt"
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}")
"True")
((" LLVM")
" LLVMSupport"))))
(add-before 'build 'hardcode-paths
(lambda _
(substitute* "cvise.py"
(("/bin/bash")
(which "bash"))
(("(.*)# Special case for clang-format" all blank)
(format #f "~a# Special case for unifdef
~aprograms['unifdef'] = ~s
~a"
blank blank (which "unifdef") all)))))
(add-after 'install 'wrap
(lambda _
(let ((python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append #$output "/bin/cvise")
`("PYTHONPATH" ":" prefix
(,(string-join
(filter (lambda (cand)
(not (string-contains cand "pytest")))
(string-split python-path #\:))
":"))))))))))
(native-inputs (native-inputs
(list flex (list flex python-pytest python-pytest-flake8))
python-pytest
python-pytest-flake8))
(inputs (inputs
(list bash-minimal (list bash-minimal clang llvm unifdef
clang python python-pebble python-psutil python-chardet))
llvm (arguments
unifdef `(#:phases
python (modify-phases %standard-phases
python-pebble (add-after 'unpack 'fix-linkage
python-psutil (lambda _
python-chardet)) (substitute* "clang_delta/CMakeLists.txt"
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}") "True")
((" LLVM") " LLVMSupport"))))
(add-before 'build 'hardcode-paths
(lambda _
(substitute* "cvise.py"
(("/bin/bash") (which "bash"))
(("(.*)# Special case for clang-format" & >)
(string-append > "# Special case for unifdef\n"
> "programs['unifdef'] = '" (which "unifdef") "'\n"
&)))))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/cvise")
`("PYTHONPATH" ":" prefix (,python-path)))
#t))))))
(home-page "https://github.com/marxin/cvise") (home-page "https://github.com/marxin/cvise")
(synopsis "Reducer for interesting code") (synopsis "Reducer for interesting code")
(description (description
@@ -993,27 +978,26 @@ engineering.")
(define-public seer-gdb (define-public seer-gdb
(package (package
(name "seer-gdb") (name "seer-gdb")
(version "2.7") (version "1.16")
(source (source (origin
(origin (method git-fetch)
(method git-fetch) (uri (git-reference
(uri (git-reference (url "https://github.com/epasveer/seer.git")
(url "https://github.com/epasveer/seer") (commit (string-append "v" version))))
(commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version)) (sha256
(sha256 (base32
(base32 "1szfqybqr5z982vian4f0hpsagiqapzys3axwibyjyg5whjswva1")))) "0jdvyg2jab1pvf36pvkyrfsg2wyy8zp1qx0v2ksclgrnr1hja6k6"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
(list `(#:tests? #f ; Those are strangely manual
#:tests? #f ;tests are strangely manual #:phases
#:phases (modify-phases %standard-phases
#~(modify-phases %standard-phases (add-after 'unpack 'chdir
(add-after 'unpack 'chdir (lambda _
(lambda _ (chdir "src"))))))
(chdir "src"))))))
(inputs (inputs
(list gdb qtbase qtcharts qtsvg qtwayland)) (list qtbase-5 qtcharts-5 qtwayland-5))
(synopsis "GUI frontend for GDB") (synopsis "GUI frontend for GDB")
(description "This package provides a frontend to GDB, the GNU debugger.") (description "This package provides a frontend to GDB, the GNU debugger.")
(home-page "https://github.com/epasveer/seer") (home-page "https://github.com/epasveer/seer")
@@ -1053,7 +1037,7 @@ to aid in debugging.")
(define-public delve (define-public delve
(package (package
(name "delve") (name "delve")
(version "1.26.3") (version "1.25.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -1063,7 +1047,7 @@ to aid in debugging.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0mf363l7md4193cgrpb6hkhmsgnlnrx44q1bzw3zq0bmjrcg3fj7")) "1b6vp6m4vjx4wfs1djhpizvz40s563jwld9lgjq82svaiilrmlqa"))
(snippet (snippet
#~(begin (use-modules (guix build utils)) #~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor"))))) (delete-file-recursively "vendor")))))
@@ -1081,7 +1065,7 @@ to aid in debugging.")
(list go-github-com-cilium-ebpf (list go-github-com-cilium-ebpf
go-github-com-cosiner-argv go-github-com-cosiner-argv
go-github-com-creack-pty go-github-com-creack-pty
go-github-com-derekparker-trie-v3 go-github-com-derekparker-trie
go-github-com-go-delve-liner go-github-com-go-delve-liner
go-github-com-google-go-dap go-github-com-google-go-dap
go-github-com-hashicorp-golang-lru go-github-com-hashicorp-golang-lru
@@ -1229,7 +1213,7 @@ and input distributions can also be expressed in Fandango.")
;; Shorten paths to sockets in tests. ;; Shorten paths to sockets in tests.
(lambda _ (setenv "TMPDIR" "/tmp")))) (lambda _ (setenv "TMPDIR" "/tmp"))))
#:test-target "test")) #:test-target "test"))
(native-inputs (list python python-setuptools)) ; for tests (native-inputs (list python)) ; for tests
(synopsis "Fault injector in userspace") (synopsis "Fault injector in userspace")
(description "Fiu provides CLI utilities and a C library (description "Fiu provides CLI utilities and a C library
to mark points of failure inside your code to mark points of failure inside your code
+51 -76
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
@@ -48,7 +49,6 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
@@ -56,7 +56,7 @@
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages education) #:use-module (gnu packages education)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fribidi) #:use-module (gnu packages fribidi)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
@@ -122,83 +122,58 @@ Carnegie Mellon University.")
"https://github.com/cmusphinx/cmudict/blob/master/LICENSE")))) "https://github.com/cmusphinx/cmudict/blob/master/LICENSE"))))
(define-public dico (define-public dico
(let ((commit "05da4bc9e613834fdb065e38c7181044d8889575") (package
(revision "0")) (name "dico")
(package (version "2.12")
(name "dico") (source (origin
(version (git-version "2.12" revision commit)) (method url-fetch)
(source (uri (string-append "mirror://gnu/dico/dico-"
(origin version ".tar.xz"))
(method git-fetch) (sha256
(uri (git-reference (base32
(url "https://git.gnu.org.ua/dico.git") "1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
(commit commit) (build-system gnu-build-system)
(recursive? #t))) (arguments
(file-name (git-file-name name version)) (list
(sha256 #:configure-flags #~(list "--disable-static")
(base32 "1fmr01gpvvb1p6p9ylr67nqx8ymmmkqjhsi9y5zvp2nc32cgxvah")))) #:phases
(build-system gnu-build-system) #~(modify-phases %standard-phases
(arguments (add-before 'build 'set-shell-file-name
(list (lambda* (#:key inputs #:allow-other-keys)
#:configure-flags #~(list "--disable-static") ;; This code invokes "/bin/sh -c 'm4 -s ...'".
#:phases (substitute* "grecs/src/grecs-lex.c"
#~(modify-phases %standard-phases (("\"/bin/sh\"")
(replace 'bootstrap (string-append "\""
(lambda* (#:key inputs #:allow-other-keys) (search-input-file inputs "/bin/sh")
(substitute* "grecs/bootstrap" "\"")))))
(("/bin/sh") (add-before 'check 'silence-guile
(which "bash")) (lambda _
((" GRECS_GIT_ID=.*") ;; Guile is too talkative, which disturbs the test
" GRECS_GIT_ID=v1.0-25-g51b12be\n")) ;; infrastructure. Gag it.
(invoke "perl" "./bootstrap" "--force" "--skip-po"))) (setenv "GUILE_AUTO_COMPILE" "0")
(add-before 'build 'post-configure (setenv "GUILE_WARN_DEPRECATED" "no"))))))
(lambda* (#:key inputs #:allow-other-keys) (native-inputs (list groff))
;; For some reason, this file is missing. (inputs
(install-file "gnulib/lib/getopt.c" (list m4 ;used at run time
"xdico/gnu") bash-minimal ;likewise
;; This code invokes "/bin/sh -c 'm4 -s ...'". pcre
(substitute* "grecs/src/grecs-lex.l" python-wrapper
(("\"/bin/sh") guile-3.0
(string-append "\"" gsasl
(search-input-file inputs "/bin/sh")))))) readline
zlib
(add-before 'check 'silence-guile wordnet
(lambda _ libxcrypt ;for 'crypt'
;; Guile is too talkative, which disturbs the test libltdl))
;; infrastructure. Gag it. (home-page "https://www.gnu.org.ua/software/dico/")
(setenv "GUILE_AUTO_COMPILE" "0") (synopsis "Implementation of DICT server (RFC 2229)")
(setenv "GUILE_WARN_DEPRECATED" "no")))))) (description
(native-inputs "GNU Dico implements a flexible dictionary server and client according to
(list autoconf-2.71 RFC 2229 (DICT Server). It is able to access any database available,
automake
bison
flex
gettext-minimal
groff
libtool
perl
texinfo))
(inputs
(list m4 ;used at run time
bash-minimal ;likewise
pcre
python-wrapper
guile-3.0
gsasl
readline
zlib
wordnet
libxcrypt ;for 'crypt'
libltdl))
(home-page "https://www.gnu.org.ua/software/dico/")
(synopsis "Implementation of DICT server (RFC 2229)")
(description
"GNU Dico implements a flexible dictionary server and client according
to RFC 2229 (DICT Server). It is able to access any database available,
regardless of format, thanks to its modular structure. New modules may be regardless of format, thanks to its modular structure. New modules may be
written in C, Guile or Python. Dico also includes a command-line client, written in C, Guile or Python. Dico also includes a command-line client,
which may be used to query remote dictionary databases.") which may be used to query remote dictionary databases.")
(license license:gpl3+)))) (license license:gpl3+)))
(define-public libmaa (define-public libmaa
(package (package
+9
View File
@@ -67,6 +67,7 @@
#:use-module (gnu packages vim) #:use-module (gnu packages vim)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
@@ -289,6 +290,14 @@ install.")
(for-each (lambda (file) (for-each (lambda (file)
(chmod file #o755)) (chmod file #o755))
(find-files #$output "autopkgtest-virt-.*")))) (find-files #$output "autopkgtest-virt-.*"))))
;; Adjust use of importlib.resources to use python 3.10 compatible
;; syntax, which requires an argument.
;; Drop when switching to python 3.12+.
(add-after 'unpack 'adjust-importlib-resources-for-old-python
(lambda _
(substitute* "reprotest/__init__.py"
(("importlib.resources.files\\(\\)")
"importlib.resources.files(package='reprotest')"))))
(add-after 'unpack 'skip-most-tests (add-after 'unpack 'skip-most-tests
;; These tests require functionality not available in the guix ;; These tests require functionality not available in the guix
;; build environment ;; build environment
+1
View File
@@ -27,6 +27,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages check) #:use-module (gnu packages check)
+33 -35
View File
@@ -59,6 +59,7 @@
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system scons) #:use-module (guix build-system scons)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
@@ -105,6 +106,7 @@
#:use-module (gnu packages libbsd) #:use-module (gnu packages libbsd)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages nss) #:use-module (gnu packages nss)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-web) #:use-module (gnu packages perl-web)
@@ -264,14 +266,14 @@ tmpfs/ramfs filesystems.")
(define-public parted (define-public parted
(package (package
(name "parted") (name "parted")
(version "3.7") (version "3.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-" (uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0yzga4cjq3yplqs47dl9714vwc3v3v8nxrj80rdc5wx4c5syb380")))) "04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@@ -294,7 +296,6 @@ tmpfs/ramfs filesystems.")
(,util-linux "lib"))) (,util-linux "lib")))
(native-inputs (native-inputs
(list gettext-minimal (list gettext-minimal
pkg-config
;; For the tests. ;; For the tests.
e2fsprogs e2fsprogs
@@ -309,6 +310,18 @@ tmpfs/ramfs filesystems.")
tables. It includes a library and command-line utility.") tables. It includes a library and command-line utility.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public parted-3.4
(package
(inherit parted)
(version "3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz"))
(sha256
(base32
"0hjkv84x1bs2qqyx1fnzjqyyqrhv7kpdbq9bgydmi99d8wi80ag1"))))))
(define-public fdisk (define-public fdisk
(package (package
(name "fdisk") (name "fdisk")
@@ -1224,25 +1237,16 @@ and its highly optimized now for efficient performance.")
(package (package
(name "volume-key") (name "volume-key")
(version "0.3.12") (version "0.3.12")
(source (source (origin
(origin (method url-fetch)
(method git-fetch) (uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
(uri (git-reference version ".tar.xz"))
(url "https://pagure.io/volume_key") (sha256
(commit (string-append "volume_key-" version)))) (base32
(file-name (git-file-name name version)) "16rhfz6sjwxlmss1plb2wv2i3jq6wza02rmz1d2jrlnsq67p98vc"))))
(sha256
(base32 "0zadzbh26ckk263w02d02r2x3mry2kxbybkhwwaxwpv6jsrm7xr6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf (list pkg-config swig-4.0 python-3)) ; used to generate the Python bindings
automake
gettext-minimal
libtool
pkg-config
python ; used to generate the Python bindings
python-setuptools
swig))
(inputs (inputs
(append (append
(cons cryptsetup-minimal (libcryptsetup-propagated-inputs)) (cons cryptsetup-minimal (libcryptsetup-propagated-inputs))
@@ -1252,21 +1256,15 @@ and its highly optimized now for efficient performance.")
glib glib
gpgme))) gpgme)))
(arguments (arguments
(list `(#:tests? #f ; not sure how tests are supposed to pass, even when run manually
#:tests? #f ; not sure how tests are supposed to pass, even when run manually #:phases
#:configure-flags (modify-phases %standard-phases
#~(list "--without-python" (add-before 'configure 'patch-python.h-path
(string-append "--with-gpgme-prefix=" (lambda* (#:key inputs #:allow-other-keys)
#$(this-package-input "gpgme"))) (let ((python (assoc-ref inputs "python")))
#:phases (substitute* "Makefile.in"
#~(modify-phases %standard-phases (("/usr/include/python") (string-append python "/include/python")))
(add-before 'configure 'set-python-paths #t))))))
(lambda* (#:key inputs #:allow-other-keys)
(let ((python #$(this-package-native-input "python")))
(setenv "PYTHON3"
(string-append python "/bin/python3"))
(setenv "PYTHON3_CONFIG"
(string-append python "/bin/python3-config"))))))))
(home-page "https://pagure.io/volume_key") (home-page "https://pagure.io/volume_key")
(synopsis "Manipulate storage volume encryption keys") (synopsis "Manipulate storage volume encryption keys")
(description (description
+1 -6
View File
@@ -46,7 +46,6 @@
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)) #:use-module (gnu packages python-xyz))
(define-public boinc-client (define-public boinc-client
@@ -109,11 +108,7 @@ resources). It supports virtualized, parallel, and GPU-based applications.")
"--with-gtk" "--with-gtk"
"--with-auth"))) "--with-auth")))
(native-inputs (native-inputs
(list autoconf (list pkg-config autoconf automake which))
automake
pkg-config
python-setuptools
which))
(inputs (inputs
(list avahi (list avahi
gtk+ gtk+
+5 -1
View File
@@ -37,6 +37,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix deprecation) #:use-module (guix deprecation)
#:use-module (guix search-paths) #:use-module (guix search-paths)
#:use-module (guix utils) #:use-module (guix utils)
@@ -312,7 +313,7 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(base32 "1a5vd07wrnfbclvf6pz9p8ag9kdd1453lsl9q0bkyc45hq2xqd2a")))) (base32 "1a5vd07wrnfbclvf6pz9p8ag9kdd1453lsl9q0bkyc45hq2xqd2a"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-django python-pytest python-setuptools)) (list python-django python-pytest python-pytest-cov python-setuptools))
(home-page "https://github.com/epicserve/django-cache-url") (home-page "https://github.com/epicserve/django-cache-url")
(synopsis "Configure Django cache settings from URLs") (synopsis "Configure Django cache settings from URLs")
(description (description
@@ -403,6 +404,7 @@ and adapters that are useful for non-trivial configuration scenarios.")
python-factory-boy python-factory-boy
python-pygments python-pygments
python-pytest python-pytest
python-pytest-cov ; runs by default
python-pytest-django python-pytest-django
python-setuptools python-setuptools
python-shortuuid python-shortuuid
@@ -1311,6 +1313,7 @@ server headers required for Cross-Origin Resource Sharing (CORS).")
python-mock python-mock
python-msgpack python-msgpack
python-pytest python-pytest
python-pytest-cov
python-pytest-django python-pytest-django
python-pytest-mock python-pytest-mock
python-setuptools python-setuptools
@@ -2167,6 +2170,7 @@ templates and not in python-level form definitions.")
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-pytest-cov ; runs by default
python-pytest-django python-pytest-django
python-setuptools python-setuptools
python-wheel)) python-wheel))
+1
View File
@@ -29,6 +29,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
+1 -3
View File
@@ -41,7 +41,6 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
@@ -49,10 +48,10 @@
#:use-module (gnu packages gdb) #:use-module (gnu packages gdb)
#:use-module (gnu packages libedit) #:use-module (gnu packages libedit)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
@@ -117,7 +116,6 @@
("ldc" ,gdmd) ("ldc" ,gdmd)
("ninja" ,ninja) ("ninja" ,ninja)
("python-wrapper" ,python-wrapper) ("python-wrapper" ,python-wrapper)
("python-setuptools" ,python-setuptools)
("tzdata" ,tzdata-for-tests) ("tzdata" ,tzdata-for-tests)
("unzip" ,unzip))) ("unzip" ,unzip)))
(home-page "http://wiki.dlang.org/LDC") (home-page "http://wiki.dlang.org/LDC")
+4 -4
View File
@@ -24,7 +24,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se> ;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com> ;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
;;; ;;;
@@ -56,7 +56,7 @@
#:use-module (gnu packages datastructures) #:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
@@ -841,14 +841,14 @@ to result in system-wide compromise.")
(define-public unbound (define-public unbound
(package (package
(name "unbound") (name "unbound")
(version "1.25.1") (version "1.24.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-" (uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0vsqmgnq7ibi0b3akzy45nqf0wazmb0bmpk2fp8wyn89gckvds0g")))) (base32 "1nwwwmwazwx40nm88lhh7k1basml2ai6j9q30gnclvca00zbbrs4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "python")) (outputs '("out" "python"))
(native-inputs (native-inputs
+2 -2
View File
@@ -53,6 +53,7 @@
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (srfi srfi-26)) #:use-module (srfi srfi-26))
;; The fetch-plan, install-plan and phases for docbook-xml tend to vary ;; The fetch-plan, install-plan and phases for docbook-xml tend to vary
@@ -665,8 +666,7 @@ the in DocBook SGML DTDs.")
(base32 (base32
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n")) "0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))
(patches (patches
(search-patches "dblatex-importlib.patch" (search-patches "dblatex-inkscape-1.0.patch"))))
"dblatex-inkscape-1.0.patch"))))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
+1 -65
View File
@@ -39,12 +39,12 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages containers)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
@@ -198,50 +198,6 @@ enforce convention and best practices for metrics collection in Docker
projects.") projects.")
(license (list license:asl2.0 license:cc-by-sa4.0)))) (license (list license:asl2.0 license:cc-by-sa4.0))))
(define-public go-github-com-moby-policy-helpers
(package
(name "go-github-com-moby-policy-helpers")
(version "0.0.0-20260507153417-a39d60132186")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/moby/policy-helpers")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "12fa602jianip7dg98f2i9i686s2a9bsclw8sqxw1ac1v19qlqr8"))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "vendor"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.25
#:embed-files #~(list ".*\\.json")
#:import-path "github.com/moby/policy-helpers"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-containerd-containerd-v2
go-github-com-containerd-errdefs
go-github-com-containerd-platforms
go-github-com-distribution-reference
go-github-com-gofrs-flock
go-github-com-in-toto-in-toto-golang
go-github-com-opencontainers-go-digest
go-github-com-opencontainers-image-spec
go-github-com-pkg-errors
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-sigstore
go-github-com-sigstore-sigstore-go
go-github-com-theupdateframework-go-tuf-v2
go-golang-org-x-sync))
(home-page "https://github.com/moby/policy-helpers")
(synopsis "Policy helpers for Docker")
(description "This package provides a policy helpers for Moby (Docker)
and BuildKit. It is a work in progress.")
(license license:asl2.0)))
(define-public python-docker (define-public python-docker
(package (package
(name "python-docker") (name "python-docker")
@@ -372,26 +328,6 @@ applications services. Then, using a single command, the containers are
created and all the services are started as specified in the configuration.") created and all the services are started as specified in the configuration.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public docker-policy-helper
(package/inherit go-github-com-moby-policy-helpers
(name "docker-policy-helper")
(arguments
(substitute-keyword-arguments arguments
((#:import-path _) "github.com/moby/policy-helpers/cmd/policy-helper")
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)
((#:tests? _ #t) #f)
((#:unpack-path _ "") "github.com/moby/policy-helpers")
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'install 'fix-bin-name
(lambda _
(rename-file (string-append #$output "/bin/policy-helper")
(string-append #$output "/bin/docker-policy-helper"))))))))
(native-inputs (package-propagated-inputs go-github-com-moby-policy-helpers))
(propagated-inputs '())
(inputs '())))
(define-public python-docker-pycreds (define-public python-docker-pycreds
(package (package
(name "python-docker-pycreds") (name "python-docker-pycreds")
+18 -34
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2018, 2026 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@@ -41,6 +41,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix deprecation) #:use-module (guix deprecation)
@@ -57,7 +58,7 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages kde-frameworks) #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@@ -191,20 +192,21 @@ markup) can be customized and extended by the user.")
(define-deprecated asciidoc-py3 asciidoc) (define-deprecated asciidoc-py3 asciidoc)
(define-public doxygen-1.16 (define-public doxygen
(package (package
(name "doxygen") (name "doxygen")
(version "1.16.1") (version "1.14.0")
(home-page "https://www.doxygen.nl/") (home-page "https://www.doxygen.nl/")
(source (source (origin
(origin (method url-fetch)
(method url-fetch) (uri (list (string-append home-page "files/doxygen-"
(uri (list (string-append home-page "files/doxygen-" version version ".src.tar.gz")
".src.tar.gz") (string-append "mirror://sourceforge/doxygen/rel-"
(string-append "mirror://sourceforge/doxygen/rel-" version version "/doxygen-" version
"/doxygen-" version ".src.tar.gz"))) ".src.tar.gz")))
(sha256 (sha256
(base32 "1a33w82ln692qsf3ls0j31f6khljjs1cy3bwd70pra2fa4xy6710")))) (base32
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
(list bison (list bison
@@ -248,25 +250,6 @@ IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
and to some extent D.") and to some extent D.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public doxygen-1.14
(package
(inherit doxygen-1.16)
(name "doxygen")
(version "1.14.0")
(home-page "https://www.doxygen.nl/")
(source (origin
(method url-fetch)
(uri (list (string-append home-page "files/doxygen-"
version ".src.tar.gz")
(string-append "mirror://sourceforge/doxygen/rel-"
version "/doxygen-" version
".src.tar.gz")))
(sha256
(base32
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))))
(define-public doxygen doxygen-1.14)
(define-public halibut (define-public halibut
(package (package
(name "halibut") (name "halibut")
@@ -489,8 +472,9 @@ inspired by Dash.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
;; Custom build steps to prevent using pyproject-build-system which ;; Essentially a lighter copy of the former python-build-system.
;; allows to edit the latter without a texlive + haskell world rebuild. ;; Using it rather than pyproject-build-system allows to edit the latter
;; without a texlive + haskell world rebuild.
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(delete 'bootstrap) (delete 'bootstrap)
+2 -1
View File
@@ -29,7 +29,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages base) #:use-module (gnu packages base)
@@ -62,6 +62,7 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public treecc (define-public treecc
+1
View File
@@ -25,6 +25,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system r) #:use-module (guix build-system r)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
+3 -41
View File
@@ -40,6 +40,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
@@ -206,7 +207,7 @@ with Microsoft Compiled HTML (CHM) files.")
python-css-parser python-css-parser
python-cssselect python-cssselect
python-dateutil python-dateutil
python-dnspython python-dnspython-1.16
python-feedparser python-feedparser
python-fonttools python-fonttools
python-html2text python-html2text
@@ -282,9 +283,7 @@ tags = [\"WS_X11\"]")
(string-append "[tool.sip.project] (string-append "[tool.sip.project]
sip-include-dirs = [\"" sip-include-dirs = [\""
#$(this-package-input "python-pyqt") #$(this-package-input "python-pyqt")
"/lib/python" "/lib/python3.11/site-packages/PyQt6/bindings\"]")))
#$(version-major+minor (package-version python))
"/site-packages/PyQt6/bindings\"]")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py" (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'") (("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \"" (string-append "PDFTOHTML = \""
@@ -416,43 +415,6 @@ e-books for convenient reading.")
accessing and converting various ebook file formats.") accessing and converting various ebook file formats.")
(license license:expat))) (license license:expat)))
(define-public epub-thumbnailer
;; See: <https://github.com/marianosimone/epub-thumbnailer/issues/46>.
(let ((commit "de4b5bf0fcd1817d560f180231f7bd22d330f1be")
(revision "0"))
(package
(name "epub-thumbnailer")
(version (git-version "0.0.0" revision commit))
(home-page "https://github.com/marianosimone/epub-thumbnailer")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1bkknrcds67qkgci6kdkv51fz8hzmqg8z1vkkni4jl4vgix7cjxg"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no tests provided
#:phases
#~(modify-phases %standard-phases
(add-after 'strip 'rename-program
(lambda _
(with-directory-excursion #$output
(rename-file "bin/epub-thumbnailer.py"
"bin/epub-thumbnailer")))))))
(propagated-inputs (list python-pillow))
(native-inputs (list python-setuptools))
(synopsis
"Extract the cover of an epub book and create a thumbnail for it")
(description
"@code{epub-thumbnailer} is a simple script that tries to find a cover
into an epub file and creates a thumbnail for it.")
(license license:gpl3))))
(define-public inkbox (define-public inkbox
(package (package
(name "inkbox") (name "inkbox")
+2 -1
View File
@@ -42,7 +42,7 @@
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages django) #:use-module (gnu packages django)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
@@ -91,6 +91,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
+45
View File
@@ -204,3 +204,48 @@ and EFI variable management.")
;; Library routines (in lib/) are under LGPL 2.1. ;; Library routines (in lib/) are under LGPL 2.1.
;; Compiling/linking/using OpenSSL is permitted. ;; Compiling/linking/using OpenSSL is permitted.
(license (list license:gpl2 license:lgpl2.1)))) (license (list license:gpl2 license:lgpl2.1))))
(define-public efilinux
(package
(name "efilinux")
(version "1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mfleming/efilinux")
(commit (string-append "efilinux-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0b4nxzr3wl5v4b52r79iw1arfgasz26xb38r2blw9v2qz2s1q9w2"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list "CC=gcc"
,@(match (%current-system)
("aarch64-linux"
'("ARCH=aarch64"))
("armhf-linux"
'("ARCH=arm"))
(_ '()))
(string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
"/include")
(string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
"/lib"))
#:tests? #f ; No tests exist.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "efilinux.efi"
(string-append (assoc-ref outputs "out")
"/libexec"))
#t)))))
(inputs
(list gnu-efi))
(synopsis "Minimal Linux loader for UEFI")
(description "This package provides a minimal Linux loader as an UEFI
program.")
(home-page "https://github.com/mfleming/efilinux")
(license license:bsd-2)))
+72 -452
View File
@@ -64,6 +64,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix deprecation) #:use-module (guix deprecation)
#:use-module (guix download) #:use-module (guix download)
@@ -90,7 +91,7 @@
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages embedded) #:use-module (gnu packages embedded)
#:use-module (gnu packages engineering) #:use-module (gnu packages engineering)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
@@ -104,13 +105,11 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages graph) #:use-module (gnu packages graph)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages libedit) #:use-module (gnu packages libedit)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
@@ -195,10 +194,6 @@
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases (assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file)) 'generate-gdk-pixbuf-loaders-cache-file))
(add-after 'unpack 'fix-python-incompatibilities
(lambda _
(substitute* (find-files "." "\\.py$")
(("assertEquals") "assertEqual"))))
(add-before 'build 'set-home-env (add-before 'build 'set-home-env
(lambda _ (lambda _
(setenv "HOME" "/tmp"))) (setenv "HOME" "/tmp")))
@@ -245,8 +240,8 @@ are also taken from the original.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public abc (define-public abc
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b") (let ((commit "80c8a9a1928ef8148a6b504e9590ec07c55c8bcf")
(revision "11")) (revision "10"))
(package (package
(name "abc") (name "abc")
(version (git-version "0.0" revision commit)) (version (git-version "0.0" revision commit))
@@ -258,7 +253,7 @@ are also taken from the original.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85")))) "1fbnwsd841z86vfv45443qfpx0l199vf08sgms8wyz19jw7m5ds6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list readline)) (list readline))
@@ -283,7 +278,7 @@ formal verification.")
(package (package
(inherit abc) (inherit abc)
(name "abc-yosyshq") (name "abc-yosyshq")
(version "0.65") (version "0.64")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -292,53 +287,12 @@ formal verification.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka")))) "1jk74yq7dnrnai8r9hqc10jcjmgj50jxj6hsflmvc61acm1r3f8r"))))
(home-page "https://github.com/YosysHQ/abc/") (home-page "https://github.com/YosysHQ/abc/")
(description "ABC is a program for sequential logic synthesis and (description "ABC is a program for sequential logic synthesis and
formal verification. This is the Yosyshq fork of ABC.") formal verification. This is the Yosyshq fork of ABC.")
(license (license:non-copyleft "file:///copyright.txt")))) (license (license:non-copyleft "file:///copyright.txt"))))
(define-public appcsxcad
(package
(name "appcsxcad")
(version "0.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/AppCSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "145awcsg4vl2xmrh5yf9fcasmghrai3x6ivgdxmrm1w3v9gyaccf"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
#:tests? #f)) ;No tests.
(inputs (list boost
cgal
csxcad
eigen
expat
freetype
gmp
hdf5
libjpeg-turbo
libpng
libtiff
lz4
openmpi
qcsxcad
tinyxml
vtk))
(home-page "https://github.com/thliebig/AppCSXCAD")
(synopsis "Minimal GUI application for the @code{qcsxcad} library")
(description
"A minimal application for the @code{qcsxcad} library which is used to
describe geometrical objects and their physical and non-physical properties.")
(license license:gpl3)))
(define-public apycula (define-public apycula
(package (package
(name "apycula") (name "apycula")
@@ -450,7 +404,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(define-public ciel (define-public ciel
(package (package
(name "ciel") (name "ciel")
(version "2.4.1") (version "2.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -459,7 +413,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "08r30ighn86995dcf7278k9nrci8wbp6kglgk011y6g80z9m2zm7")))) (base32 "0cj4cpmpqi7aqj9jkpp87qs9bjcg3j97adv1s91pnfrkplff8rh1"))))
(arguments (arguments
(list (list
#:tests? #f ;no tests #:tests? #f ;no tests
@@ -489,62 +443,6 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
chip design and @acronym{EDA, Electronic Design Automation}.") chip design and @acronym{EDA, Electronic Design Automation}.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public csxcad
(package
(name "csxcad")
(version "0.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/CSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c383zsv4fp40kmpawamfi9zg3b8x3d4m091ldwk15mii3467hp3"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:configure-flags
#~(list
(string-append "-DFPARSER_ROOT_DIR=" #$(this-package-input "fparser")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-cmake-and-sources
(lambda _
(substitute* "CMakeLists.txt"
((" system\n")
"")
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
"find_package(HDF5 REQUIRED COMPONENTS C HL)"))
;; Fix missing `std::`.
;; This is fixed in upstream already but not tagged.
(substitute* "src/CSPropDiscMaterial.cpp"
(("\tcout ")
"\tstd::cout ")))))))
(inputs (list boost
cgal
eigen
fparser
hdf5
gmp
libjpeg-turbo
libpng
libtiff
lz4
mpfr
openmpi
tinyxml
vtk
zlib))
(home-page "https://github.com/thliebig/CSXCAD")
(synopsis "3D geometry library for C++")
(description
"@code{csxcad} is a C++ library to describe geometrical objects
and their physical or non-physical properties for electromagnetics simulations.")
(license license:lgpl3+)))
(define-public comedilib (define-public comedilib
(package (package
(name "comedilib") (name "comedilib")
@@ -569,7 +467,7 @@ individual low-level driver modules.")
(define-public eqy (define-public eqy
(package (package
(name "eqy") (name "eqy")
(version "0.65") (version "0.64")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -582,10 +480,8 @@ individual low-level driver modules.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
#:imported-modules %pyproject-build-system-modules #:imported-modules (append %default-gnu-imported-modules
#:modules '((guix build gnu-build-system) %python-build-system-modules)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
#:make-flags #:make-flags
#~(list (string-append "PREFIX=" #$output)) #~(list (string-append "PREFIX=" #$output))
#:phases #:phases
@@ -612,7 +508,7 @@ individual low-level driver modules.")
(invoke "make" "-C" "examples/spm") (invoke "make" "-C" "examples/spm")
(invoke "make" "-C" "examples/simple")))) (invoke "make" "-C" "examples/simple"))))
(add-after 'install 'python:wrap (add-after 'install 'python:wrap
(assoc-ref py:%standard-phases 'wrap))))) (@@ (guix build python-build-system) wrap)))))
(native-inputs (native-inputs
(list clang python-minimal-wrapper python-sphinx texinfo yosys)) (list clang python-minimal-wrapper python-sphinx texinfo yosys))
(inputs (inputs
@@ -1021,7 +917,7 @@ files.")
(define-public klayout (define-public klayout
(package (package
(name "klayout") (name "klayout")
(version "0.30.9") (version "0.30.7")
(source (source
(origin (method git-fetch) (origin (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -1030,7 +926,7 @@ files.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1v5ddw7xixvdc3qshd0lkrc3ayk2q5wkk1zbhvsidq0kzlqbr2z5")))) "0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
(list (list
@@ -1173,7 +1069,7 @@ characterization result in a liberty library file.")
(define-public kicad (define-public kicad
(package (package
(name "kicad") (name "kicad")
(version "10.0.3") (version "10.0.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -1181,7 +1077,7 @@ characterization result in a liberty library file.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3")) "1mnlv8fyz03pfg8pkqwdl5gjz6vsk98c6414lf3wkvrkb85ljaav"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@@ -1306,7 +1202,7 @@ package.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b")))) "1c0vn13rp0z12rlqhl321pk2gj9577dyky6xj3i6hb040i3v7zrr"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html" `(#:configure-flags (list "-DBUILD_FORMATS=html"
@@ -1314,7 +1210,7 @@ package.")
#:tests? #f)) ;no test suite #:tests? #f)) ;no test suite
(native-inputs (list asciidoc (native-inputs (list asciidoc
gettext-minimal gettext-minimal
git-minimal/pinned git-minimal
perl perl
perl-unicode-linebreak perl-unicode-linebreak
perl-yaml-tiny perl-yaml-tiny
@@ -1338,7 +1234,7 @@ package.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl")))) "0iz4lb33wdsw4f82a0ln8ycgaf39gjws03mvl2j1q9npwj6xl1cm"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (list python-wrapper)) (native-inputs (list python-wrapper))
(arguments (arguments
@@ -1368,7 +1264,7 @@ libraries.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9")))) "0jqgyi1yb2zc6w56ba7xama0wnhrqwbbnf2fqvr47xihvdcvs87v"))))
(synopsis "Official KiCad footprint libraries") (synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries."))) (description "This package contains the official KiCad footprint libraries.")))
@@ -1385,7 +1281,7 @@ libraries.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl")))) "0jr70ry6inzc2fy3s300z0zlmihbq95ba1zckyd1wwbpplaj1gbl"))))
(synopsis "Official KiCad 3D model libraries") (synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries."))) (description "This package contains the official KiCad 3D model libraries.")))
@@ -1407,60 +1303,6 @@ libraries.")
(description "This package contains the official KiCad project and (description "This package contains the official KiCad project and
worksheet templates."))) worksheet templates.")))
(define-public kicad-cern-libraries
;; Upstream does not tag releases.
(let ((commit "980670fefdf71965aae6c56194d7f2a68c3e6a68")
(revision "0"))
(package
(name "kicad-cern-libraries")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/ohwr/cern-kicad-libs.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0lr1p28gknbgsr86hbzh87plagcyc040v6141xmha280n78h2l62"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("SchLib" "share/kicad/cern/")
("PcbLib" "share/kicad/cern/")
("CERN.sqlite" "share/kicad/cern/")
("CERN_Linux.kicad_dbl" "share/kicad/cern/")
("fp-lib-table" "share/kicad/cern/")
("sym-lib-table" "share/kicad/cern/")
("README.md" "share/doc/kicad-cern-libraries/")
("LICENSE" "share/doc/kicad-cern-libraries/")
("LICENSES" "share/doc/kicad-cern-libraries/")
("CHECKSUMS" "share/doc/kicad-cern-libraries/")
("pcblib_conversion_log.txt" "share/doc/kicad-cern-libraries/")
("schlib_conversion_log.txt" "share/doc/kicad-cern-libraries/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adapt-library-tables
(lambda _
(substitute* "sym-lib-table"
(("\\$\\{KICAD9_SYMBOL_DIR\\}")
"${KICAD10_SYMBOL_DIR}")))))))
(propagated-inputs (list sqliteodbc))
(native-search-paths
(list (search-path-specification
(variable "CERN_LIB_DIR")
(files '("share/kicad/cern"))
(separator #f))))
(home-page "https://gitlab.com/ohwr/cern-kicad-libs")
(synopsis "CERN component libraries for KiCad")
(description
"This package provides CERN's KiCad component libraries, including
schematic symbols, footprints, a SQLite-backed database library, and KiCad
library tables. The libraries are generated from CERN's Altium Designer
libraries.")
(license license:ohl2-p))))
(define-public lepton-eda (define-public lepton-eda
(package (package
(name "lepton-eda") (name "lepton-eda")
@@ -1662,7 +1504,7 @@ an embedded event driven algorithm.")
(define-public librelane (define-public librelane
(package (package
(name "librelane") (name "librelane")
(version "3.0.3") (version "3.0.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -1671,16 +1513,12 @@ an embedded event driven algorithm.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8")))) "1v43adkw5c624nd06g11cb609v8pj3prfyyawbq3i4k1w1law597"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
(("click>=8,<8.3") "click>=8"))))
(add-after 'compress-documentation 'wrap-program (add-after 'compress-documentation 'wrap-program
(lambda _ (lambda _
(wrap-program (string-append #$output "/bin/librelane") (wrap-program (string-append #$output "/bin/librelane")
@@ -1932,31 +1770,6 @@ management with library, schematic and board editors.")
(license (list license:expat ;libfst and fastlz-derived sources (license (list license:expat ;libfst and fastlz-derived sources
license:bsd-2))))) ;for lz4-derived sources license:bsd-2))))) ;for lz4-derived sources
(define-public python-csxcad
(package
(inherit csxcad)
(name "python-csxcad")
(build-system pyproject-build-system)
(arguments
(list
;; Tests are broken in v0.6.3.
;; Check on update.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'prepare-build
(lambda _
(chdir "./python")
(setenv "CSXCAD_INSTALL_PATH"
#$(this-package-input "csxcad")))))))
(native-inputs (list python-minimal python-cython python-numpy
python-setuptools))
(inputs (list csxcad fparser hdf5 python-numpy tinyxml))
(synopsis "Python bindings for @code{csxcad}")
(description "Library for describing geometrical objects and their
physical and non-physical properties.")
(license license:lgpl3+)))
(define-public python-lln-libparse (define-public python-lln-libparse
(package (package
(name "python-lln-libparse") (name "python-lln-libparse")
@@ -2207,7 +2020,7 @@ which allows one to install the M8 firmware on any Teensy.")
(define-public magic (define-public magic
(package (package
(name "magic") (name "magic")
(version "8.3.652") (version "8.3.633")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -2216,7 +2029,7 @@ which allows one to install the M8 firmware on any Teensy.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "07q2lldcq6zb1apa5d3paciha92r6jlp7xny8pc31f56k5s9jnmz")))) (base32 "1rwrhb0q99rpv4lbiw1sqykwzf9gj1my2wkh6mp8g36rab2vhii3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@@ -2246,7 +2059,7 @@ versus schematic} tests and can assist with automatic routing.")
(define-public mcy (define-public mcy
(package (package
(name "mcy") (name "mcy")
(version "0.65") (version "0.64")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -2261,10 +2074,7 @@ versus schematic} tests and can assist with automatic routing.")
(list (list
#:tests? #f ;there are no tests #:tests? #f ;there are no tests
#:imported-modules (append %qt-build-system-modules #:imported-modules (append %qt-build-system-modules
%pyproject-build-system-modules) %python-build-system-modules)
#:modules '((guix build qt-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'build-info-documentation (add-after 'unpack 'build-info-documentation
@@ -2293,7 +2103,7 @@ versus schematic} tests and can assist with automatic routing.")
(install-it "mcy") (install-it "mcy")
(install-it "mcy-dash"))) (install-it "mcy-dash")))
(add-after 'make-install 'python:wrap (add-after 'make-install 'python:wrap
(assoc-ref py:%standard-phases 'wrap))))) (@@ (guix build python-build-system) wrap)))))
(native-inputs (native-inputs
(list pkg-config (list pkg-config
python-sphinx python-sphinx
@@ -2312,7 +2122,7 @@ coverage.")
(define-public netgen (define-public netgen
(package (package
(name "netgen") (name "netgen")
(version "1.5.320") (version "1.5.318")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -2321,7 +2131,7 @@ coverage.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11mvf0nrsfc1lxbgqhmczi0maw4n10lib2xqnhpkyy73ci489147")))) (base32 "19rd8y2pspycr2296nhm60fhsgnzlyzb09wx2kgqzg6s7h6cmrr5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@@ -2521,7 +2331,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(define-public nvc (define-public nvc
(package (package
(name "nvc") (name "nvc")
(version "1.21.0") (version "1.20.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -2530,7 +2340,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"00hnrzk9dw88srfmjxxb9xkgnd5n26pmqlcw1bff1y0bckblsr38")))) "1b38x2ch468s4p6mrq6c8s0d95vb84p6w4v8in79l4w7sfy8jnr0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:out-of-source? #t (list #:out-of-source? #t
@@ -2669,66 +2479,6 @@ such as:
@end itemize") @end itemize")
(license license:expat))) (license license:expat)))
(define-public openems
(package
(name "openems")
(version "0.0.36")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/openEMS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vxlknnji7kha0kabpjqh48i4r0rqlla9gcxhn69d0gcw76albmw"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list (string-append "-DCSXCAD_ROOT_DIR="
#$(this-package-input "csxcad"))
(string-append "-DFPARSER_ROOT_DIR="
#$(this-package-input "fparser")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-cmake
(lambda _
(substitute* "CMakeLists.txt"
((" system\n") "")
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
"find_package(HDF5 1.8 REQUIRED)"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? source inputs #:allow-other-keys)
(when tests?
(let* ((testsuite (string-append source "/TESTSUITE"))
(testsuite-tmp "/tmp/openEMS-TESTSUITE"))
;; Testsuite directory needs to be writable.
(copy-recursively testsuite testsuite-tmp)
(invoke "octave" "--no-gui" "--eval"
(string-append
"addpath('" #$output "/share/openEMS/matlab');"
"addpath('"
(search-input-directory inputs "share/CSXCAD/matlab")
"');"
;; Work around bug in test script.
"addpath('" testsuite-tmp "/helperscripts');"
"run('" testsuite-tmp "/run_testsuite.m');")))))))))
(native-inputs (list cmake-minimal octave pkg-config))
(inputs (list boost
csxcad
fparser
hdf5
openmpi
tinyxml
vtk))
(home-page "https://www.openems.de")
(synopsis "Electromagnetic field solver")
(description "@code{OpenEMS} is an electromagnetic field solver using
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
(license license:gpl3+)))
(define-public pcb-rnd (define-public pcb-rnd
(package (package
(name "pcb-rnd") (name "pcb-rnd")
@@ -3260,6 +3010,7 @@ Numpy arrays for convenience.")
(setenv "PDM_BUILD_SCM_VERSION" #$version)))))) (setenv "PDM_BUILD_SCM_VERSION" #$version))))))
(native-inputs (native-inputs
(list python-pdm-backend (list python-pdm-backend
python-pytest-cov
python-setuptools python-setuptools
python-setuptools-scm python-setuptools-scm
sby sby
@@ -3438,12 +3189,8 @@ SystemVerilog, and SystemC, with conversion between languages and to JSON.")
inputs "include/antlr4-runtime")) inputs "include/antlr4-runtime"))
(antlr4cpp-lib (search-input-file (antlr4cpp-lib (search-input-file
inputs "lib/libantlr4-runtime.so")) inputs "lib/libantlr4-runtime.so"))
(python-include (python-include (search-input-directory
(search-input-directory inputs "include/python3.11")))
inputs
(string-append
"include/python"
#$(version-major+minor (package-version python))))))
;; Patch CMake to use our paths directly. ;; Patch CMake to use our paths directly.
(substitute* "src/CMake_antlr4.txt" (substitute* "src/CMake_antlr4.txt"
(("set\\(ANTLR_CLASSPATH \"\"\\)") (("set\\(ANTLR_CLASSPATH \"\"\\)")
@@ -3535,44 +3282,6 @@ integrated circuit Hardware Description Language} and SystemVerilog
parser library for Python.") parser library for Python.")
(license license:expat))) (license license:expat)))
(define-public python-openems
(package
(inherit openems)
(name "python-openems")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; No tests. Check again on package upgrade.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-sources
;; Check if this is still needed on upgrade.
(lambda _
(substitute* "python/openEMS/_nf2ff.pxd"
(("cimport cython.numeric")
"import cython
from cython cimport numeric"))))
(add-before 'build 'prepare-build
(lambda* _
(chdir "./python")
(setenv "CSXCAD_INSTALL_PATH"
#$(this-package-input "csxcad"))
(setenv "OPENEMS_INSTALL_PATH"
#$(this-package-input "openems")))))))
(native-inputs (list python-cython python-setuptools))
(inputs (list csxcad
fparser
openems
python-csxcad
python-hdf5storage
python-numpy
tinyxml))
(home-page "https://www.openems.de")
(synopsis "Python API for the electromagnetic field solver @code{OpenEMS}")
(description "@code{OpenEMS} is an electromagnetic field solver using
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
(license license:gpl3+)))
(define-public python-pyucis (define-public python-pyucis
(package (package
(name "python-pyucis") (name "python-pyucis")
@@ -3608,16 +3317,15 @@ Standard} data mode.")
(version "0.4.1") (version "0.4.1")
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (pypi-uri "pyvcd" version))
(url "https://github.com/SanDisk-Open-Source/pyvcd")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1a1fsgxmpy6gbrs7lp3a56b7d4g6srlp42y5azb1ywjx3w8fiwc6")))) (base32 "15nnydvr1a4ykh8cagi484sfgvdg0dnjxaw6c0ivhjbrbblpaqnw"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-pytest python-setuptools python-setuptools-scm)) (list python-pytest-cov
python-setuptools
python-setuptools-scm))
(home-page "http://pyvcd.readthedocs.io/") (home-page "http://pyvcd.readthedocs.io/")
(synopsis "Library to manipulate digital wave files") (synopsis "Library to manipulate digital wave files")
(description (description
@@ -3805,7 +3513,7 @@ set.")
(define-public fusesoc (define-public fusesoc
(package (package
(name "fusesoc") (name "fusesoc")
(version "2.4.6") (version "2.4.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -3814,7 +3522,7 @@ set.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11bmvk10mszv65ws84jmm220ivwn55v8664kkdm9d4m99pryi2kp")))) (base32 "1sw0zl6hjlzp1a0agdl9yp901pih70ppzzss18l8f3jxs6q7jm1n"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@@ -3894,7 +3602,10 @@ Automation}.")
#$output "/share/info/hdlmake-figures"))))) #$output "/share/info/hdlmake-figures")))))
#:test-flags #~(list "test_all.py"))) #:test-flags #~(list "test_all.py")))
(native-inputs (native-inputs
(list python-pytest python-setuptools python-sphinx texinfo)) (list python-pytest-cov
python-setuptools
python-sphinx
texinfo))
(propagated-inputs (list python-networkx)) (propagated-inputs (list python-networkx))
(home-page "https://ohwr.gitlab.io/project/hdl-make/") (home-page "https://ohwr.gitlab.io/project/hdl-make/")
(synopsis "Generate multi-purpose makefiles for HDL projects") (synopsis "Generate multi-purpose makefiles for HDL projects")
@@ -4057,9 +3768,18 @@ design.")
;; Tests are expensive and may introduce race condition on systems with ;; Tests are expensive and may introduce race condition on systems with
;; high (more than 16) threads count; limit parallel jobs to 8x. ;; high (more than 16) threads count; limit parallel jobs to 8x.
#~(list #~(list
"--numprocesses" (number->string (min 8 (parallel-job-count)))))) "--numprocesses" (number->string (min 8 (parallel-job-count))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'pathch-pytest-options
(lambda _
(substitute* "pyproject.toml"
((".*--cov=.*") "")
((".*--self-contained-html.*") "")
((".*-n.*auto.*") "")))))))
(native-inputs (native-inputs
(list python-pytest (list python-pytest-cov
python-pytest-html
python-pytest-xdist python-pytest-xdist
python-setuptools)) python-setuptools))
(propagated-inputs (propagated-inputs
@@ -4071,36 +3791,6 @@ design.")
to enforce it.") to enforce it.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-pyxhdl
(package
(name "python-pyxhdl")
(version "0.53")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidel/pyxhdl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16dqqhbg5q6fxlhnfcjimxv1zgziw5g46askjhfg8g2hn7i3vfal"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "tests/test_runner.py")))
(native-inputs
(list python-setuptools))
(propagated-inputs
(list python-numpy python-misc-utils))
(home-page "https://github.com/davidel/pyxhdl")
(synopsis
"Python frontend for @acronym{HDL, Hardware Description Languages}")
(description
"PyXHDL replaces HDL code by Python, generating VHDL (>= 2008) and
Verilog (SystemVerilog >= 2012) code to be used for synthesis and simulation.")
(license license:asl2.0)))
(define-public python-vunit (define-public python-vunit
(package (package
(name "python-vunit") (name "python-vunit")
@@ -4189,71 +3879,6 @@ automated testing of HDL code.")
;; subdirectories are under ASL. ;; subdirectories are under ASL.
(license (list license:mpl2.0 license:asl2.0)))) (license (list license:mpl2.0 license:asl2.0))))
(define-public qcsxcad
(package
(name "qcsxcad")
(version "0.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/QCSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ag1shyhsmfsvqm35fi2kfnbcngmln8rjsv88f97gyx9wiqc808y"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;No tests.
#:qtbase qtbase ;For Qt 6
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-sources
;; Fix missing `std::`-prefix and missing include.
;; This is fixed in upstream but not tagged with a version.
(lambda _
(substitute* "vtkInteractorStyleRubberBand2DPlane.cpp"
(("#include \"vtkCamera.h\"")
"#include <iostream>\n#include \"vtkCamera.h\"")
(("\tcerr ")
"\tstd::cerr "))
(substitute* "VTKPrimitives.cpp"
(("#include \"VTKPrimitives.h\"")
"#include <iostream>\n#include \"VTKPrimitives.h\"")
(("\tcerr ")
"\tstd::cerr ")
(("\tcout ")
"\tstd::cout "))
(substitute* "QVTKStructure.cpp"
(("#include \"QVTKStructure.h\"")
"#include <iostream>\n#include \"QVTKStructure.h\"")
(("\tcerr ")
"\tstd::cerr ")
(("\tcout ")
"\tstd::cout ")))))))
(inputs (list boost
cgal
csxcad
eigen
freetype
gmp
libjpeg-turbo
libpng
libtiff
lz4
openmpi
qt5compat
tinyxml
vtk))
(home-page "https://github.com/thliebig/QCSXCAD")
(synopsis "GUI library for @code{csxcad}")
(description
"GUI library for @code{csxcad} --- a library for describing geometrical
objects and their properties. This library is used in @code{appcsxcad}
which provides a standalone graphical frontend to @{csxcad}.")
(license license:lgpl3+)))
(define-public qrouter (define-public qrouter
(package (package
(name "qrouter") (name "qrouter")
@@ -4376,7 +4001,7 @@ input and outputs an XML dataset.")
(define-public qucs-s (define-public qucs-s
(package (package
(name "qucs-s") (name "qucs-s")
(version "26.1.1") ;update qucsator-rf accordingly (version "26.1.0") ;update qucsator-rf accordingly
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -4386,7 +4011,7 @@ input and outputs an XML dataset.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"009siqmn76r2l17hnjqmr6ap8nw969hd5fyqigb4p3i8cvjq7gmx")))) "0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
(list (list
@@ -4608,7 +4233,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(define-public sby (define-public sby
(package (package
(name "sby") (name "sby")
(version "0.65") (version "0.64")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -4617,16 +4242,17 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "19cvbvg6jjh7lj1sd7jz7yd5wrlswg6dmyajc7kxgl7dd97ivpwy")))) (base32 "0jksspdgq2grk4a80i5yfc9bazfij37wpmrlkvygpz9ys5ny1432"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
#:parallel-tests? #f #:parallel-tests? #f
#:test-target "test" #:test-target "test"
#:imported-modules %pyproject-build-system-modules
#:modules `((guix build gnu-build-system) #:modules `((guix build gnu-build-system)
((guix build pyproject-build-system) #:prefix python:) ((guix build python-build-system) #:prefix python:)
(guix build utils)) (guix build utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build python-build-system))
#:make-flags #~(list (string-append "PREFIX=" #$output)) #:make-flags #~(list (string-append "PREFIX=" #$output))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@@ -5039,7 +4665,7 @@ parallel computing platforms. It also supports serial execution.")
(define-public yosys (define-public yosys
(package (package
(name "yosys") (name "yosys")
(version "0.65") (version "0.64")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -5047,16 +4673,15 @@ parallel computing platforms. It also supports serial execution.")
(url "https://github.com/YosysHQ/yosys") (url "https://github.com/YosysHQ/yosys")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "04sks9hj8h9vy6zii29zjgq38h2h4nz8a7xxiq33p1aivwq7bz8q")) (base32 "13gw5msk1kv05jkb330nybvx2s0ixm6l6mdpyapnqmv3lkhby1mj"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
(list (list
#:test-target "all" #:test-target "vanilla-test" ;TODO: restore to "test" with next release
#:make-flags #:make-flags
#~(list (string-append "PREFIX=" #$output) #~(list (string-append "PREFIX=" #$output)
"ENABLE_FUNCTIONAL_TESTS=1"
"ENABLE_EDITLINE=1" "ENABLE_EDITLINE=1"
"ENABLE_LIBYOSYS=1" "ENABLE_LIBYOSYS=1"
"ENABLE_PYOSYS=1" "ENABLE_PYOSYS=1"
@@ -5071,11 +4696,6 @@ parallel computing platforms. It also supports serial execution.")
#$(this-package-input "abc-yosyshq"))) #$(this-package-input "abc-yosyshq")))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; TODO: Remove when fixed.
(add-after 'unpack 'remove-aiger
(lambda _
(substitute* "tests/Makefile"
((".*aiger.*") ""))))
(add-before 'configure 'fix-paths (add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "backends/smt2/smtio.py" (substitute* "backends/smt2/smtio.py"
@@ -5166,12 +4786,12 @@ parallel computing platforms. It also supports serial execution.")
(git-reference (git-reference
(url "https://github.com/povik/yosys-slang") (url "https://github.com/povik/yosys-slang")
;; No tags, nor releases. ;; No tags, nor releases.
(commit "cf20b1ba0d2c9df0508f927930a87565e7e0d220") (commit "4e53d772996184b07e9bfe784060f96e6cb0a267")
(recursive? #t))) ;requires slang and fmt (recursive? #t))) ;requires slang and fmt
(file-name "yosys-slang") (file-name "yosys-slang")
(sha256 (sha256
(base32 (base32
"1rl9i19a90yis33g549ida7lygfh1qka5k96zdrvk0shn2jnm8g4"))))) "1jjr1b6xd1sr9fkyfyl4y2wkzl51m7g10bw97mnw81v2mzssrs2q")))))
;; Optional dependencies increase considerably package closure. ;; Optional dependencies increase considerably package closure.
;; - gtkwave: required only for vcd2fst binary, used by sim command. ;; - gtkwave: required only for vcd2fst binary, used by sim command.
;; - graphviz, xdot: used by show command to display schematics. ;; - graphviz, xdot: used by show command to display schematics.
@@ -5202,7 +4822,7 @@ for various application domains, including FPGAs and ASICs.")
license:expat license:expat
;; yosys-slang/third_party/fmt ;; yosys-slang/third_party/fmt
license:bsd-2 license:bsd-3 license:psfl license:bsd-2 license:bsd-3 license:psfl
;; yosys, yosys-slang ;; yosys
license:isc)))) license:isc))))
(define-deprecated-package yosys-clang yosys) (define-deprecated-package yosys-clang yosys)
+243 -575
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -702,8 +702,8 @@ editor (with wide ints)" )
#~(cons "--with-wide-int" #$flags)))))) #~(cons "--with-wide-int" #$flags))))))
(define-public emacs-next-minimal (define-public emacs-next-minimal
(let ((commit "d969185878bf50faedbafbd609c361875b891b53") (let ((commit "509228fc6c026921c67459f21164e0325efc583b")
(revision "3")) (revision "2"))
(package (package
(inherit emacs-minimal) (inherit emacs-minimal)
(name "emacs-next-minimal") (name "emacs-next-minimal")
@@ -717,7 +717,7 @@ editor (with wide ints)" )
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1pmx71b6pazjpyfs1d2ngby1idsviwbap3xbr5b7dgf0rngim32s")) (base32 "04aalyrx5jysk5fhlka98fhfx23sy99zp8j16i0ils20sflyig6n"))
(patches (patches
(search-patches "emacs-next-disable-jit-compilation.patch" (search-patches "emacs-next-disable-jit-compilation.patch"
"emacs-next-exec-path.patch" "emacs-next-exec-path.patch"
+16 -13
View File
@@ -45,6 +45,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module ((guix build utils) #:select (alist-replace delete-file-recursively)) #:use-module ((guix build utils) #:select (alist-replace delete-file-recursively))
#:use-module (gnu packages) #:use-module (gnu packages)
@@ -57,7 +58,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cross-base) #:use-module (gnu packages cross-base)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gdb) #:use-module (gnu packages gdb)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
@@ -1919,7 +1920,7 @@ and Zilog Z80 families, plus many of their variants.")
(define-public python-psptool (define-public python-psptool
(package (package
(name "python-psptool") (name "python-psptool")
(version "3.6") (version "3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -1928,40 +1929,36 @@ and Zilog Z80 families, plus many of their variants.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1s53bqimh1ih0xqmyppm2ikphi8r9492k67kn4pz3jngh2gp1wnf")))) (base32 "1fbx3b42cr7dv07p2b9qgzrgs19i066ysfasgvlfjscg2v68j8d0"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:test-backend #~'unittest)) (list #:test-backend #~'unittest))
(native-inputs (native-inputs
(list python-hatch-vcs (list python-psptrace-bootstrap
python-hatchling
python-psptrace-bootstrap
python-setuptools)) python-setuptools))
(propagated-inputs (propagated-inputs
(list python-cryptography (list python-cryptography
python-prettytable)) python-prettytable))
(home-page "https://github.com/PSPReverse/psptool") (home-page "https://github.com/PSPReverse/psptool")
(synopsis "Tool for dealing with AMD binary blobs") (synopsis "Tool for dealing with AMD binary blobs")
(description "PSPTool is a tool for dealing with AMD binary blobs.") (description "PSPTool is a tool for dealing with AMD binary blobs")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-psptrace (define-public python-psptrace
(package (package
(name "python-psptrace") (name "python-psptrace")
(version "0.11") (version "0.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "psptrace" version)) (uri (pypi-uri "psptrace" version))
(sha256 (sha256
(base32 "0lzv0dy2m5g6q4rpjd4wpw0p7n8v8crkx7akbp53lpy1c6y40iw8")))) (base32 "1mrympnpkkns2dxq34h9x9qn667ihdvbbf0wpmbp3jli0n7bj7ih"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:tests? #f)) ;no tests in PyPI or Git (list #:tests? #f)) ;no tests in PyPI or Git
(native-inputs (native-inputs
(list python-hatch-vcs (list python-setuptools))
python-hatchling
python-setuptools))
(propagated-inputs (propagated-inputs
(list python-prettytable (list python-prettytable
python-psptool)) python-psptool))
@@ -2036,7 +2033,13 @@ whereas kdmx creates pseudo-ttys.")
;; tests: 631 passed, 27 skipped, 1 warning ;; tests: 631 passed, 27 skipped, 1 warning
#:test-flags #:test-flags
;; E ModuleNotFoundError: No module named 'mbed_tools_ci_scripts' ;; E ModuleNotFoundError: No module named 'mbed_tools_ci_scripts'
#~(list "--ignore=tests/ci_scripts/test_sync_board_db.py"))) #~(list "--ignore=tests/ci_scripts/test_sync_board_db.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pytest.ini"
(("addopts = .*") "")))))))
(native-inputs (native-inputs
(list python-factory-boy (list python-factory-boy
python-pytest python-pytest
+19 -23
View File
@@ -68,7 +68,6 @@
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom) #:use-module (gnu packages cdrom)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
@@ -81,7 +80,7 @@
#:use-module (gnu packages engineering) #:use-module (gnu packages engineering)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages file-systems) #:use-module (gnu packages file-systems)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fltk) #:use-module (gnu packages fltk)
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
@@ -108,6 +107,7 @@
#:use-module (gnu packages music) #:use-module (gnu packages music)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages parallel) #:use-module (gnu packages parallel)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
@@ -140,6 +140,7 @@
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system trivial)) #:use-module (guix build-system trivial))
@@ -147,7 +148,7 @@
(define-public ares (define-public ares
(package (package
(name "ares") (name "ares")
(version "147") (version "145")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -156,28 +157,23 @@
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1b4xixngp8md2ishf3cyfwpzjcsvjb5zp678can5dcmv9z1dlsis")) (base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
(modules '((guix build utils)))
(snippet
;; Delete non-free blobs: Supersoft Diagnostics II.
#~(delete-file-recursively "tests/i8080/tests"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list #:tests? #f ; No tests
#:tests? #f ; non-free blobs #:configure-flags
#:configure-flags #~(list "-DARES_BUILD_LOCAL=FALSE"
#~(list "-DARES_BUILD_LOCAL=FALSE" "-DARES_BUILD_OFFICIAL=TRUE"
"-DARES_BUILD_OFFICIAL=TRUE" "-DARES_BUNDLE_SHADERS=FALSE"
"-DARES_BUNDLE_SHADERS=FALSE" "-DARES_SKIP_DEPS=TRUE"
"-DARES_SKIP_DEPS=TRUE" (string-append "-DARES_VERSION_OVERRIDE=" #$version))
(string-append "-DARES_VERSION_OVERRIDE=" #$version)) #:phases
#:phases #~(modify-phases %standard-phases
#~(modify-phases %standard-phases (add-after 'unpack 'avoid-libglvnd
(add-after 'unpack 'avoid-libglvnd (lambda _
(lambda _ ;; XXX: Our mesa doesn't have libglvnd support.
;; TODO: Our mesa doesn't have libglvnd support. (substitute* "ruby/cmake/os-linux.cmake"
(substitute* "ruby/cmake/os-linux.cmake" (("OpenGL::GLX") "OpenGL::GL")))))))
(("OpenGL::GLX") "OpenGL::GL")))))))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
+1
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
+283 -412
View File
@@ -33,7 +33,7 @@
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io> ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com> ;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com> ;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022, 2024-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com> ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
@@ -46,7 +46,7 @@
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu> ;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net> ;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025-2026 bdunahu <bdunahu@operationnull.com> ;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org> ;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh> ;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu> ;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
@@ -77,6 +77,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject) #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
@@ -113,7 +114,7 @@
#:use-module (gnu packages emacs-build) #:use-module (gnu packages emacs-build)
#:use-module (gnu packages emacs-xyz) #:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages compiler-tools) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
@@ -437,8 +438,9 @@ optimizer; and it can produce photorealistic and design review images.")
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k")) "0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
(snippet (snippet
;; Remove a non-free file. ;; Remove a non-free file.
#~(begin '(begin
(delete-file "doc/psfig.sty"))) (delete-file "doc/psfig.sty")
#t))
(patches (search-patches "fastcap-mulSetup.patch" (patches (search-patches "fastcap-mulSetup.patch"
"fastcap-mulGlobal.patch")))) "fastcap-mulGlobal.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@@ -448,93 +450,79 @@ optimizer; and it can produce photorealistic and design review images.")
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line ;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line
;; 3. ;; 3.
`(("texlive" ,(texlive-local-tree)) `(("texlive" ,(texlive-local-tree))
("ghostscript" ,ghostscript) ("ghostscript" ,ghostscript)))
("libfaketime" ,libfaketime)))
(arguments (arguments
(list `(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
#:make-flags #~(list "CC=gcc" "RM=rm" "SHELL=sh"
(string-append
"CFLAGS="
"-Wno-error=implicit-int"
" -Wno-error=return-mismatch"
" -Wno-error=implicit-function-declaration")
"all")
#:parallel-build? #f #:parallel-build? #f
#:tests? #f ;; no tests-suite #:tests? #f ;; no tests-suite
#:modules `((srfi srfi-1) #:modules ((srfi srfi-1)
,@%default-gnu-modules) ,@%default-gnu-modules)
#:phases #:phases
#~(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'build 'make-doc (add-after 'build 'make-doc
(lambda _ (lambda _
(invoke "faketime" (invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
"1970-01-01 00:00:00" (add-before 'make-doc 'fix-doc
"make" "CC=gcc" "RM=rm" "SHELL=sh" "manual"))) (lambda _
(add-before 'make-doc 'fix-doc (substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
(lambda _ (substitute* (find-files "doc" "\\.tex")
(substitute* "doc/Makefile" (("/bin/rm") (which "rm"))) (("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
(substitute* (find-files "doc" "\\.tex") all file scale)
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}" (string-append "\\includegraphics[scale=" scale "]{"
all file scale) file "}"))
(string-append "\\includegraphics[scale=" scale "]{" (("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
file "}")) all file width)
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}" (string-append "\\includegraphics[width=" width "]{"
all file width) file "}"))
(string-append "\\includegraphics[width=" width "]{" (("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
file "}")) all file height)
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}" (string-append "\\includegraphics[height=" height "]{"
all file height) file "}"))
(string-append "\\includegraphics[height=" height "]{" (("\\\\psfig\\{figure=([^,]*)\\}" all file)
file "}")) (string-append "\\includegraphics{" file "}")))
(("\\\\psfig\\{figure=([^,]*)\\}" all file) (substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
(string-append "\\includegraphics{" file "}"))) (("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex") all options class)
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}" (string-append "\\documentclass[" options "]{"
all options class) class "}\n"
(string-append "\\documentclass[" options "]{" "\\usepackage{graphicx}\n"
class "}\n" "\\usepackage{robinspace}"))
"\\usepackage{graphicx}\n" (("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
"\\usepackage{robinspace}")) (string-append "%" all))
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all) (("\\\\setstretch\\{.*\\}" all)
(string-append "%" all)) (string-append "%" all)))
(("\\\\setstretch\\{.*\\}" all) #t))
(string-append "%" all))))) (delete 'configure)
(delete 'configure) (add-before 'install 'clean-bin
(add-before 'install 'clean-bin (lambda _
(lambda _ (delete-file (string-append (getcwd) "/bin/README"))
(delete-file (string-append (getcwd) "/bin/README")))) #t))
(add-before 'install 'make-pdf (add-before 'install 'make-pdf
(lambda _ (lambda _
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache (setenv "TEXMFVAR" "/tmp") ;For texlive font cache
(with-directory-excursion "doc" (with-directory-excursion "doc"
(for-each (lambda (file) (and
(invoke "faketime" (for-each (lambda (file)
"-f" (invoke "dvips" file "-o"))
"1970-01-01 00:00:00" (find-files "." "\\.dvi"))
"dvips" file "-o")) (for-each (lambda (file)
(find-files "." "\\.dvi")) (invoke "ps2pdf" file))
(for-each (lambda (file) '("mtt.ps" "ug.ps" "tcad.ps"))
(invoke "faketime" (invoke "make" "clean")))))
"-f" (replace 'install
"1970-01-01 00:00:00" (lambda* (#:key outputs #:allow-other-keys)
"ps2pdf" file)) (let* ((out (assoc-ref outputs "out"))
'("mtt.ps" "ug.ps" "tcad.ps")) (data (string-append out "/share"))
(invoke "make" "clean")))) (bin (string-append out "/bin"))
(replace 'install (doc (string-append data "/doc/" ,name "-" ,version))
(lambda _ (examples (string-append doc "/examples")))
(let* ((data (string-append #$output "/share")) (with-directory-excursion "bin"
(bin (string-append #$output "/bin")) (for-each (lambda (f)
(doc (string-append data "/doc/" #$name "-" #$version)) (install-file f bin))
(examples (string-append doc "/examples"))) (find-files "." ".*")))
(with-directory-excursion "bin" (copy-recursively "doc" doc)
(for-each (lambda (f) (copy-recursively "examples" examples)
(install-file f bin)) #t))))))
(find-files "." ".*")))
(with-directory-excursion "doc"
(for-each (lambda (f)
(install-file f doc))
(find-files "." ".pdf")))
(copy-recursively "examples" examples)))))))
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm") (home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated capacitance extraction program") (synopsis "Multipole-accelerated capacitance extraction program")
(description (description
@@ -913,65 +901,64 @@ user-level language.")
;; TODO: Keep in sync with radare2. ;; TODO: Keep in sync with radare2.
(define-public iaito (define-public iaito
(package ;; Commit "Release 6.1.2"
(name "iaito") (let ((commit "790878048ecb62f4d2f1b5f848948059dd5bb8fe")
(version "6.1.4") (revision "1"))
(source (origin (package
(method git-fetch) (name "iaito")
(uri (git-reference (version (git-version "6.1.2" revision commit))
(url "https://github.com/radareorg/iaito") (source (origin
(commit version))) (method git-fetch)
(sha256 (uri (git-reference
(base32 (url "https://github.com/radareorg/iaito")
"16sp73k6ighjwp80nvf55lwzv0fb8p4ki76mnsc8xhl3vq7pka0w")) (commit commit)))
(file-name (git-file-name name version)))) (sha256
(build-system gnu-build-system) (base32
(arguments "00nqn3mx2fj5higz4niwl0nx04vnjwzccw6zjx3rhwf6fj5yfamm"))
(list (file-name (git-file-name name version))))
#:tests? #f ;no tests (build-system gnu-build-system)
#:modules '((guix build gnu-build-system) (guix build qt-utils) (arguments
(guix build utils)) (list
#:imported-modules `((guix build qt-utils) #:tests? #f ;no tests
,@%default-gnu-imported-modules) #:modules '((guix build gnu-build-system) (guix build qt-utils)
#:phases (guix build utils))
#~(modify-phases %standard-phases #:imported-modules `((guix build qt-utils)
;; The build system assumes the sdb lib is installed alongside ,@%default-gnu-imported-modules)
;; radare2. We already patch the radare2 package to use a #:phases
;; system-installed sdb rather than install its own, so we must #~(modify-phases %standard-phases
;; propagate those changes here. ;; The build system assumes the sdb lib is installed alongside
(add-before 'configure 'add-sdb-libs ;; radare2. We already patch the radare2 package to use a
(lambda _ ;; system-installed sdb rather than install its own, so we must
(substitute* '("./src/lib_radare2.pri") ;; propagate those changes here.
(("pkg-config --libs r_core" all) (add-before 'configure 'add-sdb-libs
(string-append all " sdb"))))) (lambda _
(add-after 'install 'wrap-qt (substitute* '("./src/lib_radare2.pri")
(lambda* (#:key inputs outputs #:allow-other-keys) (("pkg-config --libs r_core" all)
(wrap-all-qt-programs #:outputs outputs (string-append all " sdb")))))
#:inputs inputs (add-after 'install 'wrap-qt
#:qtbase (assoc-ref inputs "qtbase"))))))) (lambda* (#:key inputs outputs #:allow-other-keys)
(inputs (wrap-all-qt-programs #:outputs outputs
(list capstone #:inputs inputs
libuv #:qtbase (assoc-ref inputs "qtbase")))))))
libzip (inputs
lz4 (list capstone
openssl libuv
qtbase libzip
qtsvg lz4
qtwayland openssl
radare2 qtbase
sdb)) qtsvg
(native-inputs qtwayland
(list pkg-config python-minimal-wrapper)) radare2
(native-search-paths (list (search-path-specification sdb))
(variable "R2_LIBR_PLUGINS") (native-inputs
(files (list "lib/radare2")) (list pkg-config python-minimal-wrapper))
(separator #f)))) ;single value (home-page "https://github.com/radareorg/iaito")
(home-page "https://github.com/radareorg/iaito") (synopsis "Official radare2 GUI")
(synopsis "Official radare2 GUI") (description "Iaito is the official graphical interface for radare2, a
(description "Iaito is the official graphical interface for radare2, a
libre reverse engineering framework. Iaito focuses on simplicity, parity with libre reverse engineering framework. Iaito focuses on simplicity, parity with
commands, features, and keybindings.") commands, features, and keybindings.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public inspekt3d (define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef") (let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
@@ -1055,6 +1042,32 @@ in the context of per-cpu data. The library offers ABI headers to interface
with the kernel and various utilities such as per-cpu counters.") with the kernel and various utilities such as per-cpu counters.")
(license (list license:lgpl2.1 license:expat))))) (license (list license:lgpl2.1 license:expat)))))
(define-public linsmith
(package
(name "linsmith")
(version "0.99.33")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/linsmith/linsmith/linsmith-"
version "/linsmith-" version ".tar.gz"))
(sha256
(base32
"1629p29casy9pgy8hzva1bmgrvh923qk01ls3anik6zqn6swkjfn"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("CFLAGS=-fcommon")))
(native-inputs
(list pkg-config))
(inputs
(list gtk+-2 libgnomeui))
(home-page "https://jcoppens.com/soft/linsmith/index.en.php")
(synopsis "Smith Charting program")
(description "LinSmith is a Smith Charting program, mainly designed for
educational use. As such, there is an emphasis on capabilities that improve
the 'showing the effect of'-style of operation.")
(license license:gpl2+)))
(define-public valeronoi (define-public valeronoi
(package (package
(name "valeronoi") (name "valeronoi")
@@ -1227,7 +1240,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
(define-public minicom (define-public minicom
(package (package
(name "minicom") (name "minicom")
(version "2.11.1") (version "2.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -1235,7 +1248,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
(url "https://salsa.debian.org/minicom-team/minicom.git") (url "https://salsa.debian.org/minicom-team/minicom.git")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "15k20qbxrjdxadwzkp31hjy7apdasrsgs532kwmlkpzs92ff4ghs")) (base32 "0sxbyf1li3lsrvkjpn04xz6ywa42ggfc1fhdrmsibfkhqja9abn0"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@@ -1360,33 +1373,24 @@ determines the frequencies, decay constants, amplitudes, and phases of those sin
(define-public guile-libctl (define-public guile-libctl
(package (package
(name "guile-libctl") (name "guile-libctl")
(version "4.6.0") (version "4.2.0")
(source (origin (source (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri
(url "https://github.com/NanoComp/libctl") (string-append
(commit (string-append "v" version)))) "https://github.com/NanoComp/libctl/releases/download/v"
(file-name (git-file-name name version)) version "/libctl-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1lsch1qc5w9yyprrvawfwbnz7na4qah0p752kxxv144xp8yq98x7")))) "0x8r56lpfq83kfbq28vr25icl19xpfd6fjrxzcpdmv30l9pash83"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:configure-flags `(#:configure-flags '("--enable-shared")))
#~(list "--enable-shared")
#:phases
#~(modify-phases %standard-phases
;; Avoid bin/sh shebang in configure.
(add-before 'bootstrap 'no-/bin/sh
(lambda _ (delete-file "autogen.sh"))))))
(native-inputs (native-inputs
(list autoconf `(("fortran" ,gfortran)))
automake
libtool
gfortran))
(inputs (inputs
(list guile-3.0)) (list guile-2.2))
(home-page "https://libctl.readthedocs.io/en/latest/") (home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl")
(synopsis "Flexible control files implementation for scientific simulations") (synopsis "Flexible control files implementation for scientific simulations")
(description (description
"Libctl is a Guile-based library implementing flexible control files "Libctl is a Guile-based library implementing flexible control files
@@ -1396,7 +1400,7 @@ for scientific simulations.")
(define-public mpb (define-public mpb
(package (package
(name "mpb") (name "mpb")
(version "1.12.0") (version "1.8.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@@ -1405,41 +1409,50 @@ for scientific simulations.")
version "/mpb-" version ".tar.gz")) version "/mpb-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"197dm8z5hfikivb73rhywyq976rn1k621bf1admgc5xjaii20awd")))) "1jgrb7dd6qs6j6y1gnxmdgrh79l2bvqa6nk60a4pw1annsks4brd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list `(#:configure-flags
#:configure-flags (list (string-append "--with-libctl="
#~(list (assoc-ref %build-inputs "libctl")
(string-append "--with-libctl=" "/share/libctl")
#$(this-package-input "guile-libctl") "/share/libctl") "--enable-shared")
"--enable-shared"))) #:phases
(modify-phases %standard-phases
(add-before 'configure 'relax-gcc-14-strictness
(lambda _
(setenv "CFLAGS"
(string-join
(list "-Wno-error=incompatible-pointer-types"
"-Wno-error=implicit-function-declaration"
"-Wno-error=int-conversion")
" ")))))))
(native-inputs (native-inputs
(list gfortran `(("fortran" ,gfortran)
pkg-config ("pkg-config" ,pkg-config)
swig-4.4)) ("swig" ,swig-4.0)))
(inputs (inputs
(list fftw `(("fftw" ,fftw)
gsl ("gsl" ,gsl)
guile-3.0 ("guile" ,guile-2.2)
guile-libctl ("hdf5" ,hdf5)
hdf5 ("openblas" ,openblas)
openblas ("libctl" ,guile-libctl)
readline ("readline" ,readline)
zlib)) ("zlib" ,zlib)))
(home-page "https://mpb.readthedocs.io/en/latest/") (home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
(synopsis "Computes band structures and electromagnetic modes of dielectric (synopsis "Computes band structures and electromagnetic modes of dielectric
structures") structures")
(description (description
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates "MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
(harmonic modes) of Maxwell's equations in periodic dielectric structures for of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
arbitrary wavevectors, using fully-vectorial and three-dimensional methods.") fully-vectorial and three-dimensional methods.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public meep (define-public meep
(package (package
(name "meep") (name "meep")
(version "1.33.0") (version "1.30.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@@ -1448,7 +1461,7 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
version "/meep-" version ".tar.gz")) version "/meep-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1azhgz6s95siqmnxb3if6waxbvia3bij5jmxgxjz4sgn2ahw1axx")))) "1h80d7i7v06fxfdsa496b542dvr105c4v1n7pk8m3jssvbxvv2a0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
@@ -1458,11 +1471,11 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
(native-inputs (native-inputs
(list gfortran (list gfortran
pkg-config pkg-config
swig-4.4)) swig-4.0))
(inputs (inputs
(list fftw (list fftw
gsl gsl
guile-3.0 guile-2.2
guile-libctl guile-libctl
harminv harminv
hdf5 hdf5
@@ -1672,7 +1685,7 @@ multiple services and devices with hundreds of supported integrations.")
(define-public python-esptool (define-public python-esptool
(package (package
(name "python-esptool") (name "python-esptool")
(version "5.2.0") (version "5.0.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -1681,7 +1694,7 @@ multiple services and devices with hundreds of supported integrations.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0rgwa7mimznwkn8ql17yxwxsfp0is3i75y7bf62mgsxjyx7zawcd")))) (base32 "1wl75j6ncm5lahy9pzc38qivhaf9p42a2bijishdkwkw388fs6x1"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@@ -1717,7 +1730,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(define-public radare2 (define-public radare2
(package (package
(name "radare2") (name "radare2")
(version "6.1.4") ;keep in sync with iaito (version "6.1.2") ;keep in sync with iaito
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -1725,7 +1738,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"0gq90rwwmkfc7v1rhyr3lw859rsm1ryhzrwidhhh6pbp6jv03k6w")) "1d4sslhjxm00fchqcszfa59wf51v632jvf7aj4af0vdhl9f9n8k2"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(patches (patches
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch" (search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
@@ -1781,10 +1794,6 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(propagated-inputs (propagated-inputs
;; In the Libs: section of r_hash.pc. ;; In the Libs: section of r_hash.pc.
(list xxhash)) (list xxhash))
(native-search-paths (list (search-path-specification
(variable "R2_LIBR_PLUGINS")
(files (list "lib/radare2"))
(separator #f)))) ;single value
(home-page "https://radare.org/") (home-page "https://radare.org/")
(synopsis "Reverse engineering framework") (synopsis "Reverse engineering framework")
(description (description
@@ -1802,183 +1811,24 @@ like relocation symbols. It is able to deal with malformed binaries, making
it suitable for security research and analysis.") it suitable for security research and analysis.")
(license license:lgpl3))) (license license:lgpl3)))
(define-public r2ghidra
(package
(name "r2ghidra")
(version "6.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/r2ghidra")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "04x7vmg67zz0llkz3r3nmcky5z8c4ha31z8jzkm19dnyslw2qlxr"))
(modules '((guix build utils)))
(snippet
;; Delete bundled libs and remove their references.
#~(begin (delete-file-recursively "subprojects")
(substitute* "ghidra/deps.mk"
(("ZLIB_LDFLAGS=.*") "")
(("ZLIB_CFLAGS=.*") ""))
(substitute* "src/Makefile"
(("(all:) subprojects-zlib" _ f) f)
(("PUGIXML_OBJS=.*") "")
(("PUGIXML_SRCS=.*") "")
(("PUGIXML_CFLAGS=.*") ""))))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(let* ((zlib #$(this-package-input "zlib"))
(pugixml #$(this-package-input "pugixml-next")))
(list (string-append "CC=" #$(cc-for-target))
(format #f "ZLIB_LDFLAGS=-L~a/lib/ -lz" zlib)
(format #f "LDFLAGS=-L~a/lib/ -lpugixml" pugixml)
(format #f "ZLIB_CFLAGS=-I~a/include/" zlib)
(format #f "PUGIXML_CFLAGS=-I~a/include/" pugixml)
;; Ensure this matches R2_LIBR_PLUGINS as exported
;; by radare2 & iaito.
(format #f "PLUGDIR=~a/lib/radare2" #$output)))
#:tests? #f ;no 'check' rule, test dir may require 3rd-party binaries
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-git-and-copy-ghidra
(lambda _
;; GIT is assumed to point to the git binary, but it is
;; only checked to be a file; this short-circuits the check.
(setenv "GIT" "configure")
(copy-recursively
(search-input-directory %build-inputs "share/ghidra-native")
"subprojects/ghidra-native")))
(add-before 'build 'set-system-sleighhome
;; Helper files which try to install in radare2's path
;; in the store, irrespective of PLUGDIR. As long as
;; r2ghidra knows where to find them, we can place them
;; anywhere.
(lambda _
(let ((sleighhome
(in-vicinity #$output "lib/radare2/sleighhome")))
;; Hardcoded path to check.
(substitute* "src/SleighAsm.cpp"
(("(path = strdup \\()[^\\)]*" _ f)
(string-append f "\"" sleighhome "\"")))
;; Install location.
(substitute* "ghidra/Makefile"
(("(sleigh-install D=\")\\$\\(DD\\)" _ f)
(string-append f sleighhome)))))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
pugixml-next
radare2
sdb
zlib))
(native-inputs
(list ghidra-native
pkg-config
python-minimal))
(home-page "https://www.radare.org/")
(synopsis "Native Ghidra Decompiler for radare2")
(description
"r2ghidra is a radare2 plugin which integrates the
@url{https://www.nsa.gov/ghidra,Ghidra} decompiler.")
;; Specified lgpl3 'only' in README.
(license license:lgpl3)))
(define-public ghidra-native
;; Latest commit; last release (8/2025) incompatible with current r2ghidra.
(let ((commit "df065bad0f9e7cea233479048681f811c4f640a2")
(revision "1"))
(package
(name "ghidra-native")
(version (git-version "0.6.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/ghidra-native")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "14bzrl856x3bsqjpks85rzxcxncfmnjwc5knv2h4lybfz4bxcn39"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:make-flags #~(list "patch")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'install ;no install target
(lambda _
(let ((ghidra-native-patched
(in-vicinity #$output "/share/ghidra-native/src")))
(copy-recursively "src" ghidra-native-patched)))))))
(home-page "https://www.radare.org/")
(synopsis "Native parts of ghidra")
(description
"This package contains the native parts of ghidra, to be used from
r2ghidra.")
(properties '((hidden? . #t))) ;only provides source files
(license license:asl2.0))))
(define-public rayforge (define-public rayforge
(package (package
(name "rayforge") (name "rayforge")
(version "1.7.7") ;newer version requires python-raygeo (Rust) (version "1.0.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/barebaric/rayforge") (url "https://github.com/barebaric/rayforge")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1w44qw51nynf1rk61y0d0wj6xl66ciswpcsp38dnwrpfwsqgafxw")))) (base32 "1c6dl0x3pafmh4p533jbk2cj73q90vz1797jya3hzzxdv0h383yc"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments
(list
;; tests: 1626 passed
#:test-flags
;; XXX: Tests fail to pick exact version of cairo: E gi.RepositoryError:
;; Typelib file for namespace 'cairo', version '1.0' not found
#~(list "--ignore=tests/core/geo/test_font_config.py"
"--ignore=tests/core/geo/test_geo_text.py"
"--ignore=tests/core/geo/test_geometry.py"
"--ignore=tests/core/geo/test_text.py"
"--ignore=tests/core/geo/test_transform.py"
;; XXX: Projects ships a huge test suite which the majority
;; fail, run bare minimal core tests.
"tests/core")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
;; All of the dependencies are pined to exact version.
(substitute* "requirements.txt"
(("[=~]=.*") "\n")
;; XXX: Guix's opencv package does not provide Python's
;; version metadata.
(("opencv_python") ""))))
(add-before 'sanity-check 'set-home
(lambda _
(setenv "HOME" "/tmp")))
(add-before 'check 'remove-local-source
(lambda _
(delete-file-recursively "rayforge")))
(add-after 'wrap 'wrap-rayforge
(lambda _
(wrap-program (string-append #$output "/bin/rayforge")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs (list python-gitpython (native-inputs (list python-gitpython
python-pytest python-pytest
python-pytest-asyncio python-pytest-asyncio
python-pytest-cov
python-pytest-mock python-pytest-mock
python-setuptools)) python-setuptools))
(inputs (list bash-minimal (inputs (list bash-minimal
@@ -1988,27 +1838,54 @@ r2ghidra.")
python-asyncudp python-asyncudp
python-blinker python-blinker
python-ezdxf python-ezdxf
python-gitpython
python-numpy python-numpy
python-platformdirs python-platformdirs
python-pluggy
python-pycairo python-pycairo
python-pyclipper python-pyclipper
python-pygobject python-pygobject
python-pymupdf
python-pyopengl python-pyopengl
python-pyopengl-accelerate python-pyopengl-accelerate
python-pypdf python-pypdf
python-pyserial python-pyserial-asyncio
python-pyvips python-pyvips
python-pyyaml python-pyyaml
python-scipy python-scipy
python-semver python-semver
python-svgelements python-svgelements
python-trimesh
python-websockets python-websockets
vtracer)) vtracer))
(home-page "https://rayforge.org/") (arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'write-version-file
(lambda _
(call-with-output-file "rayforge/version.txt"
(lambda (port)
(display #$version port)))
(let ((port (open-file "MANIFEST.in" "a")))
(display "include rayforge/version.txt\n" port)
(close-port port))))
(add-after 'unpack 'fix-tests
(lambda _
(mkdir "tmp-home")
(setenv "HOME"
(string-append (getcwd) "/tmp-home"))
;; Fix abstract class test for older Python error message format
(substitute* "tests/pipeline/stage/test_base_stage.py"
(("without an implementation for abstract method 'reconcile'")
"abstract method '?reconcile'?"))
;; Fix arc fitting test: add looser tolerance for floating point comparison
(substitute* "tests/core/geo/test_fitting.py"
(("(assert np\\.allclose\\(.*, \\(-10\\.0, 0\\.0\\))" match)
(string-append match ", atol=1e-3")))))
(delete 'sanity-check) ; Tests against python package version of rayforge
(add-after 'wrap 'wrap-rayforge
(lambda _
(wrap-program (string-append #$output "/bin/rayforge")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(home-page "https://github.com/barebaric/rayforge")
(synopsis "Desktop application for laser cutting and engraving") (synopsis "Desktop application for laser cutting and engraving")
(description (description
"Rayforge is a cross-platform 2D CAD and G-code control software designed "Rayforge is a cross-platform 2D CAD and G-code control software designed
@@ -2134,7 +2011,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(define-public gpx (define-public gpx
(package (package
(name "gpx") (name "gpx")
(version "2.6.8") (version "2.5.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -2143,7 +2020,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1izs8s5npkbfrsyk17429hyl1vyrbj9dp6vmdlbb2vh6mfgl54h8")))) "1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://github.com/markwal/GPX") (home-page "https://github.com/markwal/GPX")
(synopsis "Converting gcode to x3g files for 3D printing") (synopsis "Converting gcode to x3g files for 3D printing")
@@ -2258,7 +2135,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(define-public manifold (define-public manifold
(package (package
(name "manifold") (name "manifold")
(version "3.4.1") (version "3.3.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -2267,7 +2144,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0x65708r6xln8sd53abbn1qnhz3wxnicn2837ida73ihargk5js1")))) (base32 "0bq1gzvhyp0b9v0q6magwf0yi9lzqgh3fj9104wqfvpl2skgzkg7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (list onetbb clipper2 assimp python-nanobind googletest)) (inputs (list onetbb clipper2 assimp python-nanobind googletest))
(arguments (arguments
@@ -2490,6 +2367,7 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
python-networkx python-networkx
python-openpyxl python-openpyxl
python-pytest python-pytest
python-pytest-cov ; --cov runs by default on skrf
python-pytest-mock python-pytest-mock
python-pyvisa python-pyvisa
python-setuptools python-setuptools
@@ -2764,7 +2642,7 @@ but also adds new features and improves existing ones.")
(define-public emacs-scad-mode (define-public emacs-scad-mode
(package (package
(name "emacs-scad-mode") (name "emacs-scad-mode")
(version "99.0") (version "98.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -2772,10 +2650,9 @@ but also adds new features and improves existing ones.")
(url "https://github.com/openscad/emacs-scad-mode") (url "https://github.com/openscad/emacs-scad-mode")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "0mqfvff8f7lqjviwz30j7vkb098xd0k8bdzznb77aw4q7gdsf8nm")) (base32 "19mn6z98c8s7mspa7j8xw7za33gmpsy4iw2r9xiggdv7yh6mh8h8"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-compat)) (propagated-inputs (list emacs-compat))
(synopsis "Emacs mode to edit OpenSCAD files") (synopsis "Emacs mode to edit OpenSCAD files")
(description (description
@@ -3024,22 +2901,20 @@ interpolation toolkit.")
(define-public python-motulator (define-public python-motulator
(package (package
(name "python-motulator") (name "python-motulator")
(version "0.6.2") (version "0.5.0")
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (pypi-uri "motulator" version))
(url "https://github.com/Aalto-Electric-Drives/motulator/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1di2r1i19jl751v0hj426zkwk48w5yf8zpw2bl6qzk0vq4z2vpbw")))) (base32 "1kh13zfa4w73q04pny2w2zgym47fp8xy7glwfx82fdx4fihk7dv7"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:tests? #f)) ; there are no tests (list #:tests? #f)) ; there are no tests
(propagated-inputs (propagated-inputs (list python-matplotlib python-numpy python-scipy))
(list python-numpy python-matplotlib python-scipy python-tqdm)) (native-inputs (list python-hatchling
(native-inputs (list python-hatchling)) python-ipykernel
python-toml))
(home-page "https://aalto-electric-drives.github.io/motulator/") (home-page "https://aalto-electric-drives.github.io/motulator/")
(synopsis "Motor Drive Simulator in Python") (synopsis "Motor Drive Simulator in Python")
(description "This package includes simulation models for an induction (description "This package includes simulation models for an induction
@@ -3052,7 +2927,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
(define-public cgns (define-public cgns
(package (package
(name "cgns") (name "cgns")
(version "4.5.2") (version "4.3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -3061,7 +2936,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0r8y6lddp7q9nb6804c6bbr4y0pv7ssdzi9m5ddx50ksvfv382fw")))) (base32 "0jig1y7lv9qk1ri2gqws7ffpajmhxnank7gbyna9hfaghsxdlnvd"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
@@ -4094,7 +3969,7 @@ G-codes to binary and vice versa.")
(list bash-minimal (list bash-minimal
boost-1.83 boost-1.83
cereal cereal
cgal-5 cgal
curl curl
dbus dbus
eigen eigen
@@ -4183,6 +4058,10 @@ BOM creation and has a lot of extra features.")
(sha256 (sha256
(base32 "19fi0y0lk45cyampczgh3kz2swai4zcgzkffp0xf5h55rxxrdpvk")))) (base32 "19fi0y0lk45cyampczgh3kz2swai4zcgzkffp0xf5h55rxxrdpvk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs
(list protobuf
python
python-sip-4))
(arguments (arguments
`(#:tests? #f `(#:tests? #f
#:configure-flags '("-DBUILD_EXAMPLES=OFF") #:configure-flags '("-DBUILD_EXAMPLES=OFF")
@@ -4203,11 +4082,6 @@ BOM creation and has a lot of extra features.")
(package-version python)) (package-version python))
"/site-packages" "/site-packages"
" Python3_SITEARCH")))))))) " Python3_SITEARCH"))))))))
(inputs
(list protobuf
python
python-sip-4))
(native-inputs (list python-setuptools))
(home-page "https://github.com/Ultimaker/libArcus") (home-page "https://github.com/Ultimaker/libArcus")
(synopsis "Communication library for Ultimaker software components") (synopsis "Communication library for Ultimaker software components")
(description "This library contains C++ code and Python3 bindings for (description "This library contains C++ code and Python3 bindings for
@@ -4426,6 +4300,15 @@ problem. It was inspired from the SVGNest Javascript library.")
(sha256 (sha256
(base32 "0jhqfylg6vzlbz9rqs981bg6y8s18iklw1p8hmax72xq2c7561s1")))) (base32 "0jhqfylg6vzlbz9rqs981bg6y8s18iklw1p8hmax72xq2c7561s1"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs
(list pkg-config))
(inputs
(list boost
clipper
libnest2d-for-cura
nlopt
python
python-sip-4))
(arguments (arguments
`(#:tests? #f `(#:tests? #f
#:phases #:phases
@@ -4445,16 +4328,6 @@ problem. It was inspired from the SVGNest Javascript library.")
(string-append path " Python3_SITEARCH")) (string-append path " Python3_SITEARCH"))
(("\\$\\{_process_output\\} Python3_SITELIB") (("\\$\\{_process_output\\} Python3_SITELIB")
(string-append path " Python3_SITELIB"))))))))) (string-append path " Python3_SITELIB")))))))))
(native-inputs
(list pkg-config
python-setuptools))
(inputs
(list boost
clipper
libnest2d-for-cura
nlopt
python
python-sip-4))
(home-page "https://github.com/Ultimaker/pynest2d") (home-page "https://github.com/Ultimaker/pynest2d")
(synopsis "Python bindings for libnest2d") (synopsis "Python bindings for libnest2d")
(description (description
@@ -4499,6 +4372,8 @@ belongs to the Cura project from Ultimaker.")
(sha256 (sha256
(base32 "1cq85x0xizsjwf9nl7v7x4i9vl335mgv2lda3q2c9fcwrndsc3wk")))) (base32 "1cq85x0xizsjwf9nl7v7x4i9vl335mgv2lda3q2c9fcwrndsc3wk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs
(list python python-sip-4))
(arguments (arguments
`(#:tests? #f ; No test suite. `(#:tests? #f ; No test suite.
#:phases #:phases
@@ -4515,8 +4390,6 @@ belongs to the Cura project from Ultimaker.")
(string-append path " Python3_SITEARCH")) (string-append path " Python3_SITEARCH"))
(("\\$\\{_process_output\\} Python3_SITELIB") (("\\$\\{_process_output\\} Python3_SITELIB")
(string-append path " Python3_SITELIB"))))))))) (string-append path " Python3_SITELIB")))))))))
(inputs (list python python-sip-4))
(native-inputs (list python-setuptools))
(home-page "https://github.com/Ultimaker/libSavitar") (home-page "https://github.com/Ultimaker/libSavitar")
(synopsis "C++ implementation of 3mf loading with SIP python bindings") (synopsis "C++ implementation of 3mf loading with SIP python bindings")
(description "LibSavitar is a C++ implementation of 3mf loading with SIP (description "LibSavitar is a C++ implementation of 3mf loading with SIP
@@ -4959,9 +4832,7 @@ and mogan.")
(("'\" [+] python_path [+]") (("'\" [+] python_path [+]")
(string-append "'\" + std::string(\"" (string-append "'\" + std::string(\""
(assoc-ref outputs "out") (assoc-ref outputs "out")
"/lib/python" "/lib/python3.11/site-packages"
#$(version-major+minor (package-version python))
"/site-packages"
"\") +"))))) "\") +")))))
(add-before 'check 'prepare-checks (add-before 'check 'prepare-checks
(lambda _ (lambda _

Some files were not shown because too many files have changed in this diff Show More