mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-07 15:54:09 +02:00
Compare commits
72 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cf76e5a1b9 | |||
| f3db2a83b4 | |||
| 9db32e6573 | |||
| 51288fcc9e | |||
| 38e8f129c4 | |||
| c62591bde7 | |||
| 1add19280c | |||
| ba86d5f655 | |||
| 762ded35ef | |||
| ff65b44e7d | |||
| bbd0e658e0 | |||
| cd8c4bd53d | |||
| 010a60bb90 | |||
| adb2f5d47c | |||
| 9a0bd7eb7a | |||
| 79a08015a8 | |||
| 2a0f5a26a9 | |||
| d6ed5db055 | |||
| c285fb5618 | |||
| fd059abc5c | |||
| 338cc52cf6 | |||
| 935c71d6f0 | |||
| 13b5d22946 | |||
| bb9cd7d41d | |||
| 25ca142fa2 | |||
| ae23962fa6 | |||
| 03b7362f5b | |||
| bf66ac60c5 | |||
| 1d9252aefd | |||
| 47bf936933 | |||
| 1e44d5afe3 | |||
| 886e396dee | |||
| 56d2cc82bd | |||
| 12a01c020a | |||
| bce6cffcb3 | |||
| ce8a71d961 | |||
| 0892e93615 | |||
| c402d99037 | |||
| ff9242e63e | |||
| c379adbf87 | |||
| acad9ba45f | |||
| 3a9fb73409 | |||
| 0e0b120588 | |||
| 489866cf11 | |||
| 17d29fa361 | |||
| 0b75deab99 | |||
| 96a8e11e9a | |||
| 33640e95b8 | |||
| 1464041366 | |||
| de9e4539c9 | |||
| 73f31664a5 | |||
| d69e6c80ec | |||
| ab701f0e25 | |||
| 94c15aade7 | |||
| ed09edf243 | |||
| 2cb88181d8 | |||
| b0b32be4f9 | |||
| 202a80eb11 | |||
| a1f71db3e5 | |||
| fe4fcb8818 | |||
| c977f46f47 | |||
| c31598426c | |||
| 8d62aab47a | |||
| 5a49ba3d1b | |||
| 0269bf6ad4 | |||
| 847ca0505f | |||
| f52d6d59d6 | |||
| d1abb90c37 | |||
| 6cc008d218 | |||
| b1a84c94bf | |||
| 32b07a35fe | |||
| aa00c3d7fb |
+3
-7
@@ -42,13 +42,9 @@
|
||||
;; For use with 'bug-reference-prog-mode'. Extra bug-reference
|
||||
;; configuration should be done in your Emacs user configuration file;
|
||||
;; refer to (info (guix) The Perfect Setup).
|
||||
(eval . (setq-local
|
||||
;; #8545, guix/guix#8545, guix/guix!8545, but not !8545
|
||||
bug-reference-bug-regexp
|
||||
(rx (group (or (seq (zero-or-more "guix/guix") "#")
|
||||
(seq (one-or-more "guix/guix") "!"))
|
||||
(group (one-or-more digit))))))
|
||||
(bug-reference-url-format . "https://codeberg.org/guix/guix/issues/%s")
|
||||
(bug-reference-bug-regexp
|
||||
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
|
||||
(bug-reference-url-format . "https://issues.guix.gnu.org/%s")
|
||||
|
||||
(eval . (add-to-list 'completion-ignored-extensions ".go"))
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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 \
|
||||
|
||||
@@ -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}
|
||||
|
||||
+121
-603
@@ -49,7 +49,7 @@ Copyright @copyright{} 2017 humanitiesNerd@*
|
||||
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
|
||||
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@*
|
||||
Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@*
|
||||
Copyright @copyright{} 2017, 2019--2026 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2017, 2019--2025 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@*
|
||||
Copyright @copyright{} 2017 George Clemmer@*
|
||||
Copyright @copyright{} 2017 Andy Wingo@*
|
||||
@@ -151,8 +151,6 @@ Copyright @copyright{} 2025 Noé Lopez@*
|
||||
Copyright @copyright{} 2026 David Elsing@*
|
||||
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
|
||||
Copyright @copyright{} 2026 Yarl Baudig@*
|
||||
Copyright @copyright{} 2026 Joan Vilardaga Castro@*
|
||||
Copyright @copyright{} 2026 Nemin@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -261,16 +259,11 @@ Installation
|
||||
* Application Setup:: Application-specific setup.
|
||||
* Upgrading Guix:: Upgrading Guix and its build daemon.
|
||||
|
||||
Binary Installation
|
||||
|
||||
* Installation with a pre-mounted store::
|
||||
|
||||
Setting Up the Daemon
|
||||
|
||||
* Build Environment Setup:: Preparing the isolated build environment.
|
||||
* Daemon Offload Setup:: Offloading builds to remote machines.
|
||||
* SELinux Support:: Using an SELinux policy for the daemon.
|
||||
* AppArmor Support:: Using an AppArmor profile for the daemon.
|
||||
|
||||
System Installation
|
||||
|
||||
@@ -306,7 +299,6 @@ Package Management
|
||||
Substitutes
|
||||
|
||||
* Official Substitute Servers:: One particular source of substitutes.
|
||||
* Volunteer Run Mirrors:: Additional, regional sources of substitutes.
|
||||
* Substitute Server Authorization:: How to enable or disable substitutes.
|
||||
* Getting Substitutes from Other Servers:: Substitute diversity.
|
||||
* Substitute Authentication:: How Guix verifies substitutes.
|
||||
@@ -488,14 +480,12 @@ Home Services
|
||||
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
|
||||
* Desktop: Desktop Home Services. Services for graphical environments.
|
||||
* Guix: Guix Home Services. Services for Guix.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Fonts: Fonts Home Services. Services for managing User's fonts.
|
||||
* Sound: Sound Home Services. Dealing with audio.
|
||||
* Mail: Mail Home Services. Services for managing mail.
|
||||
* Messaging: Messaging Home Services. Services for managing messaging.
|
||||
* Media: Media Home Services. Services for managing media.
|
||||
* mpv Media Player::
|
||||
* Niri: Niri window manager. Setting up the Niri.
|
||||
* Sway: Sway window manager. Setting up the Sway configuration.
|
||||
* Networking: Networking Home Services. Networking services.
|
||||
* Secrets: Secrets Home Services. Services for storing secrets.
|
||||
@@ -886,40 +876,6 @@ installation script or @i{via} the native package manager of their
|
||||
foreign distribution, to also regularly read and follow security
|
||||
notices, as shown by @command{guix pull}.
|
||||
|
||||
@menu
|
||||
* Installation with a pre-mounted store::
|
||||
@end menu
|
||||
|
||||
@node Installation with a pre-mounted store
|
||||
@subsection Installation with a pre-mounted store
|
||||
|
||||
@cindex pre-mounted store, installation on small root file system
|
||||
@cindex bind mounted store, binary installation
|
||||
@cindex binary installation using an alternative storage device
|
||||
If you need to install Guix on a system whose main file system is too
|
||||
small (as can be the case for the rescue environments of @acronym{VPS,
|
||||
Virtual Private Servers}, for example), you may need to expose the
|
||||
@file{/gnu} directory from a different storage device/partition. This
|
||||
can be achieved by mounting a secondary partition or directory at
|
||||
@file{/gnu}, via a bind mount for example. In the bind mount case,
|
||||
assuming the partition that should be used to hold the content of the
|
||||
store is mounted at @file{/mnt}, you could proceed like this
|
||||
@emph{before} starting the installation:
|
||||
|
||||
@example
|
||||
mkdir /mnt/gnu
|
||||
mkdir /gnu
|
||||
mount --bind /mnt/gnu /gnu
|
||||
@end example
|
||||
|
||||
@quotation Important
|
||||
If your foreign distribution uses systemd, do not attempt to mount
|
||||
directly on the store directory, @file{/gnu/store}, as this would
|
||||
conflict with the @file{gnu-store.mount} systemd unit and cause the
|
||||
@file{guix-daemon.service} to unmount it before starting, failing its
|
||||
execution. Mount on @file{/gnu} instead.
|
||||
@end quotation
|
||||
|
||||
@node Setting Up the Daemon
|
||||
@section Setting Up the Daemon
|
||||
|
||||
@@ -1781,21 +1737,6 @@ user namespaces is missing (@pxref{Build Environment Setup}). Use at
|
||||
your own risk!
|
||||
@end quotation
|
||||
|
||||
@cindex ASLR (address space layout randomization), for builds
|
||||
@cindex address space layout randomization (ASLR), for builds
|
||||
@cindex Docker, running @command{guix-daemon}
|
||||
@cindex @command{guix-daemon}, running under Docker
|
||||
@item --allow-aslr
|
||||
Allow builds to start even if @acronym{ASLR, Address Space Layout
|
||||
Randomization} cannot be disabled on Linux systems. This is normally
|
||||
done so as to increase reproducibility, but some environments, such as
|
||||
those affected by Docker's default seccomp policy, don't permit
|
||||
disabling ASLR. Passing this option will allow builds to start with
|
||||
reduced reproducibility regardless.
|
||||
|
||||
Note that passing this option doesn't ensure that ASLR is enabled, it
|
||||
only allows builds to start even when disabling it is blocked.
|
||||
|
||||
@item --isolate-host-loopback
|
||||
Prevent fixed-output chroot builds from accessing the host loopback.
|
||||
When this is used, fixed-output builds will have their own loopback
|
||||
@@ -3953,7 +3894,6 @@ also result from derivation builds, can be available as substitutes.
|
||||
|
||||
@menu
|
||||
* Official Substitute Servers:: One particular source of substitutes.
|
||||
* Volunteer Run Mirrors:: Additional, regional sources of substitutes.
|
||||
* Substitute Server Authorization:: How to enable or disable substitutes.
|
||||
* Getting Substitutes from Other Servers:: Substitute diversity.
|
||||
* Substitute Authentication:: How Guix verifies substitutes.
|
||||
@@ -3984,54 +3924,13 @@ could use the information gathered to determine, for instance, whether
|
||||
your system has unpatched security vulnerabilities.
|
||||
|
||||
Substitutes from the official build farms are enabled by default when
|
||||
using Guix System (@pxref{GNU Distribution}). However, they are
|
||||
disabled by default when using Guix on a foreign distribution, unless
|
||||
you have explicitly enabled them via one of the recommended installation
|
||||
steps (@pxref{Installation}). Please @pxref{Substitute Server
|
||||
Authorization} on how to enable or disable substitutes for the official
|
||||
build farm; the same procedure can also be used to enable substitutes
|
||||
for any other substitute server.
|
||||
|
||||
@node Volunteer Run Mirrors
|
||||
@subsection Volunteer Run Mirrors
|
||||
|
||||
@cindex substitutes
|
||||
@cindex mirrors
|
||||
Beyond the two official substitute servers, there are additionally
|
||||
volunteer run mirrors. These mirrors do not build their own
|
||||
substitutes, but rather copy them from the official build farm and
|
||||
distribute them to users. Enabling a mirror may be beneficial in case
|
||||
the official servers are temporarily unavailable or provide inadequate
|
||||
bandwidth at the user's location.
|
||||
|
||||
@quotation Note
|
||||
Mirrored substitutes are signed by the original builder, not the mirror.
|
||||
This means that mirror operators @strong{cannot} add or modify binaries,
|
||||
as long as you trust only the official substitute servers,
|
||||
@pxref{Substitute Server Authorization}.
|
||||
@end quotation
|
||||
|
||||
List of volunteer run mirrors, grouped by location (with the build farm
|
||||
they mirror in parentheses):
|
||||
|
||||
@table @asis
|
||||
@item Germany
|
||||
@itemize
|
||||
@item @code{https://hydra-guix-129.guix.gnu.org} (bordeaux.guix.gnu.org)
|
||||
@end itemize
|
||||
@item People's Republic of China
|
||||
@itemize
|
||||
@item @code{https://mirrors.sjtug.sjtu.edu.cn/guix} (ci.guix.gnu.org)
|
||||
@item @code{https://mirrors.sjtug.sjtu.edu.cn/guix-bordeaux} (bordeaux.guix.gnu.org)
|
||||
@end itemize
|
||||
@item Russia
|
||||
@itemize
|
||||
@item @code{https://mirror.yandex.ru/mirrors/guix/} (bordeaux.guix.gnu.org)
|
||||
@end itemize
|
||||
@end table
|
||||
|
||||
To enable receiving substitutions from these mirrors, please @pxref{Getting
|
||||
Substitutes from Other Servers}.
|
||||
using Guix System (@pxref{GNU Distribution}). However,
|
||||
they are disabled by default when using Guix on a foreign distribution,
|
||||
unless you have explicitly enabled them via one of the recommended
|
||||
installation steps (@pxref{Installation}). The following paragraphs
|
||||
describe how to enable or disable substitutes for the official build
|
||||
farm; the same procedure can also be used to enable substitutes for any
|
||||
other substitute server.
|
||||
|
||||
@node Substitute Server Authorization
|
||||
@subsection Substitute Server Authorization
|
||||
@@ -4881,94 +4780,14 @@ These options are provided for convenience, but you can also specify your
|
||||
configuration in the @file{~/.config/guix/channels.scm} file or using the
|
||||
@option{--channels} option (see below).
|
||||
|
||||
@item --channels=@var{file-or-uri}
|
||||
@itemx -C @var{file-or-uri}
|
||||
Read the list of channels from @var{file-or-uri} instead of
|
||||
@item --channels=@var{file}
|
||||
@itemx -C @var{file}
|
||||
Read the list of channels from @var{file} instead of
|
||||
@file{~/.config/guix/channels.scm} or @file{/etc/guix/channels.scm}.
|
||||
@var{file-or-uri} must contain Scheme code that
|
||||
@var{file} must contain Scheme code that
|
||||
evaluates to a list of channel objects. @xref{Channels}, for more
|
||||
information.
|
||||
|
||||
As you can guess, @var{file-or-uri} can be a URL, in which case the
|
||||
given channels file is transparently downloaded. In the example below,
|
||||
we pull from the latest revision of Guix that was successfully
|
||||
evaluated:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
@cindex SWHID, for channel files
|
||||
Alternatively, you can refer to a channel file by its
|
||||
@uref{https://swhid.org,Software Hash Identifier}, or SWHID, which
|
||||
uniquely and unambiguously identifies contents, as in this example:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b
|
||||
@end example
|
||||
|
||||
This command downloads the data designated by the given identifier from
|
||||
@uref{https://archive.softwareheritage.org, the Software Heritage
|
||||
archive}.
|
||||
|
||||
@anchor{trusted-channels}
|
||||
@cindex trusted channels, for downloaded channel files
|
||||
In both cases, the command errors out if the returned channels are not
|
||||
among the user's @dfn{trusted channels}, defined as:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
the channels returned by @file{~/.config/guix/trusted-channels.scm},
|
||||
which has the same format as any channel file (these channels
|
||||
@emph{must} have an ``introduction'', @pxref{Channel Authentication};
|
||||
channels are identified by their introduction and other fields are
|
||||
ignored, including @code{url} and @code{name});
|
||||
|
||||
@item
|
||||
or, if the above file doesn't exist, the currently-used channels as
|
||||
returned by @command{guix describe}.
|
||||
@end itemize
|
||||
|
||||
@item --allow-untrusted-channels[=yes|no]
|
||||
Whether to allow pulls from untrusted channels.
|
||||
|
||||
By default, @command{guix pull} aborts when downloading a channel file
|
||||
that specifies an untrusted channel and merely warns if the list of
|
||||
channels comes from a local file. This option allows you to change
|
||||
that.
|
||||
|
||||
@quotation Warning
|
||||
Allowing untrusted channels can effectively lead to arbitrary code
|
||||
execution on your system.
|
||||
@end quotation
|
||||
|
||||
@anchor{unsafe-channel-evaluation}
|
||||
@item --unsafe-channel-evaluation
|
||||
Allow arbitrary code execution from channel files, both the default
|
||||
@file{channels.scm} files and those passed with @option{--channels} as
|
||||
mentioned above.
|
||||
|
||||
@cindex sandboxing, of channel evaluation
|
||||
By default, channel files are evaluated in an isolated ``sandbox''
|
||||
where only trivial declarative code returning a list of channels is
|
||||
allowed---calls to procedures such as @code{list}, @code{cons},
|
||||
@code{string-append}, as well as the @code{channel} constructor.
|
||||
Attempts from a channel file to access unauthorized bindings such as
|
||||
@code{system} (to run shell code) or to use additional modules with
|
||||
@code{use-modules} are impossible.
|
||||
|
||||
The @option{--unsafe-channel-evaluation} option disables these
|
||||
safeguards.
|
||||
|
||||
@quotation Warning
|
||||
When using @code{--unsafe-channel-evaluation}, channel files can
|
||||
@emph{run arbitrary code on your machine}. While this is useful in some
|
||||
cases, only use @code{--unsafe-channel-evaluation} when you fully
|
||||
understand the code of the channel files you use!
|
||||
@end quotation
|
||||
|
||||
@item --no-channel-files
|
||||
@itemx -q
|
||||
Inhibit loading of the user and system channel files,
|
||||
@@ -5210,68 +5029,12 @@ Use the @code{guix} channel from the specified @var{url}, at the
|
||||
given @var{commit} (a valid Git commit ID represented as a hexadecimal
|
||||
string or the name of a tag), or @var{branch}.
|
||||
|
||||
@item --channels=@var{file-or-uri}
|
||||
@itemx -C @var{file-or-uri}
|
||||
Read the list of channels from @var{file-or-uri}. @var{file-or-uri}
|
||||
must contain Scheme code that evaluates to a list of channel objects.
|
||||
@item --channels=@var{file}
|
||||
@itemx -C @var{file}
|
||||
Read the list of channels from @var{file}. @var{file} must contain
|
||||
Scheme code that evaluates to a list of channel objects.
|
||||
@xref{Channels} for more information.
|
||||
|
||||
When @var{file-or-uri} is a URL, channels are transparently downloaded.
|
||||
In the example below, we pull from the latest revision of Guix that was
|
||||
successfully evaluated:
|
||||
|
||||
@example
|
||||
guix time-machine \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master \
|
||||
-- describe
|
||||
@end example
|
||||
|
||||
@cindex SWHID, for channel files
|
||||
Note that downloading a channel file potentially harms reproducibility:
|
||||
the file might vanish or be modified on the server behind your back.
|
||||
From a reproducibility viewpoint the safe approach is to keep channel
|
||||
files under version control, or to refer to them by their
|
||||
@uref{https://swhid.org,Software Hash Identifier}, or SWHID, which
|
||||
uniquely and unambiguously identifies contents. Here is an example:
|
||||
|
||||
@example
|
||||
guix time-machine \
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \
|
||||
-- @dots{}
|
||||
@end example
|
||||
|
||||
This command downloads the data designated by the identifier from
|
||||
@uref{https://archive.softwareheritage.org, the Software Heritage
|
||||
archive}; it is fully reproducible because the data it refers to is
|
||||
immutable.
|
||||
|
||||
@xref{Invoking guix pull}, for more information, and @pxref{Invoking
|
||||
guix hash}, for info on how to compute the SWHID of a file.
|
||||
|
||||
@item --allow-untrusted-channels[=yes|no]
|
||||
Whether to allow pulls from untrusted channels.
|
||||
|
||||
@quotation Warning
|
||||
Allowing untrusted channels can effectively lead to arbitrary code
|
||||
execution on your system.
|
||||
@end quotation
|
||||
|
||||
@xref{trusted-channels, @command{guix pull} documentation}, for more
|
||||
info.
|
||||
|
||||
@item --unsafe-channel-evaluation
|
||||
Allow arbitrary code execution from channels files.
|
||||
|
||||
@quotation Warning
|
||||
When using @code{--unsafe-channel-evaluation}, channel files can
|
||||
@emph{run arbitrary code on your machine}. Only use
|
||||
@code{--unsafe-channel-evaluation} when you fully understand the code of
|
||||
the channel files you use!
|
||||
|
||||
@xref{unsafe-channel-evaluation, @option{--unsafe-channel-evaluation} in
|
||||
@command{guix pull}}, for background information.
|
||||
@end quotation
|
||||
|
||||
@item --no-channel-files
|
||||
@itemx -q
|
||||
Inhibit loading of the user and system channel files,
|
||||
@@ -6000,7 +5763,6 @@ pull} uses the latest commit with available substitutes for the package
|
||||
definitions: this is done by querying the continuous integration
|
||||
server at @url{https://ci.guix.gnu.org}.
|
||||
|
||||
@findex channel-with-substitutes-available
|
||||
@lisp
|
||||
(use-modules (guix ci))
|
||||
|
||||
@@ -6015,21 +5777,6 @@ substitutes. It only ensures that @command{guix pull} will not try to
|
||||
compile package definitions. This is particularly useful when using
|
||||
machines with limited resources.
|
||||
|
||||
@quotation Warning
|
||||
Use of this functionality in your channel file requires it to be
|
||||
evaluated in ``unsafe'' mode, with the
|
||||
@option{--unsafe-channel-evaluation} option.
|
||||
@xref{unsafe-channel-evaluation, the @command{guix pull} documentation},
|
||||
for more info.
|
||||
|
||||
However, a similar result can be achieved by running, say:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
@end quotation
|
||||
|
||||
@node Creating a Channel
|
||||
@section Creating a Channel
|
||||
|
||||
@@ -14939,32 +14686,8 @@ guix hash @var{option} @var{file} ...
|
||||
@end example
|
||||
|
||||
When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the
|
||||
hash of data read from standard input.
|
||||
|
||||
Here are a few examples:
|
||||
|
||||
@table @asis
|
||||
@item SHA256 of a file for use in an @code{origin} record:
|
||||
@example
|
||||
guix hash example.tar.gz
|
||||
@end example
|
||||
|
||||
@item SHA256 of directory @var{checkout} for use in an @code{origin} record:
|
||||
@example
|
||||
guix hash -rx @var{checkout}
|
||||
@end example
|
||||
|
||||
@item SHA1 hash of @var{file} like the @code{sha1sum} command:
|
||||
@example
|
||||
guix hash -H sha1 -f hex @var{file}
|
||||
@end example
|
||||
|
||||
@cindex SWHID, computing
|
||||
@item SHA1 hash of @var{file} for a @code{swh:1:cnt} @uref{https://swhid.org, SWHID}:
|
||||
guix hash -S git -H sha1 -f hex @var{file}
|
||||
@end table
|
||||
|
||||
@command{guix hash} has the following options:
|
||||
hash of data read from standard input. @command{guix hash} has the
|
||||
following options:
|
||||
|
||||
@table @code
|
||||
|
||||
@@ -15629,6 +15352,26 @@ repository used by the OCaml community.
|
||||
|
||||
Additional options include:
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
Traverse the dependency graph of the given upstream package recursively
|
||||
and generate package expressions for all those packages that are not yet
|
||||
in Guix.
|
||||
@end table
|
||||
|
||||
@item composer
|
||||
@cindex Composer
|
||||
@cindex PHP
|
||||
Import metadata from the @uref{https://getcomposer.org/, Composer} package
|
||||
archive used by the PHP community, as in this example:
|
||||
|
||||
@example
|
||||
guix import composer phpunit/phpunit
|
||||
@end example
|
||||
|
||||
Additional options include:
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
@@ -15660,26 +15403,7 @@ Also, please note that versions are not compared across repositories.
|
||||
The first repository (from left to right) that has at least one version
|
||||
of a given package will prevail over any others, and the version
|
||||
imported will be the latest one found @emph{in this repository only}.
|
||||
@end table
|
||||
|
||||
@item composer
|
||||
@cindex Composer
|
||||
@cindex PHP
|
||||
Import metadata from the @uref{https://getcomposer.org/, Composer} package
|
||||
archive used by the PHP community, as in this example:
|
||||
|
||||
@example
|
||||
guix import composer phpunit/phpunit
|
||||
@end example
|
||||
|
||||
Additional options include:
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
Traverse the dependency graph of the given upstream package recursively
|
||||
and generate package expressions for all those packages that are not yet
|
||||
in Guix.
|
||||
@end table
|
||||
|
||||
@item go
|
||||
@@ -16270,10 +15994,51 @@ Use @var{host} as the OpenPGP key server when importing a public key.
|
||||
@cindex format conventions
|
||||
The @command{guix style} command helps users and packagers alike style
|
||||
their package definitions and configuration files according to the
|
||||
latest fashionable trends, or patch them with specific rewrites. It can
|
||||
either reformat whole files, with the @option{--whole-file} option, or
|
||||
apply specific @dfn{styling rules} to individual package definitions.
|
||||
The command provides multiple styling rules, explained below.
|
||||
latest fashionable trends. It can either reformat whole files, with the
|
||||
@option{--whole-file} option, or apply specific @dfn{styling rules} to
|
||||
individual package definitions. The command currently provides the
|
||||
following styling rules:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
formatting package definitions according to the project's conventions
|
||||
(@pxref{Formatting Code});
|
||||
|
||||
@item
|
||||
rewriting package inputs to the ``new style'', as explained below.
|
||||
@end itemize
|
||||
|
||||
The way package inputs are written is going through a transition
|
||||
(@pxref{package Reference}, for more on package inputs). Until version
|
||||
1.3.0, package inputs were written using the ``old style'', where each
|
||||
input was given an explicit label, most of the time the package name:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "old style" (deprecated).
|
||||
(inputs `(("libunistring" ,libunistring)
|
||||
("libffi" ,libffi))))
|
||||
@end lisp
|
||||
|
||||
Today, the old style is deprecated and the preferred style looks like
|
||||
this:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "new style".
|
||||
(inputs (list libunistring libffi)))
|
||||
@end lisp
|
||||
|
||||
Likewise, uses of @code{alist-delete} and friends to manipulate inputs
|
||||
is now deprecated in favor of @code{modify-inputs} (@pxref{Defining
|
||||
Package Variants}, for more info on @code{modify-inputs}).
|
||||
|
||||
In the vast majority of cases, this is a purely mechanical change on the
|
||||
surface syntax that does not even incur a package rebuild. Running
|
||||
@command{guix style -S inputs} can do that for you, whether you're working on
|
||||
packages in Guix proper or in an external channel.
|
||||
|
||||
The general syntax is:
|
||||
|
||||
@@ -16336,45 +16101,14 @@ definition of the Coreutils package like so:
|
||||
@end example
|
||||
|
||||
@item inputs
|
||||
Rewrite package inputs to the ``new style''. This is how you would
|
||||
rewrite inputs of package @code{whatnot} in your own channel:
|
||||
Rewrite package inputs to the ``new style'', as described above. This
|
||||
is how you would rewrite inputs of package @code{whatnot} in your own
|
||||
channel:
|
||||
|
||||
@example
|
||||
guix style -L ~/my/channel -S inputs whatnot
|
||||
@end example
|
||||
|
||||
The way package inputs are written is going through a transition
|
||||
(@pxref{package Reference}, for more on package inputs). Until version
|
||||
1.3.0, package inputs were written using the ``old style'', where each
|
||||
input was given an explicit label, most of the time the package name:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "old style" (deprecated).
|
||||
(inputs `(("libunistring" ,libunistring)
|
||||
("libffi" ,libffi))))
|
||||
@end lisp
|
||||
|
||||
Today, the old style is deprecated and the preferred style looks like
|
||||
this:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "new style".
|
||||
(inputs (list libunistring libffi)))
|
||||
@end lisp
|
||||
|
||||
Likewise, uses of @code{alist-delete} and friends to manipulate inputs
|
||||
is now deprecated in favor of @code{modify-inputs} (@pxref{Defining
|
||||
Package Variants}, for more info on @code{modify-inputs}).
|
||||
|
||||
In the vast majority of cases, this is a purely mechanical change on the
|
||||
surface syntax that does not even incur a package rebuild. Running
|
||||
@command{guix style -S inputs} can do that for you, whether you're working on
|
||||
packages in Guix proper or in an external channel.
|
||||
|
||||
Rewriting is done in a conservative way: preserving comments and bailing
|
||||
out if it cannot make sense of the code that appears in an inputs field.
|
||||
The @option{--input-simplification} option described below provides
|
||||
@@ -16413,29 +16147,6 @@ rebuild of the affected packages. Furthermore, if a package definition
|
||||
happens to be using G-expressions already, @command{guix style} leaves
|
||||
it unchanged.
|
||||
|
||||
@item remove-input
|
||||
@itemx remove-native-input
|
||||
@itemx remove-propagated-input
|
||||
These styling rules remove an input from the given package(s).
|
||||
|
||||
Removing these packages respects the package syntax, doesn't affect
|
||||
margin comments or parentheses, and will put all remaining inputs on a
|
||||
single line if there are less than three.
|
||||
|
||||
This is a focused styling rule for use in teams, when updating
|
||||
build-systems, or removing unwanted development inputs from
|
||||
native-inputs.
|
||||
|
||||
To remove package @var{whatnot} from all inputs, use the
|
||||
@code{--parameter} option:
|
||||
|
||||
@example
|
||||
guix style -S remove-input --parameter=@var{whatnot}
|
||||
@end example
|
||||
|
||||
It is also possible to do that for a collection of packages by appending
|
||||
them to the above invocation.
|
||||
|
||||
@item git-source
|
||||
If the @code{home-page} is a Git repository (as per
|
||||
@code{git-repository-url?}), and the actual Git repository is tagged
|
||||
@@ -28886,9 +28597,8 @@ host all all ::1/128 md5"))
|
||||
|
||||
@table @asis
|
||||
@item @code{log-destination} (default: @code{"syslog"})
|
||||
The logging method to use for PostgreSQL@. Valid values are
|
||||
@code{"stderr"}, @code{"csvlog"}, @code{"jsonlog"}, @code{"syslog"} and
|
||||
@code{"eventlog"}. Multiple values are accepted, separated by commas.
|
||||
The logging method to use for PostgreSQL@. Multiple values are accepted,
|
||||
separated by commas.
|
||||
|
||||
@item @code{hba-file} (default: @code{%default-postgres-hba})
|
||||
Filename or G-expression for the host-based authentication
|
||||
@@ -28903,6 +28613,9 @@ is to listen for connections from client applications. If set to
|
||||
@code{""} PostgreSQL does not listen on any Unix-domain sockets, in
|
||||
which case only TCP/IP sockets can be used to connect to the server.
|
||||
|
||||
By default, the @code{#false} value means the PostgreSQL default value
|
||||
will be used, which is currently @samp{/tmp}.
|
||||
|
||||
@item @code{extra-config} (default: @code{'()})
|
||||
List of additional keys and values to include in the PostgreSQL config
|
||||
file. Each entry in the list should be a list where the first element
|
||||
@@ -36293,19 +36006,6 @@ Launch the app as this group (it must be an existing group).
|
||||
A list of sockets (as path strings) which gunicorn will be listening
|
||||
on. This list must contain at least one socket.
|
||||
|
||||
@item @code{control-socket} (default: #f) (type: string)
|
||||
If set, creates a gunicorn control-socket at the given path. Note that,
|
||||
the control socket should refer to a path listed in @code{mappings}.
|
||||
|
||||
@item @code{socket-user} (default: @code{user}) (type: string)
|
||||
Owner of the directory containing the socket (must be an existing user).
|
||||
|
||||
@item @code{socket-group} (default: @code{group}) (type: string)
|
||||
Group owner of the directory containing the socket (must be an existing group).
|
||||
|
||||
@item @code{socket-mode} (default: @code{#o750}) (type: integer)
|
||||
File mode to use for the directory containing the socket.
|
||||
|
||||
@item @code{workers} (default: @code{1}) (type: integer)
|
||||
The number of workers for the gunicorn app.
|
||||
|
||||
@@ -38132,21 +37832,6 @@ This is the type of the dnsmasq service, whose value should be a
|
||||
(servers '("192.168.1.1"))))
|
||||
@end lisp
|
||||
|
||||
The following example shows a slightly more complex configuration that
|
||||
defines an authoritative DNS server on a given subdomain.
|
||||
@lisp
|
||||
(service dnsmasq-service-type
|
||||
(dnsmasq-configuration
|
||||
(listen-addresses '("10.1.1.1"))
|
||||
(no-resolv? #t)
|
||||
(no-hosts? #t)
|
||||
(authoritative-servers '("vpn.example.com")) ;self
|
||||
(authoritative-zones '("vpn.example.com"))
|
||||
(host-records '("some-service.vpn.example.com,10.1.1.1"))))
|
||||
@end lisp
|
||||
|
||||
For more examples, refer to @samp{man 8 dnsmasq.}
|
||||
|
||||
@code{dnsmasq-service-type} provides two actions:
|
||||
|
||||
@table @code
|
||||
@@ -38236,33 +37921,12 @@ ie a subnet for which an interface exists on the server.
|
||||
@item @code{listen-addresses} (default: @code{'()})
|
||||
Listen on the given IP addresses.
|
||||
|
||||
@item @code{ipv4?} (default: @code{#t})
|
||||
Whether to include A records in answers.
|
||||
|
||||
@item @code{ipv6?} (default: @code{#t})
|
||||
Whether to include AAAA records in answers.
|
||||
|
||||
@item @code{resolv-file} (default: @code{"/etc/resolv.conf"})
|
||||
The file to read the IP address of the upstream nameservers from.
|
||||
|
||||
@item @code{no-resolv?} (default: @code{#f})
|
||||
When true, don't read @var{resolv-file}.
|
||||
|
||||
@item @code{authoritative-servers} (default: @code{'()})
|
||||
A list of strings corresponding to valid @option{--auth-server} values,
|
||||
such as a domain name. This is useful to make @command{dnsmasq}
|
||||
authoritative for a given domain name or interface.
|
||||
|
||||
@item @code{authoritative-zones} (default: @code{'()})
|
||||
A list of strings corresponding to valid @option{--auth-zone} values,
|
||||
such as a domain name. This is useful to make @command{dnsmasq}
|
||||
authoritative for a given domain name. Note that this must be used in
|
||||
conjunction with the @code{authoritative-servers} option.
|
||||
|
||||
@item @code{host-records} (default: @code{'()})
|
||||
A list of strings corresponding to valid @option{--host-record} values,
|
||||
for example @code{'("some-service.example.com,10.1.1.1")}.
|
||||
|
||||
@item @code{forward-private-reverse-lookup?} (default: @code{#t})
|
||||
When false, all reverse lookups for private IP ranges are answered with
|
||||
"no such domain" rather than being forwarded upstream.
|
||||
@@ -38271,12 +37935,6 @@ When false, all reverse lookups for private IP ranges are answered with
|
||||
When true, dnsmasq queries the servers in the same order as they appear
|
||||
in @var{servers}.
|
||||
|
||||
@item @code{locals} (default: @code{'()})
|
||||
Specify domain name @emph{patterns} which should be treated as local,
|
||||
that is, for which there should be no delegation to upstream servers.
|
||||
Provided pattern values should be of the form
|
||||
@code{'("/vpn.example.com/")}.
|
||||
|
||||
@item @code{servers} (default: @code{'()})
|
||||
Specify IP address of upstream servers directly.
|
||||
|
||||
@@ -45994,81 +45652,6 @@ mount.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@subsubheading btrfs-scrub Service
|
||||
@cindex btrfs-scrub service
|
||||
@cindex solid state drives, periodic trim
|
||||
@cindex solid state drives, trim
|
||||
|
||||
@c This was copied from the btrfs-scrub manpage, with some Texinfo touch-ups.
|
||||
@quotation Information
|
||||
Scrub is a validation pass over all filesystem data and metadata that
|
||||
detects data checksum errors, basic super block errors, basic metadata
|
||||
block header errors, and disk read errors.
|
||||
|
||||
Scrub is done on a per-device base, if a device is specified to
|
||||
@command{btrfs scrub start}, then only that device will be
|
||||
scrubbed. Although btrfs will also try to read other device to find a
|
||||
good copy, if the mirror on that specified device failed to be read or
|
||||
pass verification.
|
||||
|
||||
If a path of btrfs is specified to @command{btrfs scrub start}, btrfs
|
||||
will scrub all devices in parallel.
|
||||
|
||||
On filesystems that use replicated block group profiles (e.g. RAID1),
|
||||
read-write scrub will also automatically repair any damage by copying
|
||||
verified good data from one of the other replicas.
|
||||
|
||||
Such automatic repair is also carried out when reading metadata or data
|
||||
from a read-write mounted filesystem.
|
||||
@end quotation
|
||||
|
||||
@defvar btrfs-scrub-service-type
|
||||
Type for a service that periodically runs @command{btrfs-scrub} on a
|
||||
certain device, whose value must be an
|
||||
@code{<btrfs-scrub-configuration>} object. The service can be
|
||||
instantiated in its default configuration with:
|
||||
|
||||
@lisp
|
||||
;; This will scrub the root (@file{/}) filesystem.
|
||||
(service btrfs-scrub-service-type)
|
||||
|
||||
;; This will scrub the @file{/gnu/store} filesystem (assuming it's a
|
||||
;; different filesystem from @file{/}).
|
||||
|
||||
(service btrfs-scrub-service-type
|
||||
(btrfs-scrub-configuration
|
||||
(to-scrub "/gnu/store")))
|
||||
@end lisp
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} btrfs-scrub-configuration
|
||||
Available @code{btrfs-scrub-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{btrfs-progs}) (type: file-like)
|
||||
The package providing the @command{btrfs} command.
|
||||
|
||||
@item @code{schedule} (default: @code{"0 0 1-7 * 0"}) (type: Shepherd calendar event)
|
||||
Schedule for launching @command{btrfs-scrub}, expressed as a string in
|
||||
traditional cron syntax or as a gexp evaluating to a Shepherd calendar
|
||||
event (@pxref{Timers,,, shepherd, The GNU Shepherd Manual}). By default
|
||||
this is set to run the 1st Sunday of the month, at 00:00.
|
||||
|
||||
@item @code{to-scrub} (default: @code{"/"}) (type: maybe-string)
|
||||
Device to scrub. It will scrub the root (@file{/}) if not given.
|
||||
|
||||
@item @code{extra-arguments} (type: maybe-list-of-strings)
|
||||
Extra options to append to @command{btrfs scrub start} (run @samp{man
|
||||
btrfs-scrub.8} for more information). Keep in mind that, by definition,
|
||||
this service uses the @option{-B} flag (do not background and print
|
||||
scrub statistics when finished).
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
@cindex oom
|
||||
@cindex out of memory killer
|
||||
@cindex earlyoom
|
||||
@@ -46643,26 +46226,6 @@ up not being used much for the reasons described there.
|
||||
@end deftp
|
||||
@end defvar
|
||||
|
||||
@cindex fwupd
|
||||
@cindex firmware update
|
||||
@subsubheading fwupd Service
|
||||
|
||||
@defvar fwupd-service-type
|
||||
This service allows users of supported hardware to update their firmware. The
|
||||
service's value is a @code{fwupd-configuration} record.
|
||||
|
||||
@deftp {Data Type} fwupd-configuration
|
||||
This is the data type representing the configuration for the fwupd
|
||||
service.
|
||||
|
||||
@table @asis
|
||||
@item @code{fwupd} (default @code{fwupd})
|
||||
The fwupd package that will be installed in the system profile.
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
@end defvar
|
||||
|
||||
@node Hurd Services
|
||||
@subsection Hurd Services
|
||||
|
||||
@@ -50451,8 +50014,6 @@ accepts store items it receives from the coordinator:
|
||||
# guix archive --authorize < coordinator-public-key.txt
|
||||
@end example
|
||||
|
||||
@cindex @command{guix deploy, sudo configuration}
|
||||
@anchor{guix-deploy-via-sudo}
|
||||
@code{user}, in this example, specifies the name of the user account to log in
|
||||
as to perform the deployment. Its default value is @code{root}, but root
|
||||
login over SSH may be forbidden in some cases. To work around this,
|
||||
@@ -50669,27 +50230,13 @@ small to bootstrap a Guix system from.
|
||||
|
||||
@item @code{ssh-key} (default: @code{#f})
|
||||
If specified, the file name of the SSH private key to use to
|
||||
authenticate with the remote host. If left unspecified, a temporary SSH
|
||||
key is used during the early provisioning of the machine, after which
|
||||
the authentication with the final machine is handled by your SSH client
|
||||
or agent. It's a good idea to have your public SSH key authorized
|
||||
declaratively in the @code{operating-system} specification provided, via
|
||||
the @code{authorized-keys} field of the @code{openssh-configuration}
|
||||
record. To be able to run @samp{guix deploy} after the initial
|
||||
provisioning is done, an SSH connection to the root account or a
|
||||
password-less sudo configuration is needed (@pxref{guix-deploy-via-sudo,
|
||||
Invoking guix deploy}). For the later, you must also explicitly specify
|
||||
the @code{user} field, which otherwise defaults to @code{"root"}.
|
||||
authenticate with the remote host.
|
||||
|
||||
@item @code{ssh-public-key} (default: extracted from @code{ssh-key})
|
||||
If specified, either a public key as returned by
|
||||
@code{string->public-key} or the path to the SSH public key to use to
|
||||
authenticate with the remote host.
|
||||
|
||||
@item @code{user} (default: @code{"root"})
|
||||
The user to use for SSH authentication for the @samp{guix deploy}
|
||||
command once the initial provisioning is complete.
|
||||
|
||||
@end table
|
||||
|
||||
When deploying a machine for the first time, the following steps are
|
||||
@@ -50723,36 +50270,36 @@ server.
|
||||
Once the server has been provisioned and SSH is available, deployment
|
||||
continues by delegating it to the @code{managed-host-environment-type}.
|
||||
|
||||
Depending on their type, x86_64 or AArch64 servers on the Hetzner Cloud
|
||||
service can be provisioned using BIOS or UEFI boot mode. The @code{(gnu
|
||||
machine hetzner)} module exports the @code{make-hetzner-os} procedure,
|
||||
which takes the server type string as an argument (e.g. @code{"cx23"})
|
||||
and returns a base @code{operating-system} definition compatible with
|
||||
it.
|
||||
Servers on the Hetzner Cloud service can be provisioned on the AArch64
|
||||
architecture using UEFI boot mode, or on the x86_64 architecture using
|
||||
BIOS boot mode. The @code{(gnu machine hetzner)} module exports the
|
||||
@code{%hetzner-os-arm} and @code{%hetzner-os-x86} operating systems that
|
||||
are compatible with those two architectures, and can be used as a base
|
||||
for defining your custom operating system.
|
||||
|
||||
The following example shows the definition of two machines that are
|
||||
deployed on the Hetzner Cloud service. The first one for an ARM server
|
||||
type that has 16 shared vCPUs and 32 GB of RAM, the second for an x86_64
|
||||
server type that has 16 shared vCPUs and 32 GB of RAM.
|
||||
deployed on the Hetzner Cloud service. The first one uses the
|
||||
@code{%hetzner-os-arm} operating system to run a server with 16 shared
|
||||
vCPUs and 32 GB of RAM on the @code{aarch64} architecture, the second
|
||||
one uses the @code{%hetzner-os-x86} operating system on a server with 16
|
||||
shared vCPUs and 32 GB of RAM on the @code{x86_64} architecture.
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu machine)
|
||||
(gnu machine hetzner))
|
||||
|
||||
(list (let ((server-type "cax41"))
|
||||
(machine
|
||||
(operating-system (make-hetzner-os server-type))
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type server-type)
|
||||
(ssh-key "/home/charlie/.ssh/id_rsa")))))
|
||||
(let ((server-type "cpx51"))
|
||||
(machine
|
||||
(operating-system (make-hetzner-os server-type))
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type server-type)
|
||||
(ssh-public-key "/home/charlie/.ssh/id_rsa.pub"))))))
|
||||
(list (machine
|
||||
(operating-system %hetzner-os-arm)
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type "cax41")
|
||||
(ssh-key "/home/charlie/.ssh/id_rsa"))))
|
||||
(machine
|
||||
(operating-system %hetzner-os-x86)
|
||||
(environment hetzner-environment-type)
|
||||
(configuration (hetzner-configuration
|
||||
(server-type "cpx51")
|
||||
(ssh-public-key "/home/charlie/.ssh/id_rsa.pub")))))
|
||||
@end lisp
|
||||
|
||||
@vindex GUIX_HETZNER_API_TOKEN
|
||||
@@ -51737,7 +51284,7 @@ after receiving @code{SIGHUP}.
|
||||
|
||||
After adding
|
||||
@lisp
|
||||
(shepherd-signal-action 'reload SIGHUP)
|
||||
(shepherd-signal-action 'reload SIGHUP))
|
||||
@end lisp
|
||||
|
||||
the @code{reload} action will be available and can be used with
|
||||
@@ -52385,10 +51932,8 @@ mount --rbind /sys /mnt/sys
|
||||
mount --rbind /dev /mnt/dev
|
||||
@end example
|
||||
|
||||
A quick way to check if your system booted with EFI support is to check
|
||||
if @file{/sys/firmware/efi} exists. If your system is EFI-based, you
|
||||
must also mount the ESP partition. Assuming it is @file{/dev/sda1}, you
|
||||
can do so with:
|
||||
If your system is EFI-based, you must also mount the ESP partition.
|
||||
Assuming it is @file{/dev/sda1}, you can do so with:
|
||||
|
||||
@example sh
|
||||
mount /dev/sda1 /mnt/boot/efi
|
||||
@@ -52674,13 +52219,12 @@ services)}.
|
||||
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
|
||||
* Desktop: Desktop Home Services. Services for graphical environments.
|
||||
* Guix: Guix Home Services. Services for Guix.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Backup: Backup Home Services. Services for backing up User's files.
|
||||
* Fonts: Fonts Home Services. Services for managing User's fonts.
|
||||
* Sound: Sound Home Services. Dealing with audio.
|
||||
* Mail: Mail Home Services. Services for managing mail.
|
||||
* Messaging: Messaging Home Services. Services for managing messaging.
|
||||
* Media: Media Home Services. Services for managing media.
|
||||
* mpv Media Player::
|
||||
* Niri: Niri window manager. Setting up the Niri.
|
||||
* Sway: Sway window manager. Setting up the Sway configuration.
|
||||
* Networking: Networking Home Services. Networking services.
|
||||
@@ -53609,7 +53153,7 @@ specifying the command to run.
|
||||
@lisp
|
||||
(use-modules (gnu) (guix)
|
||||
(gnu home services shepherd)
|
||||
(gnu packages code))
|
||||
(gnu packages idutils))
|
||||
|
||||
(define idutils-service
|
||||
;; Index my 'doc' directory everyday at 12:15PM and 7:15PM.
|
||||
@@ -53880,32 +53424,6 @@ The list of accepted host key algorithms---e.g.,
|
||||
@item @code{accepted-key-types} (type: maybe-string-list)
|
||||
The list of accepted user public key types.
|
||||
|
||||
@item @code{control-master} (type: 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}.
|
||||
|
||||
@item @code{control-file-name} (type: maybe-string)
|
||||
The file name of the control socket used for connection sharing, or
|
||||
@code{"none"} to disable connection sharing.
|
||||
|
||||
@item @code{control-persist} (type: 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.
|
||||
|
||||
@item @code{sent-environment-variables} (type: 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.
|
||||
|
||||
@item @code{environment-variables} (type: 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.
|
||||
|
||||
@item @code{extra-content} (default: @code{""}) (type: raw-configuration-string)
|
||||
Extra content appended as-is to this @code{Host} block in
|
||||
@file{~/.ssh/config}.
|
||||
|
||||
+2
-2
@@ -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.
|
||||
@@ -147,7 +147,7 @@ $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
|
||||
|
||||
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
|
||||
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
|
||||
sed -e s,@,@@,g "$<" > "$@"
|
||||
cp "$<" "$@"
|
||||
|
||||
infoimagedir = $(infodir)/images
|
||||
dist_infoimage_DATA = \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020-2022, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
@@ -61,7 +61,7 @@ TARGET."
|
||||
;; from the other package sets.
|
||||
(fold delete %base-packages
|
||||
(append (map specification->package
|
||||
'("kbd" "iproute2" "iw" "wireless-tools"))
|
||||
'("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools"))
|
||||
%base-packages-linux)))
|
||||
|
||||
(define %system-packages
|
||||
|
||||
-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")
|
||||
|
||||
+3
-31
@@ -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"
|
||||
@@ -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")
|
||||
@@ -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"
|
||||
@@ -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
-33
@@ -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 \
|
||||
@@ -1452,7 +1458,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ghc-aeson-encodeDouble.patch \
|
||||
%D%/packages/patches/ghc-basement-fix-32bit.patch \
|
||||
%D%/packages/patches/ghc-bytestring-handle-ghc9.patch \
|
||||
%D%/packages/patches/ghc-chell-quickcheck-enable-qc-2.15.patch \
|
||||
%D%/packages/patches/ghc-clock-realfrag.patch \
|
||||
%D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch \
|
||||
%D%/packages/patches/ghc-memory-fix-32bit.patch \
|
||||
@@ -1510,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 \
|
||||
@@ -1585,6 +1588,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gtk2-theme-paths.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtk3-treeview-test-fix.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 \
|
||||
@@ -1666,7 +1670,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 \
|
||||
@@ -1749,6 +1752,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 \
|
||||
@@ -1863,7 +1867,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 \
|
||||
@@ -1882,10 +1885,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 \
|
||||
@@ -1913,6 +1916,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
||||
%D%/packages/patches/mono-msbuild-15.7.179-fix-build.patch \
|
||||
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.patch \
|
||||
%D%/packages/patches/mozjs-xp-win.patch \
|
||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
||||
%D%/packages/patches/libmodbus-disable-networking-test.patch \
|
||||
@@ -1925,6 +1929,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mediasdk-gcc-14.patch \
|
||||
%D%/packages/patches/memtest86+-build-reproducibly.patch \
|
||||
%D%/packages/patches/mercurial-hg-extension-path.patch \
|
||||
%D%/packages/patches/meson-keep-rpath-vicinity.patch \
|
||||
%D%/packages/patches/meson-gir-fallback-path.patch \
|
||||
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
||||
%D%/packages/patches/mia-fix-boost-headers.patch \
|
||||
%D%/packages/patches/mia-gcc11.patch \
|
||||
@@ -1944,6 +1950,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 \
|
||||
@@ -1984,7 +1991,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 \
|
||||
@@ -2010,13 +2016,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 \
|
||||
@@ -2079,6 +2082,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 \
|
||||
@@ -2112,7 +2116,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-3.11-fix-tests.patch \
|
||||
%D%/packages/patches/python-3.12-fix-tests.patch \
|
||||
%D%/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch \
|
||||
%D%/packages/patches/python-beangulp-click-8.2-compat.patch \
|
||||
%D%/packages/patches/python-bed-reader-use-store-samples.patch \
|
||||
%D%/packages/patches/python-chai-drop-python2.patch \
|
||||
%D%/packages/patches/python-clarabel-blas.patch \
|
||||
@@ -2135,20 +2138,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 \
|
||||
@@ -2258,7 +2257,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 \
|
||||
@@ -2274,7 +2272,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 \
|
||||
@@ -2369,8 +2366,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 \
|
||||
@@ -2411,8 +2416,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 \
|
||||
@@ -2427,6 +2437,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 \
|
||||
@@ -2452,10 +2463,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 \
|
||||
@@ -2490,7 +2501,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 \
|
||||
@@ -2523,6 +2533,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 \
|
||||
@@ -2538,7 +2549,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,10 +2623,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/wcstools-extend-makefiles.patch \
|
||||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-abseil-cpp.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
|
||||
%D%/packages/patches/websocketpp-boost-compat.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-gcc-14.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 \
|
||||
|
||||
+90
-203
@@ -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
|
||||
@@ -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,43 @@ 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)
|
||||
(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 +421,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 +435,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 +464,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 +471,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 +525,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 +567,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,11 +585,19 @@ 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
|
||||
|
||||
# Modify the install script to point the systemd unit of the /gnu/store
|
||||
# mountpoint to the same /mnt/tmp/gnu/store which was introduced above.
|
||||
store_fix=\"sed -i 's#Where=/gnu/store#Where=/mnt/tmp/gnu/store#'
|
||||
~~root/.config/guix/current/lib/systemd/system/gnu-store.mount\"
|
||||
sed -i \"s@install_unit gnu-store.mount\"\\
|
||||
\"@$(printf \"%q \" $store_fix)\\ninstall_unit gnu-store.mount@\" /tmp/guix-install.sh
|
||||
|
||||
chmod +x /tmp/guix-install.sh
|
||||
set +o pipefail # avoid hangup on 'yes' killing this script
|
||||
yes '' | /tmp/guix-install.sh
|
||||
@@ -754,8 +671,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 +686,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 +717,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
|
||||
|
||||
+59
-78
@@ -109,6 +109,7 @@
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system ruby)
|
||||
@@ -743,7 +744,7 @@ manager.")
|
||||
(define-public swineherd
|
||||
(package
|
||||
(name "swineherd")
|
||||
(version "0.0.5")
|
||||
(version "0.0.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -752,7 +753,7 @@ manager.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1w3fvkdmqvbzqfx3xindm8qgam54wja46isgwasaiqmmhnla7p52"))))
|
||||
"0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--localstatedir=/var")
|
||||
@@ -766,7 +767,7 @@ manager.")
|
||||
guile-netlink
|
||||
guile-3.0
|
||||
guix
|
||||
shepherd-1.0))
|
||||
shepherd-0.10))
|
||||
(home-page "https://github.com/BIMSBbioinfo/swineherd")
|
||||
(synopsis "System container manager")
|
||||
(description
|
||||
@@ -1084,7 +1085,7 @@ console.")
|
||||
(define-public btop
|
||||
(package
|
||||
(name "btop")
|
||||
(version "1.4.7")
|
||||
(version "1.4.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1093,7 +1094,7 @@ console.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d3cr5l6gpcwhxgnrizny5b5kg6fys2hy9a58bc68w4n2hc040fy"))))
|
||||
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list lowdown))
|
||||
(arguments
|
||||
@@ -1971,7 +1972,7 @@ maintenance releases.")
|
||||
(define-public dhcpcd
|
||||
(package
|
||||
(name "dhcpcd")
|
||||
(version "10.3.2")
|
||||
(version "10.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1980,7 +1981,7 @@ maintenance releases.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z5rpi0n2vwhkh3c4d0dxwp38fl18br58jpy7kzh97gzg3gpk5dl"))))
|
||||
(base32 "058k8wbzbjb6mm6qklv40z1y4k6sdb4ysap1xk6pny1m1f9xkdax"))))
|
||||
(inputs (list bash-minimal coreutils-minimal eudev sed))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -3405,7 +3406,7 @@ provides the following commands:
|
||||
;; variable in the tests/import/cpan.scm test.
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_PYTHONPATH")
|
||||
(files (list "lib/python3.12/site-packages")))))
|
||||
(files (list "lib/python3.11/site-packages")))))
|
||||
(home-page "https://www.ansible.com/")
|
||||
(synopsis "Radically simple IT automation")
|
||||
(description "Ansible aims to be a radically simple IT automation system.
|
||||
@@ -3423,7 +3424,7 @@ modules and plugins that extend Ansible.")
|
||||
(define-public debops
|
||||
(package
|
||||
(name "debops")
|
||||
(version "3.3.0")
|
||||
(version "3.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3432,7 +3433,7 @@ modules and plugins that extend Ansible.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0z6wck5kax5h2bjv1vw8pbd7fdcdhx87bj9fakh3h0rar9d2qksj"))
|
||||
(base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
|
||||
(patches
|
||||
(search-patches "debops-setup-py-avoid-git.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
@@ -3454,8 +3455,8 @@ modules and plugins that extend Ansible.")
|
||||
python-future
|
||||
python-gitpython
|
||||
python-jinja2
|
||||
python-pyxdg
|
||||
python-pyyaml
|
||||
python-pyxdg
|
||||
python-toml))
|
||||
(arguments
|
||||
(list
|
||||
@@ -3470,7 +3471,7 @@ modules and plugins that extend Ansible.")
|
||||
`("PATH" ":" prefix
|
||||
,(map dirname
|
||||
(map (cut search-input-file inputs <>)
|
||||
(list ;; "bin/ansible" ;see above
|
||||
(list "bin/ansible"
|
||||
"bin/gpg"
|
||||
"bin/git"
|
||||
"bin/git-crypt"
|
||||
@@ -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
|
||||
@@ -4730,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)
|
||||
@@ -4739,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")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+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)
|
||||
@@ -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))
|
||||
@@ -12111,7 +12132,7 @@ It can be used to calculate the trajectory of satellites.")
|
||||
gtksourceview-4
|
||||
healpix-cxx
|
||||
json-glib
|
||||
lcms-next
|
||||
lcms
|
||||
|
||||
;; XXX: It downloads script and data during start up, check if they
|
||||
;; may be presented as packages with wrapped environment variables
|
||||
|
||||
+130
-207
@@ -11,7 +11,7 @@
|
||||
;;; Copyright © 2016–2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 okapi <okapi@firemail.cc>
|
||||
;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2018, 2020, 2022-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
|
||||
@@ -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.
|
||||
;;;
|
||||
@@ -137,6 +136,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 +145,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 +180,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)
|
||||
@@ -403,7 +403,7 @@ displays a histogram of the roundtrip time jitter.")
|
||||
(define-public webrtc-audio-processing
|
||||
(package
|
||||
(name "webrtc-audio-processing")
|
||||
(version "1.3")
|
||||
(version "2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -411,30 +411,14 @@ displays a histogram of the roundtrip time jitter.")
|
||||
(string-append "http://freedesktop.org/software/pulseaudio/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0xfvq5lxg612vfzk3zk6896zcb4cgrrb7fq76w9h40magz0jymcm"))))
|
||||
(base32 "0lrjzhshwj1rkh4fxh7sq2dkkfimlyjs2ha7s3ribsh2dnc6ps1m"))
|
||||
(patches (search-patches "webrtc-audio-processing-abseil-cpp.patch"
|
||||
"webrtc-audio-processing-gcc-14.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags (if (target-x86-32?)
|
||||
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE")
|
||||
#~'())
|
||||
#:phases
|
||||
(if (or (target-x86-32?) (target-powerpc?))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda _
|
||||
(define (patch file)
|
||||
(invoke "patch" "-p1" "--force" "-i" file))
|
||||
|
||||
;; https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
|
||||
;; TODO: Move to the 'patches' field of the origin on
|
||||
;; the next rebuild.
|
||||
(patch #$(local-file
|
||||
(search-patch
|
||||
"webrtc-audio-processing-byte-order-pointer-size.patch")))
|
||||
(patch #$(local-file
|
||||
(search-patch
|
||||
"webrtc-audio-processing-x86-no-sse.patch"))))))
|
||||
#~%standard-phases)))
|
||||
#~'())))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list abseil-cpp))
|
||||
(synopsis "WebRTC's Audio Processing Library")
|
||||
@@ -820,8 +804,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 +2118,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 +3262,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 +3311,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 +3454,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 +3463,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 +3875,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 +3979,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 +4114,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))
|
||||
@@ -7213,6 +7116,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")
|
||||
@@ -7991,59 +7920,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 +8071,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 +8083,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 +8159,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 +8177,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 +8188,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 +8215,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
+384
-424
File diff suppressed because it is too large
Load Diff
+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,7 +48,6 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
@@ -66,6 +65,7 @@
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mtools)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
@@ -267,8 +267,8 @@
|
||||
;; rebooting.
|
||||
(if (member (or (%current-target-system)
|
||||
(%current-system))
|
||||
(package-supported-systems fuse))
|
||||
(list fuse)
|
||||
(package-supported-systems fuse-2))
|
||||
(list fuse-2)
|
||||
'())))
|
||||
(native-inputs
|
||||
(append (list pkg-config
|
||||
@@ -1815,68 +1815,63 @@ For more information, refer to
|
||||
(define-public os-prober
|
||||
(package
|
||||
(name "os-prober")
|
||||
(version "1.84")
|
||||
(version "1.81")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://salsa.debian.org/installer-team/os-prober.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1bji3w6nbqaz8zqrbmy8b1j5dph9xn7bdh1cd2z8ia1q125i6mgp"))))
|
||||
(base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:modules '((guix build gnu-build-system)
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 regex) ; string-match
|
||||
(srfi srfi-26)) ; cut
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* (find-files ".")
|
||||
(("/usr") #$output))
|
||||
(substitute* (find-files "." "50mounted-tests$")
|
||||
(("mkdir") "mkdir -p -v"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(define (find-files-non-recursive directory)
|
||||
(find-files directory
|
||||
(lambda (file stat)
|
||||
(string-match (string-append "^" directory "/[^/]*$")
|
||||
file))
|
||||
#:directories? #t))
|
||||
(ice-9 regex) ; for string-match
|
||||
(srfi srfi-26)) ; for cut
|
||||
#:make-flags
|
||||
(list ,(string-append "CC=" (cc-for-target)))
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* (find-files ".")
|
||||
(("/usr") (assoc-ref outputs "out")))
|
||||
(substitute* (find-files "." "50mounted-tests$")
|
||||
(("mkdir") "mkdir -p"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define (find-files-non-recursive directory)
|
||||
(find-files directory
|
||||
(lambda (file stat)
|
||||
(string-match (string-append "^" directory "/[^/]*$")
|
||||
file))
|
||||
#:directories? #t))
|
||||
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(lib (string-append #$output "/lib"))
|
||||
(share (string-append #$output "/share")))
|
||||
(for-each (cut install-file <> bin)
|
||||
(list "linux-boot-prober" "os-prober"))
|
||||
(install-file "newns" (string-append lib "/os-prober"))
|
||||
(install-file "common.sh" (string-append share "/os-prober"))
|
||||
(install-file "os-probes/mounted/powerpc/20macosx"
|
||||
(string-append lib "/os-probes/mounted"))
|
||||
(for-each
|
||||
(lambda (directory)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((destination (string-append lib "/" directory
|
||||
"/" (basename file))))
|
||||
(mkdir-p (dirname destination))
|
||||
(copy-recursively file destination)))
|
||||
(append (find-files-non-recursive (string-append directory "/common"))
|
||||
(find-files-non-recursive (string-append directory "/x86")))))
|
||||
(list "linux-boot-probes"
|
||||
"linux-boot-probes/mounted"
|
||||
"os-probes"
|
||||
"os-probes/init"
|
||||
"os-probes/mounted"))))))))
|
||||
(home-page "https://joeyh.name/code/os-prober/")
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib (string-append out "/lib"))
|
||||
(share (string-append out "/share")))
|
||||
(for-each (cut install-file <> bin)
|
||||
(list "linux-boot-prober" "os-prober"))
|
||||
(install-file "newns" (string-append lib "/os-prober"))
|
||||
(install-file "common.sh" (string-append share "/os-prober"))
|
||||
(install-file "os-probes/mounted/powerpc/20macosx"
|
||||
(string-append lib "/os-probes/mounted"))
|
||||
(for-each
|
||||
(lambda (directory)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((destination (string-append lib "/" directory
|
||||
"/" (basename file))))
|
||||
(mkdir-p (dirname destination))
|
||||
(copy-recursively file destination)))
|
||||
(append (find-files-non-recursive (string-append directory "/common"))
|
||||
(find-files-non-recursive (string-append directory "/x86")))))
|
||||
(list "os-probes" "os-probes/mounted" "os-probes/init"
|
||||
"linux-boot-probes" "linux-boot-probes/mounted"))))))))
|
||||
(home-page "https://joeyh.name/code/os-prober")
|
||||
(synopsis "Detect other operating systems")
|
||||
(description "os-prober probes disks on the system for other operating
|
||||
systems so that they can be added to the bootloader. It also works out how to
|
||||
|
||||
@@ -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
|
||||
|
||||
+12
-152
@@ -64,6 +64,7 @@
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -76,7 +77,6 @@
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages re2c)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages rpc)
|
||||
#:use-module (gnu packages serialization)
|
||||
@@ -94,6 +94,7 @@
|
||||
#:use-module (guix build-system hare)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
@@ -104,8 +105,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (ice-9 optargs))
|
||||
|
||||
(define-public acr
|
||||
(package
|
||||
@@ -275,14 +275,14 @@ generate such a compilation database.")
|
||||
(define-public bmake
|
||||
(package
|
||||
(name "bmake")
|
||||
(version "20260508")
|
||||
(version "20260406")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv"))
|
||||
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
|
||||
(patches (search-patches "bmake-run-check-separately.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@@ -427,13 +427,17 @@ files and generates build instructions for the Ninja build system.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
|
||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))
|
||||
(patches
|
||||
(search-patches "meson-gir-fallback-path.patch"
|
||||
"meson-keep-rpath-vicinity.patch"))))
|
||||
(build-system gnu-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 +1455,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.")))
|
||||
|
||||
+27
-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,6 @@
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
@@ -82,7 +81,6 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml))
|
||||
@@ -1095,8 +1093,32 @@ portability.")
|
||||
(license (list license:bsd-2 ;all files except...
|
||||
license:bsd-3)))) ;...the unidef.1 manual page
|
||||
|
||||
(define-deprecated/public-alias byacc
|
||||
(@ (gnu packages compiler-tools) byacc))
|
||||
(define-public byacc
|
||||
(package
|
||||
(name "byacc")
|
||||
(version "20240109")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://invisible-mirror.net/archives/byacc/byacc-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
|
||||
(snippet
|
||||
#~(begin (delete-file "btyaccpar.c")
|
||||
(delete-file "yaccpar.c")))))
|
||||
(native-inputs
|
||||
(list gawk))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://invisible-island.net/byacc/byacc.html")
|
||||
(synopsis "Berkeley Yacc LALR parser generator")
|
||||
(description
|
||||
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
|
||||
specification from a file and generates an LALR(1) parser for it. The parsers
|
||||
consist of a set of LALR(1) parsing tables and a driver routine written in the
|
||||
C programming language.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public argparse
|
||||
(package
|
||||
@@ -1478,48 +1500,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)
|
||||
|
||||
+28
-16
@@ -43,6 +43,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
@@ -337,7 +338,7 @@ reconstruction capability.")
|
||||
(define-public cdrdao
|
||||
(package
|
||||
(name "cdrdao")
|
||||
(version "1.2.6")
|
||||
(version "1.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -347,18 +348,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,
|
||||
@@ -988,18 +1001,17 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
|
||||
(define-public libudfread
|
||||
(package
|
||||
(name "libudfread")
|
||||
(version "1.1.2")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://download.videolan.org/pub/videolan/libudfread/"
|
||||
name "-" version ".tar.bz2"))
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05c943ymw94nzjxf7v102916frqk7icgw4gb244wx23jn8cnz56m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list automake autoconf libtool pkg-config))
|
||||
"03q5b1wm90vygx4rf4mzzrf0yhvhbvp72nyhv63pgz7v9jypqixv"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://code.videolan.org/videolan/libudfread")
|
||||
(synopsis "C library to read UDF file systems")
|
||||
(description "@code{libudfread} is a C library for reading
|
||||
|
||||
+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)
|
||||
|
||||
+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
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages backup)
|
||||
|
||||
+3
-42
@@ -1,8 +1,8 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2013, 2015, 2018, 2020, 2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
@@ -49,6 +49,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module ((guix build-system python) #:select (pypi-uri))
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix build-system go)
|
||||
@@ -865,46 +866,6 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
|
||||
the C, C++, C++/CLI, 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")
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2024-2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages compiler-tools)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public byacc
|
||||
(package
|
||||
(name "byacc")
|
||||
(version "20240109")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://invisible-mirror.net/archives/byacc/byacc-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Remove machine-generated files
|
||||
(for-each delete-file
|
||||
(list "configure"
|
||||
"btyaccpar.c"
|
||||
"yaccpar.c"))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
gawk))
|
||||
(home-page "https://invisible-island.net/byacc/byacc.html")
|
||||
(synopsis "Berkeley Yacc LALR parser generator")
|
||||
(description
|
||||
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
|
||||
specification from a file and generates an LALR(1) parser for it. The parsers
|
||||
consist of a set of LALR(1) parsing tables and a driver routine written in the
|
||||
C programming language.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public oyacc
|
||||
(package
|
||||
(name "oyacc")
|
||||
(version "6.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ibara/yacc")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a2nyg2nnh1las40klnp037sapaaph86kjx258cpqcwnk4cv3rnx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
#~(list (string-append "BINDIR=" #$output "/bin")
|
||||
(string-append "MANDIR=" #$output "/share/man/man1"))))
|
||||
(home-page "https://github.com/ibara/yacc")
|
||||
(synopsis "Portable YACC from OpenBSD")
|
||||
(description
|
||||
"@command{oyacc} is a portable version of the OpenBSD's
|
||||
@acronym{yacc, Yet Another Compiler Compiler} program, with no dependencies
|
||||
besides libc.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public oyacc-as-yacc-wrapper
|
||||
(package/inherit oyacc
|
||||
(name "oyacc-as-yacc-wrapper")
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:builder
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((bindir (string-append #$output "/bin"))
|
||||
(oyacc (string-append #$(this-package-input "oyacc")
|
||||
"/bin/oyacc")))
|
||||
(mkdir-p bindir)
|
||||
(symlink oyacc (string-append bindir "/yacc")))))))
|
||||
(inputs (list oyacc))
|
||||
(description
|
||||
"This package provides the @command{yacc} command, implemented as a
|
||||
symbolic link to the @command{oyacc} command from the same-named package.")))
|
||||
@@ -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)))
|
||||
|
||||
+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
|
||||
|
||||
@@ -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
-81
@@ -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)
|
||||
@@ -936,85 +937,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")
|
||||
@@ -2016,7 +1938,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
|
||||
|
||||
+537
-953
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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
+99
-200
@@ -205,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)
|
||||
@@ -1060,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")
|
||||
@@ -1190,70 +1166,73 @@ auto-completion and syntax highlighting.")
|
||||
(name "mysql")
|
||||
(version "5.7.33")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
"https://dev.mysql.com/get/Downloads/MySQL-"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.gz")
|
||||
(string-append
|
||||
(string-append
|
||||
"https://downloads.mysql.com/archives/get/file/"
|
||||
name "-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
|
||||
(sha256
|
||||
(base32
|
||||
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_CONFIG=mysql_release"
|
||||
"-DWITH_SSL=system"
|
||||
"-DWITH_ZLIB=system"
|
||||
"-DDEFAULT_CHARSET=utf8"
|
||||
"-DDEFAULT_COLLATION=utf8_general_ci"
|
||||
"-DMYSQL_DATADIR=/var/lib/mysql"
|
||||
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
|
||||
"-DINSTALL_INFODIR=share/mysql/docs"
|
||||
"-DINSTALL_MANDIR=share/man"
|
||||
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
|
||||
"-DINSTALL_SCRIPTDIR=bin"
|
||||
"-DINSTALL_INCLUDEDIR=include/mysql"
|
||||
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
|
||||
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
|
||||
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
|
||||
"-DINSTALL_DOCDIR=share/mysql/docs"
|
||||
"-DINSTALL_SHAREDIR=share/mysql"
|
||||
;; Get rid of test data.
|
||||
"-DINSTALL_MYSQLTESTDIR="
|
||||
"-DINSTALL_SQLBENCHDIR=")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'remove-extra-binaries
|
||||
(lambda _
|
||||
;; Remove the 3 *_embedded files, which weigh in at
|
||||
;; 14 MiB each.
|
||||
(for-each delete-file
|
||||
(find-files (string-append #$output "/bin")
|
||||
"_embedded$"))))
|
||||
(add-after 'install 'wrap-mysql_helpers
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(gawk (search-input-file inputs "bin/gawk"))
|
||||
(coreutils (search-input-file inputs "bin/ls"))
|
||||
(grep (search-input-file inputs "bin/grep"))
|
||||
(ps (search-input-file inputs "bin/ps"))
|
||||
(sed (search-input-file inputs "bin/sed")))
|
||||
(wrap-program (search-input-file outputs "bin/mysql_config")
|
||||
`("PATH" suffix
|
||||
,(list (dirname gawk)
|
||||
(dirname coreutils)
|
||||
(dirname sed))))
|
||||
(wrap-program (search-input-file outputs "bin/mysqld_safe")
|
||||
`("PATH" suffix
|
||||
,(list (dirname gawk)
|
||||
(dirname coreutils)
|
||||
(dirname grep)
|
||||
(dirname ps)
|
||||
(dirname sed))))))))))
|
||||
`(#:configure-flags
|
||||
'("-DBUILD_CONFIG=mysql_release"
|
||||
"-DWITH_SSL=system"
|
||||
"-DWITH_ZLIB=system"
|
||||
"-DDEFAULT_CHARSET=utf8"
|
||||
"-DDEFAULT_COLLATION=utf8_general_ci"
|
||||
"-DMYSQL_DATADIR=/var/lib/mysql"
|
||||
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
|
||||
"-DINSTALL_INFODIR=share/mysql/docs"
|
||||
"-DINSTALL_MANDIR=share/man"
|
||||
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
|
||||
"-DINSTALL_SCRIPTDIR=bin"
|
||||
"-DINSTALL_INCLUDEDIR=include/mysql"
|
||||
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
|
||||
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
|
||||
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
|
||||
"-DINSTALL_DOCDIR=share/mysql/docs"
|
||||
"-DINSTALL_SHAREDIR=share/mysql"
|
||||
;; Get rid of test data.
|
||||
"-DINSTALL_MYSQLTESTDIR="
|
||||
"-DINSTALL_SQLBENCHDIR=")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after
|
||||
'install 'remove-extra-binaries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Remove the 3 *_embedded files, which weigh in at
|
||||
;; 14 MiB each.
|
||||
(for-each delete-file
|
||||
(find-files (string-append out "/bin")
|
||||
"_embedded$"))
|
||||
#t)))
|
||||
(add-after
|
||||
'install 'wrap-mysql_helpers
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(awk (assoc-ref inputs "gawk"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(grep (assoc-ref inputs "grep"))
|
||||
(ps (assoc-ref inputs "procps"))
|
||||
(sed (assoc-ref inputs "sed")))
|
||||
(wrap-program (string-append bin "/mysql_config")
|
||||
`("PATH" ":" suffix
|
||||
(,(string-append awk "/bin")
|
||||
,(string-append coreutils "/bin")
|
||||
,(string-append sed "/bin"))))
|
||||
(wrap-program (string-append bin "/mysqld_safe")
|
||||
`("PATH" ":" suffix
|
||||
(,(string-append awk "/bin")
|
||||
,(string-append coreutils "/bin")
|
||||
,(string-append grep "/bin")
|
||||
,(string-append ps "/bin")
|
||||
,(string-append sed "/bin"))))))))))
|
||||
(native-inputs
|
||||
(list bison perl pkg-config))
|
||||
(inputs
|
||||
@@ -1267,7 +1246,7 @@ auto-completion and syntax highlighting.")
|
||||
ncurses
|
||||
openssl-1.1
|
||||
procps
|
||||
rpcsvc-proto ; rpcgen
|
||||
rpcsvc-proto ; rpcgen
|
||||
sed
|
||||
zlib))
|
||||
(home-page "https://www.mysql.com/")
|
||||
@@ -1278,98 +1257,6 @@ management system that supports the standardized Structured Query
|
||||
Language.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public mysql-connector-python
|
||||
(package
|
||||
(name "mysql-connector-python")
|
||||
(version "8.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mysql/mysql-connector-python")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18jvpnnwmfrn961rvqmsygp7dw3spf3swhxhal4hhj5hqddckj5f"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 1371 passed
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'compatibility
|
||||
(lambda _
|
||||
(substitute* "src/mysql_capi.c"
|
||||
(("res = mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
|
||||
"res = 0;")
|
||||
(("mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
|
||||
"")
|
||||
(("mysql_options\\(&self->session, MYSQL_OPT_TLS_CIPHERSUITES.*")
|
||||
"")
|
||||
;; The C API does not have mysql_bind_param, so we produce an
|
||||
;; error here.
|
||||
(("status = mysql_bind_param.*") "status = 1;")
|
||||
(("#include \"mysql_capi_conversion\\.h\"" all)
|
||||
(string-append all "\n" "#include <stdbool.h>")))))
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "mysql-connector-python")))
|
||||
(add-before 'build 'prepare-build
|
||||
(lambda _
|
||||
(setenv "MYSQL_CAPI" #$(this-package-input "mysql"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; Some of these tests might be failing due to the build
|
||||
;; container's restrictions, others are due to the version
|
||||
;; mismatch.
|
||||
(substitute* "tests/cext/test_cext_api.py"
|
||||
(("def test_change_user") "def _do_not_test_change_user")
|
||||
(("def test_get_character_set_info")
|
||||
"def _do_not_test_get_character_set_info"))
|
||||
(substitute* "tests/test_bugs.py"
|
||||
(("def test_change_user") "def _do_not_test_change_user")
|
||||
(("def test_lost_connection") "def _do_not_test_lost_connection")
|
||||
(("def test_kill_query") "def _do_not_test_kill_query")
|
||||
;; These all fail because of expired certificates.
|
||||
(("def test_cext_verify_server_certificate")
|
||||
"def _do_not_test_cext_verify_server_certificate")
|
||||
(("def test_pure_verify_server_certificate")
|
||||
"def _do_not_test_pure_verify_server_certificate")
|
||||
(("def test_verify_server_name_cext_cnx")
|
||||
"def _do_not_test_verify_server_name_cext_cnx")
|
||||
(("def test_verify_server_name_pure_cnx")
|
||||
"def _do_not_test_verify_server_name_pure_cnx"))
|
||||
(substitute* '("tests/test_connection.py"
|
||||
"tests/test_aio_connection.py")
|
||||
(("def test_allow_local_infile_in_path")
|
||||
"def _do_not_test_allow_local_infile_in_path")
|
||||
;; This fails because of expired certificates.
|
||||
(("def test_connect_with_unix_socket")
|
||||
"def _do_not_test_connect_with_unix_socket"))
|
||||
(substitute* "tests/test_constants.py"
|
||||
(("def test_deprecated")
|
||||
"def _do_not_test_deprecated"))
|
||||
(mkdir-p "/tmp/datadir")
|
||||
(invoke "python3" "unittests.py"
|
||||
"--verbosity=3"
|
||||
(string-append "--with-mysql=" #$(this-package-input "mysql"))
|
||||
"--keep"
|
||||
"--mysql-topdir=/tmp/datadir"
|
||||
"--unix-socket=/tmp/datadir")))))))
|
||||
(propagated-inputs (list python-protobuf))
|
||||
(inputs (list mysql protobuf-3.20 openssl-1.1 zlib))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://dev.mysql.com/doc/connector-python/en/index.html")
|
||||
(synopsis "MySQL driver written in Python")
|
||||
(description "MySQL Connector/Python enables Python programs to access
|
||||
MySQL databases, using an API that is compliant with the Python Database API
|
||||
Specification v2.0 (PEP 249).")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-deprecated-package python-mysql-connector-python
|
||||
mysql-connector-python)
|
||||
|
||||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
@@ -4829,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
|
||||
@@ -5645,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)
|
||||
@@ -5655,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
|
||||
@@ -5824,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"))
|
||||
@@ -6421,7 +6316,7 @@ mechanism of @code{dogpile}.")
|
||||
(define-public datasette
|
||||
(package
|
||||
(name "datasette")
|
||||
(version "1.0a26")
|
||||
(version "1.0a19")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6430,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
|
||||
@@ -6458,6 +6356,7 @@ mechanism of @code{dogpile}.")
|
||||
python-janus
|
||||
python-jinja2
|
||||
python-mergedeep
|
||||
python-pint
|
||||
python-pluggy
|
||||
python-pyyaml
|
||||
python-sqlite-utils
|
||||
@@ -6466,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 flex)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public souffle
|
||||
(package
|
||||
(name "souffle")
|
||||
(version "2.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/souffle-lang/souffle")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lrw69g02b17vxxz4g7cj8hbmc39wlzl80vl5fwy40a6b9pxwrsj"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Delete bundled dependencies. souffle also uses a forked
|
||||
;; and modified version of json11. We cannot unbundle
|
||||
;; that.
|
||||
(for-each delete-file
|
||||
(list "licenses/TCBRINDLE SPAN.txt"
|
||||
"licenses/TINYFORMAT.txt"
|
||||
"src/include/souffle/utility/span.h"
|
||||
"src/include/souffle/utility/tinyformat.h"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "-DSOUFFLE_GIT=OFF"
|
||||
(string-append "-DPACKAGE_VERSION="
|
||||
#$version))
|
||||
;; We disable these tests since they fail with gcc 14. This issue
|
||||
;; has been reported upstream:
|
||||
;; https://github.com/souffle-lang/souffle/issues/2576
|
||||
#:test-exclude (string-join
|
||||
(list "syntactic/cpp_keywords_run_souffle"
|
||||
"syntactic/cpp_keywords_c_run_souffle"
|
||||
"syntactic/cpp_keywords_compare_std_outputs"
|
||||
"syntactic/cpp_keywords_compare_csv"
|
||||
"syntactic/cpp_keywords_c_compare_std_outputs"
|
||||
"syntactic/cpp_keywords_c_compare_csv")
|
||||
"|")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'replace-bundled-libraries
|
||||
(lambda _
|
||||
;; Patch souffle to use tinyformat from Guix.
|
||||
(substitute* (find-files "src" "\\.(cpp|h)$")
|
||||
(("#include \"souffle/utility/tinyformat.h\"")
|
||||
"#include <tinyformat.h>"))
|
||||
;; Replace span.h with a header that uses span from Guix
|
||||
;; and provides the same namespace.
|
||||
(call-with-output-file "src/include/souffle/utility/span.h"
|
||||
(lambda (port)
|
||||
(display "#pragma once
|
||||
#include <span.hpp>
|
||||
namespace souffle {
|
||||
using tcb::span;
|
||||
}
|
||||
"
|
||||
port))))))))
|
||||
(inputs
|
||||
(list libffi
|
||||
ncurses
|
||||
python
|
||||
span
|
||||
sqlite
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list bison
|
||||
flex
|
||||
tinyformat))
|
||||
(home-page "https://souffle-lang.github.io/")
|
||||
(synopsis "Datalog variant")
|
||||
(description "Soufflé is a variant of Datalog for tool designers crafting
|
||||
analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program
|
||||
from a logic specification. The Soufflé language is similar to Datalog (but
|
||||
has terms known as records), and is frequently used as a domain-specific
|
||||
language for analysis problems.")
|
||||
(license (list license:upl ; main license
|
||||
;; src/include/souffle/profile/htmlJsChartistPlugin.h
|
||||
;; src/include/souffle/utility/json11.h
|
||||
license:expat))))
|
||||
@@ -27,6 +27,7 @@
|
||||
(define-module (gnu packages dav)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
@@ -142,6 +143,9 @@ CardDAV server with a local folder or file.")
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-flake8
|
||||
python-pytest-isort
|
||||
python-setuptools
|
||||
python-waitress
|
||||
python-wheel))
|
||||
@@ -240,6 +244,7 @@ efficient syncing
|
||||
(list python-aioresponses
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-cov
|
||||
python-pytest-httpserver
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
|
||||
+50
-66
@@ -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
|
||||
|
||||
+12
-10
@@ -31,13 +31,13 @@
|
||||
(define-public dhall
|
||||
(package
|
||||
(name "dhall")
|
||||
(version "1.42.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "dhall" version))
|
||||
(sha256
|
||||
(base32 "0fvvqvh6diqi55dmncfs06rvcw8k0a1hs2gq228yxvsfbzcpv44s"))))
|
||||
(version "1.41.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "dhall" version))
|
||||
(sha256
|
||||
(base32
|
||||
"14m5rrvkid76qnvg0l14xw1mnqclhip3gjrz20g1lp4fd5p056ka"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "dhall")))
|
||||
(inputs (list ghc-aeson
|
||||
@@ -73,8 +73,8 @@
|
||||
ghc-text-manipulate
|
||||
ghc-text-short
|
||||
ghc-th-lift-instances
|
||||
ghc-unix-compat
|
||||
ghc-unordered-containers
|
||||
ghc-uri-encode
|
||||
ghc-vector
|
||||
ghc-cryptohash-sha256
|
||||
ghc-http-types
|
||||
@@ -86,6 +86,7 @@
|
||||
ghc-quickcheck-instances
|
||||
ghc-special-values
|
||||
ghc-spoon
|
||||
ghc-system-filepath
|
||||
ghc-tasty
|
||||
ghc-tasty-expected-failure
|
||||
ghc-tasty-hunit
|
||||
@@ -96,8 +97,9 @@
|
||||
ghc-mockery
|
||||
ghc-doctest))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"1h9kxpn3kzwmxj07mqc0cxjj2ak3dyxnifb78z5vn34xn747j5bk")))
|
||||
`(#:tests? #f ; Tries to access httpbin.org
|
||||
#:cabal-revision ("4"
|
||||
"0innb3cn98ynb8bd83jdyrm64ij7wcvajg5qcwzdwbyzpr62anfx")))
|
||||
(home-page "http://hackage.haskell.org/package/dhall")
|
||||
(synopsis "Configuration language guaranteed to terminate")
|
||||
(description
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
@@ -48,7 +49,6 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
@@ -122,83 +122,58 @@ Carnegie Mellon University.")
|
||||
"https://github.com/cmusphinx/cmudict/blob/master/LICENSE"))))
|
||||
|
||||
(define-public dico
|
||||
(let ((commit "05da4bc9e613834fdb065e38c7181044d8889575")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "dico")
|
||||
(version (git-version "2.12" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.gnu.org.ua/dico.git")
|
||||
(commit commit)
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fmr01gpvvb1p6p9ylr67nqx8ymmmkqjhsi9y5zvp2nc32cgxvah"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--disable-static")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'bootstrap
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "grecs/bootstrap"
|
||||
(("/bin/sh")
|
||||
(which "bash"))
|
||||
((" GRECS_GIT_ID=.*")
|
||||
" GRECS_GIT_ID=v1.0-25-g51b12be\n"))
|
||||
(invoke "perl" "./bootstrap" "--force" "--skip-po")))
|
||||
(add-before 'build 'post-configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; For some reason, this file is missing.
|
||||
(install-file "gnulib/lib/getopt.c"
|
||||
"xdico/gnu")
|
||||
;; This code invokes "/bin/sh -c 'm4 -s ...'".
|
||||
(substitute* "grecs/src/grecs-lex.l"
|
||||
(("\"/bin/sh")
|
||||
(string-append "\""
|
||||
(search-input-file inputs "/bin/sh"))))))
|
||||
|
||||
(add-before 'check 'silence-guile
|
||||
(lambda _
|
||||
;; Guile is too talkative, which disturbs the test
|
||||
;; infrastructure. Gag it.
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
|
||||
(native-inputs
|
||||
(list autoconf-2.71
|
||||
automake
|
||||
bison
|
||||
flex
|
||||
gettext-minimal
|
||||
groff
|
||||
libtool
|
||||
perl
|
||||
texinfo))
|
||||
(inputs
|
||||
(list m4 ;used at run time
|
||||
bash-minimal ;likewise
|
||||
pcre
|
||||
python-wrapper
|
||||
guile-3.0
|
||||
gsasl
|
||||
readline
|
||||
zlib
|
||||
wordnet
|
||||
libxcrypt ;for 'crypt'
|
||||
libltdl))
|
||||
(home-page "https://www.gnu.org.ua/software/dico/")
|
||||
(synopsis "Implementation of DICT server (RFC 2229)")
|
||||
(description
|
||||
"GNU Dico implements a flexible dictionary server and client according
|
||||
to RFC 2229 (DICT Server). It is able to access any database available,
|
||||
(package
|
||||
(name "dico")
|
||||
(version "2.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/dico/dico-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--disable-static")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-shell-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; This code invokes "/bin/sh -c 'm4 -s ...'".
|
||||
(substitute* "grecs/src/grecs-lex.c"
|
||||
(("\"/bin/sh\"")
|
||||
(string-append "\""
|
||||
(search-input-file inputs "/bin/sh")
|
||||
"\"")))))
|
||||
(add-before 'check 'silence-guile
|
||||
(lambda _
|
||||
;; Guile is too talkative, which disturbs the test
|
||||
;; infrastructure. Gag it.
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
|
||||
(native-inputs (list groff))
|
||||
(inputs
|
||||
(list m4 ;used at run time
|
||||
bash-minimal ;likewise
|
||||
pcre
|
||||
python-wrapper
|
||||
guile-3.0
|
||||
gsasl
|
||||
readline
|
||||
zlib
|
||||
wordnet
|
||||
libxcrypt ;for 'crypt'
|
||||
libltdl))
|
||||
(home-page "https://www.gnu.org.ua/software/dico/")
|
||||
(synopsis "Implementation of DICT server (RFC 2229)")
|
||||
(description
|
||||
"GNU Dico implements a flexible dictionary server and client according to
|
||||
RFC 2229 (DICT Server). It is able to access any database available,
|
||||
regardless of format, thanks to its modular structure. New modules may be
|
||||
written in C, Guile or Python. Dico also includes a command-line client,
|
||||
which may be used to query remote dictionary databases.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public libmaa
|
||||
(package
|
||||
|
||||
@@ -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)
|
||||
|
||||
+31
-32
@@ -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)
|
||||
@@ -309,6 +311,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 +1238,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 +1257,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>
|
||||
;;;
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)))
|
||||
|
||||
+69
-449
@@ -64,6 +64,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
@@ -104,13 +105,11 @@
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libffi)
|
||||
@@ -195,10 +194,6 @@
|
||||
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
||||
(assoc-ref glib-or-gtk:%standard-phases
|
||||
'generate-gdk-pixbuf-loaders-cache-file))
|
||||
(add-after 'unpack 'fix-python-incompatibilities
|
||||
(lambda _
|
||||
(substitute* (find-files "." "\\.py$")
|
||||
(("assertEquals") "assertEqual"))))
|
||||
(add-before 'build 'set-home-env
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))
|
||||
@@ -245,8 +240,8 @@ are also taken from the original.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public abc
|
||||
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b")
|
||||
(revision "11"))
|
||||
(let ((commit "80c8a9a1928ef8148a6b504e9590ec07c55c8bcf")
|
||||
(revision "10"))
|
||||
(package
|
||||
(name "abc")
|
||||
(version (git-version "0.0" revision commit))
|
||||
@@ -258,7 +253,7 @@ are also taken from the original.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85"))))
|
||||
"1fbnwsd841z86vfv45443qfpx0l199vf08sgms8wyz19jw7m5ds6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list readline))
|
||||
@@ -283,7 +278,7 @@ formal verification.")
|
||||
(package
|
||||
(inherit abc)
|
||||
(name "abc-yosyshq")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -292,53 +287,12 @@ formal verification.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka"))))
|
||||
"1jk74yq7dnrnai8r9hqc10jcjmgj50jxj6hsflmvc61acm1r3f8r"))))
|
||||
(home-page "https://github.com/YosysHQ/abc/")
|
||||
(description "ABC is a program for sequential logic synthesis and
|
||||
formal verification. This is the Yosyshq fork of ABC.")
|
||||
(license (license:non-copyleft "file:///copyright.txt"))))
|
||||
|
||||
(define-public appcsxcad
|
||||
(package
|
||||
(name "appcsxcad")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/AppCSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "145awcsg4vl2xmrh5yf9fcasmghrai3x6ivgdxmrm1w3v9gyaccf"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:tests? #f)) ;No tests.
|
||||
(inputs (list boost
|
||||
cgal
|
||||
csxcad
|
||||
eigen
|
||||
expat
|
||||
freetype
|
||||
gmp
|
||||
hdf5
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
openmpi
|
||||
qcsxcad
|
||||
tinyxml
|
||||
vtk))
|
||||
(home-page "https://github.com/thliebig/AppCSXCAD")
|
||||
(synopsis "Minimal GUI application for the @code{qcsxcad} library")
|
||||
(description
|
||||
"A minimal application for the @code{qcsxcad} library which is used to
|
||||
describe geometrical objects and their physical and non-physical properties.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public apycula
|
||||
(package
|
||||
(name "apycula")
|
||||
@@ -450,7 +404,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
(define-public ciel
|
||||
(package
|
||||
(name "ciel")
|
||||
(version "2.4.1")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -459,7 +413,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08r30ighn86995dcf7278k9nrci8wbp6kglgk011y6g80z9m2zm7"))))
|
||||
(base32 "0cj4cpmpqi7aqj9jkpp87qs9bjcg3j97adv1s91pnfrkplff8rh1"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
@@ -489,62 +443,6 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
|
||||
chip design and @acronym{EDA, Electronic Design Automation}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public csxcad
|
||||
(package
|
||||
(name "csxcad")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thliebig/CSXCAD")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c383zsv4fp40kmpawamfi9zg3b8x3d4m091ldwk15mii3467hp3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "-DFPARSER_ROOT_DIR=" #$(this-package-input "fparser")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake-and-sources
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
((" system\n")
|
||||
"")
|
||||
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
|
||||
"find_package(HDF5 REQUIRED COMPONENTS C HL)"))
|
||||
;; Fix missing `std::`.
|
||||
;; This is fixed in upstream already but not tagged.
|
||||
(substitute* "src/CSPropDiscMaterial.cpp"
|
||||
(("\tcout ")
|
||||
"\tstd::cout ")))))))
|
||||
(inputs (list boost
|
||||
cgal
|
||||
eigen
|
||||
fparser
|
||||
hdf5
|
||||
gmp
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
lz4
|
||||
mpfr
|
||||
openmpi
|
||||
tinyxml
|
||||
vtk
|
||||
zlib))
|
||||
(home-page "https://github.com/thliebig/CSXCAD")
|
||||
(synopsis "3D geometry library for C++")
|
||||
(description
|
||||
"@code{csxcad} is a C++ library to describe geometrical objects
|
||||
and their physical or non-physical properties for electromagnetics simulations.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public comedilib
|
||||
(package
|
||||
(name "comedilib")
|
||||
@@ -569,7 +467,7 @@ individual low-level driver modules.")
|
||||
(define-public eqy
|
||||
(package
|
||||
(name "eqy")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -582,10 +480,8 @@ individual low-level driver modules.")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules %pyproject-build-system-modules
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build pyproject-build-system) #:prefix py:)
|
||||
(guix build utils))
|
||||
#:imported-modules (append %default-gnu-imported-modules
|
||||
%python-build-system-modules)
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
@@ -612,7 +508,7 @@ individual low-level driver modules.")
|
||||
(invoke "make" "-C" "examples/spm")
|
||||
(invoke "make" "-C" "examples/simple"))))
|
||||
(add-after 'install 'python:wrap
|
||||
(assoc-ref py:%standard-phases 'wrap)))))
|
||||
(@@ (guix build python-build-system) wrap)))))
|
||||
(native-inputs
|
||||
(list clang python-minimal-wrapper python-sphinx texinfo yosys))
|
||||
(inputs
|
||||
@@ -1021,7 +917,7 @@ files.")
|
||||
(define-public klayout
|
||||
(package
|
||||
(name "klayout")
|
||||
(version "0.30.8")
|
||||
(version "0.30.7")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1030,7 +926,7 @@ files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
|
||||
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1173,7 +1069,7 @@ characterization result in a liberty library file.")
|
||||
(define-public kicad
|
||||
(package
|
||||
(name "kicad")
|
||||
(version "10.0.3")
|
||||
(version "10.0.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1181,7 +1077,7 @@ characterization result in a liberty library file.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"))
|
||||
"1mnlv8fyz03pfg8pkqwdl5gjz6vsk98c6414lf3wkvrkb85ljaav"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -1306,7 +1202,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b"))))
|
||||
"1c0vn13rp0z12rlqhl321pk2gj9577dyky6xj3i6hb040i3v7zrr"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_FORMATS=html"
|
||||
@@ -1314,7 +1210,7 @@ package.")
|
||||
#:tests? #f)) ;no test suite
|
||||
(native-inputs (list asciidoc
|
||||
gettext-minimal
|
||||
git-minimal/pinned
|
||||
git-minimal
|
||||
perl
|
||||
perl-unicode-linebreak
|
||||
perl-yaml-tiny
|
||||
@@ -1338,7 +1234,7 @@ package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"))))
|
||||
"0iz4lb33wdsw4f82a0ln8ycgaf39gjws03mvl2j1q9npwj6xl1cm"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list python-wrapper))
|
||||
(arguments
|
||||
@@ -1368,7 +1264,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"))))
|
||||
"0jqgyi1yb2zc6w56ba7xama0wnhrqwbbnf2fqvr47xihvdcvs87v"))))
|
||||
(synopsis "Official KiCad footprint libraries")
|
||||
(description "This package contains the official KiCad footprint libraries.")))
|
||||
|
||||
@@ -1385,7 +1281,7 @@ libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"))))
|
||||
"0jr70ry6inzc2fy3s300z0zlmihbq95ba1zckyd1wwbpplaj1gbl"))))
|
||||
(synopsis "Official KiCad 3D model libraries")
|
||||
(description "This package contains the official KiCad 3D model libraries.")))
|
||||
|
||||
@@ -1407,60 +1303,6 @@ libraries.")
|
||||
(description "This package contains the official KiCad project and
|
||||
worksheet templates.")))
|
||||
|
||||
(define-public kicad-cern-libraries
|
||||
;; Upstream does not tag releases.
|
||||
(let ((commit "980670fefdf71965aae6c56194d7f2a68c3e6a68")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "kicad-cern-libraries")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/ohwr/cern-kicad-libs.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0lr1p28gknbgsr86hbzh87plagcyc040v6141xmha280n78h2l62"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("SchLib" "share/kicad/cern/")
|
||||
("PcbLib" "share/kicad/cern/")
|
||||
("CERN.sqlite" "share/kicad/cern/")
|
||||
("CERN_Linux.kicad_dbl" "share/kicad/cern/")
|
||||
("fp-lib-table" "share/kicad/cern/")
|
||||
("sym-lib-table" "share/kicad/cern/")
|
||||
("README.md" "share/doc/kicad-cern-libraries/")
|
||||
("LICENSE" "share/doc/kicad-cern-libraries/")
|
||||
("LICENSES" "share/doc/kicad-cern-libraries/")
|
||||
("CHECKSUMS" "share/doc/kicad-cern-libraries/")
|
||||
("pcblib_conversion_log.txt" "share/doc/kicad-cern-libraries/")
|
||||
("schlib_conversion_log.txt" "share/doc/kicad-cern-libraries/"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adapt-library-tables
|
||||
(lambda _
|
||||
(substitute* "sym-lib-table"
|
||||
(("\\$\\{KICAD9_SYMBOL_DIR\\}")
|
||||
"${KICAD10_SYMBOL_DIR}")))))))
|
||||
(propagated-inputs (list sqliteodbc))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CERN_LIB_DIR")
|
||||
(files '("share/kicad/cern"))
|
||||
(separator #f))))
|
||||
(home-page "https://gitlab.com/ohwr/cern-kicad-libs")
|
||||
(synopsis "CERN component libraries for KiCad")
|
||||
(description
|
||||
"This package provides CERN's KiCad component libraries, including
|
||||
schematic symbols, footprints, a SQLite-backed database library, and KiCad
|
||||
library tables. The libraries are generated from CERN's Altium Designer
|
||||
libraries.")
|
||||
(license license:ohl2-p))))
|
||||
|
||||
(define-public lepton-eda
|
||||
(package
|
||||
(name "lepton-eda")
|
||||
@@ -1662,7 +1504,7 @@ an embedded event driven algorithm.")
|
||||
(define-public librelane
|
||||
(package
|
||||
(name "librelane")
|
||||
(version "3.0.3")
|
||||
(version "3.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1671,16 +1513,12 @@ an embedded event driven algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8"))))
|
||||
"1v43adkw5c624nd06g11cb609v8pj3prfyyawbq3i4k1w1law597"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("click>=8,<8.3") "click>=8"))))
|
||||
(add-after 'compress-documentation 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/librelane")
|
||||
@@ -1932,31 +1770,6 @@ management with library, schematic and board editors.")
|
||||
(license (list license:expat ;libfst and fastlz-derived sources
|
||||
license:bsd-2))))) ;for lz4-derived sources
|
||||
|
||||
(define-public python-csxcad
|
||||
(package
|
||||
(inherit csxcad)
|
||||
(name "python-csxcad")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Tests are broken in v0.6.3.
|
||||
;; Check on update.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'prepare-build
|
||||
(lambda _
|
||||
(chdir "./python")
|
||||
(setenv "CSXCAD_INSTALL_PATH"
|
||||
#$(this-package-input "csxcad")))))))
|
||||
(native-inputs (list python-minimal python-cython python-numpy
|
||||
python-setuptools))
|
||||
(inputs (list csxcad fparser hdf5 python-numpy tinyxml))
|
||||
(synopsis "Python bindings for @code{csxcad}")
|
||||
(description "Library for describing geometrical objects and their
|
||||
physical and non-physical properties.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public python-lln-libparse
|
||||
(package
|
||||
(name "python-lln-libparse")
|
||||
@@ -2207,7 +2020,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(define-public magic
|
||||
(package
|
||||
(name "magic")
|
||||
(version "8.3.644")
|
||||
(version "8.3.633")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2216,7 +2029,7 @@ which allows one to install the M8 firmware on any Teensy.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
|
||||
(base32 "1rwrhb0q99rpv4lbiw1sqykwzf9gj1my2wkh6mp8g36rab2vhii3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2246,7 +2059,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(define-public mcy
|
||||
(package
|
||||
(name "mcy")
|
||||
(version "0.65")
|
||||
(version "0.64")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2261,10 +2074,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(list
|
||||
#:tests? #f ;there are no tests
|
||||
#:imported-modules (append %qt-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules '((guix build qt-build-system)
|
||||
((guix build pyproject-build-system) #:prefix py:)
|
||||
(guix build utils))
|
||||
%python-build-system-modules)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-info-documentation
|
||||
@@ -2293,7 +2103,7 @@ versus schematic} tests and can assist with automatic routing.")
|
||||
(install-it "mcy")
|
||||
(install-it "mcy-dash")))
|
||||
(add-after 'make-install 'python:wrap
|
||||
(assoc-ref py:%standard-phases 'wrap)))))
|
||||
(@@ (guix build python-build-system) wrap)))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-sphinx
|
||||
@@ -2312,7 +2122,7 @@ coverage.")
|
||||
(define-public netgen
|
||||
(package
|
||||
(name "netgen")
|
||||
(version "1.5.319")
|
||||
(version "1.5.318")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2321,7 +2131,7 @@ coverage.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
|
||||
(base32 "19rd8y2pspycr2296nhm60fhsgnzlyzb09wx2kgqzg6s7h6cmrr5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2521,7 +2331,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(define-public nvc
|
||||
(package
|
||||
(name "nvc")
|
||||
(version "1.21.0")
|
||||
(version "1.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)
|
||||
|
||||
+165
-449
@@ -242,7 +242,6 @@
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages telephony)
|
||||
@@ -1093,8 +1092,8 @@ agentically, with any LLM.")
|
||||
|
||||
(define-public emacs-gptel-prompts
|
||||
;; No releases.
|
||||
(let ((commit "f6d590c70dd2a1bab4426e2d4e51543e9953feb2")
|
||||
(revision "3"))
|
||||
(let ((commit "f1c29208c1f0b62918ac6682038da5db4184fc51")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "emacs-gptel-prompts")
|
||||
(version (git-version "1.0" revision commit))
|
||||
@@ -1105,7 +1104,7 @@ agentically, with any LLM.")
|
||||
(commit commit)))
|
||||
(method git-fetch)
|
||||
(sha256
|
||||
(base32 "1gnv2kzs09xzdywckwscg7sz3ay8904gj19k6vbwrmh7isyygxan"))
|
||||
(base32 "1bw98biq7m1xigjmgm3w7dzac99vww619d0n24rq15kcrra7sg84"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ;no tests
|
||||
@@ -2079,8 +2078,8 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
|
||||
(define-public emacs-puni
|
||||
;; No tagged release upstream
|
||||
(let ((commit "fe132f803868f325cf6f162139e327b76df9e4c1")
|
||||
(revision "4"))
|
||||
(let ((commit "f430f5b0a14c608176e3376058eb380ab0824621")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "emacs-puni")
|
||||
(version (git-version "0" revision commit))
|
||||
@@ -2092,7 +2091,7 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ffjpb0ilhcng1wwmnl1lx7h8v1z0bgsq6wb7x4x2rwsrvqjv9hm"))))
|
||||
"0kvxll2yx4lh5x04cigdizncp2kbva1iidz9fjnbi8qqfm6pq5qq"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no actual tests
|
||||
(propagated-inputs (list emacs-with-editor))
|
||||
@@ -2865,31 +2864,6 @@ process, passing on the arguments as command line arguments.")
|
||||
"Magit-annex adds a few git-annex operations to the Magit interface.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-magit-lfs
|
||||
;; Last tag is from 2021 and missing changes adjusting to transient.el
|
||||
;; deprecations.
|
||||
(let ((commit "cd9f46e1840270be27e2c2d9dcf036ff0781f66d")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-magit-lfs")
|
||||
(version (git-version "0.4.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Ailrun/magit-lfs")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0psnyxrc7fy2vng81mak0ji7kw58ly01frzr5z2xpj08hxx16b3c"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list emacs-magit emacs-transient emacs-dash))
|
||||
(home-page "https://github.com/Ailrun/magit-lfs")
|
||||
(synopsis "Git LFS support for Magit")
|
||||
(description "@code{magit-lfs} provides Magit integration for git-lfs.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-magit-tbdiff
|
||||
(package
|
||||
(name "emacs-magit-tbdiff")
|
||||
@@ -3757,7 +3731,7 @@ organizing remote Go repository clones.")
|
||||
(define-public emacs-ghub
|
||||
(package
|
||||
(name "emacs-ghub")
|
||||
(version "5.2.0")
|
||||
(version "5.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3766,7 +3740,7 @@ organizing remote Go repository clones.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09bi4h71dvwnkq110zrm14a9qal4294kgmhlhaa44lsw8g3v4826"))))
|
||||
(base32 "0d49qkkza9my2xz1vdyq7l3vmmjbamhsqm9xy7xikisyhsngvj73"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4121,7 +4095,7 @@ prover, version 4.")
|
||||
(define-public emacs-lem
|
||||
(package
|
||||
(name "emacs-lem")
|
||||
(version "0.25")
|
||||
(version "0.24")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4131,7 +4105,7 @@ prover, version 4.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1h28bwy0nd08lxvpqdxqcbg0n2j09ilb7rf3nj6csflz64nhg40x"))))
|
||||
"181cibmv6da4rjr6p3nqpza6i7v4scc4qndznhyjb9nhbf3gsil4"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -6201,33 +6175,6 @@ always indented. It reindents after every change, making it more reliable
|
||||
than @code{electric-indent-mode}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-isayt
|
||||
;; No tags. The Version header has not been updated since 2021.
|
||||
(let ((commit "32967c11a5a24b3c1d85cbf41a9b52a996739b45")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-isayt")
|
||||
(version (git-version "0.0.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/andreyorst/isayt.el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15i8z06k7iakw50lx9akq2ggddm7z99crwqbb0sx81bzddaz2s63"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://gitlab.com/andreyorst/isayt.el")
|
||||
(synopsis "Automatically indent lisp expressions while typing")
|
||||
(description
|
||||
"@code{isayt-mode} is a minor mode to adjust indentation of
|
||||
S-expressions automatically as you type. It is similar to
|
||||
@code{aggressive-indent-mode}, but it uses @code{syntax-ppss} and
|
||||
@code{indent-sexp} instead of a timer and @code{indent-according-to-mode}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-smarttabs
|
||||
(package
|
||||
(name "emacs-smarttabs")
|
||||
@@ -7205,7 +7152,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(define-public emacs-ellama
|
||||
(package
|
||||
(name "emacs-ellama")
|
||||
(version "1.17.1")
|
||||
(version "1.17.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -7215,7 +7162,7 @@ that the binary uses instead of the actual binary contents.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ibqmhp6mszr85lfb6fwfx9npn46kzcb26vqprrla61w8nrplx97"))))
|
||||
"03y4hyrsmq6m7si191r3ndp06x5w53adpig272ymm0i4v9gnzlr9"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -9325,16 +9272,14 @@ This mode supports Apache HTTP Server 2.4 and major modules.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/radian-software/apheleia")
|
||||
(url "https://github.com/raxod502/apheleia")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vs532hjkwj19laigqvvk11r0gwhv5vd8v6wh5598dzmfw3yh4bm"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:include #~(cons "^scripts/formatters/" %default-include)
|
||||
#:exclude #~(cons "\\.js$" %default-exclude)))
|
||||
(native-inputs (list emacs-buttercup))
|
||||
(home-page "https://github.com/radian-software/apheleia")
|
||||
(home-page "https://github.com/raxod502/apheleia")
|
||||
(synopsis "Reformat buffer stably")
|
||||
(description
|
||||
"This package allows for a buffer to be reformatted without moving point,
|
||||
@@ -9983,13 +9928,13 @@ for the Zig programming language in Emacs.")
|
||||
(define-public emacs-erc
|
||||
(package
|
||||
(name "emacs-erc")
|
||||
(version "5.6.2")
|
||||
(version "5.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/erc-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "0rm7aw6p8736ssp4z7vmfmwff93h4dwcv9pz3b83f9060i2svvvn"))))
|
||||
(base32 "13dzip6xhj0mf8hs8wk08pfxny5gwpbzfsqkmz146xvl2d8m621x"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://www.gnu.org/software/emacs/erc.html")
|
||||
@@ -14051,54 +13996,46 @@ libraries from Swagger specs.")
|
||||
#:imported-modules (append %emacs-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules '((guix build emacs-build-system)
|
||||
((guix build pyproject-build-system) #:prefix py:)
|
||||
((guix build python-build-system) #:prefix py:)
|
||||
(guix build emacs-utils)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
(with-extensions (list (pyproject-guile-json))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-server-installation-for-tests
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
;; Disable tox since it's only configured for python 3.8 and
|
||||
;; python 3.9 by the project--that's ancient.
|
||||
(("tox")
|
||||
"echo tox")
|
||||
(("env: .*$")
|
||||
(string-append "env: " #$output "/bin/jediepcserver\n")))))
|
||||
(add-after 'unpack 'ensure-no-mtimes-pre-1980
|
||||
(assoc-ref py:%standard-phases 'ensure-no-mtimes-pre-1980))
|
||||
(add-before 'check 'setenv
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))
|
||||
(add-after 'ensure-no-mtimes-pre-1980 'relax-python-requirements
|
||||
(lambda _
|
||||
;; Argparse should only be required for Python < 3.2
|
||||
;; (see: https://github.com/tkf/emacs-jedi/issues/365).
|
||||
(substitute* "setup.py"
|
||||
((".*argparse.*") ""))))
|
||||
(add-after 'relax-python-requirements 'python:build
|
||||
(assoc-ref py:%standard-phases 'build))
|
||||
(add-after 'python:build 'python:add-install-to-pythonpath
|
||||
(assoc-ref py:%standard-phases 'add-install-to-pythonpath))
|
||||
(add-after 'python:add-install-to-pythonpath 'python:install
|
||||
(assoc-ref py:%standard-phases 'install))
|
||||
(add-after 'python:install 'python:create-entrypoints
|
||||
(assoc-ref py:%standard-phases 'create-entrypoints))
|
||||
(add-after 'python:create-entrypoints 'python:wrap
|
||||
(assoc-ref py:%standard-phases 'wrap))
|
||||
(add-after 'python:wrap 'patch-jedi:server-command
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "jedi-core.el"
|
||||
("jedi:server-command"
|
||||
`(list ,(search-input-file outputs "bin/jediepcserver"))))))))))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-server-installation-for-tests
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
;; Disable tox since it's only configured for python 3.8 and
|
||||
;; python 3.9 by the project--that's ancient.
|
||||
(("tox")
|
||||
"echo tox")
|
||||
(("env: .*$")
|
||||
(string-append "env: " #$output "/bin/jediepcserver\n")))))
|
||||
(add-after 'unpack 'ensure-no-mtimes-pre-1980
|
||||
(assoc-ref py:%standard-phases 'ensure-no-mtimes-pre-1980))
|
||||
(add-before 'check 'setenv
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))
|
||||
(add-after 'ensure-no-mtimes-pre-1980 'relax-python-requirements
|
||||
(lambda _
|
||||
;; Argparse should only be required for Python < 3.2
|
||||
;; (see: https://github.com/tkf/emacs-jedi/issues/365).
|
||||
(substitute* "setup.py"
|
||||
((".*argparse.*") ""))))
|
||||
(add-after 'relax-python-requirements 'python:add-install-to-pythonpath
|
||||
(assoc-ref py:%standard-phases 'add-install-to-pythonpath))
|
||||
(add-after 'python:add-install-to-pythonpath 'python:install
|
||||
(assoc-ref py:%standard-phases 'install))
|
||||
(add-after 'python:install 'python:wrap
|
||||
(assoc-ref py:%standard-phases 'wrap))
|
||||
(add-after 'python:wrap 'patch-jedi:server-command
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "jedi-core.el"
|
||||
("jedi:server-command"
|
||||
`(list ,(search-input-file outputs "bin/jediepcserver")))))))))
|
||||
(native-inputs (list emacs-mocker python-wrapper))
|
||||
(inputs (list python-wrapper python-epc python-jedi)) ;wrapped
|
||||
(propagated-inputs
|
||||
(list emacs-auto-complete
|
||||
emacs-python-environment
|
||||
emacs-epc
|
||||
python-setuptools))
|
||||
(list emacs-auto-complete emacs-python-environment emacs-epc))
|
||||
(home-page "https://github.com/tkf/emacs-jedi")
|
||||
(synopsis "Provides Python completion in Emacs")
|
||||
(description
|
||||
@@ -15526,6 +15463,34 @@ underlying library functionality for performing various activities related to
|
||||
the game of chess.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-4clojure
|
||||
;; There is no release. Base version is extracted from Version keyword in
|
||||
;; the main file.
|
||||
(let ((commit "4eccf8c7d4341a36c269451838114b27836699f9")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-4clojure")
|
||||
(version (git-version "0.2.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/emacsorphanage/4clojure")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-request))
|
||||
(home-page "https://github.com/emacsorphanage/4clojure/")
|
||||
(synopsis "Open and evaluate 4clojure questions in Emacs")
|
||||
(description "Emacs 4clojure interacts with
|
||||
@url{http://www.4clojure.com, 4clojure} problems. You can open a specific
|
||||
question and move to the next or previous one. You can also verify your
|
||||
answers.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-base16-theme
|
||||
(package
|
||||
(name "emacs-base16-theme")
|
||||
@@ -18127,14 +18092,11 @@ Application Programming Interface}}, a free and open-source quotations
|
||||
(name "emacs-spinner")
|
||||
(version "1.7.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Malabarba/spinner.el")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/spinner-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m872dj1n05mkvgfyiqsbri489vmff5zdmv4xx5qj2s91sp046rl"))))
|
||||
(base32 "140kss25ijbwf8hzflbjz67ry76w2cyrh02axk95n6qcxv7jr7pv"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/Malabarba/spinner.el")
|
||||
(synopsis "Emacs mode-line spinner for operations in progress")
|
||||
@@ -18804,13 +18766,9 @@ and tooling.")
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "elfeed-curl.el"
|
||||
("elfeed-curl-program-name"
|
||||
(search-input-file inputs "/bin/curl")))
|
||||
(substitute* "elfeed-lib.el"
|
||||
(("\\(executable-find \"gzip\"\\)")
|
||||
(string-append
|
||||
"\"" (search-input-file inputs "/bin/gzip") "\""))))))))
|
||||
(search-input-file inputs "/bin/curl"))))))))
|
||||
(inputs
|
||||
(list curl gzip))
|
||||
(list curl))
|
||||
(home-page "https://github.com/skeeto/elfeed")
|
||||
(synopsis "Atom/RSS feed reader for Emacs")
|
||||
(description
|
||||
@@ -20274,7 +20232,7 @@ multiple project types.")
|
||||
(define-public emacs-tp
|
||||
(package
|
||||
(name "emacs-tp")
|
||||
(version "0.9")
|
||||
(version "0.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -20283,7 +20241,7 @@ multiple project types.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01g72x2lqmrdh3qgd3135hgijka975xg92ki36qyv71vi20rhmnm"))))
|
||||
"1zhvridy6p7dy9hpf088k166a1c918hqf6k3jmnm7raw8vflc7qq"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://codeberg.org/martianh/tp.el")
|
||||
(synopsis "Utilities to create transient menus for POSTing to an API")
|
||||
@@ -20423,7 +20381,7 @@ implementation.")
|
||||
(define-public emacs-cider
|
||||
(package
|
||||
(name "emacs-cider")
|
||||
(version "1.21.0")
|
||||
(version "1.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -20432,30 +20390,26 @@ implementation.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19wx9mc488qipm08s7hc0zrfmiylw577lmf3jpvqcjq7amx14jgc"))))
|
||||
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:lisp-directory "lisp"
|
||||
#:include #~(cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
|
||||
#:exclude ;don't exclude 'cider-test.el'
|
||||
#~(list "^\\.dir-locals\\.el$" "^test/")
|
||||
#:test-command
|
||||
#~(list "eldev" "--use-emacsloadpath" "-dtT" "-p" "test")
|
||||
#:exclude
|
||||
#~(list "^\\.dir-locals\\.el$" "^test/")
|
||||
#:phases
|
||||
;; XXX: file "test/cider-tests.el" contains a bogus "/bin/command"
|
||||
;; string, and `patch-el-files' phase chokes on it (even though the
|
||||
;; file is excluded from installation). Remove the phase altogether
|
||||
;; since there is no "/bin/executable" to replace in the code base
|
||||
;; anyway.
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'patch-el-files)
|
||||
(add-after 'unpack 'remove-network-tests
|
||||
(lambda _
|
||||
(delete-file "../test/cider-jar-tests.el")))
|
||||
(replace 'check
|
||||
(lambda* (#:key test-command tests?
|
||||
#:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion ".."
|
||||
(setenv "EMACSLOADPATH"
|
||||
(string-append (getcwd) ":"
|
||||
(getenv "EMACSLOADPATH")))
|
||||
(apply invoke test-command))))))))
|
||||
(add-before 'check 'skip-failing-tests
|
||||
(lambda _ ;; Require network.
|
||||
(delete-file "test/cider-jar-tests.el"))))))
|
||||
(native-inputs (list emacs-buttercup emacs-eldev))
|
||||
(propagated-inputs
|
||||
(list emacs-clojure-mode
|
||||
@@ -22720,7 +22674,7 @@ are common in Chromium-derived projects.")
|
||||
(define-public emacs-gnosis
|
||||
(package
|
||||
(name "emacs-gnosis")
|
||||
(version "0.10.6")
|
||||
(version "0.10.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -22729,13 +22683,12 @@ are common in Chromium-derived projects.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1cjm8hj62zm9k89pnsh5hbgjqqnh53byw4mijl76a7cn8args4gy"))))
|
||||
(base32 "0kpzc2jw51sklz15v0d0vzm5ck05n3d90l02la4nxn8r85jb1f53"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:lisp-directory "lisp"
|
||||
#:test-command
|
||||
#~(list "make" "-C" ".." "test" "GUIX_SHELL=")
|
||||
#~(list "make" "test" "GUIX_SHELL=")
|
||||
#:emacs emacs-no-x ;tests require built-in SQLite support
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -22748,9 +22701,9 @@ are common in Chromium-derived projects.")
|
||||
"/.emacs.d"))))
|
||||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(invoke "make" "-C" ".." "doc" "GUIX_SHELL="))))))
|
||||
(invoke "make" "doc" "GUIX_SHELL="))))))
|
||||
(native-inputs (list texinfo))
|
||||
(propagated-inputs (list emacs-keymap-popup))
|
||||
(propagated-inputs (list emacs-transient))
|
||||
(home-page "https://thanosapollo.org/projects/gnosis/")
|
||||
(synopsis "Personal knowledge system for GNU Emacs")
|
||||
(description
|
||||
@@ -23831,8 +23784,8 @@ actually changing the buffer's text.")
|
||||
|
||||
(define-public emacs-diff-hl
|
||||
;; No new tags or releases since 2024.
|
||||
(let ((commit "7d873b2f58908de1ea2f499da9bf993e088953d7")
|
||||
(revision "1"))
|
||||
(let ((commit "e79aa49ad3cbbe85379cf6646db3aaacd3b04708")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-diff-hl")
|
||||
(version (git-version "1.10.0" revision commit))
|
||||
@@ -23844,7 +23797,7 @@ actually changing the buffer's text.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15a9cjlpjsfcb2hxqbb123389qhiqs06mn01pas2l0jqhc2p86v9"))))
|
||||
(base32 "0fvxngcbx36vqj72fllfp5iqwihcqd1dfhmqr3m1284191q83na3"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -23867,7 +23820,7 @@ actually changing the buffer's text.")
|
||||
(invoke "git" "init")
|
||||
(invoke "git" "add" ".")
|
||||
(invoke "git" "commit" "-m" "Commit all."))))))
|
||||
(native-inputs (list git-minimal/pinned))
|
||||
(native-inputs (list git-minimal))
|
||||
(home-page "https://github.com/dgutov/diff-hl")
|
||||
(synopsis "Highlight uncommitted changes using VC")
|
||||
(description
|
||||
@@ -25410,7 +25363,7 @@ with Eglot.")
|
||||
(define-public emacs-jabber
|
||||
(package
|
||||
(name "emacs-jabber")
|
||||
(version "0.10.6")
|
||||
(version "0.10.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -25419,7 +25372,7 @@ with Eglot.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d0rl5rhx73safq95212c4qlmds3sa1mc79ji4p2v974m43x9d89"))))
|
||||
"1v1a09h6ndqhkwyn44cnx1b0l4p155a09mfjrfmg62li50hvw1zm"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -25441,6 +25394,16 @@ with Eglot.")
|
||||
"../src/picomemo")
|
||||
(invoke "chmod" "--recursive" "u+w"
|
||||
"../src/picomemo")))
|
||||
(add-after 'unpack 'fix-test-runner
|
||||
(lambda _
|
||||
;; Replace grep -oP (Perl regex) with a
|
||||
;; POSIX-compatible alternative so the test
|
||||
;; runner counts results correctly.
|
||||
(substitute* "../Makefile"
|
||||
(("grep -oP '\\^Ran \\\\K\\[0-9\\]\\+'")
|
||||
(string-append
|
||||
"grep -o 'Ran [0-9]*'"
|
||||
" | grep -o '[0-9]*'")))))
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
;; These 4 tests pass outside the build
|
||||
@@ -25476,7 +25439,7 @@ with Eglot.")
|
||||
(base32
|
||||
"044xd1gn9lpd5yrb3c1lmvqsc1chbkhd3vnh7800hxn23a0hxbzj")))))
|
||||
(inputs (list mbedtls))
|
||||
(propagated-inputs (list emacs-fsm emacs-keymap-popup))
|
||||
(propagated-inputs (list emacs-fsm))
|
||||
(home-page "https://thanosapollo.org/projects/jabber/")
|
||||
(synopsis "XMPP (Jabber) client for Emacs")
|
||||
(description
|
||||
@@ -28673,7 +28636,7 @@ match and total match information in the mode-line in various search modes.")
|
||||
(define-public emacs-pg
|
||||
(package
|
||||
(name "emacs-pg")
|
||||
(version "0.66")
|
||||
(version "0.65")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/emarsden/pg-el")
|
||||
@@ -28681,7 +28644,7 @@ match and total match information in the mode-line in various search modes.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1il3p0pckmyrkr5sbrv04wnyqmy7pfknlps5lp56r294x59bdyw7"))))
|
||||
"164kfd0lc1qw3wnlxqyjmqd3yhmkkf81qmgdx0kydlrij8a7z594"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-peg))
|
||||
(home-page "https://github.com/emarsden/pg-el")
|
||||
@@ -32199,32 +32162,6 @@ symbols. Currently the code distinguishes Lisp functions, built-in functions,
|
||||
macros, faces and variables. To enable call @code{highlight-defined-mode}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-highlight-quoted
|
||||
;; The last tagged release is from 2014 and predates a license change from
|
||||
;; BSD 3-clause to BSD 2-clause.
|
||||
(let ((commit "24103478158cd19fbcfb4339a3f1fa1f054f1469")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-highlight-quoted")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Fanael/highlight-quoted")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gq8inxfni9zgz2brqm4nlswgr8b0spq15wr532xfrgr456g10ks"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://github.com/Fanael/highlight-quoted")
|
||||
(synopsis "Highlight Lisp quotes and quoted symbols")
|
||||
(description
|
||||
"@code{highlight-quoted-mode} is a minor mode for highlighting Lisp
|
||||
quotes and quoted symbols.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public emacs-parinfer-mode
|
||||
(package
|
||||
(name "emacs-parinfer-mode")
|
||||
@@ -35663,7 +35600,7 @@ and comments.")
|
||||
(define-public emacs-yeetube
|
||||
(package
|
||||
(name "emacs-yeetube")
|
||||
(version "2.3.0")
|
||||
(version "2.1.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -35672,7 +35609,7 @@ and comments.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0phlcmf54f2wih7rksazf8k2jz4i31siqzd4gb7x3d6zddk2rs97"))
|
||||
"0zvbfwxq3dx14ynpafpvv1swg7hbg3k9avir9b7cymf4r5hrjnx3"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
@@ -35687,7 +35624,7 @@ and comments.")
|
||||
(format #f "~s" (search-input-file inputs
|
||||
(string-append "/bin/" program))))))))))
|
||||
(inputs (list mpv torsocks yt-dlp))
|
||||
(propagated-inputs (list emacs-compat emacs-keymap-popup))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://thanosapollo.org/projects/yeetube/")
|
||||
(synopsis "Youtube front-end for Emacs")
|
||||
(description
|
||||
@@ -36985,48 +36922,6 @@ Nix expressions. It supports syntax highlighting, indenting and refilling of
|
||||
comments.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public emacs-nix-ts-mode
|
||||
(package
|
||||
(name "emacs-nix-ts-mode")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nix-community/nix-ts-mode.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1x8flq97vrxqvqmf25dr5wnmvwpa0l3zv5hyz2af3aj4yy1ic35n"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:emacs emacs-no-x ; tests need treesit support
|
||||
#:test-command #~(list "ert-runner" "-l" "test/guix-treesit.el")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Tests load the Nix tree-sitter grammar. Guix informs Emacs of
|
||||
;; tree-sitter grammars via site-run-file, which ert-runner does not
|
||||
;; load by default.
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda _
|
||||
(with-output-to-file "test/guix-treesit.el"
|
||||
(lambda _
|
||||
(display "\
|
||||
(with-eval-after-load 'treesit
|
||||
(when-let* ((grammar-path (getenv \"TREE_SITTER_GRAMMAR_PATH\")))
|
||||
(mapcar (lambda (x) (add-to-list 'treesit-extra-load-path x))
|
||||
(split-string grammar-path \":\"))))
|
||||
"))))))))
|
||||
(native-inputs (list emacs-ert-runner))
|
||||
(propagated-inputs (list tree-sitter-nix))
|
||||
(home-page "https://github.com/nix-community/nix-ts-mode")
|
||||
(synopsis "Major mode for Nix expressions, powered by tree-sitter")
|
||||
(description
|
||||
"This package provides a major mode for editing Nix expressions, powered
|
||||
by built-in Emacs tree-sitter support.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-libmpdel
|
||||
(package
|
||||
(name "emacs-libmpdel")
|
||||
@@ -38143,7 +38038,7 @@ in Docker environment.")
|
||||
(define-public emacs-dape
|
||||
(package
|
||||
(name "emacs-dape")
|
||||
(version "0.27.1")
|
||||
(version "0.26.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -38152,7 +38047,7 @@ in Docker environment.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12cvry61nrr7xjsd7f445ik273lv4na4wkxad795pflibqz7q6r3"))))
|
||||
(base32 "0pib99g20kx7jqxbr7xv6xgpihjrb1yyd84qs05i0xscpgy8yj9l"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
;; FIXME python tests pass, JS tests require additional dependencies
|
||||
@@ -38764,7 +38659,7 @@ as Emacs Lisp.")
|
||||
(define-public emacs-transient
|
||||
(package
|
||||
(name "emacs-transient")
|
||||
(version "0.13.2")
|
||||
(version "0.13.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -38773,7 +38668,7 @@ as Emacs Lisp.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c5kdzs55xzn4ksrxlm94s4w4mbamh7l5ycjnq9pvgqvggzijqng"))))
|
||||
(base32 "161drbhzdp9fn0xkc0aza992g9h8prml513y8byyxvi6lqbqn8x4"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test suite
|
||||
@@ -41289,39 +41184,6 @@ work.")
|
||||
text-property translator.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public emacs-kkp
|
||||
;; No tags.
|
||||
(let ((commit "73957230ffdd3dedf16f4436f61471bd1365abf6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-kkp")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/benotn/kkp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1j5igiys8asjg0v18flc7p71xjynqi7v8s06qgkac8djvjamd4lh"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-command
|
||||
#~(list "emacs" "--batch" "-L" "." "-l" "kkp-tests.el"
|
||||
"-f" "ert-run-tests-batch-and-exit")))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://github.com/benotn/kkp")
|
||||
(synopsis "Kitty Keyboard Protocol input support")
|
||||
(description
|
||||
"@file{kkp.el} implements support for the
|
||||
@url{https://sw.kovidgoyal.net/kitty/keyboard-protocol, Kitty Keyboard
|
||||
Protocol} in Emacs. It provides an alternative, improved way to transmit
|
||||
keyboard input from a terminal to Emacs running in that terminal. For
|
||||
debugging key translation, see @file{kkp-debug.el}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-org-noter
|
||||
(package
|
||||
(name "emacs-org-noter")
|
||||
@@ -41853,7 +41715,7 @@ time.")
|
||||
(define-public emacs-mastodon
|
||||
(package
|
||||
(name "emacs-mastodon")
|
||||
(version "2.0.17")
|
||||
(version "2.0.16")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -41862,7 +41724,7 @@ time.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pz0ac5r6g34x0nlwwh55c369swiv8h3dr6ndkkm7k2ql7f75xdv"))))
|
||||
(base32 "1z8qwnc01d9hx5m1xj3acpdzllfh4rxmypzcr3jl4ipp6dybzbx6"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -41969,7 +41831,7 @@ a decentralized social network that runs on an Org Mode file over HTTP.")
|
||||
(define-public emacs-fedi
|
||||
(package
|
||||
(name "emacs-fedi")
|
||||
(version "0.4")
|
||||
(version "0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -41978,7 +41840,7 @@ a decentralized social network that runs on an Org Mode file over HTTP.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xlsh4a42mymi4jrb32ak4srbm28hq67jwijnpbyfzfkchjsqimj"))))
|
||||
(base32 "0ldag8659nqphc2isw1n3xv8dqf468ppwf1q10zn03sdj4dc1i11"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list emacs-markdown-mode))
|
||||
@@ -42012,7 +41874,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
|
||||
(define-public emacs-fj
|
||||
(package
|
||||
(name "emacs-fj")
|
||||
(version "0.37")
|
||||
(version "0.36")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -42021,9 +41883,17 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09ff20am16ysjpbqx7b92qgmvyar9b6blm32flkvzqxccqqinxya"))))
|
||||
(base32 "10v79lxnaya8h8qkdpvr7ns8330nrrl2h5mz4wh15blcp87ha37l"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:test-command #~(list "make" "tests" "CASK=")))
|
||||
(arguments
|
||||
(list
|
||||
#:test-command #~(list "make" "tests")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'remove-cask
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("cask ") "")))))))
|
||||
(native-inputs
|
||||
(list emacs-el-mock emacs-exemplify-ert emacs-exemplify-eval))
|
||||
(propagated-inputs (list emacs-fedi emacs-magit emacs-tp emacs-transient))
|
||||
@@ -42033,96 +41903,6 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
|
||||
"Fj contains basic functions for interacting with a Forgejo instance.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-keymap-popup
|
||||
(package
|
||||
(name "emacs-keymap-popup")
|
||||
(version "0.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/thanosapollo/emacs-keymap-popup")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bzvjvczzzrnsjs3fjcaad3y1xdhbrvxab5pg9zxkypxhw3yzx8n"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;tests need a live display read-loop
|
||||
(home-page "https://codeberg.org/thanosapollo/emacs-keymap-popup")
|
||||
(synopsis "Elisp library to create key-driven popup menus")
|
||||
(description "This package provides @code{keymap-popup-define}, a macro
|
||||
to define a keymap along with popup data and documentation in one place. It
|
||||
is similar to the @code{transient} Elisp library, but aims to be simpler to
|
||||
use. Among its features are:
|
||||
@table @code
|
||||
@item :switch
|
||||
buffer-local toggle with [on]/[off] display
|
||||
@item :keymap
|
||||
sub-menu with stack navigation (q / C-g pops back)
|
||||
@item :stay-open
|
||||
command executes without dismissing the popup
|
||||
@item :inapt-if
|
||||
grays out and blocks entries based on a predicate
|
||||
@item :c-u
|
||||
prefix argument mode (C-u highlights eligible entries)
|
||||
@item :if
|
||||
conditionally hide entries
|
||||
@item :group
|
||||
@itemx :row
|
||||
column layout
|
||||
@item keymap-popup-annotate
|
||||
add popup descriptions to existing keymaps
|
||||
@end table")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-forgejo
|
||||
(package
|
||||
(name "emacs-forgejo")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/thanosapollo/emacs-forgejo")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hf4sckxdygxa84g3pi3m2qy16ngx76jsrf192q5l4fppsyirnws"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:lisp-directory "lisp"
|
||||
#:emacs emacs ;tests requires sqlite
|
||||
#:test-command #~(list "make" "-C" ".." "test")))
|
||||
(propagated-inputs (list emacs-keymap-popup emacs-markdown-mode))
|
||||
(home-page "https://codeberg.org/thanosapollo/emacs-forgejo")
|
||||
(synopsis "Emacs front-end for Forgejo instances")
|
||||
(description "This package provides an Emacs front-end for Forgejo
|
||||
instances such as Codeberg or self-hosted servers. It allows you to browse,
|
||||
filter, and manage issues and pull requests from Emacs. All API responses are
|
||||
cached in a local SQLite database for fast offline re-display. Among the
|
||||
other things it can do are:
|
||||
@itemize
|
||||
@item
|
||||
Submit and merge PRs via
|
||||
AGit-Flow (https://forgejo.org/docs/latest/user/agit-support/) push options
|
||||
@item
|
||||
Full code review workflow with threaded comments
|
||||
@item
|
||||
Watch rules with per-repo filter polling and desktop notifications
|
||||
@item
|
||||
Label, assignee, and milestone management
|
||||
@item
|
||||
SQLite cache for instant display and offline usage
|
||||
@item
|
||||
Multi-host support with per-instance token configuration
|
||||
@item
|
||||
@code{#} and @code{@@} completion in composition buffers (@code{gfm-mode})
|
||||
@item
|
||||
Repository settings editor
|
||||
@end itemize")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ebdb-i18n-chn
|
||||
(package
|
||||
(name "emacs-ebdb-i18n-chn")
|
||||
@@ -45961,28 +45741,29 @@ the selected region with @code{| tr -d a-z}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-shell-pop
|
||||
(package
|
||||
(name "emacs-shell-pop")
|
||||
(version "0.70")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyagi/shell-pop-el")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sdi7ckn3dcxy9kw7xz2b5z46fgjjn5mvwpqsmjh3qa6kqirlwmi"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://github.com/kyagi/shell-pop-el")
|
||||
(synopsis "Utility which helps with pop up shell buffer")
|
||||
(description
|
||||
"This Emacs utility helps you pop up and pop out shell buffer window
|
||||
(let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-shell-pop")
|
||||
(version (git-version "0.64" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyagi/shell-pop-el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0s77n6b9iw1x3dv91ybkpgy3zvqd12si7zw3lg0m2b6j1akrawsg"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/kyagi/shell-pop-el")
|
||||
(synopsis "Utility which helps with pop up shell buffer")
|
||||
(description
|
||||
"This Emacs utility helps you pop up and pop out shell buffer window
|
||||
easily. Four pre-set options are: @samp{shell}, @samp{terminal},
|
||||
@samp{ansi-term}, and @samp{eshell}. You can also set your custom shell if
|
||||
you use some other configuration.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-shell-here
|
||||
(let ((commit "eeb437ff26d62a5009046b1b3b4503b768e3131a")
|
||||
@@ -47264,71 +47045,6 @@ notebooks")
|
||||
execute code split into cells according to certain magic comments.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-codex-ide
|
||||
(package
|
||||
(name "emacs-codex-ide")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dgillis/emacs-codex-ide")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xasn1yp494wqr2z9ddq3s71la27cvdvlv4alid2k5bjj89fv2gz"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:include #~(cons "^bin/codex-ide-mcp-server\\.py$" %default-include)
|
||||
#:test-command #~(list "bin/run-tests.sh")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-bridge-script-path
|
||||
(lambda _
|
||||
(emacs-substitute-variables "codex-ide-mcp-bridge.el"
|
||||
("codex-ide-emacs-bridge-script-path"
|
||||
(string-append #$output "/share/emacs/site-lisp/codex-ide2-"
|
||||
#$version "/bin/codex-ide-mcp-server.py")))))
|
||||
(add-before 'check 'remove-failing-tests
|
||||
(lambda _
|
||||
(emacs-batch-edit-file "codex-ide.el"
|
||||
'(progn
|
||||
(defun remove-test (file all-test-names)
|
||||
(with-current-buffer
|
||||
(find-file-noselect
|
||||
(format "tests/codex-ide-%s-tests.el" file))
|
||||
(dolist (test-name all-test-names)
|
||||
(save-excursion
|
||||
(re-search-forward
|
||||
(format "codex-ide-%s" test-name))
|
||||
(beginning-of-defun)
|
||||
(goto-char (match-beginning 0))
|
||||
(kill-sexp)))
|
||||
(basic-save-buffer)))
|
||||
(remove-test
|
||||
"context"
|
||||
(list (concat "compose-turn-input-does-not-"
|
||||
"duplicate-prompt-context-block")))
|
||||
(remove-test
|
||||
"mcp"
|
||||
(list "mcp-script-uses-emacsclient-bridge-responses"
|
||||
(concat "mcp-script-decodes-base64-bridge-"
|
||||
"response-with-control-and-unicode-text")
|
||||
(concat "mcp-script-starts-with-"
|
||||
"optional-server-name-flag"))))))))))
|
||||
(native-inputs (list zsh))
|
||||
(propagated-inputs (list emacs-transient python))
|
||||
(home-page "https://github.com/dgillis/emacs-codex-ide")
|
||||
(synopsis "Codex app-server integration for Emacs")
|
||||
(description
|
||||
"Codex IDE for Emacs provides a native Emacs interface for Codex
|
||||
app-server sessions. It renders conversations in Emacs buffers, supports
|
||||
interactive approvals, clickable file references, diff views, session
|
||||
management, and an optional MCP bridge for exposing live Emacs context to
|
||||
Codex.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public emacs-ein
|
||||
;; XXX: Upstream doesn't make any release, and didn't set any version.
|
||||
(let ((commit "998ba22660be2035cd23bed1555e47748c4da8a2"))
|
||||
|
||||
@@ -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"
|
||||
|
||||
+15
-12
@@ -45,6 +45,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module ((guix build utils) #:select (alist-replace delete-file-recursively))
|
||||
#:use-module (gnu packages)
|
||||
@@ -1919,7 +1920,7 @@ and Zilog Z80 families, plus many of their variants.")
|
||||
(define-public python-psptool
|
||||
(package
|
||||
(name "python-psptool")
|
||||
(version "3.6")
|
||||
(version "3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1928,40 +1929,36 @@ and Zilog Z80 families, plus many of their variants.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1s53bqimh1ih0xqmyppm2ikphi8r9492k67kn4pz3jngh2gp1wnf"))))
|
||||
(base32 "1fbx3b42cr7dv07p2b9qgzrgs19i066ysfasgvlfjscg2v68j8d0"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-backend #~'unittest))
|
||||
(native-inputs
|
||||
(list python-hatch-vcs
|
||||
python-hatchling
|
||||
python-psptrace-bootstrap
|
||||
(list python-psptrace-bootstrap
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-cryptography
|
||||
python-prettytable))
|
||||
(home-page "https://github.com/PSPReverse/psptool")
|
||||
(synopsis "Tool for dealing with AMD binary blobs")
|
||||
(description "PSPTool is a tool for dealing with AMD binary blobs.")
|
||||
(description "PSPTool is a tool for dealing with AMD binary blobs")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-psptrace
|
||||
(package
|
||||
(name "python-psptrace")
|
||||
(version "0.11")
|
||||
(version "0.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psptrace" version))
|
||||
(sha256
|
||||
(base32 "0lzv0dy2m5g6q4rpjd4wpw0p7n8v8crkx7akbp53lpy1c6y40iw8"))))
|
||||
(base32 "1mrympnpkkns2dxq34h9x9qn667ihdvbbf0wpmbp3jli0n7bj7ih"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no tests in PyPI or Git
|
||||
(native-inputs
|
||||
(list python-hatch-vcs
|
||||
python-hatchling
|
||||
python-setuptools))
|
||||
(list python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-prettytable
|
||||
python-psptool))
|
||||
@@ -2036,7 +2033,13 @@ whereas kdmx creates pseudo-ttys.")
|
||||
;; tests: 631 passed, 27 skipped, 1 warning
|
||||
#:test-flags
|
||||
;; E ModuleNotFoundError: No module named 'mbed_tools_ci_scripts'
|
||||
#~(list "--ignore=tests/ci_scripts/test_sync_board_db.py")))
|
||||
#~(list "--ignore=tests/ci_scripts/test_sync_board_db.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-pytest-config
|
||||
(lambda _
|
||||
(substitute* "pytest.ini"
|
||||
(("addopts = .*") "")))))))
|
||||
(native-inputs
|
||||
(list python-factory-boy
|
||||
python-pytest
|
||||
|
||||
+18
-22
@@ -68,7 +68,6 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
@@ -108,6 +107,7 @@
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
@@ -140,6 +140,7 @@
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial))
|
||||
@@ -147,7 +148,7 @@
|
||||
(define-public ares
|
||||
(package
|
||||
(name "ares")
|
||||
(version "147")
|
||||
(version "145")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -156,28 +157,23 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1b4xixngp8md2ishf3cyfwpzjcsvjb5zp678can5dcmv9z1dlsis"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete non-free blobs: Supersoft Diagnostics II.
|
||||
#~(delete-file-recursively "tests/i8080/tests"))))
|
||||
(base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; non-free blobs
|
||||
#:configure-flags
|
||||
#~(list "-DARES_BUILD_LOCAL=FALSE"
|
||||
"-DARES_BUILD_OFFICIAL=TRUE"
|
||||
"-DARES_BUNDLE_SHADERS=FALSE"
|
||||
"-DARES_SKIP_DEPS=TRUE"
|
||||
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-libglvnd
|
||||
(lambda _
|
||||
;; TODO: Our mesa doesn't have libglvnd support.
|
||||
(substitute* "ruby/cmake/os-linux.cmake"
|
||||
(("OpenGL::GLX") "OpenGL::GL")))))))
|
||||
(list #:tests? #f ; No tests
|
||||
#:configure-flags
|
||||
#~(list "-DARES_BUILD_LOCAL=FALSE"
|
||||
"-DARES_BUILD_OFFICIAL=TRUE"
|
||||
"-DARES_BUNDLE_SHADERS=FALSE"
|
||||
"-DARES_SKIP_DEPS=TRUE"
|
||||
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-libglvnd
|
||||
(lambda _
|
||||
;; XXX: Our mesa doesn't have libglvnd support.
|
||||
(substitute* "ruby/cmake/os-linux.cmake"
|
||||
(("OpenGL::GLX") "OpenGL::GL")))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
+282
-411
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
@@ -136,3 +136,41 @@ whenever possible to the extent that the above points are not compromised.
|
||||
affect your score when code golfing.")
|
||||
(properties `((lint-hidden-cpe-vendors "premio" "jenkins")))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public shakespeare-spl
|
||||
(package
|
||||
(name "shakespeare-spl")
|
||||
(version "1.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/shakespearelang/spl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lxpfhv01kcwy4l4xgx7j765g8g0v74jns0cr908nfw55h5fy1hj"))
|
||||
(patches
|
||||
(search-patches
|
||||
"shakespeare-spl-fix-grammar.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules (,@%default-gnu-imported-modules
|
||||
(guix build copy-build-system))
|
||||
#:modules ((guix build copy-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:install-plan '(("spl/bin" "bin")
|
||||
("spl/lib" "lib")
|
||||
("spl/include" "include"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'build
|
||||
(assoc-ref gnu:%standard-phases 'build)))))
|
||||
(native-inputs
|
||||
(list bison flex))
|
||||
(home-page "http://shakespearelang.sourceforge.net/")
|
||||
(synopsis "Write programs like Shakespearean plays")
|
||||
(description "Shakespeare is a programming language with the design goal
|
||||
of making programs read like plays. The characters in the play are variables.
|
||||
If you want to assign a character, let's say Juliet, a positive value, you put
|
||||
her and another character on the stage and let that character praise Juliet.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
@@ -29,6 +29,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 licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
@@ -244,6 +245,7 @@ seamlessly with your desktop environment.")
|
||||
(native-inputs
|
||||
(list nss-certs-for-test
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-mock
|
||||
python-pytest-recording
|
||||
python-pytest-retry
|
||||
|
||||
+162
-24
@@ -15,13 +15,12 @@
|
||||
;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
|
||||
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2025 Julian Flake <flake@uni-koblenz.de>
|
||||
;;; Copyright © 2025-2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -52,6 +51,7 @@
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system linux-module)
|
||||
#: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 (guix utils)
|
||||
@@ -1507,10 +1507,160 @@ can create and compare snapshots, revert differences between them, and
|
||||
supports automatic snapshots timelines.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public xfstests
|
||||
;; The last release (1.1.0) is from 2011.
|
||||
(let ((revision "3")
|
||||
(commit "8de535c53887bb49adae74a1b2e83e77d7e8457d"))
|
||||
(package
|
||||
(name "xfstests")
|
||||
(version (git-version "1.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sbkryl04xflrk6jb4fsl3h2whilj5m3vpdkpwwb26idp7ckjjv6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tool-locations
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "common/config"
|
||||
;; Make absolute file names relative.
|
||||
(("(MKFS_PROG=\").*(\")" _ pre post)
|
||||
(string-append pre "mkfs" post)))
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
(("( -s|#.|[= ])(/bin/sh|/bin/bash)" _ pre match)
|
||||
(string-append pre
|
||||
(search-input-file inputs match)))
|
||||
(("/bin/(rm|true)" match)
|
||||
(search-input-file inputs match))
|
||||
(("/usr(/bin/time)" _ match)
|
||||
(search-input-file inputs match))))
|
||||
(append (find-files "common" ".*")
|
||||
(find-files "tests" ".*")
|
||||
(find-files "tools" ".*")
|
||||
(find-files "src" "\\.(c|sh)$")))))
|
||||
(replace 'bootstrap
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
;; Avoid a mysterious (to me) ‘permission denied’ error.
|
||||
(("cp ") "cp -f "))
|
||||
(substitute* "m4/package_utilies.m4"
|
||||
;; Fix the bogus hard-coded paths for every single binary.
|
||||
(("(AC_PATH_PROG\\(.*, ).*(\\))" _ pre post)
|
||||
(string-append pre (getenv "PATH") post)))
|
||||
(apply invoke "make" "configure" make-flags)))
|
||||
(add-after 'install 'wrap-xfstests/check
|
||||
;; Keep wrapping distinct from 'create-helper-script below: users
|
||||
;; must be able to invoke xfstests/check directly if they prefer.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/xfstests/check")
|
||||
;; Prefix the user's PATH with the minimum required tools.
|
||||
;; The suite has many other optional dependencies and will
|
||||
;; automatically select tests based on the original PATH.
|
||||
`("PATH" ":" prefix
|
||||
,(map (lambda (file)
|
||||
(dirname (search-input-file inputs file)))
|
||||
(list "bin/setfacl" ; acl
|
||||
"bin/attr" ; attr
|
||||
"bin/bc" ; bc
|
||||
"bin/df" ; coreutils
|
||||
"bin/hostname" ; inetutils
|
||||
"bin/perl" ; perl
|
||||
"sbin/mkfs.xfs")))))) ; xfsprogs
|
||||
(add-after 'install 'create-helper
|
||||
;; Upstream installs only a ‘check’ script that's not in $PATH and
|
||||
;; would try to write to the store without explaining how to change
|
||||
;; that. Install a simple helper script to make it discoverable.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((check (string-append #$output "/xfstests/check"))
|
||||
(bin (string-append #$output "/bin"))
|
||||
(helper (string-append bin "/xfstests-check")))
|
||||
(mkdir-p bin)
|
||||
(with-output-to-file helper
|
||||
(lambda _
|
||||
(format #t "#!~a --no-auto-compile\n!#\n"
|
||||
(search-input-file inputs "/bin/guile"))
|
||||
(write
|
||||
`(begin
|
||||
(define (try proc dir)
|
||||
"Try to PROC DIR. Return DIR on success, else #f."
|
||||
(with-exception-handler (const #f)
|
||||
(lambda _ (proc dir) dir)
|
||||
#:unwind? #t))
|
||||
|
||||
(define args
|
||||
(cdr (command-line)))
|
||||
|
||||
(when (or (member "--help" args)
|
||||
(member "-h" args))
|
||||
(format #t "Usage: ~a [OPTION]...
|
||||
This Guix helper sets up a new writable RESULT_BASE if it's unset, then executes
|
||||
xfstest's \"~a\" command (with any OPTIONs) as documented below.\n\n"
|
||||
,(basename helper)
|
||||
,(basename check)))
|
||||
|
||||
(let* ((gotenv-base (getenv "RESULT_BASE"))
|
||||
(base (or gotenv-base
|
||||
(let loop ((count 0))
|
||||
(or (try mkdir
|
||||
(format #f "xfstests.~a"
|
||||
count))
|
||||
(loop (+ 1 count))))))
|
||||
(result-base (if (string-prefix? "/" base)
|
||||
base
|
||||
(string-append (getcwd) "/"
|
||||
base))))
|
||||
(setenv "RESULT_BASE" result-base)
|
||||
;; CHECK must run in its own directory or will fail.
|
||||
(chdir ,(dirname check))
|
||||
(let ((status
|
||||
(status:exit-val (apply system* ,check args))))
|
||||
(unless gotenv-base
|
||||
(try rmdir result-base))
|
||||
status))))))
|
||||
(chmod helper #o755)))))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool))
|
||||
(inputs
|
||||
(list acl
|
||||
attr
|
||||
bash-minimal
|
||||
bc
|
||||
guile-3.0 ; for our xfstests-check helper script
|
||||
inetutils
|
||||
`(,util-linux "lib")
|
||||
perl
|
||||
time
|
||||
xfsprogs))
|
||||
(home-page "https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git")
|
||||
(synopsis "File system @acronym{QA, Quality Assurance} test suite")
|
||||
(description
|
||||
"The @acronym{FSQA, File System Quality Assurance} regression test suite,
|
||||
more commonly known as xfstests, comprises over 1,500 tests that exercise
|
||||
(@dfn{torture}) both the user- and kernel-space parts of many different file
|
||||
systems.
|
||||
|
||||
As the package's name subtly implies, it was originally developed to test the
|
||||
XFS file system. Today, xfstests is the primary test suite for all major file
|
||||
systems supported by the kernel Linux including XFS, ext4, and Btrfs, but also
|
||||
virtual and network file systems such as NFS, 9P, and the overlay file system.
|
||||
|
||||
The packaged @command{check} script is not in @env{PATH} but can be invoked
|
||||
with the included @command{xfstests-check} helper.")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public zfs
|
||||
(package
|
||||
(name "zfs")
|
||||
(version "2.4.2")
|
||||
(version "2.4.1")
|
||||
(outputs '("out" "module" "src"))
|
||||
(source
|
||||
(origin
|
||||
@@ -1519,7 +1669,7 @@ supports automatic snapshots timelines.")
|
||||
"/download/zfs-" version
|
||||
"/zfs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "13y7pqdkpplai7vkb06xv1c7pw5fl70clhg2qnjbx5gjd870s9ky"))))
|
||||
(base32 "140k7hf83s509zq3igdh7dm7vw3hd99wgf4fax7ia8q01xvnjyy1"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1548,7 +1698,7 @@ supports automatic snapshots timelines.")
|
||||
(search-input-directory
|
||||
inputs
|
||||
"lib/modules/build")))))
|
||||
(add-after 'bootstrap 'patch-source
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; New feature "compatibility=" in 2.1.0.
|
||||
;; This feature looks up in two locations:
|
||||
@@ -1610,15 +1760,11 @@ supports automatic snapshots timelines.")
|
||||
(("\\$\\(sysconfdir)") (string-append #$output "/etc")))
|
||||
(substitute* "udev/vdev_id"
|
||||
(("PATH=/bin:/sbin:/usr/bin:/usr/sbin")
|
||||
(format #f "PATH=~a"
|
||||
(list->search-path-as-string
|
||||
(map (lambda (name)
|
||||
(dirname (search-input-file inputs name)))
|
||||
'("bin/chmod"
|
||||
"bin/grep"
|
||||
"bin/sed"
|
||||
"bin/gawk"))
|
||||
":"))))
|
||||
(string-append "PATH="
|
||||
(dirname (which "chmod")) ":"
|
||||
(dirname (which "grep")) ":"
|
||||
(dirname (which "sed")) ":"
|
||||
(dirname (which "gawk")))))
|
||||
(substitute* '("Makefile.am" "Makefile.in")
|
||||
(("\\$\\(prefix)/src") (string-append #$output:src "/src")))
|
||||
(substitute* (find-files "udev/rules.d/" ".rules.in$")
|
||||
@@ -1653,11 +1799,8 @@ supports automatic snapshots timelines.")
|
||||
(string-append #$output
|
||||
"/share/bash-completion/completions")))))))
|
||||
(native-inputs
|
||||
(list attr autoconf automake libtool kmod pkg-config))
|
||||
(inputs (list coreutils-minimal
|
||||
eudev
|
||||
gawk
|
||||
grep
|
||||
(list attr kmod pkg-config))
|
||||
(inputs (list eudev
|
||||
kmod
|
||||
libaio
|
||||
libtirpc
|
||||
@@ -1665,7 +1808,6 @@ supports automatic snapshots timelines.")
|
||||
openssl
|
||||
python
|
||||
python-cffi
|
||||
sed
|
||||
util-linux
|
||||
`(,util-linux "lib")
|
||||
zlib))
|
||||
@@ -1919,10 +2061,6 @@ local file system using FUSE.")
|
||||
(sha256
|
||||
(base32 "09409sjncz7n9m2ia5nfzy10q7c23dvpgjdkc3j9bjs4f5hvc9aq"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'custom
|
||||
#:test-flags #~(list "bitmasklist_test.py")))
|
||||
(native-inputs
|
||||
(list python-setuptools
|
||||
python-setuptools-scm))
|
||||
|
||||
+172
-84
@@ -42,7 +42,6 @@
|
||||
;;; Copyright © 2025-2026 Hennadii Stepanov <hebasto@gmail.com>
|
||||
;;; Copyright © 2025 James Smith <jsubuntuxp@disroot.org>
|
||||
;;; Copyright © 2026 Robin Templeton <robin@guixotic.coop>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -71,6 +70,7 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system go)
|
||||
@@ -129,6 +129,7 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pdf)
|
||||
@@ -234,15 +235,14 @@ line client and a client based on Qt.")
|
||||
"04kh88xklyq5w2x0zykfas6ssxajp1z33c2899fq342jnfr510b6"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags original-flags '())
|
||||
#~(cons "-DWITH_QT_VERSION=6"
|
||||
#$original-flags))))
|
||||
((#:qtbase original-flags #f)
|
||||
qtbase-5)))
|
||||
(native-inputs
|
||||
(modify-inputs native-inputs
|
||||
(delete qttools)
|
||||
(append imagemagick
|
||||
librsvg
|
||||
qttools)))
|
||||
qttools-5)))
|
||||
(home-page "https://bitcoinknots.org")
|
||||
(synopsis "Enhanced Bitcoin node/wallet based on Bitcoin Core")
|
||||
(description "Bitcoin Knots connects to the Bitcoin peer-to-peer network
|
||||
@@ -321,41 +321,37 @@ based on Qt.")
|
||||
(define-public ghc-hledger
|
||||
(package
|
||||
(name "ghc-hledger")
|
||||
(version "1.43.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger" version))
|
||||
(sha256
|
||||
(base32 "043gw3amc29fbjxlzyc4m97bw5i5462352lmk61adlxcd12l47i1"))))
|
||||
(version "1.27.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qdg87m7ys2ykqqq32p7h7aw827w4f5bcqx4dspxxq6zqlvzddqb"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hledger")))
|
||||
(inputs (list ghc-decimal
|
||||
ghc-diff
|
||||
ghc-aeson
|
||||
ghc-ansi-terminal
|
||||
ghc-breakpoint
|
||||
ghc-cmdargs
|
||||
ghc-data-default
|
||||
ghc-extra
|
||||
ghc-githash
|
||||
ghc-hashable
|
||||
ghc-hledger-lib
|
||||
ghc-http-client
|
||||
ghc-http-types
|
||||
ghc-lucid
|
||||
ghc-math-functions
|
||||
ghc-megaparsec
|
||||
ghc-microlens
|
||||
ghc-modern-uri
|
||||
ghc-regex-tdfa
|
||||
ghc-req
|
||||
ghc-safe
|
||||
ghc-shakespeare
|
||||
ghc-split
|
||||
ghc-tabular
|
||||
ghc-tasty
|
||||
ghc-temporary
|
||||
ghc-text-ansi
|
||||
ghc-timeit
|
||||
ghc-unordered-containers
|
||||
ghc-utf8-string
|
||||
@@ -386,8 +382,8 @@ Accounting.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-doc
|
||||
(lambda _
|
||||
(install-file "embeddedfiles/hledger.info" (string-append #$output "/share/info"))
|
||||
(install-file "embeddedfiles/hledger.1" (string-append #$output "/man/man1"))))
|
||||
(install-file "hledger.info" (string-append #$output "/share/info"))
|
||||
(install-file "hledger.1" (string-append #$output "/man/man1"))))
|
||||
(add-after 'register 'remove-libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(delete-file-recursively (string-append (assoc-ref outputs "out") "/lib")))))))))
|
||||
@@ -653,6 +649,49 @@ It's not clear at the moment whether one day it will be possible to
|
||||
do so.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public libbwt-jni
|
||||
(package
|
||||
(name "libbwt-jni")
|
||||
(version "0.2.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bwt-dev/libbwt-jni")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xbb8ad6rlpg972rnf7fipgzz6ry7yzbnxacgisqpkcjnw768zy5"))
|
||||
(snippet
|
||||
'(begin
|
||||
(use-modules (guix build utils))
|
||||
(delete-file-recursively "bwt")
|
||||
(substitute* "Cargo.toml"
|
||||
(("path = \"./bwt\"")
|
||||
"version = \"0.2.4\""))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-lib
|
||||
(lambda _
|
||||
(install-file "target/release/libbwt_jni.so"
|
||||
(string-append #$output "/lib")))))))
|
||||
(inputs (cons (package-source bwt)
|
||||
(cargo-inputs 'libbwt-jni)))
|
||||
(home-page "https://github.com/bwt-dev/libbwt-jni")
|
||||
(synopsis "Java Native Interface bindings for Bitcoin Wallet Tracker")
|
||||
(description "Libbwt-jni is Java Native Interface bindings for Bitcoin
|
||||
Wallet Tracker, a lightweight personal indexer for Bitcoin wallets.
|
||||
Libbwt-jni allows you to programmatically manage bwt's Electrum RPC and HTTP
|
||||
API servers. It can be used as a compatibility layer for easily upgrading
|
||||
Electrum-backed wallets to support a Bitcoin Core full node backend (by
|
||||
running the Electrum server in the wallet), or for shipping software that
|
||||
integrates bwt's HTTP API as an all-in-one package.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-electrum-ecc
|
||||
(package
|
||||
(name "python-electrum-ecc")
|
||||
@@ -868,7 +907,7 @@ blockchain.")
|
||||
;; the system's dynamically linked library.
|
||||
(package
|
||||
(name "monero")
|
||||
(version "0.18.5.0")
|
||||
(version "0.18.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -877,15 +916,16 @@ blockchain.")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "monero-use-system-miniupnpc.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled dependencies.
|
||||
(for-each
|
||||
delete-file-recursively
|
||||
'("external/rapidjson"))))
|
||||
'("external/miniupnp" "external/rapidjson"))))
|
||||
(sha256
|
||||
(base32 "0i0x4aacw2id877hdarp4vjc0cgs0yijsgrx85890xdypik2m8zq"))))
|
||||
(base32 "0s03rwa1pfxxrj03f170sr6yd5v2wpqdfzam7gas1s71gg6v6ap6"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
@@ -902,6 +942,7 @@ blockchain.")
|
||||
libsodium
|
||||
libunwind
|
||||
libusb
|
||||
miniupnpc-2.1
|
||||
openssl
|
||||
protobuf
|
||||
rapidjson
|
||||
@@ -971,7 +1012,7 @@ the Monero command line client and daemon.")
|
||||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.18.5.0")
|
||||
(version "0.18.4.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -987,7 +1028,7 @@ the Monero command line client and daemon.")
|
||||
;; See the 'extract-monero-sources' phase.
|
||||
(delete-file-recursively "monero")))
|
||||
(sha256
|
||||
(base32 "17r588gwdy5q0r9zy6382c64aglhym0l3a4pd8rr1v3li5v78fcb"))))
|
||||
(base32 "1nbv07jjwznz2x0ch1467vhnd0b4j3y01gv78dzbm7pilbb9wh72"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs monero)
|
||||
@@ -1287,7 +1328,7 @@ Ledger Blue/Nano S.")
|
||||
(define-public python-trezor
|
||||
(package
|
||||
(name "python-trezor")
|
||||
(version "0.20.0")
|
||||
(version "0.13.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1296,7 +1337,7 @@ Ledger Blue/Nano S.")
|
||||
(commit (string-append "python/v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06d4mw8iydgv2c3qxa47482k7dqpg89a2b6wd8f4g15ydn3gsfmn"))
|
||||
(base32 "13wyl9b15c8iscfakprwfvh2akw180hfqdjww79b78ywz51y7hdh"))
|
||||
(modules
|
||||
'((guix build utils)
|
||||
(srfi srfi-26)
|
||||
@@ -1334,32 +1375,26 @@ Ledger Blue/Nano S.")
|
||||
"test_legacy_basic"
|
||||
"test_unsigned"
|
||||
"test_vendor_header")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("platformdirs>=4.4.0") "platformdirs")))))))
|
||||
" and not "))))
|
||||
(propagated-inputs
|
||||
(list python-click
|
||||
python-construct
|
||||
(list python-attrs
|
||||
python-click
|
||||
python-construct-classes
|
||||
python-cryptography
|
||||
python-keyring
|
||||
python-ecdsa
|
||||
python-hidapi
|
||||
python-libusb1
|
||||
python-mnemonic
|
||||
python-noiseprotocol
|
||||
python-platformdirs
|
||||
python-requests
|
||||
python-shamir-mnemonic
|
||||
python-slip10
|
||||
python-typing-extensions))
|
||||
(native-inputs
|
||||
(native-inputs ; Only needed for running the tests
|
||||
(list nss-certs-for-test
|
||||
python-hatchling
|
||||
python-setuptools
|
||||
python-pytest))
|
||||
protobuf
|
||||
python-pytest
|
||||
python-pillow
|
||||
python-protobuf
|
||||
python-pyqt
|
||||
python-pytest
|
||||
python-simple-rlp))
|
||||
(home-page "https://github.com/trezor/python-trezor")
|
||||
(synopsis "Python library for communicating with TREZOR Hardware Wallet")
|
||||
(description "@code{trezor} is a Python library for communicating with
|
||||
@@ -1518,7 +1553,7 @@ agent.")
|
||||
(define-public kitsas
|
||||
(package
|
||||
(name "kitsas")
|
||||
(version "5.11.1")
|
||||
(version "5.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1527,7 +1562,7 @@ agent.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rlg36r62ngl4zpqja7fv407i6xnax2wh7y5jcplsx3zi7nrnkk5"))))
|
||||
"0hx8fad8pyma6gq60ziiqd5mbflwzjn0115lsdvf72sz86jryl70"))))
|
||||
(build-system qt-build-system)
|
||||
(inputs (list libzip qtsvg qtwebengine qt5compat))
|
||||
(arguments
|
||||
@@ -1586,7 +1621,10 @@ features:
|
||||
(sha256
|
||||
(base32 "0yir8hka3vmpk0qhiaffagkdjg3mjgai808s0razsggbd5cn80bb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools))
|
||||
(home-page "https://arthurdejong.org/python-stdnum/")
|
||||
(synopsis "Python module to handle standardized number and code formats")
|
||||
(description
|
||||
@@ -1678,26 +1716,19 @@ main features are:
|
||||
(define-public silkaj
|
||||
(package
|
||||
(name "silkaj")
|
||||
;; 0.12.1 (2025-07-08), all tests passed on the latest commit, revert back
|
||||
;; to git tag when released.
|
||||
(properties '((commit . "dabe484ba1871030be33a1473ee473004e102763")
|
||||
(revision . "0")))
|
||||
(version (git-version "0.12.1"
|
||||
(assoc-ref properties 'revision)
|
||||
(assoc-ref properties 'commit)))
|
||||
(version "0.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.duniter.org/clients/python/silkaj")
|
||||
(commit (assoc-ref properties 'commit))))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08wg4q3y747apj5phq4ghjgg9cdr8mnyzjspjvd8v9qz08v5zg6b"))))
|
||||
(base32 "0prglgwvzi676h4lyw9266sqiqbfs2l0mv0bmjvplvdxzzcs63bv"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 224 passed, 4 skipped, 2 deselected
|
||||
#:test-flags
|
||||
;; They require Poetry in the PATH.
|
||||
#~(list "--ignore=tests/integration/"
|
||||
@@ -2116,10 +2147,7 @@ it can easily generate custom reports specific to accounting purposes.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zlanw88dq7czgsdvqwz2fgxamyrfnx15ymv4d7fnjrj04glpg47"))
|
||||
;; TODO: Remove in the next release:
|
||||
;; https://github.com/beancount/beangulp/commit/254bfb38ffed
|
||||
(patches (search-patches "python-beangulp-click-8.2-compat.patch"))))
|
||||
(base32 "0zlanw88dq7czgsdvqwz2fgxamyrfnx15ymv4d7fnjrj04glpg47"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list beancount
|
||||
@@ -2187,18 +2215,12 @@ software Beancount with a focus on features and usability.")
|
||||
(sha256
|
||||
(base32 "18kdic6rg9qizam6cgd2ljpapwiqh2dc3s6wsaz46kjc1yhhwjqy"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;no tests
|
||||
(propagated-inputs (list fava))
|
||||
(native-inputs (list python-pdm-backend))
|
||||
(home-page "https://github.com/stenius/fava-envelope-airmail")
|
||||
(synopsis "Envelope budgeting for Fava/Beancount")
|
||||
(description
|
||||
"Envelope budgeting for Fava/Beancount with stats, scheduled
|
||||
transactions, and color-coded UI. It's a fork of
|
||||
@url{https://github.com/memst/fava-envelope} (itself a fork of
|
||||
@url{https://github.com/polarmutex/fava-envelope}) that adds several
|
||||
enhancements for envelope budgeting.")
|
||||
(description "Envelope budgeting for Fava/Beancount with stats, scheduled
|
||||
transactions, and color-coded UI.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public emacs-beancount
|
||||
@@ -2284,13 +2306,13 @@ textual ledgers to Beancount files.")
|
||||
(define-public hledger-web
|
||||
(package
|
||||
(name "hledger-web")
|
||||
(version "1.43.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger-web" version))
|
||||
(sha256
|
||||
(base32 "0d4sv9k3m7s0764lbq2l8w9p2p47cby177l0avl5w3fa9y8d0gyd"))))
|
||||
(version "1.27.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger-web" version))
|
||||
(sha256
|
||||
(base32
|
||||
"151dxci7dld8626dzw823sr3d9iaac92wfzbfcbdz4jh9f7n07wa"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hledger-web")))
|
||||
(inputs (list ghc-decimal
|
||||
@@ -2298,6 +2320,7 @@ textual ledgers to Beancount files.")
|
||||
ghc-base64
|
||||
ghc-blaze-html
|
||||
ghc-blaze-markup
|
||||
ghc-breakpoint
|
||||
ghc-case-insensitive
|
||||
ghc-clientsession
|
||||
ghc-cmdargs
|
||||
@@ -2305,8 +2328,6 @@ textual ledgers to Beancount files.")
|
||||
ghc-conduit-extra
|
||||
ghc-data-default
|
||||
ghc-extra
|
||||
ghc-file-embed
|
||||
ghc-githash
|
||||
ghc-hjsmin
|
||||
ghc-hledger
|
||||
ghc-hledger-lib
|
||||
@@ -2316,7 +2337,6 @@ textual ledgers to Beancount files.")
|
||||
ghc-http-types
|
||||
ghc-megaparsec
|
||||
ghc-network
|
||||
ghc-safe
|
||||
ghc-shakespeare
|
||||
ghc-unix-compat
|
||||
ghc-unordered-containers
|
||||
@@ -2487,6 +2507,10 @@ analysis of financial market data.")
|
||||
(base32 "13g5338aa8vgkx8g94vz5d8ynfq3jndvyh1nz6dlhw4axwr4x8dp"))))
|
||||
(properties '(("upstream-name" #{.}# "mt-940")))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-c" "/dev/null"))) ; Remove custom --cov flags.
|
||||
(native-inputs (list python-pytest python-pyyaml python-setuptools))
|
||||
(home-page "https://mt940.readthedocs.io/")
|
||||
(synopsis "Python parser for MT940-encoded SWIFT data")
|
||||
@@ -2520,7 +2544,7 @@ files.")
|
||||
(define-public xmrig
|
||||
(package
|
||||
(name "xmrig")
|
||||
(version "6.26.0")
|
||||
(version "6.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2528,7 +2552,7 @@ files.")
|
||||
(url "https://github.com/xmrig/xmrig")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "12s0nk3b1nyh76gqcfdr3158y0kcrkfprahajnbv0k34rp49m4k4"))
|
||||
(sha256 (base32 "0hchl2vwsn7aps6y1zjhxczm8l8lvl5ac8hblwl3qj0y2n7iszjz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; TODO: Try to use system libraries instead of bundled ones in
|
||||
@@ -2577,7 +2601,7 @@ mining.")
|
||||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "4.15.1")
|
||||
(version "4.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2586,7 +2610,7 @@ mining.")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "0v0wpm4bxikm8b78hsc3rp9x59574b2r39sbk2z3sjbyyshrqfpx"))
|
||||
(sha256 (base32 "10dp6kxmvdx5lz4n144s9av32nzfxgfw28kf92dnmrv13q5p7id2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
@@ -2628,3 +2652,67 @@ combines the advantages of pool and solo mining; you still fully control your
|
||||
Monero node and what it mines, but you get frequent payouts like on a regular
|
||||
pool.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public opentaxsolver
|
||||
;; The OTS version is formatted like tax-year_version. So, at time of
|
||||
;; writing, the version is 2023_21.03. Each part of this is used in
|
||||
;; different places in the source uri, so it's convenient to have them
|
||||
;; separately like this.
|
||||
(let ((tax-year "2023")
|
||||
(ots-version "21.03"))
|
||||
(package
|
||||
(name "opentaxsolver")
|
||||
(version (string-append tax-year "_" ots-version))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/opentaxsolver/OTS_"
|
||||
tax-year "/v" ots-version
|
||||
"_linux/OpenTaxSolver" version "_linux64.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i543bvclnyiwnyjlskhr2bxlsigggvwdhg2519rf12lsghgfszq"))
|
||||
(patches (search-patches "opentaxsolver-file-browser-fix.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
;; OTS does provide a shellscript that does exactly this, but we
|
||||
;; need to do it ourselves to specify the correct compiler and to
|
||||
;; delete the GUI binaries.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(delete-file "Run_taxsolve_GUI")
|
||||
(delete-file-recursively "bin")
|
||||
(mkdir "bin")
|
||||
(chdir "src/Gui_gtk")
|
||||
(invoke "make"
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
(chdir "..")
|
||||
(invoke "make"
|
||||
(string-append "CC=" #$(cc-for-target)))))
|
||||
;; OTS doesn't provide a `make install` target, because it assumes
|
||||
;; it'll be run from the tarball. So, we do it ourselves, making
|
||||
;; sure to replicate the directory structure of the tarball.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(copy-recursively "../bin"
|
||||
(string-append #$output "/bin"))
|
||||
(symlink (string-append #$output "/bin/ots_gui2")
|
||||
(string-append #$output "/bin/Run_taxsolve_GUI"))
|
||||
(copy-recursively "../tax_form_files"
|
||||
(string-append #$output "/tax_form_files"))
|
||||
(copy-recursively "formdata"
|
||||
(string-append #$output "/src/formdata")))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list gtk+-2))
|
||||
(synopsis "Yearly tax preparation tool")
|
||||
(description
|
||||
"OpenTaxSolver is a program for calculating tax form entries for
|
||||
federal and state personal income taxes. It automatically fills out and
|
||||
prints your forms for mailing.")
|
||||
(home-page "https://opentaxsolver.sourceforge.net/")
|
||||
(license license:gpl2+))))
|
||||
|
||||
@@ -47,6 +47,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 build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user