mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-08 18:14:06 +02:00
Compare commits
113 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f0a4f6d214 | |||
| da69abdca1 | |||
| f4b0275610 | |||
| 50454dab4a | |||
| 89747ea3ac | |||
| 41111228d5 | |||
| f519ddf733 | |||
| 4ac91ee39c | |||
| 752d3c0a52 | |||
| de20eed853 | |||
| 9b755bfffd | |||
| bcfe9dba35 | |||
| fe11a2a2e9 | |||
| 79f8ab94ab | |||
| b8d0488032 | |||
| 56d9e3e9ce | |||
| 5a90fd6df0 | |||
| 233640eb06 | |||
| c276bb2d89 | |||
| c88cd7fcae | |||
| d7b397aa91 | |||
| 19da15f871 | |||
| 8e871e15a5 | |||
| bf3c923f6d | |||
| 6c7c1a4b28 | |||
| 646ade357a | |||
| 91c5e436f6 | |||
| 47deb7a819 | |||
| 3cb2f74b0d | |||
| c1b36b6524 | |||
| e7c2bd4d49 | |||
| 0345a20749 | |||
| 573e9a2f4d | |||
| 17960b2313 | |||
| 2f6fb22400 | |||
| 63e7c1b4ed | |||
| cf1c24736e | |||
| 87ab0daf6b | |||
| bfc2d9c69b | |||
| b433486c7d | |||
| 9609336829 | |||
| 056de157b2 | |||
| 5b4c715e2a | |||
| 04eaafe0dc | |||
| 72ad38a46f | |||
| 3116440b9a | |||
| d12594eb54 | |||
| 47dffdc2f6 | |||
| 567d2bc7ea | |||
| 3a264df1ee | |||
| 895f880ac7 | |||
| 948bac0f46 | |||
| 8c95d6364a | |||
| 21898c0a1a | |||
| dc4db2273a | |||
| 7d9b4b7bb7 | |||
| 185b9f4f19 | |||
| 663293331b | |||
| 9b8833ea6e | |||
| 664f30f290 | |||
| 3375afec60 | |||
| 74180388ea | |||
| d401b80857 | |||
| 1fb10e0469 | |||
| d40667e9d9 | |||
| 5b5ed99030 | |||
| 18a2f2a0ab | |||
| 5331378604 | |||
| 2126ca5961 | |||
| 7afcbac09f | |||
| 565f4e8743 | |||
| f3e194d6eb | |||
| 2cdc7e23c1 | |||
| d21ee40ae8 | |||
| de8efe86b3 | |||
| a30abf4690 | |||
| b7e563cffe | |||
| 1dfc621cde | |||
| a9db71dae5 | |||
| f8c27ee084 | |||
| c95418302e | |||
| 79243efc4a | |||
| 2908ff30dd | |||
| 5ae5ced182 | |||
| dc192b2c3c | |||
| b5c159c14d | |||
| b634112df9 | |||
| eaafc8f38d | |||
| 01cbcb4ee4 | |||
| c61cab0077 | |||
| 4a28c0c638 | |||
| ba62c285a3 | |||
| d1b4f8e8ad | |||
| eccf44b2d1 | |||
| 616ef76552 | |||
| 8b0bee2a97 | |||
| 37592835c4 | |||
| 6f6dc2286c | |||
| b48412b52f | |||
| 8709675a51 | |||
| 59e74d19f3 | |||
| 31566995dc | |||
| 4d65795173 | |||
| 781c25ada9 | |||
| 514b17c58a | |||
| 3df17cb25a | |||
| abbf03a2ef | |||
| 5bad9d084c | |||
| a066241c22 | |||
| a12284aeba | |||
| 1ebc547b5a | |||
| 192806899f | |||
| 7c23908791 |
@@ -120,6 +120,7 @@ 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=$!
|
||||
|
||||
@@ -618,6 +618,33 @@ 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
|
||||
|
||||
+112
-7
@@ -152,6 +152,7 @@ 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
|
||||
@@ -305,6 +306,7 @@ 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.
|
||||
@@ -1779,6 +1781,21 @@ 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
|
||||
@@ -3936,6 +3953,7 @@ 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.
|
||||
@@ -3966,13 +3984,54 @@ 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}). 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.
|
||||
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}.
|
||||
|
||||
@node Substitute Server Authorization
|
||||
@subsection Substitute Server Authorization
|
||||
@@ -36234,6 +36293,10 @@ 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).
|
||||
|
||||
@@ -38069,6 +38132,21 @@ 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
|
||||
@@ -38158,12 +38236,33 @@ 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.
|
||||
@@ -38172,6 +38271,12 @@ 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.
|
||||
|
||||
|
||||
+1
-1
@@ -1577,7 +1577,7 @@ the \"texlive\" importer."
|
||||
(define-member (person "Nguyễn Gia Phong"
|
||||
"cnx@loang.net"
|
||||
"cnx")
|
||||
build-tools python qa-packages sysadmin vcs)
|
||||
build-tools lua qa-packages sysadmin vcs)
|
||||
|
||||
(define-member (person "Lilah Tascheter"
|
||||
"lilah@lunabee.space"
|
||||
|
||||
+10
-1
@@ -173,7 +173,16 @@ 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-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 '()))))
|
||||
((target-hurd? system) (append %core-packages %hurd-packages))
|
||||
((target-mingw? system) %core-packages-for-mingw)
|
||||
(else '())))
|
||||
|
||||
@@ -1006,6 +1006,7 @@ dist_patch_DATA = \
|
||||
%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 \
|
||||
@@ -1880,6 +1881,7 @@ 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 \
|
||||
|
||||
@@ -1084,7 +1084,7 @@ console.")
|
||||
(define-public btop
|
||||
(package
|
||||
(name "btop")
|
||||
(version "1.4.6")
|
||||
(version "1.4.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1093,7 +1093,7 @@ console.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
|
||||
"0d3cr5l6gpcwhxgnrizny5b5kg6fys2hy9a58bc68w4n2hc040fy"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list lowdown))
|
||||
(arguments
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
#: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)
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#: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)
|
||||
@@ -65,7 +66,6 @@
|
||||
#: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)
|
||||
@@ -1815,63 +1815,68 @@ For more information, refer to
|
||||
(define-public os-prober
|
||||
(package
|
||||
(name "os-prober")
|
||||
(version "1.81")
|
||||
(version "1.84")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
|
||||
version ".tar.xz"))
|
||||
(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))
|
||||
(sha256
|
||||
(base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g"))))
|
||||
(base32 "1bji3w6nbqaz8zqrbmy8b1j5dph9xn7bdh1cd2z8ia1q125i6mgp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:modules '((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(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))
|
||||
(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))
|
||||
|
||||
(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")
|
||||
(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/")
|
||||
(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
|
||||
|
||||
@@ -64,7 +64,6 @@
|
||||
#: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)
|
||||
@@ -77,6 +76,7 @@
|
||||
#: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)
|
||||
@@ -104,7 +104,8 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 optargs))
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public acr
|
||||
(package
|
||||
@@ -1483,3 +1484,114 @@ Features:
|
||||
@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.")))
|
||||
|
||||
@@ -53,7 +53,6 @@
|
||||
#: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)
|
||||
|
||||
@@ -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.00")
|
||||
(version "26.01")
|
||||
(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 "1fvgl9qp2pl5c0jmvgbdx6qig3qd80mhxvml42yby8y412x65sh7"))
|
||||
(base32 "0qwzn9pz1m6f8q20cqgmfqp1qx6s7959xnyikpr60n1v8c1mj98q"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 regex)))
|
||||
|
||||
@@ -127,6 +127,76 @@ 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")
|
||||
|
||||
@@ -77,7 +77,6 @@
|
||||
#: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)
|
||||
|
||||
@@ -105,7 +105,6 @@
|
||||
#: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)
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#: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)
|
||||
@@ -48,7 +49,6 @@
|
||||
#: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)
|
||||
|
||||
@@ -1425,7 +1425,7 @@ and TCP-capable recursive DNS server for finding domains on the internet.")
|
||||
(define-public openresolv
|
||||
(package
|
||||
(name "openresolv")
|
||||
(version "3.17.4")
|
||||
(version "3.13.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1435,7 +1435,7 @@ and TCP-capable recursive DNS server for finding domains on the internet.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lawj50qhr2yj7fy3p8x4m3kqz4lbvghnjc4jlqnxp484hg83ki3"))
|
||||
"03m8n0j0kxxm5kpl66gz4lxr1qqgrp8zlkaq9j8fz27fih0g75xf"))
|
||||
(patches
|
||||
(search-patches "openresolv-restartcmd-guix.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
@@ -2521,7 +2521,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(define-public nvc
|
||||
(package
|
||||
(name "nvc")
|
||||
(version "1.20.1")
|
||||
(version "1.21.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2530,7 +2530,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b38x2ch468s4p6mrq6c8s0d95vb84p6w4v8in79l4w7sfy8jnr0"))))
|
||||
"00hnrzk9dw88srfmjxxb9xkgnd5n26pmqlcw1bff1y0bckblsr38"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:out-of-source? #t
|
||||
|
||||
@@ -15526,34 +15526,6 @@ 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")
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
#: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)
|
||||
@@ -107,7 +108,6 @@
|
||||
#: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)
|
||||
|
||||
@@ -129,7 +129,6 @@
|
||||
#: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)
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Joan Vilardaga Castro <codeberg-hn80@joanvc.cat>
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -2817,6 +2818,32 @@ family.")
|
||||
(define-deprecated-package font-adobe-source-serif-pro
|
||||
font-adobe-source-serif)
|
||||
|
||||
(define-public font-medieval-sharp
|
||||
;; No releases, use newest commit.
|
||||
(let ((commit "ee7510b6b13854fd340e7d2e44c218780f672cd1")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "font-medieval-sharp")
|
||||
;; From FONTLOG.txt.
|
||||
(version (git-version "3.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/wmk69/Medieval-Sharp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r300591pra4nxpm5kppl5q3ihsp01wk2zh24f9pvv0jgf1ik87x"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://github.com/wmk69/Medieval-Sharp")
|
||||
(synopsis "Font based on gothic letters")
|
||||
(description
|
||||
"Medieval Sharp is a font created for inscriptions on stone, based on
|
||||
gothic letters.")
|
||||
(license license:silofl1.1))))
|
||||
|
||||
(define-public font-microsoft-cascadia
|
||||
(package
|
||||
(name "font-microsoft-cascadia")
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#: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 datastructures)
|
||||
@@ -69,7 +70,6 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mc)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
|
||||
+69
-17
@@ -98,6 +98,7 @@
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
|
||||
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -200,7 +201,6 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages oneapi)
|
||||
#:use-module (gnu packages opencl)
|
||||
@@ -3988,27 +3988,26 @@ that beneath its ruins lay buried an ancient evil.")
|
||||
(base32 "0hgzdvlh0j42w4q9kch9xvhnbvcrypac01xhpksw35gj9my887cp"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; So, some of the sounds/graphics/tilesets are under different
|
||||
;; licenses... some of them even nonfree! This is a console-only
|
||||
;; version of this package so we just remove them.
|
||||
;; In the future, if someone tries to make a graphical variant of
|
||||
;; this package, they can deal with that mess themselves. :)
|
||||
'(begin
|
||||
(for-each (lambda (subdir)
|
||||
(let ((lib-subdir (string-append "lib/" subdir)))
|
||||
(delete-file-recursively lib-subdir)))
|
||||
'("fonts" "icons" "sounds" "tiles"))
|
||||
(substitute* "lib/Makefile"
|
||||
;; And don't try to invoke makefiles in the directories we removed.
|
||||
(("gamedata customize help screens fonts tiles sounds icons user")
|
||||
"gamedata customize help screens user"))
|
||||
;; Remove nonfree .dll files too.
|
||||
(delete-file-recursively "src/win")))))
|
||||
(for-each delete-file-recursively
|
||||
'("lib/tiles/shockbolt" ;nonfree
|
||||
"src/win")) ;contains .dlls!
|
||||
;; Don't build the shockbolt directory either.
|
||||
(substitute* "lib/tiles/Makefile"
|
||||
(("shockbolt") ""))))
|
||||
(patches (search-patches "angband-remove-nonfree-tile-options.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list (string-append "--bindir=" %output "/bin"))
|
||||
`(#:configure-flags (list (string-append "--bindir=" %output "/bin")
|
||||
"--disable-x11")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-graphics-and-sounds
|
||||
(lambda _
|
||||
(substitute* "lib/Makefile"
|
||||
;; Do not build any graphics for this version.
|
||||
(("gamedata customize help screens fonts tiles sounds icons user")
|
||||
"gamedata customize help screens user"))))
|
||||
(add-before 'build 'fix-infinite-loop-on-sighup
|
||||
;; XXX Release 4.2.6 has a major bug where sending the process a
|
||||
;; SIGHUP when closing the terminal causes it to infinite loop
|
||||
@@ -4058,6 +4057,59 @@ the depths below Angband, seeking riches, fighting monsters, and preparing to
|
||||
fight Morgoth, the Lord of Darkness.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public angband-sdl2
|
||||
(package
|
||||
(inherit angband)
|
||||
(name "angband-sdl2")
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
(package-arguments angband)
|
||||
((#:configure-flags flags)
|
||||
#~(cons* "--enable-sdl2" #$flags))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(delete 'disable-graphics-and-sounds)
|
||||
(add-after 'unpack 'patch-sdl-wrapper-headers
|
||||
(lambda _
|
||||
(with-directory-excursion "src"
|
||||
(substitute* '("snd-sdl.c"
|
||||
"main-sdl2.c"
|
||||
"sdl2/pui-win.h")
|
||||
(("\"SDL_image.h\"") "\"SDL2/SDL_image.h\"")
|
||||
(("\"SDL_mixer.h\"") "\"SDL2/SDL_mixer.h\"")
|
||||
(("\"SDL_ttf.h\"") "\"SDL2/SDL_ttf.h\"")))))
|
||||
(add-after 'unpack 'patch-desktop-file
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "lib/icons/angband-sdl2.desktop"
|
||||
(("Exec=angband" _)
|
||||
(string-append "Exec=" #$output "/bin/angband-sdl2"))))))
|
||||
(add-after 'install 'rename-binary
|
||||
(lambda _
|
||||
(with-directory-excursion #$output
|
||||
;; allows parallel installation with angband
|
||||
(rename-file "bin/angband"
|
||||
"bin/angband-sdl2"))))))))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(prepend sdl2
|
||||
sdl2-image
|
||||
sdl2-mixer
|
||||
sdl2-ttf)))
|
||||
(description "Angband is a Classic dungeon exploration roguelike. Explore
|
||||
the depths below Angband, seeking riches, fighting monsters, and preparing to
|
||||
fight Morgoth, the Lord of Darkness.
|
||||
|
||||
This version includes the SDL2 frontend, providing tilesets and sounds which
|
||||
can be enabled through in-game options.")
|
||||
;; XXX: fonts and adam bolt tileset are free but being clarified:
|
||||
;; https://github.com/angband/angband/issues/6608
|
||||
;; For the rest, see:
|
||||
;; https://github.com/angband/angband/blob/master/docs/copying.rst
|
||||
(license (list license:gpl2 ;code, nomad+old tilesets
|
||||
license:cc-by-sa3.0 ;david gervais tileset
|
||||
license:cc-by-sa4.0)))) ;sounds
|
||||
|
||||
(define-public pingus
|
||||
;; Latest release is from 2021-12-24.
|
||||
(let ((commit "7d65221e1cd1026053c8a5a08ad911fbdd13d3ed")
|
||||
|
||||
@@ -80,14 +80,14 @@
|
||||
(define-public gdb-17
|
||||
(package
|
||||
(name "gdb")
|
||||
(version "17.1")
|
||||
(version "17.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdb/gdb-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xnqqv3j463r5rnfmblj3zwhf0l0lyy4bp1zaid8zxn9fignz68l"))))
|
||||
"1312lccryan1jfkjwkbw9mpxgyfnmlr8dj4lbkxx3cz4f86nq0qw"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
|
||||
@@ -128,7 +128,6 @@
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
|
||||
@@ -2529,7 +2529,7 @@ forgotten when the session ends.")
|
||||
(define-public evince
|
||||
(package
|
||||
(name "evince")
|
||||
(version "48.1")
|
||||
(version "48.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -2537,7 +2537,7 @@ forgotten when the session ends.")
|
||||
(version-major version) "/"
|
||||
"evince-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "047s8d4qh9jijk1kp4kfzy4afwwcd0kr11a8j1dkypd0ldprm2vx"))))
|
||||
(base32 "0s46prlb55ghnz136ra8whmrirydmz08lzjrrpa3arl8cb3cb5pj"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
;;; Copyright © 2023 JOULAUD François <Francois.JOULAUD@radiofrance.com>
|
||||
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025-2026 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2026 Ankit Gadiya <git@argp.in>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -48,7 +49,7 @@
|
||||
(define-public go-chroma
|
||||
(package
|
||||
(name "go-chroma")
|
||||
(version "2.20.0")
|
||||
(version "2.24.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -57,7 +58,7 @@
|
||||
(commit (string-append "v" version ))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05w4hnfcxqdlsz7mkc0m3jbp1aj67wzyhq5jh8ldfgnyjnlafia3"))))
|
||||
(base32 "0kww0yhwqzzgl8n3alislf0136rk7kh507bbvr32a30wmk5dzi81"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -83,17 +84,16 @@ translators for Pygments lexers and styles.")
|
||||
(define-public go-fxlint
|
||||
(package
|
||||
(name "go-fxlint")
|
||||
(version "0.0.0-20251227140935-d5da5b04ac90")
|
||||
(version "1.24.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/uber-go/fx")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir "tools"))))
|
||||
(commit (string-append "v" version ))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yw9x95v82dcxh0zf13inz8c3q7p2hmzqzgja360b1yifi01rvrc"))))
|
||||
(base32 "0iifq4gjd873l444qh32x2zzsz2yinrvpjsdfphxsfk1h0cyk4q9"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -115,7 +115,7 @@ that handle none of the event types.")
|
||||
(define-public go-jsonnet
|
||||
(package
|
||||
(name "go-jsonnet")
|
||||
(version "0.21.0")
|
||||
(version "0.22.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -124,7 +124,7 @@ that handle none of the event types.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0d05f16qxabfhaj0l3da3x7zl5g8jbvkcyn39bidd2a278sb3p97"))))
|
||||
(base32 "1c7h14rvavgadvbsyfa9j4rchsgxb5j363f53rhcvghvmblzddiv"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -276,19 +276,20 @@ import of a 3rd party package at runtime).")
|
||||
(name "gopls")
|
||||
;; XXX: Starting from 0.14.0 gppls needs golang.org/x/telemetry, which
|
||||
;; needs to be discussed if it may be included in Guix.
|
||||
(version "0.19.1")
|
||||
(version "0.22.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/tools")
|
||||
(commit (go-version->git-ref version #:subdir "gopls"))))
|
||||
(url "https://go.googlesource.com/tools")
|
||||
(commit (go-version->git-ref version #:subdir "gopls"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dihdw4nzp21hlbwxf6qyhyfgavi1a55lmlyk36czd85v0jcp6a0"))))
|
||||
(base32 "0n5ixvk6c8hww5z9lvf74dx6p4j573bq3ssvp77n6033l0fcbv94"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.26
|
||||
#:install-source? #f
|
||||
#:import-path "golang.org/x/tools/gopls"
|
||||
#:unpack-path "golang.org/x/tools"
|
||||
@@ -311,11 +312,13 @@ import of a 3rd party package at runtime).")
|
||||
(setenv "GODEBUG" "gotypesalias=1"))))))
|
||||
(native-inputs
|
||||
(list go-github-com-fatih-gomodifytags
|
||||
go-github-com-fsnotify-fsnotify
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-google-jsonschema-go
|
||||
go-github-com-jba-templatecheck
|
||||
go-github-com-modelcontextprotocol-go-sdk
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-telemetry
|
||||
go-golang-org-x-text
|
||||
go-golang-org-x-tools
|
||||
|
||||
@@ -150,6 +150,31 @@ the @code{c2go} tool at
|
||||
@url{https://github.com/andybalholm/c2go,https://github.com/andybalholm/c2go}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-blakesmith-ar
|
||||
(package
|
||||
(name "go-github-com-blakesmith-ar")
|
||||
(version "0.0.0-20190502131153-809d4375e1fb")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/blakesmith/ar")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00fxkc04b9cb53xxzw5gdqqpwlqv9n5kk0yn2lb5w4rgj5gm8ph1"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/blakesmith/ar"
|
||||
#:test-flags #~(list "-vet=off")))
|
||||
(home-page "https://github.com/blakesmith/ar")
|
||||
(synopsis "Golang archive file reader")
|
||||
(description
|
||||
"This package provides a Golang file reader for archive files generated
|
||||
with @code{ar}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bodgit-sevenzip
|
||||
(package
|
||||
(name "go-github-com-bodgit-sevenzip")
|
||||
@@ -221,6 +246,31 @@ blocks allowing it to only read the compressed blocks required.")
|
||||
(license (list license:bsd-3
|
||||
license:expat))))
|
||||
|
||||
(define-public go-github-com-cavaliergopher-cpio
|
||||
(package
|
||||
(name "go-github-com-cavaliergopher-cpio")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cavaliergopher/cpio")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0b1ix8z9kwfpwqi0q08ivcfcimlqk781jbzbfw7qbqavh702w3m2"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/cavaliergopher/cpio"))
|
||||
(home-page "https://github.com/cavaliergopher/cpio")
|
||||
(synopsis "Readers and writers for CPIO archives")
|
||||
(description
|
||||
"This package provides readers and writers for CPIO archives. Currently,
|
||||
only the SVR4 (New ASCII) format is supported, both with and without
|
||||
checksums.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-containerd-stargz-snapshotter-estargz
|
||||
(package
|
||||
(name "go-github-com-containerd-stargz-snapshotter-estargz")
|
||||
@@ -385,6 +435,37 @@ Implements the XFLATE format, an random-access extension to DEFLATE.
|
||||
compression format.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-google-rpmpack
|
||||
(package
|
||||
(name "go-github-com-google-rpmpack")
|
||||
(version "0.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/rpmpack")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17h2s1g191cvbs16fnclkpb42d9mx6mdmhd04kxzv8bss7m59pr4"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/google/rpmpack"))
|
||||
(native-inputs
|
||||
(list go-github-com-google-go-cmp))
|
||||
(propagated-inputs
|
||||
(list go-github-com-cavaliergopher-cpio
|
||||
go-github-com-klauspost-compress
|
||||
go-github-com-klauspost-pgzip
|
||||
go-github-com-ulikunitz-xz))
|
||||
(home-page "https://github.com/google/rpmpack")
|
||||
(synopsis "Pack files to rpm files")
|
||||
(description
|
||||
"Package rpmpack packs files to rpm files. It is designed to be simple
|
||||
to use and deploy, not requiring any filesystem access to create rpm files.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-hhrutter-lzw
|
||||
(package
|
||||
(name "go-github-com-hhrutter-lzw")
|
||||
@@ -884,6 +965,40 @@ format's \"Extra Fields\". The intention is to eventually support and provide
|
||||
a low-level API for the majority of PKWARE's and Info-ZIP's extra fields.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-sassoftware-go-rpmutils
|
||||
(package
|
||||
(name "go-github-com-sassoftware-go-rpmutils")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sassoftware/go-rpmutils")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06ymwjn6xvc4cpxcsh5achwgma4i075ikbzq8jm143m0pck4pmfi"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sassoftware/go-rpmutils"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify
|
||||
go-go-uber-org-goleak))
|
||||
(propagated-inputs
|
||||
(list go-github-com-datadog-zstd
|
||||
go-github-com-klauspost-compress
|
||||
go-github-com-protonmail-go-crypto
|
||||
go-github-com-ulikunitz-xz
|
||||
go-github-com-xi2-xz
|
||||
go-golang-org-x-sys))
|
||||
(home-page "https://github.com/sassoftware/go-rpmutils")
|
||||
(synopsis "Parse RPM packages in Golang")
|
||||
(description
|
||||
"This package provides some Golang interfaces for handling RPM packages,
|
||||
such extracting RPM header and CPIO content.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sorairolake-lzip-go
|
||||
(package
|
||||
(name "go-github-com-sorairolake-lzip-go")
|
||||
|
||||
@@ -607,6 +607,30 @@ Actions} locally.")
|
||||
It's a static checker for GitHub Actions workflow files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-gitlab-com-digitalxero-go-conventional-commit
|
||||
(package
|
||||
(name "go-gitlab-com-digitalxero-go-conventional-commit")
|
||||
(version "1.0.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/digitalxero/go-conventional-commit.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1191j3k9ma5sv8w2zsw8gb1407561zll0ca8hwy0dja6s0b3z0xy"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "gitlab.com/digitalxero/go-conventional-commit"))
|
||||
(home-page "https://gitlab.com/digitalxero/go-conventional-commit")
|
||||
(synopsis "Go parser for conventional commits")
|
||||
(description
|
||||
"This package provides a Go parser for conventional-commit messages
|
||||
@url{https://www.conventionalcommits.org/}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-xanzy-go-gitlab
|
||||
(package
|
||||
(name "go-github-com-xanzy-go-gitlab")
|
||||
|
||||
@@ -10796,6 +10796,33 @@ dhcpv6 and dhcpv4
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-invopop-jsonschema
|
||||
(package
|
||||
(name "go-github-com-invopop-jsonschema")
|
||||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/invopop/jsonschema")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0y881agfaycn5l5qn2y2jmiskchi0cvn5v602hna4ljy9rv5jxw2"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/invopop/jsonschema"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-pb33f-ordered-map-v2))
|
||||
(home-page "https://github.com/invopop/jsonschema")
|
||||
(synopsis "Go JSON Schema Reflection")
|
||||
(description
|
||||
"Package jsonschema uses reflection to generate JSON Schemas from Go types.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-ipfs-go-cid
|
||||
(package
|
||||
(name "go-github-com-ipfs-go-cid")
|
||||
@@ -16985,9 +17012,11 @@ kinds of referrer URLs (search, social, ...).")
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/sigstore/rekor"
|
||||
;; XXX: Remove when all inputs are packaged.
|
||||
#:embed-files #~(list ".*\\.json")
|
||||
;; ;; XXX: Remove when all inputs are packaged.
|
||||
#:test-subdirs
|
||||
#~(list "pkg/events/newentry"
|
||||
#~(list "pkg/client"
|
||||
"pkg/events/newentry"
|
||||
"pkg/indexstorage/mysql"
|
||||
"pkg/pki/minisign"
|
||||
"pkg/pki/pgp"
|
||||
@@ -16995,7 +17024,10 @@ kinds of referrer URLs (search, social, ...).")
|
||||
"pkg/pki/tuf"
|
||||
"pkg/pki/x509"
|
||||
"pkg/pubsub/gcp"
|
||||
"pkg/util")))
|
||||
"pkg/tle"
|
||||
"pkg/types"
|
||||
"pkg/util"
|
||||
"pkg/verify")))
|
||||
(native-inputs
|
||||
(list go-github-com-asaskevich-govalidator
|
||||
go-github-com-data-dog-go-sqlmock
|
||||
@@ -17023,6 +17055,7 @@ kinds of referrer URLs (search, social, ...).")
|
||||
go-github-com-go-openapi-validate
|
||||
go-github-com-go-sql-driver-mysql
|
||||
go-github-com-go-viper-mapstructure-v2
|
||||
go-github-com-google-rpmpack
|
||||
go-github-com-google-trillian
|
||||
go-github-com-grpc-ecosystem-go-grpc-middleware
|
||||
go-github-com-hashicorp-go-cleanhttp
|
||||
@@ -17066,7 +17099,6 @@ kinds of referrer URLs (search, social, ...).")
|
||||
;; go-github-com-adamkorcz-go-fuzz-headers-1
|
||||
;; go-github-com-cavaliercoder-go-rpm
|
||||
;; go-github-com-go-redis-redismock-v9
|
||||
;; go-github-com-google-rpmpack
|
||||
;; go-github-com-sassoftware-relic
|
||||
;; go-github-com-sassoftware-relic-v7
|
||||
;; go-go-step-sm-crypto
|
||||
@@ -18549,6 +18581,31 @@ Tailscale for access control.")
|
||||
Tailscale.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-tcnksm-go-httpstat
|
||||
(package
|
||||
(name "go-github-com-tcnksm-go-httpstat")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tcnksm/go-httpstat")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18jn40ra97waxx1mf23pkh6rq46y0nqd7vi3zcx9cwc39zqaf9bc"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;Tests require network connection
|
||||
#:import-path "github.com/tcnksm/go-httpstat"))
|
||||
(home-page "https://github.com/tcnksm/go-httpstat")
|
||||
(synopsis "Trace HTTP latency information in Go")
|
||||
(description
|
||||
"Package httpstat traces HTTP latency infomation, such as DNSLookup and
|
||||
TCP Connection, on any Golang HTTP request with no big code modification.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tdewolff-minify-v2
|
||||
(package
|
||||
(name "go-github-com-tdewolff-minify-v2")
|
||||
@@ -19080,6 +19137,30 @@ caching protocol. It provides support to programmatically store and retrieve
|
||||
build caches, instead of relying on the standard actions/cache YAML step.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-toqueteos-webbrowser
|
||||
(package
|
||||
(name "go-github-com-toqueteos-webbrowser")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/toqueteos/webbrowser")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bnn02zcfc9xkxc2qvv4q6wy5sipcwc0hwmx7hdhvv3lsw177flw"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/toqueteos/webbrowser"))
|
||||
(home-page "https://github.com/toqueteos/webbrowser")
|
||||
(synopsis "Simple API for opening web pages")
|
||||
(description
|
||||
"This package provides a simple API for opening web pages on your default
|
||||
browser.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-transparency-dev-tessera
|
||||
(package
|
||||
(name "go-github-com-transparency-dev-tessera")
|
||||
|
||||
@@ -114,6 +114,7 @@
|
||||
#:use-module (gnu packages golang-compression)
|
||||
#:use-module (gnu packages golang-crypto)
|
||||
#:use-module (gnu packages golang-maths)
|
||||
#:use-module (gnu packages golang-vcs)
|
||||
#:use-module (gnu packages golang-web)
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
@@ -1761,6 +1762,30 @@ strings for a safe use as command line arguments in the most common POSIX
|
||||
shells.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-aleksi-pointer
|
||||
(package
|
||||
(name "go-github-com-aleksi-pointer")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AlekSi/pointer")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rncmanv62wwy7ihvjhvb695mkvy4kdzhgnn90zygs9yrfzzk0wk"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/AlekSi/pointer"))
|
||||
(home-page "https://github.com/AlekSi/pointer")
|
||||
(synopsis "Helper Go library to convert between pointers and values")
|
||||
(description
|
||||
"This package provides helpers to convert between pointers and values of
|
||||
built-in and, with generics, of any types.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alexflint-go-filemutex
|
||||
(package
|
||||
(name "go-github-com-alexflint-go-filemutex")
|
||||
@@ -4409,6 +4434,29 @@ information for Golang.")
|
||||
variables into structs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-caarlos0-go-version
|
||||
(package
|
||||
(name "go-github-com-caarlos0-go-version")
|
||||
(version "0.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/caarlos0/go-version")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0kp78am3yzffz8r70f1skq0m2vms0wk37f76hqbfg1r29hay1ban"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/caarlos0/go-version"))
|
||||
(home-page "https://github.com/caarlos0/go-version")
|
||||
(synopsis "Fetch Go module version")
|
||||
(description
|
||||
"Package goversion provides utilities to get the Go module version information.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-calebcase-tmpfile
|
||||
(package
|
||||
(name "go-github-com-calebcase-tmpfile")
|
||||
@@ -4461,6 +4509,36 @@ color palette} for Go applications. Catppuccin is a community-driven pastel
|
||||
theme with four flavors: Latte, Frappe, Macchiato, and Mocha.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-ccojocar-zxcvbn-go
|
||||
(package
|
||||
(name "go-github-com-ccojocar-zxcvbn-go")
|
||||
(version "1.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ccojocar/zxcvbn-go")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dlrd6afpfwnpj6cbbvjhwbf33ldr0nzffl8p43jrmn62mwf7cn7"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/ccojocar/zxcvbn-go"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(home-page "https://github.com/ccojocar/zxcvbn-go")
|
||||
(synopsis "Password-strength generator in Go")
|
||||
(description
|
||||
"This package provides a password strength generators written in Golang.
|
||||
It attempts to give sound password advice through pattern matching and
|
||||
conservative entropy calculations. It finds 10k common passwords, common
|
||||
American names and surnames, common English words, and common patterns like
|
||||
dates, repeats (aaa), sequences (abcd), and QWERTY patterns. It's an active
|
||||
fork of @url{https://github.com/nbutton23/zxcvbn-go}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-cention-sany-utf7
|
||||
(package
|
||||
(name "go-github-com-cention-sany-utf7")
|
||||
@@ -11726,6 +11804,33 @@ native Go structure.")
|
||||
(description "Package yaml implements YAML support for the Go language.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-gobuffalo-flect
|
||||
(package
|
||||
(name "go-github-com-gobuffalo-flect")
|
||||
(version "1.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gobuffalo/flect")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0lyb1876byv9q52y6dlq17aahwl108mhp67cmxykckjpxxykb442"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/gobuffalo/flect"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(home-page "https://github.com/gobuffalo/flect")
|
||||
(synopsis "Inflection engine for Golang")
|
||||
(description
|
||||
"This package provides a new inflection engine to replace
|
||||
@url{https://github.com/markbates/inflect,} designed to be more modular,
|
||||
readable, and easier to fix issues on than the original.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-gobwas-glob
|
||||
(package
|
||||
(name "go-github-com-gobwas-glob")
|
||||
@@ -12569,6 +12674,41 @@ color (24-bit, RGB)
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-goreleaser-chglog
|
||||
(package
|
||||
(name "go-github-com-goreleaser-chglog")
|
||||
(version "0.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/goreleaser/chglog")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09ni4y644zhp3bf9nwy9qc9wkxrn2hla6nczg3zpn0ls8qaxjd40"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/goreleaser/chglog"))
|
||||
(native-inputs
|
||||
(list go-github-com-go-git-go-billy-v5
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-smartystreets-goconvey
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-spf13-viper))
|
||||
(propagated-inputs
|
||||
(list go-github-com-go-git-go-git-v5
|
||||
go-github-com-masterminds-semver-v3
|
||||
go-github-com-masterminds-sprig-v3
|
||||
go-gitlab-com-digitalxero-go-conventional-commit
|
||||
go-go-yaml-in-yaml-v3))
|
||||
(home-page "https://github.com/goreleaser/chglog")
|
||||
(synopsis "Changelog management Go library")
|
||||
(description
|
||||
"This package provides Go functions to manage changelogs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-goreleaser-fileglob
|
||||
(package
|
||||
(name "go-github-com-goreleaser-fileglob")
|
||||
@@ -12599,6 +12739,66 @@ underneath and returns only matching files or directories, depending on the
|
||||
configuration.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-goreleaser-nfpm-v2
|
||||
(package
|
||||
(name "go-github-com-goreleaser-nfpm-v2")
|
||||
(version "2.44.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/goreleaser/nfpm")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17dmzkvy3ihjjaxi10l9xc1mcg9vmlr2v1xc4a361fa22aqigz0v"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.25
|
||||
#:import-path "github.com/goreleaser/nfpm/v2"
|
||||
#:unpack-path "github.com/goreleaser/nfpm/v2"
|
||||
;; Tests fail due to read-only filesystem when trying to manipulate mode
|
||||
;; of the files.
|
||||
#:test-flags
|
||||
#~(list "-skip" "TestPrepareForPackager|TestDeepPathsWithGlobAndUmask")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" unpack-path)
|
||||
(substitute* "rpm/rpm_test.go"
|
||||
(("/bin/bash") (which "bash")))))))))
|
||||
(native-inputs
|
||||
(list go-github-com-caarlos0-go-version
|
||||
go-github-com-invopop-jsonschema
|
||||
go-github-com-muesli-mango-cobra
|
||||
go-github-com-muesli-roff
|
||||
go-github-com-sassoftware-go-rpmutils
|
||||
go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-dario-cat-mergo
|
||||
go-github-com-aleksi-pointer
|
||||
go-github-com-blakesmith-ar
|
||||
go-github-com-google-rpmpack
|
||||
go-github-com-goreleaser-chglog
|
||||
go-github-com-goreleaser-fileglob
|
||||
go-github-com-klauspost-compress
|
||||
go-github-com-klauspost-pgzip
|
||||
go-github-com-masterminds-semver-v3
|
||||
go-github-com-protonmail-go-crypto
|
||||
go-github-com-protonmail-gopenpgp-v2
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-ulikunitz-xz
|
||||
go-gopkg-in-yaml-v3))
|
||||
(home-page "https://github.com/goreleaser/nfpm")
|
||||
(synopsis "Go library to package programs in various Linux formats")
|
||||
(description
|
||||
"nFPM is Not FPM -- provides ways to package programs in popular Linux
|
||||
packaging formats, such as @code{deb}, @code{rpm}, @code{apk}, @code{ipk} and
|
||||
Arch.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-gorhill-cronexpr
|
||||
(package
|
||||
(name "go-github-com-gorhill-cronexpr")
|
||||
@@ -20520,6 +20720,90 @@ for any given struct and a set of its potential member values. This can be
|
||||
used to generate extensive test matrixes among other things.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-muesli-mango
|
||||
(package
|
||||
(name "go-github-com-muesli-mango")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/muesli/mango")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16d0sga6cbdxzlqkibcgw0civkw11fpkcjpgv21i0q5j9mjbsjw4"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/muesli/mango"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-muesli-roff))
|
||||
(home-page "https://github.com/muesli/mango")
|
||||
(synopsis "Golang man-page generator")
|
||||
(description
|
||||
"This package provides a man-page generator for the Go flag, pflag, cobra, coral,
|
||||
and kong packages. It extracts commands, flags, and arguments from the target
|
||||
program and enables it to self-document.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-muesli-mango-cobra
|
||||
(package
|
||||
(name "go-github-com-muesli-mango-cobra")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/muesli/mango-cobra")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11vvm3f2mq8yaqbfrjbzdcyvkn9f75rp4kygxyvqwc5jsw1kdwal"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/muesli/mango-cobra"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-muesli-mango
|
||||
go-github-com-muesli-mango-pflag
|
||||
go-github-com-muesli-roff
|
||||
go-github-com-spf13-cobra))
|
||||
(home-page "https://github.com/muesli/mango-cobra")
|
||||
(synopsis "Cobra adapter for mango")
|
||||
(description
|
||||
"This package provides a cobra adapter for the
|
||||
@url{https://github.com/muesli/mango,mango} man-page generator.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-muesli-mango-pflag
|
||||
(package
|
||||
(name "go-github-com-muesli-mango-pflag")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/muesli/mango-pflag")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1k4m88i9shs36a8n86k3a1vlxmdf5vwavkih2f2j3xj718hnhpw0"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/muesli/mango-pflag"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-muesli-mango
|
||||
go-github-com-muesli-roff
|
||||
go-github-com-spf13-pflag))
|
||||
(home-page "https://github.com/muesli/mango-pflag")
|
||||
(synopsis "Pflag adapter for mango")
|
||||
(description
|
||||
"This package provides a pflag adapter for the
|
||||
@url{https://github.com/muesli/mango, mango} man-page generator.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-muesli-reflow
|
||||
(package
|
||||
(name "go-github-com-muesli-reflow")
|
||||
@@ -20547,6 +20831,32 @@ used to generate extensive test matrixes among other things.")
|
||||
helping you to transform blocks of text.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-muesli-roff
|
||||
(package
|
||||
(name "go-github-com-muesli-roff")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/muesli/roff")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0l263rqwq2ccr1lpamsvs48dddsr70xim8mv6rsj2x9y3prcq3yh"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/muesli/roff"
|
||||
;; Expected title heading, got:
|
||||
;; .TH TITLE 1 "2026-05-22" "Title" "A short description"
|
||||
#:test-flags #~(list "-skip" "TestTitleHeading")))
|
||||
(home-page "https://github.com/muesli/roff")
|
||||
(synopsis "Write roff documents in Go")
|
||||
(description "This package provides tools to write @code{roff}
|
||||
documents in Golang.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-muesli-termenv
|
||||
(package
|
||||
(name "go-github-com-muesli-termenv")
|
||||
@@ -22506,6 +22816,36 @@ expiration times, it doesn't need to serialize or transmit its contents over
|
||||
the network.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-pb33f-ordered-map-v2
|
||||
(package
|
||||
(name "go-github-com-pb33f-ordered-map-v2")
|
||||
(version "2.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pb33f/ordered-map")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1k4r1rvlziddaszm1jvgz27nkrk1jfka0zik16f4b3gmhdnmd9vc"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/pb33f/ordered-map/v2"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-bahlo-generic-list-go
|
||||
go-github-com-buger-jsonparser
|
||||
go-go-yaml-in-yaml-v4))
|
||||
(home-page "https://github.com/pb33f/ordered-map")
|
||||
(synopsis "Ordered maps in Golang")
|
||||
(description
|
||||
"This package provides a Golang implementation of an ordered map, which
|
||||
is a map that also keeps track of the order in which keys were inserted.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-pbnjay-memory
|
||||
(let ((commit "7b4eea64cf580186c0eceb10dc94ba3a098af46c")
|
||||
(revision "2"))
|
||||
@@ -33637,6 +33977,22 @@ library.")
|
||||
;;; Executables:
|
||||
;;;
|
||||
|
||||
(define-public chglog
|
||||
(package/inherit go-github-com-goreleaser-chglog
|
||||
(name "chglog")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:tests? _ #t) #f)
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:import-path _) "github.com/goreleaser/chglog/cmd/chglog")
|
||||
((#:unpack-path _ "") "github.com/goreleaser/chglog")))
|
||||
(native-inputs
|
||||
(append
|
||||
(package-native-inputs go-github-com-goreleaser-chglog)
|
||||
(package-propagated-inputs go-github-com-goreleaser-chglog)))
|
||||
(inputs '())
|
||||
(propagated-inputs '())))
|
||||
|
||||
(define-public containers-storage
|
||||
(package/inherit go-github-com-containers-storage
|
||||
(name "containers-storage")
|
||||
@@ -34177,6 +34533,22 @@ various modes for analyzing and transforming YAML data.")))
|
||||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
(define-public nfpm
|
||||
(package/inherit go-github-com-goreleaser-nfpm-v2
|
||||
(name "nfpm")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:import-path _) "github.com/goreleaser/nfpm/v2/cmd/nfpm")
|
||||
((#:install-source? _ #t) #f)
|
||||
((#:tests? _ #t) #f)
|
||||
((#:unpack-path _ "") "github.com/goreleaser/nfpm/v2")))
|
||||
(native-inputs
|
||||
(append
|
||||
(package-native-inputs go-github-com-goreleaser-nfpm-v2)
|
||||
(package-propagated-inputs go-github-com-goreleaser-nfpm-v2)))
|
||||
(inputs '())
|
||||
(propagated-inputs '())))
|
||||
|
||||
(define-public oci-runtime-tool
|
||||
(package/inherit go-github-com-opencontainers-runtime-tools
|
||||
(name "oci-runtime-tool")
|
||||
|
||||
+89
-19
@@ -111,7 +111,6 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages opencl)
|
||||
#:use-module (gnu packages oneapi)
|
||||
#:use-module (gnu packages pciutils)
|
||||
@@ -998,24 +997,17 @@ baking tools to produce normal maps.")
|
||||
(string-append "-DLLVM_BC_GENERATOR="
|
||||
#$(this-package-native-input "clang")
|
||||
"/bin/clang++"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke
|
||||
"ctest" "--exclude-regex"
|
||||
(string-join
|
||||
(list
|
||||
"osl-imageio" ; file does not exist
|
||||
"osl-imageio.opt" ; file does not exist
|
||||
"osl-imageio.opt.rs_bitcode" ; file does not exist
|
||||
"texture-udim" ; file does not exist
|
||||
"texture-udim.opt" ; file does not exist
|
||||
"texture-udim.opt.rs_bitcode" ; file does not exist
|
||||
"example-deformer" ; could not find OSLConfig
|
||||
"python-oslquery") ; no module oslquery
|
||||
"|"))))))))
|
||||
#:test-exclude (string-join
|
||||
(list
|
||||
"osl-imageio" ; file does not exist
|
||||
"osl-imageio.opt" ; file does not exist
|
||||
"osl-imageio.opt.rs_bitcode" ; file does not exist
|
||||
"texture-udim" ; file does not exist
|
||||
"texture-udim.opt" ; file does not exist
|
||||
"texture-udim.opt.rs_bitcode" ; file does not exist
|
||||
"example-deformer" ; could not find OSLConfig
|
||||
"python-oslquery") ; no module oslquery
|
||||
"|")))
|
||||
(native-inputs
|
||||
(list bison
|
||||
clang
|
||||
@@ -1347,6 +1339,19 @@ basic geometries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gfgzwm5s50caj5s6l7irgmlifpmypd0fnm6ckzli1fdziwjgdwi"))))
|
||||
(arguments
|
||||
;; https://gitlab.com/inkscape/lib2geom/-/work_items/82
|
||||
(if (or (target-aarch64?)
|
||||
(target-riscv64?)
|
||||
(target-ppc64le?))
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'disable-polynomial-test
|
||||
(lambda _
|
||||
(substitute* "tests/CMakeLists.txt"
|
||||
(("polynomial-test") "")))))))
|
||||
arguments))
|
||||
(properties '((hidden? . #f)))))
|
||||
|
||||
(define-public pstoedit
|
||||
@@ -2392,6 +2397,71 @@ and engineering community.")
|
||||
(define-deprecated coin3D-4 coin3d)
|
||||
(export coin3D-4)
|
||||
|
||||
(define-public skcms
|
||||
;; No tags are available.
|
||||
(let ((commit "a7a3b15f06355692d86a3b8373c579a521598f4c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "skcms")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://skia.googlesource.com/skcms")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ylrsm7cinw59ilgbffazbgifax81kkya5cxq8q8wybnxx6z6ps6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-includes
|
||||
(lambda _
|
||||
(substitute* "skcms.h"
|
||||
(("src\\/skcms_public\\.h") "skcms/skcms_public.h"))))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
;; Some CPUs may not support these features.
|
||||
(let ((cflags (append '("-DSKCMS_DISABLE_HSW=1"
|
||||
"-DSKCMS_DISABLE_SKX=1")
|
||||
(if #$(target-mingw?)
|
||||
'("-DSKCMS_HAS_MUSTTAIL=0")
|
||||
'())))
|
||||
(ldflags '("-lstdc++")))
|
||||
(apply invoke #$(cc-for-target)
|
||||
`("-O2" "-g" "-fPIC" ,@cflags
|
||||
"skcms.cc"
|
||||
"src/skcms_TransformBaseline.cc"
|
||||
"src/skcms_TransformHsw.cc"
|
||||
"src/skcms_TransformSkx.cc"
|
||||
"-shared" ,@ldflags
|
||||
"-o" "libskcms.so"))
|
||||
(apply invoke #$(cc-for-target)
|
||||
`(,@cflags
|
||||
"tests.c" "test_only.c"
|
||||
"-Wl,-rpath=." "-L." "-lskcms" ,@ldflags
|
||||
"-o" "tests")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./tests"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "libskcms.so" (string-append #$output "/lib"))
|
||||
(install-file "skcms.h" (string-append #$output "/include"))
|
||||
(install-file "src/skcms_public.h"
|
||||
(string-append #$output "/include/skcms")))))))
|
||||
(native-inputs (list ninja))
|
||||
(home-page "https://skia.org/")
|
||||
(synopsis "Color management engine")
|
||||
(description
|
||||
"skcms is the color management engine. It is a part of @code{skia}.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public skia
|
||||
;; Releases follow those of Chromium, about every 6 weeks. The release
|
||||
;; version can be found on this page:
|
||||
|
||||
@@ -341,7 +341,7 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
|
||||
(define-public xdot
|
||||
(package
|
||||
(name "xdot")
|
||||
(version "1.4")
|
||||
(version "1.6")
|
||||
(source
|
||||
(origin
|
||||
;; PyPI tarball is missing some test files.
|
||||
@@ -351,7 +351,7 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1l34ahvcz90j3j7aspp9wqvxpq10mzgq7l0sanrj142ihdnbahvy"))))
|
||||
(base32 "0gg54k6zhdviz17aa3harc82f7bx4mpwnj292q066dzamvr87svq"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1173,7 +1173,8 @@ application suites.")
|
||||
'("--no-suite=gsk-compare-gl"
|
||||
"--no-suite=gsk-compare-cairo"
|
||||
"--no-suite=gsk-compare-ngl"
|
||||
"--no-suite=gsk-compare-vulkan")
|
||||
"--no-suite=gsk-compare-vulkan"
|
||||
"--no-suite=svg")
|
||||
'()))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
||||
@@ -529,6 +529,17 @@ without requiring the source code to be rewritten.")
|
||||
;;; (security or else) and this deprecation could be removed.
|
||||
(define-deprecated/public-alias guile-3.0/fixed guile-3.0/pinned)
|
||||
|
||||
(define-public guile-with-gmp
|
||||
(package/inherit guile-3.0-latest
|
||||
(name "guile-with-gmp")
|
||||
(propagated-inputs
|
||||
(modify-inputs propagated-inputs
|
||||
(append gmp)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags #~'())
|
||||
#~(delete "--enable-mini-gmp" #$flags))))))
|
||||
|
||||
(define-public guile-3.0/pinned
|
||||
;; A package of Guile that's rarely changed. It is the one used in the
|
||||
;; `base' module, and thus changing it entails a full rebuild.
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2025 Hugo Buddelmeijer <hugo@buddelmeijer.nl>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1104,6 +1105,53 @@ images of initially unknown height.")
|
||||
(license (list license:isc ; pbmtools/p?m.5
|
||||
license:gpl2+)))) ; the rest
|
||||
|
||||
(define-public sjpeg
|
||||
;; No tags available.
|
||||
(let ((commit "46da5aec5fce05faabf1facf0066e36e6b1c4dff")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sjpeg")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/webmproject/sjpeg")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0r496mp2ylisspwxl4883pzbl0l8qpscd1x9l7sb5nnmknawr868"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-cmake
|
||||
(lambda _
|
||||
;; Enable building shared libraries.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_library\\(sjpeg " all)
|
||||
(string-append all "SHARED ")))))
|
||||
(add-before 'check 'patch-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "../source/tests"
|
||||
(substitute* '("test_cmd.sh" "test_png_jpg.sh")
|
||||
(("\\.\\./examples") "../../build")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "../source/tests"
|
||||
(invoke "./test_cmd.sh")
|
||||
(invoke "./test_png_jpg.sh"))))))))
|
||||
(inputs (list freeglut libjpeg-turbo libpng zlib))
|
||||
(home-page "https://github.com/webmproject/sjpeg")
|
||||
(synopsis "Simple JPEG encoder")
|
||||
(description
|
||||
"sjpeg is a simple encoding library for encoding baseline JPEG files.
|
||||
It is also a command-line tool that takes PNG or JPEG images as input to
|
||||
produce JPEG files.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public openjpeg-data
|
||||
(package
|
||||
(name "openjpeg-data")
|
||||
@@ -1180,6 +1228,63 @@ JPEG 2000 Reference Software.")
|
||||
(home-page "https://github.com/uclouvain/openjpeg")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define jp2k-test-codestreams
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aous72/jp2k_test_codestreams")
|
||||
(commit "eda0844b9f3be47d9b64194bcea5eb1ac2285e39")))
|
||||
(sha256
|
||||
(base32 "1sci4a4dvgrgmrf942zdf0hqhcx30a5lffwfy6r3hya35l3q8q8f"))))
|
||||
|
||||
(define-public openjph
|
||||
(package
|
||||
(name "openjph")
|
||||
(version "0.27.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aous72/OpenJPH")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1knygwn4bf6n53qr12w05yava7464x3c70rf5r20sz8adjcfccvx"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(if #$(%current-target-system)
|
||||
'()
|
||||
'("-DOJPH_BUILD_TESTS=ON"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-cmake
|
||||
(lambda _
|
||||
(substitute* "tests/CMakeLists.txt"
|
||||
(("^FetchContent_MakeAvailable\\(googletest\\)")
|
||||
#$(if (%current-target-system)
|
||||
""
|
||||
"find_package(GTest REQUIRED)"))
|
||||
(("^FetchContent_MakeAvailable\\(jp2k_test_codestreams\\).*")
|
||||
""))))
|
||||
#$@(if (%current-target-system)
|
||||
#~()
|
||||
#~((add-before 'check 'unpack-jp2k-test-codestreams
|
||||
(lambda _
|
||||
(copy-recursively #$jp2k-test-codestreams
|
||||
"tests/jp2k_test_codestreams"))))))))
|
||||
(native-inputs (if (%current-target-system)
|
||||
'()
|
||||
(list googletest)))
|
||||
(inputs (list libtiff))
|
||||
(home-page "https://github.com/aous72/OpenJPH")
|
||||
(synopsis "JPEG2000 Part-15 (or JPH or HTJ2K) implementation")
|
||||
(description
|
||||
"OpenJPH is an implementation of @acronym{HTJ2K, High-throughput JPEG2000},
|
||||
also known as JPH, JPEG2000 Part 15, ISO/IEC 15444-15, and ITU-T T.814.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public openslide
|
||||
(package
|
||||
(name "openslide")
|
||||
|
||||
@@ -379,6 +379,15 @@ as the native format.")
|
||||
;; Re-instate the tests disabled in inkscape/pinned, now that
|
||||
;; their ImageMagick requirement is satisfied.
|
||||
#~((replace 'check (assoc-ref gnu:%standard-phases 'check))))
|
||||
#$@(if (or (target-aarch64?)
|
||||
(target-ppc64le?)
|
||||
(target-riscv64?))
|
||||
'((add-after 'unpack 'disable-geom-pathstroke-test
|
||||
(lambda _
|
||||
;; https://gitlab.com/inkscape/lib2geom/-/work_items/80
|
||||
(substitute* "testfiles/CMakeLists.txt"
|
||||
((" geom-pathstroke-test") "")))))
|
||||
'())
|
||||
(replace 'wrap-program
|
||||
;; Ensure Python is available at runtime.
|
||||
(lambda _
|
||||
|
||||
@@ -326,13 +326,6 @@ surveys")
|
||||
accessibility clients such as screen readers.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public libqaccessibilityclient-qt5
|
||||
(package
|
||||
(inherit libqaccessibilityclient)
|
||||
(name "libqaccessibilityclient-qt5")
|
||||
(inputs (modify-inputs inputs
|
||||
(replace "qtbase" qtbase-5)))))
|
||||
|
||||
(define-public qca
|
||||
(package
|
||||
(name "qca")
|
||||
|
||||
@@ -189,14 +189,14 @@ structure. It features:
|
||||
(define-public kcachegrind
|
||||
(package
|
||||
(name "kcachegrind")
|
||||
(version "25.12.3")
|
||||
(version "26.04.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/stable/release-service/" version
|
||||
"/src/kcachegrind-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lpgx3i2h3iq99nsssgwjpsvsn6izy4sp5l8rh7984lbd06wqsp9"))))
|
||||
"1krd0zbssj5q9shwdpmsnzpah2p6insl0sdh3x6dbrwnlyqaydbv"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list extra-cmake-modules perl python qttools kdoctools))
|
||||
|
||||
@@ -35,6 +35,50 @@
|
||||
;;; Libraries:
|
||||
;;;
|
||||
|
||||
(define-public go-github-com-elastic-crd-ref-docs
|
||||
(package
|
||||
(name "go-github-com-elastic-crd-ref-docs")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/elastic/crd-ref-docs")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vg3zjcgcq04cbqc8sk638q9v5r62w8r8x22yl7g9blbbr13sj7s"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/elastic/crd-ref-docs/test
|
||||
(delete-file-recursively "test")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/elastic/crd-ref-docs"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-goccy-go-yaml
|
||||
go-github-com-masterminds-sprig-v3
|
||||
go-github-com-spf13-cobra
|
||||
go-golang-org-x-tools
|
||||
go-go-uber-org-zap
|
||||
go-k8s-io-apimachinery
|
||||
go-sigs-k8s-io-controller-runtime
|
||||
;; go-sigs-k8s-io-gateway-api
|
||||
go-sigs-k8s-io-controller-tools))
|
||||
(home-page "https://github.com/elastic/crd-ref-docs")
|
||||
(synopsis "Kubernetes CRD reference documentation generator")
|
||||
(description
|
||||
"This package generates API reference documentation by scanning a source
|
||||
tree for exported @acronym{CustomResourceDefinition, CRD} types.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-go-etcd-io-etcd-client-v3
|
||||
(package
|
||||
(name "go-go-etcd-io-etcd-client-v3")
|
||||
@@ -615,6 +659,95 @@ controllers that manipulate both Kubernetes CRDs and aggregated/built-in
|
||||
Kubernetes APIs.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-sigs-k8s-io-controller-tools
|
||||
(package
|
||||
(name "go-sigs-k8s-io-controller-tools")
|
||||
(version "0.19.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kubernetes-sigs/controller-tools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1n6vc681bhhk972l1ijg7m01xy3zvi5i17y6fhac1m7bs7rrgz1l"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; Submodules with their own go.mod files and packaged separately:
|
||||
;;
|
||||
;; - github.com/google/cel-go/codelab
|
||||
(for-each delete-file-recursively
|
||||
(list "pkg/crd/testdata"
|
||||
"pkg/loader/testmod"
|
||||
"pkg/webhook/testdata"
|
||||
"pkg/deepcopy/testdata"
|
||||
"pkg/schemapatcher/testdata"
|
||||
"pkg/applyconfiguration/testdata/cronjob"))))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:test-flags
|
||||
#~(list "-skip" (string-join
|
||||
;; Expected success, but got an error:
|
||||
;; <*fs.PathError | 0xc000314a20>:
|
||||
;; chdir ./testdata: no such file or directory
|
||||
;; {
|
||||
;; Op: "chdir",
|
||||
;; Path: "./testdata",
|
||||
;; Err: <syscall.Errno>0x2,
|
||||
;; }
|
||||
;; 0 Passed | 1 Failed
|
||||
(list "TestObjectGeneration"
|
||||
;; 23 Passed | 19 Failed
|
||||
"TestCRDGeneration"
|
||||
;; validation_test.go:118:
|
||||
;; failed to create validator:
|
||||
;; open ./testdata/testdata.kubebuilder.io_oneofs.yaml:
|
||||
;; no such file or directory
|
||||
"TestOneOfConstraints"
|
||||
;; 3 Passed | 8 Failed
|
||||
"TestLoader"
|
||||
;; 0 Passed | 2 Failed
|
||||
"TestInPlaceCRDSchemaGeneration"
|
||||
;; 0 Passed | 11 Failed
|
||||
"TestWebhookGeneration"
|
||||
;; 1 Passed | 1 Failed
|
||||
"TestVersioning")
|
||||
"|"))
|
||||
#:import-path "sigs.k8s.io/controller-tools"
|
||||
#:embed-files
|
||||
#~(list "authoring.tmpl")))
|
||||
(native-inputs
|
||||
(list go-github-com-google-go-cmp
|
||||
go-github-com-onsi-ginkgo
|
||||
go-github-com-onsi-gomega))
|
||||
(propagated-inputs
|
||||
(list go-github-com-fatih-color
|
||||
go-github-com-gobuffalo-flect
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-spf13-pflag
|
||||
go-golang-org-x-tools
|
||||
go-golang-org-x-tools-go-packages-packagestest
|
||||
go-gopkg-in-yaml-v2
|
||||
go-gopkg-in-yaml-v3
|
||||
go-k8s-io-api
|
||||
go-k8s-io-apiextensions-apiserver
|
||||
go-k8s-io-apimachinery
|
||||
go-k8s-io-apiserver
|
||||
go-k8s-io-code-generator
|
||||
go-k8s-io-gengo-v2
|
||||
go-k8s-io-utils
|
||||
go-sigs-k8s-io-yaml))
|
||||
(home-page "https://sigs.k8s.io/controller-tools")
|
||||
(synopsis "Kubernetes controller-tools Project")
|
||||
(description
|
||||
"The Kubernetes controller-tools Project is a set of go libraries for building
|
||||
Controllers.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Executables:
|
||||
@@ -687,6 +820,45 @@ api-status.csv files
|
||||
functions
|
||||
@end itemize")))
|
||||
|
||||
(define-public kubernetes-controller-tools
|
||||
(package/inherit go-sigs-k8s-io-controller-tools
|
||||
(name "kubernetes-controller-tools")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:import-path _) "sigs.k8s.io/controller-tools/cmd/...")
|
||||
((#:install-source? #t #t) #f)
|
||||
((#:skip-build? #t #t) #f)
|
||||
((#:tests? #t #t) #f)
|
||||
((#:unpack-path _ "") "sigs.k8s.io/controller-tools")))
|
||||
(native-inputs
|
||||
(package-propagated-inputs go-sigs-k8s-io-controller-tools))
|
||||
(propagated-inputs '())
|
||||
(inputs '())
|
||||
(description
|
||||
"This package provides helper commands to work with Kubernetes (k8s):
|
||||
@itemize:
|
||||
@item @command{controller-gen} - generates Kubernetes API extension resources
|
||||
and code
|
||||
@item @command{helpgen} - generates marker help using @command{godoc}, based
|
||||
on the presence of a particular marker
|
||||
@item @command{type-scaffold} - scaffolds out basic bits of a Kubernetes type
|
||||
@end itemize
|
||||
|
||||
For the Go library, refer to go-sigs-k8s-io-controller-tools package.")))
|
||||
|
||||
(define-public kubernetes-crd-ref-docs
|
||||
(package/inherit go-github-com-elastic-crd-ref-docs
|
||||
(name "kubernetes-crd-ref-docs")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:install-source? #t #t) #f)
|
||||
((#:skip-build? #t #t) #f)
|
||||
((#:tests? #t #t) #f)))
|
||||
(native-inputs
|
||||
(package-propagated-inputs go-github-com-elastic-crd-ref-docs))
|
||||
(propagated-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
;;; of a merge conflict, place them above in alphabetic order:
|
||||
|
||||
+105
-1
@@ -15,6 +15,7 @@
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -37,6 +38,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages dbm)
|
||||
@@ -50,6 +52,7 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages ibus)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages man)
|
||||
@@ -88,7 +91,8 @@
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix utils))
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public nimf
|
||||
(package
|
||||
@@ -1109,6 +1113,106 @@ for longer text sequences. As it relies on dictionaries,
|
||||
if a word is missing or mispelled, the detection will fail.")
|
||||
(license license:agpl3)))
|
||||
|
||||
;; This package provides the database files created by
|
||||
;; The Árni Magnússon Institute for Icelandic Studies which
|
||||
;; are needed for building certain packages.
|
||||
;; This package is not intended to be installed directly.
|
||||
(define arnastofnun-dim
|
||||
(let ((version "May2026"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/spencerking/DIM-mirror")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "arnastofnun-dim" version))
|
||||
(sha256
|
||||
(base32 "1ribxkdj9clafdqa572bp0qh73spv4wagyx49jqdivq8r3b631n6")))))
|
||||
|
||||
(define-public python-islenska-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(name "python-islenska-bootstrap")
|
||||
(version "1.1.1")
|
||||
;; Use the git source since this should not include database files.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mideind/BinPackage")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "python-islenska" version))
|
||||
(sha256
|
||||
(base32 "1wgv2k41m1jmsqr1sdlj92kw5v3d5r9cg2268vfh8308pncn1fya"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
;; Add two new phases to ensure that the database resource files
|
||||
;; are included in the installed package. This is necessary for
|
||||
;; running the bundled build scripts (tools/binpack.py and
|
||||
;; tools/dawgbuilder.py) when bootstrapping.
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'create-manifest-in
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-output-to-file "MANIFEST.in"
|
||||
(lambda ()
|
||||
(display "graft src/islenska/resources")))))
|
||||
(add-after 'unpack 'patch-setup-py
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "setup.py"
|
||||
(("(.*)cffi_modules=.*" cffi indent)
|
||||
(string-append
|
||||
cffi
|
||||
indent "package_data={'islenska':['src/resources/*']},\n"
|
||||
indent "include_package_data=True,\n"))))))
|
||||
;; Tests will fail since database files have not been bootstrapped yet.
|
||||
#:tests? #f))
|
||||
(propagated-inputs (list python-cffi python-typing-extensions))
|
||||
(native-inputs (list python-cffi python-pytest python-setuptools))
|
||||
(home-page "https://github.com/mideind/BinPackage")
|
||||
(synopsis
|
||||
"The vocabulary of modern Icelandic, encapsulated in a Python package")
|
||||
(description
|
||||
"Islenska is a Python package that embeds the vocabulary of the Database
|
||||
of Icelandic Morphology and offers various lookups and queries of the data.
|
||||
The database contains over 6.5 million entries, over 3.1 million unique word
|
||||
forms, and about 300,000 distinct lemmas.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public python-islenska
|
||||
(package/inherit python-islenska-bootstrap
|
||||
(name "python-islenska")
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Delete the phases added for python-islenska-bootstrap.
|
||||
(delete 'create-manifest-in)
|
||||
(delete 'patch-setup-py)
|
||||
;; Copy KRISTINsnid.csv to the expected directory
|
||||
;; for the build scripts.
|
||||
(add-after 'unpack 'unpack-resources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(install-file
|
||||
(search-input-file inputs "KRISTINsnid.csv/KRISTINsnid.csv")
|
||||
"src/islenska/resources")))
|
||||
;; Run the build scripts
|
||||
(add-before 'build 'build-databases
|
||||
(lambda _
|
||||
(invoke "python" "tools/binpack.py")
|
||||
(invoke "python" "tools/dawgbuilder.py"))))
|
||||
#:tests? #t))
|
||||
(native-inputs (list arnastofnun-dim
|
||||
python-cffi
|
||||
python-islenska-bootstrap
|
||||
python-pytest
|
||||
python-setuptools
|
||||
unzip))
|
||||
(license (list license:cc-by4.0 ;resource files
|
||||
license:expat))
|
||||
(properties
|
||||
(alist-delete 'hidden? (package-properties python-islenska-bootstrap)))))
|
||||
|
||||
(define-public python-sacremoses
|
||||
(package
|
||||
(name "python-sacremoses")
|
||||
|
||||
+22
-22
@@ -530,7 +530,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
|
||||
;; The current "mainline" kernel.
|
||||
|
||||
(define-public linux-libre-7.0-version "7.0.8")
|
||||
(define-public linux-libre-7.0-version "7.0.10")
|
||||
(define-public linux-libre-7.0-gnu-revision "gnu")
|
||||
(define deblob-scripts-7.0
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -540,7 +540,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0a7572zw5y3k4gs4p3h5w0s9bhd63pdjxz6vxbr96sq6r8b6k02n")))
|
||||
(define-public linux-libre-7.0-pristine-source
|
||||
(let ((version linux-libre-7.0-version)
|
||||
(hash (base32 "08nbdmgy4bbpmjzkh6n4v3shksvxpcxhy8biv5w7qkwz5jrayi8r")))
|
||||
(hash (base32 "1p1j9s0b4qv9m0pm6vj477rqgyd1b0lsk0gy74cks3n2cbmpfj89")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-7.0)))
|
||||
@@ -563,7 +563,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.19)))
|
||||
|
||||
(define-public linux-libre-6.18-version "6.18.31")
|
||||
(define-public linux-libre-6.18-version "6.18.33")
|
||||
(define-public linux-libre-6.18-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.18
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -573,7 +573,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0qlih8w8wg4v5cwbmd34rbhb6mjgbx69i9rx3s2vxw7h42q9l0ai")))
|
||||
(define-public linux-libre-6.18-pristine-source
|
||||
(let ((version linux-libre-6.18-version)
|
||||
(hash (base32 "1djqya5jlgg0q0ra5mvqdfcsbf13vxffhgxyqvy9qh2x91nvi850")))
|
||||
(hash (base32 "10mp1ypsdz42jr26g1xxbw806mvpy0n35418fhsgxxlr4lqgy5kg")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.18)))
|
||||
@@ -582,7 +582,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
|
||||
(define-public linux-libre-6.12-version "6.12.89")
|
||||
(define-public linux-libre-6.12-version "6.12.91")
|
||||
(define-public linux-libre-6.12-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.12
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -592,12 +592,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1x48hpmvajz7v5wn1vdd7l5r14mq4ngzh5npz3pj81z4f1g61i0a")))
|
||||
(define-public linux-libre-6.12-pristine-source
|
||||
(let ((version linux-libre-6.12-version)
|
||||
(hash (base32 "184r0wji02qw2n7ncx0jrf382yk20nnf79fvafim6a4x9a0gsnjq")))
|
||||
(hash (base32 "0sbrb612b653w64g5jkpbf68y0fka2sgnwblam41k7wz2sgapwhg")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.12)))
|
||||
|
||||
(define-public linux-libre-6.6-version "6.6.138")
|
||||
(define-public linux-libre-6.6-version "6.6.141")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -607,12 +607,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0xp9b2vkrb0g0rn4i33b59rhp4sgh1dbwzk28vwz7kwac6l5rcpi")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "03x8ald0sjzdb6kpzrw8adnc78r3mdxrx8mzbxbpwp35vdgnpl5d")))
|
||||
(hash (base32 "1qbzxgqs7q9gyqfrf0j7p0pgjxnjj5mibamhm280mf9anqp6bhiv")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
||||
(define-public linux-libre-6.1-version "6.1.172")
|
||||
(define-public linux-libre-6.1-version "6.1.174")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -622,12 +622,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1w5pfws6l39dpc3lzazs1n6r4m96f6rdf6vb2scy5fhmrd933ldc")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "16dlfdzjcsc21m5sfbhamg8y3ay54rz8a0qqvqrmxq691mhjwrzi")))
|
||||
(hash (base32 "0vp07x4v82qnmc1pifv3ynp2ab5mvlbfnpqvs5893bi3yrnk927d")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.206")
|
||||
(define-public linux-libre-5.15-version "5.15.208")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -637,12 +637,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1s6km2r2mad0wpf7nqn4rqsykw1lm386l1yskmil24239fbva1f1")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "07z6lla7xpnn4sn3l4zw3x7m8ih8w6h54k71qrxrf5zv9i7wxijz")))
|
||||
(hash (base32 "0wmi50q8vgblhbh77d1a4sw4snymr6srqd22bxcjg9i7wcv70gdm")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.255")
|
||||
(define-public linux-libre-5.10-version "5.10.257")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -652,7 +652,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1hgza8fsps7bkjf4i0f2xgvrh1r183z3i6lxrr2nr8qbi5d13qs7")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "19v6g2fq4nqv38irlcd9x14s6d398c56mxzpyc03q4xmpy3v6mir")))
|
||||
(hash (base32 "1lghcrxc1fqarvym03jrcda2a3labc887ci9yjqgbmv3nphzvc88")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
@@ -1218,6 +1218,12 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-7.0-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-7.0-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-7.0-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-7.0-source)
|
||||
(define-public linux-libre linux-libre-7.0)
|
||||
|
||||
(define-public linux-libre-6.19
|
||||
(make-linux-libre* linux-libre-6.19-version
|
||||
linux-libre-6.19-gnu-revision
|
||||
@@ -1234,12 +1240,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-6.18-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-6.18-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-6.18-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-6.18-source)
|
||||
(define-public linux-libre linux-libre-6.18)
|
||||
|
||||
(define-public linux-libre-6.12
|
||||
(make-linux-libre* linux-libre-6.12-version
|
||||
linux-libre-6.12-gnu-revision
|
||||
@@ -1979,6 +1979,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-7.0)
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.19
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
@@ -2315,8 +2317,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-6.18)
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.12
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
@@ -102,7 +103,6 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages notcurses)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages perl)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
(define-public lout
|
||||
(package
|
||||
(name "lout")
|
||||
(version "3.43.2")
|
||||
(version "3.43.4")
|
||||
|
||||
;; The original version at <https://savannah.nongnu.org/projects/lout/> is
|
||||
;; effectively abandoned, not receiving build fixes and the likes, and
|
||||
@@ -41,7 +41,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lvk1ffzgydgj4csaclrh3a9nwla061clgf8lda6n47masg12qzi"))))
|
||||
"09s6mcimvhw96i3vncqa8cz04xcq9x3qir8m1nzqfny8vdwyz35n"))))
|
||||
(build-system gnu-build-system) ; actually, just a makefile
|
||||
(outputs '("out" "doc"))
|
||||
(native-inputs
|
||||
|
||||
+16
-1
@@ -74,7 +74,6 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages rdf)
|
||||
@@ -151,6 +150,22 @@ automatic memory management with incremental garbage collection, making it ideal
|
||||
for configuration, scripting, and rapid prototyping.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public lua-5.5
|
||||
(package (inherit lua)
|
||||
(version "5.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.lua.org/ftp/lua-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0gcbsr00difm2s82pflxg28zcnjka9048lncbfvwl1fhpcmw7k2p"))
|
||||
;; Note: Some lua-5.4 patches seem to apply without issues
|
||||
(patches (search-patches "lua-5.4-pkgconfig.patch"
|
||||
"lua-5.4-liblua-so.patch"
|
||||
"lua-5.x-search-path-helpers.patch"
|
||||
"lua-5.5-search-paths.patch"))))
|
||||
(native-search-paths (lua-search-paths "5.5"))))
|
||||
|
||||
(define-public lua-5.4
|
||||
(package (inherit lua)
|
||||
(version "5.4.8")
|
||||
|
||||
@@ -96,7 +96,6 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages monitoring)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages oneapi)
|
||||
|
||||
@@ -328,7 +328,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
|
||||
(define-public man-pages
|
||||
(package
|
||||
(name "man-pages")
|
||||
(version "6.16")
|
||||
(version "6.18")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -338,7 +338,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
|
||||
(string-append "mirror://kernel.org/linux/docs/man-pages/Archive/"
|
||||
"man-pages-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32 "18yp64vb8br49d44jmq47dc901n7p20nqs88zsf8106dfnypl94f"))))
|
||||
(base32 "1l949fvqikf88qjxbp1wny185prd3mcgcd3s49l8qx2rigfgld69"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -125,6 +125,7 @@
|
||||
#:use-module (gnu packages benchmark)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
@@ -176,7 +177,6 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages oneapi)
|
||||
|
||||
@@ -184,7 +184,7 @@ asyncio_mode = auto")))))
|
||||
python-attrs
|
||||
python-cachetools
|
||||
python-click
|
||||
python-dbus-1.2
|
||||
python-dbus
|
||||
python-janus
|
||||
python-keyring
|
||||
python-logbook
|
||||
|
||||
@@ -3687,7 +3687,7 @@ can be whipped up with little effort.")
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs
|
||||
(list jansson libcap ncurses))
|
||||
(list jansson ncurses))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; tests require network access
|
||||
(home-page "https://www.bitwizard.nl/mtr/")
|
||||
|
||||
+11
-120
@@ -5,6 +5,7 @@
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2026 Luca Kredel <luca.kredel@web.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -22,127 +23,17 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages ninja)
|
||||
#:use-module ((guix licenses) #:select (asl2.0 expat))
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages re2c)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (guix deprecation))
|
||||
|
||||
(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 asl2.0))))
|
||||
(define-deprecated/public-alias ninja/pinned
|
||||
(@ (gnu packages build-tools) ninja/pinned))
|
||||
|
||||
(define-public ninja
|
||||
(package/inherit ninja/pinned
|
||||
(properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
|
||||
(define-deprecated/public-alias ninja
|
||||
(@ (gnu packages build-tools) ninja))
|
||||
|
||||
(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 asl2.0 ;for the most part
|
||||
expat)))) ;htab.h, htab.c and tree.c
|
||||
(define-deprecated/public-alias samurai
|
||||
(@ (gnu packages build-tools) samurai))
|
||||
|
||||
(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.")))
|
||||
(define-deprecated/public-alias samu-as-ninja-wrapper
|
||||
(@ (gnu packages build-tools) samu-as-ninja-wrapper))
|
||||
|
||||
@@ -109,7 +109,6 @@
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages patchutils)
|
||||
|
||||
@@ -304,6 +304,12 @@ human.")
|
||||
ruby-asciidoctor/minimal))
|
||||
#~'()
|
||||
#~(list "-DWITH_XC_DOCS=NO")))
|
||||
;; Entries have recently become sorted per the locale, and
|
||||
;; causes testentrymodel to fail when using the C locale (see:
|
||||
;; https://github.com/keepassxreboot/keepassxc/issues/11813).
|
||||
;; testClip runs 'xclip', which hangs in the container,
|
||||
;; perhaps because it lacks a TTY.
|
||||
#:test-exclude "testentrymodel|testcli"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'record-clipboard-programs
|
||||
@@ -327,17 +333,7 @@ human.")
|
||||
"\")")))
|
||||
(substitute* "src/gui/Clipboard.cpp"
|
||||
(("\"wl-copy\"")
|
||||
(format #f "~s" (search-input-file inputs "bin/wl-copy"))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; Entries have recently become sorted per the locale, and
|
||||
;; causes testentrymodel to fail when using the C locale (see:
|
||||
;; https://github.com/keepassxreboot/keepassxc/issues/11813).
|
||||
;; testClip runs 'xclip', which hangs in the container,
|
||||
;; perhaps because it lacks a TTY.
|
||||
(invoke "ctest" "--exclude-regex"
|
||||
"testentrymodel|testcli")))))))
|
||||
(format #f "~s" (search-input-file inputs "bin/wl-copy")))))))))
|
||||
(native-inputs
|
||||
(append
|
||||
(list qttools-5)
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
Remove nonfree tile data.
|
||||
|
||||
Note this does not remove the directories; ensure they are snippeted out separately.
|
||||
|
||||
Patch by bdunahu <bdunahu@operationnull.com>.
|
||||
|
||||
diff --git a/lib/tiles/list.txt b/lib/tiles/list.txt
|
||||
index 3677ba45e..eb2592c9f 100644
|
||||
--- a/lib/tiles/list.txt
|
||||
+++ b/lib/tiles/list.txt
|
||||
@@ -54,15 +48,3 @@
|
||||
size:16:16:8x16.png
|
||||
pref:graf-nmd.prf
|
||||
extra:0:0:0
|
||||
-
|
||||
-name:5:Shockbolt Dark
|
||||
-directory:shockbolt
|
||||
-size:64:64:64x64.png
|
||||
-pref:graf-shb-dark.prf
|
||||
-extra:1:27:31
|
||||
-
|
||||
-name:6:Shockbolt Light
|
||||
-directory:shockbolt
|
||||
-size:64:64:64x64.png
|
||||
-pref:graf-shb-light.prf
|
||||
-extra:1:27:31
|
||||
@@ -0,0 +1,50 @@
|
||||
Change Lua to use GUIX_LUA_PATH and GUIX_LUA_CPATH to construct the default
|
||||
LUA_PATH and LUA_CPATH, instead of using hard-coded paths that Guix doesn't
|
||||
populate.
|
||||
|
||||
These paths don't use Lua's usual '?' path wildcard, and thus are compatible
|
||||
with Guix's search-paths mechanism.
|
||||
|
||||
This patch uses functions defined in lua-5.x-search-path-helpers.patch.
|
||||
|
||||
--- a/src/loadlib.c
|
||||
+++ b/src/loadlib.c
|
||||
@@ -280,7 +280,9 @@
|
||||
if (path == NULL) /* no versioned environment variable? */
|
||||
path = getenv(envname); /* try unversioned name */
|
||||
if (path == NULL || noenv(L)) /* no environment variable? */
|
||||
- lua_pushexternalstring(L, dft, strlen(dft), NULL, NULL); /* use default */
|
||||
+ /* Copy our constructed default string onto the Lua stack.
|
||||
+ * Otherwise the location might be reused for another string and case us problems! */
|
||||
+ lua_pushstring(L, dft); /* use default */
|
||||
else if ((dftmark = strstr(path, LUA_PATH_SEP LUA_PATH_SEP)) == NULL)
|
||||
lua_pushstring(L, path); /* nothing to change */
|
||||
else { /* path contains a ";;": insert default path in its place */
|
||||
@@ -721,14 +729,25 @@
|
||||
}
|
||||
|
||||
|
||||
+#include "./guixpaths.c"
|
||||
+
|
||||
+
|
||||
LUAMOD_API int luaopen_package (lua_State *L) {
|
||||
luaL_getsubtable(L, LUA_REGISTRYINDEX, CLIBS); /* create CLIBS table */
|
||||
lua_pop(L, 1); /* will not use it now */
|
||||
luaL_newlib(L, pk_funcs); /* create 'package' table */
|
||||
createsearcherstable(L);
|
||||
+
|
||||
/* set paths */
|
||||
+ /* Calculate default LUA_PATH and LUA_CPATH values from their
|
||||
+ corresponding GUIX_ environment variables */
|
||||
+ const char* default_path = guix_path(L); // push default_path
|
||||
+ const char* default_cpath = guix_cpath(L); // push default_cpath
|
||||
+ lua_pushvalue(L, -3); // copy the old head of the stack back to the top
|
||||
- setpath(L, "path", LUA_PATH_VAR, LUA_PATH_DEFAULT);
|
||||
- setpath(L, "cpath", LUA_CPATH_VAR, LUA_CPATH_DEFAULT);
|
||||
+ setpath(L, "path", LUA_PATH_VAR, default_path);
|
||||
+ setpath(L, "cpath", LUA_CPATH_VAR, default_cpath);
|
||||
+ lua_pop(L, 3); // pop our three working values back off the stack
|
||||
+
|
||||
/* store config information */
|
||||
lua_pushliteral(L, LUA_DIRSEP "\n" LUA_PATH_SEP "\n" LUA_PATH_MARK "\n"
|
||||
LUA_EXEC_DIR "\n" LUA_IGMARK "\n");
|
||||
@@ -98,7 +98,6 @@
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages ocr)
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages noweb)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
|
||||
@@ -55,7 +55,6 @@
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
||||
@@ -237,7 +237,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.100.6")
|
||||
(version "2.100.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -246,7 +246,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0iy8477l9sf8p2jks8dlk5irssh1m4yyj7rflwvirbv19maaaghg"))
|
||||
(base32 "09aqszk3kwjb8qznaywzvhir3nxkf6mkib68mkyn4f7siswb3apg"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
|
||||
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
@@ -66,6 +66,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages check)
|
||||
@@ -77,7 +78,6 @@
|
||||
#:use-module (gnu packages jupyter)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
|
||||
+194
-158
@@ -40,6 +40,7 @@
|
||||
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Reza Housseini <reza@housseini.me>
|
||||
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -87,7 +88,6 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -535,6 +535,42 @@ setting up, manipulating, running, visualizing and analyzing atomistic
|
||||
simulations.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python-autoray
|
||||
(package
|
||||
(name "python-autoray")
|
||||
(version "0.8.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jcmgray/autoray")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gqfkpdng09l804xm9r1r098w10gr1bc5ax2xmhrpz9niybv71f5"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; tests: 1758 passed, 1483 skipped, 96 xfailed, 4 warnings
|
||||
(native-inputs
|
||||
(list python-hatch-vcs
|
||||
python-hatchling
|
||||
python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-dask
|
||||
python-matplotlib
|
||||
python-networkx
|
||||
python-numpy
|
||||
python-opt-einsum
|
||||
python-scipy
|
||||
python-sparse))
|
||||
(home-page "https://github.com/jcmgray/autoray")
|
||||
(synopsis "Library for abstracting tensor operations")
|
||||
(description
|
||||
"This package provides a lightweight Python library for
|
||||
abstracting tensor operations. It provides an automatic dispatch mechanism
|
||||
that means you can write backend agnostic code that works for any library
|
||||
that provides a @code{numpy} compatible API.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-baycomp
|
||||
(package
|
||||
(name "python-baycomp")
|
||||
@@ -1115,6 +1151,93 @@ computing in Python. It extends both the @code{concurrent.futures} and
|
||||
@code{dask} APIs to moderate sized clusters.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-dvc-data
|
||||
(package
|
||||
(name "python-dvc-data")
|
||||
(version "3.16.12")
|
||||
(home-page "https://github.com/iterative/dvc-data")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "dvc_data" version))
|
||||
(sha256
|
||||
(base32
|
||||
"156iwdn7v5jhwbpwz92n28qiasgcbmcqv9vxg8xbvdfxzlzw0b7r"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-dictdiffer
|
||||
python-diskcache
|
||||
python-dvc-objects
|
||||
python-fsspec
|
||||
python-funcy-1.14
|
||||
python-orjson
|
||||
python-pygtrie
|
||||
python-sqltrie
|
||||
python-tqdm))
|
||||
(native-inputs
|
||||
(list python-click
|
||||
python-pytest
|
||||
python-pytest-benchmark
|
||||
python-pytest-mock
|
||||
;; python-pytest-servers is not packaged in Guix yet
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-typer
|
||||
python-wheel))
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; TODO: package python-pytest-server with its transitive dependencies
|
||||
#~(list "--ignore=tests/hashfile/test_db.py"
|
||||
"--ignore=tests/hashfile/test_db_index.py"
|
||||
"--ignore=tests/hashfile/test_obj.py"
|
||||
"--ignore=tests/index/test_build.py"
|
||||
"--ignore=tests/index/test_checkout.py"
|
||||
"--ignore=tests/index/test_fs.py"
|
||||
"--ignore=tests/index/test_index.py"
|
||||
"--ignore=tests/index/test_storage.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pyproject
|
||||
(lambda _
|
||||
;; setuptools cannot handle both license and license-files
|
||||
(substitute* "pyproject.toml"
|
||||
(("^license = .*") "license = {text = \"Apache-2.0\"}\n")
|
||||
(("^license-files = .*") "")))))))
|
||||
(synopsis "DVC's data management subsystem")
|
||||
(description "Dvc data is DVC's data management subsystem.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-dvc-objects
|
||||
(package
|
||||
(name "python-dvc-objects")
|
||||
(version "5.1.1")
|
||||
(home-page "https://github.com/iterative/dvc-objects")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "dvc_objects" version))
|
||||
(sha256
|
||||
(base32 "1amx5z8k2v2hbsajg0dcd5dxmmlv9bnbchpas95s8sj86cm8yc4y"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-fsspec
|
||||
python-funcy-1.14))
|
||||
(native-inputs
|
||||
(list python-mypy
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-benchmark
|
||||
python-pytest-mock
|
||||
python-pytest-sugar
|
||||
python-reflink
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(synopsis "Filesystem and object-db level abstractions for DVC")
|
||||
(description "Dvc objects provides a filesystem and object-db level
|
||||
abstractions to use in dvc and dvc-data.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-ecos
|
||||
(package
|
||||
(name "python-ecos")
|
||||
@@ -1161,6 +1284,47 @@ numerical software for solving convex second-order cone programs (SOCPs).")
|
||||
which uncovers hidden structures in categorical data")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-einops
|
||||
(package
|
||||
(name "python-einops")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;PyPI misses .ipynb files required for tests
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arogozhnikov/einops")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07xd5a4sya3mr003f17hxykcbq3zf3mnr51qagv7fy55qcnbkn97"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; Skip optional dependency on Jupyter during tests.
|
||||
#~(list "--ignore=scripts/test_notebooks.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-backend
|
||||
(lambda _
|
||||
;; Einops supports different backends, but we test
|
||||
;; only NumPy for availability and simplicity.
|
||||
(setenv "EINOPS_TEST_BACKENDS" "numpy"))))))
|
||||
(native-inputs
|
||||
(list python-hatchling
|
||||
python-nbconvert
|
||||
python-nbformat
|
||||
python-parameterized
|
||||
python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-numpy))
|
||||
(home-page "https://einops.rocks/")
|
||||
(synopsis "Tensor operations for different backends")
|
||||
(description
|
||||
"Einops provides a set of tensor operations for NumPy and multiple deep
|
||||
learning frameworks.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-fast-histogram
|
||||
(package
|
||||
(name "python-fast-histogram")
|
||||
@@ -1233,6 +1397,35 @@ clustering schemes efficiently. The package is made with two interfaces to
|
||||
standard software: R and Python.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
;; XXX: Not maintained since 2019. The project was archived by the owner on
|
||||
;; Nov 2, 2020. It is now read-only.
|
||||
(define-public python-fbpca
|
||||
(package
|
||||
(name "python-fbpca")
|
||||
(version "1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fbpca" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lbjqhqsdmqk86lb86q3ywf7561zmdny1dfvgwqkyrkr4ij7f1hm"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; TypeError: 'dia_matrix' object is not subscriptable
|
||||
#~(list "--deselect=fbpca.py::TestPCA::test_sparse"
|
||||
"fbpca.py")))
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-numpy python-scipy))
|
||||
(home-page "https://fbpca.readthedocs.io/")
|
||||
(synopsis "Functions for principal component analysis and accuracy checks")
|
||||
(description
|
||||
"This package provides fast computations for @dfn{principal component
|
||||
analysis} (PCA), SVD, and eigendecompositions via randomized methods")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-fgivenx
|
||||
(package
|
||||
(name "python-fgivenx")
|
||||
@@ -4627,76 +4820,6 @@ changed, it made sense to abstract away the nuisance of having to re-learn
|
||||
them.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;; XXX: Not maintained since 2019. The project was archived by the owner on
|
||||
;; Nov 2, 2020. It is now read-only.
|
||||
(define-public python-fbpca
|
||||
(package
|
||||
(name "python-fbpca")
|
||||
(version "1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fbpca" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lbjqhqsdmqk86lb86q3ywf7561zmdny1dfvgwqkyrkr4ij7f1hm"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; TypeError: 'dia_matrix' object is not subscriptable
|
||||
#~(list "--deselect=fbpca.py::TestPCA::test_sparse"
|
||||
"fbpca.py")))
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-numpy python-scipy))
|
||||
(home-page "https://fbpca.readthedocs.io/")
|
||||
(synopsis "Functions for principal component analysis and accuracy checks")
|
||||
(description
|
||||
"This package provides fast computations for @dfn{principal component
|
||||
analysis} (PCA), SVD, and eigendecompositions via randomized methods")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-einops
|
||||
(package
|
||||
(name "python-einops")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;PyPI misses .ipynb files required for tests
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arogozhnikov/einops")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07xd5a4sya3mr003f17hxykcbq3zf3mnr51qagv7fy55qcnbkn97"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; Skip optional dependency on Jupyter during tests.
|
||||
#~(list "--ignore=scripts/test_notebooks.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-backend
|
||||
(lambda _
|
||||
;; Einops supports different backends, but we test
|
||||
;; only NumPy for availability and simplicity.
|
||||
(setenv "EINOPS_TEST_BACKENDS" "numpy"))))))
|
||||
(native-inputs
|
||||
(list python-hatchling
|
||||
python-nbconvert
|
||||
python-nbformat
|
||||
python-parameterized
|
||||
python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-numpy))
|
||||
(home-page "https://einops.rocks/")
|
||||
(synopsis "Tensor operations for different backends")
|
||||
(description
|
||||
"Einops provides a set of tensor operations for NumPy and multiple deep
|
||||
learning frameworks.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-uhi
|
||||
(package
|
||||
(name "python-uhi")
|
||||
@@ -6267,93 +6390,6 @@ well as key metadata and SIRENE database containing data on all French
|
||||
compagnies.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-dvc-objects
|
||||
(package
|
||||
(name "python-dvc-objects")
|
||||
(version "5.1.1")
|
||||
(home-page "https://github.com/iterative/dvc-objects")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "dvc_objects" version))
|
||||
(sha256
|
||||
(base32 "1amx5z8k2v2hbsajg0dcd5dxmmlv9bnbchpas95s8sj86cm8yc4y"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-fsspec
|
||||
python-funcy-1.14))
|
||||
(native-inputs
|
||||
(list python-mypy
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-benchmark
|
||||
python-pytest-mock
|
||||
python-pytest-sugar
|
||||
python-reflink
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(synopsis "Filesystem and object-db level abstractions for DVC")
|
||||
(description "Dvc objects provides a filesystem and object-db level
|
||||
abstractions to use in dvc and dvc-data.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-dvc-data
|
||||
(package
|
||||
(name "python-dvc-data")
|
||||
(version "3.16.12")
|
||||
(home-page "https://github.com/iterative/dvc-data")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "dvc_data" version))
|
||||
(sha256
|
||||
(base32
|
||||
"156iwdn7v5jhwbpwz92n28qiasgcbmcqv9vxg8xbvdfxzlzw0b7r"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-dictdiffer
|
||||
python-diskcache
|
||||
python-dvc-objects
|
||||
python-fsspec
|
||||
python-funcy-1.14
|
||||
python-orjson
|
||||
python-pygtrie
|
||||
python-sqltrie
|
||||
python-tqdm))
|
||||
(native-inputs
|
||||
(list python-click
|
||||
python-pytest
|
||||
python-pytest-benchmark
|
||||
python-pytest-mock
|
||||
;; python-pytest-servers is not packaged in Guix yet
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-typer
|
||||
python-wheel))
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; TODO: package python-pytest-server with its transitive dependencies
|
||||
#~(list "--ignore=tests/hashfile/test_db.py"
|
||||
"--ignore=tests/hashfile/test_db_index.py"
|
||||
"--ignore=tests/hashfile/test_obj.py"
|
||||
"--ignore=tests/index/test_build.py"
|
||||
"--ignore=tests/index/test_checkout.py"
|
||||
"--ignore=tests/index/test_fs.py"
|
||||
"--ignore=tests/index/test_index.py"
|
||||
"--ignore=tests/index/test_storage.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pyproject
|
||||
(lambda _
|
||||
;; setuptools cannot handle both license and license-files
|
||||
(substitute* "pyproject.toml"
|
||||
(("^license = .*") "license = {text = \"Apache-2.0\"}\n")
|
||||
(("^license-files = .*") "")))))))
|
||||
(synopsis "DVC's data management subsystem")
|
||||
(description "Dvc data is DVC's data management subsystem.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-pyqtgraph
|
||||
(package
|
||||
(name "python-pyqtgraph")
|
||||
|
||||
@@ -268,7 +268,6 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openstack)
|
||||
@@ -17627,6 +17626,14 @@ should be stored on various operating systems.")
|
||||
(sha256
|
||||
(base32 "0vm1r1jlaiagj0l9yf7j6zn9w3733dr2169911c0svgrr3gwiwn9"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(substitute* "pasta/augment/inline_test.py"
|
||||
(("assertRaisesRegexp") "assertRaisesRegex")))))))
|
||||
(propagated-inputs (list python-six))
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(home-page "https://github.com/google/pasta")
|
||||
@@ -39748,6 +39755,31 @@ progress, among other things.")
|
||||
for linkify-it-py projects.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-udapi
|
||||
(package
|
||||
(name "python-udapi")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/udapi/udapi-python")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z9nyj0jmd2yk58c5kag4fkfb7y478di859xi56xc7fhvmyjf7nj"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-colorama python-termcolor))
|
||||
(home-page "http://udapi.readthedocs.io")
|
||||
(synopsis "Framework for processing Universal Dependencies data")
|
||||
(description
|
||||
"This package is a Python library providing an API for processing
|
||||
Universal Dependencies data.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-ujson
|
||||
(package
|
||||
(name "python-ujson")
|
||||
|
||||
+17
-49
@@ -74,6 +74,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
@@ -112,7 +113,6 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pciutils)
|
||||
@@ -179,9 +179,9 @@ official project.")
|
||||
(home-page "https://github.com/oclero/qtappinstancemanager")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public qcoro-qt5
|
||||
(define-public qcoro-qt6
|
||||
(package
|
||||
(name "qcoro-qt5")
|
||||
(name "qcoro-qt6")
|
||||
(version "0.11.0")
|
||||
(source
|
||||
(origin
|
||||
@@ -194,31 +194,18 @@ official project.")
|
||||
(base32 "0g9laaw1mkp5ynpp3c7aingndcmgncbacslq3p6bzwjisdd6xr5m"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
(list #:qtbase qtbase
|
||||
#:configure-flags
|
||||
#~(list "-DCMAKE_CXX_FLAGS=-fPIC"
|
||||
(string-append "-DUSE_QT_VERSION="
|
||||
#$(version-major
|
||||
(package-version
|
||||
(this-package-input "qtbase")))))))
|
||||
"-DUSE_QT_VERSION=6")))
|
||||
(native-inputs (list dbus)) ;for tests
|
||||
(inputs (list qtbase-5 qtdeclarative-5 qtwebsockets-5))
|
||||
(inputs (list qtdeclarative qtwebsockets libxkbcommon))
|
||||
(home-page "https://qcoro.dvratil.cz/")
|
||||
(synopsis "C++ Coroutine Library for Qt5")
|
||||
(synopsis "C++ Coroutine Library for Qt6")
|
||||
(description "QCoro is a C++ library that provide set of tools to make use
|
||||
of C++20 coroutines in connection with certain asynchronous Qt actions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public qcoro-qt6
|
||||
(package
|
||||
(inherit qcoro-qt5)
|
||||
(name "qcoro-qt6")
|
||||
(synopsis "C++ Coroutine Library for Qt6")
|
||||
(inputs (modify-inputs inputs
|
||||
(replace "qtbase" qtbase)
|
||||
(replace "qtdeclarative" qtdeclarative)
|
||||
(replace "qtwebsockets" qtwebsockets)
|
||||
(append libxkbcommon)))))
|
||||
|
||||
(define-public qlementine
|
||||
(package
|
||||
(name "qlementine")
|
||||
@@ -1674,13 +1661,6 @@ from within Qt 5.")))
|
||||
XLSX document format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public qxlsx-qt5
|
||||
(package/inherit qxlsx
|
||||
(name "qxlsx-qt5")
|
||||
(inputs
|
||||
(list qtbase-5))
|
||||
(synopsis "Qt5 build for the qxlsx library")))
|
||||
|
||||
(define-public qtxmlpatterns-5
|
||||
(package (inherit qtsvg-5)
|
||||
(name "qtxmlpatterns")
|
||||
@@ -6465,9 +6445,9 @@ handles the authentication process of an account and securely stores the
|
||||
credentials and service-specific settings.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public packagekit-qt5
|
||||
(define-public packagekit-qt6
|
||||
(package
|
||||
(name "packagekit-qt5")
|
||||
(name "packagekit-qt6")
|
||||
(version "1.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -6479,29 +6459,17 @@ credentials and service-specific settings.")
|
||||
(base32
|
||||
"1nx8xfhz9v4pc0mz1ir0pq47skpc3w3yj8wqa4m5yky87ib5xcxc"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ;no test suite
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list packagekit qtbase-5))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:configure-flags #~(list "-DBUILD_WITH_QT6=ON")))
|
||||
(inputs (list packagekit qtbase))
|
||||
(home-page "https://www.freedesktop.org/software/PackageKit/pk-intro.html")
|
||||
(synopsis "Qt5 bindings for PackageKit")
|
||||
(description "Provides Qt5 bindings to PackageKit which is a DBUS
|
||||
abstraction layer that allows the session user to manage packages in
|
||||
a secure way.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public packagekit-qt6
|
||||
(package
|
||||
(inherit packagekit-qt5)
|
||||
(name "packagekit-qt6")
|
||||
(arguments (substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons "-DBUILD_WITH_QT6=ON" #$flags))))
|
||||
(inputs (modify-inputs inputs
|
||||
(replace "qtbase" qtbase)))
|
||||
(synopsis "Qt6 bindings for PackageKit")
|
||||
(description "Provides Qt6 bindings to PackageKit which is a DBUS
|
||||
abstraction layer that allows the session user to manage packages in
|
||||
a secure way.")))
|
||||
a secure way.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
;; fork for support qt6
|
||||
(define-public signond-qt6
|
||||
|
||||
@@ -116,7 +116,6 @@
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages pcre)
|
||||
@@ -4212,14 +4211,14 @@ background agent taking care of maintaining the necessary state.")
|
||||
(define-public rust-cargo-c
|
||||
(package
|
||||
(name "rust-cargo-c")
|
||||
(version "0.10.22+cargo-0.96.0")
|
||||
(version "0.10.20+cargo-0.94.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cargo-c" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1j5122hla12v6xjpvsvzv10gzvm80dbf65b2cy6669kcpjvlk1v0"))))
|
||||
(base32 "0q1198xlkcd50nxx722s18lpm6hacnvzqqacb0xdld8ll9z3m5ay"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments (list #:install-source? #f))
|
||||
(native-inputs
|
||||
|
||||
+533
-789
File diff suppressed because it is too large
Load Diff
@@ -576,40 +576,6 @@ for Rust.")
|
||||
UTF-32 support.")
|
||||
(license (list license:expat license:unlicense)))))
|
||||
|
||||
(define-public rust-pipewire-0.8.0.fd3d8f7
|
||||
(let ((commit "fd3d8f7861a29c2eeaa4c393402e013578bb36d9")
|
||||
(revision "0"))
|
||||
(hidden-package
|
||||
(package
|
||||
(name "rust-pipewire")
|
||||
(version (git-version "0.8.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.freedesktop.org/pipewire/pipewire-rs.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hzyhz7xg0mz8a5y9j6yil513p1m610q3j9pzf6q55vdh5mcn79v"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list #:skip-build? #t
|
||||
#:cargo-package-crates
|
||||
''("libspa-sys" "libspa" "pipewire-sys" "pipewire")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Avoid circular dependency.
|
||||
(add-after 'unpack 'remove-dev-dependencies
|
||||
(lambda _
|
||||
(substitute* "libspa/Cargo.toml"
|
||||
(("^pipewire.*") "")))))))
|
||||
(inputs (cargo-inputs 'rust-pipewire-0.8.0.fd3d8f7))
|
||||
(home-page "https://pipewire.org/")
|
||||
(synopsis "Rust bindings for PipeWire")
|
||||
(description "This package provides Rust bindings for PipeWire.")
|
||||
(license license:expat)))))
|
||||
|
||||
;; Workspace dependency of zed.
|
||||
;;
|
||||
;; Cargo side: Cargo unifies dependency versions across zed's
|
||||
|
||||
+61
-130
@@ -127,15 +127,11 @@
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base-rust)
|
||||
((#:disallowed-references _ '())
|
||||
(list (this-package-native-input "rust")
|
||||
;; Refer to cargo as #$rustc:cargo.
|
||||
(gexp-input (this-package-native-input "rust") "cargo")))))
|
||||
(list (this-package-native-input "rustc-bootstrap")))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-minimal-wrapper
|
||||
python-setuptools-bootstrap
|
||||
base-rust
|
||||
`(,base-rust "cargo")))))
|
||||
(modify-inputs native-inputs
|
||||
(replace "rustc-bootstrap" base-rust)
|
||||
(replace "cargo-bootstrap" (list base-rust "cargo"))))))
|
||||
|
||||
;;; Note: mrustc's only purpose is to be able to bootstrap Rust; it's designed
|
||||
;;; to be used in source form.
|
||||
@@ -604,33 +600,40 @@ safety and thread safety guarantees.")
|
||||
(setenv "PATH" (string-append "/tmp/bin:" (getenv "PATH")))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(call-with-output-file "config.toml"
|
||||
(lambda (port)
|
||||
(display (string-append "
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(gcc (assoc-ref inputs "gcc"))
|
||||
(python (assoc-ref inputs "python"))
|
||||
(binutils (assoc-ref inputs "binutils"))
|
||||
(rustc (assoc-ref inputs "rustc-bootstrap"))
|
||||
(cargo (assoc-ref inputs "cargo-bootstrap"))
|
||||
(llvm (assoc-ref inputs "llvm")))
|
||||
(call-with-output-file "config.toml"
|
||||
(lambda (port)
|
||||
(display (string-append "
|
||||
[llvm]
|
||||
[build]
|
||||
cargo = \"" (search-input-file inputs "bin/cargo") "\"
|
||||
rustc = \"" (search-input-file inputs "bin/rustc") "\"
|
||||
cargo = \"" cargo "/bin/cargo" "\"
|
||||
rustc = \"" rustc "/bin/rustc" "\"
|
||||
docs = false
|
||||
python = \"" (search-input-file inputs "bin/python") "\"
|
||||
python = \"" python "/bin/python" "\"
|
||||
vendor = true
|
||||
submodules = false
|
||||
[install]
|
||||
prefix = \"" (assoc-ref outputs "out") "\"
|
||||
prefix = \"" out "\"
|
||||
sysconfdir = \"etc\"
|
||||
[rust]
|
||||
debug=false
|
||||
jemalloc=false
|
||||
default-linker = \"" (search-input-file inputs "bin/gcc") "\"
|
||||
default-linker = \"" gcc "/bin/gcc" "\"
|
||||
channel = \"stable\"
|
||||
rpath = true
|
||||
[target." ,(platform-rust-target (lookup-platform-by-system (%current-system))) "]
|
||||
llvm-config = \"" (search-input-file inputs "bin/llvm-config") "\"
|
||||
cc = \"" (search-input-file inputs "bin/gcc") "\"
|
||||
cxx = \"" (search-input-file inputs "bin/g++") "\"
|
||||
ar = \"" (search-input-file inputs "bin/ar") "\"
|
||||
llvm-config = \"" llvm "/bin/llvm-config" "\"
|
||||
cc = \"" gcc "/bin/gcc" "\"
|
||||
cxx = \"" gcc "/bin/g++" "\"
|
||||
ar = \"" binutils "/bin/ar" "\"
|
||||
[dist]
|
||||
") port)))))
|
||||
") port))))))
|
||||
(replace 'build
|
||||
;; The standard library source location moved in this release.
|
||||
(lambda* (#:key parallel-build? #:allow-other-keys)
|
||||
@@ -691,15 +694,15 @@ ar = \"" (search-input-file inputs "bin/ar") "\"
|
||||
`("LIBRARY_PATH" ":"
|
||||
suffix (,(string-append libc "/lib"))))))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-minimal-wrapper
|
||||
python-setuptools-bootstrap
|
||||
rust-bootstrap-1.54
|
||||
`(,rust-bootstrap-1.54 "cargo")))
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("python" ,python-minimal-wrapper)
|
||||
("python-setuptools" ,python-setuptools-bootstrap)
|
||||
("rustc-bootstrap" ,rust-bootstrap-1.54)
|
||||
("cargo-bootstrap" ,rust-bootstrap-1.54 "cargo")))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
llvm-13
|
||||
openssl))
|
||||
`(("bash" ,bash-minimal)
|
||||
("llvm" ,llvm-13)
|
||||
("openssl" ,openssl)))
|
||||
;; rustc invokes gcc, so we need to set its search paths accordingly.
|
||||
(native-search-paths
|
||||
%gcc-search-paths)
|
||||
@@ -1152,11 +1155,9 @@ safety and thread safety guarantees.")
|
||||
(package-arguments base-rust)))
|
||||
(native-inputs
|
||||
(if (supported-package? rust-bootstrap-1.74)
|
||||
(list pkg-config
|
||||
python-minimal-wrapper
|
||||
python-setuptools-bootstrap
|
||||
rust-bootstrap-1.74
|
||||
(list rust-bootstrap-1.74 "cargo"))
|
||||
(modify-inputs native-inputs
|
||||
(replace "cargo-bootstrap" (list rust-bootstrap-1.74 "cargo"))
|
||||
(replace "rustc-bootstrap" rust-bootstrap-1.74))
|
||||
(package-native-inputs base-rust)))
|
||||
(inputs (modify-inputs inputs
|
||||
(replace "llvm" llvm-17))))))
|
||||
@@ -1173,8 +1174,8 @@ safety and thread safety guarantees.")
|
||||
(delete 'add-cc-shim-to-path))))))))
|
||||
|
||||
(define-public rust-1.77
|
||||
(let ((base-rust (rust-bootstrapped-package rust-1.76 "1.77.2"
|
||||
"1hrq2r9brhwl77qv18qk4pqrzfgnn9w6fwf7vgykhrjrizpmf566")))
|
||||
(let ((base-rust (rust-bootstrapped-package rust-1.76 "1.77.1"
|
||||
"18d4ncdzp0nfimmw029xdf7vv1hgh82v30mjnnixnllzar66w47f")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(arguments
|
||||
@@ -1621,8 +1622,8 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(define-public rust-1.91
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package
|
||||
rust-1.90 "1.91.1"
|
||||
"08sp8idsymyrqj70sxhfjz5zx7nfl4vl4i7hc495fqczsc2y5p1q")))
|
||||
rust-1.90 "1.91.0"
|
||||
"12iysk87bmhlcdcbr939y8cdfcx0an4z9ixjlbq16c3ma60m4zrj")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(source
|
||||
@@ -1771,8 +1772,8 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(define-public rust-1.93
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package
|
||||
rust-1.92 "1.93.1"
|
||||
"07z02gq7x54sdbisbzcigk95h01qz0ckg52hz77g7jfrnd20l8sc")))
|
||||
rust-1.92 "1.93.0"
|
||||
"01d7a1mvyvqmq9khyw5cbnwyngzgb4pxpdwhqgzl669j7kc2n4b9")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(source
|
||||
@@ -1915,67 +1916,6 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(copy-recursively "stage2/lib"
|
||||
(string-append out "/lib")))))))))))))
|
||||
|
||||
(define-public rust-1.95
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package
|
||||
rust-1.94 "1.95.0"
|
||||
"05d53hj717ildhvm3rln7821r08nzbbfk72nqcvpb5j67sl856za")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source base-rust))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file-recursively
|
||||
'("src/llvm-project"
|
||||
"vendor/curl-sys-0.4.79+curl-8.12.0/curl"
|
||||
"vendor/curl-sys-0.4.83+curl-8.15.0/curl"
|
||||
"vendor/curl-sys-0.4.84+curl-8.17.0/curl"
|
||||
"vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
|
||||
"vendor/jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
|
||||
"vendor/libffi-sys-4.1.0/libffi"
|
||||
"vendor/libmimalloc-sys-0.1.44/c_src/mimalloc"
|
||||
"vendor/libz-sys-1.1.21/src/zlib"
|
||||
"vendor/libz-sys-1.1.23/src/zlib"
|
||||
"vendor/openssl-src-111.28.2+1.1.1w/openssl"
|
||||
"vendor/openssl-src-300.5.0+3.5.0/openssl"
|
||||
"vendor/openssl-src-300.5.4+3.5.4/openssl"
|
||||
"vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
|
||||
"vendor/tikv-jemalloc-sys-0.6.1+5.3.0-1-\
|
||||
ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
;; Remove vendored dynamically linked libraries.
|
||||
;; find . -not -type d -executable -exec file {} \+ | grep ELF
|
||||
;; Also remove the bundled (mostly Windows) libraries.
|
||||
(for-each delete-file
|
||||
(find-files "vendor" "\\.(a|dll|exe|lib)$"))
|
||||
;; Use the packaged nghttp2.
|
||||
(for-each
|
||||
(lambda (ver)
|
||||
(let ((vendored-dir
|
||||
(format #f "vendor/libnghttp2-sys-~a/nghttp2" ver))
|
||||
(build-rs
|
||||
(format #f "vendor/libnghttp2-sys-~a/build.rs" ver)))
|
||||
(delete-file-recursively vendored-dir)
|
||||
(delete-file build-rs)
|
||||
(call-with-output-file build-rs
|
||||
(lambda (port)
|
||||
(format port "fn main() {~@
|
||||
println!(\"cargo:rustc-link-lib=nghttp2\");~@
|
||||
}~%")))))
|
||||
'("0.1.11+1.64.0"))
|
||||
;; Adjust vendored dependency to explicitly use rustix with libc
|
||||
;; backend.
|
||||
(substitute* '("vendor/tempfile-3.14.0/Cargo.toml"
|
||||
"vendor/tempfile-3.16.0/Cargo.toml"
|
||||
"vendor/tempfile-3.19.1/Cargo.toml"
|
||||
"vendor/tempfile-3.20.0/Cargo.toml"
|
||||
"vendor/tempfile-3.21.0/Cargo.toml"
|
||||
"vendor/tempfile-3.23.0/Cargo.toml"
|
||||
"vendor/tempfile-3.24.0/Cargo.toml")
|
||||
(("features = \\[\"fs\"" all)
|
||||
(string-append all ", \"use-libc\""))))))))))
|
||||
|
||||
(define (make-ignore-test-list strs)
|
||||
"Function to make creating a list to ignore tests a bit easier."
|
||||
(map (lambda (str)
|
||||
@@ -1990,7 +1930,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
;;; Here we take the latest included Rust, make it public, and re-enable tests
|
||||
;;; and extra components such as rustfmt.
|
||||
(define-public rust
|
||||
(let ((base-rust rust-1.95))
|
||||
(let ((base-rust rust-1.93))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(properties (append
|
||||
@@ -2002,21 +1942,15 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(substitute-keyword-arguments
|
||||
(strip-keyword-arguments '(#:tests?)
|
||||
(package-arguments base-rust))
|
||||
((#:disallowed-references _ '())
|
||||
(list (this-package-native-input "rustc-bootstrap")
|
||||
;; Refer to cargo-bootstrap as #$rustc-bootstrap:cargo.
|
||||
(gexp-input (this-package-native-input "rustc-bootstrap")
|
||||
"cargo")))
|
||||
((#:modules modules)
|
||||
(cons '(srfi srfi-26) modules))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'patch-shebangs-in-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion
|
||||
"src/tools/rust-analyzer/crates/parser/test_data"
|
||||
(substitute* '("lexer/ok/shebang_frontmatter.rast"
|
||||
"parser/inline/ok/frontmatter.rast")
|
||||
(("/usr/bin/env cargo")
|
||||
(search-input-file inputs "bin/cargo")))
|
||||
(substitute* "lexer/ok/single_line_comments.rast"
|
||||
(("/usr/bin/env bash")
|
||||
(search-input-file inputs "bin/bash"))))))
|
||||
(add-after 'unpack 'disable-tests-requiring-git
|
||||
(lambda _
|
||||
(substitute* "src/tools/cargo/tests/testsuite/publish_lockfile.rs"
|
||||
@@ -2108,13 +2042,15 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "src/llvm-project/compiler-rt")
|
||||
(copy-recursively
|
||||
(search-input-directory inputs "/compiler-rt")
|
||||
(string-append (assoc-ref inputs "clang-source")
|
||||
"/compiler-rt")
|
||||
"src/llvm-project/compiler-rt")))
|
||||
(add-after 'unpack 'unpack-libunwind
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "src/llvm-project/libunwind")
|
||||
(copy-recursively
|
||||
(search-input-directory inputs "/libunwind")
|
||||
(string-append (assoc-ref inputs "clang-source")
|
||||
"/libunwind")
|
||||
"src/llvm-project/libunwind")))
|
||||
(replace 'patch-cargo-checksums
|
||||
(lambda _
|
||||
@@ -2156,7 +2092,6 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
"library/std" ;rustc
|
||||
"src/tools/cargo"
|
||||
"src/tools/clippy"
|
||||
"src/tools/llvm-bitcode-linker"
|
||||
"src/tools/rust-analyzer"
|
||||
"src/tools/rustfmt"))))
|
||||
(replace 'check
|
||||
@@ -2176,10 +2111,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(replace 'install
|
||||
;; Phase overridden to also install more tools.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Install rustc, std, and llvm-bitcode-linker.
|
||||
;; rust-src is handled separately in 'install-rust-src'.
|
||||
(invoke "./x.py" "install" "compiler/rustc" "library/std"
|
||||
"llvm-bitcode-linker")
|
||||
(invoke "./x.py" "install")
|
||||
(substitute* "config.toml"
|
||||
;; Adjust the prefix to the 'cargo' output.
|
||||
(("prefix = \"[^\"]*\"")
|
||||
@@ -2227,7 +2159,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "rust-src")
|
||||
"/lib/rustlib/src/rust/src/tools/")
|
||||
(substitute* (find-files "." "\\.(rs|rast)$")
|
||||
(substitute* (find-files "." "\\.rs$")
|
||||
(("#!.*/bin/cargo")
|
||||
(string-append "#!" (assoc-ref outputs "cargo")
|
||||
"/bin/cargo"))))))
|
||||
@@ -2246,15 +2178,14 @@ exec -a \"$0\" \"~a\" \"$@\""
|
||||
"/lib/rustlib/src/rust/library")
|
||||
(string-append bin "/.rust-analyzer-real"))))
|
||||
(chmod (string-append bin "/rust-analyzer") #o755))))))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs base-rust)
|
||||
(prepend
|
||||
;; Keep in sync with the llvm used to build rust.
|
||||
(package-source clang-runtime-21)
|
||||
;; Add test inputs.
|
||||
gdb/pinned
|
||||
git-minimal/pinned
|
||||
procps)))
|
||||
(native-inputs (cons*
|
||||
;; Keep in sync with the llvm used to build rust.
|
||||
`("clang-source" ,(package-source clang-runtime-21))
|
||||
;; Add test inputs.
|
||||
`("gdb" ,gdb/pinned)
|
||||
`("git-minimal" ,git-minimal/pinned)
|
||||
`("procps" ,procps)
|
||||
(package-native-inputs base-rust)))
|
||||
(native-search-paths
|
||||
(cons*
|
||||
;; For HTTPS access, Cargo reads from a single-file certificate
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
@@ -34,7 +35,6 @@
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#: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)
|
||||
|
||||
@@ -31008,7 +31008,7 @@ dissertation in LaTeX.")
|
||||
(license license:lppl1.2+)))
|
||||
|
||||
(define-public texlive-neoschool
|
||||
(let ((revision 79027)) ;release 1.3.7
|
||||
(let ((revision 79141)) ;release 1.3.9
|
||||
(package
|
||||
(name "texlive-neoschool")
|
||||
(version (string-append "2026.1-" (number->string revision)))
|
||||
@@ -31022,7 +31022,7 @@ dissertation in LaTeX.")
|
||||
"tex/latex/neoschool/"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08rv34syx6r4j3cfsfhd9409fhqfvh35vp4jb3ixmd1f03idzmmx"))))
|
||||
(base32 "1jafxp187i2y8wci0b8rsa661l57b71pyf41xrsfz41c7ky7m0gs"))))
|
||||
(outputs '("out" "doc"))
|
||||
(build-system texlive-build-system)
|
||||
(home-page "https://ctan.org/pkg/neoschool")
|
||||
|
||||
@@ -115,16 +115,16 @@ Firefox locales.")
|
||||
|
||||
;; We copy the official build id, which is defined at
|
||||
;; tor-browser-build/rbm.conf (browser_release_date).
|
||||
(define %torbrowser-build-date "20260507142516")
|
||||
(define %torbrowser-build-date "20260518170000")
|
||||
|
||||
;; To find the last version, look at https://www.torproject.org/download/.
|
||||
(define %torbrowser-version "15.0.13")
|
||||
(define %torbrowser-version "15.0.14")
|
||||
|
||||
;; To find the last Firefox version, browse
|
||||
;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version>
|
||||
;; There should be only one archive that starts with
|
||||
;; "src-firefox-tor-browser-".
|
||||
(define %torbrowser-firefox-version "140.10.2esr-15.0-1-build1")
|
||||
(define %torbrowser-firefox-version "140.11.0esr-15.0-1-build3")
|
||||
|
||||
;; See tor-browser-build/rbm.conf for the list.
|
||||
(define %torbrowser-locales (list "ar" "be" "bg" "ca" "cs" "da" "de" "el" "es-ES" "fa"
|
||||
@@ -139,11 +139,11 @@ Firefox locales.")
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.torproject.org/tpo/translation.git")
|
||||
(commit "bca639ef183dba065e6f9dc0bab86aedb03f9335")))
|
||||
(commit "6749f7ce29126312167aee8e07cd45a4aa4acb9d")))
|
||||
(file-name "translation-base-browser")
|
||||
(sha256
|
||||
(base32
|
||||
"0h1vp8qkbbydkii7a1hfgrgzyyrfax4gkv24g50xrx34r7qjhjcl"))))
|
||||
"1ancjf85is34yi2zbpdmasfyfin6pfmiqlmcnjqqqbk5k6zj2scy"))))
|
||||
|
||||
;; See tor-browser-build/projects/translation/config.
|
||||
(define torbrowser-translation-specific
|
||||
@@ -151,11 +151,11 @@ Firefox locales.")
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.torproject.org/tpo/translation.git")
|
||||
(commit "56f475a6c10e509aaff0657b9d864463d387cea7")))
|
||||
(commit "a2e92e2c255377898a72be2fc0d073766a7ee4ed")))
|
||||
(file-name "translation-tor-browser")
|
||||
(sha256
|
||||
(base32
|
||||
"1g723zzdl23lgfbik3pzhyqznzg7csn32n2ndra4bvnrbnrvm39y"))))
|
||||
"1y0x4wgy5prz0q817mdvs7pdbr8k14ap55jikyv8nyx3an13vhhp"))))
|
||||
|
||||
(define torbrowser-assets
|
||||
;; This is a prebuilt Torbrowser from which we take the assets we need.
|
||||
@@ -171,7 +171,7 @@ Firefox locales.")
|
||||
version "/tor-browser-linux-x86_64-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09a9mnbbq01l4j7c0r3qbmzdwwn40c4nvwihbgvzh42s5az6jvdz"))))
|
||||
"03pmcdriwnb1azrn0jsxl453x947yq088c0cjhzwrfxbnqv6s54k"))))
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
@@ -212,7 +212,7 @@ Browser.")
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xnd4s0m66q9ij3xf1n5lym4k0pvgd8m4lrj5dn30g7pfzjgwnss"))))
|
||||
"0wmrq1w5kmxm6ganr7ppf0rblcpi18gsk8fv68nf65sjpxk0gf6w"))))
|
||||
(build-system mozilla-build-system)
|
||||
(inputs
|
||||
(list lyrebird
|
||||
@@ -789,17 +789,17 @@ attacks on the privacy of Tor users.")
|
||||
|
||||
;; We copy the official build id, which can be found there:
|
||||
;; https://cdn.mullvad.net/browser/update_responses/update_1/release.
|
||||
(define %mullvadbrowser-build-date "20260506160000")
|
||||
(define %mullvadbrowser-build-date "20260518170000")
|
||||
|
||||
;; To find the last version, look at
|
||||
;; https://mullvad.net/en/download/browser/linux.
|
||||
(define %mullvadbrowser-version "15.0.12")
|
||||
(define %mullvadbrowser-version "15.0.14")
|
||||
|
||||
;; To find the last Firefox version, browse
|
||||
;; https://archive.torproject.org/tor-package-archive/mullvadbrowser/<%mullvadbrowser-version>
|
||||
;; There should be only one archive that starts with
|
||||
;; "src-firefox-mullvad-browser-".
|
||||
(define %mullvadbrowser-firefox-version "140.10.2esr-15.0-1-build1")
|
||||
(define %mullvadbrowser-firefox-version "140.11.0esr-15.0-1-build2")
|
||||
|
||||
;; See tor-browser-build/projects/translation/config.
|
||||
(define mullvadbrowser-translation-base
|
||||
@@ -807,11 +807,11 @@ attacks on the privacy of Tor users.")
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.torproject.org/tpo/translation.git")
|
||||
(commit "bca639ef183dba065e6f9dc0bab86aedb03f9335")))
|
||||
(commit "6749f7ce29126312167aee8e07cd45a4aa4acb9d")))
|
||||
(file-name "translation-base-browser")
|
||||
(sha256
|
||||
(base32
|
||||
"0h1vp8qkbbydkii7a1hfgrgzyyrfax4gkv24g50xrx34r7qjhjcl"))))
|
||||
"1ancjf85is34yi2zbpdmasfyfin6pfmiqlmcnjqqqbk5k6zj2scy"))))
|
||||
|
||||
;; See tor-browser-build/projects/translation/config.
|
||||
(define mullvadbrowser-translation-specific
|
||||
@@ -839,7 +839,7 @@ attacks on the privacy of Tor users.")
|
||||
version "/mullvad-browser-linux-x86_64-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qd285awd2pslw8q05s0mqfjclcjmwra0bcs5bvbpqdazpsxm9sf"))))
|
||||
"02f6hcp7391s7vcqvqngidrj0zmz9aqhmm0bi0hw26ckfz0vdyhk"))))
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
@@ -882,7 +882,7 @@ Mullvad Browser.")
|
||||
%mullvadbrowser-firefox-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nwbcdqcyr5a9w233gmfjy0ych8frhx5am1zszyl84i7miykqads"))))
|
||||
"0y4qx3hvizm5zigdq9c17l6kzs2h74hyi22syjm9bh1cfpvl2pym"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:phases phases)
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages gdb)
|
||||
#:use-module (gnu packages perl))
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python))
|
||||
|
||||
(define-public valgrind/pinned
|
||||
(package
|
||||
@@ -111,5 +112,7 @@ also use Valgrind to build new tools.")
|
||||
(package/inherit valgrind
|
||||
(inputs
|
||||
;; GDB is needed to provide a sane default for `--db-command'.
|
||||
(list gdb `(,(canonical-package (libc-for-target)) "debug")))
|
||||
(list gdb
|
||||
`(,(canonical-package (libc-for-target)) "debug")
|
||||
python)) ;for cg_* shebangs
|
||||
(properties '())))
|
||||
|
||||
@@ -1180,7 +1180,7 @@ provides an integration with GitHub and GitLab.")
|
||||
(define-public got
|
||||
(package
|
||||
(name "got")
|
||||
(version "0.124")
|
||||
(version "0.125")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1189,7 +1189,7 @@ provides an integration with GitHub and GitLab.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i4w1njqggdqdxw3mismyqy0kjhnr4gsrd9b2p2awhwk1ac8xwwg"))))
|
||||
"1b5saas4ywfknsxski52w34x1h36ib2pns41xcm3fr3k2201kmmd"))))
|
||||
(inputs
|
||||
(list libevent
|
||||
`(,util-linux "lib")
|
||||
@@ -3533,7 +3533,6 @@ modification time.")
|
||||
(uri (fossil-reference
|
||||
(uri "https://fossil.wanderinghorse.net/r/libfossil")
|
||||
(check-in version)))
|
||||
(file-name (fossil-file-name name version))
|
||||
(sha256
|
||||
(base32 "0haaczpjnjpkiikf0q70nfabm2csdk6dl9rh80j0sh90wfvkyqwm"))
|
||||
(modules '((guix build utils)
|
||||
@@ -4845,6 +4844,52 @@ git commands for repository metrics and summarization, commit and log editing,
|
||||
developer workflow, and project and release management.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public git-quick-stats
|
||||
(package
|
||||
(name "git-quick-stats")
|
||||
(version "2.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/git-quick-stats/git-quick-stats")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sx6idfl0s88xx5wd39cg1540hzkh7p6yad0l56qnf9v2i38hra1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:tests? #f ;Tests require interactive terminal
|
||||
#:make-flags #~(list (string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/git-quick-stats")
|
||||
'("PATH" ":" prefix
|
||||
#$(map (lambda (x)
|
||||
(file-append (cadr x) "/bin"))
|
||||
(package-inputs this-package)))))))))
|
||||
(native-inputs (list which))
|
||||
(inputs (list bash-minimal
|
||||
coreutils-minimal
|
||||
gawk
|
||||
git-minimal/pinned
|
||||
grep
|
||||
ncurses
|
||||
util-linux))
|
||||
(home-page "https://git-quick-stats.sh")
|
||||
(synopsis "Access various statistics in git repositories")
|
||||
(description
|
||||
"Any git repository may contain tons of information about commits,
|
||||
contributors, and files. Extracting this information is not always trivial,
|
||||
mostly because there are a gazillion options to a gazillion git commands.
|
||||
This package provides a cleaner interface to access this information.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public hut
|
||||
(package
|
||||
(name "hut")
|
||||
|
||||
+47
-44
@@ -196,7 +196,6 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages openkinect)
|
||||
#:use-module (gnu packages pcre)
|
||||
@@ -4235,7 +4234,7 @@ be used for realtime video capture via Linux-specific APIs.")
|
||||
"-DENABLE_QSV11=OFF"
|
||||
"-DENABLE_NVENC=OFF"
|
||||
;; Requires a custom version of websocketpp in inputs, that's
|
||||
;; patched to be compatible with recent versions of Boost
|
||||
;; patched to be compatible with recent versions of Boost
|
||||
"-DENABLE_WEBSOCKET=ON"
|
||||
;; Browser plugin requires cef, but it is not packaged yet.
|
||||
;; <https://bitbucket.org/chromiumembedded/cef/src/master/>
|
||||
@@ -6503,7 +6502,7 @@ and audio capture, network stream playback, and many more.")
|
||||
(define-public dav1d
|
||||
(package
|
||||
(name "dav1d")
|
||||
(version "1.5.3")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6512,7 +6511,7 @@ and audio capture, network stream playback, and many more.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0x19r721gf91a37xqm70j7qcpadyd3m9lcf1lasxq73wnby5lxqk"))))
|
||||
(base32 "1n0b5m4srdjsqg15plc9fng5kjv14ygqahjxy8863fbzhr13vjx9"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(if (target-x86?)
|
||||
@@ -6794,59 +6793,63 @@ result in several formats:
|
||||
(define-public rav1e
|
||||
(package
|
||||
(name "rav1e")
|
||||
(version "0.8.1")
|
||||
(version "0.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rav1e" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0axk3ji3jmlr81svmsy5zvj8shmhpp8lz5nyghkq752xx1bdvdj3"))))
|
||||
(base32 "1sawva6nmj2fvynydbcirr3nb7wjyg0id2hz2771qnv6ly0cx1yd"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:modules '((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
`(#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "cargo" "cinstall" "--release"
|
||||
;; Only build the dynamic library.
|
||||
"--library-type" "cdylib"
|
||||
(string-append "--prefix=" out)))))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs #:allow-other-keys)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((shell . path)
|
||||
(mkdir-p (in-vicinity #$output (dirname path)))
|
||||
(let ((binary
|
||||
(if #$(%current-target-system)
|
||||
(search-input-file native-inputs "bin/rav1e")
|
||||
(in-vicinity #$output "bin/rav1e"))))
|
||||
(with-output-to-file (in-vicinity #$output path)
|
||||
(lambda _
|
||||
(invoke binary
|
||||
"-" "-o"
|
||||
"-" "advanced"
|
||||
"--completion" shell))))))
|
||||
'(("bash" . "share/bash-completion/completions/rav1e")
|
||||
("elvish" . "share/elvish/lib/rav1e")
|
||||
("fish" . "share/fish/vendor_completions.d/rav1e.fish")
|
||||
;; This one currently fails to build.
|
||||
;("zsh" . "share/zsh/site-functions/_rav1e")
|
||||
)))))))
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "cargo" "cinstall" "--release"
|
||||
;; Only build the dynamic library.
|
||||
"--library-type" "cdylib"
|
||||
(string-append "--prefix=" out)))))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs outputs #:allow-other-keys)
|
||||
(unless ,(%current-target-system)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(bash-completions-dir
|
||||
(string-append out "/etc/bash_completion.d"))
|
||||
(zsh-completions-dir
|
||||
(string-append share "/zsh/site-functions"))
|
||||
(fish-completions-dir
|
||||
(string-append share "/fish/vendor_completions.d"))
|
||||
(elvish-completions-dir
|
||||
(string-append share "/elvish/lib"))
|
||||
(rav1e (string-append out "/bin/rav1e"))
|
||||
(common-flags '("-" "-o" "-" "advanced" "--completion")))
|
||||
(mkdir-p bash-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append bash-completions-dir "/rav1e")
|
||||
(lambda _ (apply invoke rav1e (append common-flags '("bash")))))
|
||||
(mkdir-p zsh-completions-dir)
|
||||
;; This one currently fails to build.
|
||||
;(with-output-to-file
|
||||
; (string-append zsh-completions-dir "/_rav1e")
|
||||
; (lambda _ (apply invoke rav1e (append common-flags '("zsh")))))
|
||||
(mkdir-p fish-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append fish-completions-dir "/rav1e.fish")
|
||||
(lambda _ (apply invoke rav1e (append common-flags '("fish")))))
|
||||
(mkdir-p elvish-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append elvish-completions-dir "/rav1e")
|
||||
(lambda _
|
||||
(apply invoke rav1e (append common-flags '("elvish"))))))))))))
|
||||
(native-inputs
|
||||
(append (if (target-x86?)
|
||||
(list nasm)
|
||||
'())
|
||||
(if (%current-target-system)
|
||||
(list this-package)
|
||||
'())
|
||||
(list pkg-config rust-cargo-c)))
|
||||
(inputs
|
||||
(cons* libgit2-1.9 zlib (cargo-inputs 'rav1e)))
|
||||
|
||||
@@ -140,7 +140,6 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages package-management)
|
||||
|
||||
+5
-6
@@ -186,7 +186,6 @@
|
||||
#:use-module (gnu packages mpd)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages pantheon)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -2537,7 +2536,7 @@ limited size and a few external dependencies. It is configurable via
|
||||
(define-public mangowm
|
||||
(package
|
||||
(name "mangowm")
|
||||
(version "0.13.0")
|
||||
(version "0.13.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2546,7 +2545,7 @@ limited size and a few external dependencies. It is configurable via
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sh1hcr3c74ac8cxd45mnjw1zpb2i22bsfz02cb409rw6dwiy524"))))
|
||||
(base32 "0szzssar8h80wqh46vxrh87znqnq8rmwrl1a01rg4ww4in0ni20y"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3016,7 +3015,7 @@ narrow the items to those matching the tokens in the input.")
|
||||
(define-public sway
|
||||
(package
|
||||
(name "sway")
|
||||
(version "1.11")
|
||||
(version "1.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3025,7 +3024,7 @@ narrow the items to those matching the tokens in the input.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a7f7jgf87dm4hxg9nylqsyy7cc7dk49c800pjkl30p9a32xxjn4"))))
|
||||
(base32 "1ngc8cdrqzaq145k1xibq67bki6bwad9y3wh6ghm7147wf67ph9r"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3053,7 +3052,7 @@ narrow the items to those matching the tokens in the input.")
|
||||
pcre2
|
||||
swaybg
|
||||
wayland
|
||||
wlroots-0.19))
|
||||
wlroots-0.20))
|
||||
(native-inputs
|
||||
(cons* linux-pam mesa pkg-config scdoc wayland-protocols
|
||||
(if (%current-target-system)
|
||||
|
||||
+35
-3
@@ -4,6 +4,7 @@
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
|
||||
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -64,10 +65,14 @@
|
||||
dnsmasq-configuration-port
|
||||
dnsmasq-configuration-local-service?
|
||||
dnsmasq-configuration-listen-address
|
||||
dnsmasq-configuration-ipv4?
|
||||
dnsmasq-configuration-ipv6?
|
||||
dnsmasq-configuration-resolv-file
|
||||
dnsmasq-configuration-no-resolv?
|
||||
dnsmasq-configuration-authoritative-zones
|
||||
dnsmasq-configuration-forward-private-reverse-lookup?
|
||||
dnsmasq-configuration-query-servers-in-order?
|
||||
dnsmasq-configuration-locals
|
||||
dnsmasq-configuration-servers
|
||||
dnsmasq-configuration-servers-file
|
||||
dnsmasq-configuration-addresses
|
||||
@@ -793,16 +798,28 @@ cache.size = 100 * MB
|
||||
(default #t)) ;boolean
|
||||
(listen-addresses dnsmasq-configuration-listen-address
|
||||
(default '())) ;list of string
|
||||
(ipv4? dnsmasq-configuration-ipv4?
|
||||
(default #t))
|
||||
(ipv6? dnsmasq-configuration-ipv6?
|
||||
(default #t))
|
||||
(resolv-file dnsmasq-configuration-resolv-file
|
||||
(default "/etc/resolv.conf")) ;string
|
||||
(no-resolv? dnsmasq-configuration-no-resolv?
|
||||
(default #f)) ;boolean
|
||||
(authoritative-servers dnsmasq-configuration-authoritative-servers
|
||||
(default '())) ;list of strings
|
||||
(authoritative-zones dnsmasq-configuration-authoritative-zones
|
||||
(default '())) ;list of strings
|
||||
(host-records dnsmasq-configuration-host-records
|
||||
(default '())) ;list of strings
|
||||
(forward-private-reverse-lookup?
|
||||
dnsmasq-configuration-forward-private-reverse-lookup?
|
||||
(default #t)) ;boolean
|
||||
(query-servers-in-order?
|
||||
dnsmasq-configuration-query-servers-in-order?
|
||||
(default #f)) ;boolean
|
||||
(locals dnsmasq-configuration-locals
|
||||
(default '()))
|
||||
(servers dnsmasq-configuration-servers
|
||||
(default '())) ;list of string
|
||||
(servers-file dnsmasq-configuration-servers-file
|
||||
@@ -859,10 +876,11 @@ cache.size = 100 * MB
|
||||
shepherd-requirement
|
||||
pid-file
|
||||
no-hosts?
|
||||
port local-service? listen-addresses
|
||||
port local-service? listen-addresses ipv4? ipv6?
|
||||
resolv-file no-resolv?
|
||||
authoritative-servers authoritative-zones host-records
|
||||
forward-private-reverse-lookup? query-servers-in-order?
|
||||
servers addresses servers-file
|
||||
locals servers addresses servers-file
|
||||
cache-size negative-cache?
|
||||
cpe-id
|
||||
tftp-enable? tftp-no-fail?
|
||||
@@ -891,10 +909,22 @@ cache.size = 100 * MB
|
||||
'())
|
||||
#$@(map (cut format #f "--listen-address=~a" <>)
|
||||
listen-addresses)
|
||||
#$@(if (not ipv4?)
|
||||
'("--filter-A")
|
||||
'())
|
||||
#$@(if (not ipv6?)
|
||||
'("--filter-AAAA")
|
||||
'())
|
||||
#$(format #f "--resolv-file=~a" resolv-file)
|
||||
#$@(if no-resolv?
|
||||
'("--no-resolv")
|
||||
'())
|
||||
'())
|
||||
#$@(map (cut format #f "--auth-server=~a" <>)
|
||||
authoritative-servers)
|
||||
#$@(map (cut format #f "--auth-zone=~a" <>)
|
||||
authoritative-zones)
|
||||
#$@(map (cut format #f "--host-record=~a" <>)
|
||||
host-records)
|
||||
#$@(if forward-private-reverse-lookup?
|
||||
'()
|
||||
'("--bogus-priv"))
|
||||
@@ -904,6 +934,8 @@ cache.size = 100 * MB
|
||||
#$@(if servers-file
|
||||
(list #~(string-append "--servers-file=" #$servers-file))
|
||||
'())
|
||||
#$@(map (cut format #f "--local=~a" <>)
|
||||
locals)
|
||||
#$@(map (cut format #f "--server=~a" <>)
|
||||
servers)
|
||||
#$@(map (cut format #f "--address=~a" <>)
|
||||
|
||||
@@ -181,6 +181,7 @@
|
||||
gunicorn-app-mappings
|
||||
gunicorn-app-name
|
||||
gunicorn-app-package
|
||||
gunicorn-app-control-socket
|
||||
gunicorn-app-sockets
|
||||
gunicorn-app-timeout
|
||||
gunicorn-app-user
|
||||
@@ -1073,6 +1074,8 @@ renewed TLS certificates, or @code{include}d files.")
|
||||
(thunked))
|
||||
(socket-mode gunicorn-app-socket-mode
|
||||
(default #o750))
|
||||
(control-socket gunicorn-app-control-socket
|
||||
(default #f))
|
||||
(sockets gunicorn-app-sockets
|
||||
(default (list (string-append "unix:/var/run/gunicorn/"
|
||||
(gunicorn-app-name this-gunicorn-app)
|
||||
@@ -1092,7 +1095,8 @@ renewed TLS certificates, or @code{include}d files.")
|
||||
|
||||
(define (unix-socket? string)
|
||||
"Whether STRING indicates a Unix socket."
|
||||
(eq? 'unix (uri-scheme (string->uri string))))
|
||||
(let ((uri (string->uri string)))
|
||||
(and uri (eq? 'unix (uri-scheme uri)))))
|
||||
|
||||
(define (socket-dir string)
|
||||
"Return the socket directory."
|
||||
@@ -1179,6 +1183,10 @@ renewed TLS certificates, or @code{include}d files.")
|
||||
#:namespaces (delq 'net %namespaces))
|
||||
"--workers" #$(number->string (gunicorn-app-workers app))
|
||||
"--timeout" #$(number->string (gunicorn-app-timeout app))
|
||||
#$(let ((ctrl-socket (gunicorn-app-control-socket app)))
|
||||
(if ctrl-socket
|
||||
(string-append "--control-socket=" ctrl-socket)
|
||||
"--no-control-socket"))
|
||||
(list
|
||||
#$@(append
|
||||
(append-map (lambda (socket)
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages patchutils)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (guix packages)
|
||||
@@ -59,6 +60,7 @@
|
||||
%test-hpcguix-web
|
||||
%test-anonip
|
||||
%test-go-webdav
|
||||
%test-gunicorn
|
||||
%test-patchwork
|
||||
%test-sogogi
|
||||
%test-agate
|
||||
@@ -625,6 +627,88 @@ HTTP-PORT, along with php-fpm."
|
||||
(description "Test that go-webdav can handle HTTP requests.")
|
||||
(value (run-webserver-test name %go-webdav-os))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; gunicorn
|
||||
;;;
|
||||
|
||||
(define %gunicorn-os
|
||||
(simple-operating-system
|
||||
(service dhcpcd-service-type)
|
||||
(service gunicorn-service-type
|
||||
(gunicorn-configuration
|
||||
(apps
|
||||
(list (gunicorn-app
|
||||
(name "werkzeug")
|
||||
(package python-werkzeug)
|
||||
(wsgi-app-module "werkzeug.testapp:test_app")
|
||||
(sockets (list "0.0.0.0:8080"))
|
||||
(user "root")
|
||||
(group "users"))))))))
|
||||
|
||||
(define (run-gunicorn-test)
|
||||
(define os
|
||||
(marionette-operating-system
|
||||
%gunicorn-os
|
||||
#:imported-modules '((gnu services herd))))
|
||||
|
||||
(define forwarded-port 8080)
|
||||
|
||||
(define vm
|
||||
(virtual-machine
|
||||
(operating-system os)
|
||||
(memory-size 1024)
|
||||
(port-forwardings `((8080 . ,forwarded-port)))))
|
||||
|
||||
(define test
|
||||
(with-imported-modules '((gnu build marionette))
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-11) (srfi srfi-64)
|
||||
(gnu build marionette)
|
||||
(web uri)
|
||||
(web client)
|
||||
(web response))
|
||||
|
||||
(define marionette
|
||||
(make-marionette (list #$vm)))
|
||||
|
||||
(test-runner-current (system-test-runner #$output))
|
||||
(test-begin "gunicorn")
|
||||
|
||||
(test-assert "service is running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(match (start-service 'gunicorn-werkzeug)
|
||||
(#f #f)
|
||||
(('service response-parts ...)
|
||||
(match (assq-ref response-parts 'running)
|
||||
((#t) #t)
|
||||
((pid) pid)))))
|
||||
marionette))
|
||||
|
||||
(test-assert "HTTP port ready"
|
||||
(wait-for-tcp-port #$forwarded-port marionette))
|
||||
|
||||
(test-assert "get index page"
|
||||
(let-values
|
||||
(((response text)
|
||||
(http-get #$(simple-format
|
||||
#f "http://localhost:~A/" forwarded-port)
|
||||
#:decode-body? #t)))
|
||||
(and (equal? (response-code response) 200)
|
||||
(string-contains text "WSGI Information"))))
|
||||
|
||||
(test-end))))
|
||||
|
||||
(gexp->derivation "gunicorn-test" test))
|
||||
|
||||
(define %test-gunicorn
|
||||
(system-test
|
||||
(name "gunicorn")
|
||||
(description "Test that gunicorn can serve the Werkzeug testapp.")
|
||||
(value (run-gunicorn-test))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Patchwork
|
||||
|
||||
@@ -110,8 +110,7 @@
|
||||
(define (default-ninja)
|
||||
"Return the default ninja package."
|
||||
;; Lazily resolve the binding to avoid a circular dependency.
|
||||
(let ((module (resolve-interface '(gnu packages ninja))))
|
||||
(module-ref module 'ninja/pinned)))
|
||||
(@* (gnu packages build-tools) ninja/pinned))
|
||||
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
|
||||
@@ -148,7 +148,7 @@ TRIPLET."
|
||||
|
||||
(define (default-ninja)
|
||||
"Return the default ninja package, resolved lazily."
|
||||
(@* (gnu packages ninja) ninja/pinned))
|
||||
(@* (gnu packages build-tools) ninja/pinned))
|
||||
|
||||
(define (default-meson)
|
||||
"Return the default meson package, resolved lazily."
|
||||
|
||||
@@ -390,20 +390,10 @@ directory = '" vendor-dir "'") port)
|
||||
(for-each
|
||||
(lambda (crate)
|
||||
(invoke "tar" "xzf" crate "-C" vendor-dir))
|
||||
(map (lambda (f) (string-append "target/package/" f))
|
||||
(scandir "target/package"
|
||||
(lambda (f) (string-suffix? ".crate" f)))))
|
||||
(find-files "target/package" "\\.crate$"))
|
||||
(patch-cargo-checksums #:vendor-dir vendor-dir))
|
||||
cargo-package-crates))
|
||||
|
||||
;; Cargo creates target/package/tmp-crate/ as scratch space during
|
||||
;; packaging and leaves .crate file copies there after uplifting them
|
||||
;; to target/package/. Delete it so the repacking scandir does not
|
||||
;; pick the tmp-crate directory instead of the extracted crate
|
||||
;; directory when crate names sort after "tmp-crate" alphabetically.
|
||||
(when (file-exists? "target/package/tmp-crate")
|
||||
(delete-file-recursively "target/package/tmp-crate"))
|
||||
|
||||
;; Then unpack the crate, reset the timestamp of all contained files, and
|
||||
;; repack them. This is necessary to ensure that they are reproducible.
|
||||
(with-directory-excursion "target/package"
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (web uri)
|
||||
#:export (fossil-reference
|
||||
#:export (<fossil-reference>
|
||||
fossil-reference
|
||||
fossil-reference?
|
||||
fossil-reference-uri
|
||||
fossil-reference-check-in
|
||||
|
||||
+14
-12
@@ -63,7 +63,8 @@
|
||||
(info gem-info)
|
||||
(sha256 gem-sha256 "sha" ;bytevector
|
||||
base16-string->bytevector)
|
||||
(home-page gem-home-page "homepage_uri") ;string
|
||||
(home-page gem-home-page "homepage_uri" ;string | #f
|
||||
non-empty-string-or-false)
|
||||
(dependencies gem-dependencies "dependencies" ;<gem-dependencies>
|
||||
json->gem-dependencies))
|
||||
|
||||
@@ -137,8 +138,8 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
|
||||
(home-page ,home-page)
|
||||
(license ,(match licenses
|
||||
(() #f)
|
||||
((license) (license->symbol license))
|
||||
(_ `(list ,@(map license->symbol licenses)))))))
|
||||
((license) license)
|
||||
(_ `(list ,@licenses))))))
|
||||
|
||||
(define* (gem->guix-package package-name #:key (repo 'rubygems) version
|
||||
#:allow-other-keys)
|
||||
@@ -182,15 +183,16 @@ package on RubyGems."
|
||||
(substring source-url 31 (string-rindex source-url #\-))))
|
||||
|
||||
(define (string->license str)
|
||||
"Convert the string STR into a license object."
|
||||
(match str
|
||||
("GNU LGPL" license:lgpl2.0)
|
||||
("GPL" license:gpl3)
|
||||
((or "BSD" "BSD License") license:bsd-3)
|
||||
((or "MIT" "MIT license" "Expat license") license:expat)
|
||||
("Public domain" license:public-domain)
|
||||
((or "Apache License, Version 2.0" "Apache 2.0") license:asl2.0)
|
||||
(_ #f)))
|
||||
"Convert the string STR into a license symbol."
|
||||
(or (spdx-string->license str)
|
||||
(match str
|
||||
("GNU LGPL" 'license:lgpl2.0)
|
||||
("GPL" 'license:gpl3)
|
||||
((or "BSD" "BSD License") 'license:bsd-3)
|
||||
((or "MIT" "MIT license" "Expat license") 'license:expat)
|
||||
("Public domain" 'license:public-domain)
|
||||
((or "Apache License, Version 2.0" "Apache 2.0") 'license:asl2.0)
|
||||
(_ 'unknown-license!))))
|
||||
|
||||
(define gem-package?
|
||||
(url-prefix-predicate "https://rubygems.org/downloads/"))
|
||||
|
||||
@@ -98,12 +98,6 @@
|
||||
"pytest-isort" "pytest-flake8" "pytest-cov" "pytest-black" ; variants
|
||||
"pytest-pep8" "pytest-mypy" "pytest-pep8" "pre-commit")) ;
|
||||
|
||||
(define non-empty-string-or-false
|
||||
(match-lambda
|
||||
("" #f)
|
||||
((? string? str) str)
|
||||
((or 'null #f) #f)))
|
||||
|
||||
;; PyPI project.
|
||||
(define-json-mapping <pypi-project> make-pypi-project pypi-project?
|
||||
json->pypi-project
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
spdx-string->license
|
||||
license->symbol
|
||||
|
||||
non-empty-string-or-false
|
||||
snake-case
|
||||
beautify-description
|
||||
beautify-synopsis
|
||||
@@ -470,6 +471,12 @@ object is bound to in the (guix licenses) module, such as 'license:gpl3+, or
|
||||
(resolve-interface '(guix licenses) #:prefix 'license:)))
|
||||
(assoc-ref licenses license))
|
||||
|
||||
(define non-empty-string-or-false
|
||||
(match-lambda
|
||||
("" #f)
|
||||
((? string? str) str)
|
||||
((or 'null #f) #f)))
|
||||
|
||||
(define (snake-case str)
|
||||
"Return a downcased version of the string STR where underscores and periods
|
||||
are replaced with dashes."
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module ((guix diagnostics)
|
||||
#:select (formatted-message define-with-syntax-properties))
|
||||
#:use-module (guix fossil-download)
|
||||
#:autoload (guix licenses) (license?)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (ice-9 match)
|
||||
@@ -389,6 +390,8 @@ name of its URI."
|
||||
(uri->file-name head))
|
||||
((? string? uri)
|
||||
(uri->file-name uri))
|
||||
(($ <fossil-reference> uri check-in)
|
||||
(fossil-file-name (basename uri) check-in))
|
||||
(else
|
||||
;; git, svn, cvs, etc. reference
|
||||
#f))))
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
(define (show-help)
|
||||
(display (G_ "Usage: guix time-machine [OPTION] [-- COMMAND ARGS...]
|
||||
Execute COMMAND ARGS... in an older version of Guix.
|
||||
Execute COMMAND ARGS... in a different version of Guix.
|
||||
|
||||
If COMMAND is not provided, print path to the time-machine profile.\n"))
|
||||
(display (G_ "
|
||||
|
||||
+23
-2
@@ -2526,8 +2526,29 @@ void DerivationGoal::startBuilder()
|
||||
ctx.persona |= 0x0020000; /* == UNAME26 */
|
||||
}
|
||||
|
||||
/* Disable address space randomization for improved determinism. */
|
||||
ctx.persona |= ADDR_NO_RANDOMIZE;
|
||||
/* Check whether we can set ADDR_NO_RANDOMIZE, some container seccomp
|
||||
policies block it. */
|
||||
int currentPersonality = personality(0xffffffff);
|
||||
if (currentPersonality == -1)
|
||||
throw SysError("unable to get current personality");
|
||||
|
||||
if (personality(currentPersonality | ADDR_NO_RANDOMIZE) == -1) {
|
||||
if (errno == EINVAL)
|
||||
throw SysError("unexpectedly unable to add ADDR_NO_RANDOMIZE to personality");
|
||||
|
||||
/* Some other, unexpected errno; seccomp is probably behind it. */
|
||||
if (!settings.allowASLR)
|
||||
throw SysError("ADDR_NO_RANDOMIZE appears blocked and `--allow-aslr' was not passed, refusing to weaken reproducibility by default");
|
||||
|
||||
printMsg(lvlInfo, "the ADDR_NO_RANDOMIZE personality flag appears to be blocked, not using it");
|
||||
}
|
||||
else {
|
||||
/* It worked, now first restore the original personality. */
|
||||
if (personality(currentPersonality) == -1)
|
||||
throw SysError("unable to restore personality after testing for availability of ADDR_NO_RANDOMIZE");
|
||||
/* Disable address space randomization for improved determinism. */
|
||||
ctx.persona |= ADDR_NO_RANDOMIZE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ Settings::Settings()
|
||||
showTrace = false;
|
||||
useHostLoopback = true;
|
||||
slirp4netns = SLIRP4NETNS;
|
||||
allowASLR = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -213,6 +213,10 @@ struct Settings {
|
||||
/* The filename to use for executing slirp4netns when it is needed. */
|
||||
Path slirp4netns;
|
||||
|
||||
/* Whether to proceed without the ADDR_NO_RANDOMIZE personality flag if
|
||||
* its use is blocked. */
|
||||
bool allowASLR;
|
||||
|
||||
private:
|
||||
SettingsMap settings;
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ builds derivations on behalf of its clients.");
|
||||
#define GUIX_OPT_LOG_COMPRESSION 20
|
||||
#define GUIX_OPT_DISCOVER 21
|
||||
#define GUIX_OPT_ISOLATE_HOST_LOOPBACK 22
|
||||
#define GUIX_OPT_ALLOW_ASLR 23
|
||||
|
||||
static const struct argp_option options[] =
|
||||
{
|
||||
@@ -157,6 +158,14 @@ to live outputs") },
|
||||
n_("produce debugging output") },
|
||||
{ "isolate-host-loopback", GUIX_OPT_ISOLATE_HOST_LOOPBACK, 0, 0,
|
||||
n_("do not allow fixed-output chroot builds to access the host loopback") },
|
||||
{ "allow-aslr", GUIX_OPT_ALLOW_ASLR, 0,
|
||||
#ifdef HAVE_SYS_PERSONALITY_H
|
||||
0,
|
||||
#else
|
||||
OPTION_HIDDEN,
|
||||
#endif
|
||||
n_("allow builds to start even if address space layout \
|
||||
randomization (ASLR) cannot be disabled")},
|
||||
{ 0, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
@@ -292,6 +301,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
|
||||
case GUIX_OPT_ISOLATE_HOST_LOOPBACK:
|
||||
settings.useHostLoopback = false;
|
||||
break;
|
||||
case GUIX_OPT_ALLOW_ASLR:
|
||||
settings.allowASLR = true;
|
||||
break;
|
||||
default:
|
||||
return (error_t) ARGP_ERR_UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -112,6 +112,58 @@
|
||||
\"licenses\": [\"MIT\"]
|
||||
}")
|
||||
|
||||
(define test-no-homepage-json
|
||||
"{
|
||||
\"name\": \"no-homepage\",
|
||||
\"version\": \"1.0.0\",
|
||||
\"sha\": \"f3676eafca9987cb5fe263df1edf2538bf6dafc712b30e17be3543a9680547a8\",
|
||||
\"info\": \"A gem with no homepage\",
|
||||
\"homepage_uri\": null,
|
||||
\"dependencies\": {
|
||||
\"runtime\": []
|
||||
},
|
||||
\"licenses\": [\"MIT\"]
|
||||
}")
|
||||
|
||||
(define test-spdx-json
|
||||
"{
|
||||
\"name\": \"spdx-gem\",
|
||||
\"version\": \"1.0.0\",
|
||||
\"sha\": \"f3676eafca9987cb5fe263df1edf2538bf6dafc712b30e17be3543a9680547a8\",
|
||||
\"info\": \"A gem with SPDX licenses\",
|
||||
\"homepage_uri\": \"https://example.com\",
|
||||
\"dependencies\": {
|
||||
\"runtime\": []
|
||||
},
|
||||
\"licenses\": [\"Ruby\", \"BSD-2-Clause\"]
|
||||
}")
|
||||
|
||||
(define test-gibberish-licenses-json
|
||||
"{
|
||||
\"name\": \"gibberish-license-gem\",
|
||||
\"version\": \"1.0.0\",
|
||||
\"sha\": \"f3676eafca9987cb5fe263df1edf2538bf6dafc712b30e17be3543a9680547a8\",
|
||||
\"info\": \"A gem with gibberish licenses\",
|
||||
\"homepage_uri\": \"https://example.com\",
|
||||
\"dependencies\": {
|
||||
\"runtime\": []
|
||||
},
|
||||
\"licenses\": [\"foo\", \"bar\"]
|
||||
}")
|
||||
|
||||
(define test-mixed-licenses-json
|
||||
"{
|
||||
\"name\": \"mixed-license-gem\",
|
||||
\"version\": \"1.0.0\",
|
||||
\"sha\": \"f3676eafca9987cb5fe263df1edf2538bf6dafc712b30e17be3543a9680547a8\",
|
||||
\"info\": \"A gem with one valid and one gibberish license\",
|
||||
\"homepage_uri\": \"https://example.com\",
|
||||
\"dependencies\": {
|
||||
\"runtime\": []
|
||||
},
|
||||
\"licenses\": [\"MIT\", \"nonsense\"]
|
||||
}")
|
||||
|
||||
(test-begin "gem")
|
||||
|
||||
(test-assert "gem->guix-package"
|
||||
@@ -306,4 +358,113 @@
|
||||
(list (upstream-source-urls source)
|
||||
(upstream-source-inputs source)))))
|
||||
|
||||
(test-assert "gem->guix-package, bald homepage_uri"
|
||||
(mock ((guix http-client) http-fetch
|
||||
(lambda (url . rest)
|
||||
(match url
|
||||
("https://rubygems.org/api/v1/gems/no-homepage.json"
|
||||
(values (open-input-string test-no-homepage-json)
|
||||
(string-length test-no-homepage-json)))
|
||||
(_ (error "Unexpected URL: " url)))))
|
||||
(match (gem->guix-package "no-homepage")
|
||||
(`(package
|
||||
(name "ruby-no-homepage")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "no-homepage" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
|
||||
(build-system ruby-build-system)
|
||||
(synopsis "A gem with no homepage")
|
||||
(description "This package provides a gem with no homepage.")
|
||||
(home-page #f)
|
||||
(license license:expat))
|
||||
#t)
|
||||
(x
|
||||
(pk 'fail x #f)))))
|
||||
|
||||
(test-assert "gem->guix-package with SPDX license identifiers"
|
||||
(mock ((guix http-client) http-fetch
|
||||
(lambda (url . rest)
|
||||
(match url
|
||||
("https://rubygems.org/api/v1/gems/spdx-gem.json"
|
||||
(values (open-input-string test-spdx-json)
|
||||
(string-length test-spdx-json)))
|
||||
(_ (error "Unexpected URL: " url)))))
|
||||
(match (gem->guix-package "spdx-gem")
|
||||
(`(package
|
||||
(name "ruby-spdx-gem")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "spdx-gem" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
|
||||
(build-system ruby-build-system)
|
||||
(synopsis "A gem with SPDX licenses")
|
||||
(description "This package provides a gem with SPDX licenses.")
|
||||
(home-page "https://example.com")
|
||||
(license (list license:ruby license:bsd-2)))
|
||||
#t)
|
||||
(x
|
||||
(pk 'fail x #f)))))
|
||||
|
||||
(test-assert "gem->guix-package with gibberish license identifiers"
|
||||
(mock ((guix http-client) http-fetch
|
||||
(lambda (url . rest)
|
||||
(match url
|
||||
("https://rubygems.org/api/v1/gems/gibberish-license-gem.json"
|
||||
(values (open-input-string test-gibberish-licenses-json)
|
||||
(string-length test-gibberish-licenses-json)))
|
||||
(_ (error "Unexpected URL: " url)))))
|
||||
(match (gem->guix-package "gibberish-license-gem")
|
||||
(`(package
|
||||
(name "ruby-gibberish-license-gem")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "gibberish-license-gem" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
|
||||
(build-system ruby-build-system)
|
||||
(synopsis "A gem with gibberish licenses")
|
||||
(description "This package provides a gem with gibberish licenses.")
|
||||
(home-page "https://example.com")
|
||||
(license (list unknown-license! unknown-license!)))
|
||||
#t)
|
||||
(x
|
||||
(pk 'fail x #f)))))
|
||||
|
||||
(test-assert "gem->guix-package with mixed valid and gibberish licenses"
|
||||
(mock ((guix http-client) http-fetch
|
||||
(lambda (url . rest)
|
||||
(match url
|
||||
("https://rubygems.org/api/v1/gems/mixed-license-gem.json"
|
||||
(values (open-input-string test-mixed-licenses-json)
|
||||
(string-length test-mixed-licenses-json)))
|
||||
(_ (error "Unexpected URL: " url)))))
|
||||
(match (gem->guix-package "mixed-license-gem")
|
||||
(`(package
|
||||
(name "ruby-mixed-license-gem")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "mixed-license-gem" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
|
||||
(build-system ruby-build-system)
|
||||
(synopsis "A gem with one valid and one gibberish license")
|
||||
(description "This package provides a gem with one valid \
|
||||
and one gibberish license.")
|
||||
(home-page "https://example.com")
|
||||
(license (list license:expat unknown-license!)))
|
||||
#t)
|
||||
(x
|
||||
(pk 'fail x #f)))))
|
||||
|
||||
(test-end "gem")
|
||||
|
||||
Reference in New Issue
Block a user