mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-07 20:34:06 +02:00
Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f594456209 | |||
| f8a0185f03 | |||
| f224f47572 | |||
| f5d7f2f881 | |||
| f65fd4efc7 | |||
| 92f84e2135 | |||
| d9a5bbfa79 | |||
| f5c66d183d | |||
| d4c7c8f3a7 | |||
| a4b766a561 | |||
| 99ce5b322e | |||
| de25db13bf | |||
| 390d345e47 | |||
| 206b5efc28 | |||
| 2c682b098a | |||
| 5bdb684f15 | |||
| 335a1cd01a | |||
| fc858b0c18 | |||
| 9fbe3c4494 | |||
| a37d3eeb5f | |||
| 26bf16aab2 | |||
| 4f63b4ca95 | |||
| 272236f8e7 | |||
| 364a27d498 | |||
| 4824c0bc06 | |||
| cc6e802092 | |||
| af52370a8b | |||
| 0d6302f6fd | |||
| ffec500b92 | |||
| 26fd04e5db | |||
| 94a01eb2b5 | |||
| e2175057ac | |||
| 29529ae0e3 | |||
| e16ed2a669 | |||
| 3324436ccb | |||
| b48482522b | |||
| 149ee4a51c |
+3
-6
@@ -42,12 +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 bug-reference-bug-regexp
|
||||
;; #8545 (issues), !8545 (PRs), guix/guix#8545 and
|
||||
;; guix/guix!8545
|
||||
(rx (group (seq (? "guix/guix") (or "#" "!"))
|
||||
(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"))
|
||||
|
||||
|
||||
+6
-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
|
||||
@@ -162,8 +161,6 @@ gnu/system/examples/bare-bones\.tmpl @guix/documentation
|
||||
gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation
|
||||
gnu/system/examples/desktop\.tmpl @guix/documentation
|
||||
|
||||
gnu/packages/dotnet\.scm @guix/dotnet
|
||||
|
||||
gnu/packages/electronics\.scm @guix/electronics
|
||||
gnu/packages/hdl\.scm @guix/electronics
|
||||
gnu/packages/libftdi\.scm @guix/electronics
|
||||
@@ -292,12 +289,12 @@ guix/build-system/julia\.scm @guix/julia
|
||||
|
||||
gnu/packages/(kde)(-.+|)\.scm$ @guix/kde
|
||||
|
||||
gnu/build/linux-modules\.scm @guix/linux-libre
|
||||
gnu/packages/aux-files/linux-libre.*$ @guix/linux-libre
|
||||
gnu/packages/linux\.scm @guix/linux-libre
|
||||
gnu/tests/linux-modules\.scm @guix/linux-libre
|
||||
guix/build/linux-module-build-system\.scm @guix/linux-libre
|
||||
guix/build-system/linux-module\.scm @guix/linux-libre
|
||||
gnu/build/linux-modules\.scm @guix/kernel
|
||||
gnu/packages/aux-files/linux-libre.*$ @guix/kernel
|
||||
gnu/packages/linux\.scm @guix/kernel
|
||||
gnu/tests/linux-modules\.scm @guix/kernel
|
||||
guix/build/linux-module-build-system\.scm @guix/kernel
|
||||
guix/build-system/linux-module\.scm @guix/kernel
|
||||
|
||||
gnu/packages/lisp(-.+|)\.scm$ @guix/lisp
|
||||
guix/build/asdf-build-system\.scm @guix/lisp
|
||||
@@ -341,7 +338,6 @@ guix/build-system/rakudo\.scm @guix/perl
|
||||
guix/import/cpan\.scm @guix/perl
|
||||
guix/scripts/import/cpan\.scm @guix/perl
|
||||
|
||||
gnu/packages/aux-files/python/.*\.py$ @guix/python
|
||||
gnu/packages/django\.scm @guix/python
|
||||
gnu/packages/jupyter\.scm @guix/python
|
||||
gnu/packages/python(-.+|)\.scm$ @guix/python
|
||||
|
||||
@@ -488,7 +488,6 @@ AUX_FILES = \
|
||||
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf \
|
||||
gnu/packages/aux-files/ovmf/51-edk2-ovmf-2m-raw-x64-nosb.json \
|
||||
gnu/packages/aux-files/pack-audit.c \
|
||||
gnu/packages/aux-files/python/pytest_guix.py \
|
||||
gnu/packages/aux-files/python/sanity-check.py \
|
||||
gnu/packages/aux-files/python/sitecustomize.py \
|
||||
gnu/packages/aux-files/renpy/renpy.in \
|
||||
@@ -1281,14 +1280,6 @@ $(GIT_HOOKS_DIR):
|
||||
$(GIT_HOOKS_DIR)/%: etc/git/% | $(GIT_HOOKS_DIR)/
|
||||
if [ -n "$(GIT_HOOKS_DIR)" ]; then cp "$<" "$@"; fi
|
||||
|
||||
# Special-case the pre-push hook installation, to ensure it is always
|
||||
# up-to-date with its source.
|
||||
.PHONY: $(GIT_HOOKS_DIR)/pre-push
|
||||
$(GIT_HOOKS_DIR)/pre-push: etc/git/pre-push | $(GIT_HOOKS_DIR)
|
||||
@if [ -n "$(GIT_HOOKS_DIR)" ]; then \
|
||||
cmp "--silent" "$<" "$@" || cp "$<" "$@"; \
|
||||
fi
|
||||
|
||||
$(GIT_CONFIG_FILE): etc/git/gitconfig
|
||||
if [ -n "$(GIT_CONFIG_FILE)" ]; then \
|
||||
git config --fixed-value --replace-all include.path \
|
||||
|
||||
@@ -120,7 +120,6 @@ running 'guix-daemon $extra_options'" >&2
|
||||
"@abs_top_builddir@/pre-inst-env" \
|
||||
"@abs_top_builddir@/guix-daemon" \
|
||||
$extra_options \
|
||||
--allow-aslr \
|
||||
--substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" &
|
||||
|
||||
daemon_pid=$!
|
||||
|
||||
+23
-41
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
@@ -324,31 +324,17 @@ actual file name."
|
||||
((('span ('@ ('class "category")) ;raw Texinfo 6.8
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
#t)
|
||||
((('span ;Texinfo 6, post-processed
|
||||
('@ ('class "symbol-definition-category"))
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
#t)
|
||||
((('span ;Texinfo 7
|
||||
('@ ('class "category-def")) _ ...)
|
||||
('span ('strong ('@ ('class "def-name")) _ ...)
|
||||
_ ...)
|
||||
rest ...)
|
||||
((('span ('@ ('class "symbol-definition-category"))
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
#t)
|
||||
(x
|
||||
#f))))
|
||||
|
||||
(define (definition-class? class)
|
||||
;; Return true for "deffn def-line", "deftp def-line", etc.
|
||||
(string-suffix? " def-line" class))
|
||||
|
||||
(let ((shtml (call-with-input-file file html->shtml)))
|
||||
(let loop ((shtml shtml)
|
||||
(anchors anchors))
|
||||
(match shtml
|
||||
((or ('dt ('@ ('id id) _ ...) rest ...) ;Texinfo 6
|
||||
('dt ('@ ('class (? definition-class?)) ;Texinfo 7
|
||||
('id id))
|
||||
rest ...))
|
||||
(('dt ('@ ('id id) _ ...) rest ...)
|
||||
(if (and (string-prefix? "index-" id)
|
||||
(worthy-entry? rest))
|
||||
(alist-cons (anchor-id->key id)
|
||||
@@ -519,16 +505,10 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(loop rest (cons str strings)))
|
||||
((('*ENTITY* "additional" entity) . rest)
|
||||
(loop rest (cons (entity->string entity) strings)))
|
||||
((('*ENTITY* "additional-char" entity) . rest)
|
||||
(loop rest (cons (string
|
||||
(integer->char (string->number entity)))
|
||||
strings)))
|
||||
((('span _ lst ...) . rest) ;for <span class="roman">
|
||||
(loop (append lst rest) strings))
|
||||
((('var ('@ _) name) . rest) ;for @var{name} within @lisp
|
||||
((('var name) . rest) ;for @var{name} within @lisp
|
||||
(loop rest (cons name strings))) ;XXX: losing formatting
|
||||
((('var name) . rest) ;likewise (Texinfo 6)
|
||||
(loop rest (cons name strings)))
|
||||
(something
|
||||
(pk 'unsupported-code-snippet something)
|
||||
(primitive-exit 1)))))
|
||||
@@ -557,10 +537,7 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(link (@ (rel "stylesheet")
|
||||
(type "text/css")
|
||||
(href #$syntax-css-url)))))
|
||||
((or ('pre ('@ ('class "lisp")) ;Texinfo 6
|
||||
code-snippet ...)
|
||||
('pre ('@ ('class "lisp-preformatted"))
|
||||
code-snippet ...))
|
||||
(('pre ('@ ('class "lisp")) code-snippet ...)
|
||||
`(pre (@ (class "lisp"))
|
||||
,@(highlights->sxml*
|
||||
(pair-open/close
|
||||
@@ -568,16 +545,14 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(concatenate-snippets code-snippet)))
|
||||
anchors)))
|
||||
|
||||
;; For Texinfo 6: Replace the ugly <strong> used for @deffn
|
||||
;; etc., which translate to <dt>, with more stylable
|
||||
;; markup. No such post-processing is needed for @deffn
|
||||
;; with Texinfo 7.
|
||||
;; Replace the ugly <strong> used for @deffn etc., which
|
||||
;; translate to <dt>, with more stylable markup.
|
||||
(('dt ('@ ('id id)) ;raw Texinfo 6.8
|
||||
('span ('@ ('class "category")) category ...)
|
||||
('span ('strong thing)
|
||||
anchor))
|
||||
(highlight-definition id category thing '()))
|
||||
(('dt ('@ ('id id)) ;ditto
|
||||
(('dt (@ ('id id))
|
||||
('span ('@ ('class "category")) category ...)
|
||||
('span ('strong thing)
|
||||
(? space?) ('em args ...)
|
||||
@@ -833,9 +808,16 @@ in SOURCE."
|
||||
(match sxml
|
||||
(('*TOP* decl body ...)
|
||||
`(*TOP* ,decl ,@(map loop body)))
|
||||
((or ('body ('@ _) elements ...)
|
||||
('body elements ...))
|
||||
`(body ,(navigation-bar
|
||||
(('head elements ...)
|
||||
;; Add reference to our own manual CSS, which provides
|
||||
;; support for the language menu.
|
||||
`(head ,@elements
|
||||
(link (@ (rel "stylesheet")
|
||||
(type "text/css")
|
||||
(href #$manual-css-url)))))
|
||||
(('body ('@ attributes ...) elements ...)
|
||||
`(body (@ ,@attributes)
|
||||
,(navigation-bar
|
||||
;; TODO: Add "Contribute" menu, to report
|
||||
;; errors, etc.
|
||||
(list (menu-dropdown
|
||||
@@ -970,12 +952,12 @@ makeinfo OPTIONS."
|
||||
(mkdir-p (string-append #$output "/"
|
||||
(normalize language)))
|
||||
(setenv "LANGUAGE" language)
|
||||
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
|
||||
(apply invoke #$(file-append texinfo "/bin/makeinfo")
|
||||
"-o" (string-append #$output "/"
|
||||
(normalize language)
|
||||
"/html_node")
|
||||
opts)
|
||||
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
|
||||
(apply invoke #$(file-append texinfo "/bin/makeinfo")
|
||||
"--no-split"
|
||||
"-o"
|
||||
(string-append #$output "/"
|
||||
@@ -1427,7 +1409,7 @@ commit date (an integer)."
|
||||
(string-append #+tar "/bin:"
|
||||
#+xz "/bin:"
|
||||
#+zstd "/bin:"
|
||||
#+texinfo-7 "/bin"))
|
||||
#+texinfo "/bin"))
|
||||
(invoke "tar" "xf" #$(package-source guile))
|
||||
(mkdir-p (string-append #$output "/en/html_node"))
|
||||
|
||||
@@ -1446,7 +1428,7 @@ commit date (an integer)."
|
||||
(string-append #$output "/en/html_node")))))))))
|
||||
|
||||
(define %guile-manual-base-url
|
||||
"https://doc.guix.gnu.org/guile/latest/en")
|
||||
"https://www.gnu.org/software/guile/manual")
|
||||
|
||||
(define (for-all-languages index)
|
||||
(map (lambda (language)
|
||||
|
||||
+7
-28
@@ -618,33 +618,6 @@ enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
|
||||
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
|
||||
out!
|
||||
|
||||
@unnumberedsubsubsec Submitting Pull Requests Following the AGit Workflow
|
||||
|
||||
@cindex AGit workflow, for pull requests (Emacs).
|
||||
@url{https://codeberg.org/halvin/agitjo, Agitjo} is a helper to ease
|
||||
AGit workflow based patch submission (@pxref{Submitting Patches}).
|
||||
Install it with:
|
||||
|
||||
@example
|
||||
guix install emacs-agitjo
|
||||
@end example
|
||||
|
||||
Assuming your local checkout is on the branch containing the changes you
|
||||
would like to submit for inclusion in the @code{master} branch, use
|
||||
@command{M-x agitjo-push} then:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
Set options like the title @option{-t} and the session identifier
|
||||
@option{-s}.
|
||||
@item
|
||||
Invoke one of the push commands to execute a @command{git push} operation.
|
||||
@end itemize
|
||||
|
||||
When creating a new pull request, a dedicated buffer will open for
|
||||
drafting a description. The force-push option @option{-f} is enabled to
|
||||
push changes to the existing pull request.
|
||||
|
||||
@unnumberedsubsubsec Taming Boilerplate with Templates
|
||||
|
||||
@cindex code snippets
|
||||
@@ -733,7 +706,13 @@ Manual}). To set it up, enable it in the relevant modes:
|
||||
|
||||
When working from a Git checkout of Guix, setup is automatic:
|
||||
@code{bug-reference} automatically detects that the project is hosted on
|
||||
Codeberg and infers the issue and pull request URL from there.
|
||||
Codeberg@footnote{
|
||||
@c 'vc-git-repository-url' is used by
|
||||
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
|
||||
@c names for the remote.
|
||||
As of Emacs@tie{}30.2, auto-detection works if and
|
||||
only if the Git remote is called @code{upstream} or @code{origin}.} and
|
||||
infers the issue and pull request URL from there.
|
||||
|
||||
@node Guile Studio
|
||||
@subsection Guile Studio
|
||||
|
||||
+14
-32
@@ -646,11 +646,9 @@ This field contains a description of the source code origin. The
|
||||
|
||||
@enumerate
|
||||
@item The method, here @code{url-fetch} to download via HTTP/FTP, but other methods
|
||||
exist, such as @code{git-fetch} for Git repositories. @xref{origin
|
||||
Reference,,, guix, GNU Guix Reference Manual}, for more info on the
|
||||
available download methods.
|
||||
exist, such as @code{git-fetch} for Git repositories.
|
||||
@item The URI, which is typically some @code{https://} location for @code{url-fetch}. Here
|
||||
the special @code{mirror://gnu} refers to a set of well known locations, all of
|
||||
the special `mirror://gnu` refers to a set of well known locations, all of
|
||||
which can be used by Guix to fetch the source, should some of them fail.
|
||||
@item The @code{sha256} checksum of the requested file. This is essential to ensure
|
||||
the source is not corrupted. Note that Guix works with base32 strings,
|
||||
@@ -1118,8 +1116,7 @@ Let's discuss those fields in depth.
|
||||
@subsubsection @code{git-fetch} method
|
||||
|
||||
Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
|
||||
a Git repository and a commit (@pxref{origin Reference,,, guix, GNU Guix
|
||||
Reference Manual}). The commit can be any Git reference such as
|
||||
a Git repository and a commit. The commit can be any Git reference such as
|
||||
tags, so if the @code{version} is tagged, then it can be used directly. Sometimes
|
||||
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
|
||||
"v" version))}.
|
||||
@@ -1165,7 +1162,7 @@ Snippets might need additional Guile modules which can be imported from the
|
||||
|
||||
There are 3 different input types. In short:
|
||||
|
||||
@table @code
|
||||
@table @asis
|
||||
@item native-inputs
|
||||
Required for building but not runtime -- installing a package
|
||||
through a substitute won't install these inputs.
|
||||
@@ -1233,14 +1230,9 @@ It's advised to separate outputs only when you've shown it's worth it: if the
|
||||
output size is significant (compare with @code{guix size}) or in case the package is
|
||||
modular.
|
||||
|
||||
@xref{Packages with Multiple Outputs,,, guix, GNU Guix Reference
|
||||
Manual}, for more info.
|
||||
|
||||
@subsubsection Build system arguments
|
||||
|
||||
The @code{arguments} is a keyword-value list used to configure the build
|
||||
process; these arguments are passed to the @dfn{build system}
|
||||
(@pxref{Build Systems,,, guix, GNU Guix Reference Manual}).
|
||||
The @code{arguments} is a keyword-value list used to configure the build process.
|
||||
|
||||
The simplest argument @code{#:tests?} can be used to disable the test suite when
|
||||
building the package. This is mostly useful when the package does not feature
|
||||
@@ -1256,7 +1248,7 @@ following flags
|
||||
"CC=gcc")
|
||||
@end lisp
|
||||
|
||||
translate into:
|
||||
translate into
|
||||
|
||||
@example
|
||||
$ make CC=gcc prefix=/gnu/store/...-<out>
|
||||
@@ -1276,9 +1268,7 @@ Similarly, it's possible to set the configure flags:
|
||||
The @code{%build-inputs} variable is also generated in scope. It's an association
|
||||
table that maps the input names to their store directories.
|
||||
|
||||
The @code{phases} keyword lists the sequential steps of the build
|
||||
system. @xref{Build Phases,,, guix, GNU Guix Reference Manual}, for
|
||||
details; in a nutshell,
|
||||
The @code{phases} keyword lists the sequential steps of the build system. Typically
|
||||
phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know
|
||||
more about those phases, you need to work out the appropriate build system
|
||||
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
|
||||
@@ -1393,12 +1383,10 @@ Its return value is ignored.
|
||||
|
||||
@subsubsection Code staging
|
||||
|
||||
The astute reader may have noticed the hash-tilde and hash-dollar syntax in the
|
||||
The astute reader may have noticed the quasi-quote and comma syntax in the
|
||||
argument field. Indeed, the build code in the package declaration should not be
|
||||
evaluated on the client side, but only when passed to the Guix daemon. This
|
||||
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
|
||||
@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for info on the
|
||||
this mechanism, which is called @dfn{g-expressions}.
|
||||
|
||||
@subsubsection Utility functions
|
||||
|
||||
@@ -1407,7 +1395,7 @@ equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: com
|
||||
regular ``Unix-style'' installations.
|
||||
|
||||
Some like @code{chmod} are native to Guile.
|
||||
@xref{File System,,, guile, Guile reference manual} for a complete list.
|
||||
@xref{,,, guile, Guile reference manual} for a complete list.
|
||||
|
||||
Guix provides additional helper functions which prove especially handy in the
|
||||
context of package management.
|
||||
@@ -1541,9 +1529,9 @@ The recursive importer won't import packages for which Guix already has package
|
||||
definitions, except for the very first.
|
||||
|
||||
Not all applications can be packaged this way, only those relying on a select
|
||||
number of supported systems.
|
||||
@xref{Invoking guix import,,, guix, GNU Guix Reference Manual} for
|
||||
the full list of importers.
|
||||
number of supported systems. Read about the full list of importers in
|
||||
the guix import section of the manual
|
||||
(@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
|
||||
|
||||
@node Automatic update
|
||||
@subsubsection Automatic update
|
||||
@@ -1563,9 +1551,6 @@ well:
|
||||
$ guix refresh hello --update
|
||||
@end example
|
||||
|
||||
@xref{Invoking guix refresh,,, guix, GNU Guix Reference Manual}, for
|
||||
more info.
|
||||
|
||||
@node Inheritance
|
||||
@subsubsection Inheritance
|
||||
|
||||
@@ -1590,9 +1575,7 @@ noticed that a significant number of them have a @code{inherit} field:
|
||||
|
||||
All unspecified fields are inherited from the parent package. This is very
|
||||
convenient to create alternative packages, for instance with different source,
|
||||
version or compilation options. @xref{Defining Package Variants,,, guix,
|
||||
GNU Guix Reference Manual}, for a discussion of inheritance and of other
|
||||
ways to create package variants.
|
||||
version or compilation options.
|
||||
|
||||
@node Getting help
|
||||
@subsection Getting help
|
||||
@@ -1633,8 +1616,7 @@ hopefully we will see your contributions soon!
|
||||
|
||||
@itemize
|
||||
@item
|
||||
@xref{Defining Packages,,, guix, GNU Guix Reference Manual}, for the
|
||||
@code{package} reference in the manual.
|
||||
The @uref{https://guix.gnu.org/manual/en/html_node/Defining-Packages.html, package reference in the manual}
|
||||
|
||||
@item
|
||||
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotr’s hacking guide to GNU Guix}
|
||||
|
||||
+122
-618
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 = \
|
||||
|
||||
+5
-6
@@ -1,4 +1,5 @@
|
||||
#!/bin/sh
|
||||
# From Gerrit Code Review 3.11.1.
|
||||
#
|
||||
# Part of Gerrit Code Review (https://www.gerritcodereview.com/)
|
||||
#
|
||||
@@ -69,9 +70,9 @@ dest="$1.tmp.${random}"
|
||||
|
||||
trap 'rm -f "$dest" "$dest-2"' EXIT
|
||||
|
||||
if ! sed -e '/>8/q' "$1" | git stripspace --strip-comments > "${dest}" ; then
|
||||
echo "cannot strip comments from $1"
|
||||
exit 1
|
||||
if ! cat "$1" | sed -e '/>8/q' | git stripspace --strip-comments > "${dest}" ; then
|
||||
echo "cannot strip comments from $1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test ! -s "${dest}" ; then
|
||||
@@ -90,7 +91,7 @@ else
|
||||
pattern=".*"
|
||||
fi
|
||||
|
||||
if git interpret-trailers --no-divider --parse < "$1" | grep -q "^$token: $pattern$" ; then
|
||||
if git interpret-trailers --parse < "$1" | grep -q "^$token: $pattern$" ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -98,7 +99,6 @@ fi
|
||||
# sentinel at the end to make sure there is one.
|
||||
# Avoid the --in-place option which only appeared in Git 2.8
|
||||
if ! git interpret-trailers \
|
||||
--no-divider \
|
||||
--trailer "Signed-off-by: SENTINEL" < "$1" > "$dest-2" ; then
|
||||
echo "cannot insert Signed-off-by sentinel line in $1"
|
||||
exit 1
|
||||
@@ -110,7 +110,6 @@ fi
|
||||
# Avoid the --in-place option which only appeared in Git 2.8
|
||||
# Avoid the --where option which only appeared in Git 2.15
|
||||
if ! git -c trailer.where=before interpret-trailers \
|
||||
--no-divider \
|
||||
--trailer "Signed-off-by: $token: $value" < "$dest-2" |
|
||||
sed -e "s/^Signed-off-by: \($token: \)/\1/" \
|
||||
-e "/^Signed-off-by: SENTINEL/d" > "$dest" ; then
|
||||
|
||||
@@ -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
|
||||
|
||||
-127
@@ -43,133 +43,6 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "c9dcd203e5356f13b736d5be121fd61874be1a93")
|
||||
(title
|
||||
(en "@command{pull} and @command{time-machine} can download channel
|
||||
files")
|
||||
(de "@command{pull} und @command{time-machine} können Kanaldateien
|
||||
herunterladen")
|
||||
(fr "@command{pull} et @command{time-machine} peuvent télécharger des
|
||||
fichiers canaux")
|
||||
(pt "@command{pull} e @command{time-machine} podem baixar arquivos de canal"))
|
||||
(body
|
||||
(en "The @command{guix pull} and @command{guix time-machine} can now
|
||||
be passed a URL as their @option{-C} (or @option{--channels}) option. For
|
||||
instance, the command below pulls from the latest successfully-evaluated
|
||||
commit of the @code{master} branch:
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
Alternatively, one may also specify a @uref{https://swhid.org, SWHID} that
|
||||
points to a channel file:
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
To make that possible, channel files are now evaluated in an isolated
|
||||
environment (a @dfn{sandbox}), which prevents them from evaluating arbitrary
|
||||
code; if you have existing channel files that rely on \"non-standard\"
|
||||
features, you may now need to pass @option{--unsafe-channel-evaluation} to
|
||||
evaluate them. Furthermore, when fetching channels from a downloaded file,
|
||||
only @dfn{trusted channels} are allowed---one may specify them in
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
See @samp{info \"(guix)Invoking guix pull\"} for more information.")
|
||||
(de "Den Befehlen @command{guix pull} und @command{guix time-machine}
|
||||
kann jetzt eine URL mit der Option @option{-C} (oder @option{--channels})
|
||||
übergeben werden. Zum Beispiel lädt der folgende Befehl vom neuesten
|
||||
erfolgreich ausgewerteten Commit des @code{master}-Branches herunter:
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
Als Alternative kann man auch eine @uref{https://swhid.org, SWHID} angeben, die
|
||||
auf eine Kanaldatei verweist:
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
Damit das möglich ist, werden Kanaldateien jetzt in einer isolierten Umgebung
|
||||
ausgewertet (einer @dfn{Sandbox}), wodurch sie keinen beliebigen Code mehr
|
||||
ausführen können. Wenn Sie in bestehenden Dateien solche über den „Standard“
|
||||
hinausgehenden Funktionen benutzt haben, kann dazu jetzt verlangt werden, dass
|
||||
Sie @option{--unsafe-channel-evaluation} übergeben, um sie auszuwerten. Des
|
||||
Weiteren dürfen Kanäle aus heruntergeladenen Dateien nur als
|
||||
@dfn{vertrauenswürdig} markierte Kanäle verwenden, die Sie in
|
||||
@file{~/.config/guix/trusted-channels.scm} angeben.
|
||||
|
||||
Siehe @samp{info \"(guix.de) Aufruf von guix pull\"} für mehr Informationen.")
|
||||
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
|
||||
peuvent dorénavant prendre une URL pour l'option @option{-C} (ou
|
||||
@option{--channels}). Par exemple, la commande ci-dessous tire la dernière
|
||||
révision de la branch @code{master} à avoir été évaluée avec succès :
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
On peut également spécifier un @uref{https://swhid.org, SWHID} qui pointe vers
|
||||
un fichier canaux :
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
Pour permettre cela, les fichiers canaux sont maintenant évalués dans un
|
||||
environnement isolé (un @dfn{bac à sable}), ce qui les empêche d'évaluer du
|
||||
code arbitraire ; lorsqu'on a des fichiers canaux qui dépendent de
|
||||
fonctionnalités « non standard », il peut dorénavant être nécessaire de passer
|
||||
l'option @option{--unsafe-channel-evaluation} pour les évaluer. De plus,
|
||||
lorsqu'un fichier canaux est téléchargé, seuls les @dfn{canaux de confiance}
|
||||
sont admis---on peut les énumérer dans
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
Voir @samp{info \"(guix.fr) Invoquer guix pull\"} pour plus
|
||||
d'informations.")
|
||||
(pt "Os comandos @command{guix pull} e @command{guix time-machine} já
|
||||
podem receber uma URL como opção para @option{-C} (or @option{--channels}).
|
||||
Por exemplo, o comando abaixo busca do commit mais recente evaluado com
|
||||
sucesso do ramo @code{master}:
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
Alternativamente, pode-se também especificar uma @uref{https://swhid.org,
|
||||
SWHID} que aponta para um arquivo de canal:
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
Para tornar isso possível, arquivos de canal agora são evaluados em um
|
||||
ambiente isolado (uma caixinha de areia, vulgo @dfn{sandbox}), o que os impede
|
||||
de evaluar código arbitrário; se você tem arquivos de canal que dependem de
|
||||
recursos \"não padrão\", pode ser necessário que você passe a opção
|
||||
@option{--unsafe-channel-evaluation} para evaluá-los. Além disso, quando se
|
||||
buscam canais de um arquivo baixado, somente @dfn{canais confiáveis} são
|
||||
permitidos---é possível especificá-los em
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
Veja @samp{info \"(guix.pt_BR)Invocando guix pull\"} para mais informação.")))
|
||||
|
||||
(entry (commit "a7c8e68dc51144a6d3981b770aca9c4897fc7c0c")
|
||||
(title
|
||||
(en "Records can refer to inherited values of thunked fields")
|
||||
|
||||
+9
-37
@@ -514,7 +514,6 @@ of Rebar and Mix build systems and Hex.pm importer."
|
||||
"gnu/packages/autogen.scm"
|
||||
"gnu/packages/autotools.scm"
|
||||
"gnu/packages/bison.scm"
|
||||
"gnu/packages/compiler-tools.scm"
|
||||
"gnu/packages/m4.scm"
|
||||
"gnu/packages/oyacc.scm"
|
||||
"gnu/packages/re2c.scm")))
|
||||
@@ -662,12 +661,6 @@ challenges"))
|
||||
"gnu/system/examples/lightweight-desktop.tmpl"
|
||||
"gnu/system/examples/desktop.tmpl")))
|
||||
|
||||
(define-team dotnet
|
||||
(team 'dotnet
|
||||
#:name ".NET"
|
||||
#:description ".NET programming environment."
|
||||
#:scope (list "gnu/packages/dotnet.scm")))
|
||||
|
||||
(define-team electronics
|
||||
(team 'electronics
|
||||
#:name "Electronics team"
|
||||
@@ -876,8 +869,8 @@ and the maven-build-system."
|
||||
"The plasma desktop environment, and KDE Applications."
|
||||
#:scope (list (make-regexp* "^gnu/packages/(kde)(-.+|)\\.scm$"))))
|
||||
|
||||
(define-team linux-libre
|
||||
(team 'linux-libre
|
||||
(define-team kernel
|
||||
(team 'kernel
|
||||
#:name "Linux-libre kernel team"
|
||||
#:scope (list "gnu/build/linux-modules.scm"
|
||||
(make-regexp* "^gnu/packages/aux-files/linux-libre.*$")
|
||||
@@ -984,8 +977,7 @@ perl-build-system as well as the rakudo-build-system."
|
||||
#:description
|
||||
"Python, Python packages, the \"pypi\" importer, and the python-build-system."
|
||||
#:scope
|
||||
(list (make-regexp* "^gnu/packages/aux-files/python/.*\\.py$")
|
||||
"gnu/packages/django.scm"
|
||||
(list "gnu/packages/django.scm"
|
||||
"gnu/packages/jupyter.scm"
|
||||
(make-regexp* "^gnu/packages/python(-.+|)\\.scm$")
|
||||
"gnu/packages/sphinx.scm"
|
||||
@@ -1249,11 +1241,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")
|
||||
@@ -1298,7 +1285,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Leo Famulari"
|
||||
"leo@famulari.name"
|
||||
"lfam")
|
||||
linux-libre)
|
||||
kernel)
|
||||
|
||||
(define-member (person "Efraim Flashner"
|
||||
"efraim@flashner.co.il"
|
||||
@@ -1383,7 +1370,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Vagrant Cascadian"
|
||||
"vagrant@debian.org"
|
||||
"vagrantc")
|
||||
debian embedded linux-libre)
|
||||
debian embedded kernel)
|
||||
|
||||
(define-member (person "Vagrant Cascadian" ;XXX: duplicate
|
||||
"vagrant@reproducible-builds.org"
|
||||
@@ -1537,7 +1524,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Rodion Goritskov"
|
||||
"rodion@goritskov.com"
|
||||
"rodion-goritskov")
|
||||
games java kde linux-libre release)
|
||||
games java kde kernel release)
|
||||
|
||||
(define-member (person "Jason Conroy"
|
||||
"jconroy@tscripta.net"
|
||||
@@ -1557,7 +1544,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Danny Milosavljevic"
|
||||
"dannym@friendly-machines.com"
|
||||
"daym")
|
||||
bootstrap dotnet hpc python rust science)
|
||||
bootstrap hpc python rust science)
|
||||
|
||||
(define-member (person "Andy Tai"
|
||||
"atai@atai.org"
|
||||
@@ -1577,7 +1564,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Nguyễn Gia Phong"
|
||||
"cnx@loang.net"
|
||||
"cnx")
|
||||
build-tools lua qa-packages sysadmin vcs)
|
||||
build-tools python qa-packages sysadmin vcs)
|
||||
|
||||
(define-member (person "Lilah Tascheter"
|
||||
"lilah@lunabee.space"
|
||||
@@ -1622,7 +1609,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Wilko Meyer"
|
||||
"w@wmeyer.eu"
|
||||
"theesm")
|
||||
linux-libre perl)
|
||||
kernel perl)
|
||||
|
||||
(define-member (person "Untrusem"
|
||||
"mysticmoksh@riseup.net"
|
||||
@@ -1679,21 +1666,6 @@ the \"texlive\" importer."
|
||||
"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))
|
||||
|
||||
@@ -446,11 +446,9 @@ when booting a root file system on a Btrfs subvolume."
|
||||
(modules (menu-entry-multiboot-modules entry)))
|
||||
#~(format port "
|
||||
menuentry ~s {
|
||||
~a
|
||||
multiboot ~a root=~a~a~a
|
||||
}~%"
|
||||
#$label
|
||||
#$(grub-root-search device kernel)
|
||||
#$kernel
|
||||
#$(device-name->hurd-device-name device-name #:disk disk)
|
||||
(string-join (list #$@arguments) " " 'prefix)
|
||||
|
||||
+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?
|
||||
|
||||
+1
-10
@@ -173,16 +173,7 @@ SYSTEM."
|
||||
(define (core-packages system)
|
||||
"Return the 'core' package set suitable for SYSTEM, which might be a system
|
||||
type or a GNU triplet."
|
||||
(cond ((target-linux? system)
|
||||
(append %core-packages
|
||||
%linux-packages
|
||||
(cond ((target-arm32? system)
|
||||
(list linux-libre-arm-generic))
|
||||
((target-aarch64? system)
|
||||
(list linux-libre-arm64-generic))
|
||||
((target-riscv64? system)
|
||||
(list linux-libre-riscv64-generic))
|
||||
(else '()))))
|
||||
(cond ((target-linux? system) (append %core-packages %linux-packages))
|
||||
((target-hurd? system) (append %core-packages %hurd-packages))
|
||||
((target-mingw? system) %core-packages-for-mingw)
|
||||
(else '())))
|
||||
|
||||
@@ -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
|
||||
|
||||
+42
-34
@@ -76,7 +76,6 @@
|
||||
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
|
||||
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
# Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -209,7 +208,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/cobol.scm \
|
||||
%D%/packages/code.scm \
|
||||
%D%/packages/commencement.scm \
|
||||
%D%/packages/compiler-tools.scm \
|
||||
%D%/packages/compression.scm \
|
||||
%D%/packages/compton.scm \
|
||||
%D%/packages/computer-architecture.scm \
|
||||
@@ -236,7 +234,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/darwin.scm \
|
||||
%D%/packages/data-language.scm \
|
||||
%D%/packages/databases.scm \
|
||||
%D%/packages/datalog.scm \
|
||||
%D%/packages/datamash.scm \
|
||||
%D%/packages/datastructures.scm \
|
||||
%D%/packages/dav.scm \
|
||||
@@ -344,7 +341,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/golang-check.scm \
|
||||
%D%/packages/golang-compression.scm \
|
||||
%D%/packages/golang-crypto.scm \
|
||||
%D%/packages/golang-graphics.scm \
|
||||
%D%/packages/golang-maths.scm \
|
||||
%D%/packages/golang-vcs.scm \
|
||||
%D%/packages/golang-web.scm \
|
||||
@@ -733,6 +729,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/zig.scm \
|
||||
%D%/packages/zig-xyz.scm \
|
||||
%D%/packages/zile.scm \
|
||||
%D%/packages/zwave.scm \
|
||||
\
|
||||
%D%/services.scm \
|
||||
%D%/services/admin.scm \
|
||||
@@ -759,7 +756,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/docker.scm \
|
||||
%D%/services/authentication.scm \
|
||||
%D%/services/file-sharing.scm \
|
||||
%D%/services/firmware.scm \
|
||||
%D%/services/games.scm \
|
||||
%D%/services/ganeti.scm \
|
||||
%D%/services/getmail.scm \
|
||||
@@ -1004,9 +1000,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/akonadi-not-relocatable.patch \
|
||||
%D%/packages/patches/akonadi-timestamps.patch \
|
||||
%D%/packages/patches/alure-dumb-2.patch \
|
||||
%D%/packages/patches/amd-smi-newer-libdrm.patch \
|
||||
%D%/packages/patches/amd-smi-python.patch \
|
||||
%D%/packages/patches/angband-remove-nonfree-tile-options.patch \
|
||||
%D%/packages/patches/ibus-anthy-fix-tests.patch \
|
||||
%D%/packages/patches/ibus-table-paths.patch \
|
||||
%D%/packages/patches/antiword-CVE-2014-8123.patch \
|
||||
@@ -1023,7 +1017,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
|
||||
%D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \
|
||||
%D%/packages/patches/atlas-gfortran-compat.patch \
|
||||
%D%/packages/patches/aubio-waflib-python312-compat.patch \
|
||||
%D%/packages/patches/audacity-ffmpeg-fallback.patch \
|
||||
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
|
||||
%D%/packages/patches/audiofile-fix-sign-conversion.patch \
|
||||
@@ -1106,6 +1099,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/cdparanoia-fpic.patch \
|
||||
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
|
||||
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
|
||||
%D%/packages/patches/ceph-fix-cmake.patch \
|
||||
%D%/packages/patches/cf-tool-add-languages.patch \
|
||||
%D%/packages/patches/chmlib-inttypes.patch \
|
||||
%D%/packages/patches/cl-ana-pr-49.patch \
|
||||
@@ -1138,8 +1132,11 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/clog-fix-shared-build.patch \
|
||||
%D%/packages/patches/clucene-gcc-14.patch \
|
||||
%D%/packages/patches/clucene-pkgconfig.patch \
|
||||
%D%/packages/patches/coda-use-system-libs.patch \
|
||||
%D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \
|
||||
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
|
||||
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
|
||||
%D%/packages/patches/rust-codex-0.117.0-remove-patch-sections.patch \
|
||||
%D%/packages/patches/cogl-fix-double-free.patch \
|
||||
%D%/packages/patches/collada-dom-boost.patch \
|
||||
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
|
||||
@@ -1171,6 +1168,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/cryfs-boost-1.89-fix.patch \
|
||||
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
|
||||
%D%/packages/patches/ctranslate2-local-build.patch \
|
||||
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
|
||||
%D%/packages/patches/cube-nocheck.patch \
|
||||
%D%/packages/patches/cups-relax-root-ownership-check.patch \
|
||||
%D%/packages/patches/cura-engine-gcc-14.patch \
|
||||
@@ -1181,6 +1179,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/curlftpfs-fix-memory-leak.patch \
|
||||
%D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
|
||||
%D%/packages/patches/cursynth-wave-rand.patch \
|
||||
%D%/packages/patches/cvc5-reproducible-build.patch \
|
||||
%D%/packages/patches/cvc5-symfpu-compatibility.patch \
|
||||
%D%/packages/patches/cvs-CVE-2017-12836.patch \
|
||||
%D%/packages/patches/cyrus-sasl-fix-time-h.patch \
|
||||
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
|
||||
@@ -1190,7 +1190,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/date-output-pkg-config-files.patch \
|
||||
%D%/packages/patches/dbacl-include-locale.h.patch \
|
||||
%D%/packages/patches/dbacl-icheck-multiple-definitions.patch \
|
||||
%D%/packages/patches/dblatex-importlib.patch \
|
||||
%D%/packages/patches/dblatex-inkscape-1.0.patch \
|
||||
%D%/packages/patches/dbus-helper-search-path.patch \
|
||||
%D%/packages/patches/ddd-build.patch \
|
||||
@@ -1301,7 +1300,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/fbgemm-use-system-libraries.patch \
|
||||
%D%/packages/patches/fbreader-curl-7.62.patch \
|
||||
%D%/packages/patches/fbreader-fix-icon.patch \
|
||||
%D%/packages/patches/fdroidcl-fix-tests.patch \
|
||||
%D%/packages/patches/fenics-dolfin-algorithm.patch \
|
||||
%D%/packages/patches/fenics-dolfin-demo-init.patch \
|
||||
%D%/packages/patches/fenics-dolfin-boost.patch \
|
||||
@@ -1368,8 +1366,16 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
|
||||
%D%/packages/patches/ganeti-haskell-pythondir.patch \
|
||||
%D%/packages/patches/ganeti-lens-compat.patch \
|
||||
%D%/packages/patches/ganeti-openssh-test-fix.patch \
|
||||
%D%/packages/patches/ganeti-pyyaml-compat.patch \
|
||||
%D%/packages/patches/ganeti-procps-compat.patch \
|
||||
%D%/packages/patches/ganeti-reorder-arbitrary-definitions.patch \
|
||||
%D%/packages/patches/ganeti-relax-dependencies.patch \
|
||||
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
|
||||
%D%/packages/patches/ganeti-shepherd-support.patch \
|
||||
%D%/packages/patches/ganeti-sphinx-import.patch \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
|
||||
%D%/packages/patches/gawk-shell.patch \
|
||||
%D%/packages/patches/gcc-arm-bug-71399.patch \
|
||||
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||
@@ -1509,8 +1515,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
|
||||
%D%/packages/patches/glibc-supported-locales.patch \
|
||||
%D%/packages/patches/glibc-versioned-locpath.patch \
|
||||
%D%/packages/patches/glog-windows-h-nonwindows.patch \
|
||||
%D%/packages/patches/glycin-sandbox-Adapt-bwrap-invocation.patch \
|
||||
%D%/packages/patches/gmime-disable-tests.patch \
|
||||
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
|
||||
%D%/packages/patches/gmp-faulty-test.patch \
|
||||
@@ -1527,6 +1531,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 \
|
||||
@@ -1584,9 +1589,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
|
||||
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
||||
%D%/packages/patches/gtk4-demo-reproducible.patch \
|
||||
%D%/packages/patches/gtk4-needs-udmabuf.patch \
|
||||
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
||||
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
@@ -1664,7 +1667,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/ispell-for-linphone-cmake.patch \
|
||||
%D%/packages/patches/jami-avutil-link.patch \
|
||||
%D%/packages/patches/jami-libjami-cmake.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
@@ -1747,6 +1749,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
|
||||
%D%/packages/patches/kismet-unbundle-boost.patch \
|
||||
%D%/packages/patches/kissfft-tflite-micro.patch \
|
||||
%D%/packages/patches/kitty-fix-wayland-protocols.patch \
|
||||
%D%/packages/patches/kmod-module-directory.patch \
|
||||
%D%/packages/patches/kmscon-8-runtime-keymap-switch.patch \
|
||||
%D%/packages/patches/knot-remove-runtime-deps.patch \
|
||||
@@ -1861,7 +1864,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 \
|
||||
@@ -1880,10 +1882,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lua-5.4-pkgconfig.patch \
|
||||
%D%/packages/patches/lua-5.4-liblua-so.patch \
|
||||
%D%/packages/patches/lua-5.4-search-paths.patch \
|
||||
%D%/packages/patches/lua-5.5-search-paths.patch \
|
||||
%D%/packages/patches/lua-5.x-search-path-helpers.patch \
|
||||
%D%/packages/patches/lua-lgi-fix-pango.patch \
|
||||
%D%/packages/patches/lua-lgi-fix-ref.patch \
|
||||
%D%/packages/patches/luanti-paths.patch \
|
||||
%D%/packages/patches/lugaru-fix-sound.patch \
|
||||
%D%/packages/patches/luit-posix.patch \
|
||||
%D%/packages/patches/lxc-no-static-bin.patch \
|
||||
@@ -1942,6 +1944,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 \
|
||||
@@ -1966,7 +1969,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mswebrtc-cmake.patch \
|
||||
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
||||
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||
%D%/packages/patches/musl-CVE-2026-40200.patch \
|
||||
%D%/packages/patches/musl-cross-locale.patch \
|
||||
%D%/packages/patches/mutt-store-references.patch \
|
||||
%D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
|
||||
%D%/packages/patches/nanosvg-prusa-slicer.patch \
|
||||
@@ -1982,7 +1985,6 @@ dist_patch_DATA = \
|
||||
%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 \
|
||||
@@ -2008,13 +2010,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 \
|
||||
@@ -2077,6 +2076,7 @@ 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 \
|
||||
@@ -2110,12 +2110,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-3.11-fix-tests.patch \
|
||||
%D%/packages/patches/python-3.12-fix-tests.patch \
|
||||
%D%/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch \
|
||||
%D%/packages/patches/python-beangulp-click-8.2-compat.patch \
|
||||
%D%/packages/patches/python-bed-reader-use-store-samples.patch \
|
||||
%D%/packages/patches/python-chai-drop-python2.patch \
|
||||
%D%/packages/patches/python-clarabel-blas.patch \
|
||||
%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 \
|
||||
@@ -2132,20 +2132,16 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
|
||||
%D%/packages/patches/python-sip-include-dirs.patch \
|
||||
%D%/packages/patches/python-scikit-build-setuptools-compat.patch \
|
||||
%D%/packages/patches/python-scikit-image-fix-python-pillow.patch \
|
||||
%D%/packages/patches/python-sgmllib3k-assertions.patch \
|
||||
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
|
||||
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
|
||||
%D%/packages/patches/python-sshtunnel-pep518.patch \
|
||||
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch \
|
||||
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.12-support.patch \
|
||||
%D%/packages/patches/python-zipfile2-python-3.12-support.patch \
|
||||
%D%/packages/patches/qcodeeditor-qt6.patch \
|
||||
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
|
||||
%D%/packages/patches/qtwebengine-revert-egl.patch \
|
||||
%D%/packages/patches/qtwebengine5-python312-six-compat.patch \
|
||||
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
|
||||
%D%/packages/patches/qxlsx-fix-include-directory.patch \
|
||||
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
|
||||
@@ -2255,7 +2251,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
|
||||
%D%/packages/patches/python-pillow-CVE-2022-45199.patch \
|
||||
%D%/packages/patches/python-libxml2-utf8.patch \
|
||||
%D%/packages/patches/python-lsp-server-python-3.13-compatibility.patch \
|
||||
%D%/packages/patches/python-memcached-syntax-warnings.patch \
|
||||
%D%/packages/patches/python-mslice-matplotlib-3.6-compatibility.patch \
|
||||
%D%/packages/patches/python-packaging-test-arch.patch \
|
||||
@@ -2271,7 +2266,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-pytorch-system-libraries.patch \
|
||||
%D%/packages/patches/python-pytorch-without-kineto.patch \
|
||||
%D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
|
||||
%D%/packages/patches/python-py-ubjson-recursion-test.patch \
|
||||
%D%/packages/patches/python-vaex-core-fix-tsl-use.patch \
|
||||
%D%/packages/patches/python-vega-datasets-remove-la-riots-code.patch \
|
||||
%D%/packages/patches/python-versioneer-guix-support.patch \
|
||||
@@ -2293,6 +2287,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 \
|
||||
@@ -2366,8 +2362,16 @@ dist_patch_DATA = \
|
||||
%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/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
|
||||
@@ -2408,8 +2412,13 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
|
||||
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
|
||||
%D%/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
|
||||
%D%/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch \
|
||||
%D%/packages/patches/rust-codex-0.120.0-core-remove-self-dep.patch \
|
||||
%D%/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch \
|
||||
%D%/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch \
|
||||
%D%/packages/patches/rust-codex-0.120.0-test-timeout.patch \
|
||||
%D%/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch \
|
||||
@@ -2424,6 +2433,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/sajson-build-with-gcc10.patch \
|
||||
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
|
||||
%D%/packages/patches/sbc-fix-build-non-x86.patch \
|
||||
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
|
||||
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
|
||||
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
|
||||
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
|
||||
@@ -2449,10 +2459,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/libsequoia-fix-ffi-Makefile.patch \
|
||||
%D%/packages/patches/libsequoia-remove-store.patch \
|
||||
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
|
||||
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
|
||||
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
|
||||
%D%/packages/patches/showtime-python-3.11-compat.patch \
|
||||
%D%/packages/patches/simpleitk-r-4.6.0.patch \
|
||||
%D%/packages/patches/sipwitch-fix-build-with-exosip5.patch \
|
||||
%D%/packages/patches/slim-config.patch \
|
||||
%D%/packages/patches/slim-gcc-14.patch \
|
||||
@@ -2487,7 +2497,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch \
|
||||
%D%/packages/patches/swift-llvm-5.7.3-linux.patch \
|
||||
%D%/packages/patches/swig-support-gcc-12.patch \
|
||||
%D%/packages/patches/swig-support-r-4.6.0.patch \
|
||||
%D%/packages/patches/swish-e-search.patch \
|
||||
%D%/packages/patches/swish-e-format-security.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
|
||||
@@ -2520,6 +2529,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/texmacs-wayland-hidpi.patch \
|
||||
%D%/packages/patches/tflite-micro_disable_download.patch \
|
||||
%D%/packages/patches/thefuck-test-environ.patch \
|
||||
%D%/packages/patches/thefuck-remove-broken-tests.patch \
|
||||
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
|
||||
%D%/packages/patches/timewarrior-time-sensitive-tests.patch \
|
||||
%D%/packages/patches/tinydir-fix-cbehave-test.patch \
|
||||
@@ -2535,7 +2545,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
%D%/packages/patches/tuir-python-3.12-support.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/tvm_fix_cpptest_build.patch \
|
||||
%D%/packages/patches/twinkle-bcg729.patch \
|
||||
@@ -2613,7 +2622,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
|
||||
%D%/packages/patches/websocketpp-boost-compat.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
%D%/packages/patches/wmctrl-64-fix.patch \
|
||||
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
|
||||
|
||||
+86
-205
@@ -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>.
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages xml)
|
||||
@@ -186,9 +185,7 @@ terminals.")
|
||||
(native-inputs
|
||||
(append
|
||||
(list clisp
|
||||
;; See: <https://bugzilla.redhat.com/show_bug.cgi?id=2231865>.
|
||||
python-cython-0
|
||||
python-setuptools ;remove with next update
|
||||
python-cython-0 ;; See https://bugzilla.redhat.com/show_bug.cgi?id=2231865
|
||||
doxygen
|
||||
gettext-minimal)
|
||||
;; icedtea doesn't build reliably on all architectures.
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public acl
|
||||
|
||||
+66
-118
@@ -109,6 +109,7 @@
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system ruby)
|
||||
@@ -144,7 +145,7 @@
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages file-systems)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
@@ -743,7 +744,7 @@ manager.")
|
||||
(define-public swineherd
|
||||
(package
|
||||
(name "swineherd")
|
||||
(version "0.0.5")
|
||||
(version "0.0.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -752,7 +753,7 @@ manager.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1w3fvkdmqvbzqfx3xindm8qgam54wja46isgwasaiqmmhnla7p52"))))
|
||||
"0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--localstatedir=/var")
|
||||
@@ -766,7 +767,7 @@ manager.")
|
||||
guile-netlink
|
||||
guile-3.0
|
||||
guix
|
||||
shepherd-1.0))
|
||||
shepherd-0.10))
|
||||
(home-page "https://github.com/BIMSBbioinfo/swineherd")
|
||||
(synopsis "System container manager")
|
||||
(description
|
||||
@@ -1084,7 +1085,7 @@ console.")
|
||||
(define-public btop
|
||||
(package
|
||||
(name "btop")
|
||||
(version "1.4.7")
|
||||
(version "1.4.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1093,7 +1094,7 @@ console.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d3cr5l6gpcwhxgnrizny5b5kg6fys2hy9a58bc68w4n2hc040fy"))))
|
||||
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list lowdown))
|
||||
(arguments
|
||||
@@ -1971,7 +1972,7 @@ maintenance releases.")
|
||||
(define-public dhcpcd
|
||||
(package
|
||||
(name "dhcpcd")
|
||||
(version "10.3.2")
|
||||
(version "10.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1980,7 +1981,7 @@ maintenance releases.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z5rpi0n2vwhkh3c4d0dxwp38fl18br58jpy7kzh97gzg3gpk5dl"))))
|
||||
(base32 "058k8wbzbjb6mm6qklv40z1y4k6sdb4ysap1xk6pny1m1f9xkdax"))))
|
||||
(inputs (list bash-minimal coreutils-minimal eudev sed))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -2979,7 +2980,7 @@ system is under heavy load.")
|
||||
(define-public stress-ng
|
||||
(package
|
||||
(name "stress-ng")
|
||||
(version "0.21.01")
|
||||
(version "0.20.01")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2988,7 +2989,7 @@ system is under heavy load.")
|
||||
(commit (string-append "V" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11w8xjm53lgnxfvg286lavqjh0il3bfr1fsgyk915167r4vlabqq"))))
|
||||
(base32 "1jkinrxh9ppv7xfii9xlisnd2679wnj4ljq12h8y0nvwrm8fkm0b"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX The test suite seems to cause instability on the VisionFive 2
|
||||
@@ -3405,7 +3406,7 @@ provides the following commands:
|
||||
;; variable in the tests/import/cpan.scm test.
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_PYTHONPATH")
|
||||
(files (list "lib/python3.12/site-packages")))))
|
||||
(files (list "lib/python3.11/site-packages")))))
|
||||
(home-page "https://www.ansible.com/")
|
||||
(synopsis "Radically simple IT automation")
|
||||
(description "Ansible aims to be a radically simple IT automation system.
|
||||
@@ -3423,7 +3424,7 @@ modules and plugins that extend Ansible.")
|
||||
(define-public debops
|
||||
(package
|
||||
(name "debops")
|
||||
(version "3.3.0")
|
||||
(version "3.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3432,7 +3433,7 @@ modules and plugins that extend Ansible.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0z6wck5kax5h2bjv1vw8pbd7fdcdhx87bj9fakh3h0rar9d2qksj"))
|
||||
(base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
|
||||
(patches
|
||||
(search-patches "debops-setup-py-avoid-git.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
@@ -3454,8 +3455,8 @@ modules and plugins that extend Ansible.")
|
||||
python-future
|
||||
python-gitpython
|
||||
python-jinja2
|
||||
python-pyxdg
|
||||
python-pyyaml
|
||||
python-pyxdg
|
||||
python-toml))
|
||||
(arguments
|
||||
(list
|
||||
@@ -3470,7 +3471,7 @@ modules and plugins that extend Ansible.")
|
||||
`("PATH" ":" prefix
|
||||
,(map dirname
|
||||
(map (cut search-input-file inputs <>)
|
||||
(list ;; "bin/ansible" ;see above
|
||||
(list "bin/ansible"
|
||||
"bin/gpg"
|
||||
"bin/git"
|
||||
"bin/git-crypt"
|
||||
@@ -3926,18 +3927,6 @@ rules is done with the @code{auditctl} utility.")
|
||||
(wrap-program (string-append ndiff "/bin/ndiff")
|
||||
`("GUIX_PYTHONPATH" prefix
|
||||
(,(python-path ndiff)))))))
|
||||
(add-before 'check 'fix-tests-for-python-3.12
|
||||
(lambda _
|
||||
(substitute* "ndiff/ndifftest.py"
|
||||
(("import imp")
|
||||
"import importlib.util")
|
||||
(("ndiff = imp\\.load_source\\(\"ndiff\", \"ndiff\\.py\"\\)")
|
||||
(string-join
|
||||
'("spec = \
|
||||
importlib.util.spec_from_file_location(\"ndiff\", \"ndiff.py\")"
|
||||
"ndiff = importlib.util.module_from_spec(spec)"
|
||||
"spec.loader.exec_module(ndiff)")
|
||||
"\n")))))
|
||||
;; These are the tests that do not require network access.
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
@@ -4067,59 +4056,51 @@ plug-in architecture to allow monitoring other system metrics.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public thefuck
|
||||
;; Latest release, 3.32, is not compatible with Python 3.12.
|
||||
(let ((revision "0")
|
||||
(commit "c7e7e1d884d3bb241ea6448f72a989434c2a35ec"))
|
||||
(package
|
||||
(name "thefuck")
|
||||
(version (git-version "3.32" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nvbn/thefuck")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1l3i2cpdf3vznpbzqw7b18l23xikqs7andx6yzqvm5415snaqg06"))
|
||||
(patches (search-patches "thefuck-test-environ.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
"--deselect=tests/test_utils.py::TestGetValidHistoryWithoutCurrent"
|
||||
"--ignore=tests/functional/conftest.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; ModuleNotFoundError: No module named 'pytest_docker_pexpect'
|
||||
(delete-file "tests/functional/conftest.py")
|
||||
;; Tests look for installed package
|
||||
;; Some tests need write access to $HOME.
|
||||
(setenv "HOME" "/tmp")
|
||||
;; Even with that, this function tries to mkdir /.config.
|
||||
(substitute* "tests/test_utils.py"
|
||||
(("settings\\.init\\(\\)") "")))))))
|
||||
(native-inputs
|
||||
(list go
|
||||
python-mock
|
||||
;; Uses test markers that are incompatible with pytest 9.
|
||||
python-pytest-8
|
||||
python-pytest-mock
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list python-colorama
|
||||
python-decorator
|
||||
python-psutil
|
||||
python-pyte))
|
||||
(home-page "https://github.com/nvbn/thefuck")
|
||||
(synopsis "Correct mistyped console command")
|
||||
(description
|
||||
"The Fuck tries to match a rule for a previous, mistyped command, creates
|
||||
(package
|
||||
(name "thefuck")
|
||||
(version "3.32")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nvbn/thefuck")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18ipa1bm6q1n5drbi8i65726hhqhl1g41390lfqrc11hkbvv443d"))
|
||||
(patches (search-patches "thefuck-test-environ.patch"
|
||||
"thefuck-remove-broken-tests.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Tests look for installed package
|
||||
;; Some tests need write access to $HOME.
|
||||
(setenv "HOME" "/tmp")
|
||||
;; Even with that, this function tries to mkdir /.config.
|
||||
(substitute* "tests/test_utils.py"
|
||||
(("settings\\.init\\(\\)") "")))))))
|
||||
(native-inputs
|
||||
(list go
|
||||
python-mock
|
||||
python-pytest-8
|
||||
python-pytest-mock
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(inputs
|
||||
(list python-colorama
|
||||
python-decorator
|
||||
python-psutil
|
||||
python-pyte))
|
||||
(home-page "https://github.com/nvbn/thefuck")
|
||||
(synopsis "Correct mistyped console command")
|
||||
(description
|
||||
"The Fuck tries to match a rule for a previous, mistyped command, creates
|
||||
a new command using the matched rule, and runs it.")
|
||||
(license license:x11))))
|
||||
(license license:x11)))
|
||||
|
||||
(define-public di
|
||||
(package
|
||||
@@ -4434,7 +4415,7 @@ buffers.")
|
||||
(define-public igt-gpu-tools
|
||||
(package
|
||||
(name "igt-gpu-tools")
|
||||
(version "2.4")
|
||||
(version "2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4443,7 +4424,7 @@ buffers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ijvfa5wamihzbl8l29sc27ml0kmgzlld83jm5mln6bb4bvny4gs"))))
|
||||
(base32 "1vyqrsvxraib98r4i6cjmxq7nis480s2ns95v78dscygcci42i8a"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; many of the tests try to load kernel modules
|
||||
@@ -4461,7 +4442,6 @@ buffers.")
|
||||
libdrm
|
||||
libpciaccess
|
||||
libunwind
|
||||
pciutils
|
||||
procps
|
||||
python))
|
||||
(native-inputs
|
||||
@@ -4731,7 +4711,7 @@ information tool.")
|
||||
(define-public fastfetch-minimal
|
||||
(package
|
||||
(name "fastfetch-minimal")
|
||||
(version "2.63.1")
|
||||
(version "2.60.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4740,7 +4720,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")
|
||||
@@ -7072,7 +7052,7 @@ network, which causes enabled computers to power on.")
|
||||
(define-public witr
|
||||
(package
|
||||
(name "witr")
|
||||
(version "0.3.2")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -7081,7 +7061,7 @@ network, which causes enabled computers to power on.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06vxrgd0j2v6s4snmyviwpp66hm5zai7xca9318inhyg4jw3ngg5"))))
|
||||
(base32 "03v9n4mdvqm0knqjl4s64321i5clqpmlrlkkdb87glzb9p28sg00"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -7228,38 +7208,6 @@ has a focus on performance. It can be used as a greeter by starting
|
||||
it from @file{~/.bashrc} for example.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public zeptofetch
|
||||
(package
|
||||
(name "zeptofetch")
|
||||
(version "1.21")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.archlinux.org/gurov/zeptofetch")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1f1dm9nrp0z0prqy90csrkbk98ixp0jx76ax473qb0qsbb7ys4g7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests available.
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX="
|
||||
#$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; No configure script.
|
||||
(home-page "https://gitlab.archlinux.org/gurov/zeptofetch")
|
||||
(synopsis
|
||||
"Fast, minimal system information tool for Linux.")
|
||||
(description
|
||||
"This package provides a system fetch tool, similar to
|
||||
@command{neofetch}, @command{fastfetch}, etc. It is lightweight and
|
||||
has a focus on performance.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public zzz
|
||||
(package
|
||||
(name "zzz")
|
||||
|
||||
@@ -117,7 +117,7 @@ Features:
|
||||
(define-public python-zbarlight
|
||||
(package
|
||||
(name "python-zbarlight")
|
||||
(version "4.0")
|
||||
(version "3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -126,7 +126,7 @@ Features:
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1q1nfc7g7bl9y63fwvnq1fcgqk79inc2hhw3ilvyw0nk0g74v8cm"))))
|
||||
(base32 "1radfpfhfhkx3xnz01bqr5l9pl2zv70zis6l2kw1gwqbfw65r6w6"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-pillow))
|
||||
(inputs (list zbar))
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gcc)
|
||||
@@ -88,6 +88,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module ((guix build-system python) #:select (pypi-uri))
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
|
||||
+16
-22
@@ -41,6 +41,7 @@
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
@@ -1229,35 +1230,28 @@ main repository.")
|
||||
(define-public fdroidcl
|
||||
(package
|
||||
(name "fdroidcl")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hoverth/fdroidcl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bflahcsjarv4v6r61knl5gc5iydh1lwvqjgffhxr4pis4qfsqsa"))
|
||||
;; XXX: Reported upstream.
|
||||
;; See: <https://github.com/Hoverth/fdroidcl/pull/92>.
|
||||
(patches (search-patches "fdroidcl-fix-tests.patch"))))
|
||||
(version "0.7.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mvdan/fdroidcl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s3fszlyyab9gbdrg52zcbafsb1mgb770skg7b3gj7f3pzfnra5n"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "mvdan.cc/fdroidcl"))
|
||||
(inputs
|
||||
(list go-github-com-kr-pretty
|
||||
go-github-com-pelletier-go-toml-v2
|
||||
go-github-com-rogpeppe-go-internal
|
||||
go-github-com-schollz-progressbar-v3))
|
||||
(home-page "https://github.com/Hoverth/fdroidcl")
|
||||
`(#:import-path "mvdan.cc/fdroidcl"
|
||||
#:tests? #f ;requires internet access
|
||||
#:install-source? #f))
|
||||
(inputs (list go-github-com-kr-pretty go-github-com-schollz-progressbar-v3))
|
||||
(synopsis "F-Droid desktop client")
|
||||
(description
|
||||
"While the Android client integrates with the system with regular update
|
||||
checks and notifications, this is a simple command line client that talks to
|
||||
connected devices via ADB.")
|
||||
(home-page "https://github.com/mvdan/fdroidcl")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public emacs-fdroid
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages linux)
|
||||
@@ -180,7 +180,7 @@ supported by Canonical since 2009.")
|
||||
(list libapparmor))
|
||||
;; Python module `readline' needed
|
||||
(native-inputs
|
||||
(list bison flex gettext-minimal perl python python-setuptools which))
|
||||
(list bison flex gettext-minimal perl python which))
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public pam-apparmor
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages linux)
|
||||
|
||||
+41
-20
@@ -37,6 +37,7 @@
|
||||
|
||||
(define-module (gnu packages astronomy)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module ((guix build-system python) #:select (pypi-uri)) ;to be removed soon
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
@@ -66,7 +67,7 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages fortran-xyz)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@@ -1991,22 +1992,12 @@ model-fitting photometry or morphological analyses.")
|
||||
(sha256
|
||||
(base32 "156y3zp0nm77976rwsxjjdh7yvggas8s6m0nm523khvn4lq8f9n0"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; Assertion errors:
|
||||
;;
|
||||
;; You are lazy loading attributes via 'bibtex', and so are making
|
||||
;; multiple calls to the API. This will impact your overall rate
|
||||
;; limits. bibtex should be queried with ads.ExportQuery(); You will hit
|
||||
;; API ratelimits very quickly otherwise.
|
||||
#~(list (string-append "--deselect=ads/tests/test_search.py"
|
||||
"::TestArticle::test_get_field_bibtex"))))
|
||||
(native-inputs
|
||||
(list nss-certs-for-test
|
||||
python-httpretty
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-mock
|
||||
python-requests
|
||||
@@ -2186,6 +2177,20 @@ interchange format for scientific data. This package contains the Python
|
||||
implementation of the ASDF Standard.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-asdf-3
|
||||
(package
|
||||
(inherit python-asdf)
|
||||
(version "3.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asdf" version))
|
||||
(sha256
|
||||
(base32 "0scnw5y4x5k3vyfylq0w612b662xlccx3gsscaw082zlv2yxfyh4"))))
|
||||
(propagated-inputs
|
||||
(modify-inputs propagated-inputs
|
||||
(prepend python-asdf-transform-schemas)))))
|
||||
|
||||
(define-public python-asdf-astropy
|
||||
(package
|
||||
(name "python-asdf-astropy")
|
||||
@@ -3862,6 +3867,10 @@ find,download, and read the data files.")
|
||||
#~(list "-m" "not remote_data")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-pytest-config
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
((" --cov=cdflib --cov-report=xml") ""))))
|
||||
(add-before 'check 'set-HOME
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
@@ -4663,6 +4672,7 @@ Cesium.")
|
||||
(native-inputs
|
||||
(list python-pydot
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-asdf-plugin
|
||||
python-pytest-doctestplus
|
||||
python-pytest-filter-subpackage
|
||||
@@ -5187,6 +5197,7 @@ files.")
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
@@ -5781,6 +5792,7 @@ across many files.")
|
||||
(list python-mock
|
||||
python-objgraph
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
;; python-pytest-faulthandler
|
||||
python-setuptools
|
||||
python-wheel
|
||||
@@ -6627,6 +6639,19 @@ files.")
|
||||
(string-append
|
||||
"from astropy.units.core import Unit, UnitBase\n"
|
||||
"from astropy.units.errors import UnitTypeError\n")))))
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
;; RuntimeError: Unable to detect version control
|
||||
;; system. Checked: Git. Not installed: Mercurial, Darcs,
|
||||
;; Subversion, Bazaar, Fossil, Pijul. See
|
||||
;; <https://github.com/blacklanternsecurity/bbot/issues/1257>.
|
||||
(("enable = true") "enable = false"))))
|
||||
(add-before 'build 'set-version
|
||||
(lambda _
|
||||
;; TODO: Include in pyproject-build-system.
|
||||
(setenv "POETRY_DYNAMIC_VERSIONING_BYPASS"
|
||||
#$(version-major+minor+point version))))
|
||||
(add-before 'check 'prepare-test-environment
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
@@ -6684,7 +6709,7 @@ astronomical tables
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 1508 passed, 43621 warnings
|
||||
;; tests: 1509 passed, 55331 warnings
|
||||
#:test-flags
|
||||
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
|
||||
;; TypeError: SparseSolverBase.__init__() got an unexpected
|
||||
@@ -6701,12 +6726,7 @@ astronomical tables
|
||||
(string-append "--deselect=test/test_Sampling/test_Likelihoods/"
|
||||
"test_position_likelihood.py"
|
||||
"::TestPositionLikelihood"
|
||||
"::test_multiplane_position_likelihood")
|
||||
;; XXX: AttributeError: 'FileFinder' object has no attribute
|
||||
;; 'find_module'.
|
||||
;; See: <https://github.com/lenstronomy/lenstronomy/issues/845>.
|
||||
(string-append "--deselect=test/test_Util/test_package_util.py"
|
||||
"::test_short_and_laconic"))
|
||||
"::test_multiplane_position_likelihood"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
@@ -11663,6 +11683,7 @@ for dealing with particle data and a few related utility functions.")
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-numpy python-scipy))
|
||||
(native-inputs (list python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-doctestplus
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
|
||||
+129
-299
@@ -51,7 +51,7 @@
|
||||
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
|
||||
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
|
||||
;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025, 2026 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
|
||||
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
|
||||
@@ -63,7 +63,6 @@
|
||||
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -103,7 +102,7 @@
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@@ -128,7 +127,6 @@
|
||||
#:use-module (gnu packages linphone)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
@@ -137,6 +135,7 @@
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages oneapi)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -145,7 +144,6 @@
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
@@ -181,6 +179,7 @@
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
@@ -195,45 +194,6 @@
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public adplug
|
||||
(package
|
||||
(name "adplug")
|
||||
(version "2.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/adplug/adplug")
|
||||
(commit (string-append "adplug-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l31ya42g3q7ry2m0y5djgjb9ax8ciy8jn86252vdjkjswwqgscd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON")
|
||||
#:modules
|
||||
'((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26)) ;for cute
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-headers
|
||||
(lambda _
|
||||
(for-each (cute install-file <>
|
||||
(string-append #$output "/include/adplug"))
|
||||
(find-files "../source/src" "\\.h$")))))))
|
||||
(propagated-inputs
|
||||
(list libbinio))
|
||||
(home-page "https://adplug.github.io/")
|
||||
(synopsis "AdLib sound player library")
|
||||
(description
|
||||
"AdPlug is a hardware independent AdLib sound player library, mainly
|
||||
written in C++. AdPlug plays sound data, originally created for the AdLib
|
||||
(OPL2/3) audio board, on top of an OPL2/3 emulator or by using the real
|
||||
hardware. No OPL2/3 chips are required for playback.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public opensles
|
||||
(package
|
||||
(name "opensles")
|
||||
@@ -820,8 +780,7 @@ Filter) modules follow the convention of 1V / Octave.")
|
||||
"https://aubio.org/pub/aubio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))
|
||||
(patches (search-patches "aubio-waflib-python312-compat.patch"))))
|
||||
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2135,17 +2094,7 @@ envelope follower, distortion effects, tape effects and more.")
|
||||
(base32
|
||||
"01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;There are no tests.
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.12-compatibility
|
||||
(lambda _
|
||||
(substitute* "waflib/Context.py"
|
||||
(("imp.new_module") "types.ModuleType")
|
||||
(("import os, re, imp, sys")
|
||||
"import os, re, types, sys")))))))
|
||||
(arguments (list #:tests? #false)) ;There are no tests.
|
||||
(inputs (list lv2))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://git.drobilla.net/cgit.cgi/omins.lv2.git/")
|
||||
@@ -3289,27 +3238,30 @@ synchronous execution of all clients, and low latency operation.")
|
||||
(package
|
||||
(inherit jack-1)
|
||||
(name "jack2")
|
||||
;; 1.9.22 does not compile with Python 3.12, use the latest commit instead.
|
||||
(properties '((commit . "17959465a722225a36a8b612aed26764036f258e")
|
||||
(revision . "0")))
|
||||
(version (git-version "1.9.22"
|
||||
(assoc-ref properties 'revision)
|
||||
(assoc-ref properties 'commit)))
|
||||
(version "1.9.21")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jackaudio/jack2")
|
||||
(commit (assoc-ref properties 'commit))))
|
||||
(url "https://github.com/jackaudio/jack2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"18dbjq9y8mcp27j9aaqdlg4976hrisr7b88lk84ck09gmzlwqalp"))))
|
||||
"0sbrffmdbajvrk7iqvsvrnwnpvmicvbjyq3f52r6ashdsznsz03b"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:configure-flags '("--dbus" "--alsa")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Python 3.11 has removed the 'U' (universal newline) mode. It has
|
||||
;; been the default since Python 3.3.
|
||||
(add-after 'unpack 'python-compatibility
|
||||
(lambda _
|
||||
(substitute* '("waflib/Context.py"
|
||||
"waflib/ConfigSet.py")
|
||||
(("m='rU'") "m='r'")
|
||||
(("read\\('rU'") "read('r'"))))
|
||||
(add-before 'configure 'set-linkflags
|
||||
(lambda _
|
||||
;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp
|
||||
@@ -3335,7 +3287,7 @@ synchronous execution of all clients, and low latency operation.")
|
||||
expat
|
||||
libsamplerate
|
||||
opus
|
||||
python-dbus
|
||||
python-dbus-1.2
|
||||
readline))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
@@ -3478,7 +3430,7 @@ from being able to mix multiple JACK audio streams.")
|
||||
(define-public pipemixer
|
||||
(package
|
||||
(name "pipemixer")
|
||||
(version "0.5.0")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3487,8 +3439,19 @@ from being able to mix multiple JACK audio streams.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "104h2zdhqx5gdddnb7v7rhrflznh4v7d4g3s6vk2mxwf938zgm72"))))
|
||||
(base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-pw-device
|
||||
(lambda _
|
||||
(substitute* "src/pw/device.c"
|
||||
;; TODO: Report upstream:
|
||||
;; ../source/src/pw/device.c:328:80: error: expected
|
||||
;; ‘;’ before ‘{’ token
|
||||
(("iter\\) \\{") "iter); {")))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
@@ -3888,58 +3851,6 @@ provided by Pipewire.")
|
||||
cross-platform audio input/output stream library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pyroomacoustics
|
||||
(package
|
||||
(name "python-pyroomacoustics")
|
||||
(version "0.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LCAV/pyroomacoustics")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0546506lg93nrybvilc4wgrgvn317w9zxv2jwikhpfy1i0qyrnkk"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; Want to download data from the internet:
|
||||
"--ignore"
|
||||
"pyroomacoustics/directivities/tests/test_sofa_directivities.py"
|
||||
"--ignore"
|
||||
"pyroomacoustics/datasets/tests/test_download_uncompress.py"
|
||||
;; May fail because of slight numerical imprecision.
|
||||
"--ignore"
|
||||
"pyroomacoustics/experimental/tests/test_measure_rt60.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-extra-include-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append
|
||||
(search-input-directory inputs "include/eigen3")
|
||||
":"
|
||||
(or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
|
||||
(propagated-inputs (list python-scipy))
|
||||
(native-inputs (list eigen
|
||||
pybind11
|
||||
python-cython
|
||||
python-matplotlib
|
||||
python-numpy
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-sofa))
|
||||
(inputs (list nanoflann))
|
||||
(home-page "https://github.com/LCAV/pyroomacoustics")
|
||||
(synopsis "Python library for room acoustics")
|
||||
(description "@code{pyroomacoustics} is a framework for simulating the
|
||||
acustic behaviour of rooms, such as computing the impulse response using
|
||||
different simulation methods.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pulsectl
|
||||
(package
|
||||
(name "python-pulsectl")
|
||||
@@ -4044,40 +3955,6 @@ to send and receive OSC messages using a nice and simple Python API. Also
|
||||
included are the command line utilities @code{send_osc} and @code{dump_osc}.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python-sofa
|
||||
(package
|
||||
(name "python-sofa")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/spatialaudio/python-sofa/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0n6mdck2dawfm6napqhhxi8gjyvs6121pblcr7zjl37a8ldqvg29"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;No tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-wrong-dependency
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'datetime'")
|
||||
"")))))))
|
||||
(propagated-inputs (list python-netcdf4 python-numpy python-scipy))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/spatialaudio/python-sofa/")
|
||||
(synopsis
|
||||
"Python @acronym{Spatially Oriented Format for Acoustics, SOFA} API")
|
||||
(description
|
||||
"Python API for @acronym{Spatially Oriented Format for Acoustics, SOFA} files
|
||||
as specified in @url{https://www.sofaconventions.org, SOFA conventions}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-soundfile
|
||||
(package
|
||||
(name "python-soundfile")
|
||||
@@ -4213,7 +4090,9 @@ one-dimensional sample-rate conversion library.")
|
||||
(string-append "'" #$(this-package-input "libsndfile")
|
||||
"/lib/libsndfile"))))))))
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(list python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list libsndfile
|
||||
portaudio))
|
||||
@@ -4586,33 +4465,6 @@ This includes device enumeration and initialization, file loading, and
|
||||
streaming.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public wp-notifyd
|
||||
(package
|
||||
(name "wp-notifyd")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LDAP/wp-notifyd")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nkndz0li15maf0dc9x631p0dr8085wzz5358552wljv7chywrza"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;there are no tests
|
||||
(inputs (list libnotify
|
||||
wireplumber-minimal
|
||||
pipewire
|
||||
spdlog))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://github.com/LDAP/wp-notifyd")
|
||||
(synopsis "Notification daemon for Wireplumber")
|
||||
(description "@command{wp-notifyd} is a lightweight notification daemon for
|
||||
@dfn{WirePlumber} (the session and policy manager for PipeWire).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public pa-notify
|
||||
(package
|
||||
(name "pa-notify")
|
||||
@@ -5017,42 +4869,6 @@ using Guix System.")
|
||||
;; GNU Library (not Lesser) General Public License.
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public hiir
|
||||
(let ((commit "4a9a1e67fa6f8ce7688e1c0c8a2b017cecd206a3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "hiir")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LostRobotMusic/hiir")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wzlg0di768mzcik6fij4pd6dnpmbw8q236h478c057d10qfp44g"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~`(("." "/include/hiir"))))
|
||||
(home-page "https://github.com/LostRobotMusic/hiir")
|
||||
(synopsis "Header-only version of Laurent de Soras's HIIR 1.40 library")
|
||||
(description
|
||||
"This package provides a header-only version of the
|
||||
@uref{http://ldesoras.free.fr/prod.html#src_hiir, HIIR library by Laurent De
|
||||
Soras}, updated to version 1.40. HIIR is a C++ library for changing the
|
||||
sampling rate of a signal by a factor two, in both directions (upsampling and
|
||||
downsampling), obtaining two signals with a π/2 phase difference (Hilbert
|
||||
transform). It is made of a two-path polyphase IIR filter, implemented with
|
||||
FPU, 3DNow!, SSE, SSE2, AVX, AVX-512 and NEON instruction sets.
|
||||
|
||||
This package contains the same as the original library, except with the
|
||||
contents of one source file moved into a header file (and set as inline) to
|
||||
make the library header-only, and with the test folder removed.")
|
||||
(license license:wtfpl2))))
|
||||
|
||||
(define-public redumper
|
||||
(package
|
||||
(name "redumper")
|
||||
@@ -7213,6 +7029,32 @@ developing fully accurate DirectX Audio runtime libraries.")
|
||||
license:expat
|
||||
license:public-domain))))
|
||||
|
||||
(define-public gnaural
|
||||
(package
|
||||
(name "gnaural")
|
||||
(version "20110606")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gnaural/Gnaural/gnaural_"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gq519c0imsh57zklyi0f8h64l3ai48lh672c834470z8c6kvbfi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list alsa-lib gtk+-2 libsndfile portaudio))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://gnaural.sourceforge.net/")
|
||||
(synopsis "Binaural beat synthesizer")
|
||||
(description "Gnaural is a programmable auditory binaural beat synthesizer
|
||||
intended to be used for brainwave entrainment. Gnaural supports creation of
|
||||
binaural beat tracks of different frequencies and exporting of tracks into
|
||||
different audio formats. Gnaural can also be linked over the internet with
|
||||
other Gnaural instances, allowing synchronous sessions between many users.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public darkice
|
||||
(package
|
||||
(name "darkice")
|
||||
@@ -7423,7 +7265,6 @@ as is the case with audio plugins.")
|
||||
(find-files "bin")))))))))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
bash-minimal
|
||||
ffmpeg
|
||||
fluidsynth
|
||||
file
|
||||
@@ -7481,8 +7322,8 @@ default and preferred audio driver but also supports native drivers like ALSA.")
|
||||
|
||||
;;; This package variant tracks the latest in-development 2.6 release.
|
||||
(define-public carla-2.6
|
||||
(let ((commit "294a80145e39c0755ab9073d90fd8b9524fbfc84")
|
||||
(revision "1"))
|
||||
(let ((commit "aa400535b31c67f4b6c1b28e6e20e4d4f82111a3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit carla)
|
||||
(name "carla")
|
||||
@@ -7496,12 +7337,7 @@ default and preferred audio driver but also supports native drivers like ALSA.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "053yfwf9l9vqvq95c354by6nm8ym0wgkv3fr1434x5w9n1344z0z"))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs carla)
|
||||
(replace "python-pyqt" python-pyqt-6)
|
||||
(replace "qtbase" qtbase)
|
||||
(replace "qtwayland" qtwayland))))))
|
||||
(base32 "0cnj2sgr60f5h6wdfmihc214wf3n74686sipl3iyzmylqrcyhbjn")))))))
|
||||
|
||||
;; This source is a fork of vst3sdk with the documentation and VSTGUI
|
||||
;; submodules removed and a dummy `meson.build` file that just lists all
|
||||
@@ -7991,59 +7827,60 @@ Rate} 3600x2250 bit/s vocoder used in various radio systems.")
|
||||
(delete-file-recursively "third_party")
|
||||
(delete-file-recursively "modules")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DLINK_BUILD_QT_EXAMPLES=ON"
|
||||
"-DLINK_BUILD_JACK=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(let* ((python (search-input-file inputs "/bin/python3"))
|
||||
(run-tests "../source/ci/run-tests.py"))
|
||||
(invoke python run-tests "--target" "LinkCoreTest")
|
||||
(invoke python run-tests "--target" "LinkDiscoveryTest")))))
|
||||
(add-before 'install 'patch-cmake
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((source "../source/"))
|
||||
(substitute* (string-append source
|
||||
"cmake_include/AsioStandaloneConfig.cmake")
|
||||
(((string-append "\\$\\{CMAKE_CURRENT_LIST_DIR\\}/\\.\\./"
|
||||
"modules/asio-standalone/asio/include"))
|
||||
(dirname (search-input-file inputs "include/asio.hpp"))))
|
||||
(substitute* (string-append source "AbletonLinkConfig.cmake")
|
||||
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include")
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../../include")
|
||||
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include/ableton/Link\\.hpp")
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../../include/ableton/Link.hpp")))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let* ((out #$output)
|
||||
(lib-cmake (string-append out "/lib/cmake/ableton-link"))
|
||||
(source "../source"))
|
||||
(for-each delete-file
|
||||
'("bin/LinkDiscoveryTest" "bin/LinkCoreTest"))
|
||||
(copy-recursively "bin" (string-append out "/bin"))
|
||||
(copy-recursively (string-append source "/include/ableton")
|
||||
(string-append out "/include/ableton"))
|
||||
(install-file (string-append source "/AbletonLinkConfig.cmake")
|
||||
lib-cmake)
|
||||
(install-file (string-append source
|
||||
"/cmake_include/AsioStandaloneConfig.cmake")
|
||||
(string-append lib-cmake "/cmake_include"))))))))
|
||||
(native-inputs
|
||||
(list catch-framework
|
||||
portaudio ;for portaudio examples
|
||||
python ;for running tests
|
||||
python-setuptools)) ;for running tests
|
||||
python ;for running tests
|
||||
portaudio)) ;for portaudio examples
|
||||
(inputs
|
||||
(list jack-1)) ;for JACK examples
|
||||
(propagated-inputs
|
||||
;; This is because include/ableton/platforms/asio/AsioWrapper.hpp
|
||||
;; contains '#include <asio.hpp>'.
|
||||
(list asio-1.28))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("-DLINK_BUILD_QT_EXAMPLES=ON"
|
||||
"-DLINK_BUILD_JACK=ON")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(let* ((python (search-input-file inputs "/bin/python3"))
|
||||
(run-tests "../source/ci/run-tests.py"))
|
||||
(invoke python run-tests "--target" "LinkCoreTest")
|
||||
(invoke python run-tests "--target" "LinkDiscoveryTest")))))
|
||||
(add-before 'install 'patch-cmake
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((source "../source/"))
|
||||
(substitute* (string-append source
|
||||
"cmake_include/AsioStandaloneConfig.cmake")
|
||||
(((string-append "\\$\\{CMAKE_CURRENT_LIST_DIR\\}/\\.\\./"
|
||||
"modules/asio-standalone/asio/include"))
|
||||
(string-append (assoc-ref inputs "asio")
|
||||
"/include")))
|
||||
(substitute* (string-append source "AbletonLinkConfig.cmake")
|
||||
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include")
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../../include")
|
||||
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include/ableton/Link\\.hpp")
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../../include/ableton/Link.hpp")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib-cmake (string-append out "/lib/cmake/ableton-link"))
|
||||
(source "../source"))
|
||||
(for-each (lambda (test-file)
|
||||
(delete-file test-file))
|
||||
'("bin/LinkDiscoveryTest" "bin/LinkCoreTest"))
|
||||
(copy-recursively "bin" bin)
|
||||
(copy-recursively (string-append source "/include/ableton")
|
||||
(string-append out "/include/ableton"))
|
||||
(install-file (string-append source "/AbletonLinkConfig.cmake")
|
||||
lib-cmake)
|
||||
(install-file (string-append source
|
||||
"/cmake_include/AsioStandaloneConfig.cmake")
|
||||
(string-append lib-cmake "/cmake_include"))))))))
|
||||
(home-page "https://github.com/Ableton/link")
|
||||
(synopsis "Synchronize musical beat, tempo, and phase across multiple applications")
|
||||
(description
|
||||
@@ -8141,16 +7978,7 @@ Icecast server.")
|
||||
(lambda _
|
||||
(substitute* "misc.c"
|
||||
(("#include <stdio.h>\n" all)
|
||||
(string-append all "#include <string.h>\n")))
|
||||
(substitute* "wavsubs.c"
|
||||
(("#include \"wavsubs.h\"\n" all)
|
||||
(string-append all "#include <stdlib.h>")))
|
||||
(substitute* "wavfile.c"
|
||||
(("#include \"wavsubs.h\"\n" all)
|
||||
(string-append all "#include <stdlib.h>")))
|
||||
(substitute* "generator.c"
|
||||
(("#include \"wavsubs.h\"\n" all)
|
||||
(string-append all "#include <stdlib.h>")))))
|
||||
(string-append all "#include <string.h>\n")))))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
@@ -8162,8 +7990,7 @@ Icecast server.")
|
||||
(inputs
|
||||
(list ncurses))
|
||||
(native-inputs
|
||||
`(("gcc" ,gcc-9)
|
||||
("groff" ,groff-minimal) ; for nroff
|
||||
`(("groff" ,groff-minimal) ; for nroff
|
||||
("util-linux" ,util-linux))) ; for col
|
||||
(home-page "https://github.com/bleskodev/siggen")
|
||||
(synopsis "Signal generation tools")
|
||||
@@ -8239,7 +8066,7 @@ as sample rate, determining whether an audio file is silent, and much more.")
|
||||
(propagated-inputs
|
||||
(list python-numba python-numpy python-scipy python-six))
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools python-wheel))
|
||||
(list python-pytest python-pytest-cov python-setuptools python-wheel))
|
||||
(home-page "https://github.com/bmcfee/resampy")
|
||||
(synopsis "Efficient signal resampling")
|
||||
(description
|
||||
@@ -8257,10 +8084,10 @@ Home Page}.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/librosa/librosa/")
|
||||
(commit version)
|
||||
;; TODO: Package test data.
|
||||
(recursive? #true)))
|
||||
(url "https://github.com/librosa/librosa/")
|
||||
(commit version)
|
||||
;; For test files.
|
||||
(recursive? #true)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "065x43hx670rjrclxi4hiqxscllb16v9s7myjvg7rd5pd3y0k7sg"))))
|
||||
@@ -8268,13 +8095,15 @@ Home Page}.")
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" (string-append
|
||||
;; Resampling tests require python-samplerate.
|
||||
"not resample"
|
||||
;; These tests use Pooch and download data files.
|
||||
" and not example and not test_cite"
|
||||
;; XXX assert 22050 == 31744
|
||||
" and not test_stream"))))
|
||||
;; Ignore --mpl flag.
|
||||
'(list "-c" "/dev/null"
|
||||
"-k" (string-append
|
||||
;; Resampling tests require python-samplerate.
|
||||
"not resample"
|
||||
;; These tests use Pooch and download data files.
|
||||
" and not example and not test_cite"
|
||||
;; XXX assert 22050 == 31744
|
||||
" and not test_stream"))))
|
||||
(propagated-inputs
|
||||
(list python-audioread
|
||||
python-decorator
|
||||
@@ -8293,9 +8122,10 @@ Home Page}.")
|
||||
(list python-matplotlib
|
||||
python-packaging
|
||||
python-pytest
|
||||
python-pytest-mpl
|
||||
python-pytest-cov
|
||||
python-resampy
|
||||
python-setuptools))
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(home-page "https://librosa.org")
|
||||
(synopsis "Python module for audio and music processing")
|
||||
(description
|
||||
|
||||
@@ -1989,7 +1989,7 @@ CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_PMCRAID is not set
|
||||
# CONFIG_SCSI_PM8001 is not set
|
||||
CONFIG_SCSI_VIRTIO=m
|
||||
# CONFIG_SCSI_VIRTIO is not set
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# end of SCSI device support
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,58 +0,0 @@
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
# GNU Guix is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# GNU Guix is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import importlib.util
|
||||
import json
|
||||
|
||||
|
||||
def pytest_addoption(parser):
|
||||
"""Add stub options to be ignored by pytest.
|
||||
|
||||
More precisely, inject all options provided in .pytest_guix_options.json,
|
||||
except options whose plugin is indeed installed.
|
||||
|
||||
For example, if the json file records --cov:
|
||||
if the pytest_cov module is installed, its --cov will be used.
|
||||
otherwise, --cov is ignored (read by this parser, but nothing is done
|
||||
with it).
|
||||
|
||||
Flags can be given with additional keyword arguments in a json object.
|
||||
If the json object is not given, fallback to the default
|
||||
{"action": "append", "nargs": "?"}. In practice, these arguments are only
|
||||
mandatory for the store_true and store_const actions to avoid eating other
|
||||
arguments.
|
||||
|
||||
This allows to remove development packages, which are not required at build
|
||||
time while at the same time avoiding the need to adjust test options in
|
||||
pyproject.toml or other configuration files.
|
||||
"""
|
||||
with open(".pytest_guix_options.json", "r") as options_file:
|
||||
plugin_options = json.load(options_file)
|
||||
group = parser.getgroup(
|
||||
"guix", "Options ignored by the Guix pyproject-build-system"
|
||||
)
|
||||
|
||||
# Only add options for plugins that are not present.
|
||||
for key, options in plugin_options.items():
|
||||
if importlib.util.find_spec(f"pytest_{key}") is None:
|
||||
# Plugin not found, add stub options
|
||||
for option, kwargs in options.items():
|
||||
if kwargs:
|
||||
group.addoption(option, **kwargs)
|
||||
else:
|
||||
group.addoption(option, action="append", nargs="?")
|
||||
+68
-69
@@ -50,6 +50,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
@@ -106,7 +107,6 @@
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages tls)
|
||||
@@ -137,6 +137,7 @@
|
||||
python-paramiko
|
||||
python-pexpect
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-setuptools-scm
|
||||
tzdata-for-tests
|
||||
python-mock))
|
||||
@@ -631,26 +632,41 @@ rsnapshot uses hard links to deduplicate identical files.")
|
||||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.4.4")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/borgbackup/borg")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32 "0bk302lbjjz1y8dg78wqqys80bm7mzkj5yf6wgyqdwvbqpsnpim4"))))
|
||||
(base32 "07s4jqcv03s98hi6lvqpvmnnhl532qnvv11mjy2xc08rbmsgmfvr"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Delete files generated by Cython. We used to have a regex that
|
||||
;; created the list of generated files but Borg has added new
|
||||
;; non-generated C files that cause the regex to generate the
|
||||
;; wrong list.
|
||||
(for-each delete-file
|
||||
'("src/borg/algorithms/checksums.c"
|
||||
"src/borg/chunker.c"
|
||||
"src/borg/compress.c"
|
||||
"src/borg/crypto/low_level.c"
|
||||
"src/borg/hashindex.c"
|
||||
"src/borg/item.c"
|
||||
"src/borg/platform/darwin.c"
|
||||
"src/borg/platform/freebsd.c"
|
||||
"src/borg/platform/linux.c"
|
||||
"src/borg/platform/posix.c"
|
||||
"src/borg/platform/syncfilerange.c"
|
||||
"src/borg/platform/windows.c"))))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((srfi srfi-26) ; for cut
|
||||
(guix build utils)
|
||||
(guix build pyproject-build-system))
|
||||
;; tests: 1318 passed, 293 skipped
|
||||
#:test-flags
|
||||
#~(list "--benchmark-skip"
|
||||
"--numprocesses" (number->string (min 8 (parallel-job-count)))
|
||||
"--numprocesses" (number->string (parallel-job-count))
|
||||
"--pyargs" "borg.testsuite"
|
||||
"-k" (string-join
|
||||
;; These tests need to write to '/var'.
|
||||
@@ -671,15 +687,7 @@ rsnapshot uses hard links to deduplicate identical files.")
|
||||
"test_mount_hardlinks "
|
||||
"test_readonly_mount "
|
||||
"test_fuse_versions_view "
|
||||
"test_migrate_lock_alive"
|
||||
;; Test files are not in /gnu/store
|
||||
"test_convert_all[False]"
|
||||
"test_convert_all[True]"
|
||||
"test_convert_segments[False]"
|
||||
"test_convert_segments[True]"
|
||||
"test_detect_attic_repo"
|
||||
"test_key_export_qr"
|
||||
"test_keys")
|
||||
"test_migrate_lock_alive")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -695,58 +703,46 @@ rsnapshot uses hard links to deduplicate identical files.")
|
||||
(setenv "BORG_LIBLZ4_PREFIX" lz4)
|
||||
(setenv "BORG_LIBXXHASH_PREFIX" xxhash)
|
||||
(setenv "BORG_LIBZSTD_PREFIX" zstd))))
|
||||
(add-before 'build 'fix-testsuite-setuid-mode
|
||||
(add-after 'install 'install-doc
|
||||
(lambda _
|
||||
(substitute* "src/borg/testsuite/archiver.py"
|
||||
(("0o4755") "0o0755"))))
|
||||
(add-after 'install 'build-and-install-docs
|
||||
(lambda _
|
||||
(let* ((doc (string-append #$output "/share/doc/borg-" #$version))
|
||||
(html (string-append doc "/html"))
|
||||
(txt (string-append doc "/txt"))
|
||||
(misc (string-append doc "/misc"))
|
||||
(man (string-append #$output "/share/man/man1")))
|
||||
(with-directory-excursion "docs"
|
||||
(invoke "make" "text" "man" "singlehtml"))
|
||||
(let ((man (string-append #$output "/share/man/man1"))
|
||||
(misc (string-append #$output "/share/doc/borg-"
|
||||
#$(package-version this-package))))
|
||||
(for-each (cut install-file <> misc)
|
||||
'("docs/misc/create_chunker-params.txt"
|
||||
"docs/misc/borg-data-flow.png"
|
||||
"docs/misc/internals-picture.txt"
|
||||
"docs/misc/prune-example.txt"))
|
||||
(copy-recursively "docs/_build/man" man)
|
||||
(copy-recursively "docs/_build/singlehtml" html)
|
||||
(copy-recursively "docs/_build/text" txt))))
|
||||
(add-after 'build-and-install-docs 'install-shell-completions
|
||||
(copy-recursively "docs/man" man))))
|
||||
(add-after 'install-doc 'install-shell-completions
|
||||
(lambda _
|
||||
(let* ((etc (string-append #$output "/etc"))
|
||||
(share (string-append #$output "/share"))
|
||||
(bash (string-append etc "/bash_completion.d"))
|
||||
(zsh (string-append share "/zsh/site-functions"))
|
||||
(fish (string-append share "/fish/vendor_completions.d")))
|
||||
(let ((etc (string-append #$output "/etc"))
|
||||
(share (string-append #$output "/share")))
|
||||
(with-directory-excursion "scripts/shell_completions"
|
||||
(install-file "bash/borg" bash)
|
||||
(install-file "zsh/_borg" zsh)
|
||||
(install-file "fish/borg.fish" fish))))))))
|
||||
(install-file "bash/borg"
|
||||
(string-append etc "/bash_completion.d"))
|
||||
(install-file "zsh/_borg"
|
||||
(string-append share "/zsh/site-functions"))
|
||||
(install-file "fish/borg.fish"
|
||||
(string-append share "/fish/vendor_completions.d")))))))))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-guzzle-sphinx-theme
|
||||
python-pkgconfig
|
||||
python-dateutil
|
||||
python-pytest
|
||||
python-pytest-benchmark
|
||||
python-pytest-xdist
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-sphinx
|
||||
python-sphinxcontrib-jquery))
|
||||
python-wheel))
|
||||
(inputs
|
||||
(list acl
|
||||
lz4
|
||||
openssl
|
||||
python-msgpack
|
||||
;; This is the latest version of msgpack accepted by 'setup.py'.
|
||||
python-msgpack-for-borg
|
||||
;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
|
||||
;; <https://issues.guix.gnu.org/53407>
|
||||
python-llfuse
|
||||
python-packaging
|
||||
xxhash
|
||||
`(,zstd "lib")))
|
||||
(synopsis "Deduplicated, encrypted, authenticated and compressed backups")
|
||||
@@ -897,7 +893,7 @@ is like a time machine for your data.")
|
||||
(define-public restic
|
||||
(package
|
||||
(name "restic")
|
||||
(version "0.18.1")
|
||||
(version "0.17.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -906,7 +902,7 @@ is like a time machine for your data.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gxhknn022bwg2s8hababqg3vjkzflq59vr67y7r1c8fjnlsgf4l"))))
|
||||
(base32 "1wsgq7f0bfi0i5iiwcc3hlf2lhxcnz3zfs8p8bc6l913r9hvyg1x"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -915,18 +911,15 @@ is like a time machine for your data.")
|
||||
#:import-path "github.com/restic/restic/cmd/restic"
|
||||
#:unpack-path "github.com/restic/restic"
|
||||
#:embed-files #~(list "children" "nodes" "text")
|
||||
#:test-flags
|
||||
;; Python is required.
|
||||
#~(list "-skip" "TestStdinFromCommand|TestStdinFromCommandNoOutput")
|
||||
#:test-subdirs #~(list "../../...")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-python-path
|
||||
(lambda* (#:key inputs unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
(substitute* "cmd/restic/cmd_backup_integration_test.go"
|
||||
(("python")
|
||||
(search-input-file inputs "/bin/python3"))))))
|
||||
(add-after 'install 'install-docs
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(let* ((man "/share/man")
|
||||
(man-section (string-append man "/man")))
|
||||
;; Install all the man pages to "out".
|
||||
@@ -949,12 +942,12 @@ is like a time machine for your data.")
|
||||
go-github-com-cenkalti-backoff-v4
|
||||
go-github-com-cespare-xxhash-v2
|
||||
go-github-com-elithrar-simple-scrypt
|
||||
;; go-github-com-go-ole-go-ole ;Windows only
|
||||
;; go-github-com-go-ole-go-ole ;windows only
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-hashicorp-golang-lru-v2
|
||||
go-github-com-klauspost-compress
|
||||
;; go-github-com-microsoft-go-winio ;Windows only
|
||||
go-github-com-minio-minio-go-v7
|
||||
go-github-com-minio-sha256-simd
|
||||
go-github-com-ncw-swift-v2
|
||||
go-github-com-peterbourgon-unixtransport
|
||||
go-github-com-pkg-errors
|
||||
@@ -974,7 +967,6 @@ is like a time machine for your data.")
|
||||
go-golang-org-x-text
|
||||
go-golang-org-x-time
|
||||
go-google-golang-org-api
|
||||
python-minimal
|
||||
|
||||
;; XXX: These packages have to be bootstrapped to break cycle with
|
||||
;; go-google-golang-org-grpc.
|
||||
@@ -1268,9 +1260,10 @@ compression parameters used by Gzip.")
|
||||
(define-public borgmatic
|
||||
(package
|
||||
(name "borgmatic")
|
||||
(version "2.1.5")
|
||||
(version "2.1.2")
|
||||
(source
|
||||
(origin
|
||||
;; PyPI archive does not contain NEWS file needed for one test.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://projects.torsion.org/borgmatic-collective/borgmatic")
|
||||
@@ -1278,11 +1271,10 @@ compression parameters used by Gzip.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17i15ysg0wbcnfvki8wz2z9gx3zx99czv3czjh83y2m1xppvqbl5"))))
|
||||
"0vrpl21n6hf3pj0di4n7s36jq64sx24c93j48cmbdgczs8jiwi36"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 2609 passed
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'configure
|
||||
@@ -1297,12 +1289,19 @@ compression parameters used by Gzip.")
|
||||
(("(module.get_local_path.+ == )'borg'" all start)
|
||||
(string-append start "'"
|
||||
(search-input-file inputs "bin/borg")
|
||||
"'"))))))))
|
||||
"'")))))
|
||||
(add-before 'check 'set-path
|
||||
(lambda _
|
||||
;; Tests require the installed executable.
|
||||
(setenv "PATH"
|
||||
(string-append #$output "/bin" ":"
|
||||
(getenv "PATH"))))))))
|
||||
(native-inputs
|
||||
(list python-flexmock
|
||||
python-pytest
|
||||
python-pytest-timeout
|
||||
python-setuptools))
|
||||
python-pytest-cov
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(inputs
|
||||
(list borg
|
||||
python-apprise
|
||||
@@ -1364,9 +1363,9 @@ borgmatic is powered by borg.")
|
||||
(assoc-ref qt:%standard-phases 'qt-wrap)))))
|
||||
(native-inputs
|
||||
(list python-platformdirs
|
||||
python-pytest
|
||||
python-pytest-mock
|
||||
python-pytest-qt
|
||||
python-pytest-runner
|
||||
python-setuptools
|
||||
python-setuptools-git))
|
||||
(inputs
|
||||
|
||||
+16
-21
@@ -13,7 +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 © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2023 Advanced Micro Devices, Inc.
|
||||
;;;
|
||||
@@ -44,6 +44,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (gnu packages)
|
||||
@@ -679,26 +680,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.
|
||||
|
||||
+1599
-1715
File diff suppressed because it is too large
Load Diff
+548
-521
File diff suppressed because it is too large
Load Diff
@@ -28,7 +28,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public bison
|
||||
|
||||
+14
-15
@@ -86,6 +86,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
@@ -360,18 +361,18 @@ Transmission BitTorrent daemon.")
|
||||
(name "aria2")
|
||||
(version "1.37.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aria2/aria2")
|
||||
(commit (string-append "release-" version))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/aria2/aria2/releases/"
|
||||
"download/release-" version
|
||||
"/aria2-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yr9yxr7z3bdg51afpzj0i63xl2rdk1prl20qws21y6r1x58vf65"))
|
||||
(file-name (git-file-name name version))
|
||||
"0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
|
||||
(patches (search-patches "aria2-unbundle-wslay.patch"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "deps")))))
|
||||
(delete-file-recursively "deps")
|
||||
(delete-file "configure")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -381,13 +382,10 @@ Transmission BitTorrent daemon.")
|
||||
#$output "/etc/bash_completion.d/"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'update-gettext-version
|
||||
(add-after 'unpack 'patch-configure
|
||||
(lambda _
|
||||
(substitute* "configure.ac"
|
||||
(("AM_GNU_GETTEXT_VERSION\\(.*\\)")
|
||||
(format #f "AM_GNU_GETTEXT_VERSION([~a])"
|
||||
#$(package-version (this-package-native-input
|
||||
"gettext-minimal")))))))
|
||||
(("0[.]18") "0.19.6"))))
|
||||
(add-after 'unpack 'delete-socket-tests
|
||||
(lambda _
|
||||
(substitute* "test/LpdMessageDispatcherTest.cc"
|
||||
@@ -419,6 +417,8 @@ Transmission BitTorrent daemon.")
|
||||
"Aria2 is a lightweight, multi-protocol & multi-source command-line
|
||||
download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
|
||||
Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
||||
(properties
|
||||
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public uget
|
||||
@@ -533,9 +533,8 @@ and will take advantage of multiple processor cores where possible.")
|
||||
(inputs (list boost-1.83 openssl))
|
||||
(native-inputs
|
||||
(list libfaketime
|
||||
pkg-config
|
||||
python-setuptools
|
||||
python-wrapper))
|
||||
python-wrapper
|
||||
pkg-config))
|
||||
(home-page "https://www.libtorrent.org/")
|
||||
(synopsis "Feature-complete BitTorrent implementation")
|
||||
(description
|
||||
|
||||
@@ -334,7 +334,7 @@ parallel study, and original language study.")
|
||||
(define-public book-emacs-lisp-elements
|
||||
(package
|
||||
(name "book-emacs-lisp-elements")
|
||||
(version "2.0.4")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -343,7 +343,7 @@ parallel study, and original language study.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06mhrb16h93n3s3srcfgmzsyh2lxx4ffj1di6qvczfg4039pi3c8"))))
|
||||
(base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+37
-53
@@ -83,6 +83,9 @@
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules %pyproject-build-system-modules
|
||||
#:modules `(((guix build pyproject-build-system) #:select (python-version))
|
||||
,@%default-gnu-modules)
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(let ((icu (dirname (dirname (search-input-file
|
||||
@@ -91,26 +94,17 @@
|
||||
;; Auto-detection looks for ICU only in traditional
|
||||
;; install locations.
|
||||
(string-append "--with-icu=" icu)
|
||||
;; Ditto for Python. The Gexp can't be evaluated if python is not
|
||||
;; in the inputs (e.g. boost-for-mysql), so delay its evaluation
|
||||
;; after checking for python, rather than concurrently.
|
||||
#$@(force
|
||||
(if (or (%current-target-system)
|
||||
(not (this-package-input "python-minimal-wrapper")))
|
||||
(delay
|
||||
#~())
|
||||
(delay
|
||||
#~((let ((python (dirname (dirname (search-input-file
|
||||
%build-inputs
|
||||
"bin/python")))))
|
||||
(string-append "--with-python-root=" python)
|
||||
(string-append "--with-python=" python
|
||||
"/bin/python")
|
||||
(string-append "--with-python-version="
|
||||
#$(version-major+minor
|
||||
(package-version
|
||||
(this-package-input
|
||||
"python-minimal-wrapper")))))))))
|
||||
;; Ditto for Python.
|
||||
#$@(if (%current-target-system)
|
||||
#~()
|
||||
#~((let ((python (dirname (dirname (search-input-file
|
||||
%build-inputs
|
||||
"bin/python")))))
|
||||
(string-append "--with-python-root=" python)
|
||||
(string-append "--with-python=" python
|
||||
"/bin/python")
|
||||
(string-append "--with-python-version="
|
||||
(python-version python)))))
|
||||
"--with-toolset=gcc"))
|
||||
#:make-flags
|
||||
#~(list "threading=multi" "link=shared"
|
||||
@@ -206,39 +200,29 @@
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "./b2" "install" make-flags)))
|
||||
#$@(force ; See above for why the force is necessary.
|
||||
(if (or (%current-target-system)
|
||||
(not (this-package-input "python-minimal-wrapper")))
|
||||
(delay
|
||||
#~())
|
||||
(delay
|
||||
#~((add-after 'install 'provide-libboost_python
|
||||
(lambda* (#:key make-flags inputs outputs
|
||||
#:allow-other-keys)
|
||||
(let* ((static? (member "link=static" make-flags))
|
||||
(ext (if static? ".a" ".so"))
|
||||
(python (dirname
|
||||
(dirname (search-input-file
|
||||
inputs "bin/python"))))
|
||||
(python-version
|
||||
#$(version-major+minor
|
||||
(package-version
|
||||
(this-package-input
|
||||
"python-minimal-wrapper"))))
|
||||
(NN (string-join (string-split
|
||||
python-version #\.)
|
||||
""))
|
||||
(libboost_pythonNN
|
||||
(string-append "libboost_python" NN ext))
|
||||
(major (string-take python-version 1)))
|
||||
(with-directory-excursion
|
||||
(string-append #$output "/lib")
|
||||
(symlink libboost_pythonNN
|
||||
(string-append "libboost_python" ext))
|
||||
;; Some packages only look for the major version.
|
||||
(symlink libboost_pythonNN
|
||||
(string-append "libboost_python"
|
||||
major ext)))))))))))))
|
||||
#$@(if (%current-target-system)
|
||||
#~()
|
||||
#~((add-after 'install 'provide-libboost_python
|
||||
(lambda* (#:key make-flags inputs outputs #:allow-other-keys)
|
||||
(let* ((static? (member "link=static" make-flags))
|
||||
(libext (if static? ".a" ".so"))
|
||||
(python (dirname (dirname (search-input-file
|
||||
inputs "bin/python"))))
|
||||
(python-version (python-version python))
|
||||
(libboost_pythonNN
|
||||
(string-append "libboost_python"
|
||||
(string-join (string-split
|
||||
python-version #\.)
|
||||
"")
|
||||
libext)))
|
||||
(with-directory-excursion (string-append #$output "/lib")
|
||||
(symlink libboost_pythonNN
|
||||
(string-append "libboost_python" libext))
|
||||
;; Some packages only look for the major version.
|
||||
(symlink libboost_pythonNN
|
||||
(string-append "libboost_python"
|
||||
(string-take python-version 1)
|
||||
libext)))))))))))
|
||||
(inputs
|
||||
(append
|
||||
(list icu4c zlib)
|
||||
|
||||
@@ -48,14 +48,13 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages firmware)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
@@ -66,6 +65,7 @@
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mtools)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
@@ -267,8 +267,8 @@
|
||||
;; rebooting.
|
||||
(if (member (or (%current-target-system)
|
||||
(%current-system))
|
||||
(package-supported-systems fuse))
|
||||
(list fuse)
|
||||
(package-supported-systems fuse-2))
|
||||
(list fuse-2)
|
||||
'())))
|
||||
(native-inputs
|
||||
(append (list pkg-config
|
||||
@@ -1815,68 +1815,63 @@ For more information, refer to
|
||||
(define-public os-prober
|
||||
(package
|
||||
(name "os-prober")
|
||||
(version "1.84")
|
||||
(version "1.81")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://salsa.debian.org/installer-team/os-prober.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1bji3w6nbqaz8zqrbmy8b1j5dph9xn7bdh1cd2z8ia1q125i6mgp"))))
|
||||
(base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:modules '((guix build gnu-build-system)
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 regex) ; string-match
|
||||
(srfi srfi-26)) ; cut
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* (find-files ".")
|
||||
(("/usr") #$output))
|
||||
(substitute* (find-files "." "50mounted-tests$")
|
||||
(("mkdir") "mkdir -p -v"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(define (find-files-non-recursive directory)
|
||||
(find-files directory
|
||||
(lambda (file stat)
|
||||
(string-match (string-append "^" directory "/[^/]*$")
|
||||
file))
|
||||
#:directories? #t))
|
||||
(ice-9 regex) ; for string-match
|
||||
(srfi srfi-26)) ; for cut
|
||||
#:make-flags
|
||||
(list ,(string-append "CC=" (cc-for-target)))
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* (find-files ".")
|
||||
(("/usr") (assoc-ref outputs "out")))
|
||||
(substitute* (find-files "." "50mounted-tests$")
|
||||
(("mkdir") "mkdir -p"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define (find-files-non-recursive directory)
|
||||
(find-files directory
|
||||
(lambda (file stat)
|
||||
(string-match (string-append "^" directory "/[^/]*$")
|
||||
file))
|
||||
#:directories? #t))
|
||||
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(lib (string-append #$output "/lib"))
|
||||
(share (string-append #$output "/share")))
|
||||
(for-each (cut install-file <> bin)
|
||||
(list "linux-boot-prober" "os-prober"))
|
||||
(install-file "newns" (string-append lib "/os-prober"))
|
||||
(install-file "common.sh" (string-append share "/os-prober"))
|
||||
(install-file "os-probes/mounted/powerpc/20macosx"
|
||||
(string-append lib "/os-probes/mounted"))
|
||||
(for-each
|
||||
(lambda (directory)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((destination (string-append lib "/" directory
|
||||
"/" (basename file))))
|
||||
(mkdir-p (dirname destination))
|
||||
(copy-recursively file destination)))
|
||||
(append (find-files-non-recursive (string-append directory "/common"))
|
||||
(find-files-non-recursive (string-append directory "/x86")))))
|
||||
(list "linux-boot-probes"
|
||||
"linux-boot-probes/mounted"
|
||||
"os-probes"
|
||||
"os-probes/init"
|
||||
"os-probes/mounted"))))))))
|
||||
(home-page "https://joeyh.name/code/os-prober/")
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib (string-append out "/lib"))
|
||||
(share (string-append out "/share")))
|
||||
(for-each (cut install-file <> bin)
|
||||
(list "linux-boot-prober" "os-prober"))
|
||||
(install-file "newns" (string-append lib "/os-prober"))
|
||||
(install-file "common.sh" (string-append share "/os-prober"))
|
||||
(install-file "os-probes/mounted/powerpc/20macosx"
|
||||
(string-append lib "/os-probes/mounted"))
|
||||
(for-each
|
||||
(lambda (directory)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((destination (string-append lib "/" directory
|
||||
"/" (basename file))))
|
||||
(mkdir-p (dirname destination))
|
||||
(copy-recursively file destination)))
|
||||
(append (find-files-non-recursive (string-append directory "/common"))
|
||||
(find-files-non-recursive (string-append directory "/x86")))))
|
||||
(list "os-probes" "os-probes/mounted" "os-probes/init"
|
||||
"linux-boot-probes" "linux-boot-probes/mounted"))))))))
|
||||
(home-page "https://joeyh.name/code/os-prober")
|
||||
(synopsis "Detect other operating systems")
|
||||
(description "os-prober probes disks on the system for other operating
|
||||
systems so that they can be added to the bootloader. It also works out how to
|
||||
|
||||
@@ -69,55 +69,6 @@ match website theme.")
|
||||
(define-public adaptive-tab-bar-colour/icecat
|
||||
(make-icecat-extension adaptive-tab-bar-colour))
|
||||
|
||||
(define canvasblocker
|
||||
(package
|
||||
(name "canvasblocker")
|
||||
(version "1.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kkapsner/CanvasBlocker")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xxs6s7nrl4y4qiw2cpkqh170mbv78n0ixd874a72jjvczw2vpg7"))
|
||||
(modules '((guix build utils) (ice-9 match) (ice-9 ftw)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(for-each delete-file
|
||||
'("canvasblocker.xpi" "package-lock.json"))
|
||||
;; Delete all hidden files/directories except .tools.
|
||||
(for-each
|
||||
(match-lambda
|
||||
((or "." ".tools" ".."
|
||||
(? (lambda (name)
|
||||
(not (string-prefix? "." name)))))
|
||||
#t)
|
||||
((? file-is-directory? dir)
|
||||
(delete-file-recursively dir))
|
||||
(file
|
||||
(delete-file file)))
|
||||
(scandir "."))))))
|
||||
(build-system copy-build-system)
|
||||
(properties '((addon-id . "CanvasBlocker@kkapsner.de")))
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan ;deduced from .tools/build.js
|
||||
#~'(("." #$(assq-ref properties 'addon-id)
|
||||
#:exclude ("crowdin.yml" "package.json" "releaseNotes.txt")
|
||||
#:exclude-regexp ("test/.*" "versions/.*" ".tools/*")))))
|
||||
(home-page "https://github.com/kkapsner/CanvasBlocker")
|
||||
(synopsis "Firefox extension to protect from being fingerprinted")
|
||||
(description "This extension allows users to prevent websites from using
|
||||
some Javascript APIs to fingerprint them. Users can choose to block the APIs
|
||||
entirely on some or all websites (which may break some websites) or just block
|
||||
or fake its fingerprinting-friendly readout API.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public canvasblocker/icecat
|
||||
(make-icecat-extension canvasblocker))
|
||||
|
||||
(define play-to-kodi
|
||||
(package
|
||||
(name "play-to-kodi")
|
||||
@@ -312,7 +263,7 @@ fill and submit login forms if a matching password entry is found.")
|
||||
(define keepassxc-browser
|
||||
(package
|
||||
(name "keepassxc-browser")
|
||||
(version "1.9.10")
|
||||
(version "1.9.9.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -322,7 +273,7 @@ fill and submit login forms if a matching password entry is found.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"18kgmdvsq1kv9px8a1m7i10r4m0iik72qlnw9k2ijxmn1xikfyfb"))
|
||||
"1chw1y1332zn69s7kf5mkljc1bp2xfvl3zzvafnalv3zj2jsa5cs"))
|
||||
;; Default 'manifest.json' targets chromium based browsers and
|
||||
;; depends on background.service_worker support.
|
||||
;; See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1573659>
|
||||
@@ -377,7 +328,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
|
||||
(define noscript
|
||||
(package
|
||||
(name "noscript")
|
||||
(version "13.6.19.1984")
|
||||
(version "13.6.18.1984")
|
||||
(source (origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append
|
||||
@@ -385,7 +336,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
|
||||
version ".xpi"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lb3855w34avs7idvycv8cfpjnpic2mnsh9yqkidrdw7msr0na74"))))
|
||||
"0assv8v89hhg302q81vvv7ln3q8k9m6rzjkbprv2j05ghb23kkvm"))))
|
||||
(build-system copy-build-system)
|
||||
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
|
||||
(arguments
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -76,7 +77,6 @@
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages rpc)
|
||||
#:use-module (gnu packages serialization)
|
||||
@@ -94,6 +94,7 @@
|
||||
#:use-module (guix build-system hare)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
@@ -104,8 +105,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (ice-9 optargs))
|
||||
|
||||
(define-public acr
|
||||
(package
|
||||
@@ -275,14 +275,14 @@ generate such a compilation database.")
|
||||
(define-public bmake
|
||||
(package
|
||||
(name "bmake")
|
||||
(version "20260508")
|
||||
(version "20260406")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv"))
|
||||
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
|
||||
(patches (search-patches "bmake-run-check-separately.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@@ -432,8 +432,9 @@ files and generates build instructions for the Ninja build system.")
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;disabled to avoid extra dependencies
|
||||
;; Custom build steps to prevent using pyproject-build-system which
|
||||
;; allows to edit the latter without a C++ world rebuild.
|
||||
;; Essentially a lighter copy of the former python-build-system.
|
||||
;; Using it rather than pyproject-build-system allows to edit the latter
|
||||
;; without a C++ world rebuild.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
@@ -1451,147 +1452,3 @@ It is an alternative to e.g. @command{make(1)} and @command{redo(1)}. Features:
|
||||
@end itemize
|
||||
")
|
||||
(license license:wtfpl2)))
|
||||
|
||||
(define-public xmake
|
||||
(package
|
||||
(name "xmake")
|
||||
(version "3.0.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xmake-io/xmake.git")
|
||||
(commit (string-append "v" version))
|
||||
;; Requires some dependencies from "xmake-core-*" repos
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pdjz52w9lzfbcpx9wmzy0bsjg7i19xz43f63czk7jz9v0xba6gi"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; No check rule in make
|
||||
;; TODO: find how to run Lua tests in "test" directory
|
||||
#:tests? #f))
|
||||
(home-page "https://xmake.io/")
|
||||
(synopsis "Cross-platform build utility based on Lua")
|
||||
(description "@command{xmake} is a cross-platform build utility based on Lua.
|
||||
Features:
|
||||
@itemize
|
||||
@item Built-in caching and parallel compilation,
|
||||
@item Concise Lua syntax,
|
||||
@item Custom rules, plugins and modules,
|
||||
@item Support for C++20 modules and compile_commands.json,
|
||||
@item Support for languages outside C/C++ (e.g. Go, Rust, Zig).
|
||||
@end itemize")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public ninja/pinned
|
||||
(hidden-package
|
||||
(package
|
||||
(name "ninja")
|
||||
(version "1.13.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ninja-build/ninja")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lp9dmxbjyjwv089i8mgq3nvnhpbnsn01ifm05m9s47w7cifrl8g"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list python-wrapper re2c))
|
||||
(arguments
|
||||
'(; Tests now require googletest, which is a circular dependency.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* "src/subprocess-posix.cc"
|
||||
(("/bin/sh") (which "sh")))
|
||||
(substitute* "src/subprocess_test.cc"
|
||||
(("/bin/echo") (which "echo")))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "./configure.py" "--bootstrap")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./configure.py")
|
||||
(invoke "./ninja" "ninja_test")
|
||||
(invoke "./ninja_test"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append out "/share/doc/ninja")))
|
||||
(install-file "ninja" bin)
|
||||
(install-file "doc/manual.asciidoc" doc)))))))
|
||||
(home-page "https://ninja-build.org/")
|
||||
(synopsis "Small build system")
|
||||
(description
|
||||
"Ninja is a small build system with a focus on speed. It differs from
|
||||
other build systems in two major respects: it is designed to have its input
|
||||
files generated by a higher-level build system, and it is designed to run
|
||||
builds as fast as possible.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public ninja
|
||||
(package/inherit ninja/pinned
|
||||
(properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
|
||||
|
||||
(define-public samurai
|
||||
(package
|
||||
(name "samurai")
|
||||
(version "1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/michaelforney/samurai")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04iw18hgkm72yrl83a2xh1jc47w9rilpb95kwick0j37b4q3gxj4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no test suite
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-/bin/sh
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "build.c"
|
||||
(("/bin/sh")
|
||||
(search-input-file inputs "bin/sh")))))
|
||||
(delete 'configure))))
|
||||
(inputs (list bash-minimal))
|
||||
(home-page "https://github.com/michaelforney/samurai")
|
||||
(synopsis "Ninja-compatible build tool written in C")
|
||||
(description "@code{samurai} is a ninja-compatible build tool written in
|
||||
C99 with a focus on simplicity, speed, and portability. It is
|
||||
feature-complete and supports most of the same options as ninja. This package
|
||||
provides the command @command{samu}. For a @command{ninja} command
|
||||
replacement, use the @code{samu-as-ninja-wrapper} package.")
|
||||
(license (list license:asl2.0 ;for the most part
|
||||
license:expat)))) ;htab.h, htab.c and tree.c
|
||||
|
||||
(define-public samu-as-ninja-wrapper
|
||||
(package/inherit samurai
|
||||
(name "samu-as-ninja-wrapper")
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list #:builder
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((bindir (string-append #$output "/bin"))
|
||||
(samu (string-append #$(this-package-input "samurai")
|
||||
"/bin/samu")))
|
||||
(mkdir-p bindir)
|
||||
(symlink samu (string-append bindir "/ninja")))))))
|
||||
(inputs (list samurai))
|
||||
(description "This package provides the @command{ninja} command,
|
||||
implemented as a symbolic link to the @command{samu} command of @code{samurai}
|
||||
package.")))
|
||||
|
||||
+47
-47
@@ -47,7 +47,6 @@
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
@@ -55,6 +54,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix store)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bash)
|
||||
@@ -62,7 +62,7 @@
|
||||
#: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)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -81,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))
|
||||
@@ -1094,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
|
||||
@@ -1304,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")
|
||||
@@ -1477,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.
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module ((guix build-system python) #:select (pypi-uri))
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
|
||||
+23
-11
@@ -52,7 +52,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages docbook)
|
||||
@@ -337,7 +337,7 @@ reconstruction capability.")
|
||||
(define-public cdrdao
|
||||
(package
|
||||
(name "cdrdao")
|
||||
(version "1.2.6")
|
||||
(version "1.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -347,18 +347,30 @@ reconstruction capability.")
|
||||
(string-append "rel_" (string-replace-substring version "." "_")))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hb8dfb88zk01yk5nfl8m5hsg4x2scb2899pxb717zywznr8jijw"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(base32 "1hh1lm4wr1vhsq2brczn94h88h3bppvjidj9cfqkl20jhaj38968"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Use the native SCSI interface.
|
||||
"--without-scglib")))
|
||||
'(#:configure-flags
|
||||
(list
|
||||
;; GCDMaster depends on obsolete libgnomeuimm, see
|
||||
;; <https://github.com/cdrdao/cdrdao/issues/3>.
|
||||
"--without-gcdmaster"
|
||||
;; Use the native SCSI interface.
|
||||
"--without-scglib")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'fix-configure.ac
|
||||
(lambda _
|
||||
;; Remove references to missing macros.
|
||||
(substitute* "configure.ac"
|
||||
(("^AM_GCONF_SOURCE_2.*") "")
|
||||
;; This was introduced in autoconf-2.70, but is described
|
||||
;; as usually not needed in the autoconf documentation.
|
||||
(("^AC_CHECK_INCLUDES_DEFAULT") "")))))))
|
||||
(native-inputs
|
||||
(list autoconf-2.72 automake `(,glib "bin") pkg-config))
|
||||
(list autoconf automake pkg-config))
|
||||
(inputs
|
||||
(list ao gtkmm-3 lame libmad libsigc++-2 libvorbis))
|
||||
(list ao lame libmad libvorbis))
|
||||
(home-page "https://cdrdao.sourceforge.net")
|
||||
(synopsis "Read and write CDs in disk-at-once mode")
|
||||
(description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,
|
||||
|
||||
+49
-18
@@ -131,6 +131,7 @@
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1))
|
||||
@@ -1881,6 +1882,7 @@ http server.")
|
||||
(arguments (list #:tests? #false)) ;no tests included
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools
|
||||
python-wheel
|
||||
python-xmlschema))
|
||||
@@ -1913,6 +1915,42 @@ XML output")
|
||||
decorators from external files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-random-order
|
||||
(package
|
||||
(name "python-pytest-random-order")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-random-order" version))
|
||||
(sha256
|
||||
(base32 "104hww3b86jchk41kjhyycr541pd2dfgqkww6lx5y70z9z9xfwj4"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; AttributeError: module 'py' has no attribute 'code'.
|
||||
#~(list "-k" (string-append "not test_it_works_with_actual_tests"
|
||||
" and not test_failed_first"
|
||||
" and not test_doctests"))))
|
||||
(native-inputs
|
||||
(list python-pytest-xdist
|
||||
python-setuptools
|
||||
python-py
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-pytest))
|
||||
(home-page "https://github.com/jbasko/pytest-random-order")
|
||||
(synopsis "Pytest plugin to randomize the order of tests")
|
||||
(description "@code{pytest-random-order} is a Pytest plugin that
|
||||
randomizes the order of tests. This can be useful to detect a test that
|
||||
passes just because it happens to run after an unrelated test that leaves the
|
||||
system in a favourable state. The plugin allows user to control the level of
|
||||
randomness they want to introduce and to disable reordering on subsets of
|
||||
tests. Tests can be rerun in a specific order by passing a seed value
|
||||
reported in a previous test run.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-runner
|
||||
(package
|
||||
(name "python-pytest-runner")
|
||||
@@ -2695,11 +2733,7 @@ failures and errors instantly.")
|
||||
"test_is_not_identity"
|
||||
"test_resolves_builtin_types[object]"
|
||||
"test_resolves_forwardrefs_to_builtin_types[object]"
|
||||
"test_timezone_lookup[tzinfo]"
|
||||
;; hypothesis.errors.FailedHealthCheck: Input generation is slow
|
||||
#$@(if (target-riscv64?)
|
||||
'("test_can_run_with_no_db")
|
||||
'()))
|
||||
"test_timezone_lookup[tzinfo]")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -2922,8 +2956,12 @@ mypy plugins.")
|
||||
"and not upstream_url"))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-black
|
||||
python-pytest-checkdocs
|
||||
python-pytest-cov
|
||||
python-pytest-enabler
|
||||
python-pytest-flake8
|
||||
python-pytest-mypy
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
@@ -3030,28 +3068,21 @@ possible to write plugins to add your own checks.")
|
||||
(define-public behave
|
||||
(package
|
||||
(name "behave")
|
||||
;; 1.3.3 (2025-09-04), the latest changes provide support for Python
|
||||
;; 3.12+; move back to git tag when released.
|
||||
(properties '((commit . "43d0a93240c0b25b0cbf59bdc196b74fb8a2353e")
|
||||
(revision . "0")))
|
||||
(version (git-version "1.3.3"
|
||||
(assoc-ref properties 'revision)
|
||||
(assoc-ref properties 'commit)))
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/behave/behave")
|
||||
(commit (assoc-ref properties 'commit))))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05671jf7scpgqr8chzgs9bxidvf12nlkqqiqxa5qwmykqfvc8nk4"))))
|
||||
(base32 "1fxj51kailsdakqi7qbw700k258n7r3lv75mgxs45ld5xh2jfyxh"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; tests: 1638 passed, 3 skipped, 2 xfailed
|
||||
(native-inputs
|
||||
(list python-chardet
|
||||
python-freezegun
|
||||
python-charset-normalizer
|
||||
(list python-assertpy
|
||||
python-chardet
|
||||
python-mock
|
||||
python-path
|
||||
python-pyhamcrest
|
||||
python-pytest
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
@@ -46,7 +47,7 @@
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages fortran-xyz)
|
||||
|
||||
+12
-11
@@ -302,7 +302,7 @@ will name the threaded machine type unless THREADS? is provided as #f."
|
||||
(name "chez-scheme-for-racket")
|
||||
;; The version should match `(scheme-version #t)`.
|
||||
;; See s/cmacros.ss c. line 360.
|
||||
(version "10.4.0-pre-release.1-1") ; expect a chez-nanopass-bootstrap update
|
||||
(version "10.3.0-pre-release.2") ; expect a chez-nanopass-bootstrap update
|
||||
(source #f)
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(,@(if (nix-system->native-chez-machine-type)
|
||||
@@ -507,7 +507,7 @@ version of Chez Scheme.")
|
||||
(name "chez-scheme")
|
||||
;; The version should match `(scheme-version-number #t)`.
|
||||
;; See s/cmacros.ss c. line 360.
|
||||
(version "10.4.0") ; expect a chez-nanopass-bootstrap update
|
||||
(version "10.2.0") ; expect a chez-nanopass-bootstrap update
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -515,7 +515,7 @@ version of Chez Scheme.")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"079vlkl27qdvsg1rsynmd828m42n98c2dnldkhsxf2slfsqd9kv5"))
|
||||
"14iv4kfkyvrkigr1n2prf71n2l3vs0sf0549rvh6y4x2faa2l329"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "chez-scheme-bin-sh.patch"))
|
||||
(snippet #~(begin
|
||||
@@ -840,9 +840,9 @@ User's Guix}, among other documents.")
|
||||
(define-public chez-nanopass-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(name "chez-nanopass-bootstrap")
|
||||
(version "1.9.4")
|
||||
(properties '((chez-nanopass-release-date . "December 29, 2025")))
|
||||
(name "chez-nanopass")
|
||||
(version "1.9.2")
|
||||
(properties `((chez-nanopass-release-date . "October 18, 2020")))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -850,7 +850,7 @@ User's Guix}, among other documents.")
|
||||
(url "https://github.com/nanopass/nanopass-framework-scheme")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
|
||||
(base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i"))
|
||||
(file-name (git-file-name "nanopass-framework-scheme" version))
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -929,9 +929,10 @@ create compilers, making them easier to understand and maintain.")
|
||||
(define-public chez-nanopass
|
||||
(package
|
||||
(inherit chez-nanopass-bootstrap)
|
||||
(name "chez-nanopass")
|
||||
(version "1.9.4")
|
||||
(properties '((chez-nanopass-release-date . "December 29, 2025")))
|
||||
;; This release has a significant bug fix. Expect the next releases of
|
||||
;; chez-scheme{,-for-racket} to want this for chez-nanopass-bootstrap.
|
||||
(version "1.9.3")
|
||||
(properties '((chez-nanopass-release-date . "August 24, 2025")))
|
||||
(source
|
||||
(let ((bootstrap-origin (package-source chez-nanopass-bootstrap)))
|
||||
(origin
|
||||
@@ -940,7 +941,7 @@ create compilers, making them easier to understand and maintain.")
|
||||
(url (git-reference-url (origin-uri bootstrap-origin)))
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
|
||||
(base32 "0757x3a3b4kcd3jk52h4ikqzv7cc1mvphlw592f0r5pz99bkxiin"))
|
||||
(file-name (git-file-name "nanopass-framework-scheme" version)))))
|
||||
(native-inputs (list chez-scheme stex))))
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pciutils)
|
||||
@@ -78,9 +79,12 @@
|
||||
'("base/third_party/cityhash" ;Expat
|
||||
"base/third_party/double_conversion" ;BSD-3
|
||||
"base/third_party/icu" ;Unicode, X11-style
|
||||
"base/third_party/nspr" ;MPL-2.0
|
||||
"base/third_party/superfasthash" ;BSD-3
|
||||
"base/third_party/symbolize" ;BSD-3
|
||||
"base/third_party/xdg_user_dirs" ;Expat
|
||||
"buildtools/third_party/libc++" ;BSD
|
||||
"buildtools/third_party/libc++abi" ;BSD
|
||||
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"net/third_party/quiche" ;BSD-3
|
||||
"net/third_party/uri_template" ;ASL2.0
|
||||
@@ -218,6 +222,7 @@
|
||||
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
|
||||
"third_party/libaom/source/libaom/third_party/vector" ;Expat
|
||||
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
|
||||
"third_party/libc++" ;Expat
|
||||
"third_party/libdrm" ; Expat
|
||||
"third_party/libgav1" ;ASL2.0
|
||||
"third_party/libjingle_xmpp" ;BSD-3
|
||||
@@ -243,6 +248,8 @@
|
||||
"third_party/libzip" ;BSD-3
|
||||
"third_party/lit" ;BSD-3
|
||||
"third_party/lit/v3_0" ;BSD-3
|
||||
"third_party/llvm-libc" ;ASL2.0
|
||||
"third_party/llvm-libc/src/shared" ;ASL2.0
|
||||
"third_party/lottie" ;Expat
|
||||
"third_party/lss" ;BSD-3
|
||||
"third_party/lzma_sdk" ;public domain
|
||||
@@ -894,9 +901,8 @@
|
||||
"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"))
|
||||
@@ -915,7 +921,7 @@
|
||||
(("@@MENUNAME") "Chromium")
|
||||
(("@@PACKAGE") "chromium")
|
||||
(("/usr/bin/@@usr_bin_symlink_name") exe)
|
||||
(("@@uri_scheme") "x-scheme-handler/chromium;")
|
||||
(("@@uri_scheme") "x-scheme-handler/chromium")
|
||||
(("@@extra_desktop_entries") ""))
|
||||
|
||||
(mkdir-p man)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
|
||||
+27
-53
@@ -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
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages linux)
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages backup)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
|
||||
+4
-43
@@ -1,8 +1,8 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2013, 2015, 2018, 2020, 2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
@@ -49,6 +49,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module ((guix build-system python) #:select (pypi-uri))
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix build-system go)
|
||||
@@ -66,7 +67,7 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages golang-build)
|
||||
@@ -865,46 +866,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")
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
|
||||
@@ -1,216 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2014, 2019, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2024-2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2020, 2021 Sergei Trofimovich <slyfox@inbox.ru>
|
||||
;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Alexey Abramov <levenson@mmer.org>
|
||||
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public byacc
|
||||
(package
|
||||
(name "byacc")
|
||||
(version "20240109")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://invisible-mirror.net/archives/byacc/byacc-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Remove machine-generated files
|
||||
(for-each delete-file
|
||||
(list "configure"
|
||||
"btyaccpar.c"
|
||||
"yaccpar.c"))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
gawk))
|
||||
(home-page "https://invisible-island.net/byacc/byacc.html")
|
||||
(synopsis "Berkeley Yacc LALR parser generator")
|
||||
(description
|
||||
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
|
||||
specification from a file and generates an LALR(1) parser for it. The parsers
|
||||
consist of a set of LALR(1) parsing tables and a driver routine written in the
|
||||
C programming language.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public flex
|
||||
(package
|
||||
(name "flex")
|
||||
(version "2.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/westes/flex"
|
||||
"/releases/download/v" version "/"
|
||||
"flex-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(if (%current-target-system)
|
||||
(list #:configure-flags
|
||||
#~'("ac_cv_func_malloc_0_nonnull=yes"
|
||||
"ac_cv_func_realloc_0_nonnull=yes"))
|
||||
'()))
|
||||
(native-inputs
|
||||
(list help2man
|
||||
;; m4 is not present in PATH when cross-building
|
||||
m4))
|
||||
(inputs
|
||||
(list
|
||||
(package
|
||||
(inherit bison)
|
||||
(arguments
|
||||
;; Disable tests, since they require flex.
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:tests? _ #f) #f)))
|
||||
(inputs (modify-inputs inputs
|
||||
(delete "flex"))))))
|
||||
(propagated-inputs (list m4))
|
||||
(home-page "https://github.com/westes/flex")
|
||||
(synopsis "Fast lexical analyser generator")
|
||||
(description
|
||||
"Flex is a tool for generating scanners. A scanner, sometimes
|
||||
called a tokenizer, is a program which recognizes lexical patterns in
|
||||
text. The flex program reads user-specified input files, or its standard
|
||||
input if no file names are given, for a description of a scanner to
|
||||
generate. The description is in the form of pairs of regular expressions
|
||||
and C code, called rules. Flex generates a C source file named,
|
||||
\"lex.yy.c\", which defines the function yylex(). The file \"lex.yy.c\"
|
||||
can be compiled and linked to produce an executable. When the executable
|
||||
is run, it analyzes its input for occurrences of text matching the
|
||||
regular expressions for each rule. Whenever it finds a match, it
|
||||
executes the corresponding C code.")
|
||||
(license (license:non-copyleft "file://COPYING"
|
||||
"See COPYING in the distribution."))))
|
||||
|
||||
(define-public oyacc
|
||||
(package
|
||||
(name "oyacc")
|
||||
(version "6.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ibara/yacc")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a2nyg2nnh1las40klnp037sapaaph86kjx258cpqcwnk4cv3rnx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
#~(list (string-append "BINDIR=" #$output "/bin")
|
||||
(string-append "MANDIR=" #$output "/share/man/man1"))))
|
||||
(home-page "https://github.com/ibara/yacc")
|
||||
(synopsis "Portable YACC from OpenBSD")
|
||||
(description
|
||||
"@command{oyacc} is a portable version of the OpenBSD's
|
||||
@acronym{yacc, Yet Another Compiler Compiler} program, with no dependencies
|
||||
besides libc.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public oyacc-as-yacc-wrapper
|
||||
(package/inherit oyacc
|
||||
(name "oyacc-as-yacc-wrapper")
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:builder
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((bindir (string-append #$output "/bin"))
|
||||
(oyacc (string-append #$(this-package-input "oyacc")
|
||||
"/bin/oyacc")))
|
||||
(mkdir-p bindir)
|
||||
(symlink oyacc (string-append bindir "/yacc")))))))
|
||||
(inputs (list oyacc))
|
||||
(description
|
||||
"This package provides the @command{yacc} command, implemented as a
|
||||
symbolic link to the @command{oyacc} command from the same-named package.")))
|
||||
|
||||
(define-public re2c
|
||||
(package
|
||||
(name "re2c")
|
||||
(version "4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/skvadrik/" name
|
||||
"/releases/download/" version "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07ysqgdm0h566a8lwnpdgycp93vz7zskzihsgah3bla0ycj2pp69"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests?
|
||||
(not (or (%current-target-system)
|
||||
;; TODO: run_tests.py hangs
|
||||
(system-hurd?)))
|
||||
#:phases
|
||||
(if (target-arm32?)
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-sources
|
||||
(lambda _
|
||||
(invoke "patch" "-p1" "--force" "--input"
|
||||
#$(local-file (search-patch
|
||||
"re2c-Use-maximum-alignment.patch"))))))
|
||||
#~%standard-phases)))
|
||||
(native-inputs
|
||||
(list python)) ; for the test driver
|
||||
(home-page "https://re2c.org/")
|
||||
(synopsis "Lexer generator")
|
||||
(description
|
||||
"@code{re2c, Regular Expressions to Code} is a flexible lexical analyser.
|
||||
Instead of using traditional table-driven approaches, it encodes a finite
|
||||
state machine directly in the code in the form of jumps and comparisons.")
|
||||
(license license:public-domain)))
|
||||
@@ -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>
|
||||
@@ -1475,7 +1475,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
|
||||
(define-public 7zip
|
||||
(package
|
||||
(name "7zip")
|
||||
(version "26.01")
|
||||
(version "26.00")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1483,7 +1483,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
|
||||
(url "https://github.com/ip7z/7zip")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0qwzn9pz1m6f8q20cqgmfqp1qx6s7959xnyikpr60n1v8c1mj98q"))
|
||||
(base32 "1fvgl9qp2pl5c0jmvgbdx6qig3qd80mhxvml42yby8y412x65sh7"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 regex)))
|
||||
@@ -3005,13 +3005,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
|
||||
|
||||
+89
-391
@@ -50,7 +50,6 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages docker)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
@@ -71,7 +70,6 @@
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages prometheus)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
@@ -123,365 +121,6 @@
|
||||
"This package provides a Go library to read and manipulate checkpoint
|
||||
archives as created by Podman, CRI-O and containerd.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-containerd-containerd-v2
|
||||
(package
|
||||
(name "go-github-com-containerd-containerd-v2")
|
||||
(version "2.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containerd/containerd")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wxy5np689571s6lw77mx63nw75fx85w5svi0jplksmqzmjqp8wd"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/containerd/containerd/api
|
||||
(delete-file-recursively "api")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/containerd/containerd/v2"
|
||||
#:test-subdirs
|
||||
#~(list "cmd/protoc-gen-go-fieldpath/..."
|
||||
"core/containers/..."
|
||||
"core/content/..."
|
||||
"core/diff"
|
||||
"core/diff/apply"
|
||||
"core/events/..."
|
||||
"core/images/..."
|
||||
"core/introspection/..."
|
||||
"core/leases/..."
|
||||
"core/metrics/..."
|
||||
"core/remotes/..."
|
||||
"core/sandbox/..."
|
||||
"core/streaming/..."
|
||||
"core/transfer"
|
||||
"core/transfer/archive/..."
|
||||
"core/transfer/image/..."
|
||||
"core/transfer/local/..."
|
||||
"core/transfer/plugins/..."
|
||||
"core/transfer/streaming/..."
|
||||
"core/unpack/..."
|
||||
"internal/cleanup/..."
|
||||
"internal/erofsutils/..."
|
||||
"internal/eventq/..."
|
||||
"internal/failpoint/..."
|
||||
"internal/fsverity/..."
|
||||
"internal/kmutex/..."
|
||||
"internal/lazyregexp/..."
|
||||
"internal/pprof/..."
|
||||
"internal/randutil/..."
|
||||
"internal/registrar/..."
|
||||
"internal/tomlext/..."
|
||||
"internal/truncindex/..."
|
||||
"internal/userns/..."
|
||||
"internal/wintls/..."
|
||||
"pkg/apparmor/..."
|
||||
"pkg/archive/..."
|
||||
"pkg/atomicfile/..."
|
||||
"pkg/blockio/..."
|
||||
"pkg/cap/..."
|
||||
"pkg/cio..."
|
||||
"pkg/deprecation/..."
|
||||
"pkg/dialer/..."
|
||||
"pkg/display/..."
|
||||
"pkg/epoch/..."
|
||||
"pkg/fifosync/..."
|
||||
"pkg/filters/..."
|
||||
"pkg/gc/..."
|
||||
"pkg/httpdbg/..."
|
||||
|
||||
;; TODO: Check why these submodule fail to build.
|
||||
;; "client/..."
|
||||
;; "cmd/containerd-shim-runc-v2/..."
|
||||
;; "cmd/containerd-stress/..."
|
||||
;; "cmd/containerd/..."
|
||||
;; "cmd/ctr/..."
|
||||
;; "cmd/gen-manpages/..."
|
||||
;; "contrib/..."
|
||||
;; "core/diff/proxy"
|
||||
;; "core/metadata/..."
|
||||
;; "core/mount/..."
|
||||
;; "core/runtime/..."
|
||||
;; "core/snapshots/..."
|
||||
;; "core/transfer/proxy/..."
|
||||
;; "core/transfer/registry/..."
|
||||
;; "integration/..."
|
||||
;; "internal/cri/..."
|
||||
;; "internal/nri/..."
|
||||
;; "pkg/cdi/..."
|
||||
#;"plugins/...")
|
||||
#:test-flags
|
||||
#~(list "-skip" (string-join
|
||||
;; panic: cannot statfs cgroup root [recovered]
|
||||
(list "TestValidateConfig"
|
||||
;; io_test.go:40: failed to start binary process:
|
||||
;; fork/exec /bin/echo: no such file or directory
|
||||
"TestNewBinaryIO"
|
||||
;; expected success: got executable file not found in $PATH
|
||||
"TestExecutorWithArgs"
|
||||
"TestSetEnv"
|
||||
"TestStdIOPipes"
|
||||
;; panic: cannot statfs cgroup root
|
||||
"TestContainerCapabilities"
|
||||
"TestContainerSpecTty"
|
||||
"TestContainerSpecReadonlyRootfs"
|
||||
"TestContainerSpecWithExtraMounts"
|
||||
"TestContainerAndSandboxPrivileged"
|
||||
"TestPrivilegedBindMount"
|
||||
"TestCgroupNamespace"
|
||||
"TestPidNamespace/node_namespace_mode"
|
||||
;; failed to apply b: invalid argument
|
||||
"TestDiffTar/IgnoreSockets"
|
||||
"TestBinDirVerifyImage/max_verifiers_=_-1,_with_timeout"
|
||||
"TestContainerSpecDefaultPath"
|
||||
;; Error: Not equal:
|
||||
;; expected: 1000
|
||||
;; actual : 123
|
||||
"TestSetPositiveOomScoreAdjustment")
|
||||
"|"))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-dario-cat-mergo
|
||||
go-github-com-adalogics-go-fuzz-headers
|
||||
go-github-com-checkpoint-restore-checkpointctl
|
||||
go-github-com-checkpoint-restore-go-criu-v7
|
||||
go-github-com-containerd-btrfs-v2
|
||||
go-github-com-containerd-cgroups-v3
|
||||
go-github-com-containerd-console
|
||||
go-github-com-containerd-containerd-api
|
||||
go-github-com-containerd-continuity
|
||||
go-github-com-containerd-errdefs
|
||||
go-github-com-containerd-errdefs-pkg
|
||||
go-github-com-containerd-fifo
|
||||
go-github-com-containerd-go-cni
|
||||
go-github-com-containerd-go-runc
|
||||
go-github-com-containerd-imgcrypt-v2
|
||||
go-github-com-containerd-log
|
||||
go-github-com-containerd-nri
|
||||
go-github-com-containerd-otelttrpc
|
||||
go-github-com-containerd-platforms
|
||||
go-github-com-containerd-plugin
|
||||
go-github-com-containerd-ttrpc
|
||||
go-github-com-containerd-typeurl-v2
|
||||
go-github-com-containerd-zfs-v2
|
||||
go-github-com-containernetworking-cni
|
||||
go-github-com-containernetworking-plugins
|
||||
go-github-com-coreos-go-systemd-v22
|
||||
go-github-com-davecgh-go-spew
|
||||
go-github-com-distribution-reference
|
||||
go-github-com-docker-go-events
|
||||
go-github-com-docker-go-metrics
|
||||
go-github-com-docker-go-units
|
||||
go-github-com-emicklei-go-restful-v3
|
||||
go-github-com-fsnotify-fsnotify
|
||||
go-github-com-google-certtostore
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-google-uuid
|
||||
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
|
||||
go-github-com-intel-goresctrl
|
||||
go-github-com-klauspost-compress
|
||||
go-github-com-mdlayher-vsock
|
||||
;;go-github-com-microsoft-go-winio ;Windows only
|
||||
;;go-github-com-microsoft-hcsshim ;Windows only
|
||||
go-github-com-moby-locker
|
||||
go-github-com-moby-sys-mountinfo
|
||||
go-github-com-moby-sys-sequential
|
||||
go-github-com-moby-sys-signal
|
||||
go-github-com-moby-sys-symlink
|
||||
go-github-com-moby-sys-user
|
||||
go-github-com-moby-sys-userns
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-opencontainers-image-spec
|
||||
go-github-com-opencontainers-runtime-spec
|
||||
go-github-com-opencontainers-runtime-tools
|
||||
go-github-com-opencontainers-selinux
|
||||
go-github-com-pelletier-go-toml-v2
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-tchap-go-patricia-v2
|
||||
go-github-com-urfave-cli-v2
|
||||
go-github-com-vishvananda-netlink
|
||||
go-github-com-vishvananda-netns
|
||||
go-go-etcd-io-bbolt
|
||||
go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
|
||||
go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
|
||||
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
|
||||
go-go-opentelemetry-io-otel-sdk
|
||||
go-go-opentelemetry-io-otel-trace
|
||||
go-go-uber-org-goleak
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-time
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf
|
||||
go-gopkg-in-inf-v0
|
||||
go-k8s-io-apimachinery
|
||||
go-k8s-io-client-go
|
||||
go-k8s-io-cri-api
|
||||
go-k8s-io-klog-v2
|
||||
go-tags-cncf-io-container-device-interface))
|
||||
(home-page "https://containerd.io/")
|
||||
(synopsis "Container runtime support daemon")
|
||||
(description
|
||||
"Containerd is a container runtime with an emphasis on simplicity,
|
||||
robustness, and portability. It is available as a daemon, which can manage
|
||||
the complete container lifecycle of its host system: image transfer and
|
||||
storage, container execution and supervision, low-level storage and network
|
||||
attachments, etc.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-containers-gvisor-tap-vsock
|
||||
(package
|
||||
(name "go-github-com-containers-gvisor-tap-vsock")
|
||||
(version "0.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/gvisor-tap-vsock")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file-recursively "vendor")
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/containers/gvisor-tap-vsock/tools
|
||||
(delete-file-recursively "tools")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/containers/gvisor-tap-vsock"
|
||||
#:unpack-path "github.com/containers/gvisor-tap-vsock"
|
||||
#:build-flags
|
||||
#~(list (string-append "-ldflags="
|
||||
"-X github.com/containers/gvisor-tap-vsock"
|
||||
"/pkg/types.gitVersion=" #$version))
|
||||
#:test-flags
|
||||
#~(list "-skip"
|
||||
(string-join
|
||||
;; Received unexpected error:
|
||||
;; listen unix /tmp/guix-.../test.sock: bind: invalid argument
|
||||
(list "TestNotificationSender_Success"
|
||||
;; Requires network
|
||||
"TestSuite"
|
||||
"TestDNS")
|
||||
"|"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prune-tests
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
;; Requires working DNS.
|
||||
(substitute* "pkg/services/dns/dns_test.go"
|
||||
(("Should pass DNS requests to default system DNS.*" all)
|
||||
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
|
||||
(("\"redhat.com\",")
|
||||
"\"localhost\",")
|
||||
(("\"52.200.142.250\"")
|
||||
"\"127.0.0.1\""))))))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify
|
||||
go-github-com-foxcpp-go-mockdns))
|
||||
(propagated-inputs
|
||||
(list go-github-com-apparentlymart-go-cidr
|
||||
go-github-com-containers-winquit
|
||||
go-github-com-coreos-stream-metadata-go
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-google-gopacket
|
||||
go-github-com-inetaf-tcpproxy
|
||||
go-github-com-insomniacslk-dhcp
|
||||
;; go-github-com-linuxkit-virtsock ;Windows only
|
||||
go-github-com-mdlayher-vsock
|
||||
;; go-github-com-microsoft-go-winio ;Windows only
|
||||
go-github-com-miekg-dns
|
||||
go-github-com-onsi-ginkgo
|
||||
go-github-com-onsi-gomega
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-packets
|
||||
go-github-com-songgao-water
|
||||
go-github-com-vishvananda-netlink
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gopkg-in-yaml-v3
|
||||
go-gvisor-dev-gvisor))
|
||||
(home-page "https://github.com/containers/gvisor-tap-vsock")
|
||||
(synopsis "Network stack for virtualization based on gVisor")
|
||||
(description "This package provides a replacement for @code{libslirp} and
|
||||
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
|
||||
and brings a configurable DNS server and dynamic port forwarding.
|
||||
|
||||
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
|
||||
|
||||
The binary is called @command{gvproxy}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-rootless-containers-rootlesskit-v3
|
||||
(package
|
||||
(name "go-github-com-rootless-containers-rootlesskit-v3")
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rootless-containers/rootlesskit")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0giw1whjpm64h8f1iamgym246rr3wl01w7zgw4lygrj7dqk3clmb"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/rootless-containers/rootlesskit/v3"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-containernetworking-plugins
|
||||
go-github-com-containers-gvisor-tap-vsock
|
||||
go-github-com-gofrs-flock
|
||||
go-github-com-google-uuid
|
||||
go-github-com-gorilla-mux
|
||||
go-github-com-insomniacslk-dhcp
|
||||
go-github-com-masterminds-semver-v3
|
||||
go-github-com-moby-sys-mountinfo
|
||||
go-github-com-moby-vpnkit
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-water
|
||||
go-github-com-urfave-cli-v2
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gotest-tools-v3))
|
||||
(home-page "https://github.com/rootless-containers/rootlesskit")
|
||||
(synopsis "Linux-native fakeroot using user namespaces in Golang")
|
||||
(description
|
||||
"@code{RootlessKit} is a Linux-native implementation of \"fake root\" using
|
||||
@url{http://man7.org/linux/man-pages/man7/user_namespaces.7.html,(code
|
||||
user_namespaces(7))}. It is used to run containers engines as an
|
||||
unprivileged user, known as \"Rootless mode\".")
|
||||
(license license:asl2.0)))
|
||||
|
||||
|
||||
|
||||
;;;
|
||||
;;; Executables:
|
||||
@@ -511,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
|
||||
(define-public crun
|
||||
(package
|
||||
(name "crun")
|
||||
(version "1.27.1")
|
||||
(version "1.26")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -521,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
|
||||
"/crun-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy"))))
|
||||
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -906,7 +545,7 @@ Layer-4 sockets.")
|
||||
(define-public cni-plugins
|
||||
(package
|
||||
(name "cni-plugins")
|
||||
(version "1.9.1")
|
||||
(version "1.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -915,7 +554,7 @@ Layer-4 sockets.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12z6w2jk6xgfiwdxys7skpkxldz1cgaa7scgfcr90lsghay59s6w"))
|
||||
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")))))
|
||||
@@ -956,33 +595,92 @@ configure network interfaces in Linux containers.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public gvisor-tap-vsock
|
||||
(package/inherit go-github-com-containers-gvisor-tap-vsock
|
||||
(package
|
||||
(name "gvisor-tap-vsock")
|
||||
(version "0.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/gvisor-tap-vsock")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file-recursively "vendor")
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/containers/gvisor-tap-vsock/tools
|
||||
(delete-file-recursively "tools")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:skip-build? _ #t) #f)
|
||||
((#:tests? _ #t) #f)
|
||||
((#:phases _ '%standard-phases)
|
||||
#~(modify-phases %standard-phases
|
||||
;; Build binary outputs are taken from project's Makefile.
|
||||
(replace 'build
|
||||
(lambda arguments
|
||||
(for-each
|
||||
(lambda (cmd)
|
||||
(apply (assoc-ref %standard-phases 'build)
|
||||
`(,@arguments #:import-path ,cmd)))
|
||||
(list "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
|
||||
"github.com/containers/gvisor-tap-vsock/cmd/qemu-wrapper"
|
||||
"github.com/containers/gvisor-tap-vsock/cmd/vm"))))
|
||||
(add-after 'install 'fix-bin-name
|
||||
(lambda _
|
||||
(rename-file (string-append #$output "/bin/vm")
|
||||
(string-append #$output "/bin/gvforwarder"))))))))
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
|
||||
#:unpack-path "github.com/containers/gvisor-tap-vsock"
|
||||
#:build-flags
|
||||
#~(list (string-append "-ldflags="
|
||||
"-X github.com/containers/gvisor-tap-vsock"
|
||||
"/pkg/types.gitVersion=" #$version))
|
||||
#:test-flags
|
||||
;; serve UDP error: *net.OpError read udp 127.0.0.1:5354: use of closed
|
||||
;; network connection
|
||||
#~(list "-skip" "TestSuite")
|
||||
#:test-subdirs
|
||||
#~(list "../../...") ;test the whole library
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prune-tests
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
;; Requires working DNS.
|
||||
(substitute* "pkg/services/dns/dns_test.go"
|
||||
(("Should pass DNS requests to default system DNS.*" all)
|
||||
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
|
||||
(("\"redhat.com\",")
|
||||
"\"localhost\",")
|
||||
(("\"52.200.142.250\"")
|
||||
"\"127.0.0.1\""))))))))
|
||||
(native-inputs
|
||||
(package-propagated-inputs go-github-com-containers-gvisor-tap-vsock))
|
||||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
(list go-github-com-apparentlymart-go-cidr
|
||||
go-github-com-containers-winquit
|
||||
go-github-com-coreos-stream-metadata-go
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-foxcpp-go-mockdns
|
||||
go-github-com-google-gopacket
|
||||
go-github-com-inetaf-tcpproxy
|
||||
go-github-com-insomniacslk-dhcp
|
||||
;; go-github-com-linuxkit-virtsock ;Windows only
|
||||
go-github-com-mdlayher-vsock
|
||||
;; go-github-com-microsoft-go-winio ;Windows only
|
||||
go-github-com-miekg-dns
|
||||
go-github-com-onsi-ginkgo
|
||||
go-github-com-onsi-gomega
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-packets
|
||||
go-github-com-songgao-water
|
||||
go-github-com-stretchr-testify
|
||||
go-github-com-vishvananda-netlink
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gopkg-in-yaml-v3
|
||||
go-gvisor-dev-gvisor))
|
||||
(home-page "https://github.com/containers/gvisor-tap-vsock")
|
||||
(synopsis "Network stack for virtualization based on gVisor")
|
||||
(description "This package provides a replacement for @code{libslirp} and
|
||||
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
|
||||
and brings a configurable DNS server and dynamic port forwarding.
|
||||
|
||||
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
|
||||
|
||||
The binary is called @command{gvproxy}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public catatonit
|
||||
(package
|
||||
@@ -1187,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
|
||||
(define-public buildah
|
||||
(package
|
||||
(name "buildah")
|
||||
(version "1.43.1")
|
||||
(version "1.43.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1195,7 +893,7 @@ being rootless and not requiring any daemon to be running.")
|
||||
(url "https://github.com/containers/buildah")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "00x4ja5n49jmkmiv54mmkihks9pnjnna7s7py57in6pc9g85xj2y"))
|
||||
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ocaml)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
(define-module (gnu packages coreboot)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cargo)
|
||||
@@ -127,76 +127,6 @@ formats:
|
||||
It also comes with example files generated by bincfg.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public bucts
|
||||
(package
|
||||
(name "bucts")
|
||||
(version %coreboot-version)
|
||||
(source %coreboot-origin)
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
(add-after 'unpack 'enter-source
|
||||
(lambda _
|
||||
(chdir "util/bucts")))
|
||||
(add-after 'enter-source 'set-version
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("^VERSION:=*")
|
||||
#$(string-append "VERSION:=" version)))))
|
||||
;; no install target
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(doc (string-append #$output "/share/doc/bucts/"))
|
||||
(licenses (string-append #$output
|
||||
"/share/licenses/bucts/")))
|
||||
(install-file "bucts" bin)
|
||||
(install-file "readme.md" doc)
|
||||
(install-file "../../COPYING" licenses)))))))
|
||||
(inputs (list pciutils))
|
||||
(home-page "https://coreboot.org")
|
||||
(synopsis "Tool to swap the BIOS bootblock and backup bootblock on the
|
||||
Intel I945 chipsets")
|
||||
(description
|
||||
"The @command{bucts} command can flip a bit in the BUC.TS register of the
|
||||
Intel I945 chipsets and show the register status. When the bit is set, it
|
||||
swaps the bootblock location. Because the bootblock region is often set
|
||||
read-only by the default BIOS, this enables to bypass that restriction and is
|
||||
used as part of a procedure to replace the nonfree BIOS with free software on
|
||||
various computers (Lenovo X60, X60s, X60T, T60, probably more).")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public ectool
|
||||
(package
|
||||
(name "ectool")
|
||||
(version %coreboot-version)
|
||||
(source %coreboot-origin)
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"INSTALL=install"
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/ectool")))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://doc.coreboot.org/util.html")
|
||||
(synopsis "Tool to dump and modify @acronym{EC, Embedded Controller} RAM
|
||||
on computers such as laptops")
|
||||
(description "This package provides @command{ectool}, a program to dump
|
||||
and modify the contents of @acronym{EC, Embedded Controller} RAM
|
||||
on mobile computers.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public ifdtool
|
||||
(package
|
||||
(name "ifdtool")
|
||||
|
||||
+4
-188
@@ -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>
|
||||
@@ -79,6 +79,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix modules)
|
||||
@@ -133,7 +134,6 @@
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
@@ -936,85 +936,6 @@ inspired by the @url{https://github.com/gruns/icecream, Python library} of the
|
||||
same name.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public tinyformat
|
||||
(package
|
||||
(name "tinyformat")
|
||||
(version "2.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/c42f/tinyformat")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j8bxrg7i4rn98iqpfh03krshgcbwh8hq8nm0p3sfdqpira3vi3y"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "../source/tinyformat.h"
|
||||
(string-append #$output "/include")))))))
|
||||
(home-page "https://github.com/c42f/tinyformat")
|
||||
(synopsis "Minimal, type-safe printf replacement library for C++")
|
||||
(description "@code{tinyformat} is a type-safe @code{printf} replacement
|
||||
library in a single C++ header file. Design goals include:
|
||||
|
||||
@itemize
|
||||
@item Type-safety and extensibility for user defined types
|
||||
@item C99 @code{printf} compatibility, to the extent possible using
|
||||
@code{std::ostream}
|
||||
@item POSIX extension for positional arguments
|
||||
@item Simplicity and minimalism; a single header file to include and
|
||||
distribute with your projects
|
||||
@item Augment rather than replace the standard stream formatting mechanism
|
||||
@item C++98 support, with optional C++11 niceties
|
||||
@end itemize")
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public span
|
||||
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "span")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tcbrindle/span")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
|
||||
(snippet
|
||||
#~(delete-file "test/catch.hpp"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-catch2
|
||||
(lambda _
|
||||
;; Use catch2 from Guix.
|
||||
(substitute* (find-files "test" "\\.cpp$")
|
||||
(("#include \"catch.hpp\"")
|
||||
"#include <catch2/catch.hpp>"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "../source/include/tcb/span.hpp"
|
||||
(string-append #$output "/include")))))))
|
||||
(native-inputs
|
||||
(list catch2))
|
||||
(home-page "https://github.com/tcbrindle/span")
|
||||
(synopsis "C++20's @code{std::span} shim for older compilers")
|
||||
(description "This package provides a single-header implementation of
|
||||
C++20's @code{std::span}, conforming to the C++20 committee draft. It is
|
||||
compatible with C++11, but will use newer language features if they are
|
||||
available.")
|
||||
(license license:boost1.0))))
|
||||
|
||||
(define-public google-highway
|
||||
(package
|
||||
(name "google-highway")
|
||||
@@ -1751,38 +1672,6 @@ maintained anymore.")
|
||||
concurrent queue for C++11.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public ringbuffer
|
||||
(package
|
||||
(name "ringbuffer")
|
||||
(version "0.9.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/JohannesLorenz/ringbuffer")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1c57hj6zyvcjpcbwrq8c1hj5brk1bnh69ayd88ny1p0gx031sjpk"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "-DCMAKE_CXX_FLAGS=-Wno-error=array-bounds"
|
||||
(string-append "-DINSTALL_LIB_DIR=" #$output "/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-export-header
|
||||
(lambda _
|
||||
(install-file "src/lib/ringbuffer_export.h"
|
||||
(string-append #$output
|
||||
"/include/ringbuffer")))))))
|
||||
(home-page "https://github.com/JohannesLorenz/ringbuffer")
|
||||
(synopsis "Lock-free multi-reader ringbuffer")
|
||||
(description
|
||||
"@code{ringbuffer} is a library containing a ringbuffer. It is lock-free
|
||||
(using atomics only), and allows multiple readers, but only one writer.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public spscqueue
|
||||
(package
|
||||
(name "spscqueue")
|
||||
@@ -2016,7 +1905,8 @@ using the string similarity calculations from FuzzyWuzzy.")
|
||||
(add-after 'unpack 'fix-pytest-config
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("\"pytest-cov\", ") "")))))))
|
||||
((" \"pytest-cov\", ") "")
|
||||
((" --cov-fail-under=90 --cov=cpplint") "")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-timeout
|
||||
@@ -3778,39 +3668,6 @@ computing Fast Fourier transformations. It supports multidimensional arrays,
|
||||
different floating point sizes and complex transformations.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public libbinio
|
||||
;; The latest tagged version does not support CMake build. This commit has
|
||||
;; builds with CMake and has updated CMake version support.
|
||||
(let ((commit "e88dad086265e179ab6aef7f479e19f3917c7a98")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libbinio")
|
||||
(version (git-version "1.5" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/adplug/libbinio")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rb33jl6gpxb88zymzl996m43b7r6wyw4lq0ib3626kna3baqnha"))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool texinfo))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON")))
|
||||
(home-page "http://adplug.github.io/libbinio/")
|
||||
(synopsis "Binary I/O stream class library")
|
||||
(description
|
||||
"This binary I/O stream class library presents a platform-independent
|
||||
way to access binary data streams in C++. The library is hardware independent
|
||||
in the form that it transparently converts between the different forms of
|
||||
machine-internal binary data representation.")
|
||||
(license license:lgpl2.1+))))
|
||||
|
||||
(define-public priocpp
|
||||
;; Latest release is from 2022-08-14.
|
||||
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
|
||||
@@ -4637,47 +4494,6 @@ meta data function.")
|
||||
;; or the CECILL-C license:
|
||||
(license (list license:lgpl3 license:cecill-c))))
|
||||
|
||||
(define-public tcbrindle-span
|
||||
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "tcbrindle-span")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tcbrindle/span")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
|
||||
(modules '((guix build utils)))
|
||||
;; Unbundle catch.
|
||||
(snippet
|
||||
'(with-directory-excursion "test"
|
||||
(delete-file "catch.hpp")
|
||||
(substitute* (find-files "." "\\.cpp$")
|
||||
(("\"catch\\.hpp\"") "<catch.hpp>"))))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list catch-framework))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(mkdir-p (string-append #$output))
|
||||
(copy-recursively "../source/include"
|
||||
(string-append #$output "/include")))))))
|
||||
(home-page "https://github.com/tcbrindle/span")
|
||||
(synopsis "Implementation of C++20's @code{std::span} for older compilers")
|
||||
(description
|
||||
"This package provides a single-header implementation of C++20's
|
||||
@code{std::span}, conforming to the C++20 committee draft. It is compatible
|
||||
with C++11, but will use newer language features if they are available.")
|
||||
(license license:boost1.0))))
|
||||
|
||||
(define-public tsl-hopscotch-map
|
||||
(package
|
||||
(name "tsl-hopscotch-map")
|
||||
|
||||
+538
-954
File diff suppressed because it is too large
Load Diff
@@ -105,6 +105,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
@@ -1009,7 +1010,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)
|
||||
@@ -1018,7 +1019,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
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cpp)
|
||||
@@ -111,7 +112,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
|
||||
(define-public gallia
|
||||
(package
|
||||
(name "gallia")
|
||||
(version "2.1.1")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -120,7 +121,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04xzh5fi18wrkjs7sqwlv344jf54njvnly042rhxq3x5jrvpvkdw"))))
|
||||
(base32 "1yvjpwpqq6r6glfm4qzb8j91d2gsfy4lvygd9z9pg2j6jvcq6f6s"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -132,16 +133,25 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
|
||||
#:test-flags #~(list "tests/pytest")))
|
||||
(native-inputs
|
||||
(list python-poetry-core
|
||||
python-pygit2
|
||||
python-pytest
|
||||
python-pytest-asyncio))
|
||||
(inputs
|
||||
(list python-aiosqlite
|
||||
(list python-aiofiles
|
||||
python-aiosqlite
|
||||
python-argcomplete
|
||||
python-boltons
|
||||
python-can
|
||||
python-construct
|
||||
python-exitcode
|
||||
python-httpx
|
||||
python-more-itertools
|
||||
python-msgspec
|
||||
python-platformdirs
|
||||
python-psutil
|
||||
python-pydantic
|
||||
python-pygit2
|
||||
python-tabulate
|
||||
python-wcwidth
|
||||
python-zstandard))
|
||||
(home-page "https://github.com/Fraunhofer-AISEC/gallia")
|
||||
(synopsis "Extendable Pentesting Framework")
|
||||
|
||||
+116
-237
@@ -32,7 +32,7 @@
|
||||
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
|
||||
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
|
||||
;;; Copyright © 2018, 2021-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
|
||||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
@@ -109,7 +109,7 @@
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
@@ -131,7 +131,6 @@
|
||||
#:use-module (gnu packages guile-xyz)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages language)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libevent)
|
||||
@@ -148,7 +147,6 @@
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages pantheon)
|
||||
#:use-module (gnu packages parallel)
|
||||
@@ -177,7 +175,6 @@
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages ruby-check)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (gnu packages security-token)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages ssh)
|
||||
@@ -208,6 +205,7 @@
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system ruby)
|
||||
#:use-module (guix build-system cmake)
|
||||
@@ -1063,31 +1061,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")
|
||||
@@ -1186,196 +1159,104 @@ autocompletion and syntax highlighting.")
|
||||
auto-completion and syntax highlighting.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;; XXX When updating, check whether boost-for-mysql is still needed.
|
||||
;; It might suffice to patch ‘cmake/boost.cmake’ as done in the past.
|
||||
(define-public mysql
|
||||
(package
|
||||
(name "mysql")
|
||||
(version "9.7.0")
|
||||
(version "5.7.33")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
"https://cdn.mysql.com/Downloads/MySQL-"
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
"https://dev.mysql.com/get/Downloads/MySQL-"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.gz")
|
||||
(string-append
|
||||
"https://downloads.mysql.com/archives/get/file/"
|
||||
name "-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0v9hc8yzp0f5pwl4kr1a8k7lwyf62g95klxb6avfrc2npjx79dbl"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
|
||||
;; Delete bundled source libraries.
|
||||
(delete-all-but "extra"
|
||||
;; XXX: The build system doesn't currently
|
||||
;; support unbundling these.
|
||||
"json" ;used by bundled opentelemetry
|
||||
"libbacktrace"
|
||||
"libcno"
|
||||
"opentelemetry-cpp"
|
||||
"opentelemetry-proto"
|
||||
"rapidjson"
|
||||
"unordered_dense"
|
||||
"xxhash")))))
|
||||
(sha256
|
||||
(base32
|
||||
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;FIXME: teach build system to use system googletest
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_CONFIG=mysql_release"
|
||||
"-DWITH_AUTHENTICATION_LDAP=ON"
|
||||
"-DWITH_AUTHENTICATION_WEBAUTHN=ON"
|
||||
"-DWITH_BENCHMARK=OFF"
|
||||
;; XXX: BUILD_ID is disabled so that the INFO_BIN target is not
|
||||
;; run; this target relies on running mysqld before it is
|
||||
;; installed, which fails in our case.
|
||||
"-DWITH_BUILD_ID=OFF"
|
||||
"-DWITH_FIDO=system"
|
||||
"-DWITH_SYSTEM_LIBS=ON"
|
||||
"-DWITH_UNIT_TESTS=OFF" ;avoid bundled googletest
|
||||
"-DREPRODUCIBLE_BUILD=ON"
|
||||
"-DMYSQL_DATADIR=/var/lib/mysql"
|
||||
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
|
||||
"-DINSTALL_INFODIR=share/info"
|
||||
"-DINSTALL_MANDIR=share/man"
|
||||
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
|
||||
"-DINSTALL_INCLUDEDIR=include/mysql"
|
||||
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
|
||||
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
|
||||
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
|
||||
"-DINSTALL_MYSQLTESTDIR=OFF"
|
||||
"-DINSTALL_DOCDIR=share/mysql/docs"
|
||||
"-DINSTALL_SHAREDIR=share/mysql")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'disable-broken-abi-check
|
||||
(lambda _
|
||||
;; The ABI check started failing with MySQL 9.7.0 for unknown
|
||||
;; reasons.
|
||||
(substitute* "cmake/abi_check.cmake"
|
||||
(("RUN_ABI_CHECK 1")
|
||||
"RUN_ABI_CHECK 0"))))
|
||||
(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)))))))
|
||||
(add-after 'install 'fix-permissions
|
||||
;; XXX: Otherwise, the guix daemon reports: "suspicious ownership
|
||||
;; or permission on `/gnu/store/...-mysql-9.7.0'; rejecting this
|
||||
;; build output".
|
||||
(lambda _
|
||||
(chmod #$output #o755))))))
|
||||
`(#: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
|
||||
(list bash-minimal
|
||||
boost
|
||||
boost-for-mysql
|
||||
coreutils
|
||||
curl
|
||||
cyrus-sasl
|
||||
gawk
|
||||
grep
|
||||
icu4c
|
||||
libaio
|
||||
libedit
|
||||
libfido2
|
||||
libtirpc
|
||||
lz4
|
||||
mit-krb5
|
||||
ncurses
|
||||
openldap
|
||||
openssl
|
||||
protobuf
|
||||
openssl-1.1
|
||||
procps
|
||||
rpcsvc-proto ; rpcgen
|
||||
rpcsvc-proto ; rpcgen
|
||||
sed
|
||||
zlib
|
||||
`(,zstd "lib")))
|
||||
zlib))
|
||||
(home-page "https://www.mysql.com/")
|
||||
(synopsis "Fast, easy to use, and popular database")
|
||||
(description
|
||||
"MySQL is a fast, reliable, and easy to use relational database
|
||||
management system that supports the standardized Structured Query
|
||||
Language.")
|
||||
(license license:gpl2))) ;v2 only -- see 'Election of GPLv2' in LICENSE
|
||||
|
||||
(define-public mysql-connector-python
|
||||
(package
|
||||
(name "mysql-connector-python")
|
||||
(version "9.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mysql/mysql-connector-python")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zdm35apj1cfraxwlqfmr04pm87qpw73ilb8p88cn08zsa8q11hg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
;; Our protobuf is too old for the mysqlx dev API, so use the
|
||||
;; classic one without the C modules.
|
||||
(chdir "mysql-connector-python")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; Some of these tests might be failing due to the build
|
||||
;; container's restrictions, others are due to the version
|
||||
;; mismatch.
|
||||
(mkdir-p "/tmp/datadir")
|
||||
(invoke "python3" "unittests.py"
|
||||
"--verbosity=3"
|
||||
(string-append "--with-mysql=" #$(this-package-input "mysql"))
|
||||
"--keep"
|
||||
"--mysql-topdir=/tmp/datadir"
|
||||
"--unix-socket=/tmp/datadir")))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list mysql openssl zlib `(,zstd "lib")))
|
||||
(home-page "https://dev.mysql.com/doc/connector-python/en/index.html")
|
||||
(synopsis "MySQL driver written in Python")
|
||||
(description "MySQL Connector/Python enables Python programs to access
|
||||
MySQL databases, using an API that is compliant with the Python Database API
|
||||
Specification v2.0 (PEP 249).")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-deprecated-package python-mysql-connector-python
|
||||
mysql-connector-python)
|
||||
|
||||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
@@ -1672,14 +1553,14 @@ and high-availability (HA).")
|
||||
(define-public postgresql-17
|
||||
(package
|
||||
(name "postgresql")
|
||||
(version "17.10")
|
||||
(version "17.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"144cb40gn1lasvz0jvz4i72mda8k7pm1bx6azq2vggfddm8h72h7"))
|
||||
"1dg9labqgph2idaypb8khdvbag29pr3h4bqv5w8k7kgc08rk97pg"))
|
||||
(patches (search-patches
|
||||
"postgresql-disable-normalize_exec_path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -1742,14 +1623,14 @@ pictures, sounds, or video.")
|
||||
(package
|
||||
(inherit postgresql-17)
|
||||
(name "postgresql")
|
||||
(version "16.14")
|
||||
(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
|
||||
"0w9lgsn03m4k0v3m622v7fk3gqbfbjvwv34mrrc0i4ip4wa7gl7n"))
|
||||
"0hib575m9x3z8c71gkcv9jsyq77d3qk7q2zgzvfy6clwrvs8b16y"))
|
||||
(patches (search-patches
|
||||
"postgresql-disable-normalize_exec_path.patch"))))
|
||||
(arguments
|
||||
@@ -1773,14 +1654,14 @@ pictures, sounds, or video.")
|
||||
(package
|
||||
(inherit postgresql-16)
|
||||
(name "postgresql")
|
||||
(version "15.18")
|
||||
(version "15.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d13qckpslfqamdmp23q3rbzxlp1rqwszylilyllpsp3gzwhvpqi"))
|
||||
"1ais46b2ij38y75i1w336as03pybyndsd2pp2q8gdjq9igmsllsp"))
|
||||
(patches (search-patches
|
||||
"postgresql-disable-resolve_symlinks.patch"))))
|
||||
(native-inputs (modify-inputs native-inputs
|
||||
@@ -1793,7 +1674,6 @@ pictures, sounds, or video.")
|
||||
(inherit postgresql-15)
|
||||
(name "postgresql")
|
||||
(version "14.20")
|
||||
(replacement postgresql-14.23)
|
||||
(source (origin
|
||||
(inherit (package-source postgresql-15))
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
@@ -1802,19 +1682,6 @@ pictures, sounds, or video.")
|
||||
(base32
|
||||
"0sv45dsmyplfys6dfdjdwmrczl46s82x35xdh311nxj02q7z29vm"))))))
|
||||
|
||||
(define-public postgresql-14.23
|
||||
(package
|
||||
(inherit postgresql-14)
|
||||
(name "postgresql")
|
||||
(version "14.23")
|
||||
(source (origin
|
||||
(inherit (package-source postgresql-14))
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"19clihp73ak2p5di90jhg50lqjkkr0iy349gkki30qsl5f11cwnc"))))))
|
||||
|
||||
(define-deprecated/public postgresql-13 #f
|
||||
(package
|
||||
(inherit postgresql-14)
|
||||
@@ -4849,24 +4716,33 @@ PickleShare.")
|
||||
(define-public python-apsw
|
||||
(package
|
||||
(name "python-apsw")
|
||||
(version "3.50.4.0")
|
||||
(version "3.46.0.0")
|
||||
;; The compressed release has fetching functionality disabled.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rogerbinns/apsw")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/rogerbinns/apsw/releases/download/"
|
||||
version "/apsw-" version ".zip"))
|
||||
(sha256
|
||||
(base32 "0r9awjgpl9cmqz5xd4zbqrpiv0rv5c36a18jkqnsfky6n6sgr424"))))
|
||||
(base32
|
||||
"10yfbasi4mq63g0svyl1h49ylwn9znjylq78id16dzxzk9q9ipdx"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-backend #~'custom
|
||||
#:test-flags #~(list "-m" "apsw.tests")))
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(inputs
|
||||
(list sqlite-next)) ;SQLite 3.45.1 required.
|
||||
(list unzip python-setuptools python-wheel))
|
||||
(inputs (list sqlite-next)) ;SQLite 3.45.1 required.
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'build-extensions
|
||||
(lambda _
|
||||
(invoke "python" "setup.py" "build" "--enable-all-extensions"
|
||||
"--enable=load_extension")))
|
||||
(add-after 'build 'build-test-helper
|
||||
(lambda _
|
||||
(invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
|
||||
"-I." "-Isqlite3" "src/testextension.c"))))))
|
||||
(home-page "https://github.com/rogerbinns/apsw/")
|
||||
(synopsis "Another Python SQLite Wrapper")
|
||||
(description
|
||||
@@ -5665,7 +5541,7 @@ with integrated support for finding required rows quickly.")
|
||||
(define-public apache-arrow
|
||||
(package
|
||||
(name "apache-arrow")
|
||||
(version "24.0.0")
|
||||
(version "23.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5675,7 +5551,7 @@ with integrated support for finding required rows quickly.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j3gs5ffa9gx2y2nggmi2zn5rj0bsnjnxrzfnipx6050jz6n8dx9"))))
|
||||
"1qn7wgavi3kiz4d6w1naqj5631bg87fnj6gbhaxmpmynm5hi9wm7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5844,7 +5720,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
|
||||
python-cython
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-scikit-build-core
|
||||
python-setuptools-scm
|
||||
python-setuptools))
|
||||
(outputs '("out"))
|
||||
@@ -6441,7 +6316,7 @@ mechanism of @code{dogpile}.")
|
||||
(define-public datasette
|
||||
(package
|
||||
(name "datasette")
|
||||
(version "1.0a26")
|
||||
(version "1.0a19")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6450,20 +6325,23 @@ mechanism of @code{dogpile}.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ra0yfrz9w3jx7ix3dmcsg0g8hjxkz37586g7ijmqshxpzczxfm7"))))
|
||||
(base32 "0wb73iksrc5vg2lnq3q4vr7yhlzxwr711jfmjdndd0s77996zsfh"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 1720 passed, 9 skipped, 8 xfailed, 13 xpassed, 3 warnings, 120
|
||||
;; subtests passed
|
||||
#:test-flags
|
||||
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
|
||||
"--ignore=tests/test_black.py")
|
||||
;; See https://github.com/simonw/datasette/issues/2048
|
||||
#~(list "-k" (string-append
|
||||
;; These contain two unexpected extra items.
|
||||
"not test_searchable"
|
||||
" and not test_searchmode")
|
||||
"--ignore=tests/test_black.py"
|
||||
"-n" (number->string (parallel-job-count)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(substitute* "setup.py"
|
||||
(("\"pip\",") "")))))))
|
||||
(propagated-inputs
|
||||
(list python-aiofiles
|
||||
@@ -6478,6 +6356,7 @@ mechanism of @code{dogpile}.")
|
||||
python-janus
|
||||
python-jinja2
|
||||
python-mergedeep
|
||||
python-pint
|
||||
python-pluggy
|
||||
python-pyyaml
|
||||
python-sqlite-utils
|
||||
@@ -6486,9 +6365,9 @@ mechanism of @code{dogpile}.")
|
||||
(list nss-certs-for-test
|
||||
python-beautifulsoup4
|
||||
python-cogapp
|
||||
python-multipart-form-data-conformance
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-asyncio-0.26
|
||||
python-pytest-runner
|
||||
python-pytest-timeout
|
||||
python-pytest-xdist
|
||||
python-setuptools
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages datalog)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public souffle
|
||||
(package
|
||||
(name "souffle")
|
||||
(version "2.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/souffle-lang/souffle")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lrw69g02b17vxxz4g7cj8hbmc39wlzl80vl5fwy40a6b9pxwrsj"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Delete bundled dependencies. souffle also uses a forked
|
||||
;; and modified version of json11. We cannot unbundle
|
||||
;; that.
|
||||
(for-each delete-file
|
||||
(list "licenses/TCBRINDLE SPAN.txt"
|
||||
"licenses/TINYFORMAT.txt"
|
||||
"src/include/souffle/utility/span.h"
|
||||
"src/include/souffle/utility/tinyformat.h"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "-DSOUFFLE_GIT=OFF"
|
||||
(string-append "-DPACKAGE_VERSION="
|
||||
#$version))
|
||||
;; We disable these tests since they fail with gcc 14. This issue
|
||||
;; has been reported upstream:
|
||||
;; https://github.com/souffle-lang/souffle/issues/2576
|
||||
#:test-exclude (string-join
|
||||
(list "syntactic/cpp_keywords_run_souffle"
|
||||
"syntactic/cpp_keywords_c_run_souffle"
|
||||
"syntactic/cpp_keywords_compare_std_outputs"
|
||||
"syntactic/cpp_keywords_compare_csv"
|
||||
"syntactic/cpp_keywords_c_compare_std_outputs"
|
||||
"syntactic/cpp_keywords_c_compare_csv")
|
||||
"|")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'replace-bundled-libraries
|
||||
(lambda _
|
||||
;; Patch souffle to use tinyformat from Guix.
|
||||
(substitute* (find-files "src" "\\.(cpp|h)$")
|
||||
(("#include \"souffle/utility/tinyformat.h\"")
|
||||
"#include <tinyformat.h>"))
|
||||
;; Replace span.h with a header that uses span from Guix
|
||||
;; and provides the same namespace.
|
||||
(call-with-output-file "src/include/souffle/utility/span.h"
|
||||
(lambda (port)
|
||||
(display "#pragma once
|
||||
#include <span.hpp>
|
||||
namespace souffle {
|
||||
using tcb::span;
|
||||
}
|
||||
"
|
||||
port))))))))
|
||||
(inputs
|
||||
(list libffi
|
||||
ncurses
|
||||
python
|
||||
span
|
||||
sqlite
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list bison
|
||||
flex
|
||||
tinyformat))
|
||||
(home-page "https://souffle-lang.github.io/")
|
||||
(synopsis "Datalog variant")
|
||||
(description "Soufflé is a variant of Datalog for tool designers crafting
|
||||
analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program
|
||||
from a logic specification. The Soufflé language is similar to Datalog (but
|
||||
has terms known as records), and is frequently used as a domain-specific
|
||||
language for analysis problems.")
|
||||
(license (list license:upl ; main license
|
||||
;; src/include/souffle/profile/htmlJsChartistPlugin.h
|
||||
;; src/include/souffle/utility/json11.h
|
||||
license:expat))))
|
||||
@@ -27,6 +27,7 @@
|
||||
(define-module (gnu packages dav)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
@@ -142,6 +143,9 @@ CardDAV server with a local folder or file.")
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-flake8
|
||||
python-pytest-isort
|
||||
python-setuptools
|
||||
python-waitress
|
||||
python-wheel))
|
||||
@@ -240,6 +244,7 @@ efficient syncing
|
||||
(list python-aioresponses
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-cov
|
||||
python-pytest-httpserver
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
|
||||
+51
-67
@@ -58,7 +58,7 @@
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gdb)
|
||||
@@ -77,6 +77,7 @@
|
||||
#:use-module (gnu packages mail)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
@@ -262,7 +263,7 @@ simple way to add custom protocol messages.")
|
||||
(define-public c-vise
|
||||
(package
|
||||
(name "c-vise")
|
||||
(version "2.8.0")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -270,53 +271,37 @@ simple way to add custom protocol messages.")
|
||||
(url "https://github.com/marxin/cvise")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1ynhm1d56r25apgvv0wqbdrhjbwigkwrgw92g2czz4nfx77rjxz2"))
|
||||
(base32 "1i2z5q2pcwh1gpdqc24x1a2q5vzwhblzzq021nzwf304di7m18vl"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-linkage
|
||||
(lambda _
|
||||
(substitute* "clang_delta/CMakeLists.txt"
|
||||
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}")
|
||||
"True")
|
||||
((" LLVM")
|
||||
" LLVMSupport"))))
|
||||
(add-before 'build 'hardcode-paths
|
||||
(lambda _
|
||||
(substitute* "cvise.py"
|
||||
(("/bin/bash")
|
||||
(which "bash"))
|
||||
(("(.*)# Special case for clang-format" all blank)
|
||||
(format #f "~a# Special case for unifdef
|
||||
~aprograms['unifdef'] = ~s
|
||||
~a"
|
||||
blank blank (which "unifdef") all)))))
|
||||
(add-after 'install 'wrap
|
||||
(lambda _
|
||||
(let ((python-path (getenv "GUIX_PYTHONPATH")))
|
||||
(wrap-program (string-append #$output "/bin/cvise")
|
||||
`("PYTHONPATH" ":" prefix
|
||||
(,(string-join
|
||||
(filter (lambda (cand)
|
||||
(not (string-contains cand "pytest")))
|
||||
(string-split python-path #\:))
|
||||
":"))))))))))
|
||||
(native-inputs
|
||||
(list flex
|
||||
python-pytest
|
||||
python-pytest-flake8))
|
||||
(list flex python-pytest python-pytest-flake8))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
clang
|
||||
llvm
|
||||
unifdef
|
||||
python
|
||||
python-pebble
|
||||
python-psutil
|
||||
python-chardet))
|
||||
(list bash-minimal clang llvm unifdef
|
||||
python python-pebble python-psutil python-chardet))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-linkage
|
||||
(lambda _
|
||||
(substitute* "clang_delta/CMakeLists.txt"
|
||||
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}") "True")
|
||||
((" LLVM") " LLVMSupport"))))
|
||||
(add-before 'build 'hardcode-paths
|
||||
(lambda _
|
||||
(substitute* "cvise.py"
|
||||
(("/bin/bash") (which "bash"))
|
||||
(("(.*)# Special case for clang-format" & >)
|
||||
(string-append > "# Special case for unifdef\n"
|
||||
> "programs['unifdef'] = '" (which "unifdef") "'\n"
|
||||
&)))))
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(python-path (getenv "GUIX_PYTHONPATH")))
|
||||
(wrap-program (string-append out "/bin/cvise")
|
||||
`("PYTHONPATH" ":" prefix (,python-path)))
|
||||
#t))))))
|
||||
(home-page "https://github.com/marxin/cvise")
|
||||
(synopsis "Reducer for interesting code")
|
||||
(description
|
||||
@@ -993,27 +978,26 @@ engineering.")
|
||||
(define-public seer-gdb
|
||||
(package
|
||||
(name "seer-gdb")
|
||||
(version "2.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/epasveer/seer")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1szfqybqr5z982vian4f0hpsagiqapzys3axwibyjyg5whjswva1"))))
|
||||
(version "1.16")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/epasveer/seer.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jdvyg2jab1pvf36pvkyrfsg2wyy8zp1qx0v2ksclgrnr1hja6k6"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;tests are strangely manual
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "src"))))))
|
||||
`(#:tests? #f ; Those are strangely manual
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "src"))))))
|
||||
(inputs
|
||||
(list gdb qtbase qtcharts qtsvg qtwayland))
|
||||
(list qtbase-5 qtcharts-5 qtwayland-5))
|
||||
(synopsis "GUI frontend for GDB")
|
||||
(description "This package provides a frontend to GDB, the GNU debugger.")
|
||||
(home-page "https://github.com/epasveer/seer")
|
||||
@@ -1053,7 +1037,7 @@ to aid in debugging.")
|
||||
(define-public delve
|
||||
(package
|
||||
(name "delve")
|
||||
(version "1.26.3")
|
||||
(version "1.25.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1063,7 +1047,7 @@ to aid in debugging.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mf363l7md4193cgrpb6hkhmsgnlnrx44q1bzw3zq0bmjrcg3fj7"))
|
||||
"1b6vp6m4vjx4wfs1djhpizvz40s563jwld9lgjq82svaiilrmlqa"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")))))
|
||||
@@ -1081,7 +1065,7 @@ to aid in debugging.")
|
||||
(list go-github-com-cilium-ebpf
|
||||
go-github-com-cosiner-argv
|
||||
go-github-com-creack-pty
|
||||
go-github-com-derekparker-trie-v3
|
||||
go-github-com-derekparker-trie
|
||||
go-github-com-go-delve-liner
|
||||
go-github-com-google-go-dap
|
||||
go-github-com-hashicorp-golang-lru
|
||||
@@ -1229,7 +1213,7 @@ and input distributions can also be expressed in Fandango.")
|
||||
;; Shorten paths to sockets in tests.
|
||||
(lambda _ (setenv "TMPDIR" "/tmp"))))
|
||||
#:test-target "test"))
|
||||
(native-inputs (list python python-setuptools)) ; for tests
|
||||
(native-inputs (list python)) ; for tests
|
||||
(synopsis "Fault injector in userspace")
|
||||
(description "Fiu provides CLI utilities and a C library
|
||||
to mark points of failure inside your code
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
@@ -48,7 +49,6 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
@@ -56,7 +56,7 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages education)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fribidi)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -122,83 +122,58 @@ Carnegie Mellon University.")
|
||||
"https://github.com/cmusphinx/cmudict/blob/master/LICENSE"))))
|
||||
|
||||
(define-public dico
|
||||
(let ((commit "05da4bc9e613834fdb065e38c7181044d8889575")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "dico")
|
||||
(version (git-version "2.12" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.gnu.org.ua/dico.git")
|
||||
(commit commit)
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fmr01gpvvb1p6p9ylr67nqx8ymmmkqjhsi9y5zvp2nc32cgxvah"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--disable-static")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'bootstrap
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "grecs/bootstrap"
|
||||
(("/bin/sh")
|
||||
(which "bash"))
|
||||
((" GRECS_GIT_ID=.*")
|
||||
" GRECS_GIT_ID=v1.0-25-g51b12be\n"))
|
||||
(invoke "perl" "./bootstrap" "--force" "--skip-po")))
|
||||
(add-before 'build 'post-configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; For some reason, this file is missing.
|
||||
(install-file "gnulib/lib/getopt.c"
|
||||
"xdico/gnu")
|
||||
;; This code invokes "/bin/sh -c 'm4 -s ...'".
|
||||
(substitute* "grecs/src/grecs-lex.l"
|
||||
(("\"/bin/sh")
|
||||
(string-append "\""
|
||||
(search-input-file inputs "/bin/sh"))))))
|
||||
|
||||
(add-before 'check 'silence-guile
|
||||
(lambda _
|
||||
;; Guile is too talkative, which disturbs the test
|
||||
;; infrastructure. Gag it.
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
|
||||
(native-inputs
|
||||
(list autoconf-2.71
|
||||
automake
|
||||
bison
|
||||
flex
|
||||
gettext-minimal
|
||||
groff
|
||||
libtool
|
||||
perl
|
||||
texinfo))
|
||||
(inputs
|
||||
(list m4 ;used at run time
|
||||
bash-minimal ;likewise
|
||||
pcre
|
||||
python-wrapper
|
||||
guile-3.0
|
||||
gsasl
|
||||
readline
|
||||
zlib
|
||||
wordnet
|
||||
libxcrypt ;for 'crypt'
|
||||
libltdl))
|
||||
(home-page "https://www.gnu.org.ua/software/dico/")
|
||||
(synopsis "Implementation of DICT server (RFC 2229)")
|
||||
(description
|
||||
"GNU Dico implements a flexible dictionary server and client according
|
||||
to RFC 2229 (DICT Server). It is able to access any database available,
|
||||
(package
|
||||
(name "dico")
|
||||
(version "2.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/dico/dico-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--disable-static")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-shell-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; This code invokes "/bin/sh -c 'm4 -s ...'".
|
||||
(substitute* "grecs/src/grecs-lex.c"
|
||||
(("\"/bin/sh\"")
|
||||
(string-append "\""
|
||||
(search-input-file inputs "/bin/sh")
|
||||
"\"")))))
|
||||
(add-before 'check 'silence-guile
|
||||
(lambda _
|
||||
;; Guile is too talkative, which disturbs the test
|
||||
;; infrastructure. Gag it.
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
|
||||
(native-inputs (list groff))
|
||||
(inputs
|
||||
(list m4 ;used at run time
|
||||
bash-minimal ;likewise
|
||||
pcre
|
||||
python-wrapper
|
||||
guile-3.0
|
||||
gsasl
|
||||
readline
|
||||
zlib
|
||||
wordnet
|
||||
libxcrypt ;for 'crypt'
|
||||
libltdl))
|
||||
(home-page "https://www.gnu.org.ua/software/dico/")
|
||||
(synopsis "Implementation of DICT server (RFC 2229)")
|
||||
(description
|
||||
"GNU Dico implements a flexible dictionary server and client according to
|
||||
RFC 2229 (DICT Server). It is able to access any database available,
|
||||
regardless of format, thanks to its modular structure. New modules may be
|
||||
written in C, Guile or Python. Dico also includes a command-line client,
|
||||
which may be used to query remote dictionary databases.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public libmaa
|
||||
(package
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
#:use-module (gnu packages vim)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
@@ -289,6 +290,14 @@ install.")
|
||||
(for-each (lambda (file)
|
||||
(chmod file #o755))
|
||||
(find-files #$output "autopkgtest-virt-.*"))))
|
||||
;; Adjust use of importlib.resources to use python 3.10 compatible
|
||||
;; syntax, which requires an argument.
|
||||
;; Drop when switching to python 3.12+.
|
||||
(add-after 'unpack 'adjust-importlib-resources-for-old-python
|
||||
(lambda _
|
||||
(substitute* "reprotest/__init__.py"
|
||||
(("importlib.resources.files\\(\\)")
|
||||
"importlib.resources.files(package='reprotest')"))))
|
||||
(add-after 'unpack 'skip-most-tests
|
||||
;; These tests require functionality not available in the guix
|
||||
;; build environment
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages check)
|
||||
|
||||
+33
-35
@@ -59,6 +59,7 @@
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system trivial)
|
||||
@@ -105,6 +106,7 @@
|
||||
#:use-module (gnu packages libbsd)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-web)
|
||||
@@ -264,14 +266,14 @@ tmpfs/ramfs filesystems.")
|
||||
(define-public parted
|
||||
(package
|
||||
(name "parted")
|
||||
(version "3.7")
|
||||
(version "3.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parted/parted-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yzga4cjq3yplqs47dl9714vwc3v3v8nxrj80rdc5wx4c5syb380"))))
|
||||
"04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -294,7 +296,6 @@ tmpfs/ramfs filesystems.")
|
||||
(,util-linux "lib")))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
pkg-config
|
||||
|
||||
;; For the tests.
|
||||
e2fsprogs
|
||||
@@ -309,6 +310,18 @@ tmpfs/ramfs filesystems.")
|
||||
tables. It includes a library and command-line utility.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public parted-3.4
|
||||
(package
|
||||
(inherit parted)
|
||||
(version "3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parted/parted-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hjkv84x1bs2qqyx1fnzjqyyqrhv7kpdbq9bgydmi99d8wi80ag1"))))))
|
||||
|
||||
(define-public fdisk
|
||||
(package
|
||||
(name "fdisk")
|
||||
@@ -1224,25 +1237,16 @@ and its highly optimized now for efficient performance.")
|
||||
(package
|
||||
(name "volume-key")
|
||||
(version "0.3.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://pagure.io/volume_key")
|
||||
(commit (string-append "volume_key-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zadzbh26ckk263w02d02r2x3mry2kxbybkhwwaxwpv6jsrm7xr6"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16rhfz6sjwxlmss1plb2wv2i3jq6wza02rmz1d2jrlnsq67p98vc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
gettext-minimal
|
||||
libtool
|
||||
pkg-config
|
||||
python ; used to generate the Python bindings
|
||||
python-setuptools
|
||||
swig))
|
||||
(list pkg-config swig-4.0 python-3)) ; used to generate the Python bindings
|
||||
(inputs
|
||||
(append
|
||||
(cons cryptsetup-minimal (libcryptsetup-propagated-inputs))
|
||||
@@ -1252,21 +1256,15 @@ and its highly optimized now for efficient performance.")
|
||||
glib
|
||||
gpgme)))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; not sure how tests are supposed to pass, even when run manually
|
||||
#:configure-flags
|
||||
#~(list "--without-python"
|
||||
(string-append "--with-gpgme-prefix="
|
||||
#$(this-package-input "gpgme")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-python-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((python #$(this-package-native-input "python")))
|
||||
(setenv "PYTHON3"
|
||||
(string-append python "/bin/python3"))
|
||||
(setenv "PYTHON3_CONFIG"
|
||||
(string-append python "/bin/python3-config"))))))))
|
||||
`(#:tests? #f ; not sure how tests are supposed to pass, even when run manually
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-python.h-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((python (assoc-ref inputs "python")))
|
||||
(substitute* "Makefile.in"
|
||||
(("/usr/include/python") (string-append python "/include/python")))
|
||||
#t))))))
|
||||
(home-page "https://pagure.io/volume_key")
|
||||
(synopsis "Manipulate storage volume encryption keys")
|
||||
(description
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz))
|
||||
|
||||
(define-public boinc-client
|
||||
@@ -109,11 +108,7 @@ resources). It supports virtualized, parallel, and GPU-based applications.")
|
||||
"--with-gtk"
|
||||
"--with-auth")))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
pkg-config
|
||||
python-setuptools
|
||||
which))
|
||||
(list pkg-config autoconf automake which))
|
||||
(inputs
|
||||
(list avahi
|
||||
gtk+
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
@@ -312,7 +313,7 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
||||
(base32 "1a5vd07wrnfbclvf6pz9p8ag9kdd1453lsl9q0bkyc45hq2xqd2a"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-django python-pytest python-setuptools))
|
||||
(list python-django python-pytest python-pytest-cov python-setuptools))
|
||||
(home-page "https://github.com/epicserve/django-cache-url")
|
||||
(synopsis "Configure Django cache settings from URLs")
|
||||
(description
|
||||
@@ -403,6 +404,7 @@ and adapters that are useful for non-trivial configuration scenarios.")
|
||||
python-factory-boy
|
||||
python-pygments
|
||||
python-pytest
|
||||
python-pytest-cov ; runs by default
|
||||
python-pytest-django
|
||||
python-setuptools
|
||||
python-shortuuid
|
||||
@@ -1311,6 +1313,7 @@ server headers required for Cross-Origin Resource Sharing (CORS).")
|
||||
python-mock
|
||||
python-msgpack
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-django
|
||||
python-pytest-mock
|
||||
python-setuptools
|
||||
@@ -2167,6 +2170,7 @@ templates and not in python-level form definitions.")
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-cov ; runs by default
|
||||
python-pytest-django
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
@@ -49,10 +48,10 @@
|
||||
#:use-module (gnu packages gdb)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages xorg)
|
||||
@@ -117,7 +116,6 @@
|
||||
("ldc" ,gdmd)
|
||||
("ninja" ,ninja)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("python-setuptools" ,python-setuptools)
|
||||
("tzdata" ,tzdata-for-tests)
|
||||
("unzip" ,unzip)))
|
||||
(home-page "http://wiki.dlang.org/LDC")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;;
|
||||
@@ -56,7 +56,7 @@
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -841,14 +841,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
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
;; The fetch-plan, install-plan and phases for docbook-xml tend to vary
|
||||
@@ -665,8 +666,7 @@ the in DocBook SGML DTDs.")
|
||||
(base32
|
||||
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))
|
||||
(patches
|
||||
(search-patches "dblatex-importlib.patch"
|
||||
"dblatex-inkscape-1.0.patch"))))
|
||||
(search-patches "dblatex-inkscape-1.0.patch"))))
|
||||
(outputs '("out" "doc"))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
|
||||
+1
-65
@@ -39,12 +39,12 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages containers)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages golang)
|
||||
@@ -198,50 +198,6 @@ enforce convention and best practices for metrics collection in Docker
|
||||
projects.")
|
||||
(license (list license:asl2.0 license:cc-by-sa4.0))))
|
||||
|
||||
(define-public go-github-com-moby-policy-helpers
|
||||
(package
|
||||
(name "go-github-com-moby-policy-helpers")
|
||||
(version "0.0.0-20260507153417-a39d60132186")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/moby/policy-helpers")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12fa602jianip7dg98f2i9i686s2a9bsclw8sqxw1ac1v19qlqr8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "vendor"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.25
|
||||
#:embed-files #~(list ".*\\.json")
|
||||
#:import-path "github.com/moby/policy-helpers"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-containerd-containerd-v2
|
||||
go-github-com-containerd-errdefs
|
||||
go-github-com-containerd-platforms
|
||||
go-github-com-distribution-reference
|
||||
go-github-com-gofrs-flock
|
||||
go-github-com-in-toto-in-toto-golang
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-opencontainers-image-spec
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-sigstore-protobuf-specs
|
||||
go-github-com-sigstore-sigstore
|
||||
go-github-com-sigstore-sigstore-go
|
||||
go-github-com-theupdateframework-go-tuf-v2
|
||||
go-golang-org-x-sync))
|
||||
(home-page "https://github.com/moby/policy-helpers")
|
||||
(synopsis "Policy helpers for Docker")
|
||||
(description "This package provides a policy helpers for Moby (Docker)
|
||||
and BuildKit. It is a work in progress.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-docker
|
||||
(package
|
||||
(name "python-docker")
|
||||
@@ -372,26 +328,6 @@ 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>
|
||||
@@ -41,6 +41,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix deprecation)
|
||||
@@ -57,7 +58,7 @@
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gettext)
|
||||
@@ -191,20 +192,21 @@ markup) can be customized and extended by the user.")
|
||||
|
||||
(define-deprecated asciidoc-py3 asciidoc)
|
||||
|
||||
(define-public doxygen-1.16
|
||||
(define-public doxygen
|
||||
(package
|
||||
(name "doxygen")
|
||||
(version "1.16.1")
|
||||
(version "1.14.0")
|
||||
(home-page "https://www.doxygen.nl/")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-" version
|
||||
".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-" version
|
||||
"/doxygen-" version ".src.tar.gz")))
|
||||
(sha256
|
||||
(base32 "1a33w82ln692qsf3ls0j31f6khljjs1cy3bwd70pra2fa4xy6710"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-"
|
||||
version ".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-"
|
||||
version "/doxygen-" version
|
||||
".src.tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list bison
|
||||
@@ -248,25 +250,6 @@ IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
|
||||
and to some extent D.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public doxygen-1.14
|
||||
(package
|
||||
(inherit doxygen-1.16)
|
||||
(name "doxygen")
|
||||
(version "1.14.0")
|
||||
(home-page "https://www.doxygen.nl/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-"
|
||||
version ".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-"
|
||||
version "/doxygen-" version
|
||||
".src.tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))))
|
||||
|
||||
(define-public doxygen doxygen-1.14)
|
||||
|
||||
(define-public halibut
|
||||
(package
|
||||
(name "halibut")
|
||||
@@ -489,8 +472,9 @@ inspired by Dash.")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Custom build steps to prevent using pyproject-build-system which
|
||||
;; allows to edit the latter without a texlive + haskell world rebuild.
|
||||
;; Essentially a lighter copy of the former python-build-system.
|
||||
;; Using it rather than pyproject-build-system allows to edit the latter
|
||||
;; without a texlive + haskell world rebuild.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages base)
|
||||
@@ -62,6 +62,7 @@
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public treecc
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module ((guix build-system python) #:select (pypi-uri))
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
|
||||
+3
-41
@@ -40,6 +40,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
@@ -206,7 +207,7 @@ with Microsoft Compiled HTML (CHM) files.")
|
||||
python-css-parser
|
||||
python-cssselect
|
||||
python-dateutil
|
||||
python-dnspython
|
||||
python-dnspython-1.16
|
||||
python-feedparser
|
||||
python-fonttools
|
||||
python-html2text
|
||||
@@ -282,9 +283,7 @@ tags = [\"WS_X11\"]")
|
||||
(string-append "[tool.sip.project]
|
||||
sip-include-dirs = [\""
|
||||
#$(this-package-input "python-pyqt")
|
||||
"/lib/python"
|
||||
#$(version-major+minor (package-version python))
|
||||
"/site-packages/PyQt6/bindings\"]")))
|
||||
"/lib/python3.11/site-packages/PyQt6/bindings\"]")))
|
||||
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
|
||||
(("PDFTOHTML = 'pdftohtml'")
|
||||
(string-append "PDFTOHTML = \""
|
||||
@@ -416,43 +415,6 @@ e-books for convenient reading.")
|
||||
accessing and converting various ebook file formats.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public epub-thumbnailer
|
||||
;; See: <https://github.com/marianosimone/epub-thumbnailer/issues/46>.
|
||||
(let ((commit "de4b5bf0fcd1817d560f180231f7bd22d330f1be")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "epub-thumbnailer")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(home-page "https://github.com/marianosimone/epub-thumbnailer")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bkknrcds67qkgci6kdkv51fz8hzmqg8z1vkkni4jl4vgix7cjxg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests provided
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'strip 'rename-program
|
||||
(lambda _
|
||||
(with-directory-excursion #$output
|
||||
(rename-file "bin/epub-thumbnailer.py"
|
||||
"bin/epub-thumbnailer")))))))
|
||||
(propagated-inputs (list python-pillow))
|
||||
(native-inputs (list python-setuptools))
|
||||
(synopsis
|
||||
"Extract the cover of an epub book and create a thumbnail for it")
|
||||
(description
|
||||
"@code{epub-thumbnailer} is a simple script that tries to find a cover
|
||||
into an epub file and creates a thumbnail for it.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public inkbox
|
||||
(package
|
||||
(name "inkbox")
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages django)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@@ -91,6 +91,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
+70
-450
@@ -64,6 +64,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
@@ -90,7 +91,7 @@
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages embedded)
|
||||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
@@ -104,13 +105,11 @@
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libffi)
|
||||
@@ -195,10 +194,6 @@
|
||||
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
||||
(assoc-ref glib-or-gtk:%standard-phases
|
||||
'generate-gdk-pixbuf-loaders-cache-file))
|
||||
(add-after 'unpack 'fix-python-incompatibilities
|
||||
(lambda _
|
||||
(substitute* (find-files "." "\\.py$")
|
||||
(("assertEquals") "assertEqual"))))
|
||||
(add-before 'build 'set-home-env
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))
|
||||
@@ -245,8 +240,8 @@ are also taken from the original.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public abc
|
||||
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b")
|
||||
(revision "11"))
|
||||
(let ((commit "80c8a9a1928ef8148a6b504e9590ec07c55c8bcf")
|
||||
(revision "10"))
|
||||
(package
|
||||
(name "abc")
|
||||
(version (git-version "0.0" revision commit))
|
||||
@@ -258,7 +253,7 @@ are also taken from the original.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85"))))
|
||||
"1fbnwsd841z86vfv45443qfpx0l199vf08sgms8wyz19jw7m5ds6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list readline))
|
||||
@@ -283,7 +278,7 @@ formal verification.")
|
||||
(package
|
||||
(inherit abc)
|
||||
(name "abc-yosyshq")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -292,53 +287,12 @@ formal verification.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka"))))
|
||||
"1jk74yq7dnrnai8r9hqc10jcjmgj50jxj6hsflmvc61acm1r3f8r"))))
|
||||
(home-page "https://github.com/YosysHQ/abc/")
|
||||
(description "ABC is a program for sequential logic synthesis and
|
||||
formal verification. This is the Yosyshq fork of ABC.")
|
||||
(license (license:non-copyleft "file:///copyright.txt"))))
|
||||
|
||||
(define-public appcsxcad
|
||||
(package
|
||||
(name "appcsxcad")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/AppCSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "145awcsg4vl2xmrh5yf9fcasmghrai3x6ivgdxmrm1w3v9gyaccf"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:tests? #f)) ;No tests.
|
||||
(inputs (list boost
|
||||
cgal
|
||||
csxcad
|
||||
eigen
|
||||
expat
|
||||
freetype
|
||||
gmp
|
||||
hdf5
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
openmpi
|
||||
qcsxcad
|
||||
tinyxml
|
||||
vtk))
|
||||
(home-page "https://github.com/thliebig/AppCSXCAD")
|
||||
(synopsis "Minimal GUI application for the @code{qcsxcad} library")
|
||||
(description
|
||||
"A minimal application for the @code{qcsxcad} library which is used to
|
||||
describe geometrical objects and their physical and non-physical properties.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public apycula
|
||||
(package
|
||||
(name "apycula")
|
||||
@@ -450,7 +404,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
(define-public ciel
|
||||
(package
|
||||
(name "ciel")
|
||||
(version "2.4.1")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -459,7 +413,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08r30ighn86995dcf7278k9nrci8wbp6kglgk011y6g80z9m2zm7"))))
|
||||
(base32 "0cj4cpmpqi7aqj9jkpp87qs9bjcg3j97adv1s91pnfrkplff8rh1"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
@@ -489,62 +443,6 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
chip design and @acronym{EDA, Electronic Design Automation}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public csxcad
|
||||
(package
|
||||
(name "csxcad")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/CSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c383zsv4fp40kmpawamfi9zg3b8x3d4m091ldwk15mii3467hp3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "-DFPARSER_ROOT_DIR=" #$(this-package-input "fparser")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake-and-sources
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
((" system\n")
|
||||
"")
|
||||
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
|
||||
"find_package(HDF5 REQUIRED COMPONENTS C HL)"))
|
||||
;; Fix missing `std::`.
|
||||
;; This is fixed in upstream already but not tagged.
|
||||
(substitute* "src/CSPropDiscMaterial.cpp"
|
||||
(("\tcout ")
|
||||
"\tstd::cout ")))))))
|
||||
(inputs (list boost
|
||||
cgal
|
||||
eigen
|
||||
fparser
|
||||
hdf5
|
||||
gmp
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
mpfr
|
||||
openmpi
|
||||
tinyxml
|
||||
vtk
|
||||
zlib))
|
||||
(home-page "https://github.com/thliebig/CSXCAD")
|
||||
(synopsis "3D geometry library for C++")
|
||||
(description
|
||||
"@code{csxcad} is a C++ library to describe geometrical objects
|
||||
and their physical or non-physical properties for electromagnetics simulations.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public comedilib
|
||||
(package
|
||||
(name "comedilib")
|
||||
@@ -569,7 +467,7 @@ individual low-level driver modules.")
|
||||
(define-public eqy
|
||||
(package
|
||||
(name "eqy")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -582,10 +480,8 @@ individual low-level driver modules.")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules %pyproject-build-system-modules
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build pyproject-build-system) #:prefix py:)
|
||||
(guix build utils))
|
||||
#:imported-modules (append %default-gnu-imported-modules
|
||||
%python-build-system-modules)
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
@@ -612,7 +508,7 @@ individual low-level driver modules.")
|
||||
(invoke "make" "-C" "examples/spm")
|
||||
(invoke "make" "-C" "examples/simple"))))
|
||||
(add-after 'install 'python:wrap
|
||||
(assoc-ref py:%standard-phases 'wrap)))))
|
||||
(@@ (guix build python-build-system) wrap)))))
|
||||
(native-inputs
|
||||
(list clang python-minimal-wrapper python-sphinx texinfo yosys))
|
||||
(inputs
|
||||
@@ -1021,7 +917,7 @@ files.")
|
||||
(define-public klayout
|
||||
(package
|
||||
(name "klayout")
|
||||
(version "0.30.8")
|
||||
(version "0.30.7")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1030,7 +926,7 @@ files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
|
||||
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1173,7 +1069,7 @@ characterization result in a liberty library file.")
|
||||
(define-public kicad
|
||||
(package
|
||||
(name "kicad")
|
||||
(version "10.0.3")
|
||||
(version "10.0.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1181,7 +1077,7 @@ characterization result in a liberty library file.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"))
|
||||
"1mnlv8fyz03pfg8pkqwdl5gjz6vsk98c6414lf3wkvrkb85ljaav"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -1306,7 +1202,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b"))))
|
||||
"1c0vn13rp0z12rlqhl321pk2gj9577dyky6xj3i6hb040i3v7zrr"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_FORMATS=html"
|
||||
@@ -1314,7 +1210,7 @@ package.")
|
||||
#:tests? #f)) ;no test suite
|
||||
(native-inputs (list asciidoc
|
||||
gettext-minimal
|
||||
git-minimal/pinned
|
||||
git-minimal
|
||||
perl
|
||||
perl-unicode-linebreak
|
||||
perl-yaml-tiny
|
||||
@@ -1338,7 +1234,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"))))
|
||||
"0iz4lb33wdsw4f82a0ln8ycgaf39gjws03mvl2j1q9npwj6xl1cm"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list python-wrapper))
|
||||
(arguments
|
||||
@@ -1368,7 +1264,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"))))
|
||||
"0jqgyi1yb2zc6w56ba7xama0wnhrqwbbnf2fqvr47xihvdcvs87v"))))
|
||||
(synopsis "Official KiCad footprint libraries")
|
||||
(description "This package contains the official KiCad footprint libraries.")))
|
||||
|
||||
@@ -1385,7 +1281,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"))))
|
||||
"0jr70ry6inzc2fy3s300z0zlmihbq95ba1zckyd1wwbpplaj1gbl"))))
|
||||
(synopsis "Official KiCad 3D model libraries")
|
||||
(description "This package contains the official KiCad 3D model libraries.")))
|
||||
|
||||
@@ -1407,60 +1303,6 @@ libraries.")
|
||||
(description "This package contains the official KiCad project and
|
||||
worksheet templates.")))
|
||||
|
||||
(define-public kicad-cern-libraries
|
||||
;; Upstream does not tag releases.
|
||||
(let ((commit "980670fefdf71965aae6c56194d7f2a68c3e6a68")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "kicad-cern-libraries")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/ohwr/cern-kicad-libs.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0lr1p28gknbgsr86hbzh87plagcyc040v6141xmha280n78h2l62"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("SchLib" "share/kicad/cern/")
|
||||
("PcbLib" "share/kicad/cern/")
|
||||
("CERN.sqlite" "share/kicad/cern/")
|
||||
("CERN_Linux.kicad_dbl" "share/kicad/cern/")
|
||||
("fp-lib-table" "share/kicad/cern/")
|
||||
("sym-lib-table" "share/kicad/cern/")
|
||||
("README.md" "share/doc/kicad-cern-libraries/")
|
||||
("LICENSE" "share/doc/kicad-cern-libraries/")
|
||||
("LICENSES" "share/doc/kicad-cern-libraries/")
|
||||
("CHECKSUMS" "share/doc/kicad-cern-libraries/")
|
||||
("pcblib_conversion_log.txt" "share/doc/kicad-cern-libraries/")
|
||||
("schlib_conversion_log.txt" "share/doc/kicad-cern-libraries/"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adapt-library-tables
|
||||
(lambda _
|
||||
(substitute* "sym-lib-table"
|
||||
(("\\$\\{KICAD9_SYMBOL_DIR\\}")
|
||||
"${KICAD10_SYMBOL_DIR}")))))))
|
||||
(propagated-inputs (list sqliteodbc))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CERN_LIB_DIR")
|
||||
(files '("share/kicad/cern"))
|
||||
(separator #f))))
|
||||
(home-page "https://gitlab.com/ohwr/cern-kicad-libs")
|
||||
(synopsis "CERN component libraries for KiCad")
|
||||
(description
|
||||
"This package provides CERN's KiCad component libraries, including
|
||||
schematic symbols, footprints, a SQLite-backed database library, and KiCad
|
||||
library tables. The libraries are generated from CERN's Altium Designer
|
||||
libraries.")
|
||||
(license license:ohl2-p))))
|
||||
|
||||
(define-public lepton-eda
|
||||
(package
|
||||
(name "lepton-eda")
|
||||
@@ -1662,7 +1504,7 @@ an embedded event driven algorithm.")
|
||||
(define-public librelane
|
||||
(package
|
||||
(name "librelane")
|
||||
(version "3.0.3")
|
||||
(version "3.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1671,16 +1513,12 @@ an embedded event driven algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8"))))
|
||||
"1v43adkw5c624nd06g11cb609v8pj3prfyyawbq3i4k1w1law597"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("click>=8,<8.3") "click>=8"))))
|
||||
(add-after 'compress-documentation 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/librelane")
|
||||
@@ -1932,31 +1770,6 @@ management with library, schematic and board editors.")
|
||||
(license (list license:expat ;libfst and fastlz-derived sources
|
||||
license:bsd-2))))) ;for lz4-derived sources
|
||||
|
||||
(define-public python-csxcad
|
||||
(package
|
||||
(inherit csxcad)
|
||||
(name "python-csxcad")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Tests are broken in v0.6.3.
|
||||
;; Check on update.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'prepare-build
|
||||
(lambda _
|
||||
(chdir "./python")
|
||||
(setenv "CSXCAD_INSTALL_PATH"
|
||||
#$(this-package-input "csxcad")))))))
|
||||
(native-inputs (list python-minimal python-cython python-numpy
|
||||
python-setuptools))
|
||||
(inputs (list csxcad fparser hdf5 python-numpy tinyxml))
|
||||
(synopsis "Python bindings for @code{csxcad}")
|
||||
(description "Library for describing geometrical objects and their
|
||||
physical and non-physical properties.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public python-lln-libparse
|
||||
(package
|
||||
(name "python-lln-libparse")
|
||||
@@ -2207,7 +2020,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(define-public magic
|
||||
(package
|
||||
(name "magic")
|
||||
(version "8.3.644")
|
||||
(version "8.3.633")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2216,7 +2029,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
|
||||
(base32 "1rwrhb0q99rpv4lbiw1sqykwzf9gj1my2wkh6mp8g36rab2vhii3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2246,7 +2059,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(define-public mcy
|
||||
(package
|
||||
(name "mcy")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2261,10 +2074,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(list
|
||||
#:tests? #f ;there are no tests
|
||||
#:imported-modules (append %qt-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules '((guix build qt-build-system)
|
||||
((guix build pyproject-build-system) #:prefix py:)
|
||||
(guix build utils))
|
||||
%python-build-system-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-info-documentation
|
||||
@@ -2293,7 +2103,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(install-it "mcy")
|
||||
(install-it "mcy-dash")))
|
||||
(add-after 'make-install 'python:wrap
|
||||
(assoc-ref py:%standard-phases 'wrap)))))
|
||||
(@@ (guix build python-build-system) wrap)))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-sphinx
|
||||
@@ -2312,7 +2122,7 @@ coverage.")
|
||||
(define-public netgen
|
||||
(package
|
||||
(name "netgen")
|
||||
(version "1.5.319")
|
||||
(version "1.5.318")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2321,7 +2131,7 @@ coverage.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
|
||||
(base32 "19rd8y2pspycr2296nhm60fhsgnzlyzb09wx2kgqzg6s7h6cmrr5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2521,7 +2331,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(define-public nvc
|
||||
(package
|
||||
(name "nvc")
|
||||
(version "1.21.0")
|
||||
(version "1.20.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2530,7 +2340,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00hnrzk9dw88srfmjxxb9xkgnd5n26pmqlcw1bff1y0bckblsr38"))))
|
||||
"1b38x2ch468s4p6mrq6c8s0d95vb84p6w4v8in79l4w7sfy8jnr0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:out-of-source? #t
|
||||
@@ -2669,66 +2479,6 @@ such as:
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public openems
|
||||
(package
|
||||
(name "openems")
|
||||
(version "0.0.36")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/openEMS")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vxlknnji7kha0kabpjqh48i4r0rqlla9gcxhn69d0gcw76albmw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DCSXCAD_ROOT_DIR="
|
||||
#$(this-package-input "csxcad"))
|
||||
(string-append "-DFPARSER_ROOT_DIR="
|
||||
#$(this-package-input "fparser")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
((" system\n") "")
|
||||
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
|
||||
"find_package(HDF5 1.8 REQUIRED)"))))
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key tests? source inputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(let* ((testsuite (string-append source "/TESTSUITE"))
|
||||
(testsuite-tmp "/tmp/openEMS-TESTSUITE"))
|
||||
;; Testsuite directory needs to be writable.
|
||||
(copy-recursively testsuite testsuite-tmp)
|
||||
(invoke "octave" "--no-gui" "--eval"
|
||||
(string-append
|
||||
"addpath('" #$output "/share/openEMS/matlab');"
|
||||
"addpath('"
|
||||
(search-input-directory inputs "share/CSXCAD/matlab")
|
||||
"');"
|
||||
;; Work around bug in test script.
|
||||
"addpath('" testsuite-tmp "/helperscripts');"
|
||||
"run('" testsuite-tmp "/run_testsuite.m');")))))))))
|
||||
(native-inputs (list cmake-minimal octave pkg-config))
|
||||
(inputs (list boost
|
||||
csxcad
|
||||
fparser
|
||||
hdf5
|
||||
openmpi
|
||||
tinyxml
|
||||
vtk))
|
||||
(home-page "https://www.openems.de")
|
||||
(synopsis "Electromagnetic field solver")
|
||||
(description "@code{OpenEMS} is an electromagnetic field solver using
|
||||
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pcb-rnd
|
||||
(package
|
||||
(name "pcb-rnd")
|
||||
@@ -3260,6 +3010,7 @@ Numpy arrays for convenience.")
|
||||
(setenv "PDM_BUILD_SCM_VERSION" #$version))))))
|
||||
(native-inputs
|
||||
(list python-pdm-backend
|
||||
python-pytest-cov
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
sby
|
||||
@@ -3438,12 +3189,8 @@ SystemVerilog, and SystemC, with conversion between languages and to JSON.")
|
||||
inputs "include/antlr4-runtime"))
|
||||
(antlr4cpp-lib (search-input-file
|
||||
inputs "lib/libantlr4-runtime.so"))
|
||||
(python-include
|
||||
(search-input-directory
|
||||
inputs
|
||||
(string-append
|
||||
"include/python"
|
||||
#$(version-major+minor (package-version python))))))
|
||||
(python-include (search-input-directory
|
||||
inputs "include/python3.11")))
|
||||
;; Patch CMake to use our paths directly.
|
||||
(substitute* "src/CMake_antlr4.txt"
|
||||
(("set\\(ANTLR_CLASSPATH \"\"\\)")
|
||||
@@ -3535,44 +3282,6 @@ integrated circuit Hardware Description Language} and SystemVerilog
|
||||
parser library for Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-openems
|
||||
(package
|
||||
(inherit openems)
|
||||
(name "python-openems")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests. Check again on package upgrade.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-sources
|
||||
;; Check if this is still needed on upgrade.
|
||||
(lambda _
|
||||
(substitute* "python/openEMS/_nf2ff.pxd"
|
||||
(("cimport cython.numeric")
|
||||
"import cython
|
||||
from cython cimport numeric"))))
|
||||
(add-before 'build 'prepare-build
|
||||
(lambda* _
|
||||
(chdir "./python")
|
||||
(setenv "CSXCAD_INSTALL_PATH"
|
||||
#$(this-package-input "csxcad"))
|
||||
(setenv "OPENEMS_INSTALL_PATH"
|
||||
#$(this-package-input "openems")))))))
|
||||
(native-inputs (list python-cython python-setuptools))
|
||||
(inputs (list csxcad
|
||||
fparser
|
||||
openems
|
||||
python-csxcad
|
||||
python-hdf5storage
|
||||
python-numpy
|
||||
tinyxml))
|
||||
(home-page "https://www.openems.de")
|
||||
(synopsis "Python API for the electromagnetic field solver @code{OpenEMS}")
|
||||
(description "@code{OpenEMS} is an electromagnetic field solver using
|
||||
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-pyucis
|
||||
(package
|
||||
(name "python-pyucis")
|
||||
@@ -3608,16 +3317,15 @@ Standard} data mode.")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/SanDisk-Open-Source/pyvcd")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyvcd" version))
|
||||
(sha256
|
||||
(base32 "1a1fsgxmpy6gbrs7lp3a56b7d4g6srlp42y5azb1ywjx3w8fiwc6"))))
|
||||
(base32 "15nnydvr1a4ykh8cagi484sfgvdg0dnjxaw6c0ivhjbrbblpaqnw"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools python-setuptools-scm))
|
||||
(list python-pytest-cov
|
||||
python-setuptools
|
||||
python-setuptools-scm))
|
||||
(home-page "http://pyvcd.readthedocs.io/")
|
||||
(synopsis "Library to manipulate digital wave files")
|
||||
(description
|
||||
@@ -3805,7 +3513,7 @@ set.")
|
||||
(define-public fusesoc
|
||||
(package
|
||||
(name "fusesoc")
|
||||
(version "2.4.6")
|
||||
(version "2.4.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3814,7 +3522,7 @@ set.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11bmvk10mszv65ws84jmm220ivwn55v8664kkdm9d4m99pryi2kp"))))
|
||||
(base32 "1sw0zl6hjlzp1a0agdl9yp901pih70ppzzss18l8f3jxs6q7jm1n"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3894,7 +3602,10 @@ Automation}.")
|
||||
#$output "/share/info/hdlmake-figures")))))
|
||||
#:test-flags #~(list "test_all.py")))
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools python-sphinx texinfo))
|
||||
(list python-pytest-cov
|
||||
python-setuptools
|
||||
python-sphinx
|
||||
texinfo))
|
||||
(propagated-inputs (list python-networkx))
|
||||
(home-page "https://ohwr.gitlab.io/project/hdl-make/")
|
||||
(synopsis "Generate multi-purpose makefiles for HDL projects")
|
||||
@@ -4057,9 +3768,18 @@ design.")
|
||||
;; Tests are expensive and may introduce race condition on systems with
|
||||
;; high (more than 16) threads count; limit parallel jobs to 8x.
|
||||
#~(list
|
||||
"--numprocesses" (number->string (min 8 (parallel-job-count))))))
|
||||
"--numprocesses" (number->string (min 8 (parallel-job-count))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'pathch-pytest-options
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
((".*--cov=.*") "")
|
||||
((".*--self-contained-html.*") "")
|
||||
((".*-n.*auto.*") "")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
(list python-pytest-cov
|
||||
python-pytest-html
|
||||
python-pytest-xdist
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
@@ -4071,36 +3791,6 @@ design.")
|
||||
to enforce it.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-pyxhdl
|
||||
(package
|
||||
(name "python-pyxhdl")
|
||||
(version "0.53")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/davidel/pyxhdl")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16dqqhbg5q6fxlhnfcjimxv1zgziw5g46askjhfg8g2hn7i3vfal"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags #~(list "tests/test_runner.py")))
|
||||
(native-inputs
|
||||
(list python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-numpy python-misc-utils))
|
||||
(home-page "https://github.com/davidel/pyxhdl")
|
||||
(synopsis
|
||||
"Python frontend for @acronym{HDL, Hardware Description Languages}")
|
||||
(description
|
||||
"PyXHDL replaces HDL code by Python, generating VHDL (>= 2008) and
|
||||
Verilog (SystemVerilog >= 2012) code to be used for synthesis and simulation.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-vunit
|
||||
(package
|
||||
(name "python-vunit")
|
||||
@@ -4189,71 +3879,6 @@ automated testing of HDL code.")
|
||||
;; subdirectories are under ASL.
|
||||
(license (list license:mpl2.0 license:asl2.0))))
|
||||
|
||||
(define-public qcsxcad
|
||||
(package
|
||||
(name "qcsxcad")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/QCSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ag1shyhsmfsvqm35fi2kfnbcngmln8rjsv88f97gyx9wiqc808y"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;No tests.
|
||||
#:qtbase qtbase ;For Qt 6
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-sources
|
||||
;; Fix missing `std::`-prefix and missing include.
|
||||
;; This is fixed in upstream but not tagged with a version.
|
||||
(lambda _
|
||||
(substitute* "vtkInteractorStyleRubberBand2DPlane.cpp"
|
||||
(("#include \"vtkCamera.h\"")
|
||||
"#include <iostream>\n#include \"vtkCamera.h\"")
|
||||
(("\tcerr ")
|
||||
"\tstd::cerr "))
|
||||
(substitute* "VTKPrimitives.cpp"
|
||||
(("#include \"VTKPrimitives.h\"")
|
||||
"#include <iostream>\n#include \"VTKPrimitives.h\"")
|
||||
(("\tcerr ")
|
||||
"\tstd::cerr ")
|
||||
(("\tcout ")
|
||||
"\tstd::cout "))
|
||||
(substitute* "QVTKStructure.cpp"
|
||||
(("#include \"QVTKStructure.h\"")
|
||||
"#include <iostream>\n#include \"QVTKStructure.h\"")
|
||||
(("\tcerr ")
|
||||
"\tstd::cerr ")
|
||||
(("\tcout ")
|
||||
"\tstd::cout ")))))))
|
||||
(inputs (list boost
|
||||
cgal
|
||||
csxcad
|
||||
eigen
|
||||
freetype
|
||||
gmp
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
openmpi
|
||||
qt5compat
|
||||
tinyxml
|
||||
vtk))
|
||||
(home-page "https://github.com/thliebig/QCSXCAD")
|
||||
(synopsis "GUI library for @code{csxcad}")
|
||||
(description
|
||||
"GUI library for @code{csxcad} --- a library for describing geometrical
|
||||
objects and their properties. This library is used in @code{appcsxcad}
|
||||
which provides a standalone graphical frontend to @{csxcad}.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public qrouter
|
||||
(package
|
||||
(name "qrouter")
|
||||
@@ -4608,7 +4233,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
|
||||
(define-public sby
|
||||
(package
|
||||
(name "sby")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4617,16 +4242,17 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19cvbvg6jjh7lj1sd7jz7yd5wrlswg6dmyajc7kxgl7dd97ivpwy"))))
|
||||
(base32 "0jksspdgq2grk4a80i5yfc9bazfij37wpmrlkvygpz9ys5ny1432"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:parallel-tests? #f
|
||||
#:test-target "test"
|
||||
#:imported-modules %pyproject-build-system-modules
|
||||
#:modules `((guix build gnu-build-system)
|
||||
((guix build pyproject-build-system) #:prefix python:)
|
||||
((guix build python-build-system) #:prefix python:)
|
||||
(guix build utils))
|
||||
#:imported-modules `(,@%default-gnu-imported-modules
|
||||
(guix build python-build-system))
|
||||
#:make-flags #~(list (string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -5039,7 +4665,7 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(define-public yosys
|
||||
(package
|
||||
(name "yosys")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5047,16 +4673,15 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(url "https://github.com/YosysHQ/yosys")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "04sks9hj8h9vy6zii29zjgq38h2h4nz8a7xxiq33p1aivwq7bz8q"))
|
||||
(base32 "13gw5msk1kv05jkb330nybvx2s0ixm6l6mdpyapnqmv3lkhby1mj"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "all"
|
||||
#:test-target "vanilla-test" ;TODO: restore to "test" with next release
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
"ENABLE_FUNCTIONAL_TESTS=1"
|
||||
"ENABLE_EDITLINE=1"
|
||||
"ENABLE_LIBYOSYS=1"
|
||||
"ENABLE_PYOSYS=1"
|
||||
@@ -5071,11 +4696,6 @@ parallel computing platforms. It also supports serial execution.")
|
||||
#$(this-package-input "abc-yosyshq")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; TODO: Remove when fixed.
|
||||
(add-after 'unpack 'remove-aiger
|
||||
(lambda _
|
||||
(substitute* "tests/Makefile"
|
||||
((".*aiger.*") ""))))
|
||||
(add-before 'configure 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "backends/smt2/smtio.py"
|
||||
@@ -5166,12 +4786,12 @@ parallel computing platforms. It also supports serial execution.")
|
||||
(git-reference
|
||||
(url "https://github.com/povik/yosys-slang")
|
||||
;; No tags, nor releases.
|
||||
(commit "cf20b1ba0d2c9df0508f927930a87565e7e0d220")
|
||||
(commit "4e53d772996184b07e9bfe784060f96e6cb0a267")
|
||||
(recursive? #t))) ;requires slang and fmt
|
||||
(file-name "yosys-slang")
|
||||
(sha256
|
||||
(base32
|
||||
"1rl9i19a90yis33g549ida7lygfh1qka5k96zdrvk0shn2jnm8g4")))))
|
||||
"1jjr1b6xd1sr9fkyfyl4y2wkzl51m7g10bw97mnw81v2mzssrs2q")))))
|
||||
;; Optional dependencies increase considerably package closure.
|
||||
;; - gtkwave: required only for vcd2fst binary, used by ‘sim’ command.
|
||||
;; - graphviz, xdot: used by ‘show’ command to display schematics.
|
||||
@@ -5202,7 +4822,7 @@ for various application domains, including FPGAs and ASICs.")
|
||||
license:expat
|
||||
;; yosys-slang/third_party/fmt
|
||||
license:bsd-2 license:bsd-3 license:psfl
|
||||
;; yosys, yosys-slang
|
||||
;; yosys
|
||||
license:isc))))
|
||||
|
||||
(define-deprecated-package yosys-clang yosys)
|
||||
|
||||
+243
-575
File diff suppressed because it is too large
Load Diff
@@ -702,8 +702,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 +717,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"
|
||||
|
||||
+16
-13
@@ -45,6 +45,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module ((guix build utils) #:select (alist-replace delete-file-recursively))
|
||||
#:use-module (gnu packages)
|
||||
@@ -57,7 +58,7 @@
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gdb)
|
||||
#:use-module (gnu packages guile)
|
||||
@@ -1919,7 +1920,7 @@ and Zilog Z80 families, plus many of their variants.")
|
||||
(define-public python-psptool
|
||||
(package
|
||||
(name "python-psptool")
|
||||
(version "3.6")
|
||||
(version "3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1928,40 +1929,36 @@ and Zilog Z80 families, plus many of their variants.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1s53bqimh1ih0xqmyppm2ikphi8r9492k67kn4pz3jngh2gp1wnf"))))
|
||||
(base32 "1fbx3b42cr7dv07p2b9qgzrgs19i066ysfasgvlfjscg2v68j8d0"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-backend #~'unittest))
|
||||
(native-inputs
|
||||
(list python-hatch-vcs
|
||||
python-hatchling
|
||||
python-psptrace-bootstrap
|
||||
(list python-psptrace-bootstrap
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-cryptography
|
||||
python-prettytable))
|
||||
(home-page "https://github.com/PSPReverse/psptool")
|
||||
(synopsis "Tool for dealing with AMD binary blobs")
|
||||
(description "PSPTool is a tool for dealing with AMD binary blobs.")
|
||||
(description "PSPTool is a tool for dealing with AMD binary blobs")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-psptrace
|
||||
(package
|
||||
(name "python-psptrace")
|
||||
(version "0.11")
|
||||
(version "0.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psptrace" version))
|
||||
(sha256
|
||||
(base32 "0lzv0dy2m5g6q4rpjd4wpw0p7n8v8crkx7akbp53lpy1c6y40iw8"))))
|
||||
(base32 "1mrympnpkkns2dxq34h9x9qn667ihdvbbf0wpmbp3jli0n7bj7ih"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no tests in PyPI or Git
|
||||
(native-inputs
|
||||
(list python-hatch-vcs
|
||||
python-hatchling
|
||||
python-setuptools))
|
||||
(list python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-prettytable
|
||||
python-psptool))
|
||||
@@ -2036,7 +2033,13 @@ whereas kdmx creates pseudo-ttys.")
|
||||
;; tests: 631 passed, 27 skipped, 1 warning
|
||||
#:test-flags
|
||||
;; E ModuleNotFoundError: No module named 'mbed_tools_ci_scripts'
|
||||
#~(list "--ignore=tests/ci_scripts/test_sync_board_db.py")))
|
||||
#~(list "--ignore=tests/ci_scripts/test_sync_board_db.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-pytest-config
|
||||
(lambda _
|
||||
(substitute* "pytest.ini"
|
||||
(("addopts = .*") "")))))))
|
||||
(native-inputs
|
||||
(list python-factory-boy
|
||||
python-pytest
|
||||
|
||||
+19
-23
@@ -68,7 +68,6 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
@@ -81,7 +80,7 @@
|
||||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages file-systems)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
@@ -108,6 +107,7 @@
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
@@ -140,6 +140,7 @@
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial))
|
||||
@@ -147,7 +148,7 @@
|
||||
(define-public ares
|
||||
(package
|
||||
(name "ares")
|
||||
(version "147")
|
||||
(version "145")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -156,28 +157,23 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1b4xixngp8md2ishf3cyfwpzjcsvjb5zp678can5dcmv9z1dlsis"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete non-free blobs: Supersoft Diagnostics II.
|
||||
#~(delete-file-recursively "tests/i8080/tests"))))
|
||||
(base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; non-free blobs
|
||||
#:configure-flags
|
||||
#~(list "-DARES_BUILD_LOCAL=FALSE"
|
||||
"-DARES_BUILD_OFFICIAL=TRUE"
|
||||
"-DARES_BUNDLE_SHADERS=FALSE"
|
||||
"-DARES_SKIP_DEPS=TRUE"
|
||||
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-libglvnd
|
||||
(lambda _
|
||||
;; TODO: Our mesa doesn't have libglvnd support.
|
||||
(substitute* "ruby/cmake/os-linux.cmake"
|
||||
(("OpenGL::GLX") "OpenGL::GL")))))))
|
||||
(list #:tests? #f ; No tests
|
||||
#:configure-flags
|
||||
#~(list "-DARES_BUILD_LOCAL=FALSE"
|
||||
"-DARES_BUILD_OFFICIAL=TRUE"
|
||||
"-DARES_BUNDLE_SHADERS=FALSE"
|
||||
"-DARES_SKIP_DEPS=TRUE"
|
||||
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-libglvnd
|
||||
(lambda _
|
||||
;; XXX: Our mesa doesn't have libglvnd support.
|
||||
(substitute* "ruby/cmake/os-linux.cmake"
|
||||
(("OpenGL::GLX") "OpenGL::GL")))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
|
||||
+283
-412
@@ -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,7 +46,7 @@
|
||||
;;; 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>
|
||||
@@ -77,6 +77,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
@@ -113,7 +114,7 @@
|
||||
#:use-module (gnu packages emacs-build)
|
||||
#:use-module (gnu packages emacs-xyz)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
@@ -437,8 +438,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)
|
||||
@@ -448,93 +450,79 @@ optimizer; and it can produce photorealistic and design review images.")
|
||||
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line
|
||||
;; 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
|
||||
@@ -913,65 +901,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")
|
||||
@@ -1055,6 +1042,32 @@ in the context of per-cpu data. The library offers ABI headers to interface
|
||||
with the kernel and various utilities such as per-cpu counters.")
|
||||
(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")
|
||||
@@ -1227,7 +1240,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)
|
||||
@@ -1235,7 +1248,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
|
||||
@@ -1360,33 +1373,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
|
||||
@@ -1396,7 +1400,7 @@ for scientific simulations.")
|
||||
(define-public mpb
|
||||
(package
|
||||
(name "mpb")
|
||||
(version "1.12.0")
|
||||
(version "1.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1405,41 +1409,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
|
||||
@@ -1448,7 +1461,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
|
||||
@@ -1458,11 +1471,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
|
||||
@@ -1672,7 +1685,7 @@ multiple services and devices with hundreds of supported integrations.")
|
||||
(define-public python-esptool
|
||||
(package
|
||||
(name "python-esptool")
|
||||
(version "5.2.0")
|
||||
(version "5.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1681,7 +1694,7 @@ multiple services and devices with hundreds of supported integrations.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rgwa7mimznwkn8ql17yxwxsfp0is3i75y7bf62mgsxjyx7zawcd"))))
|
||||
(base32 "1wl75j6ncm5lahy9pzc38qivhaf9p42a2bijishdkwkw388fs6x1"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1717,7 +1730,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
|
||||
@@ -1725,7 +1738,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"
|
||||
@@ -1781,10 +1794,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
|
||||
@@ -1802,183 +1811,24 @@ 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")
|
||||
(version "1.7.7") ;newer version requires python-raygeo (Rust)
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/barebaric/rayforge")
|
||||
(commit version)))
|
||||
(url "https://github.com/barebaric/rayforge")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1w44qw51nynf1rk61y0d0wj6xl66ciswpcsp38dnwrpfwsqgafxw"))))
|
||||
(base32 "1c6dl0x3pafmh4p533jbk2cj73q90vz1797jya3hzzxdv0h383yc"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 1626 passed
|
||||
#:test-flags
|
||||
;; XXX: Tests fail to pick exact version of cairo: E gi.RepositoryError:
|
||||
;; Typelib file for namespace 'cairo', version '1.0' not found
|
||||
#~(list "--ignore=tests/core/geo/test_font_config.py"
|
||||
"--ignore=tests/core/geo/test_geo_text.py"
|
||||
"--ignore=tests/core/geo/test_geometry.py"
|
||||
"--ignore=tests/core/geo/test_text.py"
|
||||
"--ignore=tests/core/geo/test_transform.py"
|
||||
;; XXX: Projects ships a huge test suite which the majority
|
||||
;; fail, run bare minimal core tests.
|
||||
"tests/core")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
;; All of the dependencies are pined to exact version.
|
||||
(substitute* "requirements.txt"
|
||||
(("[=~]=.*") "\n")
|
||||
;; XXX: Guix's opencv package does not provide Python's
|
||||
;; version metadata.
|
||||
(("opencv_python") ""))))
|
||||
(add-before 'sanity-check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))
|
||||
(add-before 'check 'remove-local-source
|
||||
(lambda _
|
||||
(delete-file-recursively "rayforge")))
|
||||
(add-after 'wrap 'wrap-rayforge
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/rayforge")
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(native-inputs (list python-gitpython
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-cov
|
||||
python-pytest-mock
|
||||
python-setuptools))
|
||||
(inputs (list bash-minimal
|
||||
@@ -1988,27 +1838,54 @@ r2ghidra.")
|
||||
python-asyncudp
|
||||
python-blinker
|
||||
python-ezdxf
|
||||
python-gitpython
|
||||
python-numpy
|
||||
python-platformdirs
|
||||
python-pluggy
|
||||
python-pycairo
|
||||
python-pyclipper
|
||||
python-pygobject
|
||||
python-pymupdf
|
||||
python-pyopengl
|
||||
python-pyopengl-accelerate
|
||||
python-pypdf
|
||||
python-pyserial
|
||||
python-pyserial-asyncio
|
||||
python-pyvips
|
||||
python-pyyaml
|
||||
python-scipy
|
||||
python-semver
|
||||
python-svgelements
|
||||
python-trimesh
|
||||
python-websockets
|
||||
vtracer))
|
||||
(home-page "https://rayforge.org/")
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'write-version-file
|
||||
(lambda _
|
||||
(call-with-output-file "rayforge/version.txt"
|
||||
(lambda (port)
|
||||
(display #$version port)))
|
||||
(let ((port (open-file "MANIFEST.in" "a")))
|
||||
(display "include rayforge/version.txt\n" port)
|
||||
(close-port port))))
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(mkdir "tmp-home")
|
||||
(setenv "HOME"
|
||||
(string-append (getcwd) "/tmp-home"))
|
||||
;; Fix abstract class test for older Python error message format
|
||||
(substitute* "tests/pipeline/stage/test_base_stage.py"
|
||||
(("without an implementation for abstract method 'reconcile'")
|
||||
"abstract method '?reconcile'?"))
|
||||
;; Fix arc fitting test: add looser tolerance for floating point comparison
|
||||
(substitute* "tests/core/geo/test_fitting.py"
|
||||
(("(assert np\\.allclose\\(.*, \\(-10\\.0, 0\\.0\\))" match)
|
||||
(string-append match ", atol=1e-3")))))
|
||||
(delete 'sanity-check) ; Tests against python package version of rayforge
|
||||
(add-after 'wrap 'wrap-rayforge
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/rayforge")
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(home-page "https://github.com/barebaric/rayforge")
|
||||
(synopsis "Desktop application for laser cutting and engraving")
|
||||
(description
|
||||
"Rayforge is a cross-platform 2D CAD and G-code control software designed
|
||||
@@ -2134,7 +2011,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
|
||||
(define-public gpx
|
||||
(package
|
||||
(name "gpx")
|
||||
(version "2.6.8")
|
||||
(version "2.5.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2143,7 +2020,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")
|
||||
@@ -2258,7 +2135,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)
|
||||
@@ -2267,7 +2144,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
|
||||
@@ -2490,6 +2367,7 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
|
||||
python-networkx
|
||||
python-openpyxl
|
||||
python-pytest
|
||||
python-pytest-cov ; --cov runs by default on skrf
|
||||
python-pytest-mock
|
||||
python-pyvisa
|
||||
python-setuptools
|
||||
@@ -2764,7 +2642,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)
|
||||
@@ -2772,10 +2650,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
|
||||
@@ -3024,22 +2901,20 @@ interpolation toolkit.")
|
||||
(define-public python-motulator
|
||||
(package
|
||||
(name "python-motulator")
|
||||
(version "0.6.2")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Aalto-Electric-Drives/motulator/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "motulator" version))
|
||||
(sha256
|
||||
(base32 "1di2r1i19jl751v0hj426zkwk48w5yf8zpw2bl6qzk0vq4z2vpbw"))))
|
||||
(base32 "1kh13zfa4w73q04pny2w2zgym47fp8xy7glwfx82fdx4fihk7dv7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; there are no tests
|
||||
(propagated-inputs
|
||||
(list python-numpy python-matplotlib python-scipy python-tqdm))
|
||||
(native-inputs (list python-hatchling))
|
||||
(propagated-inputs (list python-matplotlib python-numpy python-scipy))
|
||||
(native-inputs (list python-hatchling
|
||||
python-ipykernel
|
||||
python-toml))
|
||||
(home-page "https://aalto-electric-drives.github.io/motulator/")
|
||||
(synopsis "Motor Drive Simulator in Python")
|
||||
(description "This package includes simulation models for an induction
|
||||
@@ -3052,7 +2927,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
|
||||
(define-public cgns
|
||||
(package
|
||||
(name "cgns")
|
||||
(version "4.5.2")
|
||||
(version "4.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3061,7 +2936,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0r8y6lddp7q9nb6804c6bbr4y0pv7ssdzi9m5ddx50ksvfv382fw"))))
|
||||
(base32 "0jig1y7lv9qk1ri2gqws7ffpajmhxnank7gbyna9hfaghsxdlnvd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
@@ -4094,7 +3969,7 @@ G-codes to binary and vice versa.")
|
||||
(list bash-minimal
|
||||
boost-1.83
|
||||
cereal
|
||||
cgal-5
|
||||
cgal
|
||||
curl
|
||||
dbus
|
||||
eigen
|
||||
@@ -4183,6 +4058,10 @@ BOM creation and has a lot of extra features.")
|
||||
(sha256
|
||||
(base32 "19fi0y0lk45cyampczgh3kz2swai4zcgzkffp0xf5h55rxxrdpvk"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list protobuf
|
||||
python
|
||||
python-sip-4))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:configure-flags '("-DBUILD_EXAMPLES=OFF")
|
||||
@@ -4203,11 +4082,6 @@ BOM creation and has a lot of extra features.")
|
||||
(package-version python))
|
||||
"/site-packages"
|
||||
" Python3_SITEARCH"))))))))
|
||||
(inputs
|
||||
(list protobuf
|
||||
python
|
||||
python-sip-4))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/Ultimaker/libArcus")
|
||||
(synopsis "Communication library for Ultimaker software components")
|
||||
(description "This library contains C++ code and Python3 bindings for
|
||||
@@ -4426,6 +4300,15 @@ problem. It was inspired from the SVGNest Javascript library.")
|
||||
(sha256
|
||||
(base32 "0jhqfylg6vzlbz9rqs981bg6y8s18iklw1p8hmax72xq2c7561s1"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list boost
|
||||
clipper
|
||||
libnest2d-for-cura
|
||||
nlopt
|
||||
python
|
||||
python-sip-4))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
@@ -4445,16 +4328,6 @@ problem. It was inspired from the SVGNest Javascript library.")
|
||||
(string-append path " Python3_SITEARCH"))
|
||||
(("\\$\\{_process_output\\} Python3_SITELIB")
|
||||
(string-append path " Python3_SITELIB")))))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list boost
|
||||
clipper
|
||||
libnest2d-for-cura
|
||||
nlopt
|
||||
python
|
||||
python-sip-4))
|
||||
(home-page "https://github.com/Ultimaker/pynest2d")
|
||||
(synopsis "Python bindings for libnest2d")
|
||||
(description
|
||||
@@ -4499,6 +4372,8 @@ belongs to the Cura project from Ultimaker.")
|
||||
(sha256
|
||||
(base32 "1cq85x0xizsjwf9nl7v7x4i9vl335mgv2lda3q2c9fcwrndsc3wk"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list python python-sip-4))
|
||||
(arguments
|
||||
`(#:tests? #f ; No test suite.
|
||||
#:phases
|
||||
@@ -4515,8 +4390,6 @@ belongs to the Cura project from Ultimaker.")
|
||||
(string-append path " Python3_SITEARCH"))
|
||||
(("\\$\\{_process_output\\} Python3_SITELIB")
|
||||
(string-append path " Python3_SITELIB")))))))))
|
||||
(inputs (list python python-sip-4))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/Ultimaker/libSavitar")
|
||||
(synopsis "C++ implementation of 3mf loading with SIP python bindings")
|
||||
(description "LibSavitar is a C++ implementation of 3mf loading with SIP
|
||||
@@ -4959,9 +4832,7 @@ and mogan.")
|
||||
(("'\" [+] python_path [+]")
|
||||
(string-append "'\" + std::string(\""
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/python"
|
||||
#$(version-major+minor (package-version python))
|
||||
"/site-packages"
|
||||
"/lib/python3.11/site-packages"
|
||||
"\") +")))))
|
||||
(add-before 'check 'prepare-checks
|
||||
(lambda _
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user