1
0
forked from tribes/guix

Compare commits

...

29 Commits

Author SHA1 Message Date
Andreas Enge 689c0c1ce5 gnu: python-geventhttpclient: Update to 2.3.9.
* gnu/packages/python-web.scm (python-geventhttpclient): Update to 2.3.9.

Change-Id: I83ff865b8ae052d24f9920b3d5c029e7c91373cc
2026-04-16 11:37:55 +02:00
Andreas Enge 02473f2995 gnu: openssl: Switch to openssl-3.5 as the default.
* gnu/packages/tls.scm (openssl): Define as openssl-3.5.
(perl-net-ssleay)[inputs]: Replace openssl by openssl-3.0.

Change-Id: Ia13ea615a5265fc7012e881e516b98066cad8e3f
2026-04-16 11:37:55 +02:00
Cayetano Santos 99e64e1c39 gnu: libsodium: Update to 1.0.21.
* gnu/packages/crypto.scm (libsodium): Update to 1.0.21.
[source]: Switch to git-fetch.

Change-Id: Iaaefe80eec5e82fa3c7a81712389894d37faa5c2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 11:37:55 +02:00
Ashish SHUKLA 4c41f5d235 gnu: openssh: Update to 10.3p1 [security-fixes].
Release notes since 10.2p1 (2025-10-10):
- 10.3p1 (2026-04-02)
  <https://www.openssh.org/txt/release-10.3>.

Contains fixes for:
CVE-2026-35385: A file downloaded by scp may be installed setuid or setgid, an
                outcome contrary to some users' expectations, if the download is
                performed as root with -O (legacy scp protocol) and without -p
                (preserve mode).
CVE-2026-35386: Command execution can occur via shell metacharacters in a
                username within a command line. This requires a scenario where
                the username on the command line is untrusted, and also requires
                a non-default configurations of % in ssh_config.
CVE-2026-35387: OpenSSH can use unintended ECDSA algorithms. Listing of any
                ECDSA algorithm in PubkeyAcceptedAlgorithms or
                HostbasedAcceptedAlgorithms is misinterpreted to mean all ECDSA
                algorithms.
CVE-2026-35388: OpenSSH before omits connection multiplexing confirmation for
                proxy-mode multiplexing sessions.
CVE-2026-35414: OpenSSH mishandles the authorized_keys principals option in
                uncommon scenarios involving a principals list in conjunction
                with a Certificate Authority that makes certain use of comma
                characters.

* gnu/packages/ssh.scm (openssh): Update to 10.3p1.

Merges: https://codeberg.org/guix/guix/pulls/7695
Change-Id: I9e90c3ef02f567d0f5b2485c4e0bcfaa1a1f31c8
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Reviewed-by: Jonas Meeuws <jonas.meeuws@gmail.com>
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 11:37:54 +02:00
Andy Tai d1b1111917 gnu: libtasn1: Update to 4.21.0.
* gnu/packages/tls.scm (libtasn1): Update to 4.21.0.

Change-Id: I8a33a95def0d22e9df5ec592abb9c6728dce2ccb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-16 11:37:54 +02:00
Andreas Enge 599636b65f gnu: openssl-3.0: Change inheritance.
* gnu/packages/tls.scm (openssl-3.0)[inherit]: Use openssl-3.5
instead of openssl-1.1.
[source]: Add hurd patch.

Fixes: guix/guix#4062
Change-Id: Id03fdd9532855bd66fbd9da9eb64768f8b9fb780
2026-04-16 11:37:54 +02:00
Andreas Enge 1aefb0656f gnu: Add openssl-3.5.
* gnu/packages/tls.scm (openssl-3.5): New variable.

Change-Id: I0636a3455cec5636e926a51eddb96d3bdec7adeb
2026-04-16 11:37:54 +02:00
Andreas Enge 6ca437dbae gnu: openssl-1.1: Re-enable tls_ssl_new test.
* gnu/packages/tls.scm (openssl-1.1)[make-flags]: Do not disable
tls_ssl_new.

Change-Id: I95e6ef5906f7477f0ac6bfcd685a69229eb1a54d
2026-04-16 11:37:54 +02:00
Andreas Enge 1ef32d265f gnu: openssl-3.0: Update to 3.0.19.
* gnu/packages/tls.scm (openssl-3.0): Update to 3.0.19.

Change-Id: Iebfaeb06b6a9dd270a9fca69c67fa9c32eaa4962
2026-04-16 11:37:54 +02:00
Andreas Enge 53f2f75fb1 gnu: openssl-1.1: Update to 1.1.1w.
* gnu/packages/tls.scm (openssl-1.1): Update to 1.1.1w.

Change-Id: Ibb7efac450bf942088a5332fa4a4b0a041ba2283
2026-04-16 11:37:46 +02:00
John Kehayias f77bbf8016 gnu: steam-devices-udev-rules: Update to 1.0.0.61-2.7dde9ec.
* gnu/packages/games.scm (steam-devices-udev-rules): Update to 1.0.0.61-2.7dde9ec.

Change-Id: If5931e836978b27d09e128cb5b581292eebcde96
2026-04-15 23:47:42 -04:00
Ian Eure c26c3d0f53 gnu: autofs-service: Fix computing Shepherd requirements.
Handling of non-NFS/SMB mounts was buggy and did not work at all.

* gnu/services/nfs.scm (autofs-configuration->requirements): Add an `else' to
prevent losing the accumulator in the fold.
(autofs-configuration->requirements): Call `delete-duplicates' on the input,
not the output.

Fixes #7927.

Change-Id: I0cccde431d0bd19dc63be8754fb6dfa35a6f8a49
2026-04-15 15:06:05 -07:00
jgart 0d11c221b8 guix: scripts: gc: Give better error reporting when attempting to vacuum.
* guix/scripts/gc.scm (%options): Error out when a non-root user tries
to vacuum the database.

Change-Id: Iee7d626c43980640aa91a3ceeb95675016932c55
Signed-off-by: jgart <jgart@dismail.de>
2026-04-15 17:56:23 -04:00
bdunahu 6abb7bc422 gnu: emacs-xelb: Patch call to xauth with store path.
This ensures login cookies used to authenticate with the X server can be found
at runtime without requiring xauth be in the user's profile.

* gnu/packages/emacs-xyz.scm (emacs-xelb)[#:phases]: Add ‘patch-xauth-path’.
[inputs]: Add xauth.

Change-Id: Ic24cb12d6103a3f6dc24c89f2dd43c1e1f7dc95c
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:11:05 +02:00
Liliana Marie Prikler 03937c8724 gnu: Add papers.
* gnu/packages/gnome.scm (papers): New variable.
* gnu/packages/rust-crates.scm (rust-ashpd-0.12.1)
(rust-float-next-after-1.0.0, rust-formatx-0.2.4, rust-geo-0.30.0)
(rust-geo-types-0.7.18, rust-geographiclib-rs-0.2.5, rust-i-float-1.7.0)
(rust-i-key-sort-0.2.0, rust-i-overlay-2.0.5, rust-i-shape-1.7.0)
(rust-i-tree-0.8.3, rust-ink-stroke-modeler-rs-0.1.0, rust-oo7-0.5.0)
(rust-robust-1.2.0): New variables.
(lookup-cargo-inputs): Add ‘papers’.
2026-04-15 23:10:35 +02:00
Liliana Marie Prikler 7ff2ca1b5c gnu: Add poppler-next.
* gnu/packages/pdf.scm (poppler-next): New variable.
2026-04-15 23:10:25 +02:00
λx.x 380efb7408 gnu: emacs-bqn-mode: Update to 2026-02-08
* gnu/packages/emacs-xyz.scm (emacs-bqn-mode): Update to 2026-02-08.

Change-Id: I6e52ba929ba962832c96422f48e8b1aed447a3cf
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
Nguyễn Gia Phong 589f4cc655 gnu: Add libfossil.
* gnu/packages/version-control.scm (libfossil): New variable.
* gnu/packages/patches/libfossil-skip-amalgamation.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I6e19c074587e17446ac213386a9143d503ebba57
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
Nguyễn Gia Phong 05e669ac50 guix: Implement fossil-download.
* guix/fossil-download.scm: New file.
* guix/build/fossil.scm: New file.
* Makefile.am (MODULES): Add them.
* etc/teams.scm (core)[#:scope]: Add "guix/fossil-download.scm".
(vcs)[#:scope]: Add "guix/build/fossil.scm".
* CODEOWNERS: Regenerate file.
* doc/guix.texi (origin Reference): Document fossil-fetch
and fossil-reference.
* NEWS: Add entry about fossil-fetch.

Change-Id: Ia252bcbbb417159a842d5092a937e2aad55a1656
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
coopi 08341ec277 gnu: Add emacs-nerd-icons-mode-line.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-mode-line): New variable.

Change-Id: Id3f80fe2c094b1e0e3eead99cb9e3083b062319b
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:25 +02:00
coopi b725619636 gnu: Add emacs-nerd-icons-corfu.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-corfu): New variable.

Change-Id: I487dc25bad6d0536a670c13626c1e18f4364c147
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi a3f6d396cd gnu: Add emacs-nerd-icons-completion.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-completion): New variable.

Change-Id: Ib5b07704689f8a1af6e0dec7e0370d3afde4f7d6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi 7d67cacad1 gnu: Add emacs-nerd-icons-ibuffer.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ibuffer): New variable.

Change-Id: Ia25dd10b7d3950cefec3ad4301cfebacdd4b8c74
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi 333d61cf5b gnu: Add emacs-nerd-icons-ivy-rich.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-ivy-rich): New variable.

Change-Id: I2266c559c225d1f0bb499734eb6eef4a613436e9
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi 21a4d649b2 gnu: Add emacs-nerd-icons-dired.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons-dired): New variable.

Change-Id: Ib8b192a07e7acbd52cb1705f237ec5a1976b3060
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
coopi 5ff9ca0339 gnu: emacs-nerd-icons: Patch out font installer.
* gnu/packages/emacs-xyz.scm (emacs-nerd-icons)[#:phases]: Add
‘disable-font-installer’.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-15 23:10:24 +02:00
Artyom V. Poptsov c4657c774b gnu: guile-pnm: Update to 0.2.0.
* gnu/packages/guile-xyz.scm (guile-pnm): Update to 0.2.0.

Change-Id: Icc2c71565e0100f82d22f57bfed3bba8d36ba353
2026-04-16 00:00:42 +03:00
Cayetano Santos b559fd6938 gnu: Add fsviewer.
* gnu/packages/gnustep.scm (fsviewer): New variable.

Merges guix/guix!7829

Change-Id: Ie9bc5f3eaed7a507c9aa031ab96e65ddaf69e6ad
2026-04-15 16:17:15 +02:00
Andreas Enge fa38888348 gnu: libnl: Update to 3.12.0.
* gnu/packages/linux.scm (libnl): Update to 3.12.0.

Change-Id: I3bfc0e8b6e63f43addf28966abd49fd42588888c
2026-04-15 13:52:09 +02:00
24 changed files with 1197 additions and 84 deletions
+2
View File
@@ -68,6 +68,7 @@ guix/discovery\.scm @guix/core
guix/docker\.scm @guix/core
guix/download\.scm @guix/core
guix/elf\.scm @guix/core
guix/fossil-download\.scm @guix/core
guix/ftp-client\.scm @guix/core
guix/gexp\.scm @guix/core
guix/git-authenticate\.scm @guix/core
@@ -484,6 +485,7 @@ gnu/services/version-control\.scm @guix/vcs
gnu/tests/version-control\.scm @guix/vcs
guix/build/bzr\.scm @guix/vcs
guix/build/cvs\.scm @guix/vcs
guix/build/fossil\.scm @guix/vcs
guix/build/git\.scm @guix/vcs
guix/build/hg\.scm @guix/vcs
guix/build/svn\.scm @guix/vcs
+2
View File
@@ -104,6 +104,7 @@ MODULES = \
guix/discovery.scm \
guix/android-repo-download.scm \
guix/bzr-download.scm \
guix/fossil-download.scm \
guix/git-download.scm \
guix/hg-download.scm \
guix/hash.scm \
@@ -236,6 +237,7 @@ MODULES = \
guix/build/asdf-build-system.scm \
guix/build/bzr.scm \
guix/build/copy-build-system.scm \
guix/build/fossil.scm \
guix/build/git.scm \
guix/build/hg.scm \
guix/build/glib-or-gtk-build-system.scm \
+3
View File
@@ -20,6 +20,9 @@ Please send Guix bug reports to bug-guix@gnu.org.
*** New service for Fossil SCM
*** TeX Live updated to 2026.1
** Programming interfaces
*** New (guix fossil-download) module, for fetching Fossil repositories
* Changes in 1.5.0 (since 1.4.0)
** Package management
*** New rpm format for the guix pack command
+46
View File
@@ -8737,6 +8737,52 @@ The example below denotes a version of gnu-standards to fetch:
@end deftp
For Fossil repositories, the module @code{(guix fossil-download)} defines
the @code{fossil-fetch} origin method and @code{fossil-reference} data type
for support of the Fossil @abbr{SCM, software configuration management} system.
@deffn {Procedure} fossil-fetch ref hash-algo hash [name]
Return a fixed-output derivation that fetches @var{ref}, a
@code{<fossil-reference>} object. The output is expected to have recursive
hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
the file name, or a generic name if @code{#f}.
@end deffn
@deftp {Data Type} fossil-reference
This data type represents a Fossil reference
for @code{fossil-fetch} to retrieve.
@table @asis
@item @code{uri} (type: string)
The URI of a Fossil repository to clone, in one of the following forms,
in which @code{[...]} denotes optional elements:
@table @code
@item http[s]://[userid[:password]@@]host[:port][/path]
A HTTP/HTTPS URL.
@item [file://]path/to/repo.fossil
A file URI, where the path must have an extra leading @code{/}
to use an absolute path (without the URI scheme, the repository
is opened directly without cloning).
@end table
@item @code{check-in} (type: string)
A @url{https://fossil-scm.org/home/doc/trunk/www/checkin_names.wiki,
name of the check-in} to fetch, e.g.@: its canonical hexadecimal identifier,
associated tag and/or timestamp.
@end table
The example below denotes the @code{version-3.51.1} tag
of the SQLite repository:
@lisp
(fossil-reference
(uri "https://sqlite.org/src")
(check-in "version-3.51.1"))
@end lisp
@end deftp
@node Defining Package Variants
@section Defining Package Variants
+2
View File
@@ -565,6 +565,7 @@ challenges"))
"guix/docker.scm"
"guix/download.scm"
"guix/elf.scm"
"guix/fossil-download.scm"
"guix/ftp-client.scm"
"guix/gexp.scm"
"guix/git-authenticate.scm"
@@ -1214,6 +1215,7 @@ the \"texlive\" importer."
"gnu/tests/version-control.scm"
"guix/build/bzr.scm"
"guix/build/cvs.scm"
"guix/build/fossil.scm"
"guix/build/git.scm"
"guix/build/hg.scm"
"guix/build/svn.scm")))
+1
View File
@@ -1698,6 +1698,7 @@ dist_patch_DATA = \
%D%/packages/patches/libcss-check-format.patch \
%D%/packages/patches/libeb-gcc-14.patch \
%D%/packages/patches/libextractor-tidy-support.patch \
%D%/packages/patches/libfossil-skip-amalgamation.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
+11 -12
View File
@@ -276,18 +276,17 @@ Ed448-Goldilocks and Curve448, using the Decaf encoding.")
(define-public libsodium
(package
(name "libsodium")
(version "1.0.18")
(source (origin
(method url-fetch)
(uri (list (string-append
"https://download.libsodium.org/libsodium/"
"releases/libsodium-" version ".tar.gz")
(string-append
"https://download.libsodium.org/libsodium/"
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g"))))
(version "1.0.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jedisct1/libsodium")
(commit (string-append version "-RELEASE"))))
(file-name (git-file-name name version))
(sha256
(base32
"1l6pc3m8zl1sip9ib91bjsb2z2zr7xa7bhblwwmyn9x4nkwqj17n"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description
+198 -3
View File
@@ -784,7 +784,7 @@ reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
(package
(name "emacs-bqn-mode")
;; Upstream releases are tagged by date.
(version "2025-07-06")
(version "2026-02-08")
(source
(origin
(method git-fetch)
@@ -793,7 +793,7 @@ reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1b25k66nn4qa4ryhm8mzc53qvsvhgjzdngisw28cpdh109627iz3"))))
(base32 "1m9l4if3a9i6r76v370gh6azgj2lwqcnpavfv2bkvm9ad56f3pa8"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ;No tests found in source.
@@ -24580,6 +24580,13 @@ Meows motions.")
#:tests? #f ; no test suite
#:phases
#~(modify-phases %standard-phases
(add-before 'patch-el-files 'patch-xauth-path
;; Uses xauth directly at runtime to authenticate with the X server.
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xcb.el"
(("xauth list")
(string-append (search-input-file inputs "/bin/xauth")
" list")))))
(add-after 'expand-load-path 'regenerate-el-files
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "xelb-gen"
@@ -24587,6 +24594,7 @@ Meows motions.")
(invoke "make"
(format #f "PROTO_PATH=~a/share/xcb"
#$(this-package-native-input "xcb-proto"))))))))
(inputs (list xauth))
(native-inputs (list xcb-proto))
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/emacs-exwm/xelb")
@@ -35412,12 +35420,199 @@ files are easily readable and they work nicely with version control systems.")
(build-system emacs-build-system)
(arguments
(list #:include #~(cons "^data\\/" %default-include)
#:tests? #f)) ; no tests
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
;; The nerd-icons-install-fonts function would otherwise
;; download fonts from the network. Replace it with a stub
;; that instructs the user to install the font via Guix.
(add-after 'unpack 'disable-font-installer
(lambda _
(emacs-batch-edit-file "nerd-icons.el"
'(progn
(search-forward "(defun nerd-icons-install-fonts")
(beginning-of-line)
(kill-sexp)
(insert "\
(defun nerd-icons-install-fonts (&optional pfx)
(interactive \"P\")
(message \"To use nerd-icons fonts, install `font-nerd-symbols' using
`guix package -i font-nerd-symbols' or add it to your manifest or home config.
Remember, that you may have to run `fc-cache -rv' to refresh the font cache.\
\"))")
(basic-save-buffer))))))))
(synopsis "Library for easily using nerd font icons inside Emacs")
(description "Nerd-icons an alternative to all-the-icons. It works on both
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-dired
;; No tags provided upstream
(let ((commit "adf9a2bb5f3f13be7a676923639337f3fcc5d8c3")
(revision "0"))
(package
(name "emacs-nerd-icons-dired")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rainstormstudio/nerd-icons-dired")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0x1xmwlfjgbk5kk4bxvgz4ykwwgiwmdbzhgsw49kpzz678a3qzrp"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs (list emacs-nerd-icons))
(home-page "https://github.com/rainstormstudio/nerd-icons-dired")
(synopsis "Icons for Dired via Nerd Icons")
(description
"This package adds icons to Dired, using the @code{nerd-icons} package.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-ivy-rich
;; Tagged release is not up-to-date, according to the "Version:" keyword in
;; main file.
(let ((commit "5006f91b49e86e232cdc1a628501b76124c41dac")
(revision "0"))
(package
(name "emacs-nerd-icons-ivy-rich")
(version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/seagle0128/nerd-icons-ivy-rich")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0m62l4cl9j3ssd25rz40vgrv99bmwn6l4ig2sf8zzi0fpzm8axgh"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;tests require Cask
(propagated-inputs
(list emacs-ivy-rich
emacs-nerd-icons))
(home-page "https://github.com/seagle0128/nerd-icons-ivy-rich")
(synopsis "Icons for Ivy via Nerd Icons")
(description
"This package adds icons to Ivy, using the @code{ivy-rich} and
@code{nerd-icons} packages.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-ibuffer
(package
(name "emacs-nerd-icons-ibuffer")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/seagle0128/nerd-icons-ibuffer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wj6kcgvh700maj9i5pmgzc48lbj0dbxx849a8w519m4anr7b23s"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;tests require Cask
(propagated-inputs
(list emacs-nerd-icons))
(home-page "https://github.com/seagle0128/nerd-icons-ibuffer")
(synopsis "Icons for Ibuffer via Nerd Icons")
(description
"This package adds icons to ibuffer in Emacs, using the @code{nerd-icons}
package.")
(license license:gpl3+)))
(define-public emacs-nerd-icons-completion
;; No tags provided upstream
(let ((commit "63a6b3f1eb98bb381c86a1658ac401c8967079b8")
(revision "0"))
(package
(name "emacs-nerd-icons-completion")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rainstormstudio/nerd-icons-completion")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "08p361rh5mv3ng10av1381kzl9s4msdjyca96hsgsh05qwq5pdrf"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs (list emacs-nerd-icons))
(home-page "https://github.com/rainstormstudio/nerd-icons-completion")
(synopsis "Icons for Emacs minibuffer completion via Nerd Icons")
(description
"This package adds icons to minibuffer completion in Emacs, using the
@code{nerd-icons} package. It supports @code{vertico} and @code{marginalia}.")
(license license:gpl3+))))
(define-public emacs-nerd-icons-corfu
(package
(name "emacs-nerd-icons-corfu")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LuigiPiucco/nerd-icons-corfu")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "036p45wqwrqhn5xv5sn3gsm2mb79gj6fk24zpkfa7wrv45qqgb21"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs
(list emacs-corfu
emacs-nerd-icons))
(home-page "https://github.com/LuigiPiucco/nerd-icons-corfu")
(synopsis "Icons for Corfu via Nerd Icons")
(description
"This package adds icons to @code{corfu}, using the @code{nerd-icons}
package.")
(license license:gpl3+)))
(define-public emacs-nerd-icons-mode-line
;; No tags provided upstream
(let ((commit "23eca8e16799524889d661f4140355e81b8f929c")
(revision "0"))
(package
(name "emacs-nerd-icons-mode-line")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/grolongo/nerd-icons-mode-line")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0l2bg22cllab9wz5wxd6zhrywavqrlvv1a6y49ij63qhlsfncy6s"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ;no tests
(propagated-inputs (list emacs-nerd-icons))
(home-page "https://github.com/grolongo/nerd-icons-mode-line")
(synopsis "Icons for the Emacs modeline via Nerd Icons")
(description
"This package adds icons to the modeline in Emacs, using the
@code{nerd-icons} package.")
(license license:gpl3+))))
(define-public emacs-all-the-icons
;; The latest release was on 3 June 2021.
(let ((commit "4778632b29c8c8d2b7cd9ce69535d0be01d846f9")
+3 -3
View File
@@ -13508,8 +13508,8 @@ rules to solve permissions issues.")
(define-public steam-devices-udev-rules
;; Last release from 2019-04-10
(let ((commit "13443480a64fe8f10676606bd57da6de89f8ccb1")
(revision "1"))
(let ((commit "7dde9ecb3c386363ecd9bd0a3b77e4756d200704")
(revision "2"))
(package
(name "steam-devices-udev-rules")
(version (git-version "1.0.0.61" revision commit))
@@ -13521,7 +13521,7 @@ rules to solve permissions issues.")
(file-name (git-file-name name version))
(sha256
(base32
"0i086gmnk93q76sw1laa9br6b7zj2r6nrrw7d64y4q9wcrlxw2bi"))))
"0w0xkgi9fpvdbpl57f8fy2nwy2icm6iag39b8ifpkijlxgclx1p3"))))
(build-system copy-build-system)
(arguments
'(#:install-plan '(("./" "lib/udev/rules.d"
+86
View File
@@ -2598,6 +2598,92 @@ of Evince is to replace the multiple document viewers that exist
on the GNOME Desktop with a single simple application.")
(license license:gpl2+)))
(define-public papers
(package
(name "papers")
(version "50.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/papers/"
(version-major version) "/"
"papers-" version ".tar.xz"))
(sha256
(base32 "01dws72fb19i9jwp3r0khr7ym2ns51fifdzafb5dcr5w8vmj06rh"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:configure-flags
#~(list (string-append "-Dc_link_args=-Wl,-rpath=" #$output "/lib"))
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))
(substitute* "meson.build"
(("'Cargo.lock',")
""))
(delete-file "Cargo.lock")))
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
#:cargo-target #$(cargo-triplet)
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums))
(setenv "RUSTFLAGS"
(string-append (or (getenv "RUSTFLAGS") "")
" -C link-arg=-Wl,-rpath,"
#$output "/lib")))))))
(native-inputs
(cons* blueprint-compiler
gettext-minimal
`(,glib "bin")
gobject-introspection
gi-docgen
itstool
pkg-config
rust
`(,rust "cargo")
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(inputs
(cons* appstream
djvulibre
exempi
gtk
libadwaita
libarchive
libspelling
libtiff
nautilus ; for nautilus extension
poppler-next
zlib
(cargo-inputs 'papers)))
(home-page "https://apps.gnome.org/Papers")
;; TODO: drop “new” when updating to GNOME 49 or newer.
(synopsis "GNOME's new document viewer")
(description "Papers is a document viewer capable of displaying multiple
and single page document formats like PDF and DejaVu.")
(license license:gpl2+)))
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
+28
View File
@@ -48,6 +48,34 @@
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
(define-public fsviewer
(package
(name "fsviewer")
(version "0.2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/roblillack/fsviewer")
(commit (string-append "v" version))))
(sha256
(base32
"067fvbq7b4lbnn1flmwf8lm0vq4n6qz5yz6hhab30l4gksfk51cg"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;no tests
(inputs
(list windowmaker libxmu libxpm))
(native-inputs
(list pkg-config))
(home-page "https://github.com/roblillack/fsviewer")
(synopsis "File viewer for Window Maker")
(description "FSViewer is a NeXT FileViewer lookalike for Window
Maker supporting browser mode and list mode. This version is a fork of
FSViewer.app originally written by George Clernon (1998-99) and later
maintained by Guido Scholz (2002-07).")
(license license:gpl2)))
(define-public gnustep-make
(package
(name "gnustep-make")
+2 -2
View File
@@ -5790,7 +5790,7 @@ processing filters.")
(define-public guile-pnm
(package
(name "guile-pnm")
(version "0.1.0")
(version "0.2.0")
(source
(origin
(method git-fetch)
@@ -5799,7 +5799,7 @@ processing filters.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yvsni4hll20g99zq4wl734f9i8gpjr1sqsnk3a93k2dd7b6ymac"))))
(base32 "06kgp1gh8hdj1j6w7i981prx93wfjpayrnjlydlzs7l5j04l4m3a"))))
(build-system gnu-build-system)
(arguments
(list
+3 -3
View File
@@ -4914,7 +4914,7 @@ transparently through a bridge.")
(define-public libnl
(package
(name "libnl")
(version "3.7.0")
(version "3.12.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4923,7 +4923,7 @@ transparently through a bridge.")
"/libnl-" version ".tar.gz"))
(sha256
(base32
"0faryrbvp0x4s2zhg5d78vd5q4w34lrr736gpm9wcwpaxv5krr4z"))))
"066xq01y2mx0xi7bwa5y6ciw1ygla15qdlzzyvyzb8zijrqwllgw"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
@@ -4938,7 +4938,7 @@ transparently through a bridge.")
(string-join (string-split version #\.) "_")
"/libnl-doc-" version ".tar.gz"))
(sha256
(base32 "1ra8xdf06q9hlsrnc1yz67xkp4kd9sd27ff02mlixixnyyjp32sp"))))))
(base32 "18f14pdycghy6fcd27faqgh19zpam6b45s8bgsk85kb9wwzq3yd4"))))))
(outputs `("out" "doc"))
(arguments
`(#:phases
@@ -0,0 +1,43 @@
--- a/Makefile.in
+++ b/Makefile.in
@@ -265,15 +265,11 @@
amal.flags = -nc
amal.run = TOPDIR="$(DIR.top)" $(SHELL.bash) $(bin.make-amal) --quiet
libfossil.c: $(amal.deps)
$(amal.run) $(amal.flags)
-libfossil.h: libfossil.c
-all: libfossil.c
@if ENABLE_CXX
-libfossil.hpp: libfossil.c
-libfossil.c++: libfossil.c
amal.flags += -c++
@endif
.PHONY: amal
amal: libfossil.c
@@ -287,19 +283,16 @@
fossil uv sync
@endif
@endif
install: install-headers
-install-headers: libfossil.h $(install-dir.include)
- $(INSTALL.noexec) libfossil.h $(install-dir.include)
+install-headers: include/libfossil.h $(install-dir.include)
+ $(INSTALL.noexec) $< $(install-dir.include)
@if ENABLE_CXX
-libfossil++.hpp: libfossil.h
-libfossil++.cpp: libfossil++.hpp
-all: libfossil++.cpp
install-headers: install-headers++
-install-headers++: libfossil++.hpp $(install-dir.include)
- $(INSTALL.noexec) libfossil++.hpp $(install-dir.include)
+install-headers++: include/libfossil.hpp $(install-dir.include)
+ $(INSTALL.noexec) $< $(install-dir.include)
@endif # ENABLE_CXX
clean: clean-amalgamation
clean-amalgamation:
rm -f libfossil.c libfossil.h libfossil++.cpp libfossil++.hpp
rm -f libfossil-config.h libfossil-amalgamation.zip VERSION.h
+28
View File
@@ -472,6 +472,34 @@ Poppler gives access to the following binary programs:
(license license:gpl2+)
(home-page "https://poppler.freedesktop.org/")))
(define-public poppler-next
(package
(inherit poppler)
(name "poppler-next")
(version "26.04.0")
(source (origin
(method url-fetch)
(uri (string-append "https://poppler.freedesktop.org/poppler-"
version ".tar.xz"))
(sha256
(base32
"14q69q6ipy3m4ywdhlr48qlscwzrv8jcns3g2306pyaa25im35dh"))))
(arguments (substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(cons*
"-DENABLE_GPGME=OFF"
"-DENABLE_QT5=OFF"
"-DENABLE_QT6=OFF"
#$flags))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'install 'sanitize-pkg-config-files
(lambda _
(substitute* (find-files #$output "\\.pc$")
(("^Requires.private:.*" all)
(string-append "# " all)))))))))
(inputs (modify-inputs inputs (prepend curl)))))
(define-public poppler-data
(package
(name "poppler-data")
+2 -2
View File
@@ -7883,7 +7883,7 @@ basic TCP/IP protocols.")
(define-public python-geventhttpclient
(package
(name "python-geventhttpclient")
(version "2.3.3")
(version "2.3.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7893,7 +7893,7 @@ basic TCP/IP protocols.")
(file-name (git-file-name name version))
(sha256
(base32
"1ya0i0fbx054mfx5d1k75fcf64xzp7vva8lkwwzan41xbnc56nyj"))))
"1diq6n9sr92rsqbpxlbhbn1d22hrlzp6swykz9bfzh7sxpywa6j8"))))
(build-system pyproject-build-system)
(arguments
(list
+321
View File
@@ -9353,6 +9353,10 @@
(crate-source "form_urlencoded" "1.2.2"
"1kqzb2qn608rxl3dws04zahcklpplkd5r1vpabwga5l50d2v4k6b"))
(define rust-formatx-0.2.4
(crate-source "formatx" "0.2.4"
"02m0alndynacid8j6hx7iwpliq13szfhj6xfldzwhgzm72n6z1nq"))
(define rust-four-cc-0.4.0
(crate-source "four-cc" "0.4.0"
"0acnincbs26yjzkmdhw3q22c9dx5v56m1dybgkj7r6j1dp2vyp3r"))
@@ -10040,6 +10044,18 @@
(crate-source "genetlink" "0.2.5"
"17q7zlmp95fx28zjkzh69g6d5q6rm2a3dkj7yy5jk8gsq5v0128z"))
(define rust-geo-0.30.0
(crate-source "geo" "0.30.0"
"1q82kvy988axk2jndfd9xblj42phyha9gnbs7sd7x6fqf5v3j5j4"))
(define rust-geo-types-0.7.18
(crate-source "geo-types" "0.7.18"
"0b58y1467yvxbqsvzgcpzbl0n0zgqr965mbwlhfs2pq0yix69y14"))
(define rust-geographiclib-rs-0.2.5
(crate-source "geographiclib-rs" "0.2.5"
"0hbqkaxb2hld74kswrkf1cza0y53j8g8s4lalwlslzmk5c5084gn"))
(define rust-get-size-derive2-0.6.2
(crate-source "get-size-derive2" "0.6.2"
"1q3l3q3x3nas1qfkglccm9v49rgg0cn7hq7d9llyickqchi7m8bm"))
@@ -14479,6 +14495,26 @@
(crate-source "hyprland-macros" "0.3.4"
"1sz4yhwi7d1s2wfpk9ql43dgmiq0j3j8skmrijpi55lp5vax6hf9"))
(define rust-i-float-1.7.0
(crate-source "i_float" "1.7.0"
"0hw33gz4441yl9x2q7vkipmdrj406svwf5i4vigrbfr9d10kmpw5"))
(define rust-i-key-sort-0.2.0
(crate-source "i_key_sort" "0.2.0"
"1kczb6y1523izrdf0mriaw46y5kb7c9wxjclmy5s58a88wxjaz1l"))
(define rust-i-overlay-2.0.5
(crate-source "i_overlay" "2.0.5"
"0jgfbk1jm95210d4p5qv7svpy55n4l3cqgd0fhhx9zaa33pxyhh5"))
(define rust-i-shape-1.7.0
(crate-source "i_shape" "1.7.0"
"1khv16yyvkp43pvrilpfd9vjkcbr1r56skwjzwc6fwkq4sjgaf0a"))
(define rust-i-tree-0.8.3
(crate-source "i_tree" "0.8.3"
"0f8ic0myw6k6jvkl5rjviqmfk7m1309aaza7z4f1hw6pjyy82l8m"))
(define rust-i18n-config-0.4.7
(crate-source "i18n-config" "0.4.7"
"1j89hnd1d2zqfb1s9jgcd5vzf5a9iisfc18v324mpgn06540g24f"))
@@ -15210,6 +15246,10 @@
(crate-source "inherent" "1.0.13"
"19zv61fmn71kwmdd33nq1c1l5qpw9dpmpw6j10jnwv2az85zh9y7"))
(define rust-ink-stroke-modeler-rs-0.1.0
(crate-source "ink-stroke-modeler-rs" "0.1.0"
"1mmxi6w0b6r6imiggzdk0bi77cwpadpgf57xzkl45kdbsmk3077x"))
(define rust-inkwell-0.2.0
(crate-source "inkwell" "0.2.0"
"1hb9wdh6hfr8shdnx3hda2mrb2vgglqyc94f2ysggf509x5cnkrz"))
@@ -25251,6 +25291,10 @@
"0yqy3h6c13c73519bnwzmiv9nzxyl7sajl6n4q3lvnc4l77x5s0r"
#:snippet '(delete-file-recursively "tests")))
(define rust-robust-1.2.0
(crate-source "robust" "1.2.0"
"0fcqw67hgs1k9parr6rbkhzkjbd1my9n44fb1v7sv80wp65yw9sf"))
(define rust-rocket-0.5.1
(crate-source "rocket" "0.5.1"
"0gypf9z6s0kshv33qq1vf16raw8xnr1p03ii0kfgf7d3jrr905m5"))
@@ -25418,6 +25462,10 @@
(crate-source "rsqlite-vfs" "0.1.0"
"0kap86yzwl355byfs891185h723nxvl746fdp8gnpvrna0qz58d8"))
(define rust-rstar-0.12.2
(crate-source "rstar" "0.12.2"
"1fsx2z2l6nq2fd95g9yvw1a9qvypllq9q6aqb3x6vlng7k8h0522"))
(define rust-rstest-0.19.0
(crate-source "rstest" "0.19.0"
"0c43nsxpm1b74jxc73xwg94is6bwqvfzkrr1xbqyx7j7l791clwx"))
@@ -67177,6 +67225,279 @@
rust-zstd-0.13.3
rust-zstd-safe-7.2.4
rust-zstd-sys-2.0.15+zstd.1.5.7))
(papers =>
(list rust-adler2-2.0.1
rust-aes-0.8.4
rust-aho-corasick-1.1.4
rust-allocator-api2-0.2.21
rust-anstream-0.6.21
rust-anstyle-1.0.13
rust-anstyle-parse-0.2.7
rust-anstyle-query-1.1.5
rust-anstyle-wincon-3.0.11
rust-approx-0.5.1
rust-ashpd-0.12.1
rust-async-broadcast-0.7.2
rust-async-channel-2.5.0
rust-async-executor-1.13.3
rust-async-fs-2.2.0
rust-async-io-2.6.0
rust-async-lock-3.4.2
rust-async-net-2.0.0
rust-async-process-2.5.0
rust-async-recursion-1.1.1
rust-async-signal-0.2.13
rust-async-task-4.7.1
rust-async-trait-0.1.89
rust-atomic-waker-1.1.2
rust-autocfg-1.5.0
rust-bitflags-2.10.0
rust-block-0.1.6
rust-block-buffer-0.10.4
rust-block-padding-0.3.3
rust-blocking-1.6.2
rust-bumpalo-3.19.1
rust-bytemuck-1.24.0
rust-byteorder-1.5.0
rust-byteorder-lite-0.1.0
rust-cairo-rs-0.21.5
rust-cairo-sys-rs-0.21.5
rust-cbc-0.1.2
rust-cc-1.2.54
rust-cfg-expr-0.20.6
rust-cfg-if-1.0.4
rust-cipher-0.4.4
rust-colorchoice-1.0.4
rust-concurrent-queue-2.5.0
rust-cpufeatures-0.2.17
rust-crc32fast-1.5.0
rust-crossbeam-utils-0.8.21
rust-crypto-common-0.1.7
rust-digest-0.10.7
rust-displaydoc-0.2.5
rust-endi-1.1.1
rust-enumflags2-0.7.12
rust-enumflags2-derive-0.7.12
rust-env-filter-0.1.4
rust-env-logger-0.11.8
rust-equivalent-1.0.2
rust-errno-0.3.14
rust-event-listener-5.4.1
rust-event-listener-strategy-0.5.4
rust-fastrand-2.3.0
rust-fdeflate-0.3.7
rust-field-offset-0.3.6
rust-find-msvc-tools-0.1.8
rust-flate2-1.1.8
rust-float-next-after-1.0.0
rust-foldhash-0.2.0
rust-form-urlencoded-1.2.2
rust-formatx-0.2.4
rust-futures-0.3.31
rust-futures-channel-0.3.31
rust-futures-core-0.3.31
rust-futures-executor-0.3.31
rust-futures-io-0.3.31
rust-futures-lite-2.6.1
rust-futures-macro-0.3.31
rust-futures-sink-0.3.31
rust-futures-task-0.3.31
rust-futures-util-0.3.31
rust-gdk-pixbuf-0.21.5
rust-gdk-pixbuf-sys-0.21.5
rust-gdk4-0.10.3
rust-gdk4-sys-0.10.3
rust-generic-array-0.14.7
rust-geo-0.30.0
rust-geo-types-0.7.18
rust-geographiclib-rs-0.2.5
rust-getrandom-0.2.17
rust-getrandom-0.3.4
rust-gettext-rs-0.7.7
rust-gettext-sys-0.26.0
rust-gio-0.21.5
rust-gio-sys-0.21.5
rust-git-version-0.3.9
rust-git-version-macro-0.3.9
rust-glib-0.21.5
rust-glib-macros-0.21.5
rust-glib-sys-0.21.5
rust-gobject-sys-0.21.5
rust-graphene-rs-0.21.5
rust-graphene-sys-0.21.5
rust-gsk4-0.10.3
rust-gsk4-sys-0.10.3
rust-gtk4-0.10.3
rust-gtk4-macros-0.10.3
rust-gtk4-sys-0.10.3
rust-hash32-0.3.1
rust-hashbrown-0.16.1
rust-heapless-0.8.0
rust-heck-0.5.0
rust-hermit-abi-0.5.2
rust-hex-0.4.3
rust-hkdf-0.12.4
rust-hmac-0.12.1
rust-i-float-1.7.0
rust-i-key-sort-0.2.0
rust-i-overlay-2.0.5
rust-i-shape-1.7.0
rust-i-tree-0.8.3
rust-icu-collections-2.1.1
rust-icu-locale-core-2.1.1
rust-icu-normalizer-2.1.1
rust-icu-normalizer-data-2.1.1
rust-icu-properties-2.1.2
rust-icu-properties-data-2.1.2
rust-icu-provider-2.1.1
rust-idna-1.1.0
rust-idna-adapter-1.2.1
rust-image-0.25.9
rust-indexmap-2.13.0
rust-ink-stroke-modeler-rs-0.1.0
rust-inout-0.1.4
rust-is-terminal-polyfill-1.70.2
rust-jiff-0.2.18
rust-jiff-static-0.2.18
rust-js-sys-0.3.85
rust-lazy-static-1.5.0
rust-libadwaita-0.8.1
rust-libadwaita-sys-0.8.1
rust-libc-0.2.180
rust-libm-0.2.16
rust-linux-raw-sys-0.11.0
rust-litemap-0.8.1
rust-locale-config-0.3.0
rust-log-0.4.29
rust-lru-0.16.3
rust-malloc-buf-0.0.6
rust-md-5-0.10.6
rust-memchr-2.7.6
rust-memoffset-0.9.1
rust-miniz-oxide-0.8.9
rust-moxcms-0.7.11
rust-num-0.4.3
rust-num-bigint-0.4.6
rust-num-bigint-dig-0.8.6
rust-num-complex-0.4.6
rust-num-integer-0.1.46
rust-num-iter-0.1.45
rust-num-rational-0.4.2
rust-num-traits-0.2.19
rust-objc-0.2.7
rust-objc-foundation-0.1.1
rust-objc-id-0.1.1
rust-once-cell-1.21.3
rust-once-cell-polyfill-1.70.2
rust-oo7-0.5.0
rust-ordered-stream-0.2.0
rust-pango-0.21.5
rust-pango-sys-0.21.5
rust-parking-2.2.1
rust-pbkdf2-0.12.2
rust-percent-encoding-2.3.2
rust-pin-project-lite-0.2.16
rust-pin-utils-0.1.0
rust-piper-0.2.4
rust-pkg-config-0.3.32
rust-png-0.18.0
rust-polling-3.11.0
rust-portable-atomic-1.13.0
rust-portable-atomic-util-0.2.4
rust-potential-utf-0.1.4
rust-ppv-lite86-0.2.21
rust-proc-macro-crate-3.4.0
rust-proc-macro2-1.0.106
rust-pxfm-0.1.27
rust-quote-1.0.44
rust-r-efi-5.3.0
rust-rand-0.8.5
rust-rand-0.9.2
rust-rand-chacha-0.3.1
rust-rand-chacha-0.9.0
rust-rand-core-0.6.4
rust-rand-core-0.9.5
rust-regex-1.12.2
rust-regex-automata-0.4.13
rust-regex-syntax-0.8.8
rust-robust-1.2.0
rust-rstar-0.12.2
rust-rustc-version-0.4.1
rust-rustix-1.1.3
rust-rustversion-1.0.22
rust-semver-1.0.27
rust-serde-1.0.228
rust-serde-core-1.0.228
rust-serde-derive-1.0.228
rust-serde-repr-0.1.20
rust-serde-spanned-1.0.4
rust-sha2-0.10.9
rust-shell-words-1.1.1
rust-shlex-1.3.0
rust-signal-hook-registry-1.4.8
rust-simd-adler32-0.3.8
rust-slab-0.4.11
rust-smallvec-1.15.1
rust-spin-0.9.8
rust-stable-deref-trait-1.2.1
rust-subtle-2.6.1
rust-syn-2.0.114
rust-synstructure-0.13.2
rust-system-deps-7.0.7
rust-target-lexicon-0.13.3
rust-temp-dir-0.1.16
rust-tempfile-3.24.0
rust-thiserror-2.0.18
rust-thiserror-impl-2.0.18
rust-tinystr-0.8.2
rust-toml-0.9.11+spec-1.1.0
rust-toml-datetime-0.7.5+spec-1.1.0
rust-toml-edit-0.23.10+spec-1.0.0
rust-toml-parser-1.0.6+spec-1.1.0
rust-toml-writer-1.0.6+spec-1.1.0
rust-tracing-0.1.44
rust-tracing-attributes-0.1.31
rust-tracing-core-0.1.36
rust-typenum-1.19.0
rust-uds-windows-1.1.0
rust-unicode-ident-1.0.22
rust-url-2.5.8
rust-utf8-iter-1.0.4
rust-utf8parse-0.2.2
rust-uuid-1.20.0
rust-version-compare-0.2.1
rust-version-check-0.9.5
rust-wasi-0.11.1+wasi-snapshot-preview1
rust-wasip2-1.0.1+wasi-0.2.4
rust-wasm-bindgen-0.2.108
rust-wasm-bindgen-macro-0.2.108
rust-wasm-bindgen-macro-support-0.2.108
rust-wasm-bindgen-shared-0.2.108
rust-winapi-0.3.9
rust-winapi-i686-pc-windows-gnu-0.4.0
rust-winapi-x86-64-pc-windows-gnu-0.4.0
rust-windows-link-0.2.1
rust-windows-sys-0.61.2
rust-winnow-0.7.14
rust-wit-bindgen-0.46.0
rust-writeable-0.6.2
rust-yoke-0.8.1
rust-yoke-derive-0.8.1
rust-zbus-5.14.0
rust-zbus-macros-5.14.0
rust-zbus-names-4.3.1
rust-zerocopy-0.8.35
rust-zerocopy-derive-0.8.35
rust-zerofrom-0.1.6
rust-zerofrom-derive-0.1.6
rust-zeroize-1.8.2
rust-zeroize-derive-1.4.3
rust-zerotrie-0.2.3
rust-zerovec-0.11.5
rust-zerovec-derive-0.11.2
rust-zvariant-5.10.0
rust-zvariant-derive-5.10.0
rust-zvariant-utils-3.3.0))
(parinfer-rust =>
(list rust-addr2line-0.24.2
rust-adler2-2.0.0
+3 -3
View File
@@ -19,7 +19,7 @@
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2023 Simon Streit <simon@netpanic.org>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024, 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
@@ -237,7 +237,7 @@ a server that supports the SSH-2 protocol.")
(define-public openssh
(package
(name "openssh")
(version "10.2p1")
(version "10.3p1")
(source
(origin
(method url-fetch)
@@ -245,7 +245,7 @@ a server that supports the SSH-2 protocol.")
"openssh-" version ".tar.gz"))
(patches (search-patches "openssh-trust-guix-store-directory.patch"))
(sha256
(base32 "1clqyxh6mrbwjg964df0hjwmd361mxnx3nx17wk5jyck3422ri6c"))))
(base32 "1x25iv8yfcfpf3b1ap72indbfna0wz48xz8ny2sg9p4jpcv2ls2n"))))
(build-system gnu-build-system)
(arguments
(list
+142 -46
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2012-2017, 2019-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2026 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2019, 2021-2024 Efraim Flashner <efraim@flashner.co.il>
@@ -98,7 +98,7 @@
(define-public libtasn1
(package
(name "libtasn1")
(version "4.20.0")
(version "4.21.0")
(source
(origin
(method url-fetch)
@@ -106,7 +106,7 @@
version ".tar.gz"))
(sha256
(base32
"0v57hwsv4wijb0fvfp6s9jx35izhhgfjssq3fvpaxm029jyy7q4j"))))
"11ywcy8n115c8b3vmf7hmgkdhlfy4phlcwvp8114di9w495492hx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
@@ -430,7 +430,7 @@ OpenSSL for TARGET."
(define-public openssl-1.1
(package
(name "openssl")
(version "1.1.1u")
(version "1.1.1w")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
@@ -443,7 +443,7 @@ OpenSSL for TARGET."
(patches (search-patches "openssl-1.1-c-rehash-in.patch"))
(sha256
(base32
"1ipbcdlqyxbj5lagasrq2p6gn0036wq6hqp7gdnd1v1ya95xiy72"))))
"1j3anw4554lk3m9cvjngvh1c2gbdkhgiz160jnnm7n5l1jarhc6g"))))
(build-system gnu-build-system)
(outputs '("out"
"doc" ;6.8 MiB of man3 pages and full HTML documentation
@@ -452,14 +452,11 @@ OpenSSL for TARGET."
(arguments
(list
#:make-flags
;; 'test_ssl_new.t' in 1.1.1n and 3.0.3 fails due to an expired
;; certificate: <https://github.com/openssl/openssl/issues/18441>. Skip
;; it.
#~(list #$@(if (or (target-arm?) (target-riscv64?))
;; 'test_afalg' seems to be dependent on kernel features:
;; <https://github.com/openssl/openssl/issues/12242>.
#~("TESTS=-test_afalg -tls_ssl_new")
#~("TESTS=-test_ssl_new")))
(if (or (target-arm?) (target-riscv64?))
;; 'test_afalg' seems to be dependent on kernel features:
;; <https://github.com/openssl/openssl/issues/12242>.
#~(list "TESTS=-test_afalg")
#~(list))
#:test-target "test"
;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure,
;; so we explicitly disallow it here.
@@ -550,10 +547,11 @@ OpenSSL for TARGET."
(license license:openssl)
(home-page "https://www.openssl.org/")))
(define-public openssl-3.0
(define-public openssl-3.5
;; LTS series with EOL 2030-04-08
(package
(inherit openssl-1.1)
(version "3.0.8")
(name "openssl")
(version "3.5.5")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
@@ -566,38 +564,136 @@ OpenSSL for TARGET."
(patches (search-patches "openssl-3.0-c-rehash-in.patch"))
(sha256
(base32
"0gjb7qjl2jnzs1liz3rrccrddxbk6q3lg8z27jn1xwzx72zx44vc"))))
"129aphl9yy5xd67cwacf000llkhpi1s8phmlhgws2rcb599r335j"))))
(build-system gnu-build-system)
(outputs '("out"
"doc"
"static"))
(arguments
(substitute-keyword-arguments (package-arguments openssl-1.1)
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-before 'configure 'configure-perl
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(setenv "HASHBANGPERL"
(search-input-file (or native-inputs inputs)
"/bin/perl"))))
#$@(if (target-hurd?)
#~((delete 'patch-configure))
#~())
#$@(if (target-hurd64?)
#~((add-after 'unpack 'apply-hurd-patch
(lambda _
(let ((patch-file
#$(local-file
(search-patch "openssl-hurd64.patch"))))
(invoke "patch" "--force" "-p1" "-i"
patch-file)))))
#~())))
((#:configure-flags flags #~'())
(if (system-hurd?) ;must not be used when
#~(append #$flags ;cross-compiling!
#$(if (target-hurd64?)
#~'("hurd-x86_64")
#~'("hurd-x86")))
flags))))
(list
#:parallel-tests? #f
#:make-flags
(if (or (target-arm?) (target-riscv64?))
;; 'test_afalg' seems to be dependent on kernel features:
;; <https://github.com/openssl/openssl/issues/12242>.
#~(list "TESTS=-test_afalg")
#~(list))
#:test-target "test"
#:configure-flags
(if (system-hurd?)
(if (target-hurd64?)
#~(list "hurd-x86_64")
#~(list "hurd-x86"))
#~(list))
;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure,
;; so we explicitly disallow it here.
#:disallowed-references (list (this-package-native-input "perl"))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key configure-flags native-inputs inputs target #:allow-other-keys)
;; It's not a shebang so patch-source-shebangs misses it.
(substitute* "config"
(("/usr/bin/env")
(which "env")))
#$@(if (%current-target-system)
#~((setenv "CROSS_COMPILE" (string-append target "-"))
(setenv "CONFIGURE_TARGET_ARCH"
#$(target->openssl-target
this-package
(%current-target-system))))
#~())
;; Configure PERL.
(setenv "HASHBANGPERL"
(search-input-file (or native-inputs inputs)
"/bin/perl"))
(apply
invoke #$@(if (%current-target-system)
#~("./Configure")
#~("./config"))
"shared" ;build shared libraries
"--libdir=lib"
;; The default for this catch-all directory is
;; PREFIX/ssl. Change that to something more
;; conventional.
(string-append "--openssldir=" #$output
"/share/openssl-"
#$(package-version this-package))
(string-append "--prefix=" #$output)
(string-append "-Wl,-rpath," (string-append #$output "/lib"))
#$@(if (%current-target-system)
#~((getenv "CONFIGURE_TARGET_ARCH"))
#~())
configure-flags)
;; Output the configure variables.
(invoke "perl" "configdata.pm" "--dump")))
(add-after 'install 'move-static-libraries
(lambda _
;; Move static libraries to the "static" output.
(let* ((lib (string-append #$output "/lib"))
(slib (string-append #$output:static "/lib")))
(for-each (lambda (file)
(install-file file slib)
(delete-file file))
(find-files
lib
#$(if (target-mingw?)
'(lambda (filename _)
(and (string-suffix? ".a" filename)
(not (string-suffix? ".dll.a"
filename))))
"\\.a$"))))))
(add-after 'install 'move-extra-documentation
(lambda _
;; Move man pages and full HTML documentation to "doc".
(let* ((man (string-append #$output "/share/man"))
(html (string-append #$output "/share/doc/openssl"))
(man-target (string-append #$output:doc "/share/man"))
(html-target (string-append
#$output:doc "/share/doc/openssl")))
(mkdir-p (dirname man-target))
(mkdir-p (dirname html-target))
(rename-file man man-target)
(rename-file html html-target))))
(add-after 'install 'remove-miscellany
(lambda _
;; The 'misc' directory contains random undocumented shell and
;; Perl scripts. Remove them to avoid retaining a reference on
;; Perl.
(delete-file-recursively
(string-append #$output "/share/openssl-"
#$(package-version this-package) "/misc")))))))
(native-inputs (list perl))
(native-search-paths
(list $SSL_CERT_DIR $SSL_CERT_FILE))
(home-page "https://www.openssl.org/")
(synopsis "SSL/TLS implementation")
(description "OpenSSL is an implementation of SSL/TLS.")
(license license:asl2.0)))
(define-public openssl openssl-3.0)
(define-public openssl-3.0
;; LTS series with EOL 2026-09-07
(package
(inherit openssl-3.5)
(version "3.0.19")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
version ".tar.gz")
(string-append "ftp://ftp.openssl.org/source/"
"openssl-" version ".tar.gz")
(string-append "ftp://ftp.openssl.org/source/old/"
(string-trim-right version char-set:letter)
"/openssl-" version ".tar.gz")))
(patches (search-patches "openssl-3.0-c-rehash-in.patch"
"openssl-hurd64.patch"))
(sha256
(base32
"0wihnr5bjdc3v0r4viwb1d1lf1rfkbrcmwzj7vjqpqdap11l2nps"))))))
(define-public openssl openssl-3.5)
(define-public bearssl
(package
@@ -821,7 +917,7 @@ certificates for free.")
"0pfrpi77964cg15dm6y0w03l64xs0k2nqc15qh2xmv8vdnjyhywx"))
(patches (search-patches "perl-net-ssleay-colon-parsing.patch"))))
(build-system perl-build-system)
(inputs (list openssl))
(inputs (list openssl-3.0))
(arguments
`(#:phases
(modify-phases %standard-phases
+71
View File
@@ -68,6 +68,7 @@
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2026 Ingar <ingar@onionmail.info>
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -91,6 +92,7 @@
#:use-module (guix deprecation)
#:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix fossil-download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix build-system cargo)
@@ -111,6 +113,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 check)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
@@ -3519,6 +3522,74 @@ output of the @code{git} command.")
modification time.")
(license license:bsd-2)))
(define-public libfossil
(let ((ci "914ed6dcaff13bf7209c9f27ccfb77c2d8fdf36b8d2133aa1590258b0708f035")
(revision "0"))
(package
(name "libfossil")
(version (fossil-version "0.6.0" revision ci))
(source
(origin
(method fossil-fetch)
(uri (fossil-reference
(uri "https://fossil.wanderinghorse.net/r/libfossil")
(check-in ci)))
(file-name (fossil-file-name name version))
(sha256
(base32 "0a0ycnnba2izmiqjj8hgvjgjdwhpn0x36lhy3vmw4j7bhny0df52"))
(patches (search-patches "libfossil-skip-amalgamation.patch"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "autosetup" "proj.tcl" "wh-common.tcl")
(delete-file-recursively "extsrc")
;; Re-create Fossil check-out manifests,
;; whose content does not affect in semantics.
(for-each
(lambda (file)
(call-with-output-file file (const #t)))
'("manifest" "manifest.uuid"))))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "--no-debug" "--no-fnc" ;TODO: C++ and Tcl binding?
(string-append "--with-sqlite="
#$(this-package-input "sqlite"))
(string-append "--soname=libfossil.so"))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(apply invoke "autosetup"
(string-append "--prefix=" #$output)
configure-flags)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(substitute* "sanity-checks.sh"
;; FIXME: these tests requires a Fossil checkout.
(("\\./f-sanity.*") "")
(("\\./f-parseparty.*") ""))
(setenv "LD_LIBRARY_PATH" (getcwd))
(invoke "./sanity-checks.sh")))))))
(native-inputs (list autosetup))
(inputs (list sqlite-next zlib))
(home-page "https://fossil.wanderinghorse.net/r/libfossil")
(synopsis "Unofficial Fossil SCM Library API")
(description
"@code{libfossil} is an alternative interface into Fossil repositories,
as opposed to a replacement for the core fossil application,
intended for new ways to access and manipulate fossil repositories.")
(license license:bsd-2))))
(define-public fnc
(package
(name "fnc")
+12 -10
View File
@@ -895,16 +895,18 @@ requirements.
If @var{config} contains SMB mounts, adds samba-nmbd and samba-winbindd to the
service requirements.
"
(delete-duplicates
(fold
(lambda (fs-type acc)
(cond
((string= "nfs" fs-type)
(append acc '(rpc.statd)))
((string= "smb" fs-type)
(append acc '(samba-nmbd samba-winbindd)))))
'()
(map autofs-map-entry-type (autofs-configuration->raw-entries config)))))
(fold
(lambda (fs-type acc)
(cond
((string= "nfs" fs-type)
(append acc '(rpc.statd)))
((string= "smb" fs-type)
(append acc '(samba-nmbd samba-winbindd)))
(else acc)))
'()
(delete-duplicates
(map autofs-map-entry-type
(autofs-configuration->raw-entries config)))))
(define (autofs-shepherd-service config)
(match-record config <autofs-configuration> (autofs timeout)
+59
View File
@@ -0,0 +1,59 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Commentary:
;;;
;;; This is the build-side support code of (guix fossil-download).
;;; It allows a Fossil repository to be opened at a specific revision.
;;;
;;; Code:
(define-module (guix build fossil)
#:use-module (guix build utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (web uri)
#:export (fossil-fetch))
(define* (fossil-fetch uri check-in file #:key (fossil-command "fossil"))
"Fetch CHECK-IN from URI into DIRECTORY. CHECK-IN must be a valid
Fossil check-in name. Return #t on success, else raise an exception."
(setenv "FOSSIL_HOME" "/tmp")
(invoke fossil-command
"tarball" check-in file "-R"
(case (uri-scheme (string->uri-reference uri))
((file https) ;clone the repository first
(match-let ((repository (simple-format #f "/tmp/~a.fossil"
(basename file ".tar.gz")))
((input . output) (pipe)))
;; Trust the TLS certificate of the server,
;; since we'll later verify the tarball's checksum.
(display "y" output)
(close-port output)
(with-input-from-port input
(cut invoke fossil-command "clone"
"--no-open" "--once" uri repository))
(close-port input)
repository))
((ssh) ;TODO: authentication for SSH
(let ((message (string-append "fetching a Fossil repository through SSH"
" is not supported: " uri)))
(raise (condition (&message (message message))))))
((#f) uri)))) ;local file
+125
View File
@@ -0,0 +1,125 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Commentary:
;;;
;;; An <origin> method that open Fossil checkout at a specific version.
;;; The repository URI and version are specified
;;; with a <fossil-reference> object.
;;;
;;; Code:
(define-module (guix fossil-download)
#:use-module (guix build-system)
#:use-module (guix gexp)
#:use-module (guix modules)
#:use-module (guix monads)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix store)
#:use-module (ice-9 match)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (web uri)
#:export (fossil-reference
fossil-reference?
fossil-reference-uri
fossil-reference-check-in
fossil-fetch
fossil-version
fossil-file-name))
(define-record-type* <fossil-reference>
fossil-reference make-fossil-reference fossil-reference?
(uri fossil-reference-uri)
(check-in fossil-reference-check-in))
(define (fossil-version version revision check-in)
"Return the version string for packages using fossil-download."
;; fossil-version is almost exclusively executed while modules
;; are being loaded, leading to any errors hiding their backtrace.
;; Avoid the mysterious error "Value out of range 0 to N: 10"
;; when the check-in ID is too short, which can happen, for example,
;; when the user swapped the revision and check-in arguments by mistake.
(when (< (string-length check-in) 10)
(raise
(condition
(&message (message "fossil-version: check-in ID unexpectedly short")))))
(string-append version "-" revision "." (string-take check-in 10)))
(define (fossil-file-name name version)
"Return the file-name for packages using fossil-download."
(string-append name "-" version ".tar.gz"))
(define* (fossil-fetch ref hash-algo hash
#:optional name
#:key (system (%current-system))
(guile (default-guile))
(fossil (@* (gnu packages version-control)
fossil)))
"Return a fixed-output derivation that fetches REF, a <fossil-reference>
object. The output is expected to have recursive hash HASH of type
HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
(let* ((modules (source-module-closure '((guix build fossil)
(guix build download)
(guix build download-nar))))
(uri (fossil-reference-uri ref))
(scheme-of-uri (uri-scheme (string->uri-reference uri)))
(check-in (fossil-reference-check-in ref))
(tarball-name (or name (fossil-file-name (basename uri) check-in)))
(tarball-url (and (eq? 'https scheme-of-uri)
(simple-format #f "~a/tarball/~a/~a"
uri check-in tarball-name)))
(guile-json (@* (gnu packages guile) guile-json-4))
(gnutls (@* (gnu packages tls) guile-gnutls))
(guile-lzlib (@* (gnu packages guile) guile-lzlib))
(build
(with-imported-modules modules
(with-extensions (list guile-json gnutls ;for (guix swh)
guile-lzlib)
#~(begin
(use-modules (guix build fossil)
((guix build download)
#:select (download-method-enabled? url-fetch))
(guix build download-nar))
(or (and (download-method-enabled? 'upstream)
(or (and #$tarball-url
(url-fetch #$tarball-url #$output))
(fossil-fetch
#$(if scheme-of-uri uri (local-file uri))
#$check-in
#$output
#:fossil-command
#+(file-append fossil "/bin/fossil"))))
(and (download-method-enabled? 'nar)
(download-nar #$output))))))))
(mlet %store-monad ((guile (package->derivation guile system)))
(gexp->derivation tarball-name build
#:leaked-env-vars '("http_proxy" "https_proxy"
"COLUMNS" "USER")
#:env-vars (match (getenv "GUIX_DOWNLOAD_METHODS")
(#f '())
(value
`(("GUIX_DOWNLOAD_METHODS" . ,value))))
#:system system
#:hash-algo hash-algo
#:hash hash
#:recursive? #t
#:guile-for-build guile
#:local-build? #t))))
+4
View File
@@ -2,6 +2,7 @@
;;; Copyright © 2012-2013, 2015-2020, 2022, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2026 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -140,6 +141,9 @@ current one."
(option '("vacuum-database") #f #f
(lambda args
(unless (zero? (getuid))
(leave
(G_ "vacuuming the database can only be used by root~%")))
(vacuum-database)
(exit 0)))