1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-07 22:44:05 +02:00

Compare commits

..

37 Commits

Author SHA1 Message Date
Steve George d0d906917c gnu: ruby: Update to use 3.4 series.
* gnu/packages/ruby.scm (ruby): Use Ruby-3.4 which is still
  in full maintenance period.

Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 2288a14a60 gnu: ruby-timeout: Update to 0.6.0.
* gnu/packages/ruby-xyz.scm (ruby-timeout): Update to 0.6.0.

Change-Id: Ic87e5011edb627cf902a85e50ccbc7425a3c9c28
2026-04-26 12:41:27 +01:00
Aaron Covrig da50337f6b gnu: ruby-diffy: Update to 3.4.4.
* gnu/packages/ruby-xyz.scm (ruby-diffy): Update to 3.4.4.
[native-inputs]: Add ruby-rake.
[arguments]<#:test-target>: Set to spec and enable tests.

Change-Id: Iaaf371ca93089781ee48ff1c530f1abde09483d9
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 939ce93a12 gnu: ruby-rainbow: Update to 3.1.1.
* gnu/packages/ruby-xyz.scm (ruby-rainbow): Update to 3.1.1.

Change-Id: I12b411ca895894b859ce6e2e9f87043bc5ca4825
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 421df8e79b gnu: ruby-tilt: Update to 2.7.0.
* gnu/packages/ruby-xyz.scm (ruby-tilt): Update to 2.7.0.
[propagated-inputs]: Remove ruby-pandoc-ruby and ruby-sassc.
[native-inputs]: Remove bundler, ruby-yard, ruby-builder, ruby-erubis, and
ruby-markaby.

Change-Id: I2ccbc8325cb8fa32e4b110b448f61a7ad7a33d6a
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig c534e0adfd gnu: ruby-slim: Update native-inputs.
* gnu/packages/ruby-xyz.scm (ruby-slim): Update native-inputs.
[native-inputs]: Add ruby-pandoc-ruby.
[home-page]: Update url to https.

Change-Id: I632fabcb8e785a5494ff34a5d38be5dabe2f00e7
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 3b338604b8 gnu: ruby-timecop: Update to 0.9.10.
* gnu/packages/ruby-xyz.scm (ruby-timecop): Update to 0.9.10.

Change-Id: Ie5d9220b3963870946c6c7ad8397d3edb5f97a6d
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 67c8d652fd gnu: ruby-unicode-display-width: Update to 3.2.0.
* gnu/packages/ruby-xyz.scm (ruby-unicode-display-width): Update to 3.2.0.
[propagated-inputs]: Add ruby-unicode-emoji.

Change-Id: Ida9c8fc4f005153ae1395ac9939441d7b405263d
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 3a2775a160 gnu: Add ruby-unicode-emoji.
* gnu/packages/ruby-xyz.scm (ruby-unicode-emoji): New variable.

Change-Id: Ia07e49d5d1e66cc2605426a03a2eff0ff9a17bee
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 5e5ff1381b gnu: ruby-terminal-table: Update to 4.0.0.
* gnu/packages/ruby-xyz.scm (ruby-terminal-table): Update to 4.0.0.
[native-inputs]: Remove ruby-term-ansicolor.

Change-Id: Idde31b70c3e0e8e18a99e38a7344ac339a9d24bf
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig ef165bcf5a gnu: jekyll: Loosen dependencies.
* gnu/packages/ruby-xyz.scm (jekyll): Loosen dependencies.
[arguments]<#:phases>{loosen-dependencies}: New phase.

Change-Id: I832d2a4d1d9b84675906bb9d6fa7e2265f911c52
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig f8f1778c69 gnu: ruby-concurrent-ruby: Update to 1.3.6.
* gnu/packages/ruby-xyz.scm (ruby-concurrent-ruby): Update to 1.3.6.

Change-Id: Idb3268ff21495e5d339641f970b4c281a4a18a24
2026-04-26 12:41:27 +01:00
Aaron Covrig 1e88181626 gnu: ruby-pg: Update to 1.6.3.
* gnu/packages/ruby-xyz.scm (ruby-pg): Update to 1.6.3.
[source]: Remove patch.

Change-Id: Iadd1ae740a6e46c1f27ff194f160c16878d0a27b
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig c364afa1d6 gnu: ruby-faker: Update to 3.6.0.
* gnu/packages/ruby-xyz.scm (ruby-faker): Update to 3.6.0.
[description]: Add space after period.

Change-Id: I2b45827ece0e9db3a7a0c7d6a69c29f5f3a6e13f
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Aaron Covrig 8dffe4713d gnu: ruby-rubygems-tasks: Update to 0.3.0.
* gnu/packages/ruby-xyz.scm (ruby-rubygems-tasks): Update to 0.3.0.

Change-Id: Ib5d2191b82f28f99b5d44a663f782c25d12ed218
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:27 +01:00
Steve George f1286d6bf1 gnu: Update ruby-method-source.
* gnu/packages/ruby-xyz.scm (ruby-method-source): Update to 1.1.0.
  [arguments]<#:ruby>: Use ruby-3.3.

Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:41:23 +01:00
gemmaro 8cb29ebe60 gnu: ruby-racc: Update to 1.8.1.
* gnu/packages/ruby-xyz.scm (ruby-racc): Update to 1.8.1.
[source]: Use the Git repository for tests.
[arguments]<#:tests?>: Remove the disabling of tests.
<#:phases>: Add the compile phase before the build phase to support the
optional native extension for performance improvements.
[native-inputs]: Remove Hoe and add test-unit-ruby-core as a test dependency.

Change-Id: If3295179b6401db63cd5c1ab3beb77fe0579eaae
2026-04-26 12:07:48 +01:00
Yan Abu Arab 56b1a933f1 gnu: Add bashly.
* gnu/packages/bash.scm (bashly): New variable.

Change-Id: I242872ae6e958865fed7d4f63c590b3908ff61a0
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 19019755ad gnu: Add ruby-tty-markdown.
* gnu/packages/ruby-xyz.scm (ruby-tty-markdown): New variable.

Change-Id: I6f545a7e5b0d12040a0ccfaf540331e0d3a708a9
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 57a0260359 gnu: Add ruby-strings.
* gnu/packages/ruby-xyz.scm (ruby-strings): New variable.

Change-Id: I72fe90e20fb7971f13717633fb8495319ad76dae
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 82b8284ce1 gnu: Add ruby-strings-ansi.
* gnu/packages/ruby-xyz.scm (ruby-strings-ansi): New variable.

Change-Id: I5cccefb9ecc2f6a7a446432134de8284beeb02b0
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 7c290d6667 gnu: Add ruby-unicode-utils.
* gnu/packages/ruby-xyz.scm (ruby-unicode-utils): New variable.

Change-Id: I9c7d65878ea3740590574fc95e6df6d363af41f5
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 46a4f15a55 gnu: Add ruby-pastel.
* gnu/packages/ruby-xyz.scm (ruby-pastel): New variable.

Change-Id: Id29ba0f928d96d74cb8c8a103efeaa13ca42844e
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab d407ea1404 gnu: Add ruby-tty-color.
* gnu/packages/ruby-xyz.scm (ruby-tty-color): New variable.

Change-Id: I1ac670580783b37278b2d8b911d55db36ce1bb82
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 3da6a0bc9d gnu: Add ruby-tty-screen.
* gnu/packages/ruby-xyz.scm (ruby-tty-screen): New variable.

Change-Id: I95dbd3b246bdfaeaf405b801ecee8ea601181d53
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 44ac95c31f gnu: Add ruby-requires.
* gnu/packages/ruby-xyz.scm (ruby-requires): New variable.

Change-Id: I1c7be3706228519ba0863757067fc16ec9441159
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab e734102b74 gnu: Add ruby-ostruct.
* gnu/packages/ruby-xyz.scm (ruby-ostruct): New variable.

Change-Id: Id3aeac1448ea8eea2dc2d18f1f9948695b45a128
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 4a041b080e gnu: Add ruby-lp.
* gnu/packages/ruby-xyz.scm (ruby-lp): New variable.

Change-Id: I945c9655b15a20cf9f7eb98046688c095103191d
2026-04-26 12:07:48 +01:00
Yan Abu Arab a3ae72cebe gnu: Add ruby-logger.
* gnu/packages/ruby-xyz.scm (ruby-logger): New variable.

Change-Id: I4bf70d0454508ab26796ffaa9760b8b7bc47b412
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 4dea734cb7 gnu: Add ruby-gtx.
* gnu/packages/ruby-xyz.scm (ruby-gtx): New variable.

Change-Id: I299aced1e3c3bde74842ed3eb1b7715907d29f59
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 44019bf299 gnu: Add ruby-erb.
* gnu/packages/ruby-xyz.scm (ruby-erb): New variable.

Change-Id: Ie93d17f86117cac8a7578cd6f67f37f98c694dc9
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 3a7d19de6a gnu: Add ruby-filewatcher.
* gnu/packages/ruby-xyz.scm (ruby-filewatcher): New variable.

Change-Id: I8000180150dd459892286ae2e113c11ad6bd1703
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab b03996be13 gnu: Add ruby-module-methods.
* gnu/packages/ruby-xyz.scm (ruby-module-methods): New variable.

Change-Id: Ie56b41d3b3e46efc1f93082229720798b0bc07ce
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 7ad161c1c8 gnu: Add ruby-completely.
* gnu/packages/ruby-xyz (ruby-completely): New variable.

Change-Id: I8a302bb43b9ffb4ca80ba22341f5f8c13ab7a4e1
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 4dd12d40d8 gnu: Add ruby-mister-bin.
* gnu/packages/ruby-xyz (ruby-mister-bin): New variable.

Change-Id: I19471c1435d2a64d1b4fa349273e5387fdaf9b16
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab ef3aec8060 gnu: Add ruby-docopt-ng.
* gnu/packages/ruby-xyz (ruby-docopt-ng): New variable.

Change-Id: I630bae2f85829df393e45d01679535ff1331bd41
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
Yan Abu Arab 057e45fa94 gnu: Add ruby-colsole.
* gnu/packages/ruby-xyz.scm (ruby-colsole): New variable.

Closes: guix/guix#4985
Change-Id: Ic45d94aecbe190d363cf91c026233cd2c26d43f1
Signed-off-by: Steve George <steve@futurile.net>
2026-04-26 12:07:48 +01:00
499 changed files with 41961 additions and 121548 deletions
+3 -7
View File
@@ -42,13 +42,9 @@
;; For use with 'bug-reference-prog-mode'. Extra bug-reference
;; configuration should be done in your Emacs user configuration file;
;; refer to (info (guix) The Perfect Setup).
(eval . (setq-local
;; #8545, guix/guix#8545, guix/guix!8545, but not !8545
bug-reference-bug-regexp
(rx (group (or (seq (zero-or-more "guix/guix") "#")
(seq (one-or-more "guix/guix") "!"))
(group (one-or-more digit))))))
(bug-reference-url-format . "https://codeberg.org/guix/guix/issues/%s")
(bug-reference-bug-regexp
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
(bug-reference-url-format . "https://issues.guix.gnu.org/%s")
(eval . (add-to-list 'completion-ignored-extensions ".go"))
-2
View File
@@ -16,8 +16,6 @@
( ;; primary: "D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F"
"01FD 85F4 1A7B 7F82 0583 06A5 935E BE07 36DC 857E"
(name "avp"))
("5D54 CF25 57B2 38E8 8DC1 80A2 2D22 3241 0AB7 4043"
(name "baleine"))
( ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
"A3A4 B419 0074 087C A7DE 5698 BC45 CA67 E2F8 D007"
(name "bavier"))
-6
View File
@@ -32,7 +32,6 @@ gnu/packages/assembly\.scm @guix/build-tools
gnu/packages/autogen\.scm @guix/build-tools
gnu/packages/autotools\.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/oyacc\.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/desktop\.tmpl @guix/documentation
gnu/packages/dotnet\.scm @guix/dotnet
gnu/packages/electronics\.scm @guix/electronics
gnu/packages/hdl\.scm @guix/electronics
gnu/packages/libftdi\.scm @guix/electronics
@@ -267,7 +264,6 @@ gnu/installer(\.scm$|/) @guix/installer
gnu/packages/clojure\.scm @guix/java
gnu/packages/java(-.+|)\.scm$ @guix/java
gnu/packages/maven(-.+|)\.scm$ @guix/java
gnu/packages/netbeans\.scm @guix/java
guix/build/ant-build-system\.scm @guix/java
guix/build/clojure-build-system\.scm @guix/java
guix/build/clojure-utils\.scm @guix/java
@@ -278,7 +274,6 @@ guix/build-system/ant\.scm @guix/java
guix/build-system/clojure\.scm @guix/java
guix/build-system/maven\.scm @guix/java
gnu/packages/javascript\.scm @guix/javascript
gnu/packages/node-xyz\.scm @guix/javascript
gnu/packages/node\.scm @guix/javascript
guix/build-system/node\.scm @guix/javascript
@@ -341,7 +336,6 @@ guix/build-system/rakudo\.scm @guix/perl
guix/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/jupyter\.scm @guix/python
gnu/packages/python(-.+|)\.scm$ @guix/python
-3
View File
@@ -457,8 +457,6 @@ AUX_FILES = \
gnu/packages/aux-files/findclass.php \
gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/guix-nvim.vim \
gnu/packages/aux-files/linux-libre/7.0-arm64.conf \
gnu/packages/aux-files/linux-libre/7.0-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.19-arm64.conf \
gnu/packages/aux-files/linux-libre/6.19-i686.conf \
gnu/packages/aux-files/linux-libre/6.19-x86_64.conf \
@@ -488,7 +486,6 @@ AUX_FILES = \
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/pack-audit.c \
gnu/packages/aux-files/python/pytest_guix.py \
gnu/packages/aux-files/python/sanity-check.py \
gnu/packages/aux-files/python/sitecustomize.py \
gnu/packages/aux-files/renpy/renpy.in \
-1
View File
@@ -120,7 +120,6 @@ running 'guix-daemon $extra_options'" >&2
"@abs_top_builddir@/pre-inst-env" \
"@abs_top_builddir@/guix-daemon" \
$extra_options \
--allow-aslr \
--substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" &
daemon_pid=$!
+23 -41
View File
@@ -1,5 +1,5 @@
;;; 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 © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
@@ -324,31 +324,17 @@ actual file name."
((('span ('@ ('class "category")) ;raw Texinfo 6.8
(? string-or-entity?) ...) rest ...)
#t)
((('span ;Texinfo 6, post-processed
('@ ('class "symbol-definition-category"))
(? string-or-entity?) ...) rest ...)
#t)
((('span ;Texinfo 7
('@ ('class "category-def")) _ ...)
('span ('strong ('@ ('class "def-name")) _ ...)
_ ...)
rest ...)
((('span ('@ ('class "symbol-definition-category"))
(? string-or-entity?) ...) rest ...)
#t)
(x
#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 loop ((shtml shtml)
(anchors anchors))
(match shtml
((or ('dt ('@ ('id id) _ ...) rest ...) ;Texinfo 6
('dt ('@ ('class (? definition-class?)) ;Texinfo 7
('id id))
rest ...))
(('dt ('@ ('id id) _ ...) rest ...)
(if (and (string-prefix? "index-" id)
(worthy-entry? rest))
(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)))
((('*ENTITY* "additional" entity) . rest)
(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">
(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
((('var name) . rest) ;likewise (Texinfo 6)
(loop rest (cons name strings)))
(something
(pk 'unsupported-code-snippet something)
(primitive-exit 1)))))
@@ -557,10 +537,7 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(link (@ (rel "stylesheet")
(type "text/css")
(href #$syntax-css-url)))))
((or ('pre ('@ ('class "lisp")) ;Texinfo 6
code-snippet ...)
('pre ('@ ('class "lisp-preformatted"))
code-snippet ...))
(('pre ('@ ('class "lisp")) code-snippet ...)
`(pre (@ (class "lisp"))
,@(highlights->sxml*
(pair-open/close
@@ -568,16 +545,14 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(concatenate-snippets code-snippet)))
anchors)))
;; For Texinfo 6: Replace the ugly <strong> used for @deffn
;; etc., which translate to <dt>, with more stylable
;; markup. No such post-processing is needed for @deffn
;; with Texinfo 7.
;; Replace the ugly <strong> used for @deffn etc., which
;; translate to <dt>, with more stylable markup.
(('dt ('@ ('id id)) ;raw Texinfo 6.8
('span ('@ ('class "category")) category ...)
('span ('strong thing)
anchor))
(highlight-definition id category thing '()))
(('dt ('@ ('id id)) ;ditto
(('dt (@ ('id id))
('span ('@ ('class "category")) category ...)
('span ('strong thing)
(? space?) ('em args ...)
@@ -833,9 +808,16 @@ in SOURCE."
(match sxml
(('*TOP* decl body ...)
`(*TOP* ,decl ,@(map loop body)))
((or ('body ('@ _) elements ...)
('body elements ...))
`(body ,(navigation-bar
(('head elements ...)
;; Add reference to our own manual CSS, which provides
;; 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
;; errors, etc.
(list (menu-dropdown
@@ -970,12 +952,12 @@ makeinfo OPTIONS."
(mkdir-p (string-append #$output "/"
(normalize language)))
(setenv "LANGUAGE" language)
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
(apply invoke #$(file-append texinfo "/bin/makeinfo")
"-o" (string-append #$output "/"
(normalize language)
"/html_node")
opts)
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
(apply invoke #$(file-append texinfo "/bin/makeinfo")
"--no-split"
"-o"
(string-append #$output "/"
@@ -1427,7 +1409,7 @@ commit date (an integer)."
(string-append #+tar "/bin:"
#+xz "/bin:"
#+zstd "/bin:"
#+texinfo-7 "/bin"))
#+texinfo "/bin"))
(invoke "tar" "xf" #$(package-source guile))
(mkdir-p (string-append #$output "/en/html_node"))
@@ -1446,7 +1428,7 @@ commit date (an integer)."
(string-append #$output "/en/html_node")))))))))
(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)
(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
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
@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:
@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
@subsection Guile Studio
+21 -39
View File
@@ -646,11 +646,9 @@ This field contains a description of the source code origin. The
@enumerate
@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
Reference,,, guix, GNU Guix Reference Manual}, for more info on the
available download methods.
exist, such as @code{git-fetch} for Git repositories.
@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.
@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,
@@ -1118,8 +1116,7 @@ Let's discuss those fields in depth.
@subsubsection @code{git-fetch} method
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
Reference Manual}). The commit can be any Git reference such as
a Git repository and a commit. The commit can be any Git reference such as
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
"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:
@table @code
@table @asis
@item native-inputs
Required for building but not runtime -- installing a package
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
modular.
@xref{Packages with Multiple Outputs,,, guix, GNU Guix Reference
Manual}, for more info.
@subsubsection Build system arguments
The @code{arguments} is a keyword-value list used to configure the build
process; these arguments are passed to the @dfn{build system}
(@pxref{Build Systems,,, guix, GNU Guix Reference Manual}).
The @code{arguments} is a keyword-value list used to configure the build process.
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
@@ -1256,7 +1248,7 @@ following flags
"CC=gcc")
@end lisp
translate into:
translate into
@example
$ 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
table that maps the input names to their store directories.
The @code{phases} keyword lists the sequential steps of the build
system. @xref{Build Phases,,, guix, GNU Guix Reference Manual}, for
details; in a nutshell,
The @code{phases} keyword lists the sequential steps of the build system. Typically
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
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
@@ -1393,12 +1383,10 @@ Its return value is ignored.
@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
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}.
@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for info on the
this mechanism, which is called @dfn{g-expressions}.
@subsubsection Utility functions
@@ -1407,7 +1395,7 @@ equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: com
regular ``Unix-style'' installations.
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
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.
Not all applications can be packaged this way, only those relying on a select
number of supported systems.
@xref{Invoking guix import,,, guix, GNU Guix Reference Manual} for
the full list of importers.
number of supported systems. Read about the full list of importers in
the guix import section of the manual
(@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
@node Automatic update
@subsubsection Automatic update
@@ -1563,9 +1551,6 @@ well:
$ guix refresh hello --update
@end example
@xref{Invoking guix refresh,,, guix, GNU Guix Reference Manual}, for
more info.
@node 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
convenient to create alternative packages, for instance with different source,
version or compilation options. @xref{Defining Package Variants,,, guix,
GNU Guix Reference Manual}, for a discussion of inheritance and of other
ways to create package variants.
version or compilation options.
@node Getting help
@subsection Getting help
@@ -1633,8 +1616,7 @@ hopefully we will see your contributions soon!
@itemize
@item
@xref{Defining Packages,,, guix, GNU Guix Reference Manual}, for the
@code{package} reference in the manual.
The @uref{https://guix.gnu.org/manual/en/html_node/Defining-Packages.html, package reference in the manual}
@item
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix}
@@ -3274,8 +3256,8 @@ your Linode Summary section.) Now you can run the "install guix from
@example
sudo apt-get install gpg
wget https://codeberg.org/efraim.gpg -qO - | gpg --import -
wget https://guix.gnu.org/guix-install.sh
wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull
@@ -3454,7 +3436,7 @@ Now you can run the "install guix from @pxref{Binary Installation,,,
guix, GNU Guix}" steps:
@example
wget https://guix.gnu.org/guix-install.sh
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull
@@ -4509,7 +4491,7 @@ network. Assuming your interface is named @samp{enp2s0}, the following
command can be used to do so:
@example sh
# nmcli con add type bridge-slave autoconnect yes ifname enp2s0 master br0
# nmcli con add type bridge-slave ifname enp2s0 master br0
@end example
@quotation Important
@@ -4545,8 +4527,8 @@ bridge interface, as the default is to deny all. Add the following to
your list of services to do so:
@example lisp
(extra-special-file "/etc/qemu/bridge.conf"
(plain-file "bridge.conf" "allow br0\n"))
(extra-special-file "/etc/qemu/host.conf"
(plain-file "host.conf" "allow br0\n"))
@end example
@subsection Invoking QEMU with the right command line options
@@ -4564,7 +4546,7 @@ machine making use of the bridge would cause networking issues.
@example sh
$ qemu-system-x86_64 [...] \
-device virtio-net-pci,netdev=user0,mac=XX:XX:XX:XX:XX:XX \
-netdev bridge,helper=/run/privileged/bin/qemu-bridge-helper,id=user0,br=br0 \
-netdev bridge,id=user0,br=br0 \
[...]
@end example
+151 -689
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 © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
# 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>
#
# 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.
# 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,
# 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
# exist.
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" \
$@.tmp $<
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
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/guix.texi" \
--variable master="%D%/guix.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg
po/doc/po4a.cfg
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
$(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/guix-cookbook.texi" \
--variable po="$<" \
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="%D%/guix-cookbook.texi" \
--variable po="$<" \
--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"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-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
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/contributing.texi" \
--variable master="%D%/contributing.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg
po/doc/po4a.cfg
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
sed -e s,@,@@,g "$<" > "$@"
cp "$<" "$@"
infoimagedir = $(infodir)/images
dist_infoimage_DATA = \
+2 -2
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; 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 © 2025 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -61,7 +61,7 @@ TARGET."
;; from the other package sets.
(fold delete %base-packages
(append (map specification->package
'("kbd" "iproute2" "iw" "wireless-tools"))
'("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools"))
%base-packages-linux)))
(define %system-packages
+398 -2088
View File
File diff suppressed because it is too large Load Diff
+5 -40
View File
@@ -514,7 +514,6 @@ of Rebar and Mix build systems and Hex.pm importer."
"gnu/packages/autogen.scm"
"gnu/packages/autotools.scm"
"gnu/packages/bison.scm"
"gnu/packages/compiler-tools.scm"
"gnu/packages/m4.scm"
"gnu/packages/oyacc.scm"
"gnu/packages/re2c.scm")))
@@ -662,12 +661,6 @@ challenges"))
"gnu/system/examples/lightweight-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
(team 'electronics
#:name "Electronics team"
@@ -835,7 +828,6 @@ and the maven-build-system."
(make-regexp* "^gnu/packages/java(-.+|)\\.scm$")
;; Match maven.scm and maven-*.scm
(make-regexp* "^gnu/packages/maven(-.+|)\\.scm$")
"gnu/packages/netbeans.scm"
"guix/build/ant-build-system.scm"
"guix/build/clojure-build-system.scm"
"guix/build/clojure-utils.scm"
@@ -852,8 +844,7 @@ and the maven-build-system."
#:name "JavaScript team"
#:description
"JavaScript/Node.js packages, the node build system."
#:scope (list "gnu/packages/javascript.scm"
"gnu/packages/node-xyz.scm"
#:scope (list "gnu/packages/node-xyz.scm"
"gnu/packages/node.scm"
"guix/build-system/node.scm"
"guix/build/node-build-system.scm"
@@ -984,8 +975,7 @@ perl-build-system as well as the rakudo-build-system."
#:description
"Python, Python packages, the \"pypi\" importer, and the python-build-system."
#:scope
(list (make-regexp* "^gnu/packages/aux-files/python/.*\\.py$")
"gnu/packages/django.scm"
(list "gnu/packages/django.scm"
"gnu/packages/jupyter.scm"
(make-regexp* "^gnu/packages/python(-.+|)\\.scm$")
"gnu/packages/sphinx.scm"
@@ -1249,11 +1239,6 @@ the \"texlive\" importer."
"guix/build-system/zig.scm")))
(define-member (person "Anderson Torres"
"anderson.torres.8519@gmail.com"
"AndersonTorres")
community translations)
(define-member (person "Eric Bavier"
"bavier@posteo.net"
"bavier")
@@ -1557,7 +1542,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com"
"daym")
bootstrap dotnet hpc python rust science)
bootstrap hpc python rust science)
(define-member (person "Andy Tai"
"atai@atai.org"
@@ -1577,7 +1562,7 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
build-tools lua qa-packages sysadmin vcs)
build-tools python qa-packages sysadmin vcs)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
@@ -1652,7 +1637,7 @@ the \"texlive\" importer."
(define-member (person "Thanos Apollo"
"public@thanosapollo.org"
"thanosapollo")
vcs emacs)
vcs)
(define-member (person "Ashish SHUKLA"
"ashish.is@lostca.se"
@@ -1674,26 +1659,6 @@ the \"texlive\" importer."
"tok")
electronics)
(define-member (person "gemmaro"
"gemmaro.dev@gmail.com"
"gemmaro")
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)
(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)))
#~(format port "
menuentry ~s {
~a
multiboot ~a root=~a~a~a
}~%"
#$label
#$(grub-root-search device kernel)
#$kernel
#$(device-name->hurd-device-name device-name #:disk disk)
(string-join (list #$@arguments) " " 'prefix)
+2 -4
View File
@@ -1226,12 +1226,10 @@ file name or an nfs-root containing ':/')."
(match spec
((? string?)
(if (string-match "^/dev/[a-zA-Z0-9]+$" spec)
(if (string-prefix? "/dev/" spec)
;; Nothing to do, but wait until SPEC shows up.
(resolve device-exists? spec identity)
;; Do not resolve NFS / CIFS / tmpfs devices
;; or bcachefs multi-device specifications.
spec))
spec)) ; do not resolve NFS / CIFS / tmpfs devices
((? file-system-label?)
;; Resolve the label.
(resolve find-partition-by-label
+24 -90
View File
@@ -74,37 +74,16 @@ Return the value associated with OPTION, or #f on failure."
(loop (absolute target) (+ depth 1))
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."
(define (scope dir)
(in-vicinity 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)))))
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(mkdir-p (scope "dev"))
;; XXX: We must have `/dev/console` otherwise `console-run` tries to
;; create it while the file-system is still read-only.
(for-each (lambda (file)
(call-with-output-file (scope file)
(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"
))
;; Don't create /dev/null etc just yet; the store
;; messes-up the permission bits.
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
;; console-run on first boot.
(mkdir-p (scope "servers"))
(for-each (lambda (file)
@@ -122,47 +101,22 @@ Return the value associated with OPTION, or #f on failure."
"suspend"))
(mkdir-p (scope "servers/socket"))
(mkdir-p (scope "servers/bus/pci"))
;; Set the 'gnu.translator' extended attribute for passive translator
;; 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"))))
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
(for-each scope-set-translator servers)
(define devices
'())
(for-each scope-set-translator devices))
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
;; settings?
(mkdir-p (scope "servers/bus/pci")))
(define (passive-translator-xattr? file-name)
"Return true if FILE-NAME has an extended @code{gnu.translator} attribute
set.
Note that reading \"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."
(and (file-exists? file-name)
(catch 'system-error
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
(lambda args
(if (= ENODATA (system-error-errno args))
#f
(apply throw args))))))
set."
(catch 'system-error
(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)
"Return true if @file{showtrans} finds a translator installed on FILE-NAME."
@@ -182,11 +136,7 @@ needed."
(passive-translator-installed? file-name)))
(define* (set-translator file-name command #:optional (mode #o600))
"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."
"Setup translator COMMAND on FILE-NAME."
(unless (translated? file-name)
(let ((dir (dirname file-name)))
(unless (directory-exists? dir)
@@ -218,7 +168,7 @@ needed."
"Make some of the device nodes needed on GNU/Hurd."
(define (scope dir)
(in-vicinity root dir))
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(define scope-set-translator
(match-lambda
@@ -230,19 +180,8 @@ needed."
(define (mkdir* dir)
(let ((dir (scope dir)))
(unless (file-exists? 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))))
(unless (file-exists? dir)
(mkdir-p dir))))
(define servers
'(("servers/bus/pci" ("/hurd/pci-arbiter"))
@@ -259,14 +198,8 @@ needed."
(define devices
`(("dev/full" ("/hurd/null" "--full") #o666)
("dev/null" ("/hurd/null") #o666)
;; The random translators, especially /dev/urandom, need to be non-passive
;; When they exist in the file-system and reference /var/lib/random-seed
;; 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/random" ("/hurd/random" "--seed-file" "/var/lib/random-seed")
#o644)
("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666)
("dev/console" ("/hurd/term" "/dev/console" "device" "console"))
@@ -351,6 +284,7 @@ needed."
(rename-file (scope "dev/console") (scope "dev/console-")))
(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/1" (scope "dev/stdout")))
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr")))
+1 -1
View File
@@ -322,7 +322,7 @@ register-closure."
;; Populate /dev.
(when make-device-nodes
(make-device-nodes #:root root))
(make-device-nodes root))
(when register-closures?
(unless copy-closures?
+3 -7
View File
@@ -445,14 +445,10 @@ load path must be adjusted as needed."
;; Behave like an init process: create a sub-process that calls
;; THUNK, and wait for child processes. Furthermore, forward
;; RELAYED-SIGNALS to the child process.
;; We presently use `safe-clone` here due to a bug in the interaction
;; between Guix and `primitive-fork` in Guile 3.0.11:
;; https://codeberg.org/guix/guix/issues/7690#issuecomment-12744123
(safe-clone
SIGCHLD
(lambda ()
(match (primitive-fork)
(0
(call-with-clean-exit thunk))
(lambda (pid)
(pid
(install-signal-handlers pid)
(let loop ()
(match (wait-child-process)
+1 -10
View File
@@ -173,16 +173,7 @@ SYSTEM."
(define (core-packages system)
"Return the 'core' package set suitable for SYSTEM, which might be a system
type or a GNU triplet."
(cond ((target-linux? system)
(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 '()))))
(cond ((target-linux? system) (append %core-packages %linux-packages))
((target-hurd? system) (append %core-packages %hurd-packages))
((target-mingw? system) %core-packages-for-mingw)
(else '())))
-68
View File
@@ -70,11 +70,6 @@
openssh-host-proxy-command
openssh-host-host-key-algorithms
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
proxy-jump
proxy-jump-host-name
@@ -89,9 +84,6 @@
(define (serialize-field-name name)
(match name
('accepted-key-types "PubkeyAcceptedKeyTypes")
('sent-environment-variables "SendEnv")
('environment-variables "SetEnv")
('control-file-name "ControlPath")
(_
(let ((name (let ((str (symbol->string name)))
(if (string-suffix? "?" str)
@@ -138,14 +130,6 @@
(define-maybe string)
(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)
(string-append value "\n"))
(define raw-configuration-string? string?)
@@ -158,33 +142,6 @@
(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>
(proxy-command command)
proxy-command?
@@ -318,31 +275,6 @@ through before connecting to the server.")
(accepted-key-types
maybe-string-list
"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
(raw-configuration-string "")
"Extra content appended as-is to this @code{Host} block in
+33 -51
View File
@@ -57,7 +57,7 @@
# Copyright © 2022 ( <paren@disroot.org>
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
# Copyright © 2022-2023, 2025-2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright © 2023-2026 Zheng Junjie <z572@z572.online>
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
@@ -76,7 +76,6 @@
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
# Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
#
# This file is part of GNU Guix.
#
@@ -209,7 +208,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cobol.scm \
%D%/packages/code.scm \
%D%/packages/commencement.scm \
%D%/packages/compiler-tools.scm \
%D%/packages/compression.scm \
%D%/packages/compton.scm \
%D%/packages/computer-architecture.scm \
@@ -236,7 +234,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/darwin.scm \
%D%/packages/data-language.scm \
%D%/packages/databases.scm \
%D%/packages/datalog.scm \
%D%/packages/datamash.scm \
%D%/packages/datastructures.scm \
%D%/packages/dav.scm \
@@ -344,7 +341,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/golang-check.scm \
%D%/packages/golang-compression.scm \
%D%/packages/golang-crypto.scm \
%D%/packages/golang-graphics.scm \
%D%/packages/golang-maths.scm \
%D%/packages/golang-vcs.scm \
%D%/packages/golang-web.scm \
@@ -506,7 +502,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/myrddin.scm \
%D%/packages/ncdu.scm \
%D%/packages/ncurses.scm \
%D%/packages/netbeans.scm \
%D%/packages/netpbm.scm \
%D%/packages/nettle.scm \
%D%/packages/networking.scm \
@@ -733,6 +728,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/zig.scm \
%D%/packages/zig-xyz.scm \
%D%/packages/zile.scm \
%D%/packages/zwave.scm \
\
%D%/services.scm \
%D%/services/admin.scm \
@@ -759,7 +755,6 @@ GNU_SYSTEM_MODULES = \
%D%/services/docker.scm \
%D%/services/authentication.scm \
%D%/services/file-sharing.scm \
%D%/services/firmware.scm \
%D%/services/games.scm \
%D%/services/ganeti.scm \
%D%/services/getmail.scm \
@@ -1004,9 +999,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.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/angband-remove-nonfree-tile-options.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
@@ -1023,7 +1016,6 @@ dist_patch_DATA = \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc-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/audiofile-fix-datatypes-in-tests.patch \
%D%/packages/patches/audiofile-fix-sign-conversion.patch \
@@ -1101,11 +1093,11 @@ dist_patch_DATA = \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/chez-irregex-import-cond-expand.patch \
%D%/packages/patches/chez-scheme-bin-sh.patch \
%D%/packages/patches/cianna-remove-error-for-missing-cuda.patch \
%D%/packages/patches/circos-remove-findbin.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrkit-libre-cross-compile.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/chmlib-inttypes.patch \
%D%/packages/patches/cl-ana-pr-49.patch \
@@ -1138,8 +1130,11 @@ dist_patch_DATA = \
%D%/packages/patches/clog-fix-shared-build.patch \
%D%/packages/patches/clucene-gcc-14.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-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/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1171,6 +1166,7 @@ dist_patch_DATA = \
%D%/packages/patches/cryfs-boost-1.89-fix.patch \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.patch \
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \
@@ -1181,6 +1177,7 @@ dist_patch_DATA = \
%D%/packages/patches/curlftpfs-fix-memory-leak.patch \
%D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvc5-reproducible-build.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-fix-time-h.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
@@ -1190,7 +1187,6 @@ dist_patch_DATA = \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/dbacl-include-locale.h.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/dbus-helper-search-path.patch \
%D%/packages/patches/ddd-build.patch \
@@ -1244,7 +1240,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/emacs-agent-shell-fix-tests.patch \
%D%/packages/patches/emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-disable-jit-compilation.patch \
%D%/packages/patches/emacs-doc-toc-shell-commands.patch \
@@ -1301,7 +1297,6 @@ dist_patch_DATA = \
%D%/packages/patches/fbgemm-use-system-libraries.patch \
%D%/packages/patches/fbreader-curl-7.62.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-demo-init.patch \
%D%/packages/patches/fenics-dolfin-boost.patch \
@@ -1368,8 +1363,16 @@ dist_patch_DATA = \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-haskell-pythondir.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-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/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
@@ -1509,8 +1512,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
%D%/packages/patches/glibc-supported-locales.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/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
@@ -1585,9 +1586,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.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-mkhtml-test-fix.patch \
%D%/packages/patches/gtk4-demo-reproducible.patch \
%D%/packages/patches/gtk4-needs-udmabuf.patch \
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
@@ -1665,7 +1664,6 @@ dist_patch_DATA = \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/ispell-for-linphone-cmake.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-armv7-support.patch \
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
@@ -1677,7 +1675,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-guava-remove-annotation-deps.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-jtidy-remove-xerces-dependency.patch \
%D%/packages/patches/java-openjfx-build-jdk_version.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-simple-xml-fix-tests.patch \
@@ -1686,8 +1683,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-build_dont_unzip.patch \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbr-17-xcursor-no-dynamic.patch \
%D%/packages/patches/jbr-25-wayland-drag-icon.patch \
%D%/packages/patches/jbr-25-wayland-intra-jvm-dnd.patch \
%D%/packages/patches/jdk-currency-time-bomb.patch \
%D%/packages/patches/jdk-currency-time-bomb2.patch \
%D%/packages/patches/jfsutils-add-sysmacros.patch \
@@ -1718,6 +1713,7 @@ dist_patch_DATA = \
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
%D%/packages/patches/libretranslate-use-flasgger.patch \
%D%/packages/patches/librewolf-150.0-encoding_rs-rust-fix.patch \
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
%D%/packages/patches/librewolf-compare-paths.patch \
%D%/packages/patches/librewolf-neuter-locale-download.patch \
@@ -1748,6 +1744,7 @@ dist_patch_DATA = \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
%D%/packages/patches/kismet-unbundle-boost.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/kmscon-8-runtime-keymap-switch.patch \
%D%/packages/patches/knot-remove-runtime-deps.patch \
@@ -1862,7 +1859,6 @@ dist_patch_DATA = \
%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-unix_chkpwd.patch \
%D%/packages/patches/linux-shmem-hurd-xattr.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llvm-13-gcc-14.patch \
@@ -1881,10 +1877,10 @@ dist_patch_DATA = \
%D%/packages/patches/lua-5.4-pkgconfig.patch \
%D%/packages/patches/lua-5.4-liblua-so.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-lgi-fix-pango.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/luit-posix.patch \
%D%/packages/patches/lxc-no-static-bin.patch \
@@ -1943,6 +1939,7 @@ dist_patch_DATA = \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.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.9.1-add-MONO_CREATE_IMAGE_VERSION.patch \
%D%/packages/patches/mono-1.9.1-fixes.patch \
@@ -1978,12 +1975,6 @@ dist_patch_DATA = \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netdde-build-fix.patch \
%D%/packages/patches/netdde-csum.patch \
%D%/packages/patches/java-apache-xml-commons-resolver-1.2-netbeans.patch \
%D%/packages/patches/java-simplevalidation-1.14.1.patch \
%D%/packages/patches/netbeans-25-nativeexecution-paths.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-wayland-font-rendering.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
@@ -2009,13 +2000,10 @@ dist_patch_DATA = \
%D%/packages/patches/nss-3.115-disable-broken-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/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-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.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/ocaml-ctypes-test-oo.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
@@ -2078,9 +2066,9 @@ dist_patch_DATA = \
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \
%D%/packages/patches/openssl-hurd64.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/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orca-fix-gst-init-check-call.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
%D%/packages/patches/owncloud-disable-updatecheck.patch \
@@ -2111,7 +2099,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.11-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-beangulp-click-8.2-compat.patch \
%D%/packages/patches/python-bed-reader-use-store-samples.patch \
%D%/packages/patches/python-chai-drop-python2.patch \
%D%/packages/patches/python-clarabel-blas.patch \
@@ -2134,20 +2121,16 @@ dist_patch_DATA = \
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
%D%/packages/patches/python-sip-include-dirs.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-sphobjinv-defer-ssl-import.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.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.12-support.patch \
%D%/packages/patches/python-zipfile2-python-3.12-support.patch \
%D%/packages/patches/qcodeeditor-qt6.patch \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
%D%/packages/patches/qtwebengine-revert-egl.patch \
%D%/packages/patches/qtwebengine5-python312-six-compat.patch \
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
@@ -2188,8 +2171,6 @@ dist_patch_DATA = \
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
%D%/packages/patches/perl-xml-libxml-fix-function-prototypes.patch \
%D%/packages/patches/phoronix-test-suite-fsdg.patch \
%D%/packages/patches/php-01-fix-expired-certificate.patch \
%D%/packages/patches/php-02-fix-sni-tests.patch \
%D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \
%D%/packages/patches/pinball-system-ltdl.patch \
@@ -2257,7 +2238,6 @@ dist_patch_DATA = \
%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-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-mslice-matplotlib-3.6-compatibility.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
@@ -2273,7 +2253,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-pytorch-system-libraries.patch \
%D%/packages/patches/python-pytorch-without-kineto.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-vega-datasets-remove-la-riots-code.patch \
%D%/packages/patches/python-versioneer-guix-support.patch \
@@ -2295,6 +2274,8 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/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/qmk-firmware-fix-hacker-dvorak.patch \
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
@@ -2410,13 +2391,15 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.78-unwinding-fix.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-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-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.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-test-timeout.patch \
%D%/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch \
%D%/packages/patches/rust-codex-0.124.0-remove-patch-sections.patch \
%D%/packages/patches/rust-librocksdb-sys-unbundled-sources.patch \
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
%D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
@@ -2426,6 +2409,7 @@ dist_patch_DATA = \
%D%/packages/patches/sajson-build-with-gcc10.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/sbcl-fix-arm64-shared-lib.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
@@ -2451,10 +2435,10 @@ dist_patch_DATA = \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/libsequoia-fix-ffi-Makefile.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/sharutils-CVE-2018-1000097.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/slim-config.patch \
%D%/packages/patches/slim-gcc-14.patch \
@@ -2489,7 +2473,6 @@ dist_patch_DATA = \
%D%/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch \
%D%/packages/patches/swift-llvm-5.7.3-linux.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-format-security.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
@@ -2522,6 +2505,7 @@ dist_patch_DATA = \
%D%/packages/patches/texmacs-wayland-hidpi.patch \
%D%/packages/patches/tflite-micro_disable_download.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/timewarrior-time-sensitive-tests.patch \
%D%/packages/patches/tinydir-fix-cbehave-test.patch \
@@ -2537,7 +2521,6 @@ dist_patch_DATA = \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.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/tvm_fix_cpptest_build.patch \
%D%/packages/patches/twinkle-bcg729.patch \
@@ -2615,7 +2598,6 @@ dist_patch_DATA = \
%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-x86-no-sse.patch \
%D%/packages/patches/websocketpp-boost-compat.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
+86 -205
View File
@@ -2,7 +2,6 @@
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2025 Owen T. Heisler <writer@owenh.net>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,7 +36,6 @@
#:use-module (gnu system)
#:use-module (guix base32)
#:use-module (guix colors)
#:use-module (guix deprecation)
#:use-module (guix derivations)
#:use-module (guix diagnostics)
#:use-module (guix gexp)
@@ -57,7 +55,6 @@
#:use-module (ice-9 string-fun)
#:use-module (ice-9 textual-ports)
#:use-module (json)
#:use-module ((rnrs base) #:select (assert))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-34)
@@ -69,10 +66,8 @@
#:use-module (ssh session)
#:use-module (ssh sftp)
#:use-module (ssh shell)
#:export (%hetzner-os-arm ;deprecated
%hetzner-os-x86 ;deprecated
make-hetzner-os
#:export (%hetzner-os-arm
%hetzner-os-x86
deploy-hetzner
hetzner-configuration
hetzner-configuration-allow-downgrades?
@@ -87,7 +82,6 @@
hetzner-configuration-server-type
hetzner-configuration-ssh-key
hetzner-configuration-ssh-public-key
hetzner-configuration-user
hetzner-configuration?
hetzner-environment-type))
@@ -104,7 +98,7 @@
;; Operating system for arm servers using UEFI boot mode.
(define %hetzner-os-arm/efi
(define %hetzner-os-arm
(operating-system
(host-name "guix-arm")
(bootloader
@@ -134,9 +128,9 @@
;; Operating system for x86 servers using BIOS boot mode.
(define %hetzner-os-x86/bios
(define %hetzner-os-x86
(operating-system
(inherit %hetzner-os-arm/efi)
(inherit %hetzner-os-arm)
(host-name "guix-x86")
(bootloader
(bootloader-configuration
@@ -152,51 +146,6 @@
(type "ext4"))
%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)
"Authorize the OS with the public signing key of the current machine."
(if (file-exists? %public-key-file)
@@ -242,11 +191,6 @@ Have you run 'guix archive --generate-key'?")
;;; 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
make-hetzner-configuration hetzner-configuration? this-hetzner-configuration
(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
(default #t))
(delete? hetzner-configuration-delete? ; boolean
(default #t))
(default #f))
(labels hetzner-configuration-labels ; list of strings
(default '()))
(location hetzner-configuration-location ; #f | string
@@ -269,39 +213,26 @@ Have you run 'guix archive --generate-key'?")
(default #t))
(ipv6 hetzner-configuration-ipv6 ; boolean | string
(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)
(default (and=> (hetzner-configuration-ssh-key
this-hetzner-configuration)
public-key-from-file))
(sanitize (lambda (value)
(if (string? value)
(public-key-from-file value)
value))))
(ssh-key hetzner-configuration-ssh-key* ; #f | string
(default #f))
(user hetzner-configuration-user ;string
(default "root")))
(default (public-key-from-file (hetzner-configuration-ssh-key this-hetzner-configuration)))
(sanitize
(lambda (value)
(if (string? value) (public-key-from-file value) value))))
(ssh-key hetzner-configuration-ssh-key
(default #f))) ; #f | string
(define (hetzner-configuration-ssh-key config)
(or (%hetzner-ssh-key-file)
(hetzner-configuration-ssh-key* config)))
(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)))
(define (hetzner-configuration-ssh-key-fingerprint config)
"Return the SSH public key fingerprint of CONFIG as a string."
(and-let* ((pubkey (hetzner-configuration-ssh-public-key config))
(hash (get-public-key-hash pubkey 'md5)))
(bytevector->hex-string hash)))
(define (public-key->string-with-type public-key)
"Return the SSH public key string of PUBLIC-KEY, a Guile-SSH public key
object, in the expected format for the Hetzner API."
(format #f "ssh-~a ~a" (get-key-type public-key)
(public-key->string public-key)))
(define (hetzner-configuration-ssh-key-public config)
"Return the SSH public key of CONFIG as a string."
(let ((public-key (hetzner-configuration-ssh-public-key config)))
(format #f "ssh-~a ~a" (get-key-type 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
;; duplicate symlink conflict in the store.
(os ((@@ (gnu machine) %machine-operating-system) target)))
(match-record config <hetzner-configuration>
( authorize? allow-downgrades? build-locally? user)
(machine
(inherit target)
(operating-system
(if authorize?
(operating-system-authorize os)
os))
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(allow-downgrades? allow-downgrades?)
(authorize? authorize?)
(build-locally? build-locally?)
(host-name (hetzner-server-public-ipv4 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)))))))
(machine
(inherit target)
(operating-system
(if (hetzner-configuration-authorize? config)
(operating-system-authorize os)
os))
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(allow-downgrades? (hetzner-configuration-allow-downgrades? config))
(authorize? (hetzner-configuration-authorize? config))
(build-locally? (hetzner-configuration-build-locally? config))
(host-name (hetzner-server-public-ipv4 server))
(identity (hetzner-configuration-ssh-key config))
(system (hetzner-server-system server)))))))
(define (hetzner-machine-location machine)
"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."
(let* ((os (machine-operating-system machine))
(system (hetzner-server-system server))
(type-name (hetzner-server-type-name (hetzner-server-type server)))
(arm? (equal? "arm" (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)))
`(operating-system
(host-name ,(operating-system-host-name os))
(timezone "Etc/UTC")
(bootloader (bootloader-configuration
(bootloader ,(if efi?
'grub-efi-bootloader
'grub-bootloader))
(targets ,(if efi?
'(list "/boot/efi")
'(list "/dev/sda")))
(terminal-outputs '(console))))
(bootloader ,(cond (arm? 'grub-efi-bootloader)
(x86? 'grub-bootloader)))
(targets ,(cond (arm? '(list "/boot/efi"))
(x86? '(list "/dev/sda"))))
(terminal-outputs '(console))))
(initrd-modules (append
,(cond (arm? '(list "sd_mod" "virtio_scsi"))
(x86? '(list "virtio_scsi")))
%base-initrd-modules))
(file-systems (cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
,@(if efi?
'((file-system
(mount-point "/boot/efi")
(device "/dev/sda15")
(type "vfat")))
'())
%base-file-systems))
(file-systems ,(cond
(arm? `(cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
(file-system
(mount-point "/boot/efi")
(device "/dev/sda15")
(type "vfat"))
%base-file-systems))
(x86? `(cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
%base-file-systems))))
(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
(openssh-configuration
(openssh openssh-sans-x)
(permit-root-login 'prohibit-password)))
(openssh openssh-sans-x)
(permit-root-login 'prohibit-password)))
%base-services)))))
(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)
"Find the SSH key for MACHINE on the Hetzner API."
(and-let* ((config (machine-configuration machine))
(public-key (hetzner-configuration-ssh-public-key config))
(expected (public-key->fingerprint public-key)))
(let* ((config (machine-configuration machine))
(expected (hetzner-configuration-ssh-key-fingerprint config)))
(find (lambda (ssh-key)
(equal? expected (hetzner-ssh-key-fingerprint ssh-key)))
(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)
(let* ((config (machine-configuration machine))
(api (hetzner-configuration-api config))
(pubkey (hetzner-configuration-ssh-public-key config))
(_ (assert pubkey))
(ssh-key (hetzner-api-ssh-key-create
api
(public-key->fingerprint pubkey)
(public-key->string-with-type pubkey)
(hetzner-configuration-api config)
(hetzner-configuration-ssh-key-fingerprint config)
(hetzner-configuration-ssh-key-public config)
#:labels (hetzner-configuration-labels config))))
(format #t "successfully created ssh key for '~a'\n" name)
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.")
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)
"Create the Hetzner server for 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)))
(format #t "creating '~a' server for '~a'...\n" server-type name)
(let* ((ssh-key (hetzner-machine-ssh-key machine))
(_ (assert ssh-key)) ;required during provisioning
(ipv4 (hetzner-configuration-ipv4 config))
(ipv6 (hetzner-configuration-ipv6 config))
(api (hetzner-configuration-api config))
(server (hetzner-api-server-create
api
(machine-display-name machine)
#:ssh-keys (list ssh-key)
(list ssh-key)
#:ipv4 (if (string? ipv4)
(hetzner-primary-ip-id (hetzner-resolve-ip api ipv4))
ipv4)
@@ -613,15 +527,13 @@ values: list of output lines returned by CMD and its exit code."
(write-known-host! ssh-session)))
(define (hetzner-machine-enable-rescue-system machine server)
"Enable the rescue system on the Hetzner SERVER for MACHINE, provisioning it
with the configured SSH key, or a dynamically created temporary one."
"Enable the rescue system on the Hetzner SERVER for MACHINE."
(let* ((name (machine-display-name machine))
(config (machine-configuration machine))
(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)
(let ((action (hetzner-api-server-enable-rescue-system
api server #:ssh-keys ssh-keys)))
(let ((action (hetzner-api-server-enable-rescue-system api server ssh-keys)))
(format #t "successfully enabled rescue system on '~a'\n" name)
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)
(define (hetzner-machine-rescue-install-os machine ssh-session server)
"Init a minimal Guix System to bootstrap from."
(let ((name (machine-display-name machine))
(os (hetzner-machine-bootstrap-os-form machine server)))
(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
# rescue system to the tmp directory of the new Guix system.
mkdir -p /mnt/tmp/gnu
mkdir -p /gnu
mount --bind /mnt/tmp/gnu /gnu
mkdir -p /mnt/tmp/gnu/store
mkdir -p /gnu/store
mount --bind /mnt/tmp/gnu/store /gnu/store
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
chmod +x /tmp/guix-install.sh
@@ -754,8 +665,7 @@ apt-get install cloud-initramfs-growroot uidmap --assume-yes"))
action)))
(define (hetzner-machine-provision machine)
"Provision a Guix System bootstrap server for MACHINE on the Hetzner Cloud
service."
"Provision a server for MACHINE on the Hetzner Cloud service."
(with-exception-handler
(lambda (exception)
(let ((config (machine-configuration machine))
@@ -770,10 +680,12 @@ service."
(let ((ssh-session (hetzner-machine-wait-for-ssh machine server)))
(hetzner-machine-rescue-install-packages machine ssh-session)
(hetzner-machine-rescue-partition machine ssh-session)
(hetzner-machine-rescue-install-os machine ssh-session server))
(hetzner-machine-reboot machine server)
(hetzner-machine-authenticate-host machine server)
server))))
(hetzner-machine-rescue-install-os machine ssh-session server)
(hetzner-machine-reboot machine server)
(sleep 5)
(hetzner-machine-authenticate-host machine server)
server)))
#:unwind? #t))
(define (machine-not-provisioned machine)
(formatted-message
@@ -799,47 +711,16 @@ an environment type of 'hetzner-environment-type'."
;;; 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)
"Internal implementation of 'deploy-machine' for 'machine' instances with an
environment type of 'hetzner-environment-type'."
(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
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,7 +19,6 @@
(define-module (gnu machine hetzner http)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (guix memoization)
#:use-module (guix records)
#:use-module (ice-9 iconv)
#:use-module (ice-9 match)
@@ -53,7 +51,6 @@
hetzner-api-action-wait
hetzner-api-actions
hetzner-api-create-ssh-key
hetzner-api-images
hetzner-api-locations
hetzner-api-primary-ips
hetzner-api-request-body
@@ -84,23 +81,6 @@
hetzner-error-code
hetzner-error-message
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-dns-ptr
hetzner-ipv4-id
@@ -168,7 +148,6 @@
hetzner-ssh-key?
make-hetzner-action
make-hetzner-error
make-hetzner-image
make-hetzner-ipv4
make-hetzner-ipv6
make-hetzner-location
@@ -189,19 +168,7 @@
(make-parameter (getenv "GUIX_HETZNER_API_TOKEN")))
;; Ideally this would be a Guix image. Maybe one day.
(define %hetzner-default-server-image
(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))))))))))
(define %hetzner-default-server-image "debian-11")
;; Falkenstein, Germany
(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"
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>
make-hetzner-server-type hetzner-server-type? json->hetzner-server-type
(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))
(define* (hetzner-api-server-create
api name #:key
ssh-keys
api name ssh-keys
#:key
(ipv4 #f)
(ipv6 #f)
(image (%hetzner-default-server-image api))
(image %hetzner-default-server-image)
(labels '())
(location %hetzner-default-server-location)
(server-type %hetzner-default-server-type)
@@ -690,11 +620,7 @@ initial system provisioning phase, before Guix System takes over."
,@(if (integer? ipv6) `(("ipv6" . ,ipv6)) '())))
("location" . ,location)
("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?)))))
(hetzner-api-action-wait api (hetzner-api-body-action body))
(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))))
(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."
(let* ((ssh-keys (and ssh-keys
(apply vector (map hetzner-ssh-key-id ssh-keys))))
(let* ((ssh-keys (apply vector (map hetzner-ssh-key-id ssh-keys)))
(body (hetzner-api-post
api (hetzner-server-path server "/actions/enable_rescue")
#:body `(,@(if ssh-keys
`(("ssh_keys" . ,ssh-keys))
'())
#:body `(("ssh_keys" . ,ssh-keys)
("type" . ,type)))))
(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."
(apply hetzner-api-list api "/server_types" "server_types"
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
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 it after '%package-module-path' so that '%load-path' contains user
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
@@ -178,7 +172,7 @@ flags."
(if (string=? directory %distro-root-directory)
(string-append directory "/gnu/packages/patches")
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.
;; 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 java)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages tcl)
#:use-module (gnu packages xml)
@@ -186,9 +185,7 @@ terminals.")
(native-inputs
(append
(list clisp
;; See: <https://bugzilla.redhat.com/show_bug.cgi?id=2231865>.
python-cython-0
python-setuptools ;remove with next update
python-cython
doxygen
gettext-minimal)
;; icedtea doesn't build reliably on all architectures.
+1
View File
@@ -37,6 +37,7 @@
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils))
(define-public acl
+108 -136
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015-2018, 2020-2023 Eric Bavier <bavier@posteo.net>
@@ -109,6 +109,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system ruby)
@@ -743,7 +744,7 @@ manager.")
(define-public swineherd
(package
(name "swineherd")
(version "0.0.5")
(version "0.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -752,7 +753,7 @@ manager.")
(file-name (git-file-name name version))
(sha256
(base32
"1w3fvkdmqvbzqfx3xindm8qgam54wja46isgwasaiqmmhnla7p52"))))
"0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")
@@ -766,7 +767,7 @@ manager.")
guile-netlink
guile-3.0
guix
shepherd-1.0))
shepherd-0.10))
(home-page "https://github.com/BIMSBbioinfo/swineherd")
(synopsis "System container manager")
(description
@@ -1084,7 +1085,7 @@ console.")
(define-public btop
(package
(name "btop")
(version "1.4.7")
(version "1.4.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1093,7 +1094,7 @@ console.")
(file-name (git-file-name name version))
(sha256
(base32
"0d3cr5l6gpcwhxgnrizny5b5kg6fys2hy9a58bc68w4n2hc040fy"))))
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
(build-system gnu-build-system)
(native-inputs (list lowdown))
(arguments
@@ -1157,7 +1158,7 @@ on memory usage on GNU/Linux systems.")
(define-public htop
(package
(name "htop")
(version "3.5.1")
(version "3.5.0")
(source
(origin
(method git-fetch)
@@ -1165,7 +1166,7 @@ on memory usage on GNU/Linux systems.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "187gyj081n6qsidll5wdri3jkr4m2i4m461z3xv03y342f5yj3lv"))
(base32 "1r07ri0dl9xz0jn1hc2g8q3l0q4clvnxs05yagpzsz0zigp4flj5"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1971,7 +1972,7 @@ maintenance releases.")
(define-public dhcpcd
(package
(name "dhcpcd")
(version "10.3.2")
(version "10.3.0")
(source
(origin
(method git-fetch)
@@ -1980,7 +1981,7 @@ maintenance releases.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1z5rpi0n2vwhkh3c4d0dxwp38fl18br58jpy7kzh97gzg3gpk5dl"))))
(base32 "058k8wbzbjb6mm6qklv40z1y4k6sdb4ysap1xk6pny1m1f9xkdax"))))
(inputs (list bash-minimal coreutils-minimal eudev sed))
(build-system gnu-build-system)
(arguments
@@ -3405,7 +3406,7 @@ provides the following commands:
;; variable in the tests/import/cpan.scm test.
(list (search-path-specification
(variable "GUIX_PYTHONPATH")
(files (list "lib/python3.12/site-packages")))))
(files (list "lib/python3.11/site-packages")))))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible aims to be a radically simple IT automation system.
@@ -3423,7 +3424,7 @@ modules and plugins that extend Ansible.")
(define-public debops
(package
(name "debops")
(version "3.3.0")
(version "3.2.5")
(source
(origin
(method git-fetch)
@@ -3432,7 +3433,7 @@ modules and plugins that extend Ansible.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z6wck5kax5h2bjv1vw8pbd7fdcdhx87bj9fakh3h0rar9d2qksj"))
(base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
(patches
(search-patches "debops-setup-py-avoid-git.patch"))))
(build-system pyproject-build-system)
@@ -3454,8 +3455,8 @@ modules and plugins that extend Ansible.")
python-future
python-gitpython
python-jinja2
python-pyxdg
python-pyyaml
python-pyxdg
python-toml))
(arguments
(list
@@ -3470,7 +3471,7 @@ modules and plugins that extend Ansible.")
`("PATH" ":" prefix
,(map dirname
(map (cut search-input-file inputs <>)
(list ;; "bin/ansible" ;see above
(list "bin/ansible"
"bin/gpg"
"bin/git"
"bin/git-crypt"
@@ -3750,68 +3751,59 @@ summarizes network bandwidth by process and remote host.")
(define-public munge
(package
(name "munge")
(version "0.5.18")
(version "0.5.14")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dun/munge")
(commit (string-append "munge-" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://github.com/dun/munge/releases/"
"download/munge-" version "/munge-"
version ".tar.xz"))
(sha256
(base32
"1b7gm680dlvmgvj9vxy7n0cqmnv1rl9n4563vasxdxx54f78j30s"))
"0h06sghb4rqvv1ywyd6mzsmbcgh712v6ygrff0gzm440y4ca41k6"))
(modules '((guix build utils)))
(snippet
;; Don't insist on write access to /var.
#~(substitute* "src/etc/Makefile.am"
(("\\$\\(MKDIR_P\\) .*(local|run)statedir.*" all)
(string-append ": " all))))))
'(begin
;; Don't insist on write access to /var.
(substitute* "src/etc/Makefile.in"
(("\\$\\(INSTALL\\)(.*)localstatedir" _ middle)
(string-append "-$(INSTALL)" middle "localstatedir"))
(("\\$\\(MKDIR_P\\) .*(local|run)statedir.*")
""))
#t))))
(inputs
(list openssl libgcrypt))
(native-inputs
(list autoconf
automake
libtool
procps)) ;for tests
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "--localstatedir=/var"
"--disable-static"
#$@(if (%current-target-system)
;; Assume yes on pipes when cross compiling.
`("ac_cv_file__dev_spx=yes"
"x_ac_cv_check_fifo_recvfd=yes")
'())
;; The '.pc' file is not installed when omitting this flag.
(string-append "--with-pkgconfigdir="
#$output "/lib/pkgconfig"))
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'pre-bootstrap
(lambda _
(for-each patch-shebang (find-files "build-aux"))))
(add-after 'unpack 'skip-failing-tests
(lambda _
;; Pass '--force' to 'munged'; without it, it fails with "Socket
;; is inaccessible" due to the build directory not being
;; world-readable.
(substitute* "tests/sharness.d/03-munged.sh"
(("--group-update-time=-1" all)
(string-append all " --force")))
;; The tests below invoke 'sudo' or have special expectations
;; about network interfaces.
(for-each (lambda (test)
(substitute* "tests/Makefile.am"
(((string-append test "\\.t "))
"")))
(list "0100-munged-lock"
"0101-munged-security-socket"
"0102-munged-security-keyfile"
"0103-munged-security-logfile"
"0110-munged-origin-addr")))))))
`(#:configure-flags
(list "--localstatedir=/var"
(string-append "--with-pkgconfigdir="
(assoc-ref %outputs "out") "/lib/pkgconfig")
(string-append "--with-libgcrypt-prefix="
(assoc-ref %build-inputs "libgcrypt"))
,@(if (%current-target-system)
;; Assume yes on pipes when cross compiling.
`("ac_cv_file__dev_spx=yes"
"x_ac_cv_check_fifo_recvfd=yes")
'()))
#:phases
(modify-phases %standard-phases
;; XXX Many test series fail. Some might be fixable, others do no-no
;; things like invoking sudo.
(add-after 'unpack 'skip-failing-tests
(lambda _
(for-each (lambda (test)
(substitute* "t/Makefile.in"
(((string-append test "\\.t ")) "")))
(list "0100-munged-lock"
"0010-basic"
"0011-munged-cmdline"
"0012-munge-cmdline"
"0013-unmunge-cmdline"
"0101-munged-security-socket"
"0102-munged-security-keyfile"
"0103-munged-security-logfile"
"0110-munged-origin-addr"))
#t)))))
(home-page "https://dun.github.io/munge/")
(synopsis "Cluster computing authentication service")
(description
@@ -3926,18 +3918,6 @@ rules is done with the @code{auditctl} utility.")
(wrap-program (string-append ndiff "/bin/ndiff")
`("GUIX_PYTHONPATH" prefix
(,(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.
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
@@ -4067,59 +4047,51 @@ plug-in architecture to allow monitoring other system metrics.")
(license license:gpl2+)))
(define-public thefuck
;; Latest release, 3.32, is not compatible with Python 3.12.
(let ((revision "0")
(commit "c7e7e1d884d3bb241ea6448f72a989434c2a35ec"))
(package
(name "thefuck")
(version (git-version "3.32" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nvbn/thefuck")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1l3i2cpdf3vznpbzqw7b18l23xikqs7andx6yzqvm5415snaqg06"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
"--deselect=tests/test_utils.py::TestGetValidHistoryWithoutCurrent"
"--ignore=tests/functional/conftest.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; ModuleNotFoundError: No module named 'pytest_docker_pexpect'
(delete-file "tests/functional/conftest.py")
;; Tests look for installed package
;; Some tests need write access to $HOME.
(setenv "HOME" "/tmp")
;; Even with that, this function tries to mkdir /.config.
(substitute* "tests/test_utils.py"
(("settings\\.init\\(\\)") "")))))))
(native-inputs
(list go
python-mock
;; Uses test markers that are incompatible with pytest 9.
python-pytest-8
python-pytest-mock
python-setuptools))
(inputs
(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
(package
(name "thefuck")
(version "3.32")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nvbn/thefuck")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "18ipa1bm6q1n5drbi8i65726hhqhl1g41390lfqrc11hkbvv443d"))
(patches (search-patches "thefuck-test-environ.patch"
"thefuck-remove-broken-tests.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; Tests look for installed package
;; Some tests need write access to $HOME.
(setenv "HOME" "/tmp")
;; Even with that, this function tries to mkdir /.config.
(substitute* "tests/test_utils.py"
(("settings\\.init\\(\\)") "")))))))
(native-inputs
(list go
python-mock
python-pytest-8
python-pytest-mock
python-setuptools
python-wheel))
(inputs
(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.")
(license license:x11))))
(license license:x11)))
(define-public di
(package
@@ -4730,7 +4702,7 @@ information tool.")
(define-public fastfetch-minimal
(package
(name "fastfetch-minimal")
(version "2.63.1")
(version "2.60.0")
(source
(origin
(method git-fetch)
@@ -4739,7 +4711,7 @@ information tool.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "13a5maf8jxyga5bga96s40binqp2i54pjlipsnqgfj85q01yzkg9"))
(base32 "089577qgxd63zqzd00fz381bfpmj6pwlmy2zfan9r6gbm1jvj4i8"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")
@@ -7071,7 +7043,7 @@ network, which causes enabled computers to power on.")
(define-public witr
(package
(name "witr")
(version "0.3.1")
(version "0.1.7")
(source
(origin
(method git-fetch)
@@ -7080,7 +7052,7 @@ network, which causes enabled computers to power on.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03v9n4mdvqm0knqjl4s64321i5clqpmlrlkkdb87glzb9p28sg00"))))
(base32 "18xx01lxd5j019gy9jmpms3awv4snlr028w01bfkyfid6hlwxbq2"))))
(build-system go-build-system)
(arguments
(list
+2 -2
View File
@@ -117,7 +117,7 @@ Features:
(define-public python-zbarlight
(package
(name "python-zbarlight")
(version "4.0")
(version "3.0")
(source
(origin
(method git-fetch)
@@ -126,7 +126,7 @@ Features:
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1q1nfc7g7bl9y63fwvnq1fcgqk79inc2hhw3ilvyw0nk0g74v8cm"))))
(base32 "1radfpfhfhkx3xnz01bqr5l9pl2zv70zis6l2kw1gwqbfw65r6w6"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-pillow))
(inputs (list zbar))
+2 -1
View File
@@ -88,6 +88,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system r)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -457,7 +458,7 @@ precision.")
(inputs
;; TODO: Unbundle "libmicropython.a".
(list ao
fltk
fltk-1.3
glpk
gmp
gsl
+16 -22
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -1229,35 +1230,28 @@ main repository.")
(define-public fdroidcl
(package
(name "fdroidcl")
(version "0.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Hoverth/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bflahcsjarv4v6r61knl5gc5iydh1lwvqjgffhxr4pis4qfsqsa"))
;; XXX: Reported upstream.
;; See: <https://github.com/Hoverth/fdroidcl/pull/92>.
(patches (search-patches "fdroidcl-fix-tests.patch"))))
(version "0.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1s3fszlyyab9gbdrg52zcbafsb1mgb770skg7b3gj7f3pzfnra5n"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "mvdan.cc/fdroidcl"))
(inputs
(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")
`(#:import-path "mvdan.cc/fdroidcl"
#:tests? #f ;requires internet access
#:install-source? #f))
(inputs (list go-github-com-kr-pretty go-github-com-schollz-progressbar-v3))
(synopsis "F-Droid desktop client")
(description
"While the Android client integrates with the system with regular update
checks and notifications, this is a simple command line client that talks to
connected devices via ADB.")
(home-page "https://github.com/mvdan/fdroidcl")
(license license:bsd-3)))
(define-public emacs-fdroid
+6 -6
View File
@@ -238,12 +238,12 @@ contains the graphical user interface for synfig.")
(when tests?
(invoke "./tests")))))))
(native-inputs
(cons* gettext-minimal
`(,glib "bin")
perl
pkg-config
python-wrapper
(maybe-nasm)))
(list gettext-minimal
`(,glib "bin")
nasm
perl
pkg-config
python-wrapper))
(inputs
(list cairo
curl
+1 -1
View File
@@ -180,7 +180,7 @@ supported by Canonical since 2009.")
(list libapparmor))
;; Python module `readline' needed
(native-inputs
(list bison flex gettext-minimal perl python python-setuptools which))
(list bison flex gettext-minimal perl python which))
(license license:gpl2))))
(define-public pam-apparmor
+1 -12
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2020, 2021, 2025, 2026 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020, 2021, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2019, 2022, 2024 Andy Tai <atai@atai.org>
@@ -43,7 +43,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
@@ -249,16 +248,6 @@ complex. It supports all currently known x86 architectural extensions, and
has strong support for macros.")
(license license:bsd-2)))
(define* (maybe-nasm #:optional
(system (or (%current-target-system)
(%current-system))))
;; For some packages nasm is only needed when compiling to/for x86/x86_64.
(if (target-x86? system)
(list nasm)
'()))
(export maybe-nasm)
(define-public yasm
(package
(name "yasm")
+341 -1063
View File
File diff suppressed because it is too large Load Diff
+130 -300
View File
@@ -51,7 +51,7 @@
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; 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 Andrew Wong <wongandj@icloud.com>
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
@@ -63,7 +63,6 @@
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -128,7 +127,6 @@
#:use-module (gnu packages linphone)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
@@ -137,6 +135,7 @@
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages perl)
@@ -145,7 +144,6 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
@@ -181,6 +179,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -195,45 +194,6 @@
#:use-module (srfi srfi-26)
#: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
(package
(name "opensles")
@@ -820,8 +780,7 @@ Filter) modules follow the convention of 1V / Octave.")
"https://aubio.org/pub/aubio-" version ".tar.bz2"))
(sha256
(base32
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))
(patches (search-patches "aubio-waflib-python312-compat.patch"))))
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
(build-system waf-build-system)
(arguments
(list
@@ -1251,7 +1210,7 @@ PulseAudio clients, featuring:
(define-public ardour
(package
(name "ardour")
(version "9.2")
(version "9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1268,7 +1227,7 @@ PulseAudio clients, featuring:
namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }")))))
(sha256
(base32
"14s6cq3x7l7b682ah9k8cdr6plfirlgm882dc2nm51lxwl91zcfd"))
"00bramm8dq0ihr376n7l9rg0mjzxmzw6lxvsbsdlrdsimfwsy16p"))
(file-name (git-file-name name version))))
(build-system waf-build-system)
(arguments
@@ -2135,17 +2094,7 @@ envelope follower, distortion effects, tape effects and more.")
(base32
"01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w"))))
(build-system waf-build-system)
(arguments
(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")))))))
(arguments (list #:tests? #false)) ;There are no tests.
(inputs (list lv2))
(native-inputs (list pkg-config))
(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
(inherit jack-1)
(name "jack2")
;; 1.9.22 does not compile with Python 3.12, use the latest commit instead.
(properties '((commit . "17959465a722225a36a8b612aed26764036f258e")
(revision . "0")))
(version (git-version "1.9.22"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(version "1.9.21")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jackaudio/jack2")
(commit (assoc-ref properties 'commit))))
(url "https://github.com/jackaudio/jack2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"18dbjq9y8mcp27j9aaqdlg4976hrisr7b88lk84ck09gmzlwqalp"))))
"0sbrffmdbajvrk7iqvsvrnwnpvmicvbjyq3f52r6ashdsznsz03b"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:configure-flags '("--dbus" "--alsa")
#: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
(lambda _
;; 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
libsamplerate
opus
python-dbus
python-dbus-1.2
readline))
(native-inputs
(list pkg-config))
@@ -3478,7 +3430,7 @@ from being able to mix multiple JACK audio streams.")
(define-public pipemixer
(package
(name "pipemixer")
(version "0.5.0")
(version "0.4.1")
(source
(origin
(method git-fetch)
@@ -3487,8 +3439,19 @@ from being able to mix multiple JACK audio streams.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "104h2zdhqx5gdddnb7v7rhrflznh4v7d4g3s6vk2mxwf938zgm72"))))
(base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
(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
(list pkg-config))
(inputs
@@ -3888,58 +3851,6 @@ provided by Pipewire.")
cross-platform audio input/output stream library.")
(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
(package
(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}.")
(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
(package
(name "python-soundfile")
@@ -4213,7 +4090,9 @@ one-dimensional sample-rate conversion library.")
(string-append "'" #$(this-package-input "libsndfile")
"/lib/libsndfile"))))))))
(native-inputs
(list python-pytest python-setuptools))
(list python-pytest
python-pytest-cov
python-setuptools))
(inputs
(list libsndfile
portaudio))
@@ -4586,33 +4465,6 @@ This includes device enumeration and initialization, file loading, and
streaming.")
(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
(package
(name "pa-notify")
@@ -5017,42 +4869,6 @@ using Guix System.")
;; GNU Library (not Lesser) General Public License.
(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
(package
(name "redumper")
@@ -7213,6 +7029,32 @@ developing fully accurate DirectX Audio runtime libraries.")
license:expat
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
(package
(name "darkice")
@@ -7423,7 +7265,6 @@ as is the case with audio plugins.")
(find-files "bin")))))))))
(inputs
(list alsa-lib
bash-minimal
ffmpeg
fluidsynth
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.
(define-public carla-2.6
(let ((commit "294a80145e39c0755ab9073d90fd8b9524fbfc84")
(revision "1"))
(let ((commit "aa400535b31c67f4b6c1b28e6e20e4d4f82111a3")
(revision "0"))
(package
(inherit carla)
(name "carla")
@@ -7496,12 +7337,7 @@ default and preferred audio driver but also supports native drivers like ALSA.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "053yfwf9l9vqvq95c354by6nm8ym0wgkv3fr1434x5w9n1344z0z"))))
(inputs
(modify-inputs (package-inputs carla)
(replace "python-pyqt" python-pyqt-6)
(replace "qtbase" qtbase)
(replace "qtwayland" qtwayland))))))
(base32 "0cnj2sgr60f5h6wdfmihc214wf3n74686sipl3iyzmylqrcyhbjn")))))))
;; This source is a fork of vst3sdk with the documentation and VSTGUI
;; 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 "modules")))))
(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
(list catch-framework
portaudio ;for portaudio examples
python ;for running tests
python-setuptools)) ;for running tests
python ;for running tests
portaudio)) ;for portaudio examples
(inputs
(list jack-1)) ;for JACK examples
(propagated-inputs
;; This is because include/ableton/platforms/asio/AsioWrapper.hpp
;; contains '#include <asio.hpp>'.
(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")
(synopsis "Synchronize musical beat, tempo, and phase across multiple applications")
(description
@@ -8141,16 +7978,7 @@ Icecast server.")
(lambda _
(substitute* "misc.c"
(("#include <stdio.h>\n" all)
(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>")))))
(string-append all "#include <string.h>\n")))))
(delete 'configure)
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
@@ -8162,8 +7990,7 @@ Icecast server.")
(inputs
(list ncurses))
(native-inputs
`(("gcc" ,gcc-9)
("groff" ,groff-minimal) ; for nroff
`(("groff" ,groff-minimal) ; for nroff
("util-linux" ,util-linux))) ; for col
(home-page "https://github.com/bleskodev/siggen")
(synopsis "Signal generation tools")
@@ -8239,7 +8066,7 @@ as sample rate, determining whether an audio file is silent, and much more.")
(propagated-inputs
(list python-numba python-numpy python-scipy python-six))
(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")
(synopsis "Efficient signal resampling")
(description
@@ -8257,10 +8084,10 @@ Home Page}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/librosa/librosa/")
(commit version)
;; TODO: Package test data.
(recursive? #true)))
(url "https://github.com/librosa/librosa/")
(commit version)
;; For test files.
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32 "065x43hx670rjrclxi4hiqxscllb16v9s7myjvg7rd5pd3y0k7sg"))))
@@ -8268,13 +8095,15 @@ Home Page}.")
(arguments
(list
#:test-flags
#~(list "-k" (string-append
;; Resampling tests require python-samplerate.
"not resample"
;; These tests use Pooch and download data files.
" and not example and not test_cite"
;; XXX assert 22050 == 31744
" and not test_stream"))))
;; Ignore --mpl flag.
'(list "-c" "/dev/null"
"-k" (string-append
;; Resampling tests require python-samplerate.
"not resample"
;; These tests use Pooch and download data files.
" and not example and not test_cite"
;; XXX assert 22050 == 31744
" and not test_stream"))))
(propagated-inputs
(list python-audioread
python-decorator
@@ -8293,9 +8122,10 @@ Home Page}.")
(list python-matplotlib
python-packaging
python-pytest
python-pytest-mpl
python-pytest-cov
python-resampy
python-setuptools))
python-setuptools
python-wheel))
(home-page "https://librosa.org")
(synopsis "Python module for audio and music processing")
(description
@@ -1989,7 +1989,7 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID 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
# 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
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 go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -106,7 +107,6 @@
#:use-module (gnu packages rsync)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@@ -137,6 +137,7 @@
python-paramiko
python-pexpect
python-pytest
python-pytest-runner
python-setuptools-scm
tzdata-for-tests
python-mock))
@@ -631,26 +632,41 @@ rsnapshot uses hard links to deduplicate identical files.")
(define-public borg
(package
(name "borg")
(version "1.4.4")
(version "1.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/borgbackup/borg")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(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)
(arguments
(list
#:modules '((srfi srfi-26) ; for cut
(guix build utils)
(guix build pyproject-build-system))
;; tests: 1318 passed, 293 skipped
#:test-flags
#~(list "--benchmark-skip"
"--numprocesses" (number->string (min 8 (parallel-job-count)))
"--numprocesses" (number->string (parallel-job-count))
"--pyargs" "borg.testsuite"
"-k" (string-join
;; These tests need to write to '/var'.
@@ -671,15 +687,7 @@ rsnapshot uses hard links to deduplicate identical files.")
"test_mount_hardlinks "
"test_readonly_mount "
"test_fuse_versions_view "
"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")
"test_migrate_lock_alive")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -695,58 +703,46 @@ rsnapshot uses hard links to deduplicate identical files.")
(setenv "BORG_LIBLZ4_PREFIX" lz4)
(setenv "BORG_LIBXXHASH_PREFIX" xxhash)
(setenv "BORG_LIBZSTD_PREFIX" zstd))))
(add-before 'build 'fix-testsuite-setuid-mode
(add-after 'install 'install-doc
(lambda _
(substitute* "src/borg/testsuite/archiver.py"
(("0o4755") "0o0755"))))
(add-after 'install 'build-and-install-docs
(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"))
(let ((man (string-append #$output "/share/man/man1"))
(misc (string-append #$output "/share/doc/borg-"
#$(package-version this-package))))
(for-each (cut install-file <> misc)
'("docs/misc/create_chunker-params.txt"
"docs/misc/borg-data-flow.png"
"docs/misc/internals-picture.txt"
"docs/misc/prune-example.txt"))
(copy-recursively "docs/_build/man" man)
(copy-recursively "docs/_build/singlehtml" html)
(copy-recursively "docs/_build/text" txt))))
(add-after 'build-and-install-docs 'install-shell-completions
(copy-recursively "docs/man" man))))
(add-after 'install-doc 'install-shell-completions
(lambda _
(let* ((etc (string-append #$output "/etc"))
(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")))
(let ((etc (string-append #$output "/etc"))
(share (string-append #$output "/share")))
(with-directory-excursion "scripts/shell_completions"
(install-file "bash/borg" bash)
(install-file "zsh/_borg" zsh)
(install-file "fish/borg.fish" fish))))))))
(install-file "bash/borg"
(string-append etc "/bash_completion.d"))
(install-file "zsh/_borg"
(string-append share "/zsh/site-functions"))
(install-file "fish/borg.fish"
(string-append share "/fish/vendor_completions.d")))))))))
(native-inputs
(list python-cython
python-guzzle-sphinx-theme
python-pkgconfig
python-dateutil
python-pytest
python-pytest-benchmark
python-pytest-xdist
python-setuptools
python-setuptools-scm
python-sphinx
python-sphinxcontrib-jquery))
python-wheel))
(inputs
(list acl
lz4
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:
;; <https://issues.guix.gnu.org/53407>
python-llfuse
python-packaging
xxhash
`(,zstd "lib")))
(synopsis "Deduplicated, encrypted, authenticated and compressed backups")
@@ -897,7 +893,7 @@ is like a time machine for your data.")
(define-public restic
(package
(name "restic")
(version "0.18.1")
(version "0.17.3")
(source
(origin
(method git-fetch)
@@ -906,7 +902,7 @@ is like a time machine for your data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gxhknn022bwg2s8hababqg3vjkzflq59vr67y7r1c8fjnlsgf4l"))))
(base32 "1wsgq7f0bfi0i5iiwcc3hlf2lhxcnz3zfs8p8bc6l913r9hvyg1x"))))
(build-system go-build-system)
(arguments
(list
@@ -915,18 +911,15 @@ is like a time machine for your data.")
#:import-path "github.com/restic/restic/cmd/restic"
#:unpack-path "github.com/restic/restic"
#:embed-files #~(list "children" "nodes" "text")
#:test-flags
;; Python is required.
#~(list "-skip" "TestStdinFromCommand|TestStdinFromCommandNoOutput")
#:test-subdirs #~(list "../../...")
#: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
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let* ((man "/share/man")
(man-section (string-append man "/man")))
;; 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-cespare-xxhash-v2
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-hashicorp-golang-lru-v2
go-github-com-klauspost-compress
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-minio-minio-go-v7
go-github-com-minio-sha256-simd
go-github-com-ncw-swift-v2
go-github-com-peterbourgon-unixtransport
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-time
go-google-golang-org-api
python-minimal
;; XXX: These packages have to be bootstrapped to break cycle with
;; go-google-golang-org-grpc.
@@ -1268,9 +1260,10 @@ compression parameters used by Gzip.")
(define-public borgmatic
(package
(name "borgmatic")
(version "2.1.5")
(version "2.1.2")
(source
(origin
;; PyPI archive does not contain NEWS file needed for one test.
(method git-fetch)
(uri (git-reference
(url "https://projects.torsion.org/borgmatic-collective/borgmatic")
@@ -1278,11 +1271,10 @@ compression parameters used by Gzip.")
(file-name (git-file-name name version))
(sha256
(base32
"17i15ysg0wbcnfvki8wz2z9gx3zx99czv3czjh83y2m1xppvqbl5"))))
"0vrpl21n6hf3pj0di4n7s36jq64sx24c93j48cmbdgczs8jiwi36"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 2609 passed
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
@@ -1297,12 +1289,19 @@ compression parameters used by Gzip.")
(("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'"
(search-input-file inputs "bin/borg")
"'"))))))))
"'")))))
(add-before 'check 'set-path
(lambda _
;; Tests require the installed executable.
(setenv "PATH"
(string-append #$output "/bin" ":"
(getenv "PATH"))))))))
(native-inputs
(list python-flexmock
python-pytest
python-pytest-timeout
python-setuptools))
python-pytest-cov
python-setuptools
python-wheel))
(inputs
(list borg
python-apprise
@@ -1364,9 +1363,9 @@ borgmatic is powered by borg.")
(assoc-ref qt:%standard-phases 'qt-wrap)))))
(native-inputs
(list python-platformdirs
python-pytest
python-pytest-mock
python-pytest-qt
python-pytest-runner
python-setuptools
python-setuptools-git))
(inputs
+43
View File
@@ -37,6 +37,8 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby-check)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages bison)
#:use-module (gnu packages linux)
#:use-module (gnu packages libffi)
@@ -53,6 +55,7 @@
#:use-module (guix store)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ruby)
#:use-module (guix build-system trivial)
#:autoload (guix gnupg) (gnupg-verify*)
#:autoload (guix base32) (bytevector->nix-base32-string)
@@ -513,6 +516,46 @@ function interface (FFI) directly in your shell. In other words, it allows
you to call routines in shared libraries from within Bash.")
(license license:expat)))
(define-public bashly
(package
(name "bashly")
(version "1.3.5")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "bashly" version))
(sha256
(base32 "17msjzca5ifx8biimdjps655w51yc82d5ys9hwn749bi2f3n8mcz"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "rspec" "-c" "spec")))))))
(native-inputs (list ruby-rspec))
(propagated-inputs (list ruby-colsole
ruby-completely
ruby-filewatcher
ruby-gtx
ruby-logger
ruby-lp
ruby-mister-bin
ruby-ostruct
ruby-requires
ruby-tty-markdown))
(synopsis
"Create feature-rich Bash scrips using simple YAML configuration")
(description
"Bashly is a CLI for generating feature-rich Bash command line
tools. Bashly lets you focus on your specific code, without worrying about
command line argument parsing, usage texts, error messages and other functions
that are usually handled by a framework in other programming languages.")
(home-page "https://bashly.dev/")
(license license:expat)))
(define-public blesh
(package
(name "blesh")
+25 -31
View File
@@ -13,8 +13,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Advanced Micro Devices, Inc.
;;;
;;; This file is part of GNU Guix.
@@ -42,8 +41,8 @@
#:use-module (guix amd-gpu)
#:use-module (guix search-paths)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
@@ -679,26 +678,20 @@ the user is too low. To raise such limit on a Guix System, refer to
"0ifnw8vnkcgrksx7g5d9ii4kjppqnk32lvrybdybmibyvag6zfdc"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; no tests
#:make-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration"
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-makefile
(lambda _
;; Remove erroneous "-lm" target
(substitute* "Makefile"
(("hackbench.o -lm") "hackbench.o"))))
(delete 'configure)
(replace 'install
(lambda _
(install-file "interbench"
(string-append #$output "/bin"))
(install-file "interbench.8"
(string-append #$output
"/share/man/man8")))))))
(native-inputs (list gcc-10))
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-makefile
(lambda _
;; Remove erroneous "-lm" target
(substitute* "Makefile"
(("hackbench.o -lm") "hackbench.o"))))
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "interbench" (string-append out "/bin"))
(install-file "interbench.8" (string-append out "/share/man/man8"))))))))
(home-page "http://users.on.net/~ckolivas/interbench/")
(synopsis "Interactivity benchmark")
(description "interbench is designed to benchmark interactivity on Linux.
@@ -737,7 +730,7 @@ and options. With careful benchmarking, different hardware can be compared.")
(define-public kdiskmark
(package
(name "kdiskmark")
(version "3.2.0")
(version "3.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -746,13 +739,14 @@ and options. With careful benchmarking, different hardware can be compared.")
(file-name (git-file-name name version))
(sha256
(base32
"161yyy4fcy5bnzhbcd7p90nlcslcsfp7n3m3bz9bygch7bdjw46g"))))
(build-system qt-build-system)
"1x8vd6swmf0i7f6m6wl2154n6plx8jkmcqfq6zxbdy255f1da74c"))))
(build-system cmake-build-system)
(arguments
(list
#:qtbase qtbase
#:configure-flags
#~(list (string-append "-DPOLKITQT-1_INSTALL_DIR=" #$output))
;; Drop runtime dependency on KDE's KFAuth.
#~(list "-DPERFORM_PAGECACHE_CLEARING_USING_KF5AUTH=no"
(string-append "-DPOLKITQT-1_INSTALL_DIR=" #$output))
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
@@ -765,10 +759,10 @@ and options. With careful benchmarking, different hardware can be compared.")
(lambda _
(rmdir "src/singleapplication")
(symlink #$(package-source
(this-package-input "single-application"))
(this-package-input "single-application-qt5"))
"src/singleapplication"))))))
(native-inputs (list extra-cmake-modules qttools))
(inputs (list fio polkit-qt6 single-application qtwayland))
(native-inputs (list extra-cmake-modules qttools-5))
(inputs (list fio polkit-qt qtbase-5 single-application-qt5))
(home-page "https://github.com/JonMagon/KDiskMark")
(synopsis "Simple disk benchmark tool")
(description "KDiskMark is an HDD and SSD benchmark tool. KDiskMark
+2082 -2077
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+14 -15
View File
@@ -86,6 +86,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -360,18 +361,18 @@ Transmission BitTorrent daemon.")
(name "aria2")
(version "1.37.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aria2/aria2")
(commit (string-append "release-" version))))
(method url-fetch)
(uri (string-append "https://github.com/aria2/aria2/releases/"
"download/release-" version
"/aria2-" version ".tar.xz"))
(sha256
(base32
"1yr9yxr7z3bdg51afpzj0i63xl2rdk1prl20qws21y6r1x58vf65"))
(file-name (git-file-name name version))
"0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
(patches (search-patches "aria2-unbundle-wslay.patch"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "deps")))))
(delete-file-recursively "deps")
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
@@ -381,13 +382,10 @@ Transmission BitTorrent daemon.")
#$output "/etc/bash_completion.d/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'update-gettext-version
(add-after 'unpack 'patch-configure
(lambda _
(substitute* "configure.ac"
(("AM_GNU_GETTEXT_VERSION\\(.*\\)")
(format #f "AM_GNU_GETTEXT_VERSION([~a])"
#$(package-version (this-package-native-input
"gettext-minimal")))))))
(("0[.]18") "0.19.6"))))
(add-after 'unpack 'delete-socket-tests
(lambda _
(substitute* "test/LpdMessageDispatcherTest.cc"
@@ -419,6 +417,8 @@ Transmission BitTorrent daemon.")
"Aria2 is a lightweight, multi-protocol & multi-source command-line
download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
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+)))
(define-public uget
@@ -533,9 +533,8 @@ and will take advantage of multiple processor cores where possible.")
(inputs (list boost-1.83 openssl))
(native-inputs
(list libfaketime
pkg-config
python-setuptools
python-wrapper))
python-wrapper
pkg-config))
(home-page "https://www.libtorrent.org/")
(synopsis "Feature-complete BitTorrent implementation")
(description
+2 -2
View File
@@ -334,7 +334,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "2.0.4")
(version "2.0.1")
(source
(origin
(method git-fetch)
@@ -343,7 +343,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06mhrb16h93n3s3srcfgmzsyh2lxx4ffj1di6qvczfg4039pi3c8"))))
(base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
(build-system emacs-build-system)
(arguments
(list
+37 -53
View File
@@ -83,6 +83,9 @@
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %pyproject-build-system-modules
#:modules `(((guix build pyproject-build-system) #:select (python-version))
,@%default-gnu-modules)
#:tests? #f
#:configure-flags
#~(let ((icu (dirname (dirname (search-input-file
@@ -91,26 +94,17 @@
;; Auto-detection looks for ICU only in traditional
;; install locations.
(string-append "--with-icu=" icu)
;; Ditto for Python. The Gexp can't be evaluated if python is not
;; in the inputs (e.g. boost-for-mysql), so delay its evaluation
;; after checking for python, rather than concurrently.
#$@(force
(if (or (%current-target-system)
(not (this-package-input "python-minimal-wrapper")))
(delay
#~())
(delay
#~((let ((python (dirname (dirname (search-input-file
%build-inputs
"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")))))))))
;; Ditto for Python.
#$@(if (%current-target-system)
#~()
#~((let ((python (dirname (dirname (search-input-file
%build-inputs
"bin/python")))))
(string-append "--with-python-root=" python)
(string-append "--with-python=" python
"/bin/python")
(string-append "--with-python-version="
(python-version python)))))
"--with-toolset=gcc"))
#:make-flags
#~(list "threading=multi" "link=shared"
@@ -206,39 +200,29 @@
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "./b2" "install" make-flags)))
#$@(force ; See above for why the force is necessary.
(if (or (%current-target-system)
(not (this-package-input "python-minimal-wrapper")))
(delay
#~())
(delay
#~((add-after 'install 'provide-libboost_python
(lambda* (#:key make-flags inputs outputs
#:allow-other-keys)
(let* ((static? (member "link=static" make-flags))
(ext (if static? ".a" ".so"))
(python (dirname
(dirname (search-input-file
inputs "bin/python"))))
(python-version
#$(version-major+minor
(package-version
(this-package-input
"python-minimal-wrapper"))))
(NN (string-join (string-split
python-version #\.)
""))
(libboost_pythonNN
(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)))))))))))))
#$@(if (%current-target-system)
#~()
#~((add-after 'install 'provide-libboost_python
(lambda* (#:key make-flags inputs outputs #:allow-other-keys)
(let* ((static? (member "link=static" make-flags))
(libext (if static? ".a" ".so"))
(python (dirname (dirname (search-input-file
inputs "bin/python"))))
(python-version (python-version python))
(libboost_pythonNN
(string-append "libboost_python"
(string-join (string-split
python-version #\.)
"")
libext)))
(with-directory-excursion (string-append #$output "/lib")
(symlink libboost_pythonNN
(string-append "libboost_python" libext))
;; Some packages only look for the major version.
(symlink libboost_pythonNN
(string-append "libboost_python"
(string-take python-version 1)
libext)))))))))))
(inputs
(append
(list icu4c zlib)
+53 -58
View File
@@ -48,7 +48,6 @@
#:use-module (gnu packages base)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -66,6 +65,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages mtools)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -267,8 +267,8 @@
;; rebooting.
(if (member (or (%current-target-system)
(%current-system))
(package-supported-systems fuse))
(list fuse)
(package-supported-systems fuse-2))
(list fuse-2)
'())))
(native-inputs
(append (list pkg-config
@@ -1815,68 +1815,63 @@ For more information, refer to
(define-public os-prober
(package
(name "os-prober")
(version "1.84")
(version "1.81")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/installer-team/os-prober.git")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
version ".tar.xz"))
(sha256
(base32 "1bji3w6nbqaz8zqrbmy8b1j5dph9xn7bdh1cd2z8ia1q125i6mgp"))))
(base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:modules '((guix build gnu-build-system)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 regex) ; string-match
(srfi srfi-26)) ; cut
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* (find-files ".")
(("/usr") #$output))
(substitute* (find-files "." "50mounted-tests$")
(("mkdir") "mkdir -p -v"))))
(replace 'install
(lambda _
(define (find-files-non-recursive directory)
(find-files directory
(lambda (file stat)
(string-match (string-append "^" directory "/[^/]*$")
file))
#:directories? #t))
(ice-9 regex) ; for string-match
(srfi srfi-26)) ; for cut
#:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files ".")
(("/usr") (assoc-ref outputs "out")))
(substitute* (find-files "." "50mounted-tests$")
(("mkdir") "mkdir -p"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(define (find-files-non-recursive directory)
(find-files directory
(lambda (file stat)
(string-match (string-append "^" directory "/[^/]*$")
file))
#:directories? #t))
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib"))
(share (string-append #$output "/share")))
(for-each (cut install-file <> bin)
(list "linux-boot-prober" "os-prober"))
(install-file "newns" (string-append lib "/os-prober"))
(install-file "common.sh" (string-append share "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx"
(string-append lib "/os-probes/mounted"))
(for-each
(lambda (directory)
(for-each
(lambda (file)
(let ((destination (string-append lib "/" directory
"/" (basename file))))
(mkdir-p (dirname destination))
(copy-recursively file destination)))
(append (find-files-non-recursive (string-append directory "/common"))
(find-files-non-recursive (string-append directory "/x86")))))
(list "linux-boot-probes"
"linux-boot-probes/mounted"
"os-probes"
"os-probes/init"
"os-probes/mounted"))))))))
(home-page "https://joeyh.name/code/os-prober/")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(share (string-append out "/share")))
(for-each (cut install-file <> bin)
(list "linux-boot-prober" "os-prober"))
(install-file "newns" (string-append lib "/os-prober"))
(install-file "common.sh" (string-append share "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx"
(string-append lib "/os-probes/mounted"))
(for-each
(lambda (directory)
(for-each
(lambda (file)
(let ((destination (string-append lib "/" directory
"/" (basename file))))
(mkdir-p (dirname destination))
(copy-recursively file destination)))
(append (find-files-non-recursive (string-append directory "/common"))
(find-files-non-recursive (string-append directory "/x86")))))
(list "os-probes" "os-probes/mounted" "os-probes/init"
"linux-boot-probes" "linux-boot-probes/mounted"))))))))
(home-page "https://joeyh.name/code/os-prober")
(synopsis "Detect other operating systems")
(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
+6 -55
View File
@@ -69,55 +69,6 @@ match website theme.")
(define-public adaptive-tab-bar-colour/icecat
(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
(package
(name "play-to-kodi")
@@ -312,7 +263,7 @@ fill and submit login forms if a matching password entry is found.")
(define keepassxc-browser
(package
(name "keepassxc-browser")
(version "1.9.10")
(version "1.9.9.6")
(source (origin
(method git-fetch)
(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))
(sha256
(base32
"18kgmdvsq1kv9px8a1m7i10r4m0iik72qlnw9k2ijxmn1xikfyfb"))
"1chw1y1332zn69s7kf5mkljc1bp2xfvl3zzvafnalv3zj2jsa5cs"))
;; Default 'manifest.json' targets chromium based browsers and
;; depends on background.service_worker support.
;; See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1573659>
@@ -377,15 +328,15 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define noscript
(package
(name "noscript")
(version "13.6.19.1984")
(version "13.2.2")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
"https://archive.torproject.org/tor-package-archive/torbrowser/noscript/noscript-"
version ".xpi"))
"https://noscript.net/download/releases/noscript-" version
".xpi"))
(sha256
(base32
"1lb3855w34avs7idvycv8cfpjnpic2mnsh9yqkidrdw7msr0na74"))))
"0w2w0a76dk01bkh83mqwgs9ky02rjqk15z5sxg4a6mw0hpr81bpm"))))
(build-system copy-build-system)
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
(arguments
+8 -151
View File
@@ -64,6 +64,7 @@
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -76,7 +77,6 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages re2c)
#:use-module (gnu packages regex)
#:use-module (gnu packages rpc)
#:use-module (gnu packages serialization)
@@ -94,6 +94,7 @@
#:use-module (guix build-system hare)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix deprecation)
#:use-module (guix download)
@@ -104,8 +105,7 @@
#:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix utils)
#:use-module (ice-9 optargs)
#:use-module (srfi srfi-1))
#:use-module (ice-9 optargs))
(define-public acr
(package
@@ -275,14 +275,14 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
(version "20260508")
(version "20260406")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv"))
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
(patches (search-patches "bmake-run-check-separately.patch"))))
(build-system gnu-build-system)
(inputs
@@ -432,8 +432,9 @@ files and generates build instructions for the Ninja build system.")
(arguments
(list
#:tests? #f ;disabled to avoid extra dependencies
;; Custom build steps to prevent using pyproject-build-system which
;; allows to edit the latter without a C++ world rebuild.
;; Essentially a lighter copy of the former python-build-system.
;; Using it rather than pyproject-build-system allows to edit the latter
;; without a C++ world rebuild.
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
@@ -1451,147 +1452,3 @@ It is an alternative to e.g. @command{make(1)} and @command{redo(1)}. Features:
@end itemize
")
(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.")))
+46 -47
View File
@@ -47,7 +47,6 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
@@ -55,6 +54,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix store)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
@@ -62,7 +62,6 @@
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages bison)
#: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 gcc)
@@ -82,7 +81,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
@@ -1095,8 +1093,32 @@ portability.")
(license (list license:bsd-2 ;all files except...
license:bsd-3)))) ;...the unidef.1 manual page
(define-deprecated/public-alias byacc
(@ (gnu packages compiler-tools) byacc))
(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 (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
(package
@@ -1305,6 +1327,25 @@ for the @acronym{AWS,Amazon Web Services} SDK.")
(home-page "https://github.com/awslabs/aws-c-sdkutils")
(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
(package
(name "aws-c-http")
@@ -1478,48 +1519,6 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(home-page "https://microsoft.github.io/mimalloc/")
(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.
(define-public orangeduck-mpc
;; 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 cmake)
#:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+22 -10
View File
@@ -337,7 +337,7 @@ reconstruction capability.")
(define-public cdrdao
(package
(name "cdrdao")
(version "1.2.6")
(version "1.2.5")
(source
(origin
(method git-fetch)
@@ -347,18 +347,30 @@ reconstruction capability.")
(string-append "rel_" (string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256
(base32 "0hb8dfb88zk01yk5nfl8m5hsg4x2scb2899pxb717zywznr8jijw"))))
(build-system glib-or-gtk-build-system)
(base32 "1hh1lm4wr1vhsq2brczn94h88h3bppvjidj9cfqkl20jhaj38968"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; Use the native SCSI interface.
"--without-scglib")))
'(#:configure-flags
(list
;; GCDMaster depends on obsolete libgnomeuimm, see
;; <https://github.com/cdrdao/cdrdao/issues/3>.
"--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
(list autoconf-2.72 automake `(,glib "bin") pkg-config))
(list autoconf automake pkg-config))
(inputs
(list ao gtkmm-3 lame libmad libsigc++-2 libvorbis))
(list ao lame libmad libvorbis))
(home-page "https://cdrdao.sourceforge.net")
(synopsis "Read and write CDs in disk-at-once 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 perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -1881,6 +1882,7 @@ http server.")
(arguments (list #:tests? #false)) ;no tests included
(native-inputs
(list python-pytest
python-pytest-cov
python-setuptools
python-wheel
python-xmlschema))
@@ -1913,6 +1915,42 @@ XML output")
decorators from external files.")
(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
(package
(name "python-pytest-runner")
@@ -2695,11 +2733,7 @@ failures and errors instantly.")
"test_is_not_identity"
"test_resolves_builtin_types[object]"
"test_resolves_forwardrefs_to_builtin_types[object]"
"test_timezone_lookup[tzinfo]"
;; hypothesis.errors.FailedHealthCheck: Input generation is slow
#$@(if (target-riscv64?)
'("test_can_run_with_no_db")
'()))
"test_timezone_lookup[tzinfo]")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -2922,8 +2956,12 @@ mypy plugins.")
"and not upstream_url"))))
(native-inputs
(list python-pytest
python-pytest-black
python-pytest-checkdocs
python-pytest-cov
python-pytest-enabler
python-pytest-flake8
python-pytest-mypy
python-setuptools
python-wheel))
(propagated-inputs
@@ -3030,28 +3068,21 @@ possible to write plugins to add your own checks.")
(define-public behave
(package
(name "behave")
;; 1.3.3 (2025-09-04), the latest changes provide support for Python
;; 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)))
(version "1.3.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/behave/behave")
(commit (assoc-ref properties 'commit))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05671jf7scpgqr8chzgs9bxidvf12nlkqqiqxa5qwmykqfvc8nk4"))))
(base32 "1fxj51kailsdakqi7qbw700k258n7r3lv75mgxs45ld5xh2jfyxh"))))
(build-system pyproject-build-system)
;; tests: 1638 passed, 3 skipped, 2 xfailed
(native-inputs
(list python-chardet
python-freezegun
python-charset-normalizer
(list python-assertpy
python-chardet
python-mock
python-path
python-pyhamcrest
python-pytest
+1
View File
@@ -28,6 +28,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
+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")
;; The version should match `(scheme-version #t)`.
;; 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)
(build-system gnu-build-system)
(inputs `(,@(if (nix-system->native-chez-machine-type)
@@ -507,7 +507,7 @@ version of Chez Scheme.")
(name "chez-scheme")
;; The version should match `(scheme-version-number #t)`.
;; 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
(method git-fetch)
(uri (git-reference
@@ -515,7 +515,7 @@ version of Chez Scheme.")
(commit (string-append "v" version))))
(sha256
(base32
"079vlkl27qdvsg1rsynmd828m42n98c2dnldkhsxf2slfsqd9kv5"))
"14iv4kfkyvrkigr1n2prf71n2l3vs0sf0549rvh6y4x2faa2l329"))
(file-name (git-file-name name version))
(patches (search-patches "chez-scheme-bin-sh.patch"))
(snippet #~(begin
@@ -840,9 +840,9 @@ User's Guix}, among other documents.")
(define-public chez-nanopass-bootstrap
(hidden-package
(package
(name "chez-nanopass-bootstrap")
(version "1.9.4")
(properties '((chez-nanopass-release-date . "December 29, 2025")))
(name "chez-nanopass")
(version "1.9.2")
(properties `((chez-nanopass-release-date . "October 18, 2020")))
(source
(origin
(method git-fetch)
@@ -850,7 +850,7 @@ User's Guix}, among other documents.")
(url "https://github.com/nanopass/nanopass-framework-scheme")
(commit (string-append "v" version))))
(sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
(base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i"))
(file-name (git-file-name "nanopass-framework-scheme" version))
(snippet
#~(begin
@@ -929,9 +929,10 @@ create compilers, making them easier to understand and maintain.")
(define-public chez-nanopass
(package
(inherit chez-nanopass-bootstrap)
(name "chez-nanopass")
(version "1.9.4")
(properties '((chez-nanopass-release-date . "December 29, 2025")))
;; This release has a significant bug fix. Expect the next releases of
;; chez-scheme{,-for-racket} to want this for chez-nanopass-bootstrap.
(version "1.9.3")
(properties '((chez-nanopass-release-date . "August 24, 2025")))
(source
(let ((bootstrap-origin (package-source chez-nanopass-bootstrap)))
(origin
@@ -940,7 +941,7 @@ create compilers, making them easier to understand and maintain.")
(url (git-reference-url (origin-uri bootstrap-origin)))
(commit (string-append "v" version))))
(sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
(base32 "0757x3a3b4kcd3jk52h4ikqzv7cc1mvphlw592f0r5pz99bkxiin"))
(file-name (git-file-name "nanopass-framework-scheme" version)))))
(native-inputs (list chez-scheme stex))))
+23 -23
View File
@@ -53,6 +53,7 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages maths)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node)
#:use-module (gnu packages nss)
#:use-module (gnu packages pciutils)
@@ -78,9 +79,12 @@
'("base/third_party/cityhash" ;Expat
"base/third_party/double_conversion" ;BSD-3
"base/third_party/icu" ;Unicode, X11-style
"base/third_party/nspr" ;MPL-2.0
"base/third_party/superfasthash" ;BSD-3
"base/third_party/symbolize" ;BSD-3
"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/quiche" ;BSD-3
"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/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libc++" ;Expat
"third_party/libdrm" ; Expat
"third_party/libgav1" ;ASL2.0
"third_party/libjingle_xmpp" ;BSD-3
@@ -243,6 +248,8 @@
"third_party/libzip" ;BSD-3
"third_party/lit" ;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/lss" ;BSD-3
"third_party/lzma_sdk" ;public domain
@@ -393,7 +400,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "147.0.7727.137")
(define %chromium-version "147.0.7727.55")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision (string-append "debian/" %ungoogled-revision))
@@ -405,7 +412,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1ha84j3zckdv2l8dpicqhmr6a8mq3bqwalw0bmgamvlmns9i7nrj"))))
"0l6v4wf16067igawjlh90f3d287mkw0cq4j5lvrxxy17y1skynzc"))))
(define %debian-origin
(origin
@@ -418,7 +425,7 @@
((_ version) version))))
(sha256
(base32
"04lqbclkvn9nsksgjpjilh78a8y17mwwq4pmhr6h8gvpp2y3bhhc"))))
"0gqarll08i7rcs1amapciv263xvzglc8p44ikavq3xd12yyvcd98"))))
(define (origin-file origin file)
(computed-file
@@ -563,7 +570,7 @@
%chromium-version "-lite.tar.xz"))
(sha256
(base32
"1m22whg5n9lw9gqhalm95jwfm45lqp4a7cs3mn3f4n8w0rvr0r5j"))
"1salvlw5sykx3zmsbp7cgmf7y8yy6jlgb4b4zswzsbjrprk4jnap"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -589,7 +596,6 @@
"use_custom_libcxx=false" ; support for this is deprecated and to be removed.
"optimize_webui=false"
"webnn_use_tflite=false"
"build_tflite_with_xnnpack=false"
"safe_browsing_use_unrar=false"
"chrome_pgo_phase=0"
"use_sysroot=false"
@@ -682,7 +688,7 @@
"use_gnome_keyring=false" ;deprecated by libsecret
"use_pulseaudio=true"
"link_pulseaudio=true"
"icu_use_data_file=true"
"icu_use_data_file=false"
;; VA-API acceleration is currently only supported on x86_64-linux.
#$@(if (string-prefix? "x86_64" (or (%current-target-system)
@@ -690,13 +696,6 @@
'("use_vaapi=true")
'())
#$@(if (string-prefix? "aarch64" (or (%current-target-system)
(%current-system)))
'("use_v4l2_codec=true"
"use_vaapi=false"
"use_av1_hw_decoder=true")
'())
;; Do not artificially restrict formats supported by system ffmpeg.
"proprietary_codecs=true"
"ffmpeg_branding=\"Chrome\""
@@ -770,7 +769,12 @@
(string-append libclang "clang_base_path"))
(("(_rustfmt_path = \")\\$\\{rust_bindgen_root\\}" _ rustfmt)
(string-append rustfmt "${rust_sysroot_absolute}"))))))
(add-after 'patch-stuff 'add-absolute-references
(add-after 'patch-stuff 'include-pthreadpool
;; FIXME: Somehow the build system cannot locate this header.
(lambda _
(copy-file "third_party/pthreadpool/src/include/pthreadpool.h"
"pthreadpool.h")))
(add-after 'include-pthreadpool 'add-absolute-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((cups-config (search-input-file inputs "/bin/cups-config"))
(libnssckbi.so (search-input-file inputs
@@ -888,15 +892,13 @@
"resources.pak"
"v8_context_snapshot.bin"
"chrome_crashpad_handler"
"icudtl.dat"
;; Swiftshader ICD.
"libvk_swiftshader.so"
"vk_swiftshader_icd.json"
;; Chromium ships its own libGL and
;; vulkan implementation called ANGLE.
"libvulkan.so.1"
;; Chromium ships its own libGL
;; implementation called ANGLE.
"libEGL.so" "libGLESv2.so"))
(locales (string-append lib "/locales"))
(resources (string-append lib "/resources"))
@@ -912,11 +914,9 @@
(substitute* '("chrome/app/resources/manpage.1.in"
"chrome/installer/linux/common/desktop.template")
(("@@MENUNAME") "Chromium")
(("@@PACKAGE") "chromium")
(("/usr/bin/@@usr_bin_symlink_name") exe)
(("@@uri_scheme") "x-scheme-handler/chromium;")
(("@@extra_desktop_entries") ""))
(("@@MENUNAME@@") "Chromium")
(("@@PACKAGE@@") "chromium")
(("/usr/bin/@@USR_BIN_SYMLINK_NAME@@") exe))
(mkdir-p man)
(copy-file "chrome/app/resources/manpage.1.in"
+1
View File
@@ -30,6 +30,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
+27 -53
View File
@@ -377,14 +377,14 @@ designs.")
(define-public clojure-tools
(package
(name "clojure-tools")
(version "1.12.4.1618")
(version "1.12.4.1582")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
version
".tar.gz"))
(sha256 (base32 "08fy3k248sbsrbgl0lq3q4d23vp4chdawy230ardx61sssk9sxhk"))
(sha256 (base32 "08gzfblnz0zhnk6pwr9vcm6y168psgrwmqww3wqk1v7j5gr68n7x"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code.
(snippet
@@ -512,7 +512,7 @@ defining and using monads and useful monadic functions.")
(define-public clojure-core-async
(package
(name "clojure-core-async")
(version "1.9.865")
(version "1.8.741")
(home-page "https://github.com/clojure/core.async")
(source (origin
(method git-fetch)
@@ -522,7 +522,7 @@ defining and using monads and useful monadic functions.")
(file-name (git-file-name name version))
(sha256
(base32
"15pc2m58fscix85gsiwl9dlvw2x6alvc4qni46rry2sr00nfzd3r"))))
"1m6lir2xr119yxz483cz0rfw4k3a40qmmsiwl2y7kyxy65vab60z"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -546,7 +546,7 @@ work on Communicating Sequential Processes (CSP).")
(define-public clojure-core-cache
(package
(name "clojure-core-cache")
(version "1.2.263")
(version "1.2.249")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -555,7 +555,7 @@ work on Communicating Sequential Processes (CSP).")
(file-name (git-file-name name version))
(sha256
(base32
"19q81aki8wb120v6jfylwqgf965mwkhrpcsrs5zazjfjv8vq6glx"))))
"0hdwv5dsx49i12riz3frzshwkgw26ah43667lzga2n6zgpmrh8ii"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -598,7 +598,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(define-public clojure-core-memoize
(package
(name "clojure-core-memoize")
(version "1.2.281")
(version "1.2.273")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -607,7 +607,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(file-name (git-file-name name version))
(sha256
(base32
"0bnlqs7m69svhfadwy46wgc88j9ma9fhdk4586b4xxppamj6c5j4"))))
"009fj19y464an66pryygmqbnx2dqk5wkp40rbkbgkir0ax0k6j3y"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -734,7 +734,7 @@ maps also support conj/peek/pop operations.")
(define-public clojure-data-xml
(package
(name "clojure-data-xml")
(version "0.2.0-alpha11")
(version "0.2.0-alpha10")
(home-page "https://github.com/clojure/data.xml")
(source (origin
(method git-fetch)
@@ -744,7 +744,7 @@ maps also support conj/peek/pop operations.")
(file-name (git-file-name name version))
(sha256
(base32
"0k7hq3s4zbk0ryhgycivl1dk22fzh60522a57az8ykmixhqjxwhg"))))
"0mnhgrh20p2wwmq8a4631dkpxbgbijwi6sfhw5v784hzkjkfgkh6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -862,7 +862,7 @@ tree.
(define-public clojure-tools-analyzer
(package
(name "clojure-tools-analyzer")
(version "1.2.2")
(version "1.2.1")
(home-page "https://github.com/clojure/tools.analyzer")
(source (origin
(method git-fetch)
@@ -872,7 +872,7 @@ tree.
(file-name (git-file-name name version))
(sha256
(base32
"07cxphrmd6a3clnalrdqxlyin8l0lw0xhjy2rh9gaizxfv5c23jp"))))
"0apa3gc45rmdj19plbvglpj6i9dadkgvvidj5mcnkzi9y3h0nr27"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -938,7 +938,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-cli
(package
(name "clojure-tools-cli")
(version "1.4.256")
(version "1.3.250")
(home-page "https://github.com/clojure/tools.cli")
(source (origin
(method git-fetch)
@@ -947,7 +947,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kr1cpypzgzh8pkih5qamsaq8c96jfpcvmn9f330sic2shb53m55"))))
(base32 "1nyw33w83gd7xlbpma03p4jwcdcp38h8y99x2rqw4zcnw19gsz4p"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@@ -959,25 +959,29 @@ tools.analyzer, providing additional JVM-specific passes.")
work with command-line arguments.")
(license license:epl1.0)))
(define-public clojure-tools-deps-edn
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps-edn")
(version "0.9.22")
(home-page "https://github.com/clojure/tools.deps.edn")
(name "clojure-tools-deps")
(version "0.28.1578")
(home-page "https://github.com/clojure/tools.deps")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"082p6zpbb8vvdc9ncc0d66h3g7sax4pp0h4fymwiv0lakzyq3g9g"))))
"1w3f8cl81q4kln6iz74fnfzms4c4x279ivh1962pcg22q8l1w8d5"))))
(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
#:phases
(modify-phases %standard-phases
(add-before 'build 'reference-clojure-jar-input
@@ -988,42 +992,12 @@ work with command-line arguments.")
(string-append "org.clojure/clojure {:local/root \""
(assoc-ref inputs "clojure")
"/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
maven-resolver-1.6-connector-basic
maven-resolver-1.6-transport-http
maven-resolver-1.6-transport-file
clojure-tools-gitlibs
clojure-tools-cli
clojure-tools-deps-edn
clojure-data-xml
cognitect-aws-api))
(synopsis "Clojure library supporting clojure-tools")
@@ -1201,7 +1175,7 @@ asynchronous support.")
(define-public cognitect-aws-api
(package
(name "cognitect-aws-api")
(version "0.8.824")
(version "0.8.800")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1210,7 +1184,7 @@ asynchronous support.")
(file-name (git-file-name name version))
(sha256
(base32
"0ivlcmsr7rvr7741k9wzniv2zxijida0b588nqngm5vrgna816yl"))
"17sxj3mvq4iasr0kchbx2anmrh25v8bvmpam4si704vksmnm28p3"))
(modules '((guix build utils)))
(snippet
'(begin
+1
View File
@@ -47,6 +47,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
#:use-module (gnu packages backup)
+3 -42
View File
@@ -1,8 +1,8 @@
;;; 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 © 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 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@@ -49,6 +49,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#: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 trivial)
#:use-module (guix build-system go)
@@ -865,46 +866,6 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
the C, C++, C++/CLI, ObjectiveC, C#, and Java programming languages.")
(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
;; XXX: Not released anymore, but some patches fix CVEs.
(let ((commit "1737c929cbe2ec8a181107df9742894a44c57f71")
+23 -231
View File
@@ -18,10 +18,10 @@
;;; This module is separate from (gnu packages rust-apps) to avoid a
;;; circular module dependency: (gnu packages rust-sources), which
;;; defines rust-codex-0.124.0, transitively loads (gnu packages
;;; defines rust-codex-0.120.0, transitively loads (gnu packages
;;; rust-apps) through its #:use-module chain. If the codex package
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
;;; rust-apps before rust-codex-0.124.0 is defined, causing an unbound
;;; rust-apps before rust-codex-0.120.0 is defined, causing an unbound
;;; variable error.
(define-module (gnu packages codex)
@@ -54,14 +54,14 @@
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.124.0))
(version (package-version rust-codex-0.120.0))
(source
(origin
(inherit (package-source rust-codex-0.124.0))
(inherit (package-source rust-codex-0.120.0))
(patches (search-patches
"codex-acp-0.11.1-disable-code-mode.patch"
"rust-codex-0.124.0-code-mode-stub-toolname.patch"
"rust-codex-0.124.0-remove-patch-sections.patch"
"rust-codex-0.117.0-remove-patch-sections.patch"
"rust-codex-0.120.0-connectors-cache-test-race.patch"
"rust-codex-0.120.0-remove-libwebrtc.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.120.0-test-timeout.patch"))))
@@ -69,12 +69,7 @@
(arguments
(list
#:install-source? #f
;; exec-server is library-only in 0.124 (no [[bin]] in
;; exec-server/Cargo.toml); cargo install --path exec-server fails
;; with "no packages found with binaries or examples". Drop it
;; from the install paths -- the library is consumed via the
;; workspace by other binaries here, not installed standalone.
#:cargo-install-paths '(list "cli" "exec"
#:cargo-install-paths '(list "cli" "exec" "exec-server"
"linux-sandbox" "mcp-server"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
@@ -322,164 +317,7 @@
;; (chatgpt.com, api.github.com) wait
;; for TCP timeout instead of failing
;; instantly at TLS, eating the budget.
"--skip" "mcp_server_status_list_tools_and_auth_only_skips_slow_inventory_calls"
;;; BEGIN Stack overflow in 'current_thread'
;;; tokio runtime. The sibling tests in
;;; tracing_tests.rs use the local helper
;;; run_current_thread_test_with_stack
;;; (4 MiB) but this one uses bare
;;; #[tokio::test] on the 2 MiB default
;;; test-thread stack, and TurnStart's
;;; future graph exceeds it. With
;;; RUST_MIN_STACK raised the overflow is
;;; gone but the test then deterministically
;;; times out waiting for a span tagged
;;; codex.op = "user_input" on the remote
;;; trace that upstream never emits on that
;;; trace in our environment.
"--skip" "turn_start_jsonrpc_span_parents_core_turn_spans"
;;; END tracing test stack/timeout
;;; BEGIN The upstream loader resolves the
;;; MCP OAuth credentials store mode by
;;; calling
;;; resolve_mcp_oauth_credentials_store_mode
;;; with env!("CARGO_PKG_VERSION") -- which
;;; in the released 0.124.0 tarball is
;;; "0.124.0". These fixture tests
;;; construct the expected Config by
;;; passing the LOCAL_DEV_BUILD_VERSION
;;; constant ("0.0.0") to the same
;;; resolver, and the resolver only returns
;;; File for "0.0.0" -- Auto otherwise.
;;; Upstream CI builds from a checkout
;;; still carrying version = "0.0.0" so the
;;; tests pass there; they cannot pass
;;; against a released tag.
"--skip" "test_precedence_fixture_with_gpt3_profile"
"--skip" "test_precedence_fixture_with_gpt5_profile"
"--skip" "test_precedence_fixture_with_o3_profile"
"--skip" "test_precedence_fixture_with_zdr_profile"
;;; END LOCAL_DEV_BUILD_VERSION fixture mismatch
;;; BEGIN Verifies that Codex's user-shell
;;; spawn produces a child where
;;; CODEX_SANDBOX_NETWORK_DISABLED is unset
;;; (asserts stdout == "not-set"). We
;;; deliberately set that env var at the
;;; check phase to trigger upstream's
;;; skip_if_no_network! guards; the var then
;;; leaks into the spawned shell and the
;;; assertion fails. The guix skip is a
;;; direct cost of the network-gate fix --
;;; trading one broken test for two that
;;; now skip cleanly.
"--skip" "user_shell_command_does_not_set_network_sandbox_env_var"
;;; END CODEX_SANDBOX_NETWORK_DISABLED leak
;;; BEGIN The exec-server/tests/file_system
;;; integration tests invoke the real
;;; system bwrap, which tries to execvp the
;;; test binary at the cargo target path
;;; under the build dir. Same root cause
;;; as the existing
;;; sandbox_reenables_writable_subpaths_under_unreadable_parents
;;; skip: guix builds live under /tmp but
;;; bwrap's mount namespace excludes /tmp,
;;; making the binary invisible inside the
;;; namespace.
"--skip" "file_system_copy_preserves_symlink_source"
"--skip" "file_system_copy_rejects_symlink_escape_destination"
"--skip" "file_system_copy_rejects_symlink_escape_source"
"--skip" "file_system_create_directory_rejects_symlink_escape"
"--skip" "file_system_read_directory_rejects_symlink_escape"
"--skip" "file_system_remove_rejects_symlink_escape"
"--skip" "file_system_remove_removes_symlink_not_target"
"--skip" "file_system_sandboxed_read_allows_readable_root"
"--skip" "file_system_sandboxed_read_rejects_symlink_escape"
"--skip" "file_system_sandboxed_read_rejects_symlink_parent_dotdot_escape"
"--skip" "file_system_sandboxed_write_allows_additional_write_root"
"--skip" "file_system_sandboxed_write_rejects_symlink_escape"
"--skip" "file_system_sandboxed_write_rejects_unwritable_path"
;;; END bwrap-cant-see-/tmp file_system tests
;;; BEGIN Landlock is unavailable on Guix,
;;; so the sandbox cannot deny network
;;; syscalls. These tests expect
;;; SandboxErr::Denied for the nc, ping,
;;; ssh, getent, and dev_tcp_redirection
;;; commands but those commands instead
;;; block on connect() until the test's 2s
;;; timeout fires (Timeout, exit 124).
;;; Same root cause as the Landlock skips
;;; at the top of this list; new test names
;;; in 0.124.
"--skip" "sandbox_blocks_nc"
"--skip" "sandbox_blocks_ping"
"--skip" "sandbox_blocks_dev_tcp_redirection"
"--skip" "sandbox_blocks_getent"
"--skip" "sandbox_blocks_ssh"
;;; END Landlock network block
;;; BEGIN Requires github.com network access.
;;; With no "extraKnownMarketplaces" entry
;;; in settings.json,
;;; collect_marketplace_import_sources
;;; inserts a fallback entry for the
;;; "claude-plugins-official" marketplace
;;; pointing at the github shorthand
;;; "anthropics/claude-plugins-official".
;;; add_marketplace -> parse_marketplace_source
;;; expands that to a github.com/.git URL
;;; and clone_git_source runs 'git clone'.
;;; The Guix build sandbox has no network,
;;; so the clone fails and the marketplace
;;; lands in failed_marketplaces. No mock
;;; cloner is injected via
;;; ExternalAgentConfigService::new_for_test,
;;; so there is no in-tree way to satisfy
;;; the test offline.
"--skip" "import_plugins_infers_claude_official_marketplace_when_missing_from_settings"
;;; END github.com network access
;;; BEGIN Async race between the rollout
;;; writer task and a direct SQLite read.
;;; The test calls
;;; update_memory_settings_with_app_server,
;;; which routes through the in-memory
;;; thread path on the app-server's
;;; ThreadMemoryModeSet handler ->
;;; Session::set_thread_memory_mode ->
;;; persist_thread_memory_mode_update,
;;; which writes a RolloutItem::SessionMeta
;;; with the new mode to the rollout file
;;; via recorder.record_items + flush. The
;;; rollout writer task then asynchronously
;;; calls sync_thread_state_after_write,
;;; which calls state_db::apply_rollout_items
;;; to mirror the SessionMeta into SQLite.
;;; flush() only awaits the rollout-file
;;; write, not the subsequent SQLite sync.
;;; The test opens a fresh StateRuntime and
;;; reads get_thread_memory_mode
;;; immediately, so it observes the creation
;;; default of "enabled" written by
;;; upsert_thread_with_creation_memory_mode
;;; instead of the new "disabled". Upstream
;;; CI wins this race; we lose.
"--skip" "update_memory_settings_updates_current_thread_memory_mode"
;;; END memory-mode rollout/sqlite race
;;; BEGIN The Stopwatch::new constructor in
;;; codex_shell_escalation anchors
;;; T0 = Instant::now() at construction;
;;; the spawned cancellation task fires at
;;; T0 + limit. The test captures
;;; start = Instant::now() at T1 > T0 (after
;;; cancellation_token() returns) and
;;; asserts start.elapsed() >= limit,
;;; i.e. (T0 + limit) - T1 >= limit, which
;;; is always false by the offset T1 - T0.
;;; The test only passes when scheduler
;;; jitter on the sleep wakeup happens to
;;; exceed that offset. Upstream wins the
;;; race; we don't always.
"--skip" "cancellation_receiver_fires_after_limit"
;;; END Stopwatch construction/start offset race
)
"--skip" "mcp_server_status_list_tools_and_auth_only_skips_slow_inventory_calls")
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-ansi-escape"
@@ -520,31 +358,22 @@
"codex-debug-client"
"codex-analytics"
"codex-rollout"
"codex-rollout-trace"
"codex-terminal-detection"
"codex-utils-approval-presets"
"codex-utils-cli"
"codex-uds"
"codex-install-context"
"codex-device-key"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-thread-store"
"codex-state"
"codex-features"
"codex-model-provider"
"codex-config"
"codex-agent-identity"
"codex-aws-auth"
"codex-hooks"
"codex-instructions"
"codex-code-mode"
"codex-feedback"
"codex-skills"
"codex-test-binary-support"
"codex-core"
"codex-core-plugins"
"codex-utils-sandbox-summary"
"codex-linux-sandbox"
"codex-sandboxing"
@@ -596,7 +425,7 @@
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.124.0) ")))))
(("\\(v0\\.0\\.0\\) ") "(v0.120.0) ")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
@@ -607,55 +436,32 @@
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))
;; Remove workspace members that have unbuildable deps
;; (v8-poc requires V8). code-mode stays a workspace member
;; so its codex-protocol resolves to the same local copy as
;; the rest of the build; disabling its default features
;; (below) avoids pulling in V8.
;; (libwebrtc requires git fetch, v8-poc requires V8).
(substitute* "Cargo.toml"
(("\"v8-poc\",") ""))
;; Disable V8 runtime in codex-code-mode by turning off
;; default features. Keep path= so code-mode is resolved
;; from the local source tree and shares codex-protocol
;; (and other workspace crates) with the rest of the build;
;; resolving it from the vendor instead introduces a
;; duplicate codex-protocol and causes E0308 type
;; mismatches in codex-tools.
(("\"v8-poc\",") "")
(("\"code-mode\",") ""))
;; Disable V8 runtime in codex-code-mode: remove path
;; so cargo resolves it from the vendor (where it has
;; optional = true on v8) and disable default features.
(substitute* "Cargo.toml"
(("codex-code-mode = \\{ path = \"code-mode\" \\}")
"codex-code-mode = { path = \"code-mode\", default-features = false }"))
;; cargo build at workspace root ignores per-dep
;; default-features=false and builds code-mode with its
;; own default features, which include v8-runtime and
;; would pull in V8. Make the default feature empty.
(substitute* "code-mode/Cargo.toml"
(("^default = \\[\"v8-runtime\"\\]") "default = []"))))
"codex-code-mode = { version = \"0.120.0\", default-features = false }"))))
(add-after 'patch-git-deps-to-vendor 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; Add version = "0.124.0" to internal path dependencies.
;; cargo package requires all dependencies to have versions.
;; Add version = "0.120.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
;; Handle inline deps: name = { path = "..." }
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.124.0\", path = "))
(string-append name " = { version = \"0.120.0\", path = "))
;; Handle inline deps with package: name = { package = "...", path = "..." }
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.124.0\", package = "))
(string-append name " = { version = \"0.120.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.124.0\""))))))
(add-after 'chdir-to-workspace 'use-gnu-store-in-sandbox
(lambda _
;; LINUX_PLATFORM_DEFAULT_READ_ROOTS in linux-sandbox/src/
;; bwrap.rs is the read-only baseline that codex's bwrap
;; sandbox bind-mounts so commands can read /usr/bin/ls,
;; libc, etc. Upstream lists "/nix/store" for NixOS;
;; Guix's equivalent is "/gnu/store". Without this swap,
;; the codex sandbox cannot locate any binaries on a Guix
;; system because every "system" path resolves into
;; /gnu/store/<hash>-pkg/bin/...
(substitute* "linux-sandbox/src/bwrap.rs"
(("\"/nix/store\"") "\"/gnu/store\""))))
(string-append path-line "\nversion = \"0.120.0\""))))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
@@ -755,12 +561,10 @@
;; double quotes.
(substitute*
(list "core/src/plugins/startup_sync_tests.rs"
"core/src/tools/runtimes/shell/unix_escalation_tests.rs"
"core/tests/suite/client.rs"
"core/tests/suite/js_repl.rs"
"core/tests/suite/skill_approval.rs"
"core/tests/suite/user_notification.rs"
"exec-server/tests/file_system.rs"
"login/src/auth/auth_tests.rs"
"models-manager/src/manager_tests.rs"
"sandboxing/src/bwrap_tests.rs")
@@ -809,17 +613,7 @@
;; ~/... and 30 snapshot tests fail.
(setenv "HOME" "/tmp/guix-home")
(mkdir-p "/tmp/guix-home")
(setenv "USER" "nixbld")
;; Default libtest thread stack is 2 MiB, which is not
;; enough for tokio current_thread tests that drive
;; codex-core's full turn pipeline. Upstream gates such
;; tests through run_current_thread_test_with_stack (4 MiB)
;; in app-server/src/message_processor/tracing_tests.rs;
;; raise the global default so future additions that
;; forget the wrapper still pass.
(setenv "RUST_MIN_STACK" "8388608")
;; Disable network access.
(setenv "CODEX_SANDBOX_NETWORK_DISABLED" "1"))))))
(setenv "USER" "nixbld"))))))
(native-inputs `(("bubblewrap" ,bubblewrap) ;tests need bwrap on PATH
("clang" ,clang)
("cmake-minimal" ,cmake-minimal)
@@ -834,8 +628,6 @@
(inputs (cons* bash-minimal coreutils git-minimal sed
libcap oniguruma openssl sqlite zlib `(,zstd "lib")
(cargo-inputs 'codex)))
(properties '((timeout . 108000) ; 30 hours
(max-silent-time . 54000))) ; 15 hours
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
(description
-114
View File
@@ -1,114 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2024-2025 Efraim Flashner <efraim@flashner.co.il>
;;; 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 gawk)
#: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))
(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 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.")))
+3 -5
View File
@@ -1475,7 +1475,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(define-public 7zip
(package
(name "7zip")
(version "26.01")
(version "26.00")
(source
(origin
(method git-fetch)
@@ -1483,7 +1483,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(url "https://github.com/ip7z/7zip")
(commit version)))
(sha256
(base32 "0qwzn9pz1m6f8q20cqgmfqp1qx6s7959xnyikpr60n1v8c1mj98q"))
(base32 "1fvgl9qp2pl5c0jmvgbdx6qig3qd80mhxvml42yby8y412x65sh7"))
(file-name (git-file-name name version))
(modules '((guix build utils)
(ice-9 regex)))
@@ -2375,9 +2375,7 @@ non-Windows systems without running the actual installer using wine.")
(sha256
(base32 "17k679glx05v23n8kxbg9vmbf89i2252g5xj6w3dkz19asmh1zd6"))))
(build-system gnu-build-system)
(native-inputs
(cons* autoconf automake libtool
(maybe-nasm)))
(native-inputs (list autoconf automake libtool nasm))
(home-page "https://github.com/intel/isa-l")
(synopsis "Intelligent storage acceleration library")
(description "ISA-L is a collection of optimized low-level functions
+89 -391
View File
@@ -50,7 +50,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docker)
#:use-module (gnu packages glib)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -71,7 +70,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -123,365 +121,6 @@
"This package provides a Go library to read and manipulate checkpoint
archives as created by Podman, CRI-O and containerd.")
(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:
@@ -511,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun
(package
(name "crun")
(version "1.27.1")
(version "1.26")
(source
(origin
(method url-fetch)
@@ -521,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz"))
(sha256
(base32
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy"))))
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
(build-system gnu-build-system)
(arguments
(list
@@ -906,7 +545,7 @@ Layer-4 sockets.")
(define-public cni-plugins
(package
(name "cni-plugins")
(version "1.9.1")
(version "1.9.0")
(source
(origin
(method git-fetch)
@@ -915,7 +554,7 @@ Layer-4 sockets.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12z6w2jk6xgfiwdxys7skpkxldz1cgaa7scgfcr90lsghay59s6w"))
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -956,33 +595,92 @@ configure network interfaces in Linux containers.")
(license license:asl2.0)))
(define-public gvisor-tap-vsock
(package/inherit go-github-com-containers-gvisor-tap-vsock
(package
(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
(substitute-keyword-arguments arguments
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)
((#:tests? _ #t) #f)
((#:phases _ '%standard-phases)
#~(modify-phases %standard-phases
;; Build binary outputs are taken from project's Makefile.
(replace 'build
(lambda arguments
(for-each
(lambda (cmd)
(apply (assoc-ref %standard-phases 'build)
`(,@arguments #:import-path ,cmd)))
(list "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
"github.com/containers/gvisor-tap-vsock/cmd/qemu-wrapper"
"github.com/containers/gvisor-tap-vsock/cmd/vm"))))
(add-after 'install 'fix-bin-name
(lambda _
(rename-file (string-append #$output "/bin/vm")
(string-append #$output "/bin/gvforwarder"))))))))
(list
#:install-source? #f
#:import-path "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
#: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
;; serve UDP error: *net.OpError read udp 127.0.0.1:5354: use of closed
;; network connection
#~(list "-skip" "TestSuite")
#:test-subdirs
#~(list "../../...") ;test the whole library
#: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
(package-propagated-inputs go-github-com-containers-gvisor-tap-vsock))
(propagated-inputs '())
(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-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
(package
@@ -1187,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
(version "1.43.1")
(version "1.43.0")
(source
(origin
(method git-fetch)
@@ -1195,7 +893,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
(base32 "00x4ja5n49jmkmiv54mmkihks9pnjnna7s7py57in6pc9g85xj2y"))
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
-70
View File
@@ -127,76 +127,6 @@ formats:
It also comes with example files generated by bincfg.")
(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
(package
(name "ifdtool")
+6 -190
View File
@@ -28,7 +28,7 @@
;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; 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-2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022-2024, 2026 Maxim Cournoyer <maxim@guixotic.coop>
@@ -52,7 +52,6 @@
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -79,6 +78,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system scons)
#:use-module (guix modules)
@@ -133,7 +133,6 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@@ -936,85 +935,6 @@ inspired by the @url{https://github.com/gruns/icecream, Python library} of the
same name.")
(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
(package
(name "google-highway")
@@ -1751,38 +1671,6 @@ maintained anymore.")
concurrent queue for C++11.")
(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
(package
(name "spscqueue")
@@ -2016,7 +1904,8 @@ using the string similarity calculations from FuzzyWuzzy.")
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
(("\"pytest-cov\", ") "")))))))
((" \"pytest-cov\", ") "")
((" --cov-fail-under=90 --cov=cpplint") "")))))))
(native-inputs
(list python-pytest
python-pytest-timeout
@@ -3303,7 +3192,8 @@ pointers, containers, compiler building blocks, etc.")
(native-inputs
(list build))
(inputs
(list libcutl xerces-c))
`(("libcutl" ,libcutl)
("libxerces-c" ,xerces-c)))
(synopsis "XSD Front-end")
(description "@code{libxsd-frontend} is a compiler frontend for the W3C
XML Schema definition language. It includes a parser, semantic graph types
@@ -3778,39 +3668,6 @@ computing Fast Fourier transformations. It supports multidimensional arrays,
different floating point sizes and complex transformations.")
(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
;; Latest release is from 2022-08-14.
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
@@ -4637,47 +4494,6 @@ meta data function.")
;; or the CECILL-C license:
(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
(package
(name "tsl-hopscotch-map")
+860 -2182
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 gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
+1
View File
@@ -62,6 +62,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix git-download)
+14 -4
View File
@@ -31,6 +31,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages databases)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
@@ -111,7 +112,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(define-public gallia
(package
(name "gallia")
(version "2.1.1")
(version "2.0.2")
(source
(origin
(method git-fetch)
@@ -120,7 +121,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04xzh5fi18wrkjs7sqwlv344jf54njvnly042rhxq3x5jrvpvkdw"))))
(base32 "1yvjpwpqq6r6glfm4qzb8j91d2gsfy4lvygd9z9pg2j6jvcq6f6s"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -132,16 +133,25 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
#:test-flags #~(list "tests/pytest")))
(native-inputs
(list python-poetry-core
python-pygit2
python-pytest
python-pytest-asyncio))
(inputs
(list python-aiosqlite
(list python-aiofiles
python-aiosqlite
python-argcomplete
python-boltons
python-can
python-construct
python-exitcode
python-httpx
python-more-itertools
python-msgspec
python-platformdirs
python-psutil
python-pydantic
python-pygit2
python-tabulate
python-wcwidth
python-zstandard))
(home-page "https://github.com/Fraunhofer-AISEC/gallia")
(synopsis "Extendable Pentesting Framework")
+101 -203
View File
@@ -71,7 +71,6 @@
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2026 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2026 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -205,6 +204,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
@@ -1060,31 +1060,6 @@ auto-completion and syntax highlighting.")
\"special\", or \"backslash commands\") on PostgreSQL.")
(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
(package
(name "python-sqlitedict")
@@ -1190,70 +1165,73 @@ auto-completion and syntax highlighting.")
(name "mysql")
(version "5.7.33")
(source (origin
(method url-fetch)
(uri (list (string-append
(method url-fetch)
(uri (list (string-append
"https://dev.mysql.com/get/Downloads/MySQL-"
(version-major+minor version) "/"
name "-" version ".tar.gz")
(string-append
(string-append
"https://downloads.mysql.com/archives/get/file/"
name "-" version ".tar.gz")))
(sha256
(base32
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
(sha256
(base32
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DBUILD_CONFIG=mysql_release"
"-DWITH_SSL=system"
"-DWITH_ZLIB=system"
"-DDEFAULT_CHARSET=utf8"
"-DDEFAULT_COLLATION=utf8_general_ci"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_SCRIPTDIR=bin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql"
;; Get rid of test data.
"-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_SQLBENCHDIR=")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'remove-extra-binaries
(lambda _
;; Remove the 3 *_embedded files, which weigh in at
;; 14 MiB each.
(for-each delete-file
(find-files (string-append #$output "/bin")
"_embedded$"))))
(add-after 'install 'wrap-mysql_helpers
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append #$output "/bin"))
(gawk (search-input-file inputs "bin/gawk"))
(coreutils (search-input-file inputs "bin/ls"))
(grep (search-input-file inputs "bin/grep"))
(ps (search-input-file inputs "bin/ps"))
(sed (search-input-file inputs "bin/sed")))
(wrap-program (search-input-file outputs "bin/mysql_config")
`("PATH" suffix
,(list (dirname gawk)
(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))))))))))
`(#:configure-flags
'("-DBUILD_CONFIG=mysql_release"
"-DWITH_SSL=system"
"-DWITH_ZLIB=system"
"-DDEFAULT_CHARSET=utf8"
"-DDEFAULT_COLLATION=utf8_general_ci"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_SCRIPTDIR=bin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql"
;; Get rid of test data.
"-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_SQLBENCHDIR=")
#:phases (modify-phases %standard-phases
(add-after
'install 'remove-extra-binaries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Remove the 3 *_embedded files, which weigh in at
;; 14 MiB each.
(for-each delete-file
(find-files (string-append out "/bin")
"_embedded$"))
#t)))
(add-after
'install 'wrap-mysql_helpers
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(awk (assoc-ref inputs "gawk"))
(coreutils (assoc-ref inputs "coreutils"))
(grep (assoc-ref inputs "grep"))
(ps (assoc-ref inputs "procps"))
(sed (assoc-ref inputs "sed")))
(wrap-program (string-append bin "/mysql_config")
`("PATH" ":" suffix
(,(string-append awk "/bin")
,(string-append coreutils "/bin")
,(string-append sed "/bin"))))
(wrap-program (string-append bin "/mysqld_safe")
`("PATH" ":" suffix
(,(string-append awk "/bin")
,(string-append coreutils "/bin")
,(string-append grep "/bin")
,(string-append ps "/bin")
,(string-append sed "/bin"))))))))))
(native-inputs
(list bison perl pkg-config))
(inputs
@@ -1267,7 +1245,7 @@ auto-completion and syntax highlighting.")
ncurses
openssl-1.1
procps
rpcsvc-proto ; rpcgen
rpcsvc-proto ; rpcgen
sed
zlib))
(home-page "https://www.mysql.com/")
@@ -1278,98 +1256,6 @@ management system that supports the standardized Structured Query
Language.")
(license license:gpl2)))
(define-public mysql-connector-python
(package
(name "mysql-connector-python")
(version "8.3.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 "18jvpnnwmfrn961rvqmsygp7dw3spf3swhxhal4hhj5hqddckj5f"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1371 passed
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'compatibility
(lambda _
(substitute* "src/mysql_capi.c"
(("res = mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
"res = 0;")
(("mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
"")
(("mysql_options\\(&self->session, MYSQL_OPT_TLS_CIPHERSUITES.*")
"")
;; The C API does not have mysql_bind_param, so we produce an
;; error here.
(("status = mysql_bind_param.*") "status = 1;")
(("#include \"mysql_capi_conversion\\.h\"" all)
(string-append all "\n" "#include <stdbool.h>")))))
(add-after 'unpack 'chdir
(lambda _
(chdir "mysql-connector-python")))
(add-before 'build 'prepare-build
(lambda _
(setenv "MYSQL_CAPI" #$(this-package-input "mysql"))))
(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.
(substitute* "tests/cext/test_cext_api.py"
(("def test_change_user") "def _do_not_test_change_user")
(("def test_get_character_set_info")
"def _do_not_test_get_character_set_info"))
(substitute* "tests/test_bugs.py"
(("def test_change_user") "def _do_not_test_change_user")
(("def test_lost_connection") "def _do_not_test_lost_connection")
(("def test_kill_query") "def _do_not_test_kill_query")
;; These all fail because of expired certificates.
(("def test_cext_verify_server_certificate")
"def _do_not_test_cext_verify_server_certificate")
(("def test_pure_verify_server_certificate")
"def _do_not_test_pure_verify_server_certificate")
(("def test_verify_server_name_cext_cnx")
"def _do_not_test_verify_server_name_cext_cnx")
(("def test_verify_server_name_pure_cnx")
"def _do_not_test_verify_server_name_pure_cnx"))
(substitute* '("tests/test_connection.py"
"tests/test_aio_connection.py")
(("def test_allow_local_infile_in_path")
"def _do_not_test_allow_local_infile_in_path")
;; This fails because of expired certificates.
(("def test_connect_with_unix_socket")
"def _do_not_test_connect_with_unix_socket"))
(substitute* "tests/test_constants.py"
(("def test_deprecated")
"def _do_not_test_deprecated"))
(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")))))))
(propagated-inputs (list python-protobuf))
(inputs (list mysql protobuf-3.20 openssl-1.1 zlib))
(native-inputs (list python-setuptools))
(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)))
(define-deprecated-package python-mysql-connector-python
mysql-connector-python)
(define-public mariadb
(package
(name "mariadb")
@@ -4273,8 +4159,8 @@ programmatically or as a standalone CLI application.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
(list openssl
tcl)) ;for tests
`(("libcrypto" ,openssl)
("libtcl8.6" ,tcl))) ; required for running the tests
(native-inputs
(list tcl))
(arguments
@@ -4829,24 +4715,33 @@ PickleShare.")
(define-public python-apsw
(package
(name "python-apsw")
(version "3.50.4.0")
(version "3.46.0.0")
;; The compressed release has fetching functionality disabled.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rogerbinns/apsw")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append
"https://github.com/rogerbinns/apsw/releases/download/"
version "/apsw-" version ".zip"))
(sha256
(base32 "0r9awjgpl9cmqz5xd4zbqrpiv0rv5c36a18jkqnsfky6n6sgr424"))))
(base32
"10yfbasi4mq63g0svyl1h49ylwn9znjylq78id16dzxzk9q9ipdx"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'custom
#:test-flags #~(list "-m" "apsw.tests")))
(native-inputs
(list python-setuptools))
(inputs
(list sqlite-next)) ;SQLite 3.45.1 required.
(list unzip python-setuptools python-wheel))
(inputs (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/")
(synopsis "Another Python SQLite Wrapper")
(description
@@ -5645,7 +5540,7 @@ with integrated support for finding required rows quickly.")
(define-public apache-arrow
(package
(name "apache-arrow")
(version "24.0.0")
(version "23.0.1")
(source
(origin
(method git-fetch)
@@ -5655,7 +5550,7 @@ with integrated support for finding required rows quickly.")
(file-name (git-file-name name version))
(sha256
(base32
"1j3gs5ffa9gx2y2nggmi2zn5rj0bsnjnxrzfnipx6050jz6n8dx9"))))
"1qn7wgavi3kiz4d6w1naqj5631bg87fnj6gbhaxmpmynm5hi9wm7"))))
(build-system cmake-build-system)
(arguments
(list
@@ -5824,7 +5719,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
python-cython
python-pytest
python-pytest-runner
python-scikit-build-core
python-setuptools-scm
python-setuptools))
(outputs '("out"))
@@ -6421,7 +6315,7 @@ mechanism of @code{dogpile}.")
(define-public datasette
(package
(name "datasette")
(version "1.0a26")
(version "1.0a19")
(source
(origin
(method git-fetch)
@@ -6430,20 +6324,23 @@ mechanism of @code{dogpile}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ra0yfrz9w3jx7ix3dmcsg0g8hjxkz37586g7ijmqshxpzczxfm7"))))
(base32 "0wb73iksrc5vg2lnq3q4vr7yhlzxwr711jfmjdndd0s77996zsfh"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1720 passed, 9 skipped, 8 xfailed, 13 xpassed, 3 warnings, 120
;; subtests passed
#:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
"--ignore=tests/test_black.py")
;; See https://github.com/simonw/datasette/issues/2048
#~(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
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
(substitute* "setup.py"
(("\"pip\",") "")))))))
(propagated-inputs
(list python-aiofiles
@@ -6458,6 +6355,7 @@ mechanism of @code{dogpile}.")
python-janus
python-jinja2
python-mergedeep
python-pint
python-pluggy
python-pyyaml
python-sqlite-utils
@@ -6466,9 +6364,9 @@ mechanism of @code{dogpile}.")
(list nss-certs-for-test
python-beautifulsoup4
python-cogapp
python-multipart-form-data-conformance
python-pytest
python-pytest-asyncio
python-pytest-asyncio-0.26
python-pytest-runner
python-pytest-timeout
python-pytest-xdist
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 flex)
#: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)
#:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -142,6 +143,9 @@ CardDAV server with a local folder or file.")
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-cov
python-pytest-flake8
python-pytest-isort
python-setuptools
python-waitress
python-wheel))
@@ -240,6 +244,7 @@ efficient syncing
(list python-aioresponses
python-pytest
python-pytest-asyncio
python-pytest-cov
python-pytest-httpserver
python-setuptools
python-setuptools-scm
+50 -66
View File
@@ -77,6 +77,7 @@
#:use-module (gnu packages mail)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
@@ -262,7 +263,7 @@ simple way to add custom protocol messages.")
(define-public c-vise
(package
(name "c-vise")
(version "2.8.0")
(version "2.4.0")
(source
(origin
(method git-fetch)
@@ -270,53 +271,37 @@ simple way to add custom protocol messages.")
(url "https://github.com/marxin/cvise")
(commit (string-append "v" version))))
(sha256
(base32 "1ynhm1d56r25apgvv0wqbdrhjbwigkwrgw92g2czz4nfx77rjxz2"))
(base32 "1i2z5q2pcwh1gpdqc24x1a2q5vzwhblzzq021nzwf304di7m18vl"))
(file-name (git-file-name name version))))
(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
(list flex
python-pytest
python-pytest-flake8))
(list flex python-pytest python-pytest-flake8))
(inputs
(list bash-minimal
clang
llvm
unifdef
python
python-pebble
python-psutil
python-chardet))
(list bash-minimal clang llvm unifdef
python python-pebble python-psutil python-chardet))
(arguments
`(#: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" & >)
(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")
(synopsis "Reducer for interesting code")
(description
@@ -993,27 +978,26 @@ engineering.")
(define-public seer-gdb
(package
(name "seer-gdb")
(version "2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1szfqybqr5z982vian4f0hpsagiqapzys3axwibyjyg5whjswva1"))))
(version "1.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0jdvyg2jab1pvf36pvkyrfsg2wyy8zp1qx0v2ksclgrnr1hja6k6"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;tests are strangely manual
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
`(#:tests? #f ; Those are strangely manual
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
(inputs
(list gdb qtbase qtcharts qtsvg qtwayland))
(list qtbase-5 qtcharts-5 qtwayland-5))
(synopsis "GUI frontend for GDB")
(description "This package provides a frontend to GDB, the GNU debugger.")
(home-page "https://github.com/epasveer/seer")
@@ -1053,7 +1037,7 @@ to aid in debugging.")
(define-public delve
(package
(name "delve")
(version "1.26.3")
(version "1.25.2")
(source
(origin
(method git-fetch)
@@ -1063,7 +1047,7 @@ to aid in debugging.")
(file-name (git-file-name name version))
(sha256
(base32
"0mf363l7md4193cgrpb6hkhmsgnlnrx44q1bzw3zq0bmjrcg3fj7"))
"1b6vp6m4vjx4wfs1djhpizvz40s563jwld9lgjq82svaiilrmlqa"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -1081,7 +1065,7 @@ to aid in debugging.")
(list go-github-com-cilium-ebpf
go-github-com-cosiner-argv
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-google-go-dap
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.
(lambda _ (setenv "TMPDIR" "/tmp"))))
#:test-target "test"))
(native-inputs (list python python-setuptools)) ; for tests
(native-inputs (list python)) ; for tests
(synopsis "Fault injector in userspace")
(description "Fiu provides CLI utilities and a C library
to mark points of failure inside your code
+50 -75
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
@@ -48,7 +49,6 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
@@ -122,83 +122,58 @@ Carnegie Mellon University.")
"https://github.com/cmusphinx/cmudict/blob/master/LICENSE"))))
(define-public dico
(let ((commit "05da4bc9e613834fdb065e38c7181044d8889575")
(revision "0"))
(package
(name "dico")
(version (git-version "2.12" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.gnu.org.ua/dico.git")
(commit commit)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1fmr01gpvvb1p6p9ylr67nqx8ymmmkqjhsi9y5zvp2nc32cgxvah"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags #~(list "--disable-static")
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grecs/bootstrap"
(("/bin/sh")
(which "bash"))
((" GRECS_GIT_ID=.*")
" GRECS_GIT_ID=v1.0-25-g51b12be\n"))
(invoke "perl" "./bootstrap" "--force" "--skip-po")))
(add-before 'build 'post-configure
(lambda* (#:key inputs #:allow-other-keys)
;; For some reason, this file is missing.
(install-file "gnulib/lib/getopt.c"
"xdico/gnu")
;; This code invokes "/bin/sh -c 'm4 -s ...'".
(substitute* "grecs/src/grecs-lex.l"
(("\"/bin/sh")
(string-append "\""
(search-input-file inputs "/bin/sh"))))))
(add-before 'check 'silence-guile
(lambda _
;; Guile is too talkative, which disturbs the test
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
(native-inputs
(list autoconf-2.71
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,
(package
(name "dico")
(version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/dico/dico-"
version ".tar.xz"))
(sha256
(base32
"1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags #~(list "--disable-static")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; This code invokes "/bin/sh -c 'm4 -s ...'".
(substitute* "grecs/src/grecs-lex.c"
(("\"/bin/sh\"")
(string-append "\""
(search-input-file inputs "/bin/sh")
"\"")))))
(add-before 'check 'silence-guile
(lambda _
;; Guile is too talkative, which disturbs the test
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
(native-inputs (list groff))
(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
written in C, Guile or Python. Dico also includes a command-line client,
which may be used to query remote dictionary databases.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public libmaa
(package
+9
View File
@@ -67,6 +67,7 @@
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -289,6 +290,14 @@ install.")
(for-each (lambda (file)
(chmod file #o755))
(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
;; These tests require functionality not available in the guix
;; build environment
+1
View File
@@ -27,6 +27,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages check)
+33 -35
View File
@@ -59,6 +59,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
@@ -105,6 +106,7 @@
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages nss)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-web)
@@ -264,14 +266,14 @@ tmpfs/ramfs filesystems.")
(define-public parted
(package
(name "parted")
(version "3.7")
(version "3.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz"))
(sha256
(base32
"0yzga4cjq3yplqs47dl9714vwc3v3v8nxrj80rdc5wx4c5syb380"))))
"04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
(build-system gnu-build-system)
(arguments
(list
@@ -294,7 +296,6 @@ tmpfs/ramfs filesystems.")
(,util-linux "lib")))
(native-inputs
(list gettext-minimal
pkg-config
;; For the tests.
e2fsprogs
@@ -309,6 +310,18 @@ tmpfs/ramfs filesystems.")
tables. It includes a library and command-line utility.")
(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
(package
(name "fdisk")
@@ -1224,25 +1237,16 @@ and its highly optimized now for efficient performance.")
(package
(name "volume-key")
(version "0.3.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://pagure.io/volume_key")
(commit (string-append "volume_key-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zadzbh26ckk263w02d02r2x3mry2kxbybkhwwaxwpv6jsrm7xr6"))))
(source (origin
(method url-fetch)
(uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
version ".tar.xz"))
(sha256
(base32
"16rhfz6sjwxlmss1plb2wv2i3jq6wza02rmz1d2jrlnsq67p98vc"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gettext-minimal
libtool
pkg-config
python ; used to generate the Python bindings
python-setuptools
swig))
(list pkg-config swig-4.0 python-3)) ; used to generate the Python bindings
(inputs
(append
(cons cryptsetup-minimal (libcryptsetup-propagated-inputs))
@@ -1252,21 +1256,15 @@ and its highly optimized now for efficient performance.")
glib
gpgme)))
(arguments
(list
#:tests? #f ; not sure how tests are supposed to pass, even when run manually
#:configure-flags
#~(list "--without-python"
(string-append "--with-gpgme-prefix="
#$(this-package-input "gpgme")))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-python-paths
(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"))))))))
`(#:tests? #f ; not sure how tests are supposed to pass, even when run manually
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-python.h-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python")))
(substitute* "Makefile.in"
(("/usr/include/python") (string-append python "/include/python")))
#t))))))
(home-page "https://pagure.io/volume_key")
(synopsis "Manipulate storage volume encryption keys")
(description
+3 -8
View File
@@ -46,13 +46,12 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz))
(define-public boinc-client
(package
(name "boinc-client")
(version "8.2.12")
(version "8.2.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -63,7 +62,7 @@
(file-name (git-file-name "boinc" version))
(sha256
(base32
"0531n0yij1gh06xy6plwivbpmhqfq15jizg3rdgri40nz41rzbgr"))))
"0ik9423ii6kal29jdn907pxy8w86zpi8n158qx1gcsh8lsaif1v5"))))
(build-system gnu-build-system)
(arguments
(list
@@ -109,11 +108,7 @@ resources). It supports virtualized, parallel, and GPU-based applications.")
"--with-gtk"
"--with-auth")))
(native-inputs
(list autoconf
automake
pkg-config
python-setuptools
which))
(list pkg-config autoconf automake which))
(inputs
(list avahi
gtk+
+23 -3
View File
@@ -37,6 +37,7 @@
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix deprecation)
#:use-module (guix search-paths)
#:use-module (guix utils)
@@ -200,13 +201,13 @@ your project into different processes.")
(define-public python-django
(package
(name "python-django")
(version "5.2.13")
(version "5.2.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "1i1vlffzhwbzp6r6y8ycvwklc45diy4c6i897z379l48a7dqj5d3"))))
(base32 "1lq2dynfw6jmvzrzgfrlij2qnxcksaxgnrfr0pj3bvmrv0m2jbbz"))))
(build-system pyproject-build-system)
(arguments
'(#:test-flags
@@ -297,6 +298,22 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
;; This CVE is fixed in 4.1.9.
"CVE-2023-31047"))))))
(define-public python-django-4
(package
(inherit python-django)
(name "python-django-4")
(version "4.2.28")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "1znc2q1m9p2kxz1rkfkh2hg2sx6i3aqv72zsraad7bci364cvfd4"))))
(arguments
(substitute-keyword-arguments arguments
((#:phases phases)
#~(modify-phases #$phases (delete 'delete-sitecustomize)))))))
(define-public python-django-cache-url
(package
(name "python-django-cache-url")
@@ -312,7 +329,7 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(base32 "1a5vd07wrnfbclvf6pz9p8ag9kdd1453lsl9q0bkyc45hq2xqd2a"))))
(build-system pyproject-build-system)
(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")
(synopsis "Configure Django cache settings from URLs")
(description
@@ -403,6 +420,7 @@ and adapters that are useful for non-trivial configuration scenarios.")
python-factory-boy
python-pygments
python-pytest
python-pytest-cov ; runs by default
python-pytest-django
python-setuptools
python-shortuuid
@@ -1311,6 +1329,7 @@ server headers required for Cross-Origin Resource Sharing (CORS).")
python-mock
python-msgpack
python-pytest
python-pytest-cov
python-pytest-django
python-pytest-mock
python-setuptools
@@ -2167,6 +2186,7 @@ templates and not in python-level form definitions.")
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-cov ; runs by default
python-pytest-django
python-setuptools
python-wheel))
+1
View File
@@ -29,6 +29,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+6 -9
View File
@@ -10,7 +10,6 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,7 +40,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -49,10 +47,10 @@
#:use-module (gnu packages gdb)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages textutils)
#:use-module (gnu packages xorg)
@@ -117,7 +115,6 @@
("ldc" ,gdmd)
("ninja" ,ninja)
("python-wrapper" ,python-wrapper)
("python-setuptools" ,python-setuptools)
("tzdata" ,tzdata-for-tests)
("unzip" ,unzip)))
(home-page "http://wiki.dlang.org/LDC")
@@ -323,11 +320,11 @@ integration tests...\n")
"|core.thread.osthread-debug-shared")))
(#t `("")))))))))))))
(native-inputs
(modify-inputs native-inputs
(delete "llvm")
(replace "ldc" ldc-bootstrap)
(append clang-17 ;propagates llvm and clang-runtime
python-lit)))
(append (delete "llvm"
(alist-replace "ldc" (list ldc-bootstrap)
(package-native-inputs ldc-bootstrap)))
`(("clang" ,clang-17) ;propagates llvm and clang-runtime
("python-lit" ,python-lit))))
(properties
(alist-delete 'hidden? (package-properties ldc-bootstrap)))))
+3 -4
View File
@@ -24,7 +24,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; 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 © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
;;;
@@ -115,7 +115,6 @@
(uri (git-reference
(url "git://git.chiark.greenend.org.uk/~ianmdlvl/adns.git")
(commit (string-append "adns-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ln3l5j7wb1xazrzl76p9xar52p6l2k1cwy7jazxw1acl71k9h5n"))))
@@ -841,14 +840,14 @@ to result in system-wide compromise.")
(define-public unbound
(package
(name "unbound")
(version "1.25.1")
(version "1.24.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
(base32 "0vsqmgnq7ibi0b3akzy45nqf0wazmb0bmpk2fp8wyn89gckvds0g"))))
(base32 "1nwwwmwazwx40nm88lhh7k1basml2ai6j9q30gnclvca00zbbrs4"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
+2 -2
View File
@@ -53,6 +53,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (srfi srfi-26))
;; The fetch-plan, install-plan and phases for docbook-xml tend to vary
@@ -665,8 +666,7 @@ the in DocBook SGML DTDs.")
(base32
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))
(patches
(search-patches "dblatex-importlib.patch"
"dblatex-inkscape-1.0.patch"))))
(search-patches "dblatex-inkscape-1.0.patch"))))
(outputs '("out" "doc"))
(build-system pyproject-build-system)
(arguments
+1 -65
View File
@@ -39,12 +39,12 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages containers)
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
@@ -198,50 +198,6 @@ enforce convention and best practices for metrics collection in Docker
projects.")
(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
(package
(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.")
(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
(package
(name "python-docker-pycreds")
+17 -33
View File
@@ -1,5 +1,5 @@
;;; 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 © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@@ -41,6 +41,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix deprecation)
@@ -191,20 +192,21 @@ markup) can be customized and extended by the user.")
(define-deprecated asciidoc-py3 asciidoc)
(define-public doxygen-1.16
(define-public doxygen
(package
(name "doxygen")
(version "1.16.1")
(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 "1a33w82ln692qsf3ls0j31f6khljjs1cy3bwd70pra2fa4xy6710"))))
(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"))))
(build-system cmake-build-system)
(native-inputs
(list bison
@@ -248,25 +250,6 @@ IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
and to some extent D.")
(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
(package
(name "halibut")
@@ -489,8 +472,9 @@ inspired by Dash.")
(build-system gnu-build-system)
(arguments
(list
;; Custom build steps to prevent using pyproject-build-system which
;; allows to edit the latter without a texlive + haskell world rebuild.
;; Essentially a lighter copy of the former python-build-system.
;; Using it rather than pyproject-build-system allows to edit the latter
;; without a texlive + haskell world rebuild.
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
+1
View File
@@ -62,6 +62,7 @@
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (ice-9 match))
(define-public treecc
+3 -2
View File
@@ -25,6 +25,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system r)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -147,13 +148,13 @@ system.")
(define-public r-duckdb
(package
(name "r-duckdb")
(version "1.5.2")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "duckdb" version))
(sha256
(base32 "1dldlfwvc33czvlxfmwaj4p9y6sjjj5iqy98yda47a8kclrqmyam"))
(base32 "177621m08whqqk4yhj3zrr08l3d9hhlqh3gm9jzhi5cplg47cksq"))
;; This package bundles the duckdb sources and builds a custom variant
;; of duckdb. I'd be happy to link it with our duckdb library instead,
;; but it does not seem possible to do that.
+3 -41
View File
@@ -40,6 +40,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
@@ -206,7 +207,7 @@ with Microsoft Compiled HTML (CHM) files.")
python-css-parser
python-cssselect
python-dateutil
python-dnspython
python-dnspython-1.16
python-feedparser
python-fonttools
python-html2text
@@ -282,9 +283,7 @@ tags = [\"WS_X11\"]")
(string-append "[tool.sip.project]
sip-include-dirs = [\""
#$(this-package-input "python-pyqt")
"/lib/python"
#$(version-major+minor (package-version python))
"/site-packages/PyQt6/bindings\"]")))
"/lib/python3.11/site-packages/PyQt6/bindings\"]")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \""
@@ -416,43 +415,6 @@ e-books for convenient reading.")
accessing and converting various ebook file formats.")
(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
(package
(name "inkbox")
+1
View File
@@ -91,6 +91,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#: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.
;; Compiling/linking/using OpenSSL is permitted.
(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)))
+73 -453
View File
@@ -64,6 +64,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix deprecation)
#:use-module (guix download)
@@ -104,13 +105,11 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
@@ -195,10 +194,6 @@
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'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
(lambda _
(setenv "HOME" "/tmp")))
@@ -245,8 +240,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b")
(revision "11"))
(let ((commit "80c8a9a1928ef8148a6b504e9590ec07c55c8bcf")
(revision "10"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -258,7 +253,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85"))))
"1fbnwsd841z86vfv45443qfpx0l199vf08sgms8wyz19jw7m5ds6"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -283,7 +278,7 @@ formal verification.")
(package
(inherit abc)
(name "abc-yosyshq")
(version "0.65")
(version "0.64")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -292,53 +287,12 @@ formal verification.")
(file-name (git-file-name name version))
(sha256
(base32
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka"))))
"1jk74yq7dnrnai8r9hqc10jcjmgj50jxj6hsflmvc61acm1r3f8r"))))
(home-page "https://github.com/YosysHQ/abc/")
(description "ABC is a program for sequential logic synthesis and
formal verification. This is the Yosyshq fork of ABC.")
(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
(package
(name "apycula")
@@ -450,7 +404,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(define-public ciel
(package
(name "ciel")
(version "2.4.1")
(version "2.4.0")
(source
(origin
(method git-fetch)
@@ -459,7 +413,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "08r30ighn86995dcf7278k9nrci8wbp6kglgk011y6g80z9m2zm7"))))
(base32 "0cj4cpmpqi7aqj9jkpp87qs9bjcg3j97adv1s91pnfrkplff8rh1"))))
(arguments
(list
#: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}.")
(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
(package
(name "comedilib")
@@ -569,7 +467,7 @@ individual low-level driver modules.")
(define-public eqy
(package
(name "eqy")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -582,10 +480,8 @@ individual low-level driver modules.")
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %pyproject-build-system-modules
#:modules '((guix build gnu-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
#:imported-modules (append %default-gnu-imported-modules
%python-build-system-modules)
#:make-flags
#~(list (string-append "PREFIX=" #$output))
#:phases
@@ -612,7 +508,7 @@ individual low-level driver modules.")
(invoke "make" "-C" "examples/spm")
(invoke "make" "-C" "examples/simple"))))
(add-after 'install 'python:wrap
(assoc-ref py:%standard-phases 'wrap)))))
(@@ (guix build python-build-system) wrap)))))
(native-inputs
(list clang python-minimal-wrapper python-sphinx texinfo yosys))
(inputs
@@ -1021,7 +917,7 @@ files.")
(define-public klayout
(package
(name "klayout")
(version "0.30.8")
(version "0.30.7")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -1030,7 +926,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
(build-system copy-build-system)
(arguments
(list
@@ -1173,7 +1069,7 @@ characterization result in a liberty library file.")
(define-public kicad
(package
(name "kicad")
(version "10.0.3")
(version "10.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1181,7 +1077,7 @@ characterization result in a liberty library file.")
(commit version)))
(sha256
(base32
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"))
"1mnlv8fyz03pfg8pkqwdl5gjz6vsk98c6414lf3wkvrkb85ljaav"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1306,7 +1202,7 @@ package.")
(file-name (git-file-name name version))
(sha256
(base32
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b"))))
"1c0vn13rp0z12rlqhl321pk2gj9577dyky6xj3i6hb040i3v7zrr"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html"
@@ -1314,7 +1210,7 @@ package.")
#:tests? #f)) ;no test suite
(native-inputs (list asciidoc
gettext-minimal
git-minimal/pinned
git-minimal
perl
perl-unicode-linebreak
perl-yaml-tiny
@@ -1338,7 +1234,7 @@ package.")
(file-name (git-file-name name version))
(sha256
(base32
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"))))
"0iz4lb33wdsw4f82a0ln8ycgaf39gjws03mvl2j1q9npwj6xl1cm"))))
(build-system cmake-build-system)
(native-inputs (list python-wrapper))
(arguments
@@ -1368,7 +1264,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"))))
"0jqgyi1yb2zc6w56ba7xama0wnhrqwbbnf2fqvr47xihvdcvs87v"))))
(synopsis "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))
(sha256
(base32
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"))))
"0jr70ry6inzc2fy3s300z0zlmihbq95ba1zckyd1wwbpplaj1gbl"))))
(synopsis "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
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
(package
(name "lepton-eda")
@@ -1662,7 +1504,7 @@ an embedded event driven algorithm.")
(define-public librelane
(package
(name "librelane")
(version "3.0.3")
(version "3.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1671,16 +1513,12 @@ an embedded event driven algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8"))))
"1v43adkw5c624nd06g11cb609v8pj3prfyyawbq3i4k1w1law597"))))
(build-system pyproject-build-system)
(arguments
(list
#: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
(lambda _
(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: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
(package
(name "python-lln-libparse")
@@ -2207,7 +2020,7 @@ which allows one to install the M8 firmware on any Teensy.")
(define-public magic
(package
(name "magic")
(version "8.3.644")
(version "8.3.633")
(source
(origin
(method git-fetch)
@@ -2216,7 +2029,7 @@ which allows one to install the M8 firmware on any Teensy.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
(base32 "1rwrhb0q99rpv4lbiw1sqykwzf9gj1my2wkh6mp8g36rab2vhii3"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2246,7 +2059,7 @@ versus schematic} tests and can assist with automatic routing.")
(define-public mcy
(package
(name "mcy")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -2261,10 +2074,7 @@ versus schematic} tests and can assist with automatic routing.")
(list
#:tests? #f ;there are no tests
#:imported-modules (append %qt-build-system-modules
%pyproject-build-system-modules)
#:modules '((guix build qt-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
%python-build-system-modules)
#:phases
#~(modify-phases %standard-phases
(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-dash")))
(add-after 'make-install 'python:wrap
(assoc-ref py:%standard-phases 'wrap)))))
(@@ (guix build python-build-system) wrap)))))
(native-inputs
(list pkg-config
python-sphinx
@@ -2312,7 +2122,7 @@ coverage.")
(define-public netgen
(package
(name "netgen")
(version "1.5.319")
(version "1.5.318")
(source
(origin
(method git-fetch)
@@ -2321,7 +2131,7 @@ coverage.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
(base32 "19rd8y2pspycr2296nhm60fhsgnzlyzb09wx2kgqzg6s7h6cmrr5"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2521,7 +2331,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(define-public nvc
(package
(name "nvc")
(version "1.21.0")
(version "1.19.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2530,7 +2340,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(file-name (git-file-name name version))
(sha256
(base32
"00hnrzk9dw88srfmjxxb9xkgnd5n26pmqlcw1bff1y0bckblsr38"))))
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
(build-system gnu-build-system)
(arguments
(list #:out-of-source? #t
@@ -2669,66 +2479,6 @@ such as:
@end itemize")
(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
(package
(name "pcb-rnd")
@@ -3260,6 +3010,7 @@ Numpy arrays for convenience.")
(setenv "PDM_BUILD_SCM_VERSION" #$version))))))
(native-inputs
(list python-pdm-backend
python-pytest-cov
python-setuptools
python-setuptools-scm
sby
@@ -3438,12 +3189,8 @@ SystemVerilog, and SystemC, with conversion between languages and to JSON.")
inputs "include/antlr4-runtime"))
(antlr4cpp-lib (search-input-file
inputs "lib/libantlr4-runtime.so"))
(python-include
(search-input-directory
inputs
(string-append
"include/python"
#$(version-major+minor (package-version python))))))
(python-include (search-input-directory
inputs "include/python3.11")))
;; Patch CMake to use our paths directly.
(substitute* "src/CMake_antlr4.txt"
(("set\\(ANTLR_CLASSPATH \"\"\\)")
@@ -3535,44 +3282,6 @@ integrated circuit Hardware Description Language} and SystemVerilog
parser library for Python.")
(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
(package
(name "python-pyucis")
@@ -3608,16 +3317,15 @@ Standard} data mode.")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SanDisk-Open-Source/pyvcd")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "pyvcd" version))
(sha256
(base32 "1a1fsgxmpy6gbrs7lp3a56b7d4g6srlp42y5azb1ywjx3w8fiwc6"))))
(base32 "15nnydvr1a4ykh8cagi484sfgvdg0dnjxaw6c0ivhjbrbblpaqnw"))))
(build-system pyproject-build-system)
(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/")
(synopsis "Library to manipulate digital wave files")
(description
@@ -3753,7 +3461,7 @@ form of AXI, AXI lite, and AXI stream modules.")
(define-public python-edalize
(package
(name "python-edalize")
(version "0.6.8")
(version "0.6.6")
(source
(origin
(method git-fetch)
@@ -3762,7 +3470,7 @@ form of AXI, AXI lite, and AXI stream modules.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04m2lhkclw9fj92k43c06j003qnq9i1yhy2131fvcnkkr0d9438m"))))
(base32 "115nc15n2cx4x9irjim07zkg0287418djqd6ja7rm8jrnyldvln9"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3805,7 +3513,7 @@ set.")
(define-public fusesoc
(package
(name "fusesoc")
(version "2.4.6")
(version "2.4.5")
(source
(origin
(method git-fetch)
@@ -3814,7 +3522,7 @@ set.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11bmvk10mszv65ws84jmm220ivwn55v8664kkdm9d4m99pryi2kp"))))
(base32 "1sw0zl6hjlzp1a0agdl9yp901pih70ppzzss18l8f3jxs6q7jm1n"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3894,7 +3602,10 @@ Automation}.")
#$output "/share/info/hdlmake-figures")))))
#:test-flags #~(list "test_all.py")))
(native-inputs
(list python-pytest python-setuptools python-sphinx texinfo))
(list python-pytest-cov
python-setuptools
python-sphinx
texinfo))
(propagated-inputs (list python-networkx))
(home-page "https://ohwr.gitlab.io/project/hdl-make/")
(synopsis "Generate multi-purpose makefiles for HDL projects")
@@ -4057,9 +3768,18 @@ design.")
;; Tests are expensive and may introduce race condition on systems with
;; high (more than 16) threads count; limit parallel jobs to 8x.
#~(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
(list python-pytest
(list python-pytest-cov
python-pytest-html
python-pytest-xdist
python-setuptools))
(propagated-inputs
@@ -4071,36 +3791,6 @@ design.")
to enforce it.")
(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
(package
(name "python-vunit")
@@ -4189,71 +3879,6 @@ automated testing of HDL code.")
;; subdirectories are under ASL.
(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
(package
(name "qrouter")
@@ -4608,7 +4233,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(define-public sby
(package
(name "sby")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -4617,16 +4242,17 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19cvbvg6jjh7lj1sd7jz7yd5wrlswg6dmyajc7kxgl7dd97ivpwy"))))
(base32 "0jksspdgq2grk4a80i5yfc9bazfij37wpmrlkvygpz9ys5ny1432"))))
(build-system gnu-build-system)
(arguments
(list
#:parallel-tests? #f
#:test-target "test"
#:imported-modules %pyproject-build-system-modules
#:modules `((guix build gnu-build-system)
((guix build pyproject-build-system) #:prefix python:)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build python-build-system))
#:make-flags #~(list (string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
@@ -4890,7 +4516,7 @@ unique design feature of Trilinos is its focus on packages.")
(define-public verilator
(package
(name "verilator")
(version "5.048")
(version "5.046")
(source
(origin
(method git-fetch)
@@ -4899,7 +4525,7 @@ unique design feature of Trilinos is its focus on packages.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16c1x66kqmc5ldqjij81kypj471fibfihcqn6kz4wbxvnn0smyn6"))))
(base32 "1gr1qhxvl4856hnmnx46dqd2qp0jhdh959zm2qfmxzzh19np7xkm"))))
(native-inputs
(list autoconf
automake
@@ -5039,7 +4665,7 @@ parallel computing platforms. It also supports serial execution.")
(define-public yosys
(package
(name "yosys")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -5047,16 +4673,15 @@ parallel computing platforms. It also supports serial execution.")
(url "https://github.com/YosysHQ/yosys")
(commit (string-append "v" version))))
(sha256
(base32 "04sks9hj8h9vy6zii29zjgq38h2h4nz8a7xxiq33p1aivwq7bz8q"))
(base32 "13gw5msk1kv05jkb330nybvx2s0ixm6l6mdpyapnqmv3lkhby1mj"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
(list
#:test-target "all"
#:test-target "vanilla-test" ;TODO: restore to "test" with next release
#:make-flags
#~(list (string-append "PREFIX=" #$output)
"ENABLE_FUNCTIONAL_TESTS=1"
"ENABLE_EDITLINE=1"
"ENABLE_LIBYOSYS=1"
"ENABLE_PYOSYS=1"
@@ -5071,11 +4696,6 @@ parallel computing platforms. It also supports serial execution.")
#$(this-package-input "abc-yosyshq")))
#:phases
#~(modify-phases %standard-phases
;; TODO: Remove when fixed.
(add-after 'unpack 'remove-aiger
(lambda _
(substitute* "tests/Makefile"
((".*aiger.*") ""))))
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "backends/smt2/smtio.py"
@@ -5166,12 +4786,12 @@ parallel computing platforms. It also supports serial execution.")
(git-reference
(url "https://github.com/povik/yosys-slang")
;; No tags, nor releases.
(commit "cf20b1ba0d2c9df0508f927930a87565e7e0d220")
(commit "4e53d772996184b07e9bfe784060f96e6cb0a267")
(recursive? #t))) ;requires slang and fmt
(file-name "yosys-slang")
(sha256
(base32
"1rl9i19a90yis33g549ida7lygfh1qka5k96zdrvk0shn2jnm8g4")))))
"1jjr1b6xd1sr9fkyfyl4y2wkzl51m7g10bw97mnw81v2mzssrs2q")))))
;; Optional dependencies increase considerably package closure.
;; - gtkwave: required only for vcd2fst binary, used by sim command.
;; - graphviz, xdot: used by show command to display schematics.
@@ -5202,7 +4822,7 @@ for various application domains, including FPGAs and ASICs.")
license:expat
;; yosys-slang/third_party/fmt
license:bsd-2 license:bsd-3 license:psfl
;; yosys, yosys-slang
;; yosys
license:isc))))
(define-deprecated-package yosys-clang yosys)
+4 -2
View File
@@ -62,7 +62,7 @@ as bold, underscore or italic.")
(define-public emacs-buttercup
(package
(name "emacs-buttercup")
(version "1.40")
(version "1.38")
(source
(origin
(method git-fetch)
@@ -72,7 +72,9 @@ as bold, underscore or italic.")
(file-name (git-file-name name version))
(sha256
(base32
"1b55cfh4wr40max2c42crvaa6wid7a83g28yximsin98i32q5f5r"))))
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))
(patches
(search-patches "emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch"))))
(build-system emacs-build-system)
(arguments
(list
+552 -1067
View File
File diff suppressed because it is too large Load Diff
+4 -5
View File
@@ -28,7 +28,6 @@
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -702,8 +701,8 @@ editor (with wide ints)" )
#~(cons "--with-wide-int" #$flags))))))
(define-public emacs-next-minimal
(let ((commit "d969185878bf50faedbafbd609c361875b891b53")
(revision "3"))
(let ((commit "509228fc6c026921c67459f21164e0325efc583b")
(revision "2"))
(package
(inherit emacs-minimal)
(name "emacs-next-minimal")
@@ -717,7 +716,7 @@ editor (with wide ints)" )
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1pmx71b6pazjpyfs1d2ngby1idsviwbap3xbr5b7dgf0rngim32s"))
(base32 "04aalyrx5jysk5fhlka98fhfx23sy99zp8j16i0ils20sflyig6n"))
(patches
(search-patches "emacs-next-disable-jit-compilation.patch"
"emacs-next-exec-path.patch"
@@ -870,7 +869,7 @@ Started in 2014 as a GSOC project, Guile-Emacs was resurrected in 2024.")
"0vfw7z9i2s9np6nmx1d4dlsywm044rkaqarn7akffmb6bf1j6zv5"))))
(build-system gnu-build-system)
(native-inputs
(list gettext-minimal))
`(("gettext" ,gettext-minimal)))
(arguments
`(#:configure-flags
(list (string-append "--with-charmaps="
+15 -12
View File
@@ -45,6 +45,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module ((guix build utils) #:select (alist-replace delete-file-recursively))
#:use-module (gnu packages)
@@ -1919,7 +1920,7 @@ and Zilog Z80 families, plus many of their variants.")
(define-public python-psptool
(package
(name "python-psptool")
(version "3.6")
(version "3.1")
(source
(origin
(method git-fetch)
@@ -1928,40 +1929,36 @@ and Zilog Z80 families, plus many of their variants.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1s53bqimh1ih0xqmyppm2ikphi8r9492k67kn4pz3jngh2gp1wnf"))))
(base32 "1fbx3b42cr7dv07p2b9qgzrgs19i066ysfasgvlfjscg2v68j8d0"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest))
(native-inputs
(list python-hatch-vcs
python-hatchling
python-psptrace-bootstrap
(list python-psptrace-bootstrap
python-setuptools))
(propagated-inputs
(list python-cryptography
python-prettytable))
(home-page "https://github.com/PSPReverse/psptool")
(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+)))
(define-public python-psptrace
(package
(name "python-psptrace")
(version "0.11")
(version "0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psptrace" version))
(sha256
(base32 "0lzv0dy2m5g6q4rpjd4wpw0p7n8v8crkx7akbp53lpy1c6y40iw8"))))
(base32 "1mrympnpkkns2dxq34h9x9qn667ihdvbbf0wpmbp3jli0n7bj7ih"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI or Git
(native-inputs
(list python-hatch-vcs
python-hatchling
python-setuptools))
(list python-setuptools))
(propagated-inputs
(list python-prettytable
python-psptool))
@@ -2036,7 +2033,13 @@ whereas kdmx creates pseudo-ttys.")
;; tests: 631 passed, 27 skipped, 1 warning
#:test-flags
;; 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
(list python-factory-boy
python-pytest
+22 -27
View File
@@ -68,7 +68,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -108,6 +107,7 @@
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
@@ -140,6 +140,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial))
@@ -147,7 +148,7 @@
(define-public ares
(package
(name "ares")
(version "147")
(version "145")
(source
(origin
(method git-fetch)
@@ -156,28 +157,23 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b4xixngp8md2ishf3cyfwpzjcsvjb5zp678can5dcmv9z1dlsis"))
(modules '((guix build utils)))
(snippet
;; Delete non-free blobs: Supersoft Diagnostics II.
#~(delete-file-recursively "tests/i8080/tests"))))
(base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; non-free blobs
#:configure-flags
#~(list "-DARES_BUILD_LOCAL=FALSE"
"-DARES_BUILD_OFFICIAL=TRUE"
"-DARES_BUNDLE_SHADERS=FALSE"
"-DARES_SKIP_DEPS=TRUE"
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-libglvnd
(lambda _
;; TODO: Our mesa doesn't have libglvnd support.
(substitute* "ruby/cmake/os-linux.cmake"
(("OpenGL::GLX") "OpenGL::GL")))))))
(list #:tests? #f ; No tests
#:configure-flags
#~(list "-DARES_BUILD_LOCAL=FALSE"
"-DARES_BUILD_OFFICIAL=TRUE"
"-DARES_BUNDLE_SHADERS=FALSE"
"-DARES_SKIP_DEPS=TRUE"
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-libglvnd
(lambda _
;; XXX: Our mesa doesn't have libglvnd support.
(substitute* "ruby/cmake/os-linux.cmake"
(("OpenGL::GLX") "OpenGL::GL")))))))
(native-inputs
(list pkg-config))
(inputs
@@ -1268,8 +1264,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
(build-system gnu-build-system)
(native-inputs
(cons* pkg-config which
(maybe-nasm)))
(list pkg-config nasm which))
(inputs
(list freetype
glu
@@ -1294,6 +1289,8 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(list "all" (string-append "PREFIX=" out)))
;; There are no tests.
#:tests? #f))
;; As per the Makefile (in projects/unix/Makefile):
(supported-systems '("i686-linux" "x86_64-linux"))
(home-page "https://www.mupen64plus.org/")
(synopsis "Nintendo 64 emulator core library")
(description
@@ -2167,9 +2164,7 @@ as RetroArch.")
(lambda _
(install-file "mupen64plus_next_libretro.so"
(string-append #$output "/lib/libretro/")))))))
(native-inputs
(cons* pkg-config
(maybe-nasm)))
(native-inputs (list nasm pkg-config))
(inputs (list mesa libpng minizip unzip xxhash zlib))
(home-page "https://github.com/libretro/mupen64plus-libretro-nx")
(synopsis "Improved Mupen64Plus libretro core")

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