mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-07 20:24:08 +02:00
Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1cd09ce1ec | |||
| 4b7a750b64 | |||
| 5d1c8cfa1e | |||
| a4a3fe08c1 | |||
| e095512494 | |||
| 4a1f2852e1 | |||
| 649fc872ba | |||
| 6199e6609c | |||
| ec6b8c9808 | |||
| 429f698c17 | |||
| efa499747f | |||
| c81f5b764c | |||
| 3298ea0db1 | |||
| db6af3ab1a | |||
| 0987ec2b82 | |||
| 709c37f4db | |||
| ce843095f4 | |||
| 2487ff1879 | |||
| 71ef5c0ab6 | |||
| 4b4ea6eb9d | |||
| 65c24e5e11 | |||
| 07085345a2 | |||
| 98b2e3853b | |||
| 0e6f3fab58 | |||
| d4ddddd9b4 | |||
| ca11af32e2 | |||
| 40e40dafc4 | |||
| 2533fec0e1 | |||
| 462dc862b0 | |||
| abd6fc6d49 | |||
| 7c7c4ba6f5 | |||
| 7b8101940c | |||
| 9d3d936e2f | |||
| dd5c11de2b | |||
| 9247fd3bc7 | |||
| 721e60ef98 | |||
| 4f9a5a1a02 |
+3
-8
@@ -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"))
|
||||
|
||||
@@ -145,7 +141,6 @@
|
||||
(eval . (put 'substitute* 'scheme-indent-function 1))
|
||||
(eval . (put 'match-record 'scheme-indent-function 3))
|
||||
(eval . (put 'match-record-lambda 'scheme-indent-function 2))
|
||||
(eval . (put 'with-fluids 'scheme-indent-function 2))
|
||||
|
||||
;; TODO: Contribute these to Emacs' scheme-mode.
|
||||
(eval . (put 'let-keywords 'scheme-indent-function 3))
|
||||
|
||||
@@ -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"))
|
||||
|
||||
-10
@@ -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
|
||||
@@ -69,7 +68,6 @@ guix/discovery\.scm @guix/core
|
||||
guix/docker\.scm @guix/core
|
||||
guix/download\.scm @guix/core
|
||||
guix/elf\.scm @guix/core
|
||||
guix/fossil-download\.scm @guix/core
|
||||
guix/ftp-client\.scm @guix/core
|
||||
guix/gexp\.scm @guix/core
|
||||
guix/git-authenticate\.scm @guix/core
|
||||
@@ -162,8 +160,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
|
||||
@@ -182,7 +178,6 @@ guix/scripts/import/elpa\.scm @guix/emacs
|
||||
tests/import/elpa\.scm @guix/emacs
|
||||
|
||||
gnu/packages/bootloaders\.scm @guix/embedded
|
||||
gnu/packages/coreboot\.scm @guix/embedded
|
||||
gnu/packages/firmware\.scm @guix/embedded
|
||||
|
||||
gnu/packages/emulators\.scm @guix/games
|
||||
@@ -244,7 +239,6 @@ tests/guix-home\.sh @guix/home
|
||||
tests/home-import\.scm @guix/home
|
||||
tests/home-services\.scm @guix/home
|
||||
|
||||
gnu/packages/fabric-management\.scm @guix/hpc
|
||||
gnu/packages/mpi\.scm @guix/hpc
|
||||
gnu/packages/oneapi\.scm @guix/hpc
|
||||
gnu/packages/opencl\.scm @guix/hpc
|
||||
@@ -267,7 +261,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 +271,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
|
||||
@@ -324,7 +316,6 @@ gnu/packages/tor-browsers\.scm @guix/mozilla
|
||||
|
||||
gnu/packages/ocaml\.scm @guix/ocaml
|
||||
gnu/packages/coq\.scm @guix/ocaml
|
||||
gnu/packages/rocq\.scm @guix/ocaml
|
||||
guix/build/ocaml-build-system\.scm @guix/ocaml
|
||||
guix/build/dune-build-system\.scm @guix/ocaml
|
||||
guix/build-system/ocaml\.scm @guix/ocaml
|
||||
@@ -492,7 +483,6 @@ gnu/services/version-control\.scm @guix/vcs
|
||||
gnu/tests/version-control\.scm @guix/vcs
|
||||
guix/build/bzr\.scm @guix/vcs
|
||||
guix/build/cvs\.scm @guix/vcs
|
||||
guix/build/fossil\.scm @guix/vcs
|
||||
guix/build/git\.scm @guix/vcs
|
||||
guix/build/hg\.scm @guix/vcs
|
||||
guix/build/svn\.scm @guix/vcs
|
||||
|
||||
+11
-15
@@ -104,7 +104,6 @@ MODULES = \
|
||||
guix/discovery.scm \
|
||||
guix/android-repo-download.scm \
|
||||
guix/bzr-download.scm \
|
||||
guix/fossil-download.scm \
|
||||
guix/git-download.scm \
|
||||
guix/hg-download.scm \
|
||||
guix/hash.scm \
|
||||
@@ -237,7 +236,6 @@ MODULES = \
|
||||
guix/build/asdf-build-system.scm \
|
||||
guix/build/bzr.scm \
|
||||
guix/build/copy-build-system.scm \
|
||||
guix/build/fossil.scm \
|
||||
guix/build/git.scm \
|
||||
guix/build/hg.scm \
|
||||
guix/build/glib-or-gtk-build-system.scm \
|
||||
@@ -457,8 +455,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 \
|
||||
@@ -806,17 +802,17 @@ EXTRA_DIST += \
|
||||
etc/manifests/upgrade.scm \
|
||||
scripts/guix.in \
|
||||
tests/cve-sample.json \
|
||||
tests/keys/openpgp/civodul.pub \
|
||||
tests/keys/openpgp/dsa.pub \
|
||||
tests/keys/openpgp/ed25519-2.pub \
|
||||
tests/keys/openpgp/ed25519-2.sec \
|
||||
tests/keys/openpgp/ed25519-3.pub \
|
||||
tests/keys/openpgp/ed25519-3.sec \
|
||||
tests/keys/openpgp/ed25519.pub \
|
||||
tests/keys/openpgp/ed25519.sec \
|
||||
tests/keys/openpgp/rsa.pub \
|
||||
tests/keys/openpgp/signing-key.pub \
|
||||
tests/keys/openpgp/signing-key.sec \
|
||||
tests/keys/civodul.pub \
|
||||
tests/keys/dsa.pub \
|
||||
tests/keys/ed25519-2.pub \
|
||||
tests/keys/ed25519-2.sec \
|
||||
tests/keys/ed25519-3.pub \
|
||||
tests/keys/ed25519-3.sec \
|
||||
tests/keys/ed25519.pub \
|
||||
tests/keys/ed25519.sec \
|
||||
tests/keys/rsa.pub \
|
||||
tests/keys/signing-key.pub \
|
||||
tests/keys/signing-key.sec \
|
||||
tests/test.drv \
|
||||
$(TESTS)
|
||||
|
||||
|
||||
@@ -18,10 +18,6 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
||||
** Distribution
|
||||
*** GNOME updated to version 48
|
||||
*** New service for Fossil SCM
|
||||
*** TeX Live updated to 2026.1
|
||||
|
||||
** Programming interfaces
|
||||
*** New (guix fossil-download) module, for fetching Fossil repositories
|
||||
|
||||
* Changes in 1.5.0 (since 1.4.0)
|
||||
** Package management
|
||||
|
||||
@@ -73,8 +73,8 @@ then
|
||||
# Copy the keys so that the secret key has the right permissions (the
|
||||
# daemon errors out when this is not the case.)
|
||||
mkdir -p "$GUIX_CONFIGURATION_DIRECTORY"
|
||||
cp "@abs_top_srcdir@/tests/keys/openpgp/signing-key.sec" \
|
||||
"@abs_top_srcdir@/tests/keys/openpgp/signing-key.pub" \
|
||||
cp "@abs_top_srcdir@/tests/keys/signing-key.sec" \
|
||||
"@abs_top_srcdir@/tests/keys/signing-key.pub" \
|
||||
"$GUIX_CONFIGURATION_DIRECTORY"
|
||||
chmod 400 "$GUIX_CONFIGURATION_DIRECTORY/signing-key.sec"
|
||||
fi
|
||||
|
||||
+23
-41
@@ -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
-87
@@ -706,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
|
||||
@@ -1661,9 +1667,6 @@ can be turned into a version string via @code{git-version}, for example
|
||||
@code{rust-pipewire-0.8.0.fd3d8f7} and @code{rust-pubgrub-0.3.0.b70cf70}.
|
||||
@end table
|
||||
|
||||
When contributing Rust packages, we should have all modifications to these
|
||||
two modules, in the same commit as the package we are contributing.
|
||||
|
||||
To avoid merge conflicts with changes from multiple branches, these two modules
|
||||
are maintained by the Rust team (@pxref{Teams}).
|
||||
|
||||
@@ -1693,68 +1696,6 @@ tree.
|
||||
@xref{Packaging Rust Crates,,, guix-cookbook, GNU Guix Cookbook}, for
|
||||
packaging workflow.
|
||||
|
||||
@subsubsection Commit messages
|
||||
|
||||
The commit message must have a general brief mention to entry changes
|
||||
in @code{(gnu packages rust-crates)}. For changes in @code{(gnu packages
|
||||
rust-sources)}, the commit message must explicitly mention all changes to the
|
||||
packages.
|
||||
|
||||
Here are some examples for different situations:
|
||||
|
||||
@itemize
|
||||
|
||||
@item
|
||||
Adding a new Rust package:
|
||||
|
||||
@example
|
||||
gnu: Add catppuccin-whiskers.
|
||||
|
||||
* gnu/packages/rust-apps.scm (catppuccin-whiskers): New variable.
|
||||
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)
|
||||
[catppuccin-whiskers]: New entry.
|
||||
@end example
|
||||
|
||||
@item
|
||||
Updating a simple package:
|
||||
|
||||
@example
|
||||
gnu: watchexec: Update to 2.3.2.
|
||||
|
||||
* gnu/packages/rust-apps.scm (watchexec): Update to 2.3.2.
|
||||
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[watchexec]:
|
||||
Update entry.
|
||||
@end example
|
||||
|
||||
@item
|
||||
Updating a package with sources:
|
||||
|
||||
@example
|
||||
gnu: typst: Update to 0.14.0.
|
||||
|
||||
* gnu/packages/rust-apps.scm (typst): Update to 0.14.0.
|
||||
[arguments]<#:rust>: Use rust-1.88.
|
||||
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[typst]: Update
|
||||
entry.
|
||||
[rust-syntect-5]: Rename to rust-syntect-5.2.
|
||||
[rust-syntect-5.3]: New entry.
|
||||
* gnu/packages/rust-sources.scm (rust-hypher-0.1): Update to 0.1.6.
|
||||
(rust-syntect-5): Rename to rust-syntect-5.2.
|
||||
[inputs]: Rename cargo-inputs rust-syntect-5 to rust-syntect-5.2.
|
||||
(rust-syntect-5.3): New variable.
|
||||
@end example
|
||||
|
||||
@end itemize
|
||||
|
||||
@subsubsection Resolving merge conflicts in Pull Requests
|
||||
|
||||
For Rust crates, the recommended way to solve merge conflicts is to drop all
|
||||
changes to @code{gnu/packages/rust-crates.scm}, rebase onto the desired branch
|
||||
and run the lockfile importer again, manually adding back all relevant snippets
|
||||
(if any).
|
||||
|
||||
@xref{Common Workflow for Resolving Merge Conflicts on Existing Pull Requests,,, guix-cookbook, GNU Guix Cookbook} for
|
||||
a suggested workflow on resolving merge conflicts.
|
||||
|
||||
@node Elm Packages
|
||||
@subsection Elm Packages
|
||||
@@ -2709,7 +2650,6 @@ applications settings page}, granting read/write access to the
|
||||
|
||||
@cindex decision making
|
||||
@cindex consensus seeking
|
||||
Every contribution to the project involves a form of decision making.
|
||||
It is expected from all contributors, and even more so from committers,
|
||||
to help build consensus and make decisions based on consensus. By using
|
||||
consensus, we are committed to finding solutions that everyone can live
|
||||
@@ -2724,26 +2664,6 @@ resolve the deadlock. To learn what consensus decision making means and
|
||||
understand its finer details, you are encouraged to read
|
||||
@url{https://www.seedsforchange.org.uk/consensus}.
|
||||
|
||||
Day-to-day decision making, for instance discussions about pull requests
|
||||
(@pxref{Reviewing the Work of Others}), happens informally among
|
||||
interested parties such as contributors and members of the relevant
|
||||
teams (@pxref{Teams}).
|
||||
|
||||
@cindex GCD, Guix Consensus Documents
|
||||
@cindex Guix Consensus Documents (GCD)
|
||||
Decisions that are expected to have an impact on most contributors
|
||||
and/or on the broader user community---e.g., changes to project-wide
|
||||
policies, to core functionality, and so on---are made following the
|
||||
@acronym{GCD, Guix Consensus Document} process. The process provides a
|
||||
framework to formalize proposals and draw attention to them, to leave
|
||||
time for interested parties to discuss them, and to collectively accept
|
||||
or withdraw them based on input from participating team members. It is
|
||||
defined in
|
||||
@uref{https://consensus.guix.gnu.org/gcd/001-gcd-process.html,
|
||||
GCD@tie{}001}. Past GCDs can be seen at
|
||||
@uref{https://consensus.guix.gnu.org}, and discussions take place at
|
||||
@uref{https://codeberg.org/guix/guix-consensus-documents}.
|
||||
|
||||
@node Commit Access
|
||||
@section Commit Access
|
||||
|
||||
|
||||
+21
-362
@@ -146,8 +146,6 @@ Packaging Rust Crates
|
||||
* Common Workflow for Rust Packaging::
|
||||
* Cargo Workspaces and Development Snapshots::
|
||||
* Using Rust Libraries in Other Build Systems::
|
||||
* Common Workflow for Updating Existing Rust Packages::
|
||||
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
|
||||
|
||||
System Configuration
|
||||
|
||||
@@ -646,11 +644,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 +1114,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 +1160,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 +1228,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 +1246,7 @@ following flags
|
||||
"CC=gcc")
|
||||
@end lisp
|
||||
|
||||
translate into:
|
||||
translate into
|
||||
|
||||
@example
|
||||
$ make CC=gcc prefix=/gnu/store/...-<out>
|
||||
@@ -1276,9 +1266,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 +1381,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 +1393,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 +1527,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 +1549,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 +1573,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 +1614,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, Pjotr’s hacking guide to GNU Guix}
|
||||
@@ -1667,8 +1647,6 @@ $ guix shell rust rust:cargo cargo-audit cargo-license
|
||||
* Common Workflow for Rust Packaging::
|
||||
* Cargo Workspaces and Development Snapshots::
|
||||
* Using Rust Libraries in Other Build Systems::
|
||||
* Common Workflow for Updating Existing Rust Packages::
|
||||
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
|
||||
@end menu
|
||||
|
||||
@node Common Workflow for Rust Packaging
|
||||
@@ -1727,15 +1705,6 @@ $ cargo audit
|
||||
$ cargo license
|
||||
@end example
|
||||
|
||||
@quotation Note
|
||||
Before running @command{cargo generate-lockfile}, make sure you have checked
|
||||
out the correct tag for the version you are packaging. This ensures that
|
||||
@code{Cargo.toml} matches the file used in the packages's @code{source} field.
|
||||
To make sure, you can obtain the exact source with @command{./pre-inst-env guix
|
||||
build --source <package>} and only then run @command{cargo generate-lockfile} on
|
||||
that source tree.
|
||||
@end quotation
|
||||
|
||||
@command{cargo generate-lockfile} updates dependencies to compatible versions.
|
||||
Applying it to all Rust applications helps reduce a great number of Rust
|
||||
libraries we need to check later. Although sometimes libraries may fail to
|
||||
@@ -2018,316 +1987,6 @@ method, one of the most popular choices for Traditional Chinese users.")
|
||||
(license license:lgpl2.1+)))
|
||||
@end lisp
|
||||
|
||||
@node Common Workflow for Updating Existing Rust Packages
|
||||
@subsubsection Common Workflow for Updating Existing Rust Packages
|
||||
|
||||
For this example, we'll update @code{niri}. The package definition looks like
|
||||
this initially:
|
||||
|
||||
@lisp
|
||||
(define-public niri
|
||||
(package
|
||||
(name "niri")
|
||||
(version "25.08")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/YaLTeR/niri")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09nsxd211mly8r1ys2lq6ia4jxgb980h1axrbgw748r0knfbbj7n"))))
|
||||
(build-system cargo-build-system)
|
||||
...
|
||||
@end lisp
|
||||
|
||||
We start by running the usual @command{guix refresh -u niri}.
|
||||
|
||||
The @command{-u} flag will update in place the version and hash for the
|
||||
@code{niri} package.
|
||||
|
||||
The package definition will then look like this:
|
||||
|
||||
@lisp
|
||||
(define-public niri
|
||||
(package
|
||||
(name "niri")
|
||||
(version "25.11")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/YaLTeR/niri")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0752qm245wc2gak0jhp0fnr0rdj3z54m2h97k3cxbjym9pcn658n"))))
|
||||
(build-system cargo-build-system)
|
||||
...
|
||||
@end lisp
|
||||
|
||||
This means the source field was updated successfully, thus we can now proceed to
|
||||
get the updated source with @command{guix build --source niri} as follows:
|
||||
|
||||
@example shell
|
||||
$ cp -r $(./pre-inst-env guix build --source niri) /tmp
|
||||
$ cd /tmp/<hash>-niri-25.11-checkout/
|
||||
@end example
|
||||
|
||||
@quotation Note
|
||||
In this specific example, the source is a git checkout, thus a directory. If the
|
||||
package source is a compressed archive, you would at this point extract it to a
|
||||
directory to proceed.
|
||||
@end quotation
|
||||
|
||||
Now, given that we have access to the @code{Cargo.toml} file, we can now run
|
||||
the following inside the checkout:
|
||||
|
||||
@example shell
|
||||
$ guix shell rust rust:cargo -- cargo generate-lockfile
|
||||
$ guix shell rust rust:cargo -- cargo audit
|
||||
$ guix shell rust rust:cargo -- cargo license
|
||||
@end example
|
||||
|
||||
@quotation Note
|
||||
Sometimes the package will require a more up-to-date version of rust, that is
|
||||
not yet the default rust on guix. For these cases you can use:
|
||||
@example shell
|
||||
$ guix shell -e "(@ (gnu packages rust) rust-1.90)" \
|
||||
-e '`(,(@ (gnu packages rust) rust-1.90) "cargo")'
|
||||
@end example
|
||||
@end quotation
|
||||
|
||||
The first command will ensure that all cargo dependencies are up to date
|
||||
and semver compatible, while also providing some other benefits, as further
|
||||
explained in @ref{Common Workflow for Rust Packaging}.
|
||||
|
||||
The following command will warn if there are any known vulnerabilities in the
|
||||
crates being imported. The last one will output the license information of all
|
||||
the dependent crates.
|
||||
|
||||
If everything looks good, we can now replace the contents of the @code{niri}
|
||||
indentifier, located inside the @code{lookup-cargo-inputs} variable on the
|
||||
bottom of the @file{gnu/packages/rust-crates.scm} module, with the newer updated
|
||||
crates by running the importer on the lockfile as follows:
|
||||
|
||||
@example shell
|
||||
$ guix import -i /path/to/gnu/packages/rust-crates.scm \
|
||||
crate -f Cargo.lock niri
|
||||
@end example
|
||||
|
||||
@quotation Note
|
||||
For the purpose of contributing a package to Guix (@pxref{Contributing,,,
|
||||
guix, GNU Guix Reference Manual}), there is no need to cleanup the leftover
|
||||
crates as a result of the package update. This is tasked to the rust-team
|
||||
(@pxref{Teams,,, guix, GNU Guix Reference Manual}) to periodically run a
|
||||
convenient script in @code{etc/teams/rust} to cleanup unused crates from
|
||||
@file{gnu/packages/rust-crates.scm}.
|
||||
@end quotation
|
||||
|
||||
We then need to check whether the importer has placed some TODOs for us,
|
||||
inside @file{gnu/packages/rust-crates.scm} (you can use @command{git diff --
|
||||
gnu/packages/rust-crates.scm} for this purpose).
|
||||
|
||||
There are a few types of TODO messages that you might encounter during this
|
||||
step, each type requiring you to perform a different action.
|
||||
|
||||
The first one we encounter in our example is:
|
||||
|
||||
@lisp
|
||||
(define rust-libdisplay-info-sys-0.3.0
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "libdisplay-info-sys" "0.3.0"
|
||||
"07xmkc2aqcdn6d58321y87rd3gzdr4nx3ncm1mmrr7w1p1ahsn96"))
|
||||
@end lisp
|
||||
|
||||
This specific TODO message tells us that there is a high probability of
|
||||
encountering bundled sources within a crate definition generated by the
|
||||
importer.
|
||||
|
||||
We then check if there are any bundled sources within the
|
||||
@code{rust-libdisplay-info-sys-0.3.0} crate. Since there are none (in our
|
||||
example), we can simply remove the TODO line, and continue to the next TODO.
|
||||
|
||||
If there were any bundled sources inside the crate, we would have to patch
|
||||
it with a snippet, in order to unbundle it. You can see some examples on
|
||||
how to unbundle inside @file{gnu/packages/rust-crates.scm} (search for the
|
||||
@code{#:snippet} keyword).
|
||||
|
||||
@quotation Note
|
||||
If the unbundle is considered too difficult to be executed (e.g. the effort
|
||||
needed to unbundle is unreasonable), the @code{TODO REVIEW} line should be
|
||||
converted to a regular TODO comment explicitly stating the unbundle was not done
|
||||
(e.g. @code{TODO: Unbundle rust-libdisplay-info-sys.}).
|
||||
@end quotation
|
||||
|
||||
Continuing, another TODO message we encounter in this example is the following:
|
||||
|
||||
@lisp
|
||||
(define rust-smithay-0.7.0.d743e1a
|
||||
;; TODO REVIEW: Define standalone package if this is a workspace.
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/Smithay/smithay.git")
|
||||
(commit "d743e1a317fa0f01d1c4cadd96d277a1ec7b59d9")))
|
||||
(file-name (git-file-name "rust-smithay" "0.7.0.d743e1a"))
|
||||
(sha256 (base32 "11327mhxxf844bs0v5bw1g9bzjssnzhidsissywy6kwng16x727v"))))
|
||||
@end lisp
|
||||
|
||||
This specific TODO message tells us that there is a high probability of the
|
||||
@code{rust-smithay-0.7.0.d743e1a} crate being a workspace.
|
||||
|
||||
After verifying that it is indeed a workspace, we now need to make it an
|
||||
actual package in @file{gnu/packages/rust-sources.scm}, referencing it in the
|
||||
crate-source definition (see @ref{Common Workflow for Rust Packaging} for more
|
||||
details).
|
||||
|
||||
@quotation Note
|
||||
You can verify if a crate is a workspace by cloning the crate repository (in
|
||||
this case @code{https://github.com/Smithay/smithay.git}), checking out the
|
||||
specific revision (in this case @command{git checkout d743e1a}), and looking
|
||||
for @code{[workspace]} in its main @file{Cargo.toml} file. If it does not have a
|
||||
TOML @code{[workspace]} section, then it is not a workspace.
|
||||
@end quotation
|
||||
|
||||
After defining the separate source package for the workspace in
|
||||
@file{gnu/packages/rust-sources.scm} (see @ref{Common Workflow for Rust
|
||||
Packaging} for more details on how to do this), the crate definition for
|
||||
@code{rust-smithay-0.7.0.d743e1a} would then become the following (notice we
|
||||
also remove the TODO line):
|
||||
|
||||
@lisp
|
||||
(define rust-smithay-0.7.0.d743e1a package:rust-smithay-0.7.0.d743e1a)
|
||||
@end lisp
|
||||
|
||||
If @code{rust-smithay-0.7.0.d743e1a} was not a workspace, we would simply remove
|
||||
the TODO line and move on.
|
||||
|
||||
We then try to build the package with @command{guix build niri}, and make sure
|
||||
whether it builds successfully, which it does.
|
||||
|
||||
As a good practice, we can further check the output of the
|
||||
@code{check-for-pregenerated-files} phase to ensure there are no extraneous
|
||||
pregenerated files inside the crates. If there are any, it is important to
|
||||
snippet them out, like these:
|
||||
|
||||
@lisp
|
||||
(define rust-winapi-x86-64-pc-windows-gnu-0.4.0
|
||||
(crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0"
|
||||
"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"
|
||||
#:snippet '(delete-file-recursively "lib")))
|
||||
|
||||
(define rust-flate2-1.1.4
|
||||
(crate-source "flate2" "1.1.4"
|
||||
"1a8a3pk2r2dxays4ikc47ygydhpd1dcxlgqdi3r9kiiq9rb4wnnw"
|
||||
#:snippet '(for-each delete-file-recursively '("examples" "tests"))))
|
||||
|
||||
(define rust-flo-curves-0.3.1
|
||||
(crate-source "flo_curves" "0.3.1"
|
||||
"16x293dp8825jh465kgms4yyvl4960j26gh37h3skflq9zxpy8hw"
|
||||
#:snippet '(for-each delete-file '("logo-small.png" "logo.png"))))
|
||||
|
||||
(define rust-interception-sys-0.1.3
|
||||
(crate-source "interception-sys" "0.1.3"
|
||||
"1lgwbml7gzq5a5rriy708w68gx6yiw9cdg7xy2c5vsrrck7pbs5b"
|
||||
#:snippet '(for-each delete-file (find-files "." "\\.(dll|lib)$"))))
|
||||
@end lisp
|
||||
|
||||
@node Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
|
||||
@subsubsection Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
|
||||
|
||||
Whenever a Rust package change is merged into our target branch from a different
|
||||
Pull Request, we often encounter many merge conflicts in @code{(gnu packages
|
||||
rust-crates)} when rebasing the Pull Request on top of the target branch. Since
|
||||
we should avoid modifying the rust-crates file manually (e.g. using the git
|
||||
interface to solve merge conflicts), it is recommended (and often much faster)
|
||||
to drop all changes to @code{(gnu packages rust-crates)} and run the lockfile
|
||||
importer once again, manually adding back all the manual changes.
|
||||
|
||||
This workflow describes one of many ways to do the described procedure.
|
||||
|
||||
In this example we'll update the @code{codeberg-cli} package, which has produced
|
||||
some merge conflicts in @file{gnu/packages/rust-crates.scm} when we tried a git
|
||||
pull rebase.
|
||||
|
||||
Before starting, make sure we're not in a rebase environment, by aborting the
|
||||
rebase we tried previously (the one which created the merge conflicts by git
|
||||
pulling):
|
||||
|
||||
@example
|
||||
$ git rebase --abort
|
||||
@end example
|
||||
|
||||
@cindex git rebase --interactive
|
||||
@cindex interactive rebase
|
||||
To begin, we interactively rebase our PR branch by marking as
|
||||
@code{edit} the commit we want to edit, which is the one containing the
|
||||
@file{gnu/packages/rust-crates.scm} changes:
|
||||
|
||||
@example
|
||||
# Change 1 to the number of relevant commits
|
||||
$ git rebase -i HEAD~1
|
||||
@end example
|
||||
|
||||
In our example, we would mark the @code{codeberg-cli} commit like so:
|
||||
|
||||
@example
|
||||
edit 6ef4f1ad043 # gnu: codeberg-cli: Update to 0.5.4.
|
||||
@end example
|
||||
|
||||
After that, we'll be in rebase mode, where we can restore the changes made to
|
||||
@file{gnu/packages/rust-crates.scm}:
|
||||
|
||||
@quotation Note
|
||||
Notice that we will lose all manual changes we have previously made to
|
||||
@file{gnu/packages/rust-crates.scm} (e.g. snippets, deleting TODO comments,
|
||||
if there were any). We'll need to manually add them back after we run the guix
|
||||
lockfile importer once again, so make sure you have them saved somewhere, for
|
||||
example in your PR link under the @code{Files changed} tab.
|
||||
@end quotation
|
||||
|
||||
@example
|
||||
$ git restore --source=HEAD~ gnu/packages/rust-crates.scm
|
||||
@end example
|
||||
|
||||
Having restored the file, we can stage the changes, commit, finish the rebase
|
||||
and pull rebase from the target branch:
|
||||
|
||||
@example
|
||||
$ git add gnu/packages/rust-crates.scm
|
||||
$ git commit --amend --no-edit
|
||||
$ git rebase --continue
|
||||
$ git pull <remote> <target branch>
|
||||
@end example
|
||||
|
||||
We then proceed to run the guix lockfile importer:
|
||||
|
||||
@quotation Note
|
||||
Remember to checkout the correct tag you're packaging in the package repository
|
||||
checkout. Don't forget to run @code{cargo generate-lockfile} before running
|
||||
the lockfile importer, see @ref{Common Workflow for Rust Packaging} for more
|
||||
detailed steps on what to do before running the guix lockfile importer.
|
||||
@end quotation
|
||||
|
||||
@example
|
||||
$ guix import --insert=gnu/packages/rust-crates.scm \
|
||||
crate --lockfile=/path/to/Cargo.lock codeberg-cli
|
||||
@end example
|
||||
|
||||
Now is the time we manually add back the snippets and remove the relevant TODOs
|
||||
we have already checked (if there are any).
|
||||
|
||||
After running the lockfile importer and checking if there are any changes to
|
||||
manually add back, we can finally:
|
||||
|
||||
@example
|
||||
$ git add gnu/packages/rust-crates.scm
|
||||
# Our target commit is the last one:
|
||||
$ git commit --amend --no-edit
|
||||
@end example
|
||||
|
||||
We now have a non-conflicting tree, from which we can now update our PR with.
|
||||
|
||||
@c *********************************************************************
|
||||
@node System Configuration
|
||||
@@ -3274,8 +2933,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 +3113,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 +4168,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 +4204,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 +4223,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
|
||||
|
||||
|
||||
+176
-768
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -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 = \
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
+4
-49
@@ -16,7 +16,6 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
|
||||
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2025-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -514,7 +513,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")))
|
||||
@@ -567,7 +565,6 @@ challenges"))
|
||||
"guix/docker.scm"
|
||||
"guix/download.scm"
|
||||
"guix/elf.scm"
|
||||
"guix/fossil-download.scm"
|
||||
"guix/ftp-client.scm"
|
||||
"guix/gexp.scm"
|
||||
"guix/git-authenticate.scm"
|
||||
@@ -662,12 +659,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"
|
||||
@@ -698,7 +689,6 @@ ecosystem."
|
||||
(team 'embedded
|
||||
#:name "Embedded"
|
||||
#:scope (list "gnu/packages/bootloaders.scm"
|
||||
"gnu/packages/coreboot.scm"
|
||||
"gnu/packages/firmware.scm")))
|
||||
|
||||
(define-team games
|
||||
@@ -796,8 +786,7 @@ the haskell-build-system."
|
||||
(team 'hpc
|
||||
#:name "High-performance computing team"
|
||||
#:description "High-performance computing (HPC) related packages."
|
||||
#:scope (list "gnu/packages/fabric-management.scm"
|
||||
"gnu/packages/mpi.scm"
|
||||
#:scope (list "gnu/packages/mpi.scm"
|
||||
"gnu/packages/oneapi.scm"
|
||||
"gnu/packages/opencl.scm"
|
||||
"gnu/packages/parallel.scm"
|
||||
@@ -835,7 +824,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 +840,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"
|
||||
@@ -954,7 +941,6 @@ importer, and the ocaml-build-system."
|
||||
#:scope
|
||||
(list "gnu/packages/ocaml.scm"
|
||||
"gnu/packages/coq.scm"
|
||||
"gnu/packages/rocq.scm"
|
||||
"guix/build/ocaml-build-system.scm"
|
||||
"guix/build/dune-build-system.scm"
|
||||
"guix/build-system/ocaml.scm"
|
||||
@@ -1227,7 +1213,6 @@ the \"texlive\" importer."
|
||||
"gnu/tests/version-control.scm"
|
||||
"guix/build/bzr.scm"
|
||||
"guix/build/cvs.scm"
|
||||
"guix/build/fossil.scm"
|
||||
"guix/build/git.scm"
|
||||
"guix/build/hg.scm"
|
||||
"guix/build/svn.scm")))
|
||||
@@ -1248,11 +1233,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")
|
||||
@@ -1263,11 +1243,6 @@ the \"texlive\" importer."
|
||||
"jonsger")
|
||||
mozilla)
|
||||
|
||||
(define-member (person "Denis Carikli"
|
||||
"GNUtoo@cyberdimension.org"
|
||||
"GNUtoo")
|
||||
embedded)
|
||||
|
||||
(define-member (person "Ludovic Courtès"
|
||||
"ludo@gnu.org"
|
||||
"civodul")
|
||||
@@ -1556,7 +1531,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"
|
||||
@@ -1651,7 +1626,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"
|
||||
@@ -1673,26 +1648,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))
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;; This manifest lists all MPI-related packages: useful for 'guix refresh',
|
||||
;; 'guix build', etc.
|
||||
|
||||
(use-modules (guix)
|
||||
(gnu packages fabric-management)
|
||||
(gnu packages linux)
|
||||
(gnu packages mpi)
|
||||
(gnu packages parallel))
|
||||
|
||||
;; The packages below are what constitutes the MPI stack: helper libraries,
|
||||
;; interconnect drivers, and MPI implementations.
|
||||
(packages->manifest
|
||||
(list cassini-headers
|
||||
cxi-driver
|
||||
hwloc
|
||||
libcxi
|
||||
libfabric
|
||||
mpich
|
||||
openmpi-5
|
||||
openpmix
|
||||
opensm
|
||||
prrte
|
||||
psm
|
||||
psm2
|
||||
rdma-core
|
||||
ucx))
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env -S gawk -f
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2025, 2026 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -21,22 +21,20 @@
|
||||
# ./etc/teams/rust/audit-rust-crates ./path/to/file.scm
|
||||
# Prints the output of cargo-audit to the shell.
|
||||
|
||||
# Make sure we have cargo-audit in our PATH
|
||||
BEGIN {
|
||||
"which cargo-audit" | getline cargoAudit
|
||||
close("which cargo-audit")
|
||||
cargoAudit = cargoAudit " audit --file -"
|
||||
|
||||
if (system("which cargo-audit 1> /dev/null"))
|
||||
exit 1;
|
||||
# Parse a record at a time.
|
||||
RS = "\n\n"
|
||||
cargoAudit = "cargo-audit audit --file -"
|
||||
}
|
||||
|
||||
# Check the crate-source origin-only inputs, like in rust-crates.scm
|
||||
# Check the crate-source origin-only inputs
|
||||
/crate-source/ {
|
||||
for(i=3; i <= NF-2; i++) {
|
||||
if($i == "(crate-source") {
|
||||
crateName = $(i+1)
|
||||
crateVersion = $(i+2)
|
||||
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
|
||||
cargoLock = cargoLock "[[package]]\nname = " $(i+1) "\nversion = " $(i+2) "\n"
|
||||
next
|
||||
}
|
||||
}
|
||||
@@ -46,64 +44,27 @@ BEGIN {
|
||||
/crate-uri/ {
|
||||
for(i=3; i <= NF; i++) {
|
||||
if($i == "(version")
|
||||
crateVersion = $(i+1)
|
||||
crateVersion = $(i+1)
|
||||
if($i == "(crate-uri")
|
||||
crateName = $(i+1)
|
||||
crateName = $(i+1)
|
||||
}
|
||||
gsub(/)/, "", crateVersion)
|
||||
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
|
||||
next
|
||||
}
|
||||
|
||||
# Parse the crates created from packages using 'cargo package'
|
||||
/package:rust/ {
|
||||
pkg = $2
|
||||
split(pkg, name_version, "-")
|
||||
crateVersion = name_version[length(name_version)]
|
||||
crateName = substr(pkg, 6, (length(pkg) - length(crateVersion) - 6))
|
||||
split(crateVersion, versionDots, ".")
|
||||
if(crateVersion && (crateVersion != "(git-version") && (length(versionDots) == 3) && crateName) {
|
||||
cargoLock = cargoLock "[[package]]\nname = \"" crateName "\"\nversion = \"" crateVersion "\"\n"
|
||||
} else {
|
||||
untested++
|
||||
#print("Unable to test " $0)
|
||||
}
|
||||
next
|
||||
}
|
||||
# The xxxx-cargo-input variables have a set style
|
||||
# TODO: Replace the last dash between the name and the version with a space!
|
||||
# This doesn't take into account swapping between "-" and "_" so we skip it.
|
||||
#( $2 ~ /-cargo-inputs/ ) {
|
||||
# sub(/-cargo-inputs/, "", $2)
|
||||
# gsub(/)/, "", $0)
|
||||
# gsub(/rust-/, "", $0)
|
||||
# #gensub(/([[:alpha:]])-([[:digit:]]+)/, "\\1 \\2", "g", $i)
|
||||
# print "[[package]]\nname = \"" $2 "\"\nversion = \"1.0.0\"\ndependencies = ["
|
||||
# for (i = 4; i <= NF; i++) {
|
||||
# print "\"" $i "\","
|
||||
# }
|
||||
# print "]"
|
||||
#}
|
||||
|
||||
# We make an attempt to create the crate name from the package name otherwise
|
||||
/git-reference/ {
|
||||
for(i=3; i <= NF; i++) {
|
||||
if($i == "(version")
|
||||
crateVersion = $(i+1)
|
||||
if($i == "(name")
|
||||
crateName = $(i+1)
|
||||
if($i == "(git-file-name") {
|
||||
crateName = $(i+1)
|
||||
crateVersion = $(i+2)
|
||||
}
|
||||
}
|
||||
gsub(/)/, "", crateVersion)
|
||||
gsub(/)/, "", crateName)
|
||||
sub(/rust-/, "", crateName)
|
||||
# The crate version MUST be major.minor.patch
|
||||
split(crateVersion, versionParts, ".")
|
||||
if(crateVersion && (crateVersion != "(git-version") && (length(versionParts) == 3) && crateName) {
|
||||
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
|
||||
} else {
|
||||
untested++
|
||||
#print("Unable to test " $0)
|
||||
}
|
||||
next
|
||||
}
|
||||
|
||||
# Note those which we were unable to parse
|
||||
/define rust/ {
|
||||
if($3 == "#f)")
|
||||
next
|
||||
print("Unable to parse " $0)
|
||||
}
|
||||
|
||||
{ untested++ }
|
||||
|
||||
END { print("Number of crates untested: " untested); print cargoLock | cargoAudit }
|
||||
END { print cargoLock | cargoAudit }
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
(define %sundry-texlive-packages
|
||||
(list bibtool
|
||||
dvisvgm
|
||||
rubber
|
||||
texmaker
|
||||
texstudio
|
||||
|
||||
+3
-14
@@ -404,10 +404,7 @@ when booting a root file system on a Btrfs subvolume."
|
||||
(initrd (normalize-file (menu-entry-initrd entry)
|
||||
device-mount-point
|
||||
store-directory-prefix))
|
||||
(extra-initrd (bootloader-configuration-extra-initrd config))
|
||||
(luks-script-initrd
|
||||
(and (pair? store-crypto-devices)
|
||||
"newc:etc/luks_script:(proc)/luks_script")))
|
||||
(extra-initrd (bootloader-configuration-extra-initrd config)))
|
||||
;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
|
||||
;; Use the right file names for LINUX and INITRD in case
|
||||
;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
|
||||
@@ -415,20 +412,14 @@ when booting a root file system on a Btrfs subvolume."
|
||||
|
||||
;; When STORE-DIRECTORY-PREFIX is defined, prepend it the linux and
|
||||
;; initrd paths, to allow booting from a Btrfs subvolume.
|
||||
|
||||
;; When the store is on an encrypted device, inject GRUB's
|
||||
;; (proc)/luks_script into the initrd as /etc/luks_script so the
|
||||
;; initrd can use the already-decrypted master key to open LUKS
|
||||
;; volumes without prompting for the password a second time.
|
||||
#~(format port "menuentry ~s {
|
||||
~a
|
||||
linux ~a ~a
|
||||
initrd ~a ~a ~a
|
||||
initrd ~a ~a
|
||||
}~%"
|
||||
#$label
|
||||
#$(grub-root-search device linux)
|
||||
#$linux (string-join (list #$@arguments))
|
||||
(or #$luks-script-initrd "")
|
||||
(or #$extra-initrd "")
|
||||
#$initrd)))
|
||||
(multiboot-kernel
|
||||
@@ -446,11 +437,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)
|
||||
@@ -475,7 +464,7 @@ menuentry ~s {
|
||||
;; Other type of devices aren't implemented.
|
||||
#~()))
|
||||
(let ((devices (map crypto-device->cryptomount store-crypto-devices))
|
||||
(modules #~(format port "insmod procfs~%insmod luks~%insmod luks2~%")))
|
||||
(modules #~(format port "insmod luks~%insmod luks2~%")))
|
||||
(if (null? devices)
|
||||
devices
|
||||
(cons modules devices))))
|
||||
|
||||
@@ -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
@@ -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
@@ -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?
|
||||
|
||||
@@ -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)
|
||||
|
||||
+10
-17
@@ -81,10 +81,7 @@ entry will be expired even if it has been accessed recently.")
|
||||
"Maximum time a cache entry for SSH keys is valid, in seconds.")
|
||||
(extra-content
|
||||
(raw-configuration-string "")
|
||||
"Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}.")
|
||||
(shepherd-requirement
|
||||
(list-of-symbols '())
|
||||
"List of services that should be started before this service."))
|
||||
"Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}."))
|
||||
|
||||
(define (home-gpg-agent-configuration-file config)
|
||||
"Return the @file{gpg-agent.conf} file for @var{config}."
|
||||
@@ -107,7 +104,7 @@ entry will be expired even if it has been accessed recently.")
|
||||
(define (home-gpg-agent-shepherd-services config)
|
||||
"Return the possibly-empty list of Shepherd services for @var{config}."
|
||||
(match-record config <home-gpg-agent-configuration>
|
||||
(gnupg ssh-support? shepherd-requirement)
|
||||
(gnupg ssh-support?)
|
||||
;; 'gpg-agent' is started on demand by GnuPG's programs, but it has to be
|
||||
;; started explicitly when OpenSSH support is enabled (info "(gnupg) Agent
|
||||
;; Options").
|
||||
@@ -122,19 +119,15 @@ entry will be expired even if it has been accessed recently.")
|
||||
#:socket-directory-permissions #o700))))
|
||||
(list (shepherd-service
|
||||
(provision '(gpg-agent ssh-agent))
|
||||
(requirement shepherd-requirement)
|
||||
(modules '((shepherd support))) ;for '%user-runtime-dir'
|
||||
(start
|
||||
#~(make-systemd-constructor
|
||||
(list #$(file-append gnupg "/bin/gpg-agent")
|
||||
"--supervised" "--enable-ssh-support")
|
||||
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
|
||||
#$(endpoint "browser" "S.gpg-agent.browser")
|
||||
#$(endpoint "extra" "S.gpg-agent.extra")
|
||||
;; #$(endpoint "scdaemon" "S.scdaemon")
|
||||
#$(endpoint "std" "S.gpg-agent"))
|
||||
;; Inherit graphical session environment.
|
||||
#:environment-variables (environ)))
|
||||
(start #~(make-systemd-constructor
|
||||
(list #$(file-append gnupg "/bin/gpg-agent")
|
||||
"--supervised" "--enable-ssh-support")
|
||||
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
|
||||
#$(endpoint "browser" "S.gpg-agent.browser")
|
||||
#$(endpoint "extra" "S.gpg-agent.extra")
|
||||
;; #$(endpoint "scdaemon" "S.scdaemon")
|
||||
#$(endpoint "std" "S.gpg-agent"))))
|
||||
(stop #~(make-systemd-destructor))
|
||||
(documentation "Start 'gpg-agent', the GnuPG passphrase
|
||||
agent, with support for handling OpenSSH material."))))
|
||||
|
||||
@@ -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
|
||||
|
||||
+34
-73
@@ -56,8 +56,7 @@
|
||||
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
# 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>
|
||||
@@ -208,7 +207,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 \
|
||||
@@ -218,7 +216,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/convmv.scm \
|
||||
%D%/packages/codex.scm \
|
||||
%D%/packages/coq.scm \
|
||||
%D%/packages/coreboot.scm \
|
||||
%D%/packages/cpio.scm \
|
||||
%D%/packages/cpp.scm \
|
||||
%D%/packages/cppi.scm \
|
||||
@@ -235,7 +232,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 \
|
||||
@@ -427,7 +423,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/kde-utils.scm \
|
||||
%D%/packages/kerberos.scm \
|
||||
%D%/packages/kodi.scm \
|
||||
%D%/packages/kubernetes.scm \
|
||||
%D%/packages/language.scm \
|
||||
%D%/packages/lc0.scm \
|
||||
%D%/packages/lean.scm \
|
||||
@@ -504,7 +499,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 \
|
||||
@@ -613,7 +607,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/rocm-apps.scm \
|
||||
%D%/packages/rocm-libs.scm \
|
||||
%D%/packages/rocm-tools.scm \
|
||||
%D%/packages/rocq.scm \
|
||||
%D%/packages/rpc.scm \
|
||||
%D%/packages/rpm.scm \
|
||||
%D%/packages/rrdtool.scm \
|
||||
@@ -731,6 +724,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 \
|
||||
@@ -743,8 +737,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/cgit.scm \
|
||||
%D%/services/ci.scm \
|
||||
%D%/services/configuration.scm \
|
||||
%D%/services/configuration/environment-variables.scm \
|
||||
%D%/services/configuration/utils.scm \
|
||||
%D%/services/containers.scm \
|
||||
%D%/services/cuirass.scm \
|
||||
%D%/services/cups.scm \
|
||||
@@ -757,7 +749,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 \
|
||||
@@ -999,9 +990,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/agg-am_c_prototype.patch \
|
||||
%D%/packages/patches/agg-2.5-gcc8.patch \
|
||||
%D%/packages/patches/akonadi-paths.patch \
|
||||
%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/ibus-anthy-fix-tests.patch \
|
||||
%D%/packages/patches/ibus-table-paths.patch \
|
||||
@@ -1043,7 +1034,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/azr3.patch \
|
||||
%D%/packages/patches/azr3-remove-lash.patch \
|
||||
%D%/packages/patches/barony-fix-textures.patch \
|
||||
%D%/packages/patches/bam-python3-compat.patch \
|
||||
%D%/packages/patches/bash-completion-directories.patch \
|
||||
%D%/packages/patches/bash-linux-pgrp-pipe.patch \
|
||||
%D%/packages/patches/basis-universal-unbundle-libs.patch \
|
||||
@@ -1096,7 +1086,6 @@ 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 \
|
||||
@@ -1135,10 +1124,9 @@ dist_patch_DATA = \
|
||||
%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-acp-0.9.2-remove-patch-sections.patch \
|
||||
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
|
||||
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
|
||||
%D%/packages/patches/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 \
|
||||
@@ -1170,6 +1158,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 \
|
||||
@@ -1242,7 +1231,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 \
|
||||
@@ -1299,7 +1288,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 \
|
||||
@@ -1366,8 +1354,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 \
|
||||
@@ -1463,6 +1459,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
|
||||
%D%/packages/patches/gimp-fix-metadata-editor.patch \
|
||||
%D%/packages/patches/gimp-fix-tiff-load.patch \
|
||||
%D%/packages/patches/git-clar-path-max.patch \
|
||||
%D%/packages/patches/git-filter-repo-generate-doc.patch \
|
||||
%D%/packages/patches/gklib-suitesparse.patch \
|
||||
%D%/packages/patches/glib-appinfo-watch.patch \
|
||||
@@ -1507,7 +1504,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/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 \
|
||||
@@ -1524,6 +1520,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gnumach-version.patch \
|
||||
%D%/packages/patches/gnupg-default-pinentry.patch \
|
||||
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
|
||||
%D%/packages/patches/gnutls-no-which.patch \
|
||||
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
%D%/packages/patches/gobject-introspection-cc.patch \
|
||||
%D%/packages/patches/gobject-introspection-girepository.patch \
|
||||
@@ -1612,6 +1609,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/hurd-refcounts-assert.patch \
|
||||
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
|
||||
%D%/packages/patches/hurd-startup.patch \
|
||||
%D%/packages/patches/hwloc-1-test-btrfs.patch \
|
||||
%D%/packages/patches/hwloc-add-with-opencl.patch \
|
||||
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
|
||||
%D%/packages/patches/i7z-gcc-10.patch \
|
||||
@@ -1647,19 +1645,18 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
||||
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
|
||||
%D%/packages/patches/ilmbase-fix-tests.patch \
|
||||
%D%/packages/patches/inetutils-drop-test.patch \
|
||||
%D%/packages/patches/inferno-fix-crash.patch \
|
||||
%D%/packages/patches/iniparser-remove-fetchcontent-usage.patch \
|
||||
%D%/packages/patches/inkscape-libxml2.patch \
|
||||
%D%/packages/patches/instead-use-games-path.patch \
|
||||
%D%/packages/patches/intltool-perl-compatibility.patch \
|
||||
%D%/packages/patches/inetutils-hurd64.patch \
|
||||
%D%/packages/patches/insight-toolkit-fix-build.patch \
|
||||
%D%/packages/patches/irrlicht-use-system-libs.patch \
|
||||
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
|
||||
%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 \
|
||||
@@ -1671,7 +1668,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 \
|
||||
@@ -1680,14 +1676,13 @@ 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 \
|
||||
%D%/packages/patches/jfsutils-gcc-compat.patch \
|
||||
%D%/packages/patches/jfsutils-include-systypes.patch \
|
||||
%D%/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch \
|
||||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/jsonnet-include-cstdint-for-gcc-13-builds.patch \
|
||||
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
|
||||
@@ -1742,8 +1737,9 @@ 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/kmscon-runtime-keymap-switch.patch \
|
||||
%D%/packages/patches/knot-remove-runtime-deps.patch \
|
||||
%D%/packages/patches/kobodeluxe-paths.patch \
|
||||
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
|
||||
@@ -1812,6 +1808,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
|
||||
%D%/packages/patches/libquicktime-ffmpeg.patch \
|
||||
%D%/packages/patches/libsepol-versioned-docbook.patch \
|
||||
%D%/packages/patches/libskk-fix-invalid-escape.patch \
|
||||
%D%/packages/patches/libsoup-auth-digest-fix-crash.patch \
|
||||
%D%/packages/patches/libsoup-deadlock-in-add_listener_in_thread.patch \
|
||||
%D%/packages/patches/libsoup-fix-merge-of-ranges.patch \
|
||||
@@ -1856,7 +1853,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 \
|
||||
@@ -1878,6 +1874,7 @@ dist_patch_DATA = \
|
||||
%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 \
|
||||
@@ -1936,6 +1933,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 \
|
||||
@@ -1971,12 +1969,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 \
|
||||
@@ -1987,7 +1979,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
|
||||
%D%/packages/patches/nix-dont-build-html-doc.diff \
|
||||
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
|
||||
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
|
||||
%D%/packages/patches/network-manager-plugin-ownership.patch \
|
||||
%D%/packages/patches/network-manager-plugin-path.patch \
|
||||
%D%/packages/patches/newlib-getentropy.patch \
|
||||
@@ -2002,13 +1993,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 \
|
||||
@@ -2071,9 +2059,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 \
|
||||
@@ -2109,6 +2097,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-clarabel-blas.patch \
|
||||
%D%/packages/patches/python-daemon-relax-lockfile.patch \
|
||||
%D%/packages/patches/python-docrepr-fix-tests.patch \
|
||||
%D%/packages/patches/python-gpg-setup-72.patch \
|
||||
%D%/packages/patches/python-hdmedians-replace-nose.patch \
|
||||
%D%/packages/patches/python-jinja2-fragments-modify-conftest-py.patch \
|
||||
%D%/packages/patches/python-louvain-fix-test.patch \
|
||||
@@ -2120,7 +2109,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-random2-getrandbits-test.patch \
|
||||
%D%/packages/patches/python-pillow-use-zlib-1.3.patch \
|
||||
%D%/packages/patches/python-pydocstyle-add-support-for-pep701.patch \
|
||||
%D%/packages/patches/python-pynvim-fix-test-command-error.patch \
|
||||
%D%/packages/patches/python-pypytools-python-3-fixes.patch \
|
||||
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
|
||||
%D%/packages/patches/python-sip-include-dirs.patch \
|
||||
@@ -2175,8 +2163,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 \
|
||||
@@ -2265,7 +2251,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-werkzeug-tests.patch \
|
||||
%D%/packages/patches/qdigidoc-bundle-config-files.patch \
|
||||
%D%/packages/patches/qdigidoc-bundle-tsl-files.patch \
|
||||
%D%/packages/patches/qdigidoc-fix-icon.patch \
|
||||
%D%/packages/patches/qemu-build-info-manual.patch \
|
||||
%D%/packages/patches/qemu-fix-agent-paths.patch \
|
||||
%D%/packages/patches/qemu-fix-test-virtio-version.patch \
|
||||
@@ -2280,6 +2265,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 \
|
||||
@@ -2348,23 +2335,17 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rapidcheck-fix-libs.patch \
|
||||
%D%/packages/patches/ratpoison-shell.patch \
|
||||
%D%/packages/patches/retroarch-unbundle-spirv-cross.patch \
|
||||
%D%/packages/patches/rct-add-missing-headers.patch \
|
||||
%D%/packages/patches/readline-link-ncurses.patch \
|
||||
%D%/packages/patches/renpy-python-3.11-compat.patch \
|
||||
%D%/packages/patches/renpy-fix-integer-slots.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/rdkit-unbundle-external-dependencies.patch \
|
||||
%D%/packages/patches/r-biostrings-r4.6.0-compat.patch \
|
||||
%D%/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch \
|
||||
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
|
||||
%D%/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch \
|
||||
%D%/packages/patches/r-rsamtools-r-4.6.0-compat.patch \
|
||||
%D%/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch \
|
||||
%D%/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch \
|
||||
%D%/packages/patches/r-sapa-lapack.patch \
|
||||
%D%/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch \
|
||||
%D%/packages/patches/r-sparsearray-r-4.6.0-compat.patch \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
|
||||
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
|
||||
%D%/packages/patches/racket-launcher-config-dir.patch \
|
||||
@@ -2397,24 +2378,16 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ruby-flores-fix-deprecations.patch \
|
||||
%D%/packages/patches/ruby-latex-decode-fix-test.patch \
|
||||
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
|
||||
%D%/packages/patches/ruby-pg-fix-connect-timeout.patch \
|
||||
%D%/packages/patches/ruby-x25519-automatic-fallback-non-x86_64.patch \
|
||||
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
|
||||
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
|
||||
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
|
||||
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
|
||||
%D%/packages/patches/rust-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 \
|
||||
@@ -2450,6 +2423,7 @@ 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 \
|
||||
@@ -2544,11 +2518,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
|
||||
%D%/packages/patches/unity-test-set-subdir-correctly.patch \
|
||||
%D%/packages/patches/unity-test-support-int64.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-custom-compiler.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-empty-parsed-rustc-args.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-unbundle-icu-target.patch \
|
||||
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
|
||||
%D%/packages/patches/unknown-horizons-python-3.9.patch \
|
||||
%D%/packages/patches/unknown-horizons-python-3.10.patch \
|
||||
@@ -2612,7 +2585,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 \
|
||||
@@ -2650,17 +2622,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/yggdrasil-extra-config.patch \
|
||||
%D%/packages/patches/ypsilon-Use-GNU-toolchain-as-default.patch \
|
||||
%D%/packages/patches/zabbix-agent2-test-timezone-fix.patch \
|
||||
%D%/packages/patches/zed-0.225.10-add-message-notification-action.patch \
|
||||
%D%/packages/patches/zed-0.225.10-add-guix-container-support.patch \
|
||||
%D%/packages/patches/zed-0.225.10-collapse-multiline-git-deps.patch \
|
||||
%D%/packages/patches/zed-0.225.10-exclude-libwebrtc-from-audio.patch \
|
||||
%D%/packages/patches/zed-0.225.10-disable-dlopen.patch \
|
||||
%D%/packages/patches/zed-0.225.10-fix-sqlite-memory-mode.patch \
|
||||
%D%/packages/patches/zed-0.225.10-fix-test-db-isolation.patch \
|
||||
%D%/packages/patches/zed-0.225.10-fix-workspace-race.patch \
|
||||
%D%/packages/patches/zed-0.225.10-keep-regular-file-workspaces.patch \
|
||||
%D%/packages/patches/zed-0.225.10-remove-patch-crates-io.patch \
|
||||
%D%/packages/patches/zed-0.225.10-use-mock-livekit-on-linux.patch \
|
||||
%D%/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch \
|
||||
%D%/packages/patches/zig-0.9-fix-runpath.patch \
|
||||
%D%/packages/patches/zig-0.9-riscv-support.patch \
|
||||
|
||||
+86
-205
@@ -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)))))
|
||||
|
||||
|
||||
;;;
|
||||
|
||||
@@ -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
@@ -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>.
|
||||
|
||||
@@ -185,7 +185,7 @@ terminals.")
|
||||
(native-inputs
|
||||
(append
|
||||
(list clisp
|
||||
python-cython-0 ;; See https://bugzilla.redhat.com/show_bug.cgi?id=2231865
|
||||
python-cython
|
||||
doxygen
|
||||
gettext-minimal)
|
||||
;; icedtea doesn't build reliably on all architectures.
|
||||
|
||||
+84
-116
@@ -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>
|
||||
@@ -1158,7 +1158,7 @@ on memory usage on GNU/Linux systems.")
|
||||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "3.5.1")
|
||||
(version "3.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1166,7 +1166,7 @@ on memory usage on GNU/Linux systems.")
|
||||
(url "https://github.com/htop-dev/htop")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "187gyj081n6qsidll5wdri3jkr4m2i4m461z3xv03y342f5yj3lv"))
|
||||
(base32 "058y4a4mvx9m179dyr4wi8mlm6i4ybywshadaj4cvfn9fv0r0nkx"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -1302,15 +1302,14 @@ re-executing them as necessary.")
|
||||
(define-public inetutils
|
||||
(package
|
||||
(name "inetutils")
|
||||
(version "2.7")
|
||||
(version "2.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/inetutils/inetutils-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11n01vsd51r7qraaaylhhx04hq4s6vcq0896zkz0yp1wvqfbwmm1"))
|
||||
(patches (search-patches "inetutils-drop-test.patch"))))
|
||||
"0q1257ci22g2jbdiqs00mharc1lqkbibdlkhj23f3si6qjxkn17s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1341,7 +1340,17 @@ re-executing them as necessary.")
|
||||
"\\\""))
|
||||
;; On some systems, 'libls.sh' may fail with an error such as:
|
||||
;; "Failed to tell switch -a apart from -A".
|
||||
#:parallel-tests? #f))
|
||||
#:parallel-tests? #f
|
||||
#:phases (if (target-hurd64?)
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'apply-hurd64-patch
|
||||
(lambda _
|
||||
(let ((patch
|
||||
#$(local-file
|
||||
(search-patch
|
||||
"inetutils-hurd64.patch"))))
|
||||
(invoke "patch" "--force" "-p1" "-i" patch)))))
|
||||
#~%standard-phases)))
|
||||
(inputs
|
||||
(list coreutils
|
||||
shadow ;for login (used in telnetd and rlogind)
|
||||
@@ -1364,7 +1373,7 @@ hostname.")
|
||||
(define-public shadow
|
||||
(package
|
||||
(name "shadow")
|
||||
(version "4.19.0")
|
||||
(version "4.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1372,7 +1381,7 @@ hostname.")
|
||||
"download/" version "/shadow-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0crbcfdp7ayyii33srinwd0yr27dkx9mbzglx1d0mvhr1z28xclw"))))
|
||||
"0b6xz415b4y3y5nk3pw9xibv05kln4cjbmhybyncmrx2g5fj9zls"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; Assume System V `setpgrp (void)', which is the default on GNU
|
||||
@@ -1381,9 +1390,7 @@ hostname.")
|
||||
'(,@(if (target-hurd?)
|
||||
'()
|
||||
'("--with-libpam"))
|
||||
"--disable-logind" ;; no systemd
|
||||
"--without-libbsd" ;; no libbsd
|
||||
"shadow_cv_logdir=/var/log"
|
||||
"shadow_cv_logdir=/var/log"
|
||||
"ac_cv_func_setpgrp_void=yes")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
@@ -1419,8 +1426,15 @@ hostname.")
|
||||
;; The top-level Makefile.am wrongfully has "SUBDIRS += man"
|
||||
;; under "if ENABLE_REGENERATE_MAN", even though prebuilt man
|
||||
;; pages are available. Thus, install them manually.
|
||||
(invoke "make" "-C" "man" "install"))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(invoke "make" "-C" "man" "install")))
|
||||
(add-after 'install-man-pages 'remove-groups
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove `groups', which is already provided by Coreutils.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(man (string-append out "/share/man")))
|
||||
(delete-file (string-append bin "/groups"))
|
||||
(for-each delete-file (find-files man "^groups\\."))))))))
|
||||
(inputs
|
||||
(append (if (target-hurd?)
|
||||
'()
|
||||
@@ -1972,7 +1986,7 @@ maintenance releases.")
|
||||
(define-public dhcpcd
|
||||
(package
|
||||
(name "dhcpcd")
|
||||
(version "10.3.2")
|
||||
(version "10.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1981,7 +1995,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
|
||||
@@ -3142,7 +3156,7 @@ track changes in important system configuration files.")
|
||||
(define-public libcap-ng
|
||||
(package
|
||||
(name "libcap-ng")
|
||||
(version "0.9.3")
|
||||
(version "0.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -3151,20 +3165,12 @@ track changes in important system configuration files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13iy7dddcslpmmdhybgvfcgznsvpaa4r3fp9ldlpkq592lw8yyva"))))
|
||||
"0izrrh2kmhi6dcy5iqcccmx90nwlaqcglhc60sl8n5ds8il14pi8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "--disable-static"
|
||||
"--without-python")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-configure-ac
|
||||
(lambda _
|
||||
(substitute* "configure.ac"
|
||||
(("linux/sock_diag.h" all)
|
||||
(string-append all " \\"))))))))
|
||||
`(#:configure-flags
|
||||
(list "--disable-static"
|
||||
"--without-python")))
|
||||
(inputs
|
||||
(list libbpf))
|
||||
(native-inputs
|
||||
@@ -3442,7 +3448,7 @@ modules and plugins that extend Ansible.")
|
||||
(list ansible
|
||||
bash-minimal
|
||||
encfs
|
||||
fuse
|
||||
fuse-2
|
||||
util-linux ;; for umount
|
||||
findutils
|
||||
git
|
||||
@@ -3751,68 +3757,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
|
||||
@@ -4711,7 +4708,7 @@ information tool.")
|
||||
(define-public fastfetch-minimal
|
||||
(package
|
||||
(name "fastfetch-minimal")
|
||||
(version "2.63.1")
|
||||
(version "2.60.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4720,7 +4717,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")
|
||||
@@ -7052,7 +7049,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)
|
||||
@@ -7061,7 +7058,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
|
||||
@@ -7179,35 +7176,6 @@ stored in an SQL database.")
|
||||
(connects via USB OTG).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public yoctofetch
|
||||
(package
|
||||
(name "yoctofetch")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/Phosphenius/yoctofetch.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0smkaydv74p2231gafibvqbwsy469w56hya8gz8wq0gw7m2l7zh3"))))
|
||||
; Support for other platforms not available per upstream:
|
||||
; https://codeberg.org/Phosphenius/yoctofetch#supported-platforms
|
||||
(supported-systems '("x86_64-linux" "aarch64-linux"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f)) ; No tests available.
|
||||
(home-page "https://codeberg.org/Phosphenius/yoctofetch")
|
||||
(synopsis "Fast and low footprint system fetch tool for the Linux UAPI")
|
||||
(description
|
||||
"This package provides a system fetch tool, similar to
|
||||
@command{neofetch}, @command{fastfetch}, etc. It is lightweight and
|
||||
has a focus on performance. It can be used as a greeter by starting
|
||||
it from @file{~/.bashrc} for example.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public zzz
|
||||
(package
|
||||
(name "zzz")
|
||||
|
||||
+159
-12
@@ -1,4 +1,9 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -17,20 +22,162 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages adns)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (guix deprecation))
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-deprecated/public-alias adns
|
||||
(@ (gnu packages dns) adns))
|
||||
(define-public adns
|
||||
(package
|
||||
(name "adns")
|
||||
(version "1.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.chiark.greenend.org.uk/~ianmdlvl/adns.git")
|
||||
(commit (string-append "adns-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0ln3l5j7wb1xazrzl76p9xar52p6l2k1cwy7jazxw1acl71k9h5n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; INFO: Tests expect real name resolution to work.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Make sure the programs under bin/ find libadns.so.
|
||||
(string-append "LDFLAGS=-Wl,-rpath -Wl,"
|
||||
#$output:out
|
||||
"/lib"))))
|
||||
(native-inputs
|
||||
(list m4))
|
||||
(home-page "https://www.gnu.org/software/adns/")
|
||||
(synopsis "Asynchronous DNS client library and utilities")
|
||||
(description
|
||||
"GNU adns is a C library that provides easy-to-use @acronym{DNS, Domain
|
||||
Name System} resolution functionality. The library is asynchronous, allowing
|
||||
several concurrent calls. The package also includes several command-line
|
||||
utilities for use in scripts.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-deprecated/public-alias c-ares
|
||||
(@ (gnu packages dns) c-ares))
|
||||
(define-public c-ares
|
||||
(package
|
||||
(name "c-ares")
|
||||
(version "1.34.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/c-ares/c-ares/releases/download/v"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0br2msk3bpl5myhjp9vr5j2scpspvbg2fpnz69dcrr4ycpnxnf7s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'filter-live-tests
|
||||
(lambda _
|
||||
;; Filter tests that require internet access.
|
||||
(setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))
|
||||
#$@(if (system-hurd?)
|
||||
#~((add-after 'unpack 'skip-tests
|
||||
(lambda _
|
||||
(substitute* "test/ares-test-main.cc"
|
||||
(("(^| )main *\\(.*" all)
|
||||
(string-append all " exit (77);\n")))))
|
||||
(add-after 'filter-live-tests 'filter-hurd-tests
|
||||
(lambda _
|
||||
(setenv "GTEST_FILTER"
|
||||
(string-append
|
||||
(getenv "GTEST_FILTER")
|
||||
":.*Basic/2"
|
||||
":.*CancelImmediate/2"
|
||||
":.*CancelImmediateGetHostByAddr/2"
|
||||
":.*CancelLater/1"
|
||||
":.*FamilyUnspecified/2"
|
||||
":.*FamilyV6/2"
|
||||
":.*GetAddrInfoParallelLookups/1"
|
||||
":.*GetHostByAddrDestroy/2"
|
||||
":.*GetHostByNameCNAMENoData/2"
|
||||
":.*GetHostByNameDestroyAbsolute/2"
|
||||
":.*GetHostByNameDestroyRelative/2"
|
||||
":.*GetHostByNameParallelLookups/1"
|
||||
":.*HostAlias/2"
|
||||
":.*HostAliasMissing/2"
|
||||
":.*HostAliasMissingFile/2"
|
||||
":.*NotImplResponse/2"
|
||||
":.*RefusedResponse/2"
|
||||
":.*Resend/1"
|
||||
":.*RetryWithoutEDNS/2"
|
||||
":.*SearchDomains/2"
|
||||
":.*SearchDomainsBare/2"
|
||||
":.*SearchDomainsServFailOnAAAA/2"
|
||||
":.*SearchDomainsWithResentReply/1"
|
||||
":.*SearchHighNdots/2"
|
||||
":.*SearchNoDataThenFail/2"
|
||||
":.*SearchNoDataThenNoDataBare/2"
|
||||
":.*SearchNoDataThenSuccess/2"
|
||||
":.*ServFailResponse/2"
|
||||
":.*SimpleQuery/2"
|
||||
":.*SockCallback/2"
|
||||
":.*SockConfigureCallback/2"
|
||||
":.*SortListV4/2"
|
||||
":.*SortListV6/2"
|
||||
":.*ThirdServer/2"
|
||||
":.*TruncationRetry/1"
|
||||
":.*UnspecifiedFamilyCname6A4/2"
|
||||
":.*UnspecifiedFamilyV4/2"
|
||||
":.*UnspecifiedFamilyV6/2")))))
|
||||
#~()))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://c-ares.haxx.se/")
|
||||
(synopsis "C library for asynchronous DNS requests")
|
||||
(description
|
||||
"C-ares is a C library that performs DNS requests and name resolution
|
||||
asynchronously. It is intended for applications which need to perform DNS
|
||||
queries without blocking, or need to perform multiple DNS queries in parallel.
|
||||
The primary examples of such applications are servers which communicate with
|
||||
multiple clients and programs with graphical user interfaces.")
|
||||
(license (license:x11-style "https://c-ares.haxx.se/license.html"))))
|
||||
|
||||
(define-deprecated/public-alias c-ares-for-node-lts
|
||||
(@ (gnu packages dns) c-ares-for-node-lts))
|
||||
(define-public c-ares-for-node-lts
|
||||
(hidden-package c-ares))
|
||||
|
||||
(define-deprecated/public-alias c-ares-for-node-bootstrap
|
||||
(@ (gnu packages dns) c-ares-for-node-bootstrap))
|
||||
(define-public c-ares-for-node-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(version "1.18.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://c-ares.haxx.se/download/c-ares-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s")))))))
|
||||
|
||||
(define-deprecated/public-alias c-ares/cmake
|
||||
(@ (gnu packages dns) c-ares/cmake))
|
||||
;; gRPC requires a c-ares built with CMake in order to get the .cmake modules.
|
||||
;; We can not build c-ares itself with CMake because that would introduce a
|
||||
;; circular dependency through nghttp2.
|
||||
;; XXX: It would be nice if we could extract the modules somehow and make them
|
||||
;; work with the "normal" c-ares package instead of building a whole new library.
|
||||
(define-public c-ares/cmake
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(;; XXX: Tests require name resolution (the normal variant runs no tests).
|
||||
#:tests? #f)))))
|
||||
|
||||
@@ -370,7 +370,7 @@ This package includes the following programs:
|
||||
libjpeg-turbo
|
||||
perl
|
||||
python
|
||||
v4l-utils))
|
||||
v4l-utils-minimal))
|
||||
(propagated-inputs
|
||||
;; These are in 'requires' field of .pc files.
|
||||
(list glib gtk+))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2022, 2023, 2024, 2025 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016-2026 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016-2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2018, 2019, 2021, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2020-2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
@@ -406,7 +406,7 @@ precision.")
|
||||
(define-public giac
|
||||
(package
|
||||
(name "giac")
|
||||
(version "2.0.0-21")
|
||||
(version "2.0.0-10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -418,7 +418,7 @@ precision.")
|
||||
"https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/"
|
||||
"stable/main/source/giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1j6bip76hhqvycapf7xy26y0b8g5zzx4gwkfsr7bf6m2h71a2zry"))))
|
||||
(base32 "1lzb0jjmkg5ml1qfl0m00qqng4sxgfqwrbq10gpkp4b301k2ckv1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -458,7 +458,7 @@ precision.")
|
||||
(inputs
|
||||
;; TODO: Unbundle "libmicropython.a".
|
||||
(list ao
|
||||
fltk
|
||||
fltk-1.3
|
||||
glpk
|
||||
gmp
|
||||
gsl
|
||||
|
||||
+35
-35
@@ -765,7 +765,7 @@ file system.")
|
||||
(sha256
|
||||
(base32 "0r3xwk8xsfxvmxyw3d57sy2i9by24g0l1jl40735jiac9mypcg7n"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-requests python-argcomplete python-urllib3
|
||||
(inputs (list python-requests python-argcomplete python-urllib3
|
||||
python-looseversion gnupg))
|
||||
(native-inputs (list python-setuptools python-wheel python-requests-cache
|
||||
python-defusedxml))
|
||||
@@ -773,7 +773,8 @@ file system.")
|
||||
(list $SSL_CERT_FILE))
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'unittest
|
||||
#:test-flags
|
||||
#~(list "-k" "test_*")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tests
|
||||
@@ -792,7 +793,11 @@ file system.")
|
||||
(lambda _
|
||||
(substitute* "sdkmanager.py"
|
||||
(("gpgv")
|
||||
(string-append #$(this-package-input "gnupg") "/bin/gpgv"))))))))
|
||||
(string-append #$(this-package-input "gnupg") "/bin/gpgv")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
(apply invoke "python" "-m" "unittest" test-flags)))))))
|
||||
(home-page "https://gitlab.com/fdroid/sdkmanager")
|
||||
(synopsis "Replacement for Android sdkmanager written in Python")
|
||||
(description
|
||||
@@ -1177,16 +1182,14 @@ for communicating with Xiaomi smart appliances over miIO and MIoT protocols.")
|
||||
(define-public fdroidserver
|
||||
(package
|
||||
(name "fdroidserver")
|
||||
(version "2.4.3")
|
||||
(version "2.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/fdroid/fdroidserver")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fdroidserver" version))
|
||||
(sha256
|
||||
(base32 "1745fqxr2qfrls4wr6x9w1262b9pxmw9yvzd9b71ya2qmj74q17n"))))
|
||||
(base32
|
||||
"06xybginrwi5c7bw000wz5s5hzi0aqrxskzwh8qc6wv463w2djax"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1197,17 +1200,22 @@ for communicating with Xiaomi smart appliances over miIO and MIoT protocols.")
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(propagated-inputs
|
||||
(list python-platformdirs
|
||||
python-androguard
|
||||
(list python-androguard
|
||||
python-apache-libcloud
|
||||
python-argcomplete
|
||||
python-asn1crypto
|
||||
python-clint
|
||||
python-defusedxml
|
||||
python-docker
|
||||
python-gitpython
|
||||
python-mwclient
|
||||
python-oscrypto
|
||||
python-paramiko
|
||||
python-pillow
|
||||
python-platformdirs
|
||||
python-puremagic
|
||||
python-pyasn1
|
||||
python-pyasn1-modules
|
||||
python-pyyaml
|
||||
python-qrcode
|
||||
python-requests
|
||||
@@ -1230,35 +1238,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
|
||||
@@ -1386,7 +1387,6 @@ mounted via FUSE.")
|
||||
(uri (git-reference
|
||||
(url "https://github.com/anestisb/android-simg2img")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0drwvqxbhajka580j93z8ldckhjlpr0i84nh20krdpxcp54xvldh"))))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -33,8 +33,9 @@
|
||||
;; The URI does not appear to be easily guessable. For
|
||||
;; example, you cannot download version "9100g" simply
|
||||
;; by replacing "9100h" in the URI.
|
||||
(uri (string-append "https://ftp.jaist.ac.jp/pub/Linux/Gentoo/"
|
||||
"distfiles/31/anthy-9100h.tar.gz"))
|
||||
(uri (list (string-append "https://ftp.jaist.ac.jp/pub/Linux/Gentoo/"
|
||||
"distfiles/31/anthy-9100h.tar.gz")
|
||||
"https://osdn.dl.osdn.net/anthy/37536/anthy-9100h.tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
+13
-21
@@ -30,26 +30,20 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages xorg))
|
||||
#:use-module (gnu packages sqlite))
|
||||
|
||||
(define-public apl
|
||||
(let ((revision 1977))
|
||||
(let ((revision 1550))
|
||||
(package
|
||||
(name "apl")
|
||||
(version (string-append "2.0.1-r" (number->string revision)))
|
||||
(version (string-append "1.8-r" (number->string revision)))
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
@@ -58,18 +52,12 @@
|
||||
(revision revision)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1llm1hqpfd71jrhd4pizhmvvca5wr18v8zqfajwmvjjxcmzfkvv1"))))
|
||||
(base32 "1bgc3a09f35zrqq2irhm1hspppnxjqas0fmcw14hkc7910br9ip3"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/apl/")
|
||||
(native-inputs (list gettext-minimal which pkg-config))
|
||||
(inputs
|
||||
(list gettext-minimal
|
||||
libxcb
|
||||
fftw
|
||||
openblas
|
||||
gsl
|
||||
libpng
|
||||
gtk+
|
||||
pcre2
|
||||
readline
|
||||
sqlite))
|
||||
@@ -81,11 +69,15 @@
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-configure
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
;; Manually set the SVN revision, since the directory
|
||||
;; is unversioned and we know it anyway.
|
||||
(("\\$apl_ARCHIVE_SVNINFO")
|
||||
#$(number->string revision))))))))
|
||||
(substitute* "buildtag.sh"
|
||||
;; Don't exit on failed SVN-related calls.
|
||||
(("^ +return 0\n") "")
|
||||
;; Manually set the SVN revision, since the directory is
|
||||
;; unversioned and we know it anyway.
|
||||
(("^SVNINFO=.*")
|
||||
(string-append "SVNINFO=" #$(number->string revision) "\n"))
|
||||
;; Requires running ‘svn info’ on a versioned directory.
|
||||
(("\\\\\"\\$ARCHIVE_SVNINFO\\\\\"") "\\\"\\\"")))))))
|
||||
(synopsis "APL interpreter")
|
||||
(description
|
||||
"GNU APL is a free interpreter for the programming language APL. It is
|
||||
|
||||
@@ -19,11 +19,9 @@
|
||||
(define-module (gnu packages appimage)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages file-systems)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix gexp)
|
||||
@@ -32,9 +30,9 @@
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public appimage-type2-runtime
|
||||
(let ((revision "1")
|
||||
(let ((revision "0")
|
||||
;; No releases, just the latest commit.
|
||||
(commit "caf24f9f712084686bfc24a70b75e50df0aefb9c"))
|
||||
(commit "47b665594856b4e8928f8932adcf6d13061d8c30"))
|
||||
(package
|
||||
(name "appimage-type2-runtime")
|
||||
(version (git-version "continuous" revision commit))
|
||||
@@ -46,16 +44,16 @@
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17z0byws3dp375wcyq5xwy5npqy7hslqw21n677dp38z4f940nzv"))))
|
||||
(base32 "0954crhlbapxis96g1s0vfpf78ybr64zvjalak387ksxj560g44x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests
|
||||
#:make-flags
|
||||
#~(list "-Csrc/runtime" "runtime"
|
||||
#~(list "-Csrc/runtime" "runtime-fuse3"
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append
|
||||
"CFLAGS=" "-I" #$(this-package-input "fuse") "/include/fuse3/"
|
||||
"CFLAGS=" "-I" #$(this-package-input "fuse") "/include/fuse/"
|
||||
" -DGIT_COMMIT='\"" "guix-" #$version "\"'"
|
||||
" -D_FILE_OFFSET_BITS=64"
|
||||
" -static"
|
||||
@@ -66,22 +64,17 @@
|
||||
(ice-9 binary-ports))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-pkgconfig-flags
|
||||
(lambda _
|
||||
(substitute* "src/runtime/Makefile"
|
||||
(("-lmimalloc")
|
||||
"$(pkg-config --cflags mimalloc)"))))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "src/runtime/runtime"
|
||||
(install-file "src/runtime/runtime-fuse3"
|
||||
(string-append #$output "/bin"))))
|
||||
;; Must be after all elf reliant phases. Used to identify the
|
||||
;; executable as an AppImage as per the specification.
|
||||
(add-after 'make-dynamic-linker-cache 'set-magic-bytes
|
||||
(lambda _
|
||||
(let ((port (open (string-append #$output
|
||||
"/bin/runtime")
|
||||
"/bin/runtime-fuse3")
|
||||
(logior O_WRONLY))))
|
||||
(seek port 8 SEEK_SET)
|
||||
(put-bytevector port #vu8(#x41 #x49 #x02))
|
||||
@@ -91,12 +84,9 @@
|
||||
(this-package-input "fuse")
|
||||
(gexp-input (this-package-input "zstd") "static")
|
||||
(gexp-input (this-package-input "zlib") "static"))))
|
||||
(native-inputs (list pkg-config))
|
||||
;; Only needed at build time.
|
||||
(inputs (list `(,fuse "out")
|
||||
`(,fuse "static")
|
||||
mimalloc
|
||||
squashfuse-for-appimage
|
||||
(inputs (list squashfuse-for-appimage
|
||||
fuse-for-appimage
|
||||
`(,zstd "static")
|
||||
`(,zlib "static")))
|
||||
(synopsis "Runtime for executing AppImages")
|
||||
|
||||
@@ -34,14 +34,14 @@
|
||||
(define-public apr
|
||||
(package
|
||||
(name "apr")
|
||||
(version "1.7.6")
|
||||
(version "1.7.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/apr/apr-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cpbbmng9ir8rjl9nxwljkzmrkpk4b1nsj8vg4ssfpapsa90s0s9"))
|
||||
"0xsmqgjiyw3s6va5dm86djnjzg9r0qc1zsldwz4sd8pkhglqsr7w"))
|
||||
(patches
|
||||
(search-patches "apr-skip-getservbyname-test.patch"))
|
||||
(patch-flags '("-p0"))))
|
||||
|
||||
@@ -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 © 2017–2022 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")
|
||||
|
||||
+340
-1069
File diff suppressed because it is too large
Load Diff
+67
-282
@@ -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>
|
||||
@@ -62,8 +62,6 @@
|
||||
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
|
||||
;;; 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 +126,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)
|
||||
@@ -196,45 +193,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")
|
||||
@@ -1251,7 +1209,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 +1226,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
|
||||
@@ -3471,7 +3429,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)
|
||||
@@ -3480,8 +3438,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 "08ji4lg24flzi6g3yaavfq8hz3kr98q2ripk5m4qk9z172qxbbc9"))))
|
||||
(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
|
||||
@@ -3734,44 +3703,6 @@ compensation, (de)interleaving, and byte-swapping
|
||||
;; original developer.
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rtcqs
|
||||
(package
|
||||
(name "rtcqs")
|
||||
(version "0.6.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/rtcqs/rtcqs")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kc3niyaq4m8di68832pgfb1b0m54q5gm68dwlzwwilgxi61ifzc"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-gui
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("\"FreeSimpleGUI\",?")
|
||||
"")
|
||||
(("rtcqs_gui = \"rtcqs\\.rtcqs_gui:main\"")
|
||||
""))
|
||||
(delete-file "src/rtcqs/rtcqs_gui.py")
|
||||
(delete-file "src/rtcqs/rtcqs_qt_gui.py"))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://codeberg.org/rtcqs/rtcqs")
|
||||
(synopsis "Linux audio real-time performance analyzer")
|
||||
(description
|
||||
"rtcqs analyzes a Linux system to detect possible bottlenecks that could
|
||||
have a negative impact on real-time audio performance. It checks kernel
|
||||
configuration, IRQ priorities, CPU governor, swappiness, and other settings
|
||||
relevant to low-latency audio work.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rtosc
|
||||
(package
|
||||
(name "rtosc")
|
||||
@@ -3881,58 +3812,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")
|
||||
@@ -4037,40 +3916,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")
|
||||
@@ -4581,33 +4426,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")
|
||||
@@ -5012,42 +4830,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")
|
||||
@@ -6708,23 +6490,22 @@ on the ALSA software PCM plugin.")
|
||||
(define-public snd
|
||||
(package
|
||||
(name "snd")
|
||||
(version "26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ccrma.stanford.edu/software/snd/snd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d573mjlrn9rhl9g0a3d1rkar34q60ln8mwlbibfalpn8lsz59a0"))))
|
||||
(version "25.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
|
||||
"snd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fgxqk0byxdj6059mb9d5qic2dqjabz49j0szsrn2y3c9nz6iyq4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:out-of-source? #f ; Required by 'install-doc'.
|
||||
#:tests? #f ; no tests
|
||||
#:out-of-source? #f ; for the 'install-doc' phase
|
||||
#:configure-flags
|
||||
#~(let
|
||||
((docdir (string-append #$output "/share/doc/snd-" #$version)))
|
||||
#~(let ((docdir (string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))
|
||||
(list "--with-alsa"
|
||||
"--with-jack"
|
||||
"--with-gmp"
|
||||
@@ -6732,20 +6513,18 @@ on the ALSA software PCM plugin.")
|
||||
(string-append "--with-doc-dir=" docdir)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-s7-h
|
||||
(add-after 'install 'install-s7
|
||||
(lambda _
|
||||
(install-file "s7.h" (string-append #$output
|
||||
"/include"))))
|
||||
(install-file "s7.h" (string-append #$output "/include"))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda _
|
||||
(let
|
||||
((docdir (string-append #$output "/share/doc/snd-"
|
||||
#$version)))
|
||||
(let ((doc (string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))
|
||||
(for-each
|
||||
(lambda (f)
|
||||
(install-file f docdir))
|
||||
(install-file f doc))
|
||||
(find-files "." "\\.html$"))
|
||||
(copy-recursively "pix" (string-append docdir "/pix"))))))))
|
||||
(copy-recursively "pix" (string-append doc "/pix"))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
@@ -6764,16 +6543,13 @@ on the ALSA software PCM plugin.")
|
||||
timidity++
|
||||
vorbis-tools
|
||||
wavpack))
|
||||
(home-page "https://ccrma.stanford.edu/software/snd/snd/snd.html")
|
||||
(synopsis "Sound editor")
|
||||
(home-page "https://ccrma.stanford.edu/software/snd/")
|
||||
(description
|
||||
"Snd is a sound editor modelled loosely after Emacs. It can be
|
||||
customized and extended using either the s7 Scheme implementation (included in
|
||||
the Snd sources), Ruby, or Forth.")
|
||||
(license
|
||||
;; INFO: pkgsrc classifies this as `esdl-license', a license not included
|
||||
;; in OSI or FSF lists, despite being similar to ISC.
|
||||
(license:non-copyleft "file://COPYING"))))
|
||||
(license (license:non-copyleft "file://COPYING"))))
|
||||
|
||||
(define-public libspecbleach
|
||||
(package
|
||||
@@ -7208,6 +6984,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")
|
||||
@@ -7418,7 +7220,6 @@ as is the case with audio plugins.")
|
||||
(find-files "bin")))))))))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
bash-minimal
|
||||
ffmpeg
|
||||
fluidsynth
|
||||
file
|
||||
@@ -7476,8 +7277,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")
|
||||
@@ -7491,12 +7292,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
|
||||
@@ -8137,16 +7933,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)
|
||||
@@ -8158,8 +7945,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")
|
||||
@@ -8257,7 +8043,6 @@ Home Page}.")
|
||||
(commit version)
|
||||
;; For test files.
|
||||
(recursive? #true)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "065x43hx670rjrclxi4hiqxscllb16v9s7myjvg7rd5pd3y0k7sg"))))
|
||||
(build-system pyproject-build-system)
|
||||
|
||||
@@ -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
+10
-14
@@ -547,7 +547,7 @@ remain fully idle, saving power and producing less noise.")
|
||||
"0miklk4bqblpyzh1bni4x6lqn88fa8fjn15x1k1n8bxkx60nlymd"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list librsync))
|
||||
(list librsync-0.9))
|
||||
(arguments
|
||||
`(#:make-flags `("CFLAGS=-fcommon"
|
||||
,(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
@@ -893,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)
|
||||
@@ -902,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
|
||||
@@ -911,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".
|
||||
@@ -945,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
|
||||
@@ -970,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.
|
||||
|
||||
+25
-45
@@ -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,7 +41,6 @@
|
||||
#: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)
|
||||
@@ -680,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.
|
||||
@@ -738,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
|
||||
@@ -747,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
|
||||
@@ -766,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
|
||||
@@ -951,20 +944,7 @@ configurable through a set of options.")
|
||||
#~(list (string-append
|
||||
"CC=" #$(this-package-input "openmpi") "/bin/mpicc")
|
||||
(string-append
|
||||
"CXX=" #$(this-package-input "openmpi") "/bin/mpicxx"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; OSU installs its binaries to /libexec. Have a symlink in /bin to
|
||||
;; improve user experience.
|
||||
(add-after 'install 'symlink-binaries-in-bin
|
||||
(lambda _
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(for-each (lambda (file)
|
||||
(symlink file
|
||||
(string-append #$output "/bin/"
|
||||
(basename file))))
|
||||
(find-files (string-append #$output
|
||||
"/libexec"))))))))
|
||||
"CXX=" #$(this-package-input "openmpi") "/bin/mpicxx"))))
|
||||
(home-page "https://mvapich.cse.ohio-state.edu/benchmarks/")
|
||||
(synopsis "Benchmarking suite from the MVAPICH project")
|
||||
(description
|
||||
|
||||
+593
-483
File diff suppressed because it is too large
Load Diff
+308
-74
@@ -913,7 +913,7 @@ suite native in R.")
|
||||
(define-public r-bpcells
|
||||
(package
|
||||
(name "r-bpcells")
|
||||
(version "0.3.1")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -922,7 +922,7 @@ suite native in R.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yqgcajq83g25mznwcngaw7pi6vcqxqdnynpgb95yci57k3wrp6j"))
|
||||
(base32 "12h1di45fg06nhsliii7v0h1z567pkpis1xm4ar1qr8ns1n8iljw"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(delete-file-recursively "r/src/vendor/highway"))))
|
||||
@@ -931,15 +931,13 @@ suite native in R.")
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
`(modify-phases %standard-phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "r")))
|
||||
,@(if (target-x86-32?)
|
||||
'((add-after 'chdir 'require-sse2
|
||||
;; This avoids falling back to the scalar backend in
|
||||
;; highway, which fails to build.
|
||||
(lambda _ (setenv "CFLAGS" "-msse2"))))
|
||||
'()))))
|
||||
(lambda _
|
||||
(substitute* "r/configure"
|
||||
(("tools/hwy-test.cpp" m)
|
||||
(string-append m " $HWY_LIBS $HWY_CFLAGS")))
|
||||
(chdir "r"))))))
|
||||
(propagated-inputs
|
||||
(list r-dplyr
|
||||
r-ggplot2
|
||||
@@ -4899,29 +4897,26 @@ relying on a complex dependency tree.")
|
||||
(define-public biosoup
|
||||
(package
|
||||
(name "biosoup")
|
||||
(version "0.11.0")
|
||||
(version "0.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rvaser/biosoup")
|
||||
(commit version)))
|
||||
;; Corresponds to version 0.10.0
|
||||
(commit "38181f09854ff42cbd9632200a2ec9fb37a4b7b6")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vn1hj3h152iwahnrzghqll34qaphchi07klb3j70vgc248micbz"))))
|
||||
"02hvyka703zagx0nvv2yx3dkc748zc8g6qbrpya7r8kfkcl7y8hw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enable-testing
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("target_link_libraries\\(biosoup_test")
|
||||
"enable_testing()
|
||||
add_test(NAME biosoup-test COMMAND biosoup_test)
|
||||
target_link_libraries(biosoup_test")))))))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./bin/biosoup_test")))))))
|
||||
(native-inputs
|
||||
(list googletest))
|
||||
(home-page "https://github.com/rvaser/biosoup")
|
||||
@@ -4933,29 +4928,26 @@ used for storage and logging in bioinformatics tools.")
|
||||
(define-public bioparser
|
||||
(package
|
||||
(name "bioparser")
|
||||
(version "3.1.0")
|
||||
(version "3.0.13")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rvaser/bioparser")
|
||||
(commit version)))
|
||||
;; Corresponds to tag 3.0.13
|
||||
(commit "13341e6e0855c6b358ffcea6dad216e1009e1287")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"057zb3g8qyvbkbfzgkygrf0iphz3v4icm13pchxzrafiy7zkbmrq"))))
|
||||
"0c5p2dl8jb12ci9f427jzrmmm9cgvc1k4fxsn2ggkfsin6r1r82i"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enable-testing
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("target_link_libraries\\(bioparser_test")
|
||||
"enable_testing()
|
||||
add_test(NAME bioparser-test COMMAND bioparser_test)
|
||||
target_link_libraries(bioparser_test")))))))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./bin/bioparser_test")))))))
|
||||
(inputs
|
||||
(list biosoup))
|
||||
(propagated-inputs
|
||||
@@ -4969,6 +4961,113 @@ bioinformatics formats (FASTA/Q, MHAP/PAF/SAM), with support for zlib
|
||||
compressed files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public circtools
|
||||
(package
|
||||
(name "circtools")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Kevinzjy/circtools")
|
||||
;; Corresponds to tag v1.0.0
|
||||
(commit "79380de59013601021ca3b1352d6f64d2fb89646")
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wg1s927g32k25j967kfr8l30nmr4c0p4zvy5igvy7cs6chd60lh"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))))
|
||||
(add-after 'unpack 'prepare-spoa-dependencies
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "vendor/spoa/CMakeLists.txt"
|
||||
(("find_package\\(bioparser 3.0.13 QUIET\\)")
|
||||
"find_package(bioparser 3.0.13 CONFIG)")
|
||||
(("find_package\\(biosoup 0.10.0 QUIET\\)")
|
||||
"find_package(biosoup 0.10.0 CONFIG)")
|
||||
(("GTest_FOUND") "TRUE")))))))
|
||||
(inputs
|
||||
(cons* bioparser biosoup (cargo-inputs 'circtools)))
|
||||
(native-inputs
|
||||
(list cmake-minimal pkg-config googletest))
|
||||
(home-page "https://github.com/Kevinzjy/circtools")
|
||||
(synopsis "Accelerating functions in CIRI toolkit")
|
||||
(description "This package provides accelerated functions for the CIRI
|
||||
toolkit. It also provides the @code{ccs} executable to scan for circular
|
||||
consensus sequences.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ciri-long
|
||||
(package
|
||||
(name "ciri-long")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bioinfo-biols/CIRI-long")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "10k88i1fcqchrrjv82rmylwvbwqfba0n51palhig9hsg71xs0dbi"))
|
||||
;; Delete bundled binary
|
||||
(snippet '(delete-file "libs/ccs"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'argparse[^']*',")
|
||||
"") ;only for python2
|
||||
(("==")
|
||||
">=")
|
||||
;; This package changed names.
|
||||
(("python-Levenshtein")
|
||||
"levenshtein"))))
|
||||
(add-before 'build 'build-libssw
|
||||
(lambda _
|
||||
(with-directory-excursion "libs/striped_smith_waterman"
|
||||
(invoke "make" "libssw.so"))))
|
||||
(add-before 'build 'fix-reference-to-ccs
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CIRI_long/pipeline.py"
|
||||
(("'ccs -i")
|
||||
(string-append "'"
|
||||
(assoc-ref inputs "circtools") "/bin/ccs"
|
||||
" -i")))
|
||||
;; yuck!
|
||||
(substitute* "CIRI_long/main.py"
|
||||
(("os.chmod\\(lib_path.*")
|
||||
"")))))))
|
||||
(inputs (list circtools
|
||||
python-biopython
|
||||
python-bwapy
|
||||
python-levenshtein
|
||||
python-mappy
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-pysam
|
||||
python-pyspoa
|
||||
python-scikit-learn
|
||||
python-scipy))
|
||||
(native-inputs (list python-cython python-pynose python-setuptools))
|
||||
(home-page "https://ciri-cookbook.readthedocs.io/")
|
||||
(synopsis "Circular RNA identification for Nanopore sequencing")
|
||||
(description "CIRI-long is a package for circular RNA identification using
|
||||
long-read sequencing data.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-circe
|
||||
(package
|
||||
(name "python-circe")
|
||||
@@ -7076,16 +7175,14 @@ CWL descriptions.")
|
||||
(package
|
||||
(name "ravanan")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arunisaac/ravanan")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ap9h2d92wjvnn8914baqkx6xn8zdanxmpjfg81v3qx35pn938al"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/arunisaac/ravanan/releases/download/v"
|
||||
version "/ravanan-" version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00ayvxsgvma3231ja1759f5fr99a4nw3j23i8qz616wfxa54745s"))))
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
#~(list (string-append "prefix=" #$output)
|
||||
@@ -7119,7 +7216,7 @@ CWL descriptions.")
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
node
|
||||
(lookup-package-input guix "guile")
|
||||
guile-3.0
|
||||
guile-filesystem
|
||||
guile-gcrypt
|
||||
guile-json-4
|
||||
@@ -7238,7 +7335,7 @@ genome- and pangenome-scale queries using a laptop.")
|
||||
(define-public delly
|
||||
(package
|
||||
(name "delly")
|
||||
(version "1.7.3")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -7246,7 +7343,7 @@ genome- and pangenome-scale queries using a laptop.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ri7m7iv3wakm7zdwqdzm5m71y0swad9n78dzrzr9gs3j7j5yxjs"))
|
||||
(base32 "1ibnplgfzj96w8glkx17v7sld3pm402fr5ybmf3h0rlcryabxrqy"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(delete-file-recursively "src/htslib"))))
|
||||
@@ -7651,6 +7748,78 @@ reads at a typical sensitivity of 90-99% relative to BLAST depending on the
|
||||
data and settings.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public discrover
|
||||
(package
|
||||
(name "discrover")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/maaskola/discrover")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"173fwi2vb6a5kp406hm3jj6j7v4whww796f2qcygp4rpvamh307y"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'set-force-source-date
|
||||
;; for reproducible dates, texlive needs this to respect
|
||||
;; SOURCE_DATE_EPOCH
|
||||
(lambda _
|
||||
(setenv "FORCE_SOURCE_DATE" "1")))
|
||||
(add-before 'build 'use-writable-texmfvar
|
||||
;; Use writable TEXMFVAR to generate fonts.
|
||||
(lambda _
|
||||
(setenv "TEXMFVAR" "/tmp")))
|
||||
(add-after 'unpack 'fix-latex-errors
|
||||
(lambda _
|
||||
(with-fluids ((%default-port-encoding #f))
|
||||
(substitute* "doc/references.bib"
|
||||
(("\\{S\\}illanp[^,]+,")
|
||||
"{S}illanp{\\\"a}{\\\"a},")))
|
||||
;; XXX: I just can't get pdflatex to not complain about these
|
||||
;; characters. They end up in the manual via the generated
|
||||
;; discrover-cli-help.txt.
|
||||
(substitute* "src/hmm/cli.cpp"
|
||||
(("µ") "mu")
|
||||
(("η") "eta")
|
||||
(("≤") "<="))
|
||||
;; This seems to be a syntax error.
|
||||
(substitute* "doc/discrover-manual.tex"
|
||||
(("theverbbox\\[t\\]") "theverbbox"))))
|
||||
(add-after 'unpack 'add-missing-includes
|
||||
(lambda _
|
||||
(substitute* "src/executioninformation.hpp"
|
||||
(("#define EXECUTIONINFORMATION_HPP" line)
|
||||
(string-append line "\n#include <random>")))
|
||||
(substitute* "src/plasma/fasta.hpp"
|
||||
(("#define FASTA_HPP" line)
|
||||
(string-append line "\n#include <random>"))))))))
|
||||
(inputs
|
||||
(list boost cairo rmath-standalone))
|
||||
(native-inputs
|
||||
(list (texlive-local-tree
|
||||
(list texlive-doi
|
||||
texlive-etoolbox
|
||||
texlive-examplep
|
||||
texlive-forloop
|
||||
texlive-listofitems
|
||||
texlive-natbib
|
||||
texlive-pgf ;tikz
|
||||
texlive-readarray
|
||||
texlive-verbatimbox))
|
||||
imagemagick))
|
||||
(home-page "https://dorina.mdc-berlin.de/public/rajewsky/discrover/")
|
||||
(synopsis "Discover discriminative nucleotide sequence motifs")
|
||||
(description "Discrover is a motif discovery method to find binding sites
|
||||
of nucleic acid binding proteins.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public eddylab-squid
|
||||
(package
|
||||
(name "eddylab-squid")
|
||||
@@ -9505,16 +9674,16 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
|
||||
(define-public idr
|
||||
(package
|
||||
(name "idr")
|
||||
(version "2.0.4.2")
|
||||
(version "2.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kundajelab/idr")
|
||||
(url "https://github.com/nboley/idr")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01491ffhhj5plmpvvwmzp6c5arp5390h3jdpgsai92y6xbsgvxz8"))
|
||||
"04j876h6z444v2q79drxx283d3k5snd72kj895wbalnl42206x9g"))
|
||||
;; Delete generated C code.
|
||||
(snippet
|
||||
'(begin (delete-file "idr/inv_cdf.c") #t))))
|
||||
@@ -9522,21 +9691,11 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and
|
||||
;; There is only one test ("test_inv_cdf.py") and it tests features that
|
||||
;; are no longer part of this package. It also asserts False, which
|
||||
;; causes the tests to always fail.
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'numpy-compatibility
|
||||
(lambda _
|
||||
(substitute* "idr/idr.py"
|
||||
(("numpy.int") "int"))
|
||||
(substitute* "idr/inv_cdf.pyx"
|
||||
(("np.int_t") "np.int64_t")))))))
|
||||
(arguments `(#:tests? #f))
|
||||
(propagated-inputs
|
||||
(list python-scipy python-sympy python-numpy python-matplotlib))
|
||||
(list python-scipy python-sympy python-numpy-1 python-matplotlib))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
(list python-cython-0
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/nboley/idr")
|
||||
(synopsis "Tool to measure the irreproducible discovery rate (IDR)")
|
||||
@@ -13056,22 +13215,28 @@ differently labelled data.")
|
||||
(define-public r-pando
|
||||
(package
|
||||
(name "r-pando")
|
||||
(version "1.1.1")
|
||||
(version "1.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/quadbio/Pando")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/quadbiolab/Pando")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zcsg3my1ka2wprvlx8p08cdz3dqphga54d5rp418zfhcyjy4fkp"))))
|
||||
(base32 "04kr1b28p5j7h48g32cldkg87xcmxnmd4kspygkfs7a4amihpi66"))))
|
||||
(properties `((upstream-name . "Pando")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; The test file data/test_seurat.rds is not included.
|
||||
#:tests? #false))
|
||||
#:tests? #false
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'loosen-requirements
|
||||
(lambda _
|
||||
(substitute* "DESCRIPTION"
|
||||
((" \\(==.*,") ",")))))))
|
||||
(propagated-inputs
|
||||
(list r-bayestestr
|
||||
r-foreach
|
||||
@@ -16000,7 +16165,7 @@ dispersal. Its output can be processed by treeannotator (from the
|
||||
(inputs
|
||||
(list boost-for-mysql
|
||||
cereal
|
||||
cgal-5
|
||||
cgal
|
||||
gsl
|
||||
hdf5
|
||||
fftw
|
||||
@@ -17868,7 +18033,7 @@ expression report comparing samples in an easily configurable manner.")
|
||||
(define-public pigx-chipseq
|
||||
(package
|
||||
(name "pigx-chipseq")
|
||||
(version "0.2.0")
|
||||
(version "0.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
|
||||
@@ -17876,7 +18041,7 @@ expression report comparing samples in an easily configurable manner.")
|
||||
"/pigx_chipseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09m1bpjapfxwhzrnvfs2g2zv28k6af7yf7s5ji861nb9bwlkmyi7"))))
|
||||
"008n6drj9q5av86xihxlj4py2c9p3c5z5ld89c3bksrp77zxiy67"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; parts of the tests rely on access to the network
|
||||
@@ -17927,7 +18092,7 @@ expression report comparing samples in an easily configurable manner.")
|
||||
python-magic
|
||||
python-xlrd
|
||||
trim-galore
|
||||
macs-3
|
||||
macs
|
||||
multiqc
|
||||
perl
|
||||
pandoc
|
||||
@@ -18275,6 +18440,44 @@ following the assay and produces a file detailing peaks of significant
|
||||
enrichment.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public mantis
|
||||
;; This is an arbitrary commit as a year has passed since 0.1 was tagged.
|
||||
(let ((commit "b6979a269172a45201c8366680d8b889f889432b")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "mantis")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/splatlab/mantis")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dq8a785hnaxx5kq757m5czs8xpcjpcph1inq2nm8h6zfvqyj8xs"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; there are none
|
||||
#:configure-flags (list "-DNH=ON"))) ; do not use SSE4.2 instructions
|
||||
(inputs
|
||||
(list sdsl-lite openssl zlib))
|
||||
(native-inputs
|
||||
(list gcc-7))
|
||||
(home-page "https://github.com/splatlab/mantis")
|
||||
(synopsis "Large-scale sequence-search index data structure")
|
||||
(description "Mantis is a space-efficient data structure that can be
|
||||
used to index thousands of raw-read genomics experiments and facilitate
|
||||
large-scale sequence searches on those experiments. Mantis uses counting
|
||||
quotient filters instead of Bloom filters, enabling rapid index builds and
|
||||
queries, small indexes, and exact results, i.e., no false positives or
|
||||
negatives. Furthermore, Mantis is also a colored de Bruijn graph
|
||||
representation, so it supports fast graph traversal and other topological
|
||||
analyses in addition to large-scale sequence-level searches.")
|
||||
;; uses __uint128_t and inline assembly
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public sjcount
|
||||
;; There is no tag for version 3.2, nor is there a release archive.
|
||||
(let ((commit "292d3917cadb3f6834c81e509c30e61cd7ead6e5")
|
||||
@@ -22289,6 +22492,37 @@ combinatorial configurations.\", G. Ehrlich - Journal of the ACM (JACM),
|
||||
1973. (Algorithm 7.)")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public fsom
|
||||
(let ((commit "a6ef318fbd347c53189384aef7f670c0e6ce89a3"))
|
||||
(package
|
||||
(name "fsom")
|
||||
(version (git-version "0.0.0" "1" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ekg/fsom/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gw1lpvr812pywg9y546x0h1hhj261xwls41r6kqhddjlrcjc0pi"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests to run.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; There is no configure phase.
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(install-file "fsom" bin)))))))
|
||||
(native-inputs
|
||||
(list gcc-6))
|
||||
(home-page "https://github.com/ekg/fsom")
|
||||
(synopsis "Manage SOM (Self-Organizing Maps) neural networks")
|
||||
(description "A tiny C library for managing SOM (Self-Organizing Maps)
|
||||
neural networks.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public fastahack
|
||||
(package
|
||||
(name "fastahack")
|
||||
|
||||
+44
-45
@@ -41,16 +41,32 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages bittorrent)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#: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 build-system glib-or-gtk)
|
||||
#:use-module ((guix licenses) #:prefix l:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -60,9 +76,8 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
@@ -71,30 +86,15 @@
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#: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 pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (guix utils))
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public transmission
|
||||
(package
|
||||
@@ -194,7 +194,7 @@ DHT, µTP, PEX and Magnet Links.")
|
||||
;; or any future license endorsed by Mnemosyne LLC.
|
||||
;;
|
||||
;; A few files files carry an MIT/X11 license header.
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
(license (list l:gpl2 l:gpl3))))
|
||||
|
||||
(define-public transmission-remote-gtk
|
||||
(package
|
||||
@@ -224,7 +224,7 @@ DHT, µTP, PEX and Magnet Links.")
|
||||
(description "transmission-remote-gtk is a GTK client for remote management
|
||||
of the Transmission BitTorrent client, using its HTTP RPC protocol.")
|
||||
(home-page "https://github.com/transmission-remote-gtk/transmission-remote-gtk")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public stig
|
||||
(package
|
||||
@@ -267,7 +267,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
|
||||
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command
|
||||
Line Interface} client for the BitTorrent client Transmission.")
|
||||
(home-page "https://github.com/rndusr/stig")
|
||||
(license license:gpl3)))
|
||||
(license l:gpl3)))
|
||||
|
||||
(define-public libtorrent
|
||||
(package
|
||||
@@ -291,7 +291,7 @@ Line Interface} client for the BitTorrent client Transmission.")
|
||||
with the BitTorrent client rtorrent. It is written in C++ with emphasis on
|
||||
speed and efficiency.")
|
||||
(home-page "https://github.com/rakshasa/libtorrent")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public rtorrent
|
||||
(package
|
||||
@@ -320,7 +320,7 @@ speed and efficiency.")
|
||||
full encryption, DHT, PEX, and Magnet Links. It can also be controlled via
|
||||
XML-RPC over SCGI.")
|
||||
(home-page "https://github.com/rakshasa/rtorrent")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public tremc
|
||||
(let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
|
||||
@@ -354,25 +354,25 @@ XML-RPC over SCGI.")
|
||||
(description "Tremc is a console client, with a curses interface, for the
|
||||
Transmission BitTorrent daemon.")
|
||||
(home-page "https://github.com/tremc/tremc")
|
||||
(license license:gpl3+))))
|
||||
(license l:gpl3+))))
|
||||
|
||||
(define-public aria2
|
||||
(package
|
||||
(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
|
||||
@@ -382,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"
|
||||
@@ -420,7 +417,9 @@ 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.")
|
||||
(license license:gpl2+)))
|
||||
(properties
|
||||
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public uget
|
||||
(package
|
||||
@@ -454,7 +453,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
||||
"uGet is portable download manager with GTK+ interface supporting
|
||||
HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection
|
||||
downloads, download scheduling, download rate limiting.")
|
||||
(license license:lgpl2.1+)))
|
||||
(license l:lgpl2.1+)))
|
||||
|
||||
(define-public mktorrent
|
||||
(package
|
||||
@@ -489,8 +488,8 @@ files and whole directories. It can add multiple trackers and web seed URLs,
|
||||
and set the @code{private} flag to disallow advertisement through the
|
||||
distributed hash table (@dfn{DHT}) and Peer Exchange. Hashing is multi-threaded
|
||||
and will take advantage of multiple processor cores where possible.")
|
||||
(license (list license:public-domain ; sha1.*, used to build without OpenSSL
|
||||
license:gpl2+)))) ; with permission to link with OpenSSL
|
||||
(license (list l:public-domain ; sha1.*, used to build without OpenSSL
|
||||
l:gpl2+)))) ; with permission to link with OpenSSL
|
||||
|
||||
(define-public libtorrent-rasterbar
|
||||
(package
|
||||
@@ -542,7 +541,7 @@ and will take advantage of multiple processor cores where possible.")
|
||||
"libtorrent-rasterbar is a feature-complete C++ BitTorrent implementation
|
||||
focusing on efficiency and scalability. It runs on embedded devices as well as
|
||||
desktops.")
|
||||
(license license:bsd-2)))
|
||||
(license l:bsd-2)))
|
||||
|
||||
(define-public qbittorrent
|
||||
(package
|
||||
@@ -586,7 +585,7 @@ libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.
|
||||
It aims to be a good alternative to all other BitTorrent clients out there.
|
||||
qBittorrent is fast, stable and provides unicode support as well as many
|
||||
features.")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public qbittorrent-no-x
|
||||
(let ((base qbittorrent))
|
||||
@@ -728,4 +727,4 @@ Protocol Encryption, DHT, Local Peer Discovery (LSD), Peer Exchange
|
||||
speed limits. Deluge heavily utilises the libtorrent library. It is
|
||||
designed to run as both a normal standalone desktop application and as a
|
||||
client-server.")
|
||||
(license license:gpl3+)))
|
||||
(license l:gpl3+)))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
@@ -144,8 +95,8 @@ supported content to the Kodi media center.")
|
||||
;; Arbitrary commit of branch master,
|
||||
;; Update when updating uBlockOrigin.
|
||||
(let* ((name "ublock-main-assets")
|
||||
(commit "004af606e6a0efc22bc65ab1016b553441cacb71")
|
||||
(revision "6")
|
||||
(commit "011eef4a5b36a7ebf4adedc486d96b77cfa25c54")
|
||||
(revision "5")
|
||||
(version (git-version "0" revision commit)))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -154,14 +105,14 @@ supported content to the Kodi media center.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bfd2d53flrkgvjcr1kj9nbxj4y9a4pcr7m3dycccdhd21x6k0ln")))))
|
||||
(base32 "0ng8a88zdvrxg30fz83gswjy27b3hfx9q11n2i715id7az7kqf9x")))))
|
||||
|
||||
(define ublock-prod-assets
|
||||
;; Arbitrary commit of branch gh-pages,
|
||||
;; Update when updating uBlockOrigin.
|
||||
(let* ((name "ublock-prod-assets")
|
||||
(commit "6c15e4ef91888c610caf73829dc78ae9549ed24a")
|
||||
(revision "6")
|
||||
(commit "6844322800de647da0c4fe06dd6a0b212a3942e4")
|
||||
(revision "5")
|
||||
(version (git-version "0" revision commit)))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -170,12 +121,12 @@ supported content to the Kodi media center.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0n2h6drqh44b1zgl729bfr70n08mkm536a2vqgivw7dm5dmi8zd3")))))
|
||||
(base32 "13vxq4z1wxivz5xklncxd2sj5aqkyhq919vzbbfp0fgh0imhikib")))))
|
||||
|
||||
(define ublock-origin
|
||||
(package
|
||||
(name "ublock-origin")
|
||||
(version "1.70.0")
|
||||
(version "1.66.2")
|
||||
(home-page "https://github.com/gorhill/uBlock")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -185,7 +136,7 @@ supported content to the Kodi media center.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j1m80nz86yc69c42hv5di5zza0vkycqmjaydb9jgx0abcvi19x5"))))
|
||||
"16ph031hb8bf4rxyxvm6jr0bxmy0snza11jfrbjgfb390gax9r63"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("xpi" "firefox" "chromium"))
|
||||
(properties '((addon-id . "uBlock0@raymondhill.net")))
|
||||
@@ -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
|
||||
|
||||
@@ -44,17 +44,37 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages build-tools)
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system guile)
|
||||
#: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)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages cppi)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages guile)
|
||||
@@ -85,27 +105,7 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages unicode)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system guile)
|
||||
#: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)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 optargs))
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public acr
|
||||
(package
|
||||
@@ -196,8 +196,7 @@ according to the system capabilities and the user-selected options.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))
|
||||
(patches (search-patches "bam-python3-compat.patch"))))
|
||||
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags `(,(string-append "CC=" ,(cc-for-target))
|
||||
@@ -208,7 +207,7 @@ according to the system capabilities and the user-selected options.")
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
(list python-minimal-wrapper))
|
||||
`(("python" ,python-2)))
|
||||
(inputs
|
||||
(list lua))
|
||||
(home-page "https://matricks.github.io/bam/")
|
||||
@@ -275,14 +274,14 @@ generate such a compilation database.")
|
||||
(define-public bmake
|
||||
(package
|
||||
(name "bmake")
|
||||
(version "20260508")
|
||||
(version "20260313")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv"))
|
||||
(base32 "0xgryknmv625idw37rq89mpl5rymwdb15j5w8zxwy1gf8b6z7j3n"))
|
||||
(patches (search-patches "bmake-run-check-separately.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@@ -345,8 +344,8 @@ programs and other files depend.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public gn
|
||||
(let ((commit "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a")
|
||||
(revision "2354")) ;as returned by `git describe`, used below
|
||||
(let ((commit "ee5b7e32b961a9da1933e9f46a018ba6cac8ef60")
|
||||
(revision "2277")) ;as returned by `git describe`, used below
|
||||
(package
|
||||
(name "gn")
|
||||
(version (git-version "0.0" revision commit))
|
||||
@@ -356,7 +355,7 @@ programs and other files depend.")
|
||||
(uri (git-reference (url home-page) (commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0yz38czmbc72q1hkiv3cwxqh2i8ji2vkkvvk5ws2cjplmn2vj0x9"))
|
||||
"19kkvwxl66vlzlfppbq03fmi59i5g8a1yc71fsfgwqqmx4wywd6w"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -366,8 +365,7 @@ programs and other files depend.")
|
||||
(lambda _
|
||||
(setenv "CC" "gcc")
|
||||
(setenv "CXX" "g++")
|
||||
(setenv "CXXFLAGS"
|
||||
"-g -O2 -Wno-error=redundant-move -Wno-error=comment")
|
||||
(setenv "CXXFLAGS" "-g -O2 -Wno-error=redundant-move")
|
||||
(setenv "AR" "ar")))
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
@@ -1452,36 +1450,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)))
|
||||
|
||||
+48
-50
@@ -23,7 +23,7 @@
|
||||
;;; Copyright © 2023, 2024 David Elsing <david.elsing@posteo.net>
|
||||
;;; Copyright @ 2022, Kitzman <kitzman@disroot.org>
|
||||
;;; Copyright @ 2025 Dariqq <dariqq@posteo.net>
|
||||
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;;
|
||||
@@ -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)
|
||||
@@ -63,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)
|
||||
@@ -83,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))
|
||||
@@ -1096,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
|
||||
@@ -1306,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")
|
||||
@@ -1479,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.
|
||||
@@ -1764,7 +1762,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
|
||||
(define-public simdutf
|
||||
(package
|
||||
(name "simdutf")
|
||||
(version "9.0.0")
|
||||
(version "7.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1773,7 +1771,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0f5ccvqj7pfa69m9y1kxp2v1lybx6x8i9pykdqfkr7dydqbhrhx6"))))
|
||||
(base32 "0kw4j4qqcfjaii667xa745pklj50m70nqq8cj5agj714acczbk7y"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
|
||||
(synopsis "SIMD Unicode validation and transcoding")
|
||||
|
||||
+43
-36
@@ -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,
|
||||
@@ -583,11 +595,7 @@ capacity is user-selectable.")
|
||||
version "/DVDStyler-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0n3mfjsazvlzk9hl23q3iz7bmxjq7b5lx0ab8nbk1jgl763k9cqb"))
|
||||
(snippet
|
||||
#~(begin (delete-file "src/dvdvml.c")
|
||||
(delete-file "src/dvdvmy.c")
|
||||
(delete-file "src/dvdvmy.h")))))
|
||||
"0n3mfjsazvlzk9hl23q3iz7bmxjq7b5lx0ab8nbk1jgl763k9cqb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -617,28 +625,27 @@ capacity is user-selectable.")
|
||||
#t)))
|
||||
#:tests? #f)) ; No tests.
|
||||
(inputs ; TODO package bundled wxvillalib
|
||||
(list bash-minimal ; for wrap-program
|
||||
cdrtools
|
||||
dbus
|
||||
dvd+rw-tools
|
||||
dvdauthor
|
||||
eudev
|
||||
ffmpeg-4
|
||||
fontconfig
|
||||
libexif
|
||||
libjpeg-turbo
|
||||
wxsvg
|
||||
wxwidgets))
|
||||
`(("wxwidgets" ,wxwidgets)
|
||||
("wssvg" ,wxsvg)
|
||||
("bash" ,bash-minimal) ; for wrap-program
|
||||
("dbus" ,dbus)
|
||||
("cdrtools" ,cdrtools)
|
||||
("dvd+rw-tools" ,dvd+rw-tools)
|
||||
("dvdauthor" ,dvdauthor)
|
||||
("eudev" ,eudev)
|
||||
("fontconfig" ,fontconfig)
|
||||
("libexif" ,libexif)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("ffmpeg" ,ffmpeg-4)))
|
||||
(native-inputs
|
||||
(list bison
|
||||
docbook-xml
|
||||
docbook-xsl
|
||||
flex
|
||||
gettext-minimal
|
||||
pkg-config
|
||||
python-minimal-wrapper
|
||||
xmlto
|
||||
zip))
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("flex" ,flex)
|
||||
("python" ,python-2)
|
||||
("xmlto" ,xmlto)
|
||||
("gettext" ,gettext-minimal)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("zip" ,zip)))
|
||||
(synopsis "DVD authoring application")
|
||||
(description "DVDStyler is a DVD authoring application which allows users
|
||||
to burn video files in many formats to DVD discs, complete with individually
|
||||
|
||||
+25
-1
@@ -3131,7 +3131,7 @@ time by mocking the datetime module.")
|
||||
(define-public python-flaky
|
||||
(package
|
||||
(name "python-flaky")
|
||||
(version "3.8.1") ; On bump, remove some skipped tests in python-cherrypy.
|
||||
(version "3.8.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "flaky" version))
|
||||
@@ -3719,6 +3719,30 @@ system. The code under test requires no modification to work with pyfakefs.")
|
||||
directories and files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-tornado5
|
||||
(package
|
||||
(name "python-pytest-tornado5")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-tornado5" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qb62jw2w0xr6y942yp0qxiy755bismjfpnxaxjjm05gy2pymr8d"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; Tests require pytest < 6
|
||||
(list #:tests? #f))
|
||||
(propagated-inputs (list python-pytest python-tornado))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(home-page "https://github.com/vidartf/pytest-tornado")
|
||||
(synopsis
|
||||
"Fixtures and markers to simplify testing of Tornado applications")
|
||||
(description
|
||||
"This package provides a @code{py.test} plugin supplying fixtures and
|
||||
markers to simplify testing of asynchronous tornado applications.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public guile-proba
|
||||
(package
|
||||
(name "guile-proba")
|
||||
|
||||
@@ -580,7 +580,7 @@ stored with user-specified precision.")
|
||||
python-sphinx))
|
||||
(inputs
|
||||
(list fftwf
|
||||
`(,hwloc "lib")
|
||||
`(,hwloc-2 "lib")
|
||||
libtirpc
|
||||
lmfit
|
||||
muparser
|
||||
|
||||
+73
-116
@@ -83,6 +83,7 @@
|
||||
"base/third_party/symbolize" ;BSD-3
|
||||
"base/third_party/xdg_user_dirs" ;Expat
|
||||
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"net/third_party/nss" ;MPL-2.0
|
||||
"net/third_party/quiche" ;BSD-3
|
||||
"net/third_party/uri_template" ;ASL2.0
|
||||
"third_party/abseil-cpp" ;ASL2.0
|
||||
@@ -103,11 +104,8 @@
|
||||
"third_party/catapult" ;BSD-3
|
||||
"third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0
|
||||
"third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0
|
||||
"third_party/catapult/third_party/beautifulsoup4-4.9.3" ;Expat
|
||||
"third_party/catapult/third_party/html5lib-1.1" ;Expat
|
||||
"third_party/catapult/third_party/polymer" ;BSD-3
|
||||
"third_party/catapult/third_party/six" ;Expat
|
||||
"third_party/catapult/third_party/typ" ;ASL2.0
|
||||
;; XXX: This is a minified version of <https://d3js.org/>.
|
||||
"third_party/catapult/tracing/third_party/d3" ;BSD-3
|
||||
"third_party/catapult/tracing/third_party/gl-matrix" ;Expat
|
||||
@@ -122,12 +120,19 @@
|
||||
"third_party/cld_3" ;ASL2.0
|
||||
"third_party/closure_compiler" ;ASL2.0
|
||||
"third_party/compiler-rt" ;ASL2.0
|
||||
"third_party/compiler-rt/src/lib" ;ASL2.0
|
||||
"third_party/compiler-rt/src/lib/builtins" ;ASL2.0
|
||||
"third_party/content_analysis_sdk" ;BSD-3
|
||||
"third_party/cpuinfo" ;BSD-2
|
||||
"third_party/crabbyavif" ;ASL2.0
|
||||
"third_party/crabbyavif/src/sys/dav1d-sys" ;ASL2.0
|
||||
"third_party/crabbyavif/src/sys/aom-sys" ;ASL2.0
|
||||
"third_party/crabbyavif/src/sys/libgav1-sys" ;ASL2.0
|
||||
"third_party/crabbyavif/src/sys/libyuv-sys" ;ASL2.0
|
||||
"third_party/crabbyavif/src/sys/ndk-sys" ;ASL2.0
|
||||
"third_party/crashpad" ;ASL2.0
|
||||
"third_party/crashpad/crashpad/third_party/lss" ;ASL2.0
|
||||
"third_party/crashpad/crashpad/third_party/zlib" ;Zlib
|
||||
"third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib
|
||||
"third_party/crc32c" ;BSD-3
|
||||
"third_party/cros_system_api" ;BSD-3
|
||||
"third_party/dav1d" ;BSD-2
|
||||
@@ -135,25 +140,19 @@
|
||||
;; TODO: can likely be unbundled when Vulkan is updated.
|
||||
"third_party/dawn/third_party/khronos" ;ASL2.0
|
||||
"third_party/dawn/third_party/gn/webgpu-cts" ;BSD-3
|
||||
"third_party/dawn/third_party/renderdoc" ;Expat
|
||||
"third_party/dawn/third_party/webgpu-headers" ;BSD-3
|
||||
"third_party/depot_tools" ;BSD-3
|
||||
"third_party/devscripts" ;GPL2.0
|
||||
"third_party/devtools-frontend" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end"
|
||||
"third_party/devtools-frontend/src/front_end/third_party"
|
||||
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party\
|
||||
/additional_readme_paths.json" ;no explicit license; trivial
|
||||
"third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/csp_evaluator" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/diff" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/json5" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/legacy-javascript" ;ASL-2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/lit" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3
|
||||
@@ -165,12 +164,10 @@
|
||||
"third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/parsel" ; Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/rxjs" ; ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/puppeteer-replay" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/source-map-scopes-codec" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party\
|
||||
/vscode.web-custom-data" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/third-party-web" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/web-vitals" ;Expat
|
||||
"third_party/devtools-frontend/src/third_party/i18n" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
|
||||
|
||||
@@ -182,7 +179,6 @@
|
||||
"third_party/farmhash" ;Expat
|
||||
"third_party/fast_float" ;ASL2.0, Boost1.0, Expat
|
||||
"third_party/fdlibm" ;non-copyleft
|
||||
"third_party/federated_compute/chromium/fcp/confidentialcompute" ;ASL2.0
|
||||
"third_party/federated_compute/src/fcp/base" ;ASL2.0
|
||||
"third_party/federated_compute/src/fcp/confidentialcompute" ;ASL2.0
|
||||
"third_party/federated_compute/src/fcp/protos/confidentialcompute" ;ASL2.0
|
||||
@@ -191,9 +187,7 @@
|
||||
"third_party/fft2d" ;non-copyleft
|
||||
"third_party/flatbuffers" ;ASL2.0
|
||||
"third_party/fp16" ;Expat
|
||||
"third_party/freetype" ;GPL2.0
|
||||
"third_party/fusejs" ;ASL2.0
|
||||
"third_party/fxdiv" ;Expat
|
||||
"third_party/gemmlowp" ;ASL2.0
|
||||
"third_party/google_input_tools" ;ASL2.0
|
||||
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0
|
||||
@@ -202,9 +196,6 @@
|
||||
"third_party/harfbuzz-ng" ;Expat
|
||||
"third_party/highway" ;ASL2.0
|
||||
"third_party/hunspell" ;MPL1.1/GPL2+/LGPL2.1+
|
||||
"third_party/hyphenation-patterns" ;Expat
|
||||
;; FIXME: Our icu does not have some headers such as udatamem.h.
|
||||
"third_party/icu" ;Unicode3.0
|
||||
"third_party/ink" ;ASL2.0
|
||||
"third_party/ink_stroke_modeler" ;ASL2.0
|
||||
"third_party/inspector_protocol" ;BSD-3
|
||||
@@ -217,13 +208,12 @@
|
||||
"third_party/libaddressinput" ;ASL2.0
|
||||
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
|
||||
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
|
||||
"third_party/libaom/source/libaom/third_party/SVT-AV1" ;BSD-3
|
||||
"third_party/libaom/source/libaom/third_party/vector" ;Expat
|
||||
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
|
||||
"third_party/libdrm" ; Expat
|
||||
"third_party/libgav1" ;ASL2.0
|
||||
"third_party/libjingle_xmpp" ;BSD-3
|
||||
"third_party/libpfm4" ;BSD
|
||||
"third_party/libpng" ;PNG2.0
|
||||
"third_party/libphonenumber" ;ASL2.0
|
||||
"third_party/libsecret" ;LGPL2.1+
|
||||
"third_party/libsrtp" ;BSD-3
|
||||
@@ -237,8 +227,6 @@
|
||||
"third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat
|
||||
|
||||
"third_party/libwebm" ;BSD-3
|
||||
"third_party/libx11" ;BSD
|
||||
"third_party/libxcb-keysyms" ;BSD
|
||||
"third_party/libxml/chromium" ;BSD-3
|
||||
"third_party/libyuv" ;BSD-3
|
||||
"third_party/libzip" ;BSD-3
|
||||
@@ -256,7 +244,6 @@
|
||||
"third_party/modp_b64" ;BSD-3
|
||||
"third_party/nasm" ;BSD-2
|
||||
"third_party/nearby" ;ASL2.0
|
||||
"third_party/neon_2_sse" ;BSD-2
|
||||
"third_party/node" ;Expat
|
||||
"third_party/oak/chromium/proto" ;ASL2.0
|
||||
"third_party/oak/chromium/proto/attestation" ;ASL2.0
|
||||
@@ -264,20 +251,14 @@
|
||||
"third_party/one_euro_filter" ;BSD-3
|
||||
"third_party/openscreen" ;BSD-3
|
||||
"third_party/openscreen/src/third_party/tinycbor" ;Expat
|
||||
"third_party/opus" ;BSD-3
|
||||
"third_party/ots" ;BSD-3
|
||||
"third_party/pdfium" ;BSD-3
|
||||
"third_party/pdfium/third_party/agg23" ;Expat
|
||||
"third_party/pdfium/third_party/bigint" ;Public domain, BSD-3
|
||||
"third_party/pdfium/third_party/lcms" ;Expat
|
||||
"third_party/pdfium/third_party/libopenjpeg" ;BDS-2
|
||||
"third_party/pdfium/third_party/libtiff" ;non-copyleft
|
||||
"third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
|
||||
"third_party/perfetto" ;ASL2.0
|
||||
"third_party/perfetto/protos/third_party/chromium" ;BSD-3
|
||||
"third_party/perfetto/protos/third_party/pprof" ;ASL2.0
|
||||
"third_party/perfetto/protos/third_party/primes" ;ASL2.0
|
||||
"third_party/perfetto/protos/third_party/simpleperf" ;ASL2.0
|
||||
"third_party/pffft" ;the "FFTPACK" license
|
||||
"third_party/ply" ;BSD-3
|
||||
"third_party/polymer" ;BSD-3
|
||||
@@ -287,7 +268,6 @@
|
||||
"third_party/protobuf/third_party/utf8_range" ; Expat
|
||||
"third_party/pthreadpool" ;BSD-2
|
||||
"third_party/puffin" ;Non-copyleft
|
||||
"third_party/pyyaml" ;Expat
|
||||
"third_party/pyjson5" ;ASL2.0
|
||||
"third_party/rapidhash" ;BSD-2
|
||||
"third_party/readability" ;ASL2.0
|
||||
@@ -299,14 +279,11 @@
|
||||
"third_party/search_engines_data" ;BSD-3
|
||||
"third_party/securemessage" ;ASL2.0
|
||||
"third_party/selenium-atoms" ;ASL2.0
|
||||
"third_party/sentencepiece" ;ASL2.0
|
||||
"third_party/sentencepiece/src/third_party/darts_clone" ;BSD-3
|
||||
"third_party/shell-encryption" ;ASL2.0
|
||||
"third_party/simdutf" ;Non-copyleft
|
||||
"third_party/simplejson" ; Non-copyleft
|
||||
"third_party/six" ;Expat
|
||||
"third_party/skia" ;BSD-3
|
||||
"third_party/skia/include/third_party/vulkan" ;BSD-3
|
||||
"third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat
|
||||
"third_party/smhasher" ;Expat, public domain
|
||||
|
||||
;; FIXME: the snappy "replacement" shim (see replace_gn_files.py below) does
|
||||
@@ -361,6 +338,7 @@
|
||||
"third_party/webrtc/modules/third_party/fft" ;Non-copyleft
|
||||
"third_party/webrtc/modules/third_party/g711" ;Public domain
|
||||
"third_party/webrtc/modules/third_party/g722" ;Public domain
|
||||
"third_party/webrtc/rtc_base/third_party/sigslot" ;Public domain
|
||||
"third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3
|
||||
"third_party/woff2" ;ASL2.0
|
||||
"third_party/wuffs" ;ASL2.0
|
||||
@@ -394,7 +372,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 "141.0.7390.65")
|
||||
(define %ungoogled-revision (string-append %chromium-version "-1"))
|
||||
(define %debian-revision (string-append "debian/" %ungoogled-revision))
|
||||
|
||||
@@ -406,7 +384,7 @@
|
||||
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
|
||||
(sha256
|
||||
(base32
|
||||
"1ha84j3zckdv2l8dpicqhmr6a8mq3bqwalw0bmgamvlmns9i7nrj"))))
|
||||
"1hk4rww2gccly1qv0xnswd77haj02rlza82403dxdjm8fkdfndy6"))))
|
||||
|
||||
(define %debian-origin
|
||||
(origin
|
||||
@@ -419,7 +397,7 @@
|
||||
((_ version) version))))
|
||||
(sha256
|
||||
(base32
|
||||
"04lqbclkvn9nsksgjpjilh78a8y17mwwq4pmhr6h8gvpp2y3bhhc"))))
|
||||
"06s3kvwb3490xb28n6r3q5n1c0ylsvchiw6s4h1rrp8jqzwjbmc6"))))
|
||||
|
||||
(define (origin-file origin file)
|
||||
(computed-file
|
||||
@@ -432,38 +410,26 @@
|
||||
|
||||
(define %debian-patches
|
||||
(map debian-patch
|
||||
'("bookworm/foreach.patch"
|
||||
"debianization/safe-libcxx.patch"
|
||||
"disable/enterprise-tests.patch"
|
||||
'("bookworm/clang19.patch"
|
||||
"bookworm/foreach.patch"
|
||||
"disable/node-version-ck.patch"
|
||||
"disable/rustc-allow-features.patch"
|
||||
"fixes/bytemuck.patch"
|
||||
"fixes/gentoo-stylesheet.patch"
|
||||
"fixes/libcpp-headers.patch"
|
||||
"fixes/libpng-testonly.patch"
|
||||
"fixes/rust-clanglib.patch"
|
||||
"llvm-19/clang19.patch"
|
||||
"llvm-19/clone-traits.patch"
|
||||
"llvm-19/keyfactory.patch"
|
||||
"llvm-19/value-or.patch"
|
||||
"llvm-22/ignore-for-ubsan.patch"
|
||||
"system/openjpeg.patch"
|
||||
"trixie/cookie-string-view.patch"
|
||||
"trixie/nodejs-main.patch")))
|
||||
;; Remove after rust is past
|
||||
;; <https://github.com/rust-lang/rust/pull/141061>.
|
||||
"trixie/rust-no-alloc-shim.patch")))
|
||||
|
||||
(define %guix-patches
|
||||
(list (local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch
|
||||
"ungoogled-chromium-custom-compiler.patch")))
|
||||
(local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch
|
||||
"ungoogled-chromium-empty-parsed-rustc-args.patch")))
|
||||
(local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch
|
||||
"ungoogled-chromium-extension-search-path.patch")))
|
||||
(local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch
|
||||
"ungoogled-chromium-unbundle-icu-target.patch")))
|
||||
(local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch
|
||||
@@ -534,8 +500,9 @@
|
||||
"#if 0"))
|
||||
(invoke "python" "build/linux/unbundle/replace_gn_files.py"
|
||||
"--system-libraries" "flac" "fontconfig" "freetype"
|
||||
"harfbuzz-ng" "libjpeg" "libpng" "libwebp" "libxml"
|
||||
"libxslt" "openh264" "opus" "zlib")))))
|
||||
"harfbuzz-ng" "icu" "libjpeg"
|
||||
"libpng" "libwebp" "libxml" "libxslt" "openh264" "opus"
|
||||
"zlib")))))
|
||||
|
||||
(define opus+custom
|
||||
(package/inherit opus
|
||||
@@ -564,7 +531,7 @@
|
||||
%chromium-version "-lite.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m22whg5n9lw9gqhalm95jwfm45lqp4a7cs3mn3f4n8w0rvr0r5j"))
|
||||
"09iwglswnr6d45zz3zsjw7jpm1xlwwkxlz9h5nlhqxyd933a04fq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet (force ungoogled-chromium-snippet))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -581,7 +548,6 @@
|
||||
;; directory for an exhaustive list of supported flags.
|
||||
;; (Note: The 'configure' phase will do that for you.)
|
||||
#~(list "is_debug=false"
|
||||
"is_component_build=false"
|
||||
;; Use the "official" release optimizations, as opposed to
|
||||
;; a developer build.
|
||||
"is_official_build=true"
|
||||
@@ -589,8 +555,6 @@
|
||||
"use_clang_modules=false"
|
||||
"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"
|
||||
@@ -608,10 +572,12 @@
|
||||
"enable_service_discovery=false"
|
||||
"enable_vr=false"
|
||||
"enable_enterprise_companion=false"
|
||||
"enable_glic=false"
|
||||
"enable_iterator_debugging=false"
|
||||
"enable_hangout_services_extension=false"
|
||||
"enable_widevine=false"
|
||||
"fatal_linker_warnings=false"
|
||||
;; Disable type-checking for the Web UI to avoid a Java dependency.
|
||||
"enable_js_type_check=false"
|
||||
;; Disable code using TensorFlow until it has been scrutinized
|
||||
;; by the ungoogled project.
|
||||
"build_with_tflite_lib=false"
|
||||
@@ -623,11 +589,6 @@
|
||||
"angle_has_histograms=false"
|
||||
"angle_build_tests=false"
|
||||
"build_angle_perftests=false"
|
||||
"enable_perfetto_unittests=false"
|
||||
"skia_enable_skshapper_tests=false"
|
||||
"tint_build_unittests=false"
|
||||
"enable_nocompile_tests=false"
|
||||
"enable_screen_ai_browsertests=false"
|
||||
|
||||
"clang_warning_suppression_file=\"\""
|
||||
|
||||
@@ -636,8 +597,6 @@
|
||||
"is_cfi=false"
|
||||
|
||||
"symbol_level=0"
|
||||
"blink_symbol_level=0"
|
||||
"v8_symbol_level=0"
|
||||
"v8_enable_backtrace=false"
|
||||
|
||||
;; Define a custom toolchain that simply looks up CC, AR and
|
||||
@@ -669,10 +628,26 @@
|
||||
;; invokation and fails if it's just the version number.
|
||||
" (f6e511eec 2024-10-15) (built from a source tarball)\"")
|
||||
|
||||
;; Chromium's build/rust/std/BUILD.gn has a hardcoded
|
||||
;; list of stdlib rlibs (stdlib_files) that GN uses to
|
||||
;; declare build outputs. GN requires static output
|
||||
;; declarations, so the list must exactly match what
|
||||
;; rlibs exist in the Rust sysroot. Chromium's list
|
||||
;; includes unicode_width because their bundled
|
||||
;; toolchain (Rust 1.89) ships it as a dependency of
|
||||
;; getopts 0.2.23. Our Rust 1.93 has getopts 0.2.24
|
||||
;; which dropped that dependency, so unicode_width is
|
||||
;; not in our sysroot. This GN arg removes it from
|
||||
;; the list. (Chromium's own use of unicode_width via
|
||||
;; codespan-reporting is a separate vendored copy under
|
||||
;; third_party/rust/chromium_crates_io/ and is
|
||||
;; unaffected.)
|
||||
"removed_rust_stdlib_libs=[\"unicode_width\"]"
|
||||
|
||||
;; Prefer system libraries.
|
||||
"use_system_freetype=true"
|
||||
"use_system_harfbuzz=true"
|
||||
"use_system_icu=false"
|
||||
"use_system_icu=true"
|
||||
"use_system_lcms2=true"
|
||||
"use_system_libffi=true"
|
||||
"use_system_libjpeg=true"
|
||||
@@ -683,7 +658,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)
|
||||
@@ -691,13 +666,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\""
|
||||
@@ -745,9 +713,9 @@
|
||||
|
||||
;; Many files try to include ICU headers from "third_party/icu/...".
|
||||
;; Remove the "third_party/" prefix to use system headers instead.
|
||||
;(substitute* (find-files "chrome" "\\.cc$")
|
||||
; (("third_party/icu/source/(common|i18n)/")
|
||||
; ""))
|
||||
(substitute* (find-files "chrome" "\\.cc$")
|
||||
(("third_party/icu/source/(common|i18n)/")
|
||||
""))
|
||||
|
||||
;; XXX: Should be unnecessary when use_system_lcms2=true.
|
||||
(substitute* "third_party/pdfium/core/fxcodec/icc/icc_transform.h"
|
||||
@@ -764,13 +732,15 @@
|
||||
(("include \"third_party/curl")
|
||||
"include \"curl"))
|
||||
|
||||
;; Our clang libs and rustfmt are not under bindgen root directory.
|
||||
(substitute* '("build/rust/rust_bindgen_generator.gni"
|
||||
"build/rust/rust_bindgen.gni")
|
||||
;; Unknown flags as of clang-19, can be removed when building with
|
||||
;; newer clang.
|
||||
(substitute* "build/config/compiler/BUILD.gn"
|
||||
(("-gsimple-template-names") ""))
|
||||
|
||||
;; Clang libs are not under bindgen root directory.
|
||||
(substitute* "build/rust/rust_bindgen_generator.gni"
|
||||
(("(_libclang_path = )rust_bindgen_root" _ libclang)
|
||||
(string-append libclang "clang_base_path"))
|
||||
(("(_rustfmt_path = \")\\$\\{rust_bindgen_root\\}" _ rustfmt)
|
||||
(string-append rustfmt "${rust_sysroot_absolute}"))))))
|
||||
(string-append libclang "clang_base_path"))))))
|
||||
(add-after 'patch-stuff 'add-absolute-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((cups-config (search-input-file inputs "/bin/cups-config"))
|
||||
@@ -793,22 +763,13 @@
|
||||
(add-after 'add-absolute-references 'adjust-CPLUS_INCLUDE_PATH
|
||||
;; The libcxx include/c++/v1 directory is not exposed via
|
||||
;; CPLUS_INCLUDE_PATH by default, causing errors like
|
||||
;; "fatal error: 'format' file not found". Also clang is
|
||||
;; unable to find gcc's bits/c++config.h which is machine
|
||||
;; dependent.
|
||||
;; "fatal error: 'format' file not found".
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let* ((libcxx-v1 (search-input-directory inputs
|
||||
"include/c++/v1"))
|
||||
(target-system #$(nix-system->gnu-triplet
|
||||
(or (%current-target-system)
|
||||
(%current-system))))
|
||||
(target-include (string-append "include/c++/"
|
||||
target-system))
|
||||
(gcc-bits (search-input-directory inputs
|
||||
target-include)))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append libcxx-v1 ":" gcc-bits ":"
|
||||
(getenv "CPLUS_INCLUDE_PATH"))))))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append
|
||||
(search-input-directory inputs
|
||||
"/include/c++/v1")
|
||||
":" (getenv "CPLUS_INCLUDE_PATH")))))
|
||||
(add-before 'configure 'prepare-build-environment
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let ((node (search-input-file (or native-inputs inputs)
|
||||
@@ -889,15 +850,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"))
|
||||
@@ -913,11 +872,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"
|
||||
@@ -998,7 +955,7 @@
|
||||
glib
|
||||
gtk+
|
||||
harfbuzz
|
||||
icu4c-77
|
||||
icu4c
|
||||
lcms
|
||||
libcxx
|
||||
libffi
|
||||
|
||||
@@ -253,7 +253,7 @@ as well as some desktop-wide documents.")
|
||||
pkg-config
|
||||
xorg-server-for-tests))
|
||||
(inputs
|
||||
(list at-spi2-core
|
||||
(list atk
|
||||
cinnamon-desktop
|
||||
exempi
|
||||
gsettings-desktop-schemas
|
||||
|
||||
+27
-53
@@ -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
|
||||
|
||||
+53
-42
@@ -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>
|
||||
@@ -695,6 +695,57 @@ Kcov uses DWARF debugging information for compiled programs to make it
|
||||
possible to collect coverage information without special compiler switches.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public rtags
|
||||
(package
|
||||
(name "rtags")
|
||||
(version "2.18")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Andersbakken/rtags")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "rtags-separate-rct.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Part of spliting rct with rtags.
|
||||
;; Substitute #include "rct/header.h" with #include <rct/header.h>.
|
||||
'(with-directory-excursion "src"
|
||||
(delete-file-recursively "rct") ;remove bundled copy
|
||||
(let ((files (find-files "." ".*\\.cpp|.*\\.h")))
|
||||
(substitute* files
|
||||
(("#include ?\"rct/(.*.h)\"" all header)
|
||||
(string-append "#include <rct/" header ">")))
|
||||
#t)))
|
||||
(sha256
|
||||
(base32
|
||||
"0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:build-type "RelWithDebInfo"
|
||||
#:configure-flags
|
||||
'("-DRTAGS_NO_ELISP_FILES=1")
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list bash-completion
|
||||
clang
|
||||
llvm
|
||||
lua
|
||||
rct
|
||||
selene))
|
||||
(home-page "https://github.com/Andersbakken/rtags")
|
||||
(synopsis "Indexer for the C language family with Emacs integration")
|
||||
(description
|
||||
"RTags is a client/server application that indexes C/C++ code and keeps a
|
||||
persistent file-based database of references, declarations, definitions,
|
||||
symbolnames etc. There’s also limited support for ObjC/ObjC++. It allows you
|
||||
to find symbols by name (including nested class and namespace scope). Most
|
||||
importantly we give you proper follow-symbol and find-references support.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public colormake
|
||||
(package
|
||||
(name "colormake")
|
||||
@@ -866,46 +917,6 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
|
||||
the C, C++, C++/CLI, Objective‑C, 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")
|
||||
|
||||
+128
-633
@@ -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.98.0, transitively loads (gnu packages
|
||||
;;; rust-apps) through its #:use-module chain. If the codex package
|
||||
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
|
||||
;;; rust-apps before rust-codex-0.124.0 is defined, causing an unbound
|
||||
;;; rust-apps before rust-codex-0.98.0 is defined, causing an unbound
|
||||
;;; variable error.
|
||||
|
||||
(define-module (gnu packages codex)
|
||||
@@ -36,46 +36,33 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages virtualization))
|
||||
#:use-module (gnu packages version-control))
|
||||
|
||||
(define-public codex
|
||||
(package
|
||||
(name "codex")
|
||||
(version (package-version rust-codex-0.124.0))
|
||||
(version (package-version rust-codex-0.98.0))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source rust-codex-0.124.0))
|
||||
(inherit (package-source rust-codex-0.98.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.120.0-remove-libwebrtc.patch"
|
||||
"codex-0.98.0-remove-patch-sections.patch"
|
||||
"rust-codex-0.98.0-test-shebangs.patch"
|
||||
"rust-codex-0.120.0-test-timeout.patch"))))
|
||||
"rust-codex-0.98.0-test-timeout.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(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"
|
||||
"linux-sandbox" "mcp-server"
|
||||
#:cargo-install-paths '(list "cli" "exec" "exec-server"
|
||||
"linux-sandbox" "mcp-server" "network-proxy"
|
||||
"app-server" "tui")
|
||||
;; schema_fixtures_match_generated (upstream fixture is stale:
|
||||
;; FileChange::Update in codex-protocol gained old_content,
|
||||
@@ -84,55 +71,72 @@
|
||||
#:cargo-test-flags '(list "--workspace"
|
||||
"--exclude" "codex-app-server-protocol"
|
||||
"--"
|
||||
;;; BEGIN Landlock returns NotEnforced
|
||||
;;; in the build container; the sandbox
|
||||
;;; binary panics instead of cleanly
|
||||
;;; denying filesystem access.
|
||||
;; Sandbox denial and escalation tests.
|
||||
;; These tests exercise sandbox denial and
|
||||
;; escalation, which requires Landlock to
|
||||
;; cleanly deny filesystem access. Inside the
|
||||
;; build container Landlock returns NotEnforced
|
||||
;; and the sandbox binary panics instead.
|
||||
;; Disabling Landlock would not help either,
|
||||
;; since these tests need a working sandbox to
|
||||
;; have anything to deny and escalate.
|
||||
"--skip" "sandbox_denied_shell_returns_original_output"
|
||||
;; Sandbox denial and escalation tests.
|
||||
"--skip" "shell_escalated_permissions_rejected_then_ok"
|
||||
;; Sandbox denial and escalation tests.
|
||||
"--skip" "unified_exec_runs_under_sandbox"
|
||||
;; codex-exec: spawn_command_under_linux_sandbox
|
||||
;; panics with LandlockRestrict (exit 101).
|
||||
;; These tests (in codex-exec) directly call
|
||||
;; spawn_command_under_linux_sandbox to verify
|
||||
;; that python and bash work correctly inside
|
||||
;; the Landlock sandbox. The sandbox binary
|
||||
;; (codex-exec) panics with LandlockRestrict
|
||||
;; (exit code 101) before the inner command
|
||||
;; even starts.
|
||||
"--skip" "python_getpwuid_works_under_sandbox"
|
||||
;; Same as above.
|
||||
"--skip" "python_multiprocessing_lock_works_under_sandbox"
|
||||
;; Same as above.
|
||||
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
|
||||
;; linux-sandbox: process_exec_tool_call
|
||||
;; invokes Landlock; same panic.
|
||||
;; These linux-sandbox tests directly invoke
|
||||
;; the Landlock sandbox via
|
||||
;; process_exec_tool_call; same root cause.
|
||||
"--skip" "test_writable_root"
|
||||
;; Same as above.
|
||||
"--skip" "test_timeout"
|
||||
;; Same as above.
|
||||
"--skip" "test_root_read"
|
||||
;; Same as above.
|
||||
"--skip" "test_dev_null_write"
|
||||
;; Same as above.
|
||||
"--skip" "test_no_new_privs_is_enabled"
|
||||
;; One scenario runs through Landlock
|
||||
;; which panics; cargo --skip cannot
|
||||
;; target individual scenarios.
|
||||
;; This test iterates many approval scenarios;
|
||||
;; one of them
|
||||
;; (danger_full_access_on_request_allows_network)
|
||||
;; runs a command through the Landlock sandbox
|
||||
;; binary, which panics with LandlockRestrict
|
||||
;; inside the build container. Cargo --skip
|
||||
;; cannot target individual scenarios, so we
|
||||
;; skip the entire matrix.
|
||||
"--skip" "approval_matrix_covers_all_modes"
|
||||
;; Landlock panic triggers escalation-retry
|
||||
;; which interferes with the approval cache.
|
||||
;; This test verifies session-level patch
|
||||
;; approval caching: approve once, skip
|
||||
;; future prompts for the same file. When
|
||||
;; Landlock is unavailable (as in the Guix
|
||||
;; build container) the sandbox binary panics,
|
||||
;; triggering the escalation-retry path, which
|
||||
;; interferes with the approval cache and
|
||||
;; causes a spurious re-prompt on the second
|
||||
;; patch.
|
||||
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
|
||||
;; These tests expect to interrupt a
|
||||
;; long-running 'sleep 60' and receive
|
||||
;; TurnAborted. What happens:
|
||||
;; TurnAborted. Default test config is
|
||||
;; OnRequest + ReadOnly. What happens:
|
||||
;;
|
||||
;; 1. ReadOnly wraps the command with
|
||||
;; codex-linux-sandbox (Landlock-based).
|
||||
;; 2. Landlock is unavailable, so the
|
||||
;; sandbox binary exits instantly.
|
||||
;; 2. Landlock is unavailable in the Guix
|
||||
;; build container, so the sandbox
|
||||
;; binary exits instantly (~1 ms).
|
||||
;; 3. Orchestrator gets SandboxErr::Denied.
|
||||
;; wants_no_sandbox_approval(OnRequest)
|
||||
;; returns false, so no escalation --
|
||||
;; denial returned directly.
|
||||
;; returns false (sandboxing.rs:222),
|
||||
;; so no escalation -- denial returned
|
||||
;; directly.
|
||||
;; 4. ToolEmitter::finish sends the error
|
||||
;; to the mock model.
|
||||
;; to the mock model as
|
||||
;; function_call_output.
|
||||
;; 5. Second mock SSE response fires,
|
||||
;; turn finishes with TurnComplete.
|
||||
;; 6. Op::Interrupt arrives 100 ms later,
|
||||
@@ -146,370 +150,74 @@
|
||||
;; has only one mock response (so the turn
|
||||
;; cannot complete first).
|
||||
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
|
||||
;; Same causal chain as above.
|
||||
"--skip" "interrupt_tool_records_history_entries"
|
||||
;; WorkspaceWrite sandbox policy wraps
|
||||
;; commands with codex-linux-sandbox;
|
||||
;; Landlock panics, command never runs,
|
||||
;; exit_code is None instead of Some(0).
|
||||
"--skip" "request_permissions_grants_apply_to_later_exec_command_calls"
|
||||
;; Same root cause.
|
||||
"--skip" "request_permissions_grants_apply_to_later_shell_command_calls"
|
||||
;; Same root cause.
|
||||
"--skip" "partial_request_permissions_grants_do_not_preapprove_new_permissions"
|
||||
;;; END Landlock
|
||||
;;; BEGIN mcp_process.rs initialize
|
||||
;;; assertion expects "version":"0.0.0"
|
||||
;;; but the server returns "0.120.0".
|
||||
;; Upstream bug: test hardcodes "0.0.0" in the
|
||||
;; expected user-agent string but the workspace
|
||||
;; version is "0.98.0".
|
||||
"--skip" "get_user_agent_returns_current_codex_user_agent"
|
||||
;; Same upstream bug: mcp-server tests
|
||||
;; check the initialize response which
|
||||
;; includes "version": "0.0.0" but the
|
||||
;; server returns "0.98.0".
|
||||
"--skip" "test_codex_tool_passes_base_instructions"
|
||||
"--skip" "test_shell_command_approval_triggers_elicitation"
|
||||
"--skip" "test_patch_approval_triggers_elicitation"
|
||||
;;; END version mismatch
|
||||
;;; BEGIN Test isolation bug:
|
||||
;;; unique_temp_dir() in
|
||||
;;; state/src/runtime.rs names dirs
|
||||
;;; using nanosecond timestamps, so
|
||||
;;; parallel tests can collide. The
|
||||
;;; SQLite migration runs CREATE TABLE
|
||||
;;; threads (without IF NOT EXISTS),
|
||||
;;; so the second init panics with
|
||||
;;; "table threads already exists".
|
||||
;; These codex-exec-server tests need
|
||||
;; "dotslash", a Meta tool that lazily
|
||||
;; downloads pre-built binaries from a
|
||||
;; JSON manifest. The test helper
|
||||
;; create_transport runs
|
||||
;; `dotslash -- fetch <path>` to obtain a
|
||||
;; custom bash binary described in
|
||||
;; exec-server/tests/suite/bash.
|
||||
;; dotslash is not available in the build
|
||||
;; container.
|
||||
"--skip" "list_tools"
|
||||
"--skip" "accept_elicitation_for_prompt_rule"
|
||||
;;; Test isolation bug: each test in
|
||||
;;; state/src/runtime.rs calls
|
||||
;;; unique_temp_dir() to get its own
|
||||
;;; temporary directory (and thus its
|
||||
;;; own SQLite database). That function
|
||||
;;; names directories using the current
|
||||
;;; nanosecond timestamp, so when tests
|
||||
;;; run in parallel several can receive
|
||||
;;; the same name and open the same
|
||||
;;; database. The initial SQLite
|
||||
;;; migration runs CREATE TABLE threads
|
||||
;;; (without IF NOT EXISTS), so any init
|
||||
;;; after the first panics with "table
|
||||
;;; threads already exists". Any of
|
||||
;;; these tests
|
||||
;;; can be the victim.
|
||||
"--skip" "init_removes_legacy_state_db_files"
|
||||
"--skip" "upsert_and_get_thread_memory"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
|
||||
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
|
||||
"--skip" "deleting_thread_cascades_thread_memory"
|
||||
;;; END SQLite test isolation
|
||||
;; The test spawns 'sh' after
|
||||
;; env_clear() with an empty env map;
|
||||
;; glibc execvp uses confstr(_CS_PATH)
|
||||
;; ("/bin:/usr/bin") when PATH is
|
||||
;; unset, but /bin/sh does not exist
|
||||
;; in the build container.
|
||||
"--skip" "cancellation_expiration_keeps_process_alive_until_terminated"
|
||||
;; Proxy baseline_policy returns 403
|
||||
;; "not_allowed_local" for example.com;
|
||||
;; test expects 200.
|
||||
"--skip" "managed_network_proxy_decider_survives_full_access_start"
|
||||
;;; BEGIN bash_snapshot_script() uses
|
||||
;;; "compgen -e" to list exports but
|
||||
;;; bash-minimal lacks programmable
|
||||
;;; completion; export section is empty.
|
||||
;; stdout.contains("VALID_NAME") fails.
|
||||
"--skip" "bash_snapshot_filters_invalid_exports"
|
||||
;; stdout.contains("MULTILINE_CERT") fails.
|
||||
"--skip" "bash_snapshot_preserves_multiline_exports"
|
||||
;; snapshot.contains("PATH") fails.
|
||||
"--skip" "linux_bash_snapshot_includes_sections"
|
||||
;;; END compgen
|
||||
;; substitute* patches PAGER to store
|
||||
;; path of cat; test expects bare "cat".
|
||||
"--skip" "unified_exec_env_injects_defaults"
|
||||
;;; BEGIN V8 disabled (codex-code-mode
|
||||
;;; default-features = false).
|
||||
"--skip" "suite::code_mode::"
|
||||
"--skip" "suite::js_repl::"
|
||||
"--skip" "suite::view_image::js_repl_"
|
||||
;;; END V8 disabled
|
||||
;;; BEGIN same compgen root cause:
|
||||
;;; assert_posix_snapshot_sections
|
||||
;;; asserts snapshot.contains("PATH").
|
||||
"--skip" "linux_shell_command_uses_shell_snapshot"
|
||||
"--skip" "linux_unified_exec_uses_shell_snapshot"
|
||||
"--skip" "shell_command_snapshot_still_intercepts_apply_patch"
|
||||
;;; END compgen / shell snapshot
|
||||
;;; BEGIN These sandbox tests set
|
||||
;;; exclude_slash_tmp: true which makes
|
||||
;;; bwrap exclude /tmp from its mount
|
||||
;;; namespace. Since Guix builds under
|
||||
;;; /tmp, the codex-linux-sandbox binary
|
||||
;;; becomes invisible to bwrap even though
|
||||
;;; the test adds the helper dir as a
|
||||
;;; filesystem carve-out -- the parent /tmp
|
||||
;;; bind-mount is absent so the carve-out
|
||||
;;; has nothing to carve out of.
|
||||
"--skip" "sandbox_reenables_writable_subpaths_under_unreadable_parents"
|
||||
"--skip" "managed_proxy_mode_routes_through_bridge_and_blocks_direct_egress"
|
||||
;;; END exclude_slash_tmp
|
||||
;; Expects 3 TerminalInteraction events
|
||||
;; across timed poll windows; under CPU
|
||||
;; contention events merge into 2.
|
||||
"--skip" "unified_exec_terminal_interaction_captures_delayed_output"
|
||||
;;; BEGIN assert_parallel_duration
|
||||
;;; requires < 1600 ms for parallel ops.
|
||||
;; Two 300 ms test_sync_tool calls.
|
||||
"--skip" "read_file_tools_run_in_parallel"
|
||||
;; Two "sleep 0.25" shell commands.
|
||||
"--skip" "shell_tools_run_in_parallel"
|
||||
;; One test_sync_tool + one shell sleep.
|
||||
"--skip" "mixed_parallel_tools_run_in_parallel"
|
||||
;;; END assert_parallel_duration
|
||||
;; Asserts elapsed >= 4500 ms and
|
||||
;; < 5800 ms for a 5 s timeout; under
|
||||
;; contention elapsed drifts past 5800.
|
||||
"--skip" "remote_models_request_times_out_after_5s"
|
||||
;; Queued inter-agent mail must be
|
||||
;; injected between the reasoning/
|
||||
;; commentary item and the gate release;
|
||||
;; under contention the gate fires before
|
||||
;; the mail is processed, so the snapshot
|
||||
;; shows the stale function_call instead
|
||||
;; of the expected mail message.
|
||||
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_commentary_message_item"
|
||||
;; Same root cause: snapshot mismatch at
|
||||
;; pending_input.rs assert_two_responses_
|
||||
;; input_snapshot; expects mail at position
|
||||
;; 04 but gets function_call/shell instead.
|
||||
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_reasoning_item"
|
||||
;;; BEGIN DNS for hostnames like
|
||||
;;; example.com fails in the build
|
||||
;;; sandbox. host_resolves_to_non_
|
||||
;;; public_ip() in runtime.rs treats
|
||||
;;; failed DNS as non-public and
|
||||
;;; returns NotAllowedLocal, so tests
|
||||
;;; expecting Allowed or Decider get
|
||||
;;; Deny/BaselinePolicy instead.
|
||||
"--skip" "host_blocked_requires_allowlist_match"
|
||||
"--skip" "add_allowed_domain_removes_matching_deny_entry"
|
||||
"--skip" "host_blocked_subdomain_wildcards_exclude_apex"
|
||||
"--skip" "host_blocked_global_wildcard_allowlist_allows_public_hosts_except_denylist"
|
||||
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_ask"
|
||||
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_allow_override"
|
||||
"--skip" "http_connect_accept_blocks_in_limited_mode"
|
||||
"--skip" "http_connect_accept_allows_allowlisted_host_in_full_mode"
|
||||
"--skip" "mitm_policy_blocks_disallowed_method_and_records_telemetry"
|
||||
;;; END DNS failure / NotAllowedLocal
|
||||
;;; BEGIN Flaky: wiremock mock expects
|
||||
;;; 1 POST to /codex/safety/arc but
|
||||
;;; receives 0. Passes in some builds,
|
||||
;;; fails in others with identical code
|
||||
;;; and env. The identical custom_
|
||||
;;; variant always passes; only the
|
||||
;;; CODEX_APPS_MCP_SERVER_NAME variant
|
||||
;;; flakes, suggesting a timing race
|
||||
;;; in the async POST under contention.
|
||||
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
|
||||
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
|
||||
;;; END ARC monitor flake
|
||||
;;; BEGIN nss-certs sets SSL_CERT_FILE
|
||||
;;; which makes build_reqwest_client load
|
||||
;;; 171 CA certs via add_root_certificate.
|
||||
;;; This changes the reqwest TLS backend
|
||||
;;; configuration; the ARC safety POST to
|
||||
;;; the localhost mock server never arrives
|
||||
;;; (wiremock expects 1 request, gets 0).
|
||||
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
|
||||
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
|
||||
;;; END nss-certs / ARC monitor
|
||||
;; Upstream bug: JsonRpcConnection has
|
||||
;; no websocket keepalive or read timeout.
|
||||
;; When the exec-server is killed, the
|
||||
;; client's reader task blocks on
|
||||
;; websocket_reader.next() forever because
|
||||
;; TCP doesn't detect the dead peer without
|
||||
;; a write or keepalive probe. Previously
|
||||
;; masked because empty env made "sleep 10"
|
||||
;; fail instantly; with PATH the process
|
||||
;; lives long enough to hit the deadlock.
|
||||
"--skip" "remote_exec_process_reports_transport_disconnect"
|
||||
;; 500 ms timeout on MCP list response
|
||||
;; (mcp_server_status.rs timeout at
|
||||
;; Duration::from_millis(500)). With
|
||||
;; nss-certs TLS now works, so the
|
||||
;; startup plugin sync HTTP requests
|
||||
;; (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" "deleting_thread_cascades_thread_memory")
|
||||
#:cargo-package-crates
|
||||
''(;;; Tier 0: No internal deps.
|
||||
"codex-ansi-escape"
|
||||
"codex-async-utils"
|
||||
"codex-backend-openapi-models"
|
||||
"codex-client"
|
||||
"codex-execpolicy"
|
||||
"codex-file-search"
|
||||
"codex-git-utils"
|
||||
"codex-git"
|
||||
"codex-keyring-store"
|
||||
"codex-process-hardening"
|
||||
"codex-utils-absolute-path"
|
||||
"codex-utils-cache"
|
||||
"codex-utils-cargo-bin"
|
||||
"codex-utils-elapsed"
|
||||
"codex-utils-fuzzy-match"
|
||||
"codex-utils-home-dir"
|
||||
"codex-utils-json-to-toml"
|
||||
"codex-utils-path"
|
||||
"codex-utils-plugins"
|
||||
"codex-utils-pty"
|
||||
"codex-utils-readiness"
|
||||
"codex-utils-rustls-provider"
|
||||
"codex-utils-sleep-inhibitor"
|
||||
"codex-utils-stream-parser"
|
||||
"codex-utils-string"
|
||||
"codex-utils-template"
|
||||
;;; Tier 1.
|
||||
"codex-backend-openapi-models"
|
||||
"codex-process-hardening"
|
||||
"codex-ansi-escape"
|
||||
;;; Tier 1: Depends on tier 0.
|
||||
"codex-utils-image"
|
||||
"codex-utils-output-truncation"
|
||||
"codex-apply-patch"
|
||||
"codex-protocol"
|
||||
"codex-windows-sandbox"
|
||||
@@ -518,69 +226,35 @@
|
||||
"codex-secrets"
|
||||
"codex-execpolicy-legacy"
|
||||
"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-code-mode"
|
||||
"codex-feedback"
|
||||
"codex-skills"
|
||||
"codex-test-binary-support"
|
||||
"codex-core"
|
||||
"codex-core-plugins"
|
||||
"codex-utils-sandbox-summary"
|
||||
"codex-linux-sandbox"
|
||||
"codex-sandboxing"
|
||||
"codex-connectors"
|
||||
"codex-core-skills"
|
||||
"codex-feedback"
|
||||
;;; Tier 3.
|
||||
"codex-arg0"
|
||||
"codex-lmstudio"
|
||||
"codex-login"
|
||||
"codex-ollama"
|
||||
"codex-utils-oss"
|
||||
"codex-common"
|
||||
"codex-mcp-server"
|
||||
"codex-backend-client"
|
||||
"codex-responses-api-proxy"
|
||||
"codex-shell-command"
|
||||
"codex-shell-escalation"
|
||||
"codex-plugin"
|
||||
"codex-model-provider-info"
|
||||
"codex-models-manager"
|
||||
;;; Tier 4.
|
||||
"codex-cloud-requirements"
|
||||
"codex-exec"
|
||||
"codex-exec-server"
|
||||
"codex-network-proxy"
|
||||
"codex-stdio-to-uds"
|
||||
"codex-network-proxy"
|
||||
"codex-chatgpt"
|
||||
"codex-cloud-tasks-client"
|
||||
"codex-cloud-tasks-mock-client"
|
||||
"codex-tools"
|
||||
"codex-mcp"
|
||||
"codex-collaboration-mode-templates"
|
||||
;;; Tier 5.
|
||||
"codex-app-server"
|
||||
"codex-app-server-test-client"
|
||||
"codex-tui"
|
||||
"codex-response-debug-context"
|
||||
;;; Tier 6.
|
||||
"codex-cloud-tasks"
|
||||
;; The main executable.
|
||||
@@ -596,7 +270,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.98.0)")))))
|
||||
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
|
||||
(lambda _
|
||||
;; Replace git dependencies with version references so cargo
|
||||
@@ -605,57 +279,23 @@
|
||||
(("nucleo = \\{ git = [^}]+\\}")
|
||||
"nucleo = \"0.5.0\"")
|
||||
(("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.
|
||||
(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.
|
||||
(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 = []"))))
|
||||
(add-after 'patch-git-deps-to-vendor 'add-version-to-workspace-deps
|
||||
"runfiles = \"0.1.0\""))))
|
||||
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
|
||||
(lambda _
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; Add version = "0.124.0" to internal path dependencies.
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; Add version = "0.98.0" to internal path dependencies.
|
||||
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
|
||||
(substitute* cargo-files
|
||||
;; Handle inline deps: name = { path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.124.0\", path = "))
|
||||
(string-append name " = { version = \"0.98.0\", path = "))
|
||||
;; Handle inline deps with package: name = { package = "...", path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
|
||||
(string-append name " = { version = \"0.124.0\", package = "))
|
||||
(string-append name " = { version = \"0.98.0\", package = "))
|
||||
;; Handle section deps: [dependencies.X] with path = "..."
|
||||
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
|
||||
(string-append path-line "\nversion = \"0.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.98.0\""))))))
|
||||
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash-bin (string-append
|
||||
@@ -685,14 +325,6 @@
|
||||
(string-append "\"" bash-bin "/bash "))
|
||||
(("\"/bin/sh ")
|
||||
(string-append "\"" bash-bin "/sh "))
|
||||
;; Single-quoted paths in test assertion strings,
|
||||
;; e.g. "exec '/bin/bash' -c ...". Must match the
|
||||
;; double-quoted substitutions above so both sides
|
||||
;; of assert_eq!/contains use the store path.
|
||||
(("'/bin/bash'")
|
||||
(string-append "'" bash-bin "/bash'"))
|
||||
(("'/bin/sh'")
|
||||
(string-append "'" bash-bin "/sh'"))
|
||||
;; coreutils.
|
||||
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
|
||||
(string-append "\"" coreutils-bin "/" cmd "\""))
|
||||
@@ -707,150 +339,42 @@
|
||||
(string-append "\"" git-bin "/git\""))
|
||||
(("\"/usr/bin/sed\"")
|
||||
(string-append "\"" sed-bin "/sed\"")))
|
||||
;; Bare Command::new("git") and Command::new("ls")
|
||||
;; in codex source files that exec internally.
|
||||
(substitute* (find-files "git-utils" "\\.rs$")
|
||||
(("Command::new\\(\"git\"\\)")
|
||||
(string-append "Command::new(\"" git-bin "/git\")")))
|
||||
(substitute* "tui/src/get_git_diff.rs"
|
||||
(("Command::new\\(\"git\"\\)")
|
||||
(string-append "Command::new(\"" git-bin "/git\")")))
|
||||
(substitute* "core/src/turn_diff_tracker.rs"
|
||||
(("Command::new\\(\"git\"\\)")
|
||||
(string-append "Command::new(\"" git-bin "/git\")")))
|
||||
(substitute* "cloud-tasks/src/env_detect.rs"
|
||||
(("Command::new\\(\"git\"\\)")
|
||||
(string-append "Command::new(\"" git-bin "/git\")")))
|
||||
(substitute* "core/src/plugins/startup_sync.rs"
|
||||
(("\"git\",")
|
||||
(string-append "\"" git-bin "/git\",")))
|
||||
(substitute* "file-search/src/lib.rs"
|
||||
(("Command::new\\(\"ls\"\\)")
|
||||
(string-append "Command::new(\"" coreutils-bin "/ls\")")))
|
||||
;; Neutralize pager with absolute path to cat.
|
||||
(substitute* "core/src/unified_exec/process_manager.rs"
|
||||
(("\"PAGER\", \"cat\"")
|
||||
(string-append "\"PAGER\", \"" coreutils-bin "/cat\""))
|
||||
(("\"GIT_PAGER\", \"cat\"")
|
||||
(string-append "\"GIT_PAGER\", \"" coreutils-bin "/cat\""))
|
||||
(("\"GH_PAGER\", \"cat\"")
|
||||
(string-append "\"GH_PAGER\", \"" coreutils-bin "/cat\"")))
|
||||
;; Bare /bin/sleep inside a format! string
|
||||
;; (no surrounding double quotes, so the main
|
||||
;; pattern does not match).
|
||||
(substitute*
|
||||
"shell-escalation/src/unix/escalate_server.rs"
|
||||
(("/bin/sleep")
|
||||
(string-append coreutils-bin "/sleep")))
|
||||
;; @SHELL@ placeholder from test-shebangs patch
|
||||
(substitute*
|
||||
(list "rmcp-client/src/program_resolver.rs"
|
||||
"tui/src/external_editor.rs")
|
||||
(("@SHELL@")
|
||||
(string-append bash-bin "/sh")))
|
||||
;; Shebangs inside raw string literals (r#"..."#)
|
||||
;; that are written to scripts at runtime. The
|
||||
;; main "/bin/sh" patterns only match double-quoted
|
||||
;; occurrences; these shebangs have no surrounding
|
||||
;; double quotes.
|
||||
;; shebang in test-only file
|
||||
(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")
|
||||
"core/tests/suite/user_notification.rs"
|
||||
(("#!/bin/bash")
|
||||
(string-append "#!" bash-bin "/bash"))
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" bash-bin "/sh")))
|
||||
;; Test helpers pass env: Default::default() to the
|
||||
;; spawn code which calls env_clear(), leaving
|
||||
;; processes with no PATH. Inject the build-time
|
||||
;; PATH so tests find coreutils, bash, etc.
|
||||
(substitute* (find-files "." "\\.rs$")
|
||||
(("env: Default::default\\(\\)")
|
||||
(string-append
|
||||
"env: std::env::var(\"PATH\")"
|
||||
".into_iter()"
|
||||
".map(|p| (\"PATH\".to_string(), p))"
|
||||
".collect()")))
|
||||
;; Test-only absolute path; bare name works via PATH.
|
||||
(substitute* "exec-server/tests/exec_process.rs"
|
||||
(("\"/usr/bin/python3\"")
|
||||
"\"python3\""))
|
||||
;; Same empty-env issue but in JSON literals
|
||||
;; (serde_json::json! macro).
|
||||
(substitute* "exec-server/tests/process.rs"
|
||||
(("\"env\": \\{\\}")
|
||||
(string-append
|
||||
"\"env\": {\"PATH\": \""
|
||||
(getenv "PATH")
|
||||
"\"}"))))))
|
||||
(add-before 'build 'set-bubblewrap-source
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CODEX_BWRAP_SOURCE_DIR"
|
||||
(string-append
|
||||
(assoc-ref inputs "bubblewrap-source")
|
||||
"/"))))
|
||||
(add-before 'build 'create-node-version-file
|
||||
(lambda _
|
||||
(call-with-output-file "guix-vendor/node-version.txt"
|
||||
(lambda (port)
|
||||
(display "22.22.0" port)))))
|
||||
(string-append "#!" bash-bin "/bash"))))))
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
;; HOME must not be a prefix of /tmp, otherwise
|
||||
;; the TUI's path shortener replaces /tmp/... with
|
||||
;; ~/... 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"))))))
|
||||
(native-inputs `(("bubblewrap" ,bubblewrap) ;tests need bwrap on PATH
|
||||
("clang" ,clang)
|
||||
("cmake-minimal" ,cmake-minimal)
|
||||
("libunwind" ,libunwind)
|
||||
("lsof" ,lsof) ;app-server tests
|
||||
("nss-certs-for-test" ,nss-certs-for-test) ;OTLP gRPC TLS
|
||||
("perl" ,perl)
|
||||
("procps" ,procps) ;tests use ps
|
||||
("python-minimal" ,python-minimal)
|
||||
("pkg-config" ,pkg-config)
|
||||
("bubblewrap-source" ,(package-source bubblewrap))))
|
||||
(setenv "HOME" "/tmp")
|
||||
(setenv "USER" "nixbld"))))))
|
||||
(native-inputs (list clang ;bindgen uses libclang to parse BoringSSL's C headers
|
||||
cmake-minimal ;BoringSSL is compiled from C source
|
||||
libunwind ;BoringSSL tests verify stack unwinding in assembly
|
||||
perl python-minimal ;for tests
|
||||
pkg-config))
|
||||
(inputs (cons* bash-minimal coreutils git-minimal sed
|
||||
libcap oniguruma openssl sqlite zlib `(,zstd "lib")
|
||||
openssl sqlite `(,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
|
||||
"Codex is an AI-powered coding assistant that runs in the terminal.
|
||||
It provides an interactive TUI for conversations with AI models, with
|
||||
support for shell command execution, file editing, and code generation.
|
||||
Configure providers via @file{~/.codex/config.toml}.
|
||||
|
||||
codex-code-mode's V8 Javascript executor is disabled.")
|
||||
Configure providers via @file{~/.codex/config.toml}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public codex-acp
|
||||
(package
|
||||
(name "codex-acp")
|
||||
(version "0.11.1")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -859,8 +383,9 @@ codex-code-mode's V8 Javascript executor is disabled.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rlgkbvrbdl5jhf49sjn2mifn2rq6z0vwf0gard23y1bz6sr3wmr"))
|
||||
(patches (search-patches "codex-acp-0.11.1-remove-patch-sections.patch"))))
|
||||
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
|
||||
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
|
||||
"codex-acp-0.9.2-replace-result-flatten.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -868,43 +393,13 @@ codex-code-mode's V8 Javascript executor is disabled.")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-codex-deps
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(lambda _
|
||||
;; Rewrite git dependencies to use vendored sources from rust-codex
|
||||
(substitute* "Cargo.toml"
|
||||
(("git = \"https://github.com/openai/codex\", tag = \"rust-v0.117.0\"")
|
||||
"version = \"0.117.0\""))
|
||||
;; Disable V8 runtime in codex-code-mode (transitive dep).
|
||||
(let ((port (open-file "Cargo.toml" "a")))
|
||||
(display "
|
||||
[dependencies.codex-code-mode]
|
||||
version = \"0.117.0\"
|
||||
default-features = false
|
||||
" port)
|
||||
(close-port port))
|
||||
;; Point codex-linux-sandbox at system bubblewrap source.
|
||||
(setenv "CODEX_BWRAP_SOURCE_DIR"
|
||||
(string-append
|
||||
(assoc-ref inputs "bubblewrap-source")
|
||||
"/"))))
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
(setenv "USER" "nixbld")))
|
||||
(add-before 'build 'create-node-version-file
|
||||
(lambda _
|
||||
;; codex-core's js_repl uses include_str! to read
|
||||
;; node-version.txt four directories up from its source;
|
||||
;; create it where the vendored crate expects it.
|
||||
(call-with-output-file "guix-vendor/node-version.txt"
|
||||
(lambda (port)
|
||||
(display "22.22.0" port))))))))
|
||||
(native-inputs
|
||||
`(("cmake-minimal" ,cmake-minimal)
|
||||
("clang" ,clang)
|
||||
("pkg-config" ,pkg-config)
|
||||
("bubblewrap-source" ,(package-source bubblewrap))))
|
||||
(inputs (cons* libcap openssl sqlite zlib `(,zstd "lib")
|
||||
(cargo-inputs 'codex-acp)))
|
||||
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
|
||||
"version = \"0.0.0\"")))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
|
||||
(home-page "https://github.com/zed-industries/codex-acp")
|
||||
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
|
||||
(description
|
||||
|
||||
@@ -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.")))
|
||||
@@ -34,7 +34,7 @@
|
||||
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2021, 2026 Ahmad Jarara <ajarara@fastmail.com>
|
||||
;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
|
||||
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
@@ -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
|
||||
@@ -3005,13 +3003,17 @@ can append files to the end of such compressed archives.")
|
||||
"00ibddiy62kbs9wl52c35j0hbqanx6pi7lvzkpzmbsizkj8mhp1p"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~'("-DWITH_TESTS=ON"
|
||||
"-DBUILD_SHARED_LIBS=ON")))
|
||||
'(#:tests? #f
|
||||
#:configure-flags
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(list
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DCBOR_CUSTOM_ALLOC=ON"
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR=" lib)
|
||||
(string-append "-DCMAKE_INSTALL_RPATH=" lib)))))
|
||||
(synopsis "The C library for parsing and generating CBOR")
|
||||
(native-inputs
|
||||
(list cmocka))
|
||||
(description
|
||||
"@acronym{CBOR, The Concise Binary Object Representation} is a data format
|
||||
whose design goals include the possibility of extremely small code size, fairly
|
||||
|
||||
+91
-393
@@ -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.25.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -521,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
|
||||
"/crun-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy"))))
|
||||
"02kksvnja234k8mpq5j7yms8npbpvh8iz3k03h21lwcqzqsb88rx"))))
|
||||
(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
|
||||
@@ -1016,7 +714,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
|
||||
(define-public podman
|
||||
(package
|
||||
(name "podman")
|
||||
(version "5.8.2")
|
||||
(version "5.8.1")
|
||||
(outputs '("out" "docker"))
|
||||
(properties
|
||||
`((output-synopsis "docker" "docker alias for podman")
|
||||
@@ -1029,7 +727,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
|
||||
(url "https://github.com/containers/podman")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "12bmzbfyjsf0mwnam38cw9ib54wj1znh5b7lxzdyll9cvvkhqisr"))
|
||||
(base32 "1wdsdc0nj4m1v8mn95dhavi87ad0adqmld70da59gvp2abff5f0f"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -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
|
||||
|
||||
@@ -1,226 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;;
|
||||
;;; 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 coreboot)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
(define %coreboot-version "26.03")
|
||||
|
||||
(define %coreboot-origin
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit %coreboot-version)))
|
||||
(file-name (git-file-name "coreboot" %coreboot-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0436rr0vibh35phvkxrc939njvrmnfq9xw87y1b0nlllglvq07kk"))))
|
||||
|
||||
(define-public bincfg
|
||||
(package
|
||||
(name "bincfg")
|
||||
(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)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/bincfg")))
|
||||
(add-after 'build 'build-binaries
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(for-each
|
||||
(lambda (target result)
|
||||
(apply invoke "make" (string-append "gen-" target) make-flags)
|
||||
(rename-file result
|
||||
(string-append target ".bin")))
|
||||
(list
|
||||
;; generate GbE for X200
|
||||
"gbe-ich9m"
|
||||
;; generate GbE for X220/x230
|
||||
"gbe-82579LM"
|
||||
;; generate IFD for X200
|
||||
"ifd-x200")
|
||||
(list
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_0_fd.bin"))))
|
||||
;; The Makefile has no install target.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(lib (string-append #$output "/lib/bincfg"))
|
||||
(data (string-append #$output "/share/bincfg")))
|
||||
;; Install the program
|
||||
(install-file "bincfg" bin)
|
||||
;; And its data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path data))
|
||||
(append (find-files "." ".*\\.set")
|
||||
(find-files "." ".*\\.spec")))
|
||||
;; And the files generated with the data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path lib))
|
||||
(find-files "." ".*\\.bin"))))))))
|
||||
(native-inputs (list bison flex))
|
||||
(home-page "https://coreboot.org")
|
||||
(synopsis "Encoder/decoder for binary formats described in text files")
|
||||
(description "
|
||||
The bincfg program comes with specifications files for the following binary
|
||||
formats:
|
||||
@itemize
|
||||
@item Various DDR3 and DDR4 SPD
|
||||
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
|
||||
@item Configuration data for the Intel Gigabit Ethernet controller present in
|
||||
the Intel ICH9-M chipset.
|
||||
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
|
||||
@item Configuration data for the ITE IT8718F SuperIO
|
||||
@end itemize
|
||||
It also comes with example files generated by bincfg.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ifdtool
|
||||
(package
|
||||
(name "ifdtool")
|
||||
(version %coreboot-version)
|
||||
(source %coreboot-origin)
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#: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/ifdtool")))
|
||||
(delete 'configure)) ; no configure script
|
||||
#:tests? #f)) ; no test suite
|
||||
(home-page "https://doc.coreboot.org/util/ifdtool/")
|
||||
(synopsis "Intel Firmware Descriptor dumper")
|
||||
(description "This package provides @command{ifdtool}, a program to
|
||||
dump Intel Firmware Descriptor data of an image file.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public intelmetool
|
||||
(package
|
||||
(name "intelmetool")
|
||||
(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/intelmetool")))
|
||||
(delete 'configure) ;no configure script
|
||||
(delete 'check))))
|
||||
(inputs (list pciutils zlib))
|
||||
(home-page
|
||||
"https://github.com/coreboot/coreboot/tree/main/util/intelmetool/")
|
||||
(synopsis "Intel Management Engine tools")
|
||||
(description "This package provides tools for working with Intel
|
||||
Management Engine (ME). You need to @code{sudo rmmod mei_me} and
|
||||
@code{sudo rmmod mei} before using this tool. Also pass
|
||||
@code{iomem=relaxed} to the Linux kernel command line.")
|
||||
(license license:gpl2)
|
||||
|
||||
;; This is obviously an Intel thing, plus it requires <cpuid.h>.
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))))
|
||||
|
||||
(define-public nvramtool
|
||||
(package
|
||||
(name "nvramtool")
|
||||
(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/nvramtool")))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://coreboot.org")
|
||||
(synopsis "Command line tool that can edit Coreboot settings")
|
||||
(description "@command{nvramtool} can see and/or modify Coreboot settings
|
||||
like the serial port speed, log level, etc. It requires Coreboot to be compiled
|
||||
with CONFIG_USE_OPTION_TABLE and some options require the iomem=relaxed kernel
|
||||
command line to work. Features:
|
||||
@itemize
|
||||
@item If Coreboot was compiled without CONFIG_STATIC_OPTION_TABLE, it can change
|
||||
its settings, which are applied after a reboot.
|
||||
@item It can modify Coreboot images default settings with
|
||||
@command{nvramtool -C coreboot.rom [...]}.
|
||||
@item It has various options related to the file format used to store these
|
||||
settings.
|
||||
@item It can also read/write the CMOS memory where the Coreboot settings can be
|
||||
located.
|
||||
@end itemize")
|
||||
;; Some files are "GPL-2.0-only or BSD-3-Clause", other are GPL-2.0-only
|
||||
;; and anyway there is. There is also a license declaration in
|
||||
;; cli/nvramtool.8 that applies to "This program" which uses the GPLv2.
|
||||
(license license:gpl2)))
|
||||
+44
-196
@@ -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>
|
||||
@@ -44,7 +44,7 @@
|
||||
;;; Copyright © 2024 Jakob Kirsch <jakob.kirsch@web.de>
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
|
||||
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2025 Romain Garbage <romain.garbage@inria.fr>
|
||||
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
@@ -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.
|
||||
;;;
|
||||
@@ -134,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)
|
||||
@@ -685,6 +683,38 @@ computer program to introspect and modify an object at runtime. It is also
|
||||
the name of the library itself, which is written in C++.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rct
|
||||
(let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "rct")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Andersbakken/rct")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1m2931jacka27ghnpgf1z1plkkr64z0pga4r4zdrfpp2d7xnrdvb"))
|
||||
(patches (search-patches "rct-add-missing-headers.patch"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
'("-DWITH_TESTS=ON" ; To run the test suite
|
||||
"-DRCT_RTTI_ENABLED=ON")))
|
||||
(native-inputs
|
||||
(list cppunit pkg-config))
|
||||
(inputs
|
||||
(list openssl zlib))
|
||||
(home-page "https://github.com/Andersbakken/rct")
|
||||
(synopsis "C++ library providing Qt-like APIs on top of the STL")
|
||||
(description "Rct is a set of C++ tools that provide nicer (more Qt-like)
|
||||
APIs on top of Standard Template Library (@dfn{STL}) classes.")
|
||||
(license (list license:expat ; cJSON
|
||||
license:bsd-4))))) ; everything else (LICENSE.txt)
|
||||
|
||||
(define-public plutovg
|
||||
(package
|
||||
(name "plutovg")
|
||||
@@ -937,85 +967,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")
|
||||
@@ -1752,38 +1703,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")
|
||||
@@ -3305,7 +3224,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
|
||||
@@ -3472,7 +3392,7 @@ which can evaluate Jsonnet files and expressions.")))
|
||||
(define-public simdjson
|
||||
(package
|
||||
(name "simdjson")
|
||||
(version "4.6.3")
|
||||
(version "3.13.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -3481,7 +3401,7 @@ which can evaluate Jsonnet files and expressions.")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0729mxnc2wjb94gr4znwlzfmgw5w2v9kd8glvn3vnjhkdnd87zry"))))
|
||||
"005yli56nrkvlyx9g9cq8dczk42r9a18l162i2s5k81lj3y7mcrp"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; tests require downloading dependencies
|
||||
@@ -3720,7 +3640,7 @@ std::wstring, etc).")
|
||||
(define-public fast-float
|
||||
(package
|
||||
(name "fast-float")
|
||||
(version "8.2.5")
|
||||
(version "8.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -3729,7 +3649,7 @@ std::wstring, etc).")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l13nsl4sgq71m7aifrmmmfyl14vp48vqdh7pb50hxqq6f8bq2b5"))))
|
||||
"19x1yklf641yrpad6lk4cq3jmird10d5ig8hicm3p9lxh92k78cl"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3740,10 +3660,12 @@ std::wstring, etc).")
|
||||
(add-after 'unpack 'patch-cmake-tests
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
(substitute* "tests/CMakeLists.txt"
|
||||
(("FetchContent_MakeAvailable\\(supplemental_test_files.*")
|
||||
(("FetchContent_GetProperties\\(supplemental_test_files.*")
|
||||
"")
|
||||
(("if\\(NOT supplemental_test_files_POPULATED.*")
|
||||
(string-append
|
||||
"set(supplemental_test_files_BINARY_DIR "
|
||||
#$fast-float-test-files ")\n"))))))))
|
||||
#$fast-float-test-files ")\nif(0)\n"))))))))
|
||||
(native-inputs (list doctest fast-float-test-files))
|
||||
(home-page "https://github.com/fastfloat/fast_float")
|
||||
(synopsis "Floating point number parser for C++")
|
||||
@@ -3780,39 +3702,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")
|
||||
@@ -4639,47 +4528,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")
|
||||
|
||||
+342
-1174
File diff suppressed because it is too large
Load Diff
@@ -135,10 +135,20 @@
|
||||
(search-patches
|
||||
"ath9k-htc-firmware-binutils.patch")))
|
||||
((target-mingw? target)
|
||||
(package-with-extra-patches binutils
|
||||
(search-patches
|
||||
"binutils-cross-windres.patch"
|
||||
"binutils-mingw-w64-deterministic.patch")))
|
||||
(package-with-extra-patches
|
||||
(package-with-extra-configure-variable
|
||||
;; mingw binutils does not work correctly when configured
|
||||
;; with `--enable-compressed-debug-sections`. An error
|
||||
;; like the following will occur whenever you try to link:
|
||||
;;
|
||||
;; x86_64-w64-mingw32-ld: final link failed: bad value
|
||||
;;
|
||||
;; TODO: This seems like a deeper problem that warrants
|
||||
;; deeper investigation.
|
||||
binutils "--enable-compressed-debug-sections" "no")
|
||||
(search-patches
|
||||
"binutils-cross-windres.patch"
|
||||
"binutils-mingw-w64-deterministic.patch")))
|
||||
(else binutils))
|
||||
target)))
|
||||
|
||||
|
||||
+14
-13
@@ -276,17 +276,18 @@ Ed448-Goldilocks and Curve448, using the Decaf encoding.")
|
||||
(define-public libsodium
|
||||
(package
|
||||
(name "libsodium")
|
||||
(version "1.0.22")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jedisct1/libsodium")
|
||||
(commit (string-append version "-RELEASE"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05lqdn6nzldsia5mv5a9xfvc5k0kybh9snwv7qsb135gva4bpjwk"))))
|
||||
(version "1.0.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
"https://download.libsodium.org/libsodium/"
|
||||
"releases/libsodium-" version ".tar.gz")
|
||||
(string-append
|
||||
"https://download.libsodium.org/libsodium/"
|
||||
"releases/old/libsodium-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Portable NaCl-based crypto library")
|
||||
(description
|
||||
@@ -1010,7 +1011,7 @@ SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
|
||||
(define-public rhash
|
||||
(package
|
||||
(name "rhash")
|
||||
(version "1.4.6")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1019,7 +1020,7 @@ SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
|
||||
(file-name (string-append "rhash-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ylkxhkj4nzmb0iampn2lv7v4yw59x7dl8mdcxqcx2mfxv7ijq4z"))))
|
||||
"0glaghjvwh9ziiqf599v0fdr6jrgc7lcnriq0h7r41k3jrkglh0y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
||||
+90
-257
@@ -69,9 +69,6 @@
|
||||
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
|
||||
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
@@ -128,7 +125,6 @@
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages guile-xyz)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages language)
|
||||
@@ -201,7 +197,6 @@
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system guile)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
@@ -1061,31 +1056,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")
|
||||
@@ -1191,70 +1161,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
|
||||
@@ -1268,7 +1241,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/")
|
||||
@@ -1572,17 +1545,17 @@ and high-availability (HA).")
|
||||
(license license:gpl2))) ;'COPYING' says "version 2" only
|
||||
|
||||
;; Don't forget to update the other postgresql packages when upgrading this one.
|
||||
(define-public postgresql-17
|
||||
(define-public postgresql-16
|
||||
(package
|
||||
(name "postgresql")
|
||||
(version "17.7")
|
||||
(version "16.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dg9labqgph2idaypb8khdvbag29pr3h4bqv5w8k7kgc08rk97pg"))
|
||||
"0vvd73rzj0sl294v15bh8yslakqv412bxqzlkqxyjwxa8pb6c5wp"))
|
||||
(patches (search-patches
|
||||
"postgresql-disable-normalize_exec_path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -1612,22 +1585,18 @@ and high-availability (HA).")
|
||||
(add-after 'build 'build-contrib
|
||||
(lambda _
|
||||
(invoke "make" "-C" "contrib")))
|
||||
;; FIXME: Install manpages too.
|
||||
;; The 'install-mangpages phase in postgresql-16 fails silently here.
|
||||
(add-after 'install 'install-contrib
|
||||
(lambda _
|
||||
(invoke "make" "-C" "contrib" "install"))))))
|
||||
(invoke "make" "-C" "contrib" "install")))
|
||||
(add-after 'install 'install-manuals
|
||||
(lambda _
|
||||
(with-directory-excursion "doc/src/sgml"
|
||||
(invoke "make" "install-man")
|
||||
(invoke "make" "postgres.info")
|
||||
(install-file "postgres.info"
|
||||
(string-append #$output "/share/info"))))))))
|
||||
(native-inputs
|
||||
(list bison
|
||||
docbook-xml-4.5
|
||||
docbook-xsl
|
||||
docbook2x
|
||||
flex
|
||||
libxml2
|
||||
libxslt
|
||||
perl
|
||||
pkg-config
|
||||
texinfo))
|
||||
(list docbook-xml-4.5 docbook2x libxml2 perl pkg-config texinfo))
|
||||
(inputs
|
||||
(list icu4c readline `(,util-linux "lib") openssl zlib))
|
||||
(home-page "https://www.postgresql.org/")
|
||||
@@ -1641,49 +1610,18 @@ TIMESTAMP. It also supports storage of binary large objects, including
|
||||
pictures, sounds, or video.")
|
||||
(license (license:x11-style "file://COPYRIGHT"))))
|
||||
|
||||
(define-public postgresql-16
|
||||
(package
|
||||
(inherit postgresql-17)
|
||||
(name "postgresql")
|
||||
(version "16.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hib575m9x3z8c71gkcv9jsyq77d3qk7q2zgzvfy6clwrvs8b16y"))
|
||||
(patches (search-patches
|
||||
"postgresql-disable-normalize_exec_path.patch"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments postgresql-17)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'install 'install-manuals
|
||||
(lambda _
|
||||
(with-directory-excursion "doc/src/sgml"
|
||||
(invoke "make" "install-man")
|
||||
(invoke "make" "postgres.info")
|
||||
(install-file "postgres.info"
|
||||
(string-append #$output "/share/info")))))))))
|
||||
(native-inputs (modify-inputs (package-native-inputs postgresql-17)
|
||||
(delete "bison")
|
||||
(delete "docbook-xsl")
|
||||
(delete "flex")
|
||||
(delete "libxslt")))))
|
||||
|
||||
(define-public postgresql-15
|
||||
(package
|
||||
(inherit postgresql-16)
|
||||
(name "postgresql")
|
||||
(version "15.15")
|
||||
(version "15.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(inherit (package-source postgresql-16))
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ais46b2ij38y75i1w336as03pybyndsd2pp2q8gdjq9igmsllsp"))
|
||||
"0snbxmlygf7m4cxjpscmz3yjn4lnqsw313y9xgpv7vk9k9gm20s4"))
|
||||
(patches (search-patches
|
||||
"postgresql-disable-resolve_symlinks.patch"))))
|
||||
(native-inputs (modify-inputs native-inputs
|
||||
@@ -1695,26 +1633,26 @@ pictures, sounds, or video.")
|
||||
(package
|
||||
(inherit postgresql-15)
|
||||
(name "postgresql")
|
||||
(version "14.20")
|
||||
(version "14.13")
|
||||
(source (origin
|
||||
(inherit (package-source postgresql-15))
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sv45dsmyplfys6dfdjdwmrczl46s82x35xdh311nxj02q7z29vm"))))))
|
||||
"0misc5yiklflz96n7wxcdzzg0lcc4ahd0flzqsg6mcjs955krajr"))))))
|
||||
|
||||
(define-deprecated/public postgresql-13 #f
|
||||
(define-public postgresql-13
|
||||
(package
|
||||
(inherit postgresql-14)
|
||||
(version "13.23")
|
||||
(version "13.16")
|
||||
(source (origin
|
||||
(inherit (package-source postgresql-14))
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mhz0h7b3dmc0nnxz1wp46j95jhyi3girykkr3gbg4mg4qkwihvf"))))))
|
||||
"0rc8rpsw2lwa5af35zd8iifah02wg2rnn1i890h2h8zh55hvpjy9"))))))
|
||||
|
||||
(define-public postgresql postgresql-14)
|
||||
|
||||
@@ -1753,7 +1691,7 @@ pictures, sounds, or video.")
|
||||
(define-public timescaledb
|
||||
(package
|
||||
(name "timescaledb")
|
||||
(version "2.26.1")
|
||||
(version "2.16.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1762,7 +1700,7 @@ pictures, sounds, or video.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zfm224jyz874pk4r9qlz5c2mn1xjvairhxh6widlbh3mn62m3j8"))
|
||||
"1v17x00a15il4r3rbr0waqjv1nwzy6rcqxgfi2hdk1x235s5dg5h"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove files carrying the proprietary TIMESCALE license.
|
||||
@@ -1772,7 +1710,8 @@ pictures, sounds, or video.")
|
||||
'("scripts/c_license_header-timescale.h"
|
||||
"scripts/license_tsl.spec"
|
||||
"scripts/sql_license_tsl.sql"
|
||||
"test/t/001_replication_telemetry.pl"
|
||||
"test/perl/AccessNode.pm"
|
||||
"test/perl/DataNode.pm"
|
||||
"test/perl/TimescaleNode.pm"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -1856,7 +1795,7 @@ pictures, sounds, or video.")
|
||||
(lambda* (#:rest args)
|
||||
(apply (assoc-ref gnu:%standard-phases 'check)
|
||||
#:test-target "regresschecklocal" args))))))
|
||||
(inputs (list openssl postgresql-17))
|
||||
(inputs (list openssl postgresql))
|
||||
(home-page "https://www.timescale.com/")
|
||||
(synopsis "Time-series extension for PostgreSQL")
|
||||
(description
|
||||
@@ -3105,7 +3044,7 @@ temporary directory, and destroys it when the perl script exits.")
|
||||
(define-public unixodbc
|
||||
(package
|
||||
(name "unixodbc")
|
||||
(version "2.3.14")
|
||||
(version "2.3.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -3113,7 +3052,7 @@ temporary directory, and destroys it when the perl script exits.")
|
||||
"ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0wa7a82h5dsba23155gfhh1sp4dsbaxq6pppp6q31z017vg18a2f"))))
|
||||
(base32 "01xj65d02i3yjy7p9z08y9jakcs5szmz4rask868n7387nn3x0sj"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Data source abstraction library")
|
||||
(description "Unixodbc is a library providing an API with which to access
|
||||
@@ -3123,64 +3062,6 @@ Driver.")
|
||||
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
|
||||
(home-page "https://www.unixodbc.org")))
|
||||
|
||||
(define-public sqliteodbc
|
||||
(package
|
||||
(name "sqliteodbc")
|
||||
(version "0.99991")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.ch-werner.de/sqliteodbc/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p4avhqxnd2l49g3vpzwrmdi8wxyqzy0vswalaagmqfdsfwav52d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
#~(list "--disable-static"
|
||||
(string-append "--with-sqlite3=" #$(this-package-input "sqlite"))
|
||||
(string-append "--with-odbc=" #$(this-package-input "unixodbc")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'create-lib-directory
|
||||
(lambda _
|
||||
(mkdir-p (string-append #$output "/lib"))))
|
||||
(add-after 'install 'remove-extra-sqlite-extensions
|
||||
(lambda _
|
||||
;; Keep this package focused on the ODBC driver itself.
|
||||
(for-each delete-file
|
||||
(find-files (string-append #$output "/lib")
|
||||
"^libsqlite3_mod_.*\\.(la|so)$"))))
|
||||
(add-after 'install 'install-odbcinst.ini
|
||||
(lambda _
|
||||
(let ((dir (string-append #$output "/share/sqliteodbc")))
|
||||
(mkdir-p dir)
|
||||
(call-with-output-file (string-append dir "/odbcinst.ini")
|
||||
(lambda (port)
|
||||
(display
|
||||
(string-append
|
||||
"[SQLite3]\n"
|
||||
"Description = SQLite3 ODBC Driver\n"
|
||||
"Driver = " #$output "/lib/libsqlite3odbc.so\n"
|
||||
"Setup = " #$output "/lib/libsqlite3odbc.so\n"
|
||||
"Threading = 2\n")
|
||||
port)))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "ODBCSYSINI")
|
||||
(files '("share/sqliteodbc"))
|
||||
(separator #f))))
|
||||
(inputs (list sqlite unixodbc))
|
||||
(home-page "http://www.ch-werner.de/sqliteodbc/")
|
||||
(synopsis "ODBC driver for SQLite")
|
||||
(description
|
||||
"SQLiteODBC provides an ODBC driver for SQLite 3 databases. It installs
|
||||
the shared library and a driver registration file so applications using
|
||||
unixODBC can resolve the @code{SQLite3} driver name from a Guix profile.")
|
||||
(license license:tcl/tk)))
|
||||
|
||||
(define-public nanodbc
|
||||
(package
|
||||
(name "nanodbc")
|
||||
@@ -4182,8 +4063,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
|
||||
@@ -5072,54 +4953,6 @@ postgresql = postgresql://nixbld@/yoyo_test~%")))
|
||||
files or Python scripts that define a list of migration steps.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public mutastructura
|
||||
(package
|
||||
(name "mutastructura")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/jjba23/mutastructura")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08vzlc5imavqf3bdzgbh70c7z44xjhf05gr7i2g5ksl49lv39gzh"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:source-directory "src"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'install-program-files
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share")))
|
||||
(copy-recursively "resources"
|
||||
(string-append share "/resources"))
|
||||
(install-file "scripts/mutastructura" bin)
|
||||
(install-file "scripts/log.bash"
|
||||
(string-append share "/scripts/"))
|
||||
(chmod (string-append bin "/mutastructura") #o755)))))))
|
||||
(native-inputs (list guile-3.0))
|
||||
(propagated-inputs (list guile-dbi
|
||||
guile-dbd-mysql
|
||||
guile-dbd-sqlite3
|
||||
guile-dbd-postgresql
|
||||
guile-gcrypt))
|
||||
(inputs (list guile-3.0 bash-minimal))
|
||||
(home-page "https://codeberg.org/jjba23/mutastructura")
|
||||
(synopsis "Relational database schema migrations powered by Guile Scheme")
|
||||
(description
|
||||
"Mutastructura provides a familiar, declarative and transactional
|
||||
approach to managing database states. It exposes a user-friendly
|
||||
@acronym{CLI, command-line interface} and has support for PostgreSQL, MySQL, and SQLite.
|
||||
It also exposes library functions and can be imported and used directly from other Guile code.
|
||||
|
||||
Features include executing migrations transactionally and computing SHA256
|
||||
checksums to track schema evolution in a @code{migrations_history} table.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public python-mysqlclient
|
||||
(package
|
||||
(name "python-mysqlclient")
|
||||
|
||||
@@ -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))))
|
||||
+12
-12
@@ -20,6 +20,18 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages debian)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
@@ -28,7 +40,6 @@
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages guile)
|
||||
@@ -42,17 +53,6 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
|
||||
+20
-21
@@ -978,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")
|
||||
@@ -1038,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)
|
||||
@@ -1048,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")))))
|
||||
@@ -1066,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
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
(define-public diffoscope
|
||||
(package
|
||||
(name "diffoscope")
|
||||
(version "317")
|
||||
(version "315")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -88,7 +88,7 @@
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "13r96c49wrpx0xa8bbkki832w58gjdgqb4khjsaawk5mb5yv4c39"))))
|
||||
(base32 "1q2q60hw36d1capqdrg6gp2220dg87bmxgmk52m7yml4xw13zi2p"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+17
-51
@@ -31,7 +31,7 @@
|
||||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025, 2026 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2025 Grigory Shepelev <shegeley@gmail.com>
|
||||
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
|
||||
|
||||
@@ -94,8 +94,6 @@
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages golang-compression)
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gtk)
|
||||
@@ -266,14 +264,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
|
||||
@@ -296,7 +294,6 @@ tmpfs/ramfs filesystems.")
|
||||
(,util-linux "lib")))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
pkg-config
|
||||
|
||||
;; For the tests.
|
||||
e2fsprogs
|
||||
@@ -311,6 +308,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")
|
||||
@@ -411,49 +420,6 @@ tables, and it understands a variety of different formats.")
|
||||
similarity.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gdu
|
||||
(package
|
||||
(name "gdu")
|
||||
(version "5.35.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dundee/gdu")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "051xf3wncdiavjwyl9djmni5vd2dqjgn6drkw2nm21c9l0rjfv6d"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "github.com/dundee/gdu/v5/cmd/gdu"
|
||||
#:unpack-path "github.com/dundee/gdu/v5"))
|
||||
(native-inputs
|
||||
(list go-github-com-dgraph-io-badger-v4
|
||||
go-github-com-fatih-color
|
||||
go-github-com-gdamore-tcell-v2
|
||||
go-github-com-h2non-filetype
|
||||
go-github-com-maruel-natural
|
||||
go-github-com-mattn-go-isatty
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-rivo-tview
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-stretchr-testify
|
||||
go-github-com-ulikunitz-xz
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-text
|
||||
go-gopkg-in-yaml-v3
|
||||
go-modernc-org-sqlite))
|
||||
(home-page "https://github.com/dundee/gdu")
|
||||
(synopsis "Disk usage analyzer")
|
||||
(description "Gdu is a disk usage analyzer written in Go. It is intended
|
||||
primarily for SSD disks where it can fully utilize parallel processing, but it
|
||||
also works on HDDs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public gpart
|
||||
;; The latest (0.3) release is from 2015 and is missing a crash fix.
|
||||
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")
|
||||
@@ -1265,7 +1231,7 @@ passphrases.")
|
||||
(define-public ndctl
|
||||
(package
|
||||
(name "ndctl")
|
||||
(version "84")
|
||||
(version "78")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1274,7 +1240,7 @@ passphrases.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jal7w4mk5l5j0qfays27kya8n1h2qwkncl0s317rfxp56bkjp6y"))))
|
||||
"0rhmxjajxxslsikixlf9cdg5vcn42h7zzqkqj5p5pshxch368kn0"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
;; The test suite runs but SKIPs all tests: do not consider this tested!
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
(define-public boinc-client
|
||||
(package
|
||||
(name "boinc-client")
|
||||
(version "8.2.12")
|
||||
(version "8.2.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -62,7 +62,7 @@
|
||||
(file-name (git-file-name "boinc" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0531n0yij1gh06xy6plwivbpmhqfq15jizg3rdgri40nz41rzbgr"))))
|
||||
"0ik9423ii6kal29jdn907pxy8w86zpi8n158qx1gcsh8lsaif1v5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+18
-3
@@ -201,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
|
||||
@@ -298,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")
|
||||
@@ -533,7 +549,6 @@ when coding custom template tags.")
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jazzband/django-taggit")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i8an3wcl7nygl5f565jcpyhyws9gabawazggxpf6m3vklxn3cj0"))))
|
||||
|
||||
@@ -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.
|
||||
;;;
|
||||
@@ -109,7 +108,9 @@
|
||||
(lambda _
|
||||
(invoke "cmake" "--install" "."))))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
`(("libconfig" ,libconfig)
|
||||
("libedit" ,libedit)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("lld-wrapper" ,(make-lld-wrapper lld-17 #:lld-as-ld? #t))
|
||||
("llvm" ,llvm-17)
|
||||
@@ -321,11 +322,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)))))
|
||||
|
||||
|
||||
+16
-266
@@ -1,13 +1,12 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015-2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2019-2021 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
|
||||
;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
@@ -22,11 +21,9 @@
|
||||
;;; Copyright © 2021, 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; 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>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -49,12 +46,12 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@@ -68,7 +65,6 @@
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
@@ -77,8 +73,6 @@
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages ragel)
|
||||
#:use-module (gnu packages serialization)
|
||||
@@ -90,176 +84,17 @@
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#: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 pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public adns
|
||||
(package
|
||||
(name "adns")
|
||||
(version "1.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(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"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; INFO: Tests expect real name resolution to work.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Make sure the programs under bin/ find libadns.so.
|
||||
(string-append "LDFLAGS=-Wl,-rpath -Wl,"
|
||||
#$output:out
|
||||
"/lib"))))
|
||||
(native-inputs
|
||||
(list m4))
|
||||
(home-page "https://www.gnu.org/software/adns/")
|
||||
(synopsis "Asynchronous DNS client library and utilities")
|
||||
(description
|
||||
"GNU adns is a C library that provides easy-to-use @acronym{DNS, Domain
|
||||
Name System} resolution functionality. The library is asynchronous, allowing
|
||||
several concurrent calls. The package also includes several command-line
|
||||
utilities for use in scripts.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public c-ares
|
||||
(package
|
||||
(name "c-ares")
|
||||
(version "1.34.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/c-ares/c-ares/releases/download/v"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0br2msk3bpl5myhjp9vr5j2scpspvbg2fpnz69dcrr4ycpnxnf7s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'filter-live-tests
|
||||
(lambda _
|
||||
;; Filter tests that require internet access.
|
||||
(setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))
|
||||
#$@(if (system-hurd?)
|
||||
#~((add-after 'unpack 'skip-tests
|
||||
(lambda _
|
||||
(substitute* "test/ares-test-main.cc"
|
||||
(("(^| )main *\\(.*" all)
|
||||
(string-append all " exit (77);\n")))))
|
||||
(add-after 'filter-live-tests 'filter-hurd-tests
|
||||
(lambda _
|
||||
(setenv "GTEST_FILTER"
|
||||
(string-append
|
||||
(getenv "GTEST_FILTER")
|
||||
":.*Basic/2"
|
||||
":.*CancelImmediate/2"
|
||||
":.*CancelImmediateGetHostByAddr/2"
|
||||
":.*CancelLater/1"
|
||||
":.*FamilyUnspecified/2"
|
||||
":.*FamilyV6/2"
|
||||
":.*GetAddrInfoParallelLookups/1"
|
||||
":.*GetHostByAddrDestroy/2"
|
||||
":.*GetHostByNameCNAMENoData/2"
|
||||
":.*GetHostByNameDestroyAbsolute/2"
|
||||
":.*GetHostByNameDestroyRelative/2"
|
||||
":.*GetHostByNameParallelLookups/1"
|
||||
":.*HostAlias/2"
|
||||
":.*HostAliasMissing/2"
|
||||
":.*HostAliasMissingFile/2"
|
||||
":.*NotImplResponse/2"
|
||||
":.*RefusedResponse/2"
|
||||
":.*Resend/1"
|
||||
":.*RetryWithoutEDNS/2"
|
||||
":.*SearchDomains/2"
|
||||
":.*SearchDomainsBare/2"
|
||||
":.*SearchDomainsServFailOnAAAA/2"
|
||||
":.*SearchDomainsWithResentReply/1"
|
||||
":.*SearchHighNdots/2"
|
||||
":.*SearchNoDataThenFail/2"
|
||||
":.*SearchNoDataThenNoDataBare/2"
|
||||
":.*SearchNoDataThenSuccess/2"
|
||||
":.*ServFailResponse/2"
|
||||
":.*SimpleQuery/2"
|
||||
":.*SockCallback/2"
|
||||
":.*SockConfigureCallback/2"
|
||||
":.*SortListV4/2"
|
||||
":.*SortListV6/2"
|
||||
":.*ThirdServer/2"
|
||||
":.*TruncationRetry/1"
|
||||
":.*UnspecifiedFamilyCname6A4/2"
|
||||
":.*UnspecifiedFamilyV4/2"
|
||||
":.*UnspecifiedFamilyV6/2")))))
|
||||
#~()))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://c-ares.haxx.se/")
|
||||
(synopsis "C library for asynchronous DNS requests")
|
||||
(description
|
||||
"C-ares is a C library that performs DNS requests and name resolution
|
||||
asynchronously. It is intended for applications which need to perform DNS
|
||||
queries without blocking, or need to perform multiple DNS queries in parallel.
|
||||
The primary examples of such applications are servers which communicate with
|
||||
multiple clients and programs with graphical user interfaces.")
|
||||
(license (license:x11-style "https://c-ares.haxx.se/license.html"))))
|
||||
|
||||
(define-public c-ares-for-node-lts
|
||||
(hidden-package c-ares))
|
||||
|
||||
(define-public c-ares-for-node-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(version "1.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://c-ares.haxx.se/download/c-ares-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s")))))))
|
||||
|
||||
;; INFO: gRPC requires a c-ares built with CMake in order to get the .cmake
|
||||
;; modules. We can not build c-ares itself with CMake because that would
|
||||
;; introduce a circular dependency through nghttp2.
|
||||
;;
|
||||
;; TODO: It would be nice if we could extract the modules somehow and make
|
||||
;; them work with the "normal" c-ares package instead of building a whole new
|
||||
;; library.
|
||||
(define-public c-ares/cmake
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; INFO: Tests require name resolution (the normal variant runs no
|
||||
;; tests).
|
||||
#:tests? #f)))))
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson))
|
||||
|
||||
(define-public cloudflare-cli
|
||||
(let ((commit "2d986d3ec1b0e3158c4bd40e8918947cb74aa392")
|
||||
@@ -308,58 +143,6 @@ protocol.")
|
||||
(home-page "https://github.com/earlchew/cloudflare-cli")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public ddclient
|
||||
(package
|
||||
(name "ddclient")
|
||||
(version "4.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ddclient/ddclient")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0sz4f7qx4yjg6q6ybhzilb7f0kshz46c54y3i4hq2nww2bhkc8a4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'patch-ddclient.in-shebang
|
||||
(lambda _
|
||||
;; This is run in the bootstrap phase, so patch before
|
||||
(patch-shebang "ddclient.in")))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/ddclient")
|
||||
`("PERL5LIB" ":" prefix
|
||||
,(map (lambda (input-name)
|
||||
(string-append (assoc-ref inputs input-name)
|
||||
"/lib/perl5/site_perl"))
|
||||
'("perl-json")))))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
perl-http-daemon
|
||||
perl-plack
|
||||
perl-test-mockmodule
|
||||
perl-test-tcp
|
||||
perl-test-warnings))
|
||||
(inputs
|
||||
(list curl
|
||||
perl
|
||||
perl-json
|
||||
bash-minimal))
|
||||
(home-page "https://github.com/ddclient/ddclient")
|
||||
(synopsis "Dynamic DNS update client")
|
||||
(description
|
||||
"ddclient is used to update dynamic DNS entries for accounts on many
|
||||
dynamic DNS services. It supports a wide range of routers and protocols,
|
||||
including Cloudflare, Namecheap, DynDNS, FreeDNS, Google Domains, and many
|
||||
more.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ldns
|
||||
(package
|
||||
(name "ldns")
|
||||
@@ -555,39 +338,6 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
||||
;; Source files only say GPL2 and GPL3 are allowed.
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
|
||||
(define-public dnsupdate
|
||||
(package
|
||||
(name "dnsupdate")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lopsided98/dnsupdate")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bp6mm0yhg4hs698xdmvcfad4jqf5rgb1cab88pfzyx9w52x0ag6"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-backend #~'unittest
|
||||
#:test-flags #~'("discover" "-p" "*_test.py")))
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-beautifulsoup4
|
||||
python-netifaces
|
||||
python-pyyaml
|
||||
python-requests))
|
||||
(home-page "https://github.com/lopsided98/dnsupdate")
|
||||
(synopsis "Modern and flexible dynamic DNS client")
|
||||
(description
|
||||
"Dnsupdate is a dynamic DNS client that provides support for multiple DNS
|
||||
services, including Afraid.org FreeDNS, Cloudflare, IETF standard DNS
|
||||
updates (nsupdate), and custom HTTP-based services. It uses YAML
|
||||
configuration files and supports multiple address detection methods.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; 'bind' is the name of a built-in Guile procedure, which is why we choose a
|
||||
;; different name here.
|
||||
(define-public isc-bind
|
||||
@@ -841,14 +591,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
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
#: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)
|
||||
@@ -199,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")
|
||||
@@ -373,26 +328,6 @@ application’s 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")
|
||||
|
||||
@@ -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>
|
||||
@@ -70,7 +70,6 @@
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages uglifyjs)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
@@ -109,13 +108,10 @@
|
||||
#$output)
|
||||
(("\\$cfg\\{'TMPSPACE'\\} = q'[^']*'")
|
||||
"$cfg{'TMPSPACE'} = q'/tmp'")))))))
|
||||
(propagated-inputs (list texlive-preview texlive-xcolor texlive-dvips))
|
||||
(inputs (list perl netpbm ghostscript))
|
||||
(synopsis "LaTeX documents to HTML")
|
||||
(description "LaTeX2HTML is a utility that converts LaTeX documents to web
|
||||
pages in HTML. Since there are many different latex packages, it is expected
|
||||
that the user has their latex installation set up correctly when invoking
|
||||
@code{latex2html}.")
|
||||
pages in HTML.")
|
||||
(home-page "https://www.latex2html.org/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
@@ -192,20 +188,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
|
||||
@@ -249,25 +246,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")
|
||||
|
||||
@@ -148,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.
|
||||
|
||||
@@ -415,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")
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018-2026 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018-2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
|
||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
@@ -385,7 +385,7 @@ not have any other specialized device.")
|
||||
(define-public openboard
|
||||
(package
|
||||
(name "openboard")
|
||||
(version "1.7.7")
|
||||
(version "1.7.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -394,7 +394,7 @@ not have any other specialized device.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i27h84p77pl1chw791fjs3vyzsjvsqc9ky2mbw7g8xpzxz1nd9j"))))
|
||||
(base32 "1098pys5p82sx97xrhw54vlkn6jly0rhq8b09grmmx2h4mcpj2i2"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -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)))
|
||||
|
||||
+66
-447
@@ -105,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)
|
||||
@@ -242,8 +240,8 @@ are also taken from the original.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public abc
|
||||
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b")
|
||||
(revision "11"))
|
||||
(let ((commit "c18b9a24de46d3b0209afa416511b7a1127344f9")
|
||||
(revision "9"))
|
||||
(package
|
||||
(name "abc")
|
||||
(version (git-version "0.0" revision commit))
|
||||
@@ -255,7 +253,7 @@ are also taken from the original.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85"))))
|
||||
"12fjhlr9r34l6kw2jyaalh53fs783r1h2zx0ldzaxxrbcslb0bxh"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list readline))
|
||||
@@ -280,7 +278,7 @@ formal verification.")
|
||||
(package
|
||||
(inherit abc)
|
||||
(name "abc-yosyshq")
|
||||
(version "0.65")
|
||||
(version "0.63")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -289,57 +287,16 @@ formal verification.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka"))))
|
||||
"1nwj4zhjqjgvb7fh877j51kfccwzrc591ag25qm9jirycgq1cqx6"))))
|
||||
(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")
|
||||
(version "0.32")
|
||||
(version "0.31")
|
||||
;; The pypi tar.gz file includes the necessary .pickle files, not available
|
||||
;; in the home-page repository.
|
||||
(source
|
||||
@@ -347,7 +304,7 @@ formal verification. This is the Yosyshq fork of ABC.")
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "apycula" version))
|
||||
(sha256
|
||||
(base32 "0zz6mz1s7razbqsysaji7qwfsjj19av4mg7zclxaigz4hmq9ar0d"))))
|
||||
(base32 "0pf43cd071kv5ann78hl5qrcj9vhndr46ds2g12sgnfjfvh6pfpg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;requires Gowin EDA tools
|
||||
@@ -447,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)
|
||||
@@ -456,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
|
||||
@@ -486,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")
|
||||
@@ -566,7 +467,7 @@ individual low-level driver modules.")
|
||||
(define-public eqy
|
||||
(package
|
||||
(name "eqy")
|
||||
(version "0.65")
|
||||
(version "0.63")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -575,7 +476,7 @@ individual low-level driver modules.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1lsf8wm10wq67lmwz1ck30inl3byfy27ya39fj93gym5ys815ma6"))))
|
||||
(base32 "05rk6gy0xnaksxqdkpm08i3ngh0adavfyfjyscw5l1b7d7yhfavh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1016,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
|
||||
@@ -1025,7 +926,7 @@ files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
|
||||
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1168,7 +1069,7 @@ characterization result in a liberty library file.")
|
||||
(define-public kicad
|
||||
(package
|
||||
(name "kicad")
|
||||
(version "10.0.3")
|
||||
(version "10.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1176,7 +1077,7 @@ characterization result in a liberty library file.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"))
|
||||
"1470x1276yvd8li3w25zjg73fkpl2qp4dsx7adanafq5c4l47rmc"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -1284,9 +1185,7 @@ characterization result in a liberty library file.")
|
||||
"Kicad is a program for the formation of printed circuit
|
||||
boards and electrical circuits. The software has a number of programs that
|
||||
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
|
||||
electrical diagrams), gerbview (viewing Gerber files) and others. To use
|
||||
SQLite-backed database libraries, install the optional @code{sqliteodbc}
|
||||
package.")
|
||||
electrical diagrams), gerbview (viewing Gerber files) and others.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public kicad-doc
|
||||
@@ -1301,7 +1200,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b"))))
|
||||
"1k0ayxsy0nnv9qxkii9yrxs7jx9y3wfjpsv5yl9wql3vdg3qay69"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_FORMATS=html"
|
||||
@@ -1333,7 +1232,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"))))
|
||||
"0khfnln0f2zsz5hy31nw2rr0nflb2z3s9n9f7g41g03m9l3s43v2"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list python-wrapper))
|
||||
(arguments
|
||||
@@ -1363,7 +1262,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"))))
|
||||
"0ymmd1rzrczpvcqzw1mld9x8xhbka0vvjy3kdqwysg4ri97f5wrm"))))
|
||||
(synopsis "Official KiCad footprint libraries")
|
||||
(description "This package contains the official KiCad footprint libraries.")))
|
||||
|
||||
@@ -1380,7 +1279,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"))))
|
||||
"0k91iw661fpzb7saryjxdcdvk1kis7dhbcpzp7xzjk84i4jvxrp5"))))
|
||||
(synopsis "Official KiCad 3D model libraries")
|
||||
(description "This package contains the official KiCad 3D model libraries.")))
|
||||
|
||||
@@ -1402,60 +1301,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")
|
||||
@@ -1657,7 +1502,7 @@ an embedded event driven algorithm.")
|
||||
(define-public librelane
|
||||
(package
|
||||
(name "librelane")
|
||||
(version "3.0.3")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1666,7 +1511,7 @@ an embedded event driven algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8"))))
|
||||
"01zi2v5qi26h09hwjafsq9k0anrc5g5fc6q5vg87k9lcwyfsi685"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1923,31 +1768,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")
|
||||
@@ -2198,7 +2018,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.625")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2207,7 +2027,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 "0ld238cdq8mzzcx7vgk67aqim0ypbfyks486z59q19yzxpr6c42s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2237,7 +2057,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(define-public mcy
|
||||
(package
|
||||
(name "mcy")
|
||||
(version "0.65")
|
||||
(version "0.63")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2300,7 +2120,7 @@ coverage.")
|
||||
(define-public netgen
|
||||
(package
|
||||
(name "netgen")
|
||||
(version "1.5.319")
|
||||
(version "1.5.316")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2309,7 +2129,7 @@ coverage.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
|
||||
(base32 "1923mynqw1wjhlcij639gdqrkifyb5lcks1x11gwpgp4gijwj3qb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2509,7 +2329,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(define-public nvc
|
||||
(package
|
||||
(name "nvc")
|
||||
(version "1.20.1")
|
||||
(version "1.19.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2518,7 +2338,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b38x2ch468s4p6mrq6c8s0d95vb84p6w4v8in79l4w7sfy8jnr0"))))
|
||||
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:out-of-source? #t
|
||||
@@ -2657,66 +2477,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")
|
||||
@@ -2930,20 +2690,20 @@ formats.")
|
||||
(define-public openroad
|
||||
(package
|
||||
(name "openroad")
|
||||
(version "26Q2")
|
||||
(version "26Q1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/The-OpenROAD-Project/OpenROAD")
|
||||
(commit version)
|
||||
(commit "e06ca0f5f2e641cd7b138a4d9b4fdd290359eca8")
|
||||
;; 26Q1 Uses:
|
||||
;; - forked, custom opensta: v2.2.0-1952-g43177bba
|
||||
;; - forked, custom (berkeley) abc: 20260301.0445-g17cadca08
|
||||
;; - forked, custom opensta: v2.2.0-1579-g9c9b5659
|
||||
;; - forked, custom (berkeley) abc: 20260104.1628-g4c756ffb8
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "152j78c47wyq4sw42bwlxdhvs5g47a8jqz1qz5yzdsk9z5y4y7vl"))))
|
||||
(base32 "13x4kqi4j489k4sz56ws4aqhp60nff1i18z6hjd6xx8y7flaik0c"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2977,7 +2737,7 @@ formats.")
|
||||
flex
|
||||
googletest
|
||||
pkg-config
|
||||
swig-4.4))
|
||||
swig-4.0))
|
||||
(inputs
|
||||
(list abseil-cpp
|
||||
boost
|
||||
@@ -3016,6 +2776,7 @@ clock tree synthesis, routing, parasitic extraction, and timing analysis.")
|
||||
(package
|
||||
(inherit openroad)
|
||||
(name "openroad-cli")
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(delkw
|
||||
#:qtbase
|
||||
@@ -3520,44 +3281,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")
|
||||
@@ -3737,7 +3460,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.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3746,7 +3469,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 "1drmc126a12zlynx8ps9iwghaqs058pqj2xpdysxnrj26hg3sp15"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3773,23 +3496,23 @@ form of AXI, AXI lite, and AXI stream modules.")
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-importlib-metadata python-jinja2 python-pandas))
|
||||
(list python-importlib-metadata python-jinja2))
|
||||
(home-page "https://github.com/olofk/edalize/")
|
||||
(synopsis "Python Library for interacting with EDA tools")
|
||||
(description
|
||||
"This package can create project files for supported tools and run them in
|
||||
batch or GUI mode. All EDA tools such as Icarus, Yosys, ModelSim, Vivado,
|
||||
Verilator, GHDL, Quartus etc get input HDL files (Verilog and VHDL) and some
|
||||
tool-specific files (constraint files,memory initialization files, IP
|
||||
description files etc). Together with the files, perhaps a couple of Verilog
|
||||
`defines, some top-level parameters/generics or some tool-specific options are
|
||||
set.")
|
||||
"This package implements a functionality to create project files for
|
||||
supported tools and run them in batch or GUI mode. All EDA tools such as
|
||||
Icarus, Yosys, ModelSim, Vivado, Verilator, GHDL, Quartus etc get input HDL
|
||||
files (Verilog and VHDL) and some tool-specific files (constraint files,memory
|
||||
initialization files, IP description files etc). Together with the files,
|
||||
perhaps a couple of Verilog `defines, some top-level parameters/generics or
|
||||
some tool-specific options are set.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public fusesoc
|
||||
(package
|
||||
(name "fusesoc")
|
||||
(version "2.4.6")
|
||||
(version "2.4.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3798,7 +3521,7 @@ set.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11bmvk10mszv65ws84jmm220ivwn55v8664kkdm9d4m99pryi2kp"))))
|
||||
(base32 "1sw0zl6hjlzp1a0agdl9yp901pih70ppzzss18l8f3jxs6q7jm1n"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4067,40 +3790,10 @@ 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")
|
||||
(version "5.0.0-dev.10") ;v4.7.0 dates back from 2 years ago.
|
||||
(version "5.0.0-dev.9") ;v4.7.0 dates back from 2 years ago.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4109,7 +3802,7 @@ Verilog (SystemVerilog >= 2012) code to be used for synthesis and simulation.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gr9ghwgqly9zf0sf15ai20sac520rs84b9i5qjxdqpj26ayyl1q"))))
|
||||
(base32 "1j9rvlshzi4mdy7wah1j8ri63drkjb47xly22q40wvl2xp2ghqgs"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4185,71 +3878,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")
|
||||
@@ -4372,7 +4000,7 @@ input and outputs an XML dataset.")
|
||||
(define-public qucs-s
|
||||
(package
|
||||
(name "qucs-s")
|
||||
(version "26.1.0") ;update qucsator-rf accordingly
|
||||
(version "25.2.0") ;update qucsator-rf accordingly
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4382,7 +4010,7 @@ input and outputs an XML dataset.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
|
||||
"0328irynm8vy4xjdip5286fd8nag1zdp0p6rcbhdhp4fca6wp5ak"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4604,7 +4232,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
|
||||
(define-public sby
|
||||
(package
|
||||
(name "sby")
|
||||
(version "0.65")
|
||||
(version "0.63")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4613,7 +4241,7 @@ 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 "1p23w9jd95b86n7f94zpqdaz19fn2b2lyww1p8dcy9p3zrcn7750"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4662,8 +4290,8 @@ front-end program for Yosys-based formal hardware verification flows.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public sby-gui
|
||||
(let ((commit "0a89301bf347c9f42932186e49ba2c0014ff3661")
|
||||
(revision "1"))
|
||||
(let ((commit "6c977084c17c4842c504829c6d455a07d67e119c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sby-gui")
|
||||
(version (git-version "0" revision commit))
|
||||
@@ -4675,13 +4303,10 @@ front-end program for Yosys-based formal hardware verification flows.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zp2c7zqclsfvl5xhb8zlc1dclp2s36w2nd0x80fazsxp7ksw5gr"))))
|
||||
(base32 "137x3s5mwbzlcv2p6671ijvbafzwhxpvszzfi9wifq0wcli6cxxg"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:tests? #f)) ;no tests
|
||||
(native-inputs (list python-minimal-wrapper))
|
||||
(list #:tests? #f)) ;no tests
|
||||
(propagated-inputs (list sby))
|
||||
(home-page "https://github.com/YosysHQ/sby-gui/")
|
||||
(synopsis "Graphical user interface for code{sby}")
|
||||
@@ -4887,7 +4512,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)
|
||||
@@ -4896,7 +4521,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
|
||||
@@ -5036,7 +4661,7 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(define-public yosys
|
||||
(package
|
||||
(name "yosys")
|
||||
(version "0.65")
|
||||
(version "0.63")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5044,16 +4669,15 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(url "https://github.com/YosysHQ/yosys")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "04sks9hj8h9vy6zii29zjgq38h2h4nz8a7xxiq33p1aivwq7bz8q"))
|
||||
(base32 "1iaafzsc0pbd61m5hh12nzr2z4rn4n7i68l6ij9vli4m5zsxw39k"))
|
||||
(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"
|
||||
@@ -5068,11 +4692,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"
|
||||
@@ -5163,12 +4782,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 "d82b0b163a725fc1a401fbb6b465cd862517ec1f")
|
||||
(recursive? #t))) ;requires slang and fmt
|
||||
(file-name "yosys-slang")
|
||||
(sha256
|
||||
(base32
|
||||
"1rl9i19a90yis33g549ida7lygfh1qka5k96zdrvk0shn2jnm8g4")))))
|
||||
"07h4qssphggd4mbn376vldqwzj1i16y1ix455xzr4lgx6s2q9ryg")))))
|
||||
;; 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.
|
||||
@@ -5199,7 +4818,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)
|
||||
|
||||
@@ -290,7 +290,7 @@ based upon the Common Locale Data Repository (CLDR).")
|
||||
(package
|
||||
(inherit elixir-ex-cldr-minimal)
|
||||
(name "elixir-ex-cldr")
|
||||
(version "2.47.2")
|
||||
(version "2.43.2")
|
||||
(source
|
||||
(origin
|
||||
;; The hex.pm package ships only the en locale.
|
||||
@@ -300,7 +300,7 @@ based upon the Common Locale Data Repository (CLDR).")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rivy61aq0c9zfklm4bpvvkj7lzjgy316rwxl8qz92xqp6xa292y"))))
|
||||
(base32 "1wgwp74ya0gkvd5pk4qv9s38p85r5yw370y4wv7jywy3hrbrj9f5"))))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
|
||||
@@ -303,17 +303,7 @@ purposes. Its goal is to be as close as possible to
|
||||
(list
|
||||
#:test-flags
|
||||
;; These tests require network access to badssl.com.
|
||||
#~(list "--exclude" "network")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-reproducible
|
||||
(lambda _
|
||||
;; Buffer size has been increased in OTP 28+. For more info see:
|
||||
;; https://github.com/erlang/otp/issues/9722#issuecomment-2808683303
|
||||
(substitute* "test/httpoison_test.exs"
|
||||
(("stream/20") "stream/100")
|
||||
(("<= expected_length") "<= expected_length * 1.1")
|
||||
((">= max_length") ">= max_length * 0.9")))))))
|
||||
#~(list "--exclude" "network")))
|
||||
(native-inputs
|
||||
(list erlang-cowboy
|
||||
elixir-earmark
|
||||
|
||||
@@ -164,8 +164,7 @@ Mix.CLI.main()"
|
||||
'("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}"))))
|
||||
programs))))))))
|
||||
(outputs '("out" "src"))
|
||||
(inputs (list bash-minimal erlang rebar3))
|
||||
(native-inputs (list git-minimal))
|
||||
(inputs (list bash-minimal erlang rebar3 git))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_ELIXIR_LIBS")
|
||||
|
||||
@@ -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
|
||||
|
||||
+618
-1853
File diff suppressed because it is too large
Load Diff
+31
-5
@@ -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.
|
||||
;;;
|
||||
@@ -645,6 +644,32 @@ editor (console only)")
|
||||
(description "This Emacs build implements graphical UI purely in terms
|
||||
of GTK.")))
|
||||
|
||||
(define-public emacs-xwidgets
|
||||
(package/inherit emacs
|
||||
(name "emacs-xwidgets")
|
||||
(synopsis "The extensible, customizable, self-documenting text
|
||||
editor (with xwidgets support)")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons "--with-xwidgets" #$flags))))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(prepend webkitgtk-with-libsoup2 libxcomposite)))))
|
||||
|
||||
(define-public emacs-pgtk-xwidgets
|
||||
(package
|
||||
(inherit emacs-pgtk)
|
||||
(name "emacs-pgtk-xwidgets")
|
||||
(synopsis "Emacs text editor with @code{xwidgets} and @code{pgtk} support")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons "--with-xwidgets" #$flags))))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(prepend gsettings-desktop-schemas webkitgtk-with-libsoup2)))))
|
||||
|
||||
(define-public emacs-lucid
|
||||
(package/inherit emacs-no-x
|
||||
(name "emacs-lucid")
|
||||
@@ -702,8 +727,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 +742,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"
|
||||
@@ -749,6 +774,7 @@ editor (with wide ints)" )
|
||||
|
||||
(define-public emacs-next (emacs->emacs-next emacs))
|
||||
(define-public emacs-next-pgtk (emacs->emacs-next emacs-pgtk))
|
||||
(define-public emacs-next-pgtk-xwidgets (emacs->emacs-next emacs-pgtk-xwidgets))
|
||||
(define-deprecated-package emacs-next-tree-sitter
|
||||
emacs-next)
|
||||
|
||||
@@ -870,7 +896,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="
|
||||
|
||||
+29
-35
@@ -65,7 +65,6 @@
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages libftdi)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages messaging)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -1902,7 +1901,7 @@ PicoBlaze; and Zilog Z80 families, plus many of their variants.")
|
||||
(inputs
|
||||
(list readline ucsim))
|
||||
(native-inputs
|
||||
(list bison boost flex python-minimal-wrapper texinfo zlib))
|
||||
(list bison boost flex python-2 texinfo zlib))
|
||||
(home-page "https://sdcc.sourceforge.net/")
|
||||
(synopsis "C compiler suite for 8-bit microcontrollers")
|
||||
(description "SDCC is a retargetable, optimizing Standard C compiler suite
|
||||
@@ -1920,7 +1919,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)
|
||||
@@ -1929,40 +1928,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))
|
||||
@@ -2072,27 +2067,26 @@ operations.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public ts4900-utils
|
||||
(package
|
||||
(name "ts4900-utils")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/embeddedTS/ts4900-utils")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08x40ii56v4cmnz9hk6rvjrc500k1bij5ns52360vczznc8lx8bx"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
libgpiod
|
||||
pkg-config))
|
||||
(home-page "https://github.com/embeddedTS/ts4900-utils")
|
||||
(synopsis "Utilities for the TS-4900 board family")
|
||||
(description "This package contains utilities useful for boards of the
|
||||
;; There are no proper release nor tag; use the latest commit.
|
||||
(let ((revision "0")
|
||||
(commit "e10a12f8050d1d1229e711c7cfab8a0d5d93ee58"))
|
||||
(package
|
||||
(name "ts4900-utils")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/embeddedTS/ts4900-utils")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vr8i425qijbwgbc10av3wr35p3x11wy6y442w0ja0yny7si8wp8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf automake))
|
||||
(home-page "https://github.com/embeddedTS/ts4900-utils")
|
||||
(synopsis "Utilities for the TS-4900 board family")
|
||||
(description "This package contains utilities useful for boards of the
|
||||
TS-4900 family. The included commands are:
|
||||
@itemize @code
|
||||
@item adc8390
|
||||
@@ -2105,7 +2099,7 @@ TS-4900 family. The included commands are:
|
||||
@item tsmicroupdate
|
||||
@item tssilomon
|
||||
@end itemize")
|
||||
(license license:bsd-2)))
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public cc-tool
|
||||
(package
|
||||
|
||||
+29
-37
@@ -6,7 +6,7 @@
|
||||
;;; Copyright © 2015, 2018, 2023 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017-2024, 2026 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
@@ -148,7 +148,7 @@
|
||||
(define-public ares
|
||||
(package
|
||||
(name "ares")
|
||||
(version "147")
|
||||
(version "145")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -157,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
|
||||
@@ -1269,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
|
||||
@@ -1295,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
|
||||
@@ -2168,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")
|
||||
@@ -3253,14 +3247,14 @@ that compiles to WebAssembly.")
|
||||
(define-public scummvm
|
||||
(package
|
||||
(name "scummvm")
|
||||
(version "2026.2.0")
|
||||
(version "2.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.scummvm.org/frs/scummvm/" version
|
||||
"/scummvm-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1wv0z9c4dnjywgla9zhbkgnzahj829ybvcx9jw67hdmagnbys42f"))))
|
||||
(base32 "1qspqawdazsxisxm1lxzgi0i4gx54qd10xyk3nmmirwxz9mg70ka"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3458,7 +3452,7 @@ This is a part of the TiLP project.")
|
||||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.287")
|
||||
(version "0.252")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3467,16 +3461,16 @@ This is a part of the TiLP project.")
|
||||
(commit (apply string-append "mame" (string-split version #\.)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1p9v71gvaqiyj6sa1b0wkdksa9wnr6yr2a43ckycljjfas5s36kq"))
|
||||
(base32 "07qhcm1v47sy2wj30nx3cbhvcbgki0cl83gabr0miiw60fhgyn6j"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
'(begin
|
||||
(with-directory-excursion "3rdparty"
|
||||
(for-each delete-file-recursively
|
||||
'("asio" "expat" "glm" "flac" "libjpeg" "lua"
|
||||
"portaudio" "portmidi" "pugixml" "rapidjson"
|
||||
"sqlite3" "utf8proc" "zlib")))))))
|
||||
'("asio" "expat" "glm" "libflac" "libjpeg" "lua"
|
||||
"portaudio" "portmidi" "pugixml" "rapidjson" "SDL2"
|
||||
"SDL2-override" "sqlite3" "utf8proc" "zlib")))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3610,9 +3604,7 @@ This is a part of the TiLP project.")
|
||||
libjpeg-turbo
|
||||
libxi
|
||||
libxinerama
|
||||
;; MAME requires Lua compiled as C++ to work correctly.
|
||||
;; See https://www.mamedev.org/?p=523
|
||||
lua-5.4-for-c++
|
||||
lua
|
||||
portaudio
|
||||
portmidi
|
||||
pugixml
|
||||
|
||||
+222
-349
@@ -33,7 +33,7 @@
|
||||
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
|
||||
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
||||
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2022, 2024-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
|
||||
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
|
||||
@@ -46,11 +46,10 @@
|
||||
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2025-2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
|
||||
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
|
||||
;;; Copyright © 2026 Brent Wedderburn <mb@bean.za.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -254,21 +253,13 @@ their devices.")
|
||||
(replace 'build (assoc-ref gnu:%standard-phases 'build))
|
||||
(replace 'check (assoc-ref gnu:%standard-phases 'check))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share"))
|
||||
(apps (string-append share "/applications"))
|
||||
(icons (string-append share "/icons/hicolor/128x128/apps")))
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share/librecad")))
|
||||
(mkdir-p bin)
|
||||
(install-file "unix/librecad" bin)
|
||||
(mkdir-p share)
|
||||
(copy-recursively "unix/resources"
|
||||
(string-append share "/librecad"))
|
||||
(mkdir-p apps)
|
||||
(install-file "desktop/librecad.desktop" apps)
|
||||
(mkdir-p icons)
|
||||
(copy-file "librecad/res/main/librecad.png"
|
||||
(string-append icons "/librecad.png"))))))))
|
||||
(copy-recursively "unix/resources" share)))))))
|
||||
(inputs
|
||||
(list bash-minimal boost muparser freetype qtbase-5 qtsvg-5))
|
||||
(native-inputs
|
||||
@@ -438,8 +429,9 @@ optimizer; and it can produce photorealistic and design review images.")
|
||||
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
|
||||
(snippet
|
||||
;; Remove a non-free file.
|
||||
#~(begin
|
||||
(delete-file "doc/psfig.sty")))
|
||||
'(begin
|
||||
(delete-file "doc/psfig.sty")
|
||||
#t))
|
||||
(patches (search-patches "fastcap-mulSetup.patch"
|
||||
"fastcap-mulGlobal.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -449,93 +441,79 @@ optimizer; and it can produce photorealistic and design review images.")
|
||||
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line
|
||||
;; 3.
|
||||
`(("texlive" ,(texlive-local-tree))
|
||||
("ghostscript" ,ghostscript)
|
||||
("libfaketime" ,libfaketime)))
|
||||
("ghostscript" ,ghostscript)))
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags #~(list "CC=gcc" "RM=rm" "SHELL=sh"
|
||||
(string-append
|
||||
"CFLAGS="
|
||||
"-Wno-error=implicit-int"
|
||||
" -Wno-error=return-mismatch"
|
||||
" -Wno-error=implicit-function-declaration")
|
||||
"all")
|
||||
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
|
||||
#:parallel-build? #f
|
||||
#:tests? #f ;; no tests-suite
|
||||
#:modules `((srfi srfi-1)
|
||||
,@%default-gnu-modules)
|
||||
#:modules ((srfi srfi-1)
|
||||
,@%default-gnu-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'build 'make-doc
|
||||
(lambda _
|
||||
(invoke "faketime"
|
||||
"1970-01-01 00:00:00"
|
||||
"make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
|
||||
(add-before 'make-doc 'fix-doc
|
||||
(lambda _
|
||||
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
|
||||
(substitute* (find-files "doc" "\\.tex")
|
||||
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
|
||||
all file scale)
|
||||
(string-append "\\includegraphics[scale=" scale "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
|
||||
all file width)
|
||||
(string-append "\\includegraphics[width=" width "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
|
||||
all file height)
|
||||
(string-append "\\includegraphics[height=" height "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
|
||||
(string-append "\\includegraphics{" file "}")))
|
||||
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
|
||||
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
|
||||
all options class)
|
||||
(string-append "\\documentclass[" options "]{"
|
||||
class "}\n"
|
||||
"\\usepackage{graphicx}\n"
|
||||
"\\usepackage{robinspace}"))
|
||||
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
|
||||
(string-append "%" all))
|
||||
(("\\\\setstretch\\{.*\\}" all)
|
||||
(string-append "%" all)))))
|
||||
(delete 'configure)
|
||||
(add-before 'install 'clean-bin
|
||||
(lambda _
|
||||
(delete-file (string-append (getcwd) "/bin/README"))))
|
||||
(add-before 'install 'make-pdf
|
||||
(lambda _
|
||||
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
|
||||
(with-directory-excursion "doc"
|
||||
(for-each (lambda (file)
|
||||
(invoke "faketime"
|
||||
"-f"
|
||||
"1970-01-01 00:00:00"
|
||||
"dvips" file "-o"))
|
||||
(find-files "." "\\.dvi"))
|
||||
(for-each (lambda (file)
|
||||
(invoke "faketime"
|
||||
"-f"
|
||||
"1970-01-01 00:00:00"
|
||||
"ps2pdf" file))
|
||||
'("mtt.ps" "ug.ps" "tcad.ps"))
|
||||
(invoke "make" "clean"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let* ((data (string-append #$output "/share"))
|
||||
(bin (string-append #$output "/bin"))
|
||||
(doc (string-append data "/doc/" #$name "-" #$version))
|
||||
(examples (string-append doc "/examples")))
|
||||
(with-directory-excursion "bin"
|
||||
(for-each (lambda (f)
|
||||
(install-file f bin))
|
||||
(find-files "." ".*")))
|
||||
(with-directory-excursion "doc"
|
||||
(for-each (lambda (f)
|
||||
(install-file f doc))
|
||||
(find-files "." ".pdf")))
|
||||
(copy-recursively "examples" examples)))))))
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'make-doc
|
||||
(lambda _
|
||||
(invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
|
||||
(add-before 'make-doc 'fix-doc
|
||||
(lambda _
|
||||
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
|
||||
(substitute* (find-files "doc" "\\.tex")
|
||||
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
|
||||
all file scale)
|
||||
(string-append "\\includegraphics[scale=" scale "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
|
||||
all file width)
|
||||
(string-append "\\includegraphics[width=" width "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
|
||||
all file height)
|
||||
(string-append "\\includegraphics[height=" height "]{"
|
||||
file "}"))
|
||||
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
|
||||
(string-append "\\includegraphics{" file "}")))
|
||||
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
|
||||
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
|
||||
all options class)
|
||||
(string-append "\\documentclass[" options "]{"
|
||||
class "}\n"
|
||||
"\\usepackage{graphicx}\n"
|
||||
"\\usepackage{robinspace}"))
|
||||
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
|
||||
(string-append "%" all))
|
||||
(("\\\\setstretch\\{.*\\}" all)
|
||||
(string-append "%" all)))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(add-before 'install 'clean-bin
|
||||
(lambda _
|
||||
(delete-file (string-append (getcwd) "/bin/README"))
|
||||
#t))
|
||||
(add-before 'install 'make-pdf
|
||||
(lambda _
|
||||
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
|
||||
(with-directory-excursion "doc"
|
||||
(and
|
||||
(for-each (lambda (file)
|
||||
(invoke "dvips" file "-o"))
|
||||
(find-files "." "\\.dvi"))
|
||||
(for-each (lambda (file)
|
||||
(invoke "ps2pdf" file))
|
||||
'("mtt.ps" "ug.ps" "tcad.ps"))
|
||||
(invoke "make" "clean")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(data (string-append out "/share"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append data "/doc/" ,name "-" ,version))
|
||||
(examples (string-append doc "/examples")))
|
||||
(with-directory-excursion "bin"
|
||||
(for-each (lambda (f)
|
||||
(install-file f bin))
|
||||
(find-files "." ".*")))
|
||||
(copy-recursively "doc" doc)
|
||||
(copy-recursively "examples" examples)
|
||||
#t))))))
|
||||
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
|
||||
(synopsis "Multipole-accelerated capacitance extraction program")
|
||||
(description
|
||||
@@ -914,65 +892,64 @@ user-level language.")
|
||||
|
||||
;; TODO: Keep in sync with radare2.
|
||||
(define-public iaito
|
||||
(package
|
||||
(name "iaito")
|
||||
(version "6.1.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/iaito")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"16sp73k6ighjwp80nvf55lwzv0fb8p4ki76mnsc8xhl3vq7pka0w"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((guix build gnu-build-system) (guix build qt-utils)
|
||||
(guix build utils))
|
||||
#:imported-modules `((guix build qt-utils)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The build system assumes the sdb lib is installed alongside
|
||||
;; radare2. We already patch the radare2 package to use a
|
||||
;; system-installed sdb rather than install its own, so we must
|
||||
;; propagate those changes here.
|
||||
(add-before 'configure 'add-sdb-libs
|
||||
(lambda _
|
||||
(substitute* '("./src/lib_radare2.pri")
|
||||
(("pkg-config --libs r_core" all)
|
||||
(string-append all " sdb")))))
|
||||
(add-after 'install 'wrap-qt
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-all-qt-programs #:outputs outputs
|
||||
#:inputs inputs
|
||||
#:qtbase (assoc-ref inputs "qtbase")))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
qtbase
|
||||
qtsvg
|
||||
qtwayland
|
||||
radare2
|
||||
sdb))
|
||||
(native-inputs
|
||||
(list pkg-config python-minimal-wrapper))
|
||||
(native-search-paths (list (search-path-specification
|
||||
(variable "R2_LIBR_PLUGINS")
|
||||
(files (list "lib/radare2"))
|
||||
(separator #f)))) ;single value
|
||||
(home-page "https://github.com/radareorg/iaito")
|
||||
(synopsis "Official radare2 GUI")
|
||||
(description "Iaito is the official graphical interface for radare2, a
|
||||
;; Commit "Release 6.1.2"
|
||||
(let ((commit "790878048ecb62f4d2f1b5f848948059dd5bb8fe")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "iaito")
|
||||
(version (git-version "6.1.2" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/iaito")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"00nqn3mx2fj5higz4niwl0nx04vnjwzccw6zjx3rhwf6fj5yfamm"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((guix build gnu-build-system) (guix build qt-utils)
|
||||
(guix build utils))
|
||||
#:imported-modules `((guix build qt-utils)
|
||||
,@%default-gnu-imported-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The build system assumes the sdb lib is installed alongside
|
||||
;; radare2. We already patch the radare2 package to use a
|
||||
;; system-installed sdb rather than install its own, so we must
|
||||
;; propagate those changes here.
|
||||
(add-before 'configure 'add-sdb-libs
|
||||
(lambda _
|
||||
(substitute* '("./src/lib_radare2.pri")
|
||||
(("pkg-config --libs r_core" all)
|
||||
(string-append all " sdb")))))
|
||||
(add-after 'install 'wrap-qt
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-all-qt-programs #:outputs outputs
|
||||
#:inputs inputs
|
||||
#:qtbase (assoc-ref inputs "qtbase")))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
qtbase
|
||||
qtsvg
|
||||
qtwayland
|
||||
radare2
|
||||
sdb))
|
||||
(native-inputs
|
||||
(list pkg-config python-minimal-wrapper))
|
||||
(home-page "https://github.com/radareorg/iaito")
|
||||
(synopsis "Official radare2 GUI")
|
||||
(description "Iaito is the official graphical interface for radare2, a
|
||||
libre reverse engineering framework. Iaito focuses on simplicity, parity with
|
||||
commands, features, and keybindings.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public inspekt3d
|
||||
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
|
||||
@@ -1056,6 +1033,32 @@ in the context of per-cpu data. The library offers ABI headers to interface
|
||||
with the kernel and various utilities such as per-cpu counters.")
|
||||
(license (list license:lgpl2.1 license:expat)))))
|
||||
|
||||
(define-public linsmith
|
||||
(package
|
||||
(name "linsmith")
|
||||
(version "0.99.33")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/linsmith/linsmith/linsmith-"
|
||||
version "/linsmith-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1629p29casy9pgy8hzva1bmgrvh923qk01ls3anik6zqn6swkjfn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("CFLAGS=-fcommon")))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list gtk+-2 libgnomeui))
|
||||
(home-page "https://jcoppens.com/soft/linsmith/index.en.php")
|
||||
(synopsis "Smith Charting program")
|
||||
(description "LinSmith is a Smith Charting program, mainly designed for
|
||||
educational use. As such, there is an emphasis on capabilities that improve
|
||||
the 'showing the effect of'-style of operation.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public valeronoi
|
||||
(package
|
||||
(name "valeronoi")
|
||||
@@ -1228,7 +1231,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
|
||||
(define-public minicom
|
||||
(package
|
||||
(name "minicom")
|
||||
(version "2.11.1")
|
||||
(version "2.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1236,7 +1239,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
|
||||
(url "https://salsa.debian.org/minicom-team/minicom.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "15k20qbxrjdxadwzkp31hjy7apdasrsgs532kwmlkpzs92ff4ghs"))
|
||||
(base32 "0sxbyf1li3lsrvkjpn04xz6ywa42ggfc1fhdrmsibfkhqja9abn0"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -1361,33 +1364,24 @@ determines the frequencies, decay constants, amplitudes, and phases of those sin
|
||||
(define-public guile-libctl
|
||||
(package
|
||||
(name "guile-libctl")
|
||||
(version "4.6.0")
|
||||
(version "4.2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/NanoComp/libctl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/NanoComp/libctl/releases/download/v"
|
||||
version "/libctl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lsch1qc5w9yyprrvawfwbnz7na4qah0p752kxxv144xp8yq98x7"))))
|
||||
"0x8r56lpfq83kfbq28vr25icl19xpfd6fjrxzcpdmv30l9pash83"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "--enable-shared")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Avoid bin/sh shebang in configure.
|
||||
(add-before 'bootstrap 'no-/bin/sh
|
||||
(lambda _ (delete-file "autogen.sh"))))))
|
||||
`(#:configure-flags '("--enable-shared")))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
gfortran))
|
||||
`(("fortran" ,gfortran)))
|
||||
(inputs
|
||||
(list guile-3.0))
|
||||
(home-page "https://libctl.readthedocs.io/en/latest/")
|
||||
(list guile-2.2))
|
||||
(home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl")
|
||||
(synopsis "Flexible control files implementation for scientific simulations")
|
||||
(description
|
||||
"Libctl is a Guile-based library implementing flexible control files
|
||||
@@ -1397,7 +1391,7 @@ for scientific simulations.")
|
||||
(define-public mpb
|
||||
(package
|
||||
(name "mpb")
|
||||
(version "1.12.0")
|
||||
(version "1.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1406,41 +1400,50 @@ for scientific simulations.")
|
||||
version "/mpb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"197dm8z5hfikivb73rhywyq976rn1k621bf1admgc5xjaii20awd"))))
|
||||
"1jgrb7dd6qs6j6y1gnxmdgrh79l2bvqa6nk60a4pw1annsks4brd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "--with-libctl="
|
||||
#$(this-package-input "guile-libctl") "/share/libctl")
|
||||
"--enable-shared")))
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-libctl="
|
||||
(assoc-ref %build-inputs "libctl")
|
||||
"/share/libctl")
|
||||
"--enable-shared")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'relax-gcc-14-strictness
|
||||
(lambda _
|
||||
(setenv "CFLAGS"
|
||||
(string-join
|
||||
(list "-Wno-error=incompatible-pointer-types"
|
||||
"-Wno-error=implicit-function-declaration"
|
||||
"-Wno-error=int-conversion")
|
||||
" ")))))))
|
||||
(native-inputs
|
||||
(list gfortran
|
||||
pkg-config
|
||||
swig-4.4))
|
||||
`(("fortran" ,gfortran)
|
||||
("pkg-config" ,pkg-config)
|
||||
("swig" ,swig-4.0)))
|
||||
(inputs
|
||||
(list fftw
|
||||
gsl
|
||||
guile-3.0
|
||||
guile-libctl
|
||||
hdf5
|
||||
openblas
|
||||
readline
|
||||
zlib))
|
||||
(home-page "https://mpb.readthedocs.io/en/latest/")
|
||||
`(("fftw" ,fftw)
|
||||
("gsl" ,gsl)
|
||||
("guile" ,guile-2.2)
|
||||
("hdf5" ,hdf5)
|
||||
("openblas" ,openblas)
|
||||
("libctl" ,guile-libctl)
|
||||
("readline" ,readline)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
|
||||
(synopsis "Computes band structures and electromagnetic modes of dielectric
|
||||
structures")
|
||||
(description
|
||||
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates
|
||||
(harmonic modes) of Maxwell's equations in periodic dielectric structures for
|
||||
arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
|
||||
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
|
||||
of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
|
||||
fully-vectorial and three-dimensional methods.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public meep
|
||||
(package
|
||||
(name "meep")
|
||||
(version "1.33.0")
|
||||
(version "1.30.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1449,7 +1452,7 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
|
||||
version "/meep-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1azhgz6s95siqmnxb3if6waxbvia3bij5jmxgxjz4sgn2ahw1axx"))))
|
||||
"1h80d7i7v06fxfdsa496b542dvr105c4v1n7pk8m3jssvbxvv2a0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
@@ -1459,11 +1462,11 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
|
||||
(native-inputs
|
||||
(list gfortran
|
||||
pkg-config
|
||||
swig-4.4))
|
||||
swig-4.0))
|
||||
(inputs
|
||||
(list fftw
|
||||
gsl
|
||||
guile-3.0
|
||||
guile-2.2
|
||||
guile-libctl
|
||||
harminv
|
||||
hdf5
|
||||
@@ -1718,7 +1721,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(define-public radare2
|
||||
(package
|
||||
(name "radare2")
|
||||
(version "6.1.4") ;keep in sync with iaito
|
||||
(version "6.1.2") ;keep in sync with iaito
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1726,7 +1729,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0gq90rwwmkfc7v1rhyr3lw859rsm1ryhzrwidhhh6pbp6jv03k6w"))
|
||||
"1d4sslhjxm00fchqcszfa59wf51v632jvf7aj4af0vdhl9f9n8k2"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
|
||||
@@ -1782,10 +1785,6 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
|
||||
(propagated-inputs
|
||||
;; In the Libs: section of r_hash.pc.
|
||||
(list xxhash))
|
||||
(native-search-paths (list (search-path-specification
|
||||
(variable "R2_LIBR_PLUGINS")
|
||||
(files (list "lib/radare2"))
|
||||
(separator #f)))) ;single value
|
||||
(home-page "https://radare.org/")
|
||||
(synopsis "Reverse engineering framework")
|
||||
(description
|
||||
@@ -1803,131 +1802,6 @@ like relocation symbols. It is able to deal with malformed binaries, making
|
||||
it suitable for security research and analysis.")
|
||||
(license license:lgpl3)))
|
||||
|
||||
(define-public r2ghidra
|
||||
(package
|
||||
(name "r2ghidra")
|
||||
(version "6.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/r2ghidra")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04x7vmg67zz0llkz3r3nmcky5z8c4ha31z8jzkm19dnyslw2qlxr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete bundled libs and remove their references.
|
||||
#~(begin (delete-file-recursively "subprojects")
|
||||
(substitute* "ghidra/deps.mk"
|
||||
(("ZLIB_LDFLAGS=.*") "")
|
||||
(("ZLIB_CFLAGS=.*") ""))
|
||||
(substitute* "src/Makefile"
|
||||
(("(all:) subprojects-zlib" _ f) f)
|
||||
(("PUGIXML_OBJS=.*") "")
|
||||
(("PUGIXML_SRCS=.*") "")
|
||||
(("PUGIXML_CFLAGS=.*") ""))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
#~(let* ((zlib #$(this-package-input "zlib"))
|
||||
(pugixml #$(this-package-input "pugixml-next")))
|
||||
(list (string-append "CC=" #$(cc-for-target))
|
||||
(format #f "ZLIB_LDFLAGS=-L~a/lib/ -lz" zlib)
|
||||
(format #f "LDFLAGS=-L~a/lib/ -lpugixml" pugixml)
|
||||
(format #f "ZLIB_CFLAGS=-I~a/include/" zlib)
|
||||
(format #f "PUGIXML_CFLAGS=-I~a/include/" pugixml)
|
||||
;; Ensure this matches R2_LIBR_PLUGINS as exported
|
||||
;; by radare2 & iaito.
|
||||
(format #f "PLUGDIR=~a/lib/radare2" #$output)))
|
||||
#:tests? #f ;no 'check' rule, test dir may require 3rd-party binaries
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-git-and-copy-ghidra
|
||||
(lambda _
|
||||
;; GIT is assumed to point to the git binary, but it is
|
||||
;; only checked to be a file; this short-circuits the check.
|
||||
(setenv "GIT" "configure")
|
||||
(copy-recursively
|
||||
(search-input-directory %build-inputs "share/ghidra-native")
|
||||
"subprojects/ghidra-native")))
|
||||
(add-before 'build 'set-system-sleighhome
|
||||
;; Helper files which try to install in radare2's path
|
||||
;; in the store, irrespective of PLUGDIR. As long as
|
||||
;; r2ghidra knows where to find them, we can place them
|
||||
;; anywhere.
|
||||
(lambda _
|
||||
(let ((sleighhome
|
||||
(in-vicinity #$output "lib/radare2/sleighhome")))
|
||||
;; Hardcoded path to check.
|
||||
(substitute* "src/SleighAsm.cpp"
|
||||
(("(path = strdup \\()[^\\)]*" _ f)
|
||||
(string-append f "\"" sleighhome "\"")))
|
||||
;; Install location.
|
||||
(substitute* "ghidra/Makefile"
|
||||
(("(sleigh-install D=\")\\$\\(DD\\)" _ f)
|
||||
(string-append f sleighhome)))))))))
|
||||
(inputs
|
||||
(list capstone
|
||||
libuv
|
||||
libzip
|
||||
lz4
|
||||
openssl
|
||||
pugixml-next
|
||||
radare2
|
||||
sdb
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list ghidra-native
|
||||
pkg-config
|
||||
python-minimal))
|
||||
(home-page "https://www.radare.org/")
|
||||
(synopsis "Native Ghidra Decompiler for radare2")
|
||||
(description
|
||||
"r2ghidra is a radare2 plugin which integrates the
|
||||
@url{https://www.nsa.gov/ghidra,Ghidra} decompiler.")
|
||||
;; Specified lgpl3 'only' in README.
|
||||
(license license:lgpl3)))
|
||||
|
||||
(define-public ghidra-native
|
||||
;; Latest commit; last release (8/2025) incompatible with current r2ghidra.
|
||||
(let ((commit "df065bad0f9e7cea233479048681f811c4f640a2")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "ghidra-native")
|
||||
(version (git-version "0.6.2" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radareorg/ghidra-native")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14bzrl856x3bsqjpks85rzxcxncfmnjwc5knv2h4lybfz4bxcn39"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:make-flags #~(list "patch")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install ;no install target
|
||||
(lambda _
|
||||
(let ((ghidra-native-patched
|
||||
(in-vicinity #$output "/share/ghidra-native/src")))
|
||||
(copy-recursively "src" ghidra-native-patched)))))))
|
||||
(home-page "https://www.radare.org/")
|
||||
(synopsis "Native parts of ghidra")
|
||||
(description
|
||||
"This package contains the native parts of ghidra, to be used from
|
||||
r2ghidra.")
|
||||
(properties '((hidden? . #t))) ;only provides source files
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public rayforge
|
||||
(package
|
||||
(name "rayforge")
|
||||
@@ -2128,7 +2002,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
|
||||
(define-public gpx
|
||||
(package
|
||||
(name "gpx")
|
||||
(version "2.6.8")
|
||||
(version "2.5.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2137,7 +2011,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1izs8s5npkbfrsyk17429hyl1vyrbj9dp6vmdlbb2vh6mfgl54h8"))))
|
||||
"1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://github.com/markwal/GPX")
|
||||
(synopsis "Converting gcode to x3g files for 3D printing")
|
||||
@@ -2252,7 +2126,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
|
||||
(define-public manifold
|
||||
(package
|
||||
(name "manifold")
|
||||
(version "3.4.1")
|
||||
(version "3.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2261,7 +2135,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0x65708r6xln8sd53abbn1qnhz3wxnicn2837ida73ihargk5js1"))))
|
||||
(base32 "0bq1gzvhyp0b9v0q6magwf0yi9lzqgh3fj9104wqfvpl2skgzkg7"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list onetbb clipper2 assimp python-nanobind googletest))
|
||||
(arguments
|
||||
@@ -2759,7 +2633,7 @@ but also adds new features and improves existing ones.")
|
||||
(define-public emacs-scad-mode
|
||||
(package
|
||||
(name "emacs-scad-mode")
|
||||
(version "99.0")
|
||||
(version "98.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2767,10 +2641,9 @@ but also adds new features and improves existing ones.")
|
||||
(url "https://github.com/openscad/emacs-scad-mode")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0mqfvff8f7lqjviwz30j7vkb098xd0k8bdzznb77aw4q7gdsf8nm"))
|
||||
(base32 "19mn6z98c8s7mspa7j8xw7za33gmpsy4iw2r9xiggdv7yh6mh8h8"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(synopsis "Emacs mode to edit OpenSCAD files")
|
||||
(description
|
||||
@@ -2848,7 +2721,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
|
||||
(define-public freecad
|
||||
(package
|
||||
(name "freecad")
|
||||
(version "1.1.1")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2858,7 +2731,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
|
||||
(recursive? #t))) ;needed for the AddonManager
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05dx7ifx33705mxb0vc82j0mzzkazakgadfgq5bws30qrxp49xgg"))
|
||||
(base32 "029ndw1dypx0xhs4fyiinf7gpk8am0vm9b24idvdsx9x7ghrqz4j"))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
@@ -3045,7 +2918,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
|
||||
(define-public cgns
|
||||
(package
|
||||
(name "cgns")
|
||||
(version "4.5.2")
|
||||
(version "4.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3054,7 +2927,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0r8y6lddp7q9nb6804c6bbr4y0pv7ssdzi9m5ddx50ksvfv382fw"))))
|
||||
(base32 "0jig1y7lv9qk1ri2gqws7ffpajmhxnank7gbyna9hfaghsxdlnvd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
@@ -4087,7 +3960,7 @@ G-codes to binary and vice versa.")
|
||||
(list bash-minimal
|
||||
boost-1.83
|
||||
cereal
|
||||
cgal-5
|
||||
cgal
|
||||
curl
|
||||
dbus
|
||||
eigen
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
(define-public erlang
|
||||
(package
|
||||
(name "erlang")
|
||||
(version "28.4.3")
|
||||
(version "27.3.4.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
;; The tarball from http://erlang.org/download contains many
|
||||
@@ -62,7 +62,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dsdmp2rccc0rhzy2w8r4amxmc6nr9hbi053j2s0bg9db30b48rc"))
|
||||
"0dhz2c7w28ss0ypj7jh88pfs3kc8hbwiiq91in1j2miy5sn4cp3x"))
|
||||
(patches (search-patches "erlang-man-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
@@ -75,7 +75,7 @@
|
||||
"/OTP-" version "/otp_doc_man_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g17wzv8j12g9272yvv55nj4wqs09hxkv3i0vnp7d6gcs24bmphi"))))))
|
||||
"1j1fcli7ma9vi4qyv67lq7yiznhpnfvcmh57bn8qxvha6ky2pngm"))))))
|
||||
(inputs
|
||||
(list ncurses openssl wxwidgets))
|
||||
(propagated-inputs
|
||||
|
||||
@@ -136,3 +136,41 @@ whenever possible to the extent that the above points are not compromised.
|
||||
affect your score when code golfing.")
|
||||
(properties `((lint-hidden-cpe-vendors "premio" "jenkins")))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public shakespeare-spl
|
||||
(package
|
||||
(name "shakespeare-spl")
|
||||
(version "1.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/shakespearelang/spl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lxpfhv01kcwy4l4xgx7j765g8g0v74jns0cr908nfw55h5fy1hj"))
|
||||
(patches
|
||||
(search-patches
|
||||
"shakespeare-spl-fix-grammar.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules (,@%default-gnu-imported-modules
|
||||
(guix build copy-build-system))
|
||||
#:modules ((guix build copy-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:install-plan '(("spl/bin" "bin")
|
||||
("spl/lib" "lib")
|
||||
("spl/include" "include"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'build
|
||||
(assoc-ref gnu:%standard-phases 'build)))))
|
||||
(native-inputs
|
||||
(list bison flex))
|
||||
(home-page "http://shakespearelang.sourceforge.net/")
|
||||
(synopsis "Write programs like Shakespearean plays")
|
||||
(description "Shakespeare is a programming language with the design goal
|
||||
of making programs read like plays. The characters in the play are variables.
|
||||
If you want to assign a character, let's say Juliet, a positive value, you put
|
||||
her and another character on the stage and let that character praise Juliet.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user