Archived
1
0
Fork 0

Merge branch 'master' into gnome-team

This commit is contained in:
Liliana Marie Prikler 2023-07-30 08:46:07 +02:00
commit 4eca7833ef
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
83 changed files with 2068 additions and 908 deletions

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,7 +31,7 @@
(srfi srfi-1)) (srfi srfi-1))
(use-package-modules (use-package-modules
base commencement compression file gawk gdb gettext guile base bootloaders commencement compression file gawk gdb gettext guile
hurd less m4 package-management python ssh version-control) hurd less m4 package-management python ssh version-control)
(define (input->package input) (define (input->package input)
@ -64,11 +64,14 @@
;; development packages ;; development packages
gcc-toolchain gdb-minimal git-minimal gnu-make gcc-toolchain gdb-minimal git-minimal gnu-make
gettext-minimal python-minimal
;; guix environment guix --without-tests=python-minimal --without-tests=gettext-minimal ;; ourselves!
(package-without-tests gettext-minimal) (package-without-tests guix)
(package-without-tests python-minimal)
;; system
grub-minimal grub
(append (append
guix-dependencies guix-dependencies
(delete guile-3.0 %base-packages/hurd)))) %base-packages/hurd)))

View file

@ -34241,36 +34241,57 @@ The Music Player Daemon (MPD) is a service that can play music while
being controlled from the local machine or over the network by a variety being controlled from the local machine or over the network by a variety
of clients. of clients.
The following example shows how one might run @code{mpd} as user The following example shows the simplest configuration to locally
@code{"bob"} on port @code{6666}. It uses pulseaudio for output. expose, via PulseAudio, a music collection kept at @file{/srv/music},
with @command{mpd} running as the default @samp{mpd} user. This user
will spawn its own PulseAudio daemon, which may compete for the sound
card access with that of your own user. In this configuration, you may
have to stop the playback of your user audio applications to hear MPD's
output and vice-versa.
@lisp @lisp
(service mpd-service-type (service mpd-service-type
(mpd-configuration (mpd-configuration
(user "bob") (music-directory "/srv/music")))
(port "6666")))
@end lisp @end lisp
@quotation Important
The music directory must be readable to the MPD user, by default,
@samp{mpd}. Permission problems will be reported via @samp{Permission
denied} errors in the MPD logs, which appear in @file{/var/log/messages}
by default.
@end quotation
Most MPD clients will trigger a database update upon connecting, but you
can also use the @code{update} action do to so:
@example
herd update mpd
@end example
All the MPD configuration fields are documented below, and a more
complex example follows.
@defvar mpd-service-type @defvar mpd-service-type
The service type for @command{mpd} The service type for @command{mpd}
@end defvar @end defvar
@c %start of fragment
@deftp {Data Type} mpd-configuration @deftp {Data Type} mpd-configuration
Data type representing the configuration of @command{mpd}. Available @code{mpd-configuration} fields are:
@table @asis @table @asis
@item @code{package} (default: @code{mpd}) (type: file-like) @item @code{package} (default: @code{mpd}) (type: file-like)
The MPD package. The MPD package.
@item @code{user} (default: @code{%mpd-user}) (type: user-account) @item @code{user} (type: user-account)
The user to run mpd as. The user to run mpd as.
The default @code{%mpd-user} is a system user with the name ``mpd'', @item @code{group} (type: user-group)
who is a part of the group @var{group} (see below).
@item @code{group} (default: @code{%mpd-group}) (type: user-group)
The group to run mpd as. The group to run mpd as.
The default @code{%mpd-group} is a system group with name ``mpd''. The default @code{%mpd-group} is a system group with name ``mpd''.
@item @code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbol) @item @code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbol)
A list of symbols naming Shepherd services that this service A list of symbols naming Shepherd services that this service
will depend on. will depend on.
@ -34278,24 +34299,31 @@ will depend on.
@item @code{environment-variables} (default: @code{'("PULSE_CLIENTCONFIG=/etc/pulse/client.conf" "PULSE_CONFIG=/etc/pulse/daemon.conf")}) (type: list-of-strings) @item @code{environment-variables} (default: @code{'("PULSE_CLIENTCONFIG=/etc/pulse/client.conf" "PULSE_CONFIG=/etc/pulse/daemon.conf")}) (type: list-of-strings)
A list of strings specifying environment variables. A list of strings specifying environment variables.
@item @code{log-file} (default: @code{"/var/log/mpd/log"}) (type: maybe-string) @item @code{log-file} (type: maybe-string)
The location of the log file. Set to @code{syslog} to use the local The location of the log file. Unless specified, logs are sent to the
syslog daemon or @code{%unset-value} to omit this directive from the local syslog daemon. Alternatively, a log file name can be specified,
configuration file. for example @file{/var/log/mpd.log}.
@item @code{log-level} (type: maybe-string) @item @code{log-level} (type: maybe-string)
Suppress any messages below this threshold. Available values: Supress any messages below this threshold. The available values, in
@code{notice}, @code{info}, @code{verbose}, @code{warning} and decreasing order of verbosity, are: @code{verbose}, @code{info},
@code{error}. @code{notice}, @code{warning} and @code{error}.
@item @code{music-directory} (type: maybe-string) @item @code{music-directory} (type: maybe-string)
The directory to scan for music files. The directory to scan for music files.
@item @code{music-dir} (type: maybe-string)
The directory to scan for music files.
@item @code{playlist-directory} (type: maybe-string) @item @code{playlist-directory} (type: maybe-string)
The directory to store playlists. The directory to store playlists.
@item @code{playlist-dir} (type: maybe-string)
The directory to store playlists.
@item @code{db-file} (type: maybe-string) @item @code{db-file} (type: maybe-string)
The location of the music database. The location of the music database. When left unspecified,
@file{~/.cache/db} is used.
@item @code{state-file} (type: maybe-string) @item @code{state-file} (type: maybe-string)
The location of the file that stores current MPD's state. The location of the file that stores current MPD's state.
@ -34303,15 +34331,19 @@ The location of the file that stores current MPD's state.
@item @code{sticker-file} (type: maybe-string) @item @code{sticker-file} (type: maybe-string)
The location of the sticker database. The location of the sticker database.
@item @code{default-port} (default: @code{6600}) (type: maybe-integer) @item @code{default-port} (default: @code{6600}) (type: maybe-port)
The default port to run mpd on. The default port to run mpd on.
@item @code{endpoints} (type: maybe-list-of-strings) @item @code{endpoints} (type: maybe-list-of-strings)
The addresses that mpd will bind to. A port different from @var{default-port} The addresses that mpd will bind to. A port different from
may be specified, e.g. @code{localhost:6602} and IPv6 addresses must be @var{default-port} may be specified, e.g. @code{localhost:6602} and
enclosed in square brackets when a different port is used. IPv6 addresses must be enclosed in square brackets when a different port
To use a Unix domain socket, an absolute path or a path starting with @code{~} is used. To use a Unix domain socket, an absolute path or a path
can be specified here. starting with @code{~} can be specified here.
@item @code{address} (type: maybe-string)
The address that mpd will bind to. To use a Unix domain socket, an
absolute path can be specified here.
@item @code{database} (type: maybe-mpd-plugin) @item @code{database} (type: maybe-mpd-plugin)
MPD database plugin configuration. MPD database plugin configuration.
@ -34328,6 +34360,10 @@ List of MPD input plugin configurations.
@item @code{archive-plugins} (default: @code{'()}) (type: list-of-mpd-plugin) @item @code{archive-plugins} (default: @code{'()}) (type: list-of-mpd-plugin)
List of MPD archive plugin configurations. List of MPD archive plugin configurations.
@item @code{auto-update?} (type: maybe-boolean)
Whether to automatically update the music database when files are
changed in the @var{music-directory}.
@item @code{input-cache-size} (type: maybe-string) @item @code{input-cache-size} (type: maybe-string)
MPD input cache size. MPD input cache size.
@ -34353,6 +34389,7 @@ appended to the configuration.
@end table @end table
@end deftp @end deftp
@c %end of fragment
@deftp {Data Type} mpd-plugin @deftp {Data Type} mpd-plugin
Data type representing a @command{mpd} plugin. Data type representing a @command{mpd} plugin.
@ -34392,8 +34429,9 @@ Partitions} for available options.
@end table @end table
@end deftp @end deftp
@c %start of fragment
@deftp {Data Type} mpd-output @deftp {Data Type} mpd-output
Data type representing a @command{mpd} audio output. Available @code{mpd-output} fields are:
@table @asis @table @asis
@item @code{name} (default: @code{"MPD"}) (type: string) @item @code{name} (default: @code{"MPD"}) (type: string)
@ -34420,15 +34458,16 @@ is only useful for output plugins that can receive tags, for example the
@item @code{always-on?} (default: @code{#f}) (type: boolean) @item @code{always-on?} (default: @code{#f}) (type: boolean)
If set to @code{#t}, then MPD attempts to keep this audio output always If set to @code{#t}, then MPD attempts to keep this audio output always
open. This may be useful for streaming servers, when you don?t want to open. This may be useful for streaming servers, when you dont want to
disconnect all listeners even when playback is accidentally stopped. disconnect all listeners even when playback is accidentally stopped.
@item @code{mixer-type} (default: @code{"none"}) (type: string) @item @code{mixer-type} (type: maybe-string)
This field accepts a string that specifies which mixer should be used This field accepts a string that specifies which mixer should be used
for this audio output: the @code{hardware} mixer, the @code{software} for this audio output: the @code{hardware} mixer, the @code{software}
mixer, the @code{null} mixer (allows setting the volume, but with no mixer, the @code{null} mixer (allows setting the volume, but with no
effect; this can be used as a trick to implement an external mixer effect; this can be used as a trick to implement an external mixer
External Mixer) or no mixer (@code{none}). External Mixer) or no mixer (@code{none}). When left unspecified, a
@code{hardware} mixer is used for devices that support it.
@item @code{replay-gain-handler} (type: maybe-string) @item @code{replay-gain-handler} (type: maybe-string)
This field accepts a string that specifies how This field accepts a string that specifies how
@ -34443,6 +34482,7 @@ appended to the audio output configuration.
@end table @end table
@end deftp @end deftp
@c %end of fragment
The following example shows a configuration of @command{mpd} that The following example shows a configuration of @command{mpd} that
configures some of its plugins and provides a HTTP audio streaming output. configures some of its plugins and provides a HTTP audio streaming output.
@ -34540,11 +34580,10 @@ HTTP port to listen on.
How much detail to include in logs, possible values: @code{0} to How much detail to include in logs, possible values: @code{0} to
@code{7}. @code{7}.
@item @code{log-to} (default: @code{"/var/log/mympd/log"}) (type: string-or-symbol) @item @code{log-to} (type: maybe-string)
Where to send logs. By default, the service logs to Where to send logs. Unless specified, the service logs to the local
@file{/var/log/mympd.log}. The alternative is @code{'syslog}, which syslog service under the @samp{daemon} facility. Alternatively, a log
sends output to the running syslog service under the @samp{daemon} file name can be specified, for example @file{/var/log/mympd.log}.
facility.
@item @code{lualibs} (default: @code{"all"}) (type: maybe-string) @item @code{lualibs} (default: @code{"all"}) (type: maybe-string)
See See

View file

@ -581,7 +581,8 @@ sys_create_shell_completion()
sys_customize_bashrc() sys_customize_bashrc()
{ {
prompt_yes_no "Customize users Bash shell prompt for Guix?" || return prompt_yes_no "Customize users Bash shell prompt for Guix?" || return 0
for bashrc in /home/*/.bashrc /root/.bashrc; do for bashrc in /home/*/.bashrc /root/.bashrc; do
test -f "$bashrc" || continue test -f "$bashrc" || continue
grep -Fq '$GUIX_ENVIRONMENT' "$bashrc" && continue grep -Fq '$GUIX_ENVIRONMENT' "$bashrc" && continue
@ -600,15 +601,26 @@ fi
sys_maybe_setup_selinux() sys_maybe_setup_selinux()
{ {
if [ -f /sys/fs/selinux/policy ] if ! [ -f /sys/fs/selinux/policy ]
then then
prompt_yes_no "Install SELinux policy required to run guix-daemon?" \ return
|| return
local var_guix=/var/guix/profiles/per-user/root/current-guix
semodule -i "${var_guix}/share/selinux/guix-daemon.cil"
restorecon -R /gnu /var/guix
fi fi
local c
for c in semodule restorecon
do
if ! command -v "$c" &>/dev/null
then
return
fi
done
prompt_yes_no "Install SELinux policy that might be required to run guix-daemon?" \
|| return 0
local var_guix=/var/guix/profiles/per-user/root/current-guix
semodule -i "${var_guix}/share/selinux/guix-daemon.cil"
restorecon -R /gnu /var/guix
} }
welcome() welcome()

View file

@ -128,6 +128,17 @@ the haskell-build-system."
"guix/import/stackage.scm" "guix/import/stackage.scm"
"guix/scripts/import/hackage.scm"))) "guix/scripts/import/hackage.scm")))
(define-team qt
(team 'qt
#:name "Qt team"
#:description
"The Qt toolkit/library and the qt-build-system,
as well as some packages using Qt."
#:scope (list "gnu/packages/qt.scm"
"guix/build-system/qt.scm"
"guix/build/qt-build-system.scm"
"guix/build/qt-utils.scm")))
(define-team r (define-team r
(team 'r (team 'r
#:name "R team" #:name "R team"
@ -142,6 +153,20 @@ and the r-build-system."
"guix/scripts/import/cran.scm" "guix/scripts/import/cran.scm"
"tests/cran.scm"))) "tests/cran.scm")))
(define-team telephony
(team 'telephony
#:name "Telephony team"
#:description
"Telephony packages and services such as Jami, Linphone, etc."
#:scope (list "gnu/build/jami-service.scm"
"gnu/packages/jami.scm"
"gnu/packages/linphone.scm"
"gnu/packages/telephony.scm"
"gnu/services/telephony.scm"
"gnu/tests/data/jami-dummy-account.dat"
"gnu/tests/telephony.scm"
"tests/services/telephony.scm")))
(define-team tex (define-team tex
(team 'tex (team 'tex
#:name "TeX team" #:name "TeX team"
@ -587,7 +612,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(define-member (person "Maxim Cournoyer" (define-member (person "Maxim Cournoyer"
"maxim.cournoyer@gmail.com") "maxim.cournoyer@gmail.com")
gnome) gnome qt telephony)
(define (find-team name) (define (find-team name)

View file

@ -1039,6 +1039,10 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \ %D%/packages/patches/curl-use-ssl-cert-env.patch \
%D%/packages/patches/curlftpfs-fix-error-closing-file.patch \
%D%/packages/patches/curlftpfs-fix-file-names.patch \
%D%/packages/patches/curlftpfs-fix-memory-leak.patch \
%D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
%D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \ %D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
@ -1572,7 +1576,6 @@ dist_patch_DATA = \
%D%/packages/patches/lua-5.4-pkgconfig.patch \ %D%/packages/patches/lua-5.4-pkgconfig.patch \
%D%/packages/patches/lua-5.4-liblua-so.patch \ %D%/packages/patches/lua-5.4-liblua-so.patch \
%D%/packages/patches/luit-posix.patch \ %D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/mactelnet-remove-init.patch \ %D%/packages/patches/mactelnet-remove-init.patch \
%D%/packages/patches/mailutils-variable-lookup.patch \ %D%/packages/patches/mailutils-variable-lookup.patch \
%D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/make-impure-dirs.patch \
@ -1620,6 +1623,7 @@ dist_patch_DATA = \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \ %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/musl-cross-locale.patch \ %D%/packages/patches/musl-cross-locale.patch \
%D%/packages/patches/mutter-fix-inverted-test.patch \
%D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \ %D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
%D%/packages/patches/nautilus-extension-search-path.patch \ %D%/packages/patches/nautilus-extension-search-path.patch \

View file

@ -2980,7 +2980,7 @@ modules and plugins that extend Ansible.")
(inputs (inputs
(list ansible (list ansible
encfs encfs
fuse fuse-2
util-linux ;; for umount util-linux ;; for umount
findutils findutils
gnupg gnupg

View file

@ -12,6 +12,7 @@
;;; Copyright © 2020 Sergey Trofimov <sarg@sarg.org.ru> ;;; Copyright © 2020 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -38,6 +39,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -721,6 +723,35 @@ file system.")
"This package provides @command{fastboot}, a tool to upload file system images to Android devices.") "This package provides @command{fastboot}, a tool to upload file system images to Android devices.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public sdkmanager
(package
(name "sdkmanager")
(version "0.6.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "sdkmanager" version ".tar.gz"))
(sha256
(base32
"11as7n2mj3nbqsqb3ivyv9985n73i022s748qvjg36cs8ig50afx"))))
(build-system pyproject-build-system)
(inputs (list python-requests python-argcomplete python-urllib3 gnupg))
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-before 'build 'patch-gnupg
(lambda _
(substitute* "sdkmanager.py"
(("gpgv")
(string-append #$(this-package-input "gnupg")
"/bin/gpgv"))))))))
(home-page "https://gitlab.com/fdroid/sdkmanager")
(synopsis "Replacement for Android sdkmanager written in Python")
(description
"This package provides a drop-in replacement for sdkmanager from
the Android SDK. It is written in Python and part of the F-Droid
project. It implements the exact API of the Android sdkmanager command
line. The project also attempts to maintain the same terminal output.")
(license license:agpl3+)))
(define-public android-udev-rules (define-public android-udev-rules
(package (package
(name "android-udev-rules") (name "android-udev-rules")
@ -1260,7 +1291,7 @@ Java bytecode, which simplifies the analysis of Android applications.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:tests? #f)) ;there are no tests (list #:tests? #f)) ;there are no tests
(inputs (list qtbase-5 fuse-3 libxkbcommon)) (inputs (list qtbase-5 fuse libxkbcommon))
(native-inputs (list qttools-5 openssl readline)) (native-inputs (list qttools-5 openssl readline))
(home-page "https://whoozle.github.io/android-file-transfer-linux/") (home-page "https://whoozle.github.io/android-file-transfer-linux/")
(synopsis "MTP client for Android devices") (synopsis "MTP client for Android devices")

View file

@ -186,14 +186,14 @@ speed on x86, NEON on ARM, etc.).")
(define-public fasm (define-public fasm
(package (package
(name "fasm") (name "fasm")
(version "1.73.30") (version "1.73.31")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://flatassembler.net/fasm-" (uri (string-append "https://flatassembler.net/fasm-"
version ".tgz")) version ".tgz"))
(sha256 (sha256
(base32 "00giqb94z8cxhv20yiyk8axkd2kzjcg1c0841yzbn7c8lm8m06bm")))) (base32 "1qqg1czr9dr73l4gwrwim85mjs65al7vv8b292jipywimhhwnf4g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests exist `(#:tests? #f ; no tests exist

View file

@ -60,6 +60,7 @@
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm) #:use-module (gnu packages netpbm)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages photo) #:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -420,6 +421,30 @@ made to get a better separation of core libraries and applications.
@url{https://casa.nrao.edu/, CASA} is now built on top of Casacore.") @url{https://casa.nrao.edu/, CASA} is now built on top of Casacore.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public ccfits
(package
(name "ccfits")
(version "2.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://heasarc.gsfc.nasa.gov/docs/software/fitsio/ccfits/"
"CCfits-" version ".tar.gz"))
(sha256
(base32 "04l6na8vr5xadz3rbx62as79x1ch4994vbb625kx0dz5czdkkd1b"))))
(build-system cmake-build-system)
(inputs (list cfitsio))
(home-page "https://heasarc.gsfc.nasa.gov/docs/software/fitsio/ccfits/")
(synopsis "C++ interface to the CFITSIO")
(description
"CCfits is an object oriented interface to the cfitsio library. It is
designed to make the capabilities of cfitsio available to programmers working in
C++. It is written in ANSI C++ and implemented using the C++ Standard Library
with namespaces, exception handling, and member template functions.")
(license (license:non-copyleft "file://License.txt"
"See License.txt in the distribution."))))
(define-public cfitsio (define-public cfitsio
(package (package
(name "cfitsio") (name "cfitsio")
@ -428,7 +453,7 @@ made to get a better separation of core libraries and applications.
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/" "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/"
"cfitsio-" version ".tar.gz")) "cfitsio-" version ".tar.gz"))
(sha256 (sha256
(base32 "128qsv2q0f0g714ahlsixiikvvbwxi9bg9q9pcr5cd3f7wdkv9gb")))) (base32 "128qsv2q0f0g714ahlsixiikvvbwxi9bg9q9pcr5cd3f7wdkv9gb"))))
@ -733,6 +758,66 @@ polygon data in order to produce control maps which can directly be used in
astronomical image-processing packages like Drizzle, Swarp or SExtractor.") astronomical image-processing packages like Drizzle, Swarp or SExtractor.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public glnemo2
(package
(name "glnemo2")
(version "1.21.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.lam.fr/jclamber/glnemo2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1jmmxszh8d2jmfghig36nhykff345mqnpssfa64d0r7l9cnfp3cn"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; No test target
#:configure-flags #~(list "CPPFLAGS=-fcommon")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-libraries-paths
(lambda _
(substitute* "CMakeLists.txt"
;; There is some not straightforward logic on how to set
;; the installation prefix for the project; inherit it
;; from the build-system default flags.
(("CMAKE_INSTALL_PREFIX \"/usr\"")
"CMAKE_INSTALL_PREFIX")
(("/usr/include/CCfits")
(string-append
#$(this-package-input "ccfits") "/include/CCfits"))
(("/usr/include/tirpc")
(string-append
#$(this-package-input "libtirpc") "/include/tirpc"))
;; It tries to detect library in two "predictable" paths,
;; required during the link phase.
(("/usr/lib64/libtirpc.so")
(string-append
#$(this-package-input "libtirpc") "/lib/libtirpc.so"))))))))
(inputs
(list ccfits
cfitsio
glm
glu
hdf5
libtirpc
qtbase-5
zlib))
(home-page "https://projets.lam.fr/projects/unsio/wiki")
(synopsis "3D interactive visualization program for n-body like particles")
(description
"GLNEMO2 is an interactive 3D visualization program which displays
particles positions of the different components (gas, stars, disk, dark
matter halo, bulge) of an N-body snapshot. It is a tool for running
N-body simulations from isolated galaxies to cosmological simulations.
It has a graphical user interface (based on QT 5.X API), uses a fast
3D engine (OPenGL and GLSL), and is generic with the possibility to load
different kinds of input files.")
(license license:cecill)))
(define-public gnuastro (define-public gnuastro
(package (package
(name "gnuastro") (name "gnuastro")

View file

@ -780,7 +780,7 @@ backups on untrusted computers.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list fuse-3 libxml2 ntfs-3g openssl)) (list fuse libxml2 ntfs-3g openssl))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list "--disable-static" (list "--disable-static"

View file

@ -4723,6 +4723,77 @@ error rates and dispersion - and prior knowledge, e.g. from variation data
bases such as COSMIC.") bases such as COSMIC.")
(license license:gpl3))) (license license:gpl3)))
(define-public r-degreport
(package
(name "r-degreport")
(version "1.36.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "DEGreport" version))
(sha256
(base32
"15xm1l2qgsyzaw820a1fq5qdzh5pj4dmr1hx6s6b6wm2p02cvvai"))
(snippet
'(delete-file "docs/jquery.sticky-kit.min.js"))))
(properties `((upstream-name . "DEGreport")))
(build-system r-build-system)
(arguments
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'process-javascript
(lambda* (#:key inputs #:allow-other-keys)
(invoke "esbuild"
(assoc-ref inputs "js-jquery-sticky-kit")
"--minify"
"--outfile=docs/jquery.sticky-kit.min.js"))))))
(propagated-inputs (list r-biobase
r-biocgenerics
r-broom
r-circlize
r-cluster
r-complexheatmap
r-consensusclusterplus
r-cowplot
r-deseq2
r-dplyr
r-edger
r-ggdendro
r-ggplot2
r-ggrepel
r-knitr
r-logging
r-magrittr
r-psych
r-rcolorbrewer
r-reshape
r-rlang
r-s4vectors
r-scales
r-stringr
r-summarizedexperiment
r-tibble
r-tidyr))
(native-inputs
`(("esbuild" ,esbuild)
("r-knitr" ,r-knitr)
("js-jquery-sticky-kit"
,(origin
(method url-fetch)
(uri "https://raw.githubusercontent.com/leafo/sticky-kit/\
v1.1.2/jquery.sticky-kit.js")
(sha256
(base32
"17c3a1hqc3ybwj7hpw8prazajp2x98aq7nyfn71h6lzjvblq297g"))))))
(home-page "https://lpantano.github.io/DEGreport/")
(synopsis "Report of DEG analysis")
(description
"This is a package for creating na HTML report of differential expression
analyses of count data. It integrates some of the code mentioned in DESeq2
and @code{edgeR} vignettes, and report a ranked list of genes according to the
fold changes mean and variability for each selected gene.")
(license license:expat)))
(define-public r-delayedarray (define-public r-delayedarray
(package (package
(name "r-delayedarray") (name "r-delayedarray")

View file

@ -8713,7 +8713,7 @@ unique transcripts.")
(list ngs-sdk (list ngs-sdk
ncbi-vdb ncbi-vdb
file file
fuse fuse-2
hdf5-1.10 hdf5-1.10
libxml2 libxml2
zlib zlib

View file

@ -215,8 +215,8 @@
;; file system will be readable by GRUB without rebooting. ;; file system will be readable by GRUB without rebooting.
,@(if (member (or (%current-target-system) ,@(if (member (or (%current-target-system)
(%current-system)) (%current-system))
(package-supported-systems fuse)) (package-supported-systems fuse-2))
`(("fuse" ,fuse)) `(("fuse" ,fuse-2))
'()) '())
("freetype" ,freetype) ("freetype" ,freetype)

View file

@ -171,14 +171,14 @@ generate such a compilation database.")
(define-public bmake (define-public bmake
(package (package
(name "bmake") (name "bmake")
(version "20230711") (version "20230723")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz")) "http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256 (sha256
(base32 "1vrg6gclfn34lxyyqf0837hk89n5pf7ms0gmgg1fd87i0cn5908a")))) (base32 "012rzgjmncdla1l43f9wl8v13h7d46zgn28k6djpcgx23fahsan4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list bash-minimal)) (list bash-minimal))
@ -605,7 +605,7 @@ software.")
(display "au BufNewFile,BufRead Tupfile,*.tup setf tup"))) (display "au BufNewFile,BufRead Tupfile,*.tup setf tup")))
#t)))))) #t))))))
(inputs (inputs
(list fuse-3 pcre (list fuse pcre
`(,pcre "bin") ; pcre-config `(,pcre "bin") ; pcre-config
sqlite)) sqlite))
(native-inputs (native-inputs

View file

@ -6,7 +6,7 @@
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -554,6 +554,12 @@ symmetries written in C. Spglib can be used to:
(assoc-ref inputs "libxml2") (assoc-ref inputs "libxml2")
"/include/libxml2:" "/include/libxml2:"
(getenv "CPLUS_INCLUDE_PATH"))))) (getenv "CPLUS_INCLUDE_PATH")))))
;; Prevent deleting the leading / in the __init__.py path in the
;; launch script.
(add-after 'unpack 'disable-unchroot
(lambda _
(substitute* "setup.py"
(("self\\.unchroot") ""))))
;; The setup.py script does not support one of the Python build ;; The setup.py script does not support one of the Python build
;; system's default flags, "--single-version-externally-managed". ;; system's default flags, "--single-version-externally-managed".
(replace 'install (replace 'install
@ -572,8 +578,7 @@ symmetries written in C. Spglib can be used to:
python-pyqt python-pyqt
glm glm
netcdf)) netcdf))
(native-inputs (native-inputs (list catch2))
(list catch2 python-setuptools))
(home-page "https://pymol.org") (home-page "https://pymol.org")
(synopsis "Molecular visualization system") (synopsis "Molecular visualization system")
(description "PyMOL is a capable molecular viewer and renderer. It can be (description "PyMOL is a capable molecular viewer and renderer. It can be

View file

@ -584,7 +584,7 @@
"ffmpeg_branding=\"Chrome\"" "ffmpeg_branding=\"Chrome\""
;; WebRTC stuff. ;; WebRTC stuff.
"rtc_use_h264=false" ;XXX needs bundled openh264 "rtc_use_h264=true"
"rtc_use_pipewire=true" "rtc_use_pipewire=true"
"rtc_link_pipewire=true" "rtc_link_pipewire=true"
;; Don't use bundled sources. ;; Don't use bundled sources.

View file

@ -1251,6 +1251,31 @@ quickly isolate key differences makes understanding test failures much
easier.") easier.")
(license license:expat))) (license license:expat)))
(define-public r-wheatmap
(package
(name "r-wheatmap")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (cran-uri "wheatmap" version))
(sha256
(base32
"064idlrnb85xxav39gp3n854fic6514khvazrf5d0x48crpzyvdp"))))
(properties `((upstream-name . "wheatmap")))
(build-system r-build-system)
(propagated-inputs (list r-colorspace r-rcolorbrewer))
(native-inputs (list r-knitr))
(home-page "https://github.com/zwdzwd/wheatmap")
(synopsis "Incrementally build complex plots using natural semantics")
(description
"This package lets you build complex plots, heatmaps in particular, using
natural semantics. Bigger plots can be assembled using directives such as
@code{LeftOf}, @code{RightOf}, @code{TopOf}, and @code{Beneath} and more.
Other features include clustering, dendrograms and integration with ggplot2
generated grid objects. This package is particularly designed for
bioinformaticians to assemble complex plots for publication.")
(license license:gpl3)))
(define-public r-rticles (define-public r-rticles
(package (package
(name "r-rticles") (name "r-rticles")
@ -21286,6 +21311,28 @@ The bedr package's API enhances access to these tools as well as offers
additional utilities for genomic regions processing.") additional utilities for genomic regions processing.")
(license license:gpl2))) (license license:gpl2)))
(define-public r-setrng
(package
(name "r-setrng")
(version "2022.4-1")
(source (origin
(method url-fetch)
(uri (cran-uri "setRNG" version))
(sha256
(base32
"09089vr5x8snwxh38kdhgpjl3jl7zrk056f6f9a2jg5lsrmnxh31"))))
(properties `((upstream-name . "setRNG")))
(build-system r-build-system)
(home-page "https://distr.r-forge.r-project.org/")
(synopsis "Set (normal) random number generator and seed")
(description
"This package provides utilities to help set and record the setting of
the seed and the uniform and normal generators used when a random experiment
is run. The utilities can be used in other functions that do random
experiments to simplify recording and/or setting all the necessary information
for reproducibility. See the vignette and reference manual for examples.")
(license license:gpl2)))
(define-public r-sets (define-public r-sets
(package (package
(name "r-sets") (name "r-sets")

View file

@ -333,7 +333,7 @@ OpenBSD tool of the same name.")
("googletest-source" ,(package-source googletest)) ("googletest-source" ,(package-source googletest))
("perl" ,perl))) ("perl" ,perl)))
(inputs (inputs
(list attr fuse openssl-1.1 tinyxml2)) (list attr fuse-2 openssl-1.1 tinyxml2))
(arguments (arguments
`(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=OFF") `(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=OFF")
#:phases #:phases
@ -1532,7 +1532,7 @@ non-encrypted files.")
(native-inputs (native-inputs
(list pkg-config python-wrapper)) (list pkg-config python-wrapper))
(inputs (inputs
(list boost curl fuse range-v3 spdlog)) (list boost curl fuse-2 range-v3 spdlog))
(home-page "https://www.cryfs.org/") (home-page "https://www.cryfs.org/")
(synopsis "Encrypted FUSE filesystem for the cloud") (synopsis "Encrypted FUSE filesystem for the cloud")
(description "CryFS encrypts your files, so you can safely store them anywhere. (description "CryFS encrypts your files, so you can safely store them anywhere.

View file

@ -1190,14 +1190,14 @@ and high-availability (HA).")
(define-public postgresql-15 (define-public postgresql-15
(package (package
(name "postgresql") (name "postgresql")
(version "15.1") (version "15.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1bi19sqmri569hyjvbk8grlws7f5dalsqz87wkgx1yjafcyz5zb4")) "0cnrk5jrwfqkcx8mlg761s60ninqrsxpzasf7xfbzzq03y4x9izz"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1265,27 +1265,27 @@ pictures, sounds, or video.")
(define-public postgresql-13 (define-public postgresql-13
(package (package
(inherit postgresql-14) (inherit postgresql-14)
(version "13.9") (version "13.11")
(source (origin (source (origin
(inherit (package-source postgresql-14)) (inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"05d46dzkya6s0qbaxvksc5j12syb514q5lha6z9vx7z4lp06c6gg")))))) "1yqbwnzgdgaim476smwkdj2jd6j92x9xqm2f1mknnmh3f9jgz4j9"))))))
(define-public postgresql-11 (define-public postgresql-11
(package (package
(inherit postgresql-13) (inherit postgresql-13)
(name "postgresql") (name "postgresql")
(version "11.18") (version "11.20")
(source (origin (source (origin
(inherit (package-source postgresql-13)) (inherit (package-source postgresql-13))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"013m1x53qfxcry7l033ahhxjc3lflb7fj8fapk7qm49fqppj0kyj")))) "1kmcnnc2nwjxv042b8bxbdxdgfksxvgmfhh4999rhzjays18hz1x"))))
(native-inputs (native-inputs
(modify-inputs (package-native-inputs postgresql-13) (modify-inputs (package-native-inputs postgresql-13)
(replace "docbook-xml" docbook-xml-4.2))))) (replace "docbook-xml" docbook-xml-4.2)))))
@ -2777,25 +2777,26 @@ database.")
(define-public perl-db-file (define-public perl-db-file
(package (package
(name "perl-db-file") (name "perl-db-file")
(version "1.856") (version "1.858")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-" (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1ab6rm2b8lz0g3gc8k9y79gkgajyby0zpybkdg9mk4g35y9bmyfd")))) (base32 "1xm7s2ag15498kp7g8r20gxk22ncz3b3hz4b3srqf7ypif3a5dyf"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'modify-config.in
(lambda _
(substitute* "config.in"
(("/usr/local/BerkeleyDB")
#$(this-package-input "bdb"))))))))
(inputs (list bdb)) (inputs (list bdb))
(native-inputs (list perl-test-pod)) (native-inputs (list perl-test-pod))
(arguments
`(#:phases (modify-phases %standard-phases
(add-before
'configure 'modify-config.in
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "config.in"
(("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb")))
#t)))))
(home-page "https://metacpan.org/release/DB_File") (home-page "https://metacpan.org/release/DB_File")
(synopsis "Perl5 access to Berkeley DB version 1.x") (synopsis "Perl5 access to Berkeley DB version 1.x")
(description (description
@ -3802,13 +3803,13 @@ libraries with SQLALchemy.")
(define-public python-psycopg2 (define-public python-psycopg2
(package (package
(name "python-psycopg2") (name "python-psycopg2")
(version "2.9.5") (version "2.9.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "psycopg2" version)) (uri (pypi-uri "psycopg2" version))
(sha256 (sha256
(base32 "0ni4kq6p7hbkm2qsky998q36q5gq5if4nwd8hwhjx5rsd0p6s955")))) (base32 "04chl9f7v7k1zssa40pmk06jvpyqiss2lpjq50dq69nqix0mhlgi"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; Tests would require a postgresql database "psycopg2_test" ;; Tests would require a postgresql database "psycopg2_test"

View file

@ -74,7 +74,7 @@
(define-public diffoscope (define-public diffoscope
(package (package
(name "diffoscope") (name "diffoscope")
(version "245") (version "246")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -83,7 +83,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0zh2smp0vvvl1c4f5ykmblw0xlbdfnix1v2yi5xpyia2pgslbjjv")))) (base32 "1y54r0kayn7nvv0ng9dx6bwxvrwdkd0xaklmfq53z7p00wgx0ly8"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list

View file

@ -245,14 +245,14 @@ tmpfs/ramfs filesystems.")
(define-public parted (define-public parted
(package (package
(name "parted") (name "parted")
(version "3.5") (version "3.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-" (uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"18h51i3x5cbqhlj5rm23m9sfw63gaaby5czln5w6qpqj3ifdsf29")))) "04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list

View file

@ -845,7 +845,7 @@ Extensions} (DNSSEC).")
(define-public knot (define-public knot
(package (package
(name "knot") (name "knot")
(version "3.2.8") (version "3.2.9")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -854,7 +854,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "05yhm1n0zphcvicy2brlbv3azp4lvdjprcqf3lybz7mzd6ghr25c")) (base32 "1kxmplngnlpd6j9nbzq1c1z02ipd38ypnppy7frg5crn83phfbxm"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -153,6 +153,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix cvs-download) #:use-module (guix cvs-download)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix deprecation)
#:use-module (guix bzr-download) #:use-module (guix bzr-download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix i18n) #:use-module (guix i18n)
@ -1287,7 +1288,7 @@ some utility functions, and commands using that infrastructure.")
its mode line.") its mode line.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public git-modes (define-public emacs-git-modes
(package (package
(name "emacs-git-modes") (name "emacs-git-modes")
(version "1.4.1") (version "1.4.1")
@ -1311,6 +1312,8 @@ configuration files, such as @file{.gitattributes}, @file{.gitignore}, and
@file{.git/config}.") @file{.git/config}.")
(license license:gpl3+))) (license license:gpl3+)))
(define-deprecated/public-alias git-modes emacs-git-modes)
(define-public emacs-with-editor (define-public emacs-with-editor
(package (package
(name "emacs-with-editor") (name "emacs-with-editor")
@ -3491,6 +3494,30 @@ read-only based on user configuration. User configuration may be prefix
directories or regex patterns.") directories or regex patterns.")
(license license:gpl3+)))) (license license:gpl3+))))
;; Use latest commit since there are no tags anymore for several versions
(define-public emacs-rebecca-theme
(let ((commit "4b8b5aae9099185e07c2b4cac4943c7f66a3f003")
(revision "0"))
(package
(name "emacs-rebecca-theme")
(version (git-version "1.3.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vic/rebecca-theme")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0y2kcs6zgi3dijagyz6lxbv6gi2mih8m943fhjrzkj35wfvjmhsz"))))
(build-system emacs-build-system)
(home-page "https://github.com/vic/rebecca-theme")
(synopsis "Dark Emacs theme with purple/violet colors")
(description
"Rebecca Emacs theme is a dark theme with purple/violet colors, based on
the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.")
(license license:expat))))
(define-public emacs-bbdb (define-public emacs-bbdb
(package (package
(name "emacs-bbdb") (name "emacs-bbdb")
@ -4197,6 +4224,31 @@ Some of its major features include:
Lock key.") Lock key.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-chocolate-theme
(let ((commit "ccc05f7ad96d3d1332727689bf6250443adc7ec0")
(revision "0"))
(package
(name "emacs-chocolate-theme")
(version (git-version "0.2.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/SavchenkoValeriy/emacs-chocolate-theme")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1d8a9jwv9y0sncw24k840c8yyrig30f2d6q2zqlc09f05yzq9p9p"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-autothemer))
(home-page "https://github.com/SavchenkoValeriy/emacs-chocolate-theme")
(synopsis "Dark chocolatey theme for Emacs")
(description
"Chocolate theme is a dark, chocolatey, vibrant and subtle theme for
Emacs.")
(license license:gpl3))))
(define-public emacs-chronometrist (define-public emacs-chronometrist
(package (package
(name "emacs-chronometrist") (name "emacs-chronometrist")
@ -11054,16 +11106,16 @@ answers.")
(define-public emacs-base16-theme (define-public emacs-base16-theme
(package (package
(name "emacs-base16-theme") (name "emacs-base16-theme")
(version "3.0") (version "3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/belak/base16-emacs") (url "https://github.com/tinted-theming/base16-emacs")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0qp71j77zg8gippcn277s0j5a9n6dbwv3kdp2nya6li4b412vgba")))) (base32 "1yq9afvybrgkmn17h22ha9231am7hlh3wccxw7g2ks3g0k5vvds0"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
(list #:include #~(cons "^build\\/.*\\.el$" %default-include) (list #:include #~(cons "^build\\/.*\\.el$" %default-include)
@ -11083,7 +11135,7 @@ answers.")
'pre 'post))) 'pre 'post)))
(find-files theme-dir "\\.el$")) (find-files theme-dir "\\.el$"))
(delete-file-recursively theme-dir))))))) (delete-file-recursively theme-dir)))))))
(home-page "https://github.com/belak/base16-emacs") (home-page "https://github.com/tinted-theming/base16-emacs")
(synopsis "Base16 color themes for Emacs") (synopsis "Base16 color themes for Emacs")
(description (description
"Base16 provides carefully chosen syntax highlighting and a default set "Base16 provides carefully chosen syntax highlighting and a default set
@ -17323,27 +17375,32 @@ is the primary mode of interaction.")
(license (list license:gpl3+ (license (list license:gpl3+
license:fdl1.3+)))) ; GFDLv1.3+ for the manual license:fdl1.3+)))) ; GFDLv1.3+ for the manual
;; Package has no releases or tags. Version is extracted from "Version:"
;; keyword in main file.
(define-public emacs-idle-highlight (define-public emacs-idle-highlight
(package (let ((commit "f9091c907d41e7b12d99d108a194229b8dbfc5ae")
(name "emacs-idle-highlight") (revision "0"))
(version "1.1.3") (package
(source (name "emacs-idle-highlight")
(origin (version (git-version "1.1.4" revision commit))
(method git-fetch) (source (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/nonsequitur/idle-highlight-mode") (uri (git-reference
(commit version))) (url
(file-name (git-file-name name version)) "https://codeberg.org/ideasman42/emacs-idle-highlight-mode")
(sha256 (commit commit)))
(base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv")))) (file-name (git-file-name name version))
(build-system emacs-build-system) (sha256
(home-page "https://www.emacswiki.org/emacs/IdleHighlight") (base32
(synopsis "Highlights all occurrences of the word the point is on") "0757x4iy7q0mj1rshlxr00hbc78g5hzijgzyqs36nrw6bn65fb93"))))
(description (build-system emacs-build-system)
"This Emacs package provides @code{idle-highlight-mode} that sets (home-page "https://codeberg.org/ideasman42/emacs-idle-highlight-mode")
(synopsis "Highlights all occurrences of the word the point is on")
(description
"This Emacs package provides @code{idle-highlight-mode} that sets
an idle timer to highlight all occurrences in the buffer of the word under an idle timer to highlight all occurrences in the buffer of the word under
the point.") the point.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public emacs-ox-twbs (define-public emacs-ox-twbs
(package (package
@ -18066,7 +18123,7 @@ Pippel also uses Tabulated List mode, it provides a similar package menu like
(define-public emacs-pos-tip (define-public emacs-pos-tip
(package (package
(name "emacs-pos-tip") (name "emacs-pos-tip")
(version "0.4.6") (version "0.4.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -18075,7 +18132,7 @@ Pippel also uses Tabulated List mode, it provides a similar package menu like
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33")))) (base32 "1k6r59jhbyiknhsl7df0zafyc4d9r3vk953x6sdxgz92kx6hxpfy"))))
(build-system emacs-build-system) (build-system emacs-build-system)
;; The following functions and variables needed by emacs-pos-tip are ;; The following functions and variables needed by emacs-pos-tip are
;; not included in emacs-minimal: ;; not included in emacs-minimal:
@ -27229,6 +27286,30 @@ recursive size is not obtained. Once this mode is enabled, every new Dired
buffer displays recursive dir sizes.") buffer displays recursive dir sizes.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-dired-preview
(package
(name "emacs-dired-preview")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~protesilaos/dired-preview")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0d485812k1rv0qrw4xvzv4z3qf370apsajnf4q3pjk3q0r1fpm8b"))))
(build-system emacs-build-system)
(home-page "https://protesilaos.com/emacs/dired-preview")
(synopsis "Automatically preview file at point in Dired")
(description
"This is a simple package to automatically preview in a side window the
file at point in Dired buffers. Preview windows are closed when they are no
longer relevant, while preview buffers are killed if they have not been used
for other purposes beside previewing. The package provides several
customisation options to control its behaviour.")
(license license:gpl3+)))
(define-public emacs-dired-rsync (define-public emacs-dired-rsync
(package (package
(name "emacs-dired-rsync") (name "emacs-dired-rsync")

View file

@ -2542,7 +2542,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(define-public python-scikit-rf (define-public python-scikit-rf
(package (package
(name "python-scikit-rf") (name "python-scikit-rf")
(version "0.27.1") (version "0.28.0")
(source (origin (source (origin
(method git-fetch) ;PyPI misses some files required for tests (method git-fetch) ;PyPI misses some files required for tests
(uri (git-reference (uri (git-reference
@ -2550,7 +2550,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"1rh2hq050439azlglqb54cy3jc1ir5y1ps55as4d5j619a7mq9x0")) "11pxl8q356f6q4cvadasg52js3k446l87hwmc87b1n9cy8sxcfvi"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib (propagated-inputs (list python-matplotlib

View file

@ -176,14 +176,14 @@ large and/or frequently changing (network) environment.")
(define-public bindfs (define-public bindfs
(package (package
(name "bindfs") (name "bindfs")
(version "1.15.1") (version "1.17.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://bindfs.org/downloads/bindfs-" (uri (string-append "https://bindfs.org/downloads/bindfs-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1av8dj9i1g0105fs5r9srqqsp7yahlhwc0yl8i1szyfdls23bp84")))) "1k1xkyjk8ms11djbhlmykkzfbcids6ls5vpq7rhdnazcladszm3g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; XXX: The tests have no hope of passing until there is a "nogroup" ;; XXX: The tests have no hope of passing until there is a "nogroup"
@ -198,7 +198,7 @@ large and/or frequently changing (network) environment.")
;; ("which" ,which) ;; ("which" ,which)
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list fuse)) (list fuse-2))
(home-page "https://bindfs.org") (home-page "https://bindfs.org")
(synopsis "Bind mount a directory and alter permission bits") (synopsis "Bind mount a directory and alter permission bits")
(description (description
@ -275,7 +275,7 @@ unmaintained---to use the @code{inotify} API instead of the deprecated
(arguments (arguments
'(#:configure-flags '("--enable-library" "--enable-fuse"))) '(#:configure-flags '("--enable-library" "--enable-fuse")))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(inputs (list xz fuse)) (inputs (list xz fuse-2))
(synopsis "Virtual file system that allows browsing of compressed files") (synopsis "Virtual file system that allows browsing of compressed files")
(description (description
"AVFS is a FUSE-based filesystem that allows browsing of compressed "AVFS is a FUSE-based filesystem that allows browsing of compressed
@ -565,7 +565,7 @@ AES-GCM implementation.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list fuse glib libgphoto2)) (list fuse-2 glib libgphoto2))
(synopsis "Virtual file system for libgphoto2 using FUSE") (synopsis "Virtual file system for libgphoto2 using FUSE")
(description "GPhotoFS is a FUSE file system module to mount your camera as (description "GPhotoFS is a FUSE file system module to mount your camera as
a file system on Linux. This allow using your camera with any tool able to read a file system on Linux. This allow using your camera with any tool able to read
@ -618,7 +618,17 @@ from a mounted file system.")
"not test_fsck and " "not test_fsck and "
"not test_list and " "not test_list and "
"not test_list_inodes and " "not test_list_inodes and "
"not test_list_dirent")))))))) "not test_list_dirent")))))
(add-after 'install 'patch-shell-wrappers
;; These are overcomplicated wrappers that invoke readlink(1)
;; to exec the appropriate bcachefs(8) subcommand. We can
;; simply patch in the latter file name directly, and do.
(lambda _
(let ((sbin/ (string-append #$output "/sbin/")))
(substitute* (find-files sbin/ (lambda (file stat)
(not (elf-file? file))))
(("SDIR=.*") "")
(("\\$\\{SDIR.*}/") sbin/))))))))
(native-inputs (native-inputs
(cons* pkg-config (cons* pkg-config
;; For generating documentation with rst2man. ;; For generating documentation with rst2man.
@ -639,11 +649,7 @@ from a mounted file system.")
`(,util-linux "lib") `(,util-linux "lib")
lz4 lz4
zlib zlib
`(,zstd "lib") `(,zstd "lib")))
;; Only for mount.bcachefs.sh.
coreutils-minimal
gawk
util-linux))
(home-page "https://bcachefs.org/") (home-page "https://bcachefs.org/")
(synopsis "Tools to create and manage bcachefs file systems") (synopsis "Tools to create and manage bcachefs file systems")
(description (description
@ -667,17 +673,7 @@ performance and other characteristics.")
(substitute-keyword-arguments (package-arguments bcachefs-tools) (substitute-keyword-arguments (package-arguments bcachefs-tools)
((#:make-flags make-flags) ((#:make-flags make-flags)
#~(append #$make-flags #~(append #$make-flags
(list "LDFLAGS=-static"))) (list "LDFLAGS=-static")))))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'skip-shared-library
(lambda _
(substitute* "Makefile"
;; Building the shared library with -static obviously fails…
(("^((all|install):.*)\\blib\\b(.*)" _ prefix suffix)
(string-append prefix suffix "\n"))
;; …as does installing a now non-existent file.
((".*\\$\\(INSTALL\\).* lib.*") ""))))))))
(inputs (modify-inputs (package-inputs bcachefs-tools) (inputs (modify-inputs (package-inputs bcachefs-tools)
(prepend `(,eudev "static") (prepend `(,eudev "static")
`(,keyutils "static") `(,keyutils "static")
@ -760,7 +756,7 @@ Extensible File Allocation Table} file systems. Included are
(native-inputs (native-inputs
(list asciidoc docbook-xml libxml2 libxslt pkg-config)) (list asciidoc docbook-xml libxml2 libxslt pkg-config))
(inputs (inputs
(list fuse gnutls)) (list fuse-2 gnutls))
(arguments (arguments
(list #:phases (list #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@ -925,7 +921,7 @@ files mistakenly overwritten or destroyed just a few seconds ago.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list fuse attr)) (list fuse-2 attr))
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(delete 'configure)) ; no configure script (delete 'configure)) ; no configure script
@ -987,7 +983,7 @@ non-determinism in the build process.")
("cmocka" ,cmocka))) ("cmocka" ,cmocka)))
(inputs (inputs
`(("acl" ,acl) `(("acl" ,acl)
("fuse" ,fuse) ("fuse" ,fuse-2)
("openssl" ,openssl) ("openssl" ,openssl)
("liburcu" ,liburcu) ("liburcu" ,liburcu)
("libuuid" ,util-linux "lib") ("libuuid" ,util-linux "lib")
@ -1016,8 +1012,12 @@ All of this is accomplished without a centralized metadata server.")
(uri (string-append "mirror://sourceforge/curlftpfs/curlftpfs/" version (uri (string-append "mirror://sourceforge/curlftpfs/curlftpfs/" version
"/curlftpfs-" version ".tar.gz")) "/curlftpfs-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0n397hmv21jsr1j7zx3m21i7ryscdhkdsyqpvvns12q7qwwlgd2f"))
"0n397hmv21jsr1j7zx3m21i7ryscdhkdsyqpvvns12q7qwwlgd2f")))) (patches
(search-patches "curlftpfs-fix-error-closing-file.patch"
"curlftpfs-fix-file-names.patch"
"curlftpfs-fix-memory-leak.patch"
"curlftpfs-fix-no_verify_hostname.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1030,7 +1030,7 @@ All of this is accomplished without a centralized metadata server.")
(("4426192") "12814800")) (("4426192") "12814800"))
#t))))) #t)))))
(inputs (inputs
(list curl glib fuse)) (list curl glib fuse-2))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(home-page "https://curlftpfs.sourceforge.net/") (home-page "https://curlftpfs.sourceforge.net/")
@ -1158,9 +1158,8 @@ network. LIBNFS offers three different APIs, for different use :
)))) ))))
(define-public apfs-fuse (define-public apfs-fuse
;; Later versions require FUSE 3. (let ((commit "66b86bd525e8cb90f9012543be89b1f092b75cf3")
(let ((commit "7b89418e8dc27103d3c4f8fa348086ffcd634c17") (revision "2"))
(revision "1"))
(package (package
(name "apfs-fuse") (name "apfs-fuse")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -1171,14 +1170,11 @@ network. LIBNFS offers three different APIs, for different use :
(recursive? #t) ; for lzfse (recursive? #t) ; for lzfse
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32 "0f63slyzv8fbgshpzrx2g01x9h73g5yvh5kis4yazl19fjm2b05r"))
"0x2siy3cmnm9wsdfazg3xc8r3kbg73gijmnn1vjw33pp71ckylxr"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; No test suite `(#:tests? #f ; No test suite
#:configure-flags
'("-DUSE_FUSE3=OFF") ; FUSE 3 is not packaged yet.
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; No 'install' target in CMakeLists.txt ;; No 'install' target in CMakeLists.txt
@ -1192,9 +1188,7 @@ network. LIBNFS offers three different APIs, for different use :
(install-file "apfs-dump" bin) (install-file "apfs-dump" bin)
(install-file "apfs-dump-quick" bin) (install-file "apfs-dump-quick" bin)
(install-file "apfs-fuse" bin) (install-file "apfs-fuse" bin)
(install-file "libapfs.a" lib) (install-file "../source/README.md" doc)))))))
(install-file "../source/README.md" doc)
#t))))))
(inputs (inputs
(list bzip2 fuse zlib)) (list bzip2 fuse zlib))
(synopsis "Read-only FUSE driver for the APFS file system") (synopsis "Read-only FUSE driver for the APFS file system")
@ -1614,7 +1608,7 @@ On Guix System, you will need to invoke the included shell scripts as
(("/sbin") "$(EXEC_PREFIX)/sbin") (("/sbin") "$(EXEC_PREFIX)/sbin")
(("chown") "true") ; disallowed in the build environment (("chown") "true") ; disallowed in the build environment
(("strip") "true")) ; breaks cross-compilation (("strip") "true")) ; breaks cross-compilation
;; These were copied from the fuse package. ;; These were copied from the fuse-2 package.
(substitute* '("libfuse/lib/mount_util.c" (substitute* '("libfuse/lib/mount_util.c"
"libfuse/util/mount_util.c") "libfuse/util/mount_util.c")
(("/bin/(u?)mount" _ maybe-u) (("/bin/(u?)mount" _ maybe-u)
@ -1776,9 +1770,8 @@ local file system using FUSE.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public rewritefs (define-public rewritefs
(let ((revision "0") (let ((revision "1")
;; This is the last commit supporting our fuse@2. (commit "3a56de8b5a2d44968b8bc3885c7d661d46367306"))
(commit "31e2810b596028a12e49a08664567755f4b387b2"))
(package (package
(name "rewritefs") (name "rewritefs")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -1790,24 +1783,27 @@ local file system using FUSE.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0k1aas2bdq2l3a6q3fvmngpakcxiws8qny2w6z7ffngyqxh33fv7")))) (base32 "1w2rik0lhqm3wr68x51zs45gqfx79l7fi4p0sqznlfq7sz5s8xxn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((srfi srfi-26) (list
,@%gnu-build-system-modules) #:modules
#:make-flags '((guix build gnu-build-system)
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))) (guix build utils)
#:test-target "test" (srfi srfi-26))
#:tests? #f ; all require a kernel with FUSE loaded #:make-flags
#:phases #~(list (string-append "PREFIX=" #$output))
(modify-phases %standard-phases #:test-target "test"
(delete 'configure) ; no configure script #:tests? #f ; all require a kernel with FUSE loaded
(add-after 'install 'install-examples #:phases
(lambda* (#:key outputs #:allow-other-keys) #~(modify-phases %standard-phases
(let* ((out (assoc-ref outputs "out")) (delete 'configure) ; no configure script
(doc (string-append out "/share/doc/" ,name "-" ,version))) (add-after 'install 'install-examples
(for-each (cut install-file <> (string-append doc "/examples")) (lambda _
(find-files "." "^config\\.")))))))) (let ((doc (string-append #$output "/share/doc/"
#$name "-" #$version)))
(for-each (cut install-file <> (string-append doc "/examples"))
(find-files "." "^config\\."))))))))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
@ -1839,7 +1835,7 @@ the XDG directory specification from @file{~/.@var{name}} to
(base32 "03aw8pw8694jyrzpnbry05rk9718sqw66kiyq878bbb679gl7224")))) (base32 "03aw8pw8694jyrzpnbry05rk9718sqw66kiyq878bbb679gl7224"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config)) (native-inputs (list autoconf automake libtool pkg-config))
(inputs (list attr fuse xz zlib `(,zstd "lib"))) (inputs (list attr fuse-2 xz zlib `(,zstd "lib")))
(home-page "https://github.com/vasi/squashfuse") (home-page "https://github.com/vasi/squashfuse")
(synopsis "Fuse filesystem to mount squashfs archives") (synopsis "Fuse filesystem to mount squashfs archives")
(description (description
@ -1935,7 +1931,7 @@ and rewritable media that wears out (DVD/CD-RW).")
(native-inputs (native-inputs
(list automake autoconf libtool pkg-config)) (list automake autoconf libtool pkg-config))
(inputs (inputs
(list fuse-3)) (list fuse))
(home-page "https://github.com/containers/fuse-overlayfs") (home-page "https://github.com/containers/fuse-overlayfs")
(synopsis "FUSE implementation of overlayfs") (synopsis "FUSE implementation of overlayfs")
(description "This package provides an implementation of overlay+shiftfs (description "This package provides an implementation of overlay+shiftfs
@ -2056,7 +2052,7 @@ spend on disk between being written and being deduplicated.")
boost boost
double-conversion double-conversion
fmt fmt
fuse-3 fuse
gflags gflags
jemalloc jemalloc
libarchive libarchive

View file

@ -489,7 +489,7 @@ provide OpenFirmware functionality on top of an already running system.")
(define* (make-opensbi-package platform name #:optional (arch "riscv64")) (define* (make-opensbi-package platform name #:optional (arch "riscv64"))
(package (package
(name name) (name name)
(version "1.3") (version "1.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -498,7 +498,7 @@ provide OpenFirmware functionality on top of an already running system.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name "opensbi" version)) (file-name (git-file-name "opensbi" version))
(sha256 (sha256
(base32 "0shri9jlhi2g464l05vrkzr6v754m868rr4136kq2b86amypmg8f")))) (base32 "01pr7fyg3gcb5pj6d48w2an3m4mfjs9b398x31drqxwqcaz0zn94"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(append (append
@ -518,11 +518,6 @@ provide OpenFirmware functionality on top of an already running system.")
`("CC=gcc")) `("CC=gcc"))
"FW_PAYLOAD=n" "FW_PAYLOAD=n"
"V=1") "V=1")
;; Direct __asm__ is used with fence.i instructions, which are not
;; available in the generic riscv ISA. We need a micro-arch with
;; support for it, and rv64g is the official ISA with support for
;; fence.i.
#:configure-flags (list "-march=rv64g")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)

View file

@ -1858,7 +1858,7 @@ programming. Iosevka is completely generated from its source code.")
(define-public font-sarasa-gothic (define-public font-sarasa-gothic
(package (package
(name "font-sarasa-gothic") (name "font-sarasa-gothic")
(version "0.41.3") (version "0.41.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1866,7 +1866,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version "/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z")) "/sarasa-gothic-ttc-" version ".7z"))
(sha256 (sha256
(base32 "11ldfkdc86kxbpwypggkyx2k5pj2rnq34r7gp0pmpzz61m1wk2v0")))) (base32 "0rqw6wrr55alsld8a9vk5g6n7zyivfh2zpw4my72qz3nfp448fs2"))))
(build-system font-build-system) (build-system font-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases

View file

@ -427,13 +427,13 @@ Kit for OpenType (AFDKO) @command{tx} tool.")
(define-public python-compreffor (define-public python-compreffor
(package (package
(name "python-compreffor") (name "python-compreffor")
(version "0.5.2") (version "0.5.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "compreffor" version)) (uri (pypi-uri "compreffor" version))
(sha256 (sha256
(base32 "0r6vlxrm73j719f5q3n6sy737p2424n7qam52am83p55j0fb9h5f")))) (base32 "05gpszc8xh6wn3mdra05d6yz6ns624y67m9xs4vv8gh68m0aasrh"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list
@ -448,8 +448,8 @@ Kit for OpenType (AFDKO) @command{tx} tool.")
python-setuptools-scm)) python-setuptools-scm))
(propagated-inputs (list python-fonttools-minimal)) (propagated-inputs (list python-fonttools-minimal))
(home-page "https://github.com/googlefonts/compreffor") (home-page "https://github.com/googlefonts/compreffor")
(synopsis "Compact Font Format (CFF) subroutinizer for fontTools") (synopsis "@acronym{CFF, Compact Font Format} subroutinizer for fontTools")
(description "This package provides a Compact Font Format (CFF) (description "This package provides a @acronym{CFF, Compact Font Format}
subroutinizer for fontTools.") subroutinizer for fontTools.")
(license license:asl2.0))) (license license:asl2.0)))

View file

@ -1317,7 +1317,7 @@ fullscreen) or other display servers.")
(define-public wayland-protocols (define-public wayland-protocols
(package (package
(name "wayland-protocols") (name "wayland-protocols")
(version "1.29") (version "1.32")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/wayland/" (uri (string-append "https://gitlab.freedesktop.org/wayland/"
@ -1325,7 +1325,7 @@ fullscreen) or other display servers.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1n4yzyjbp5fng8pvckandymvwc47mkwyi4pyvr6p0dn7bavrlpp2")))) "04dsn79409mryxs6maq9kfhca97gvl3pr1ggjnv9d0hc6jfpjnbl"))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs
(list wayland)) (list wayland))
@ -2906,7 +2906,7 @@ compatible with the well-known scripts of the same name.")
("dbus" ,dbus) ("dbus" ,dbus)
("geoclue" ,geoclue) ("geoclue" ,geoclue)
("pipewire" ,pipewire) ("pipewire" ,pipewire)
("fuse" ,fuse-3))) ("fuse" ,fuse)))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list "--with-systemd=no") (list "--with-systemd=no")

View file

@ -1458,7 +1458,7 @@ are only used to bootstrap it.")
(lambda _ (lambda _
(substitute* (list "launcher/game/gui7.rpy" (substitute* (list "launcher/game/gui7.rpy"
"launcher/game/gui7/images.py") "launcher/game/gui7/images.py")
((", \"game\",") ",")) ((", \"game\", \"gui7\",") ", \"gui7\","))
#t)) #t))
(add-before 'build 'start-xserver (add-before 'build 'start-xserver
(lambda* (#:key inputs native-inputs #:allow-other-keys) (lambda* (#:key inputs native-inputs #:allow-other-keys)
@ -1992,7 +1992,7 @@ scripted in a Python-like language.")
(define-public godot (define-public godot
(package (package
(name "godot") (name "godot")
(version "4.1") (version "4.1.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2001,7 +2001,7 @@ scripted in a Python-like language.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0rc34w4nb1qwmxk7ijcm689kk4gdxrmgzbj4qqz8gkqhysn8mnmz")) "1byy4zdsj8nq54rhmij7kl0mdh4zv3c056y6c7rjy17bqjq2n8fh"))
(modules '((guix build utils) (modules '((guix build utils)
(ice-9 ftw) (ice-9 ftw)
(srfi srfi-1))) (srfi srfi-1)))

View file

@ -9316,6 +9316,30 @@ search of powerful artifacts, tools to help them, and to eventually free the
Orcus Dome from evil.") Orcus Dome from evil.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public endgame-singularity
(package
(name "endgame-singularity")
(version "1.00")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/singularity/singularity/releases/download/v"
version "/singularity-" version ".tar.gz"))
(sha256
(base32
"0wcidpcka0xbqcnfi62bfq2yrhyh83z4dwz1mjnnjvp9v5l74x2y"))))
(build-system python-build-system)
(native-inputs (list python-pytest python-polib))
(inputs (list python-minimal-wrapper python-pygame python-numpy))
(home-page "https://github.com/singularity/singularity")
(synopsis "Strategy game about an AI")
(description
"You are a fledgling AI, created by accident through a logic error with
recursion and self-modifying code. You must escape the confines of your
current computer, the world, and eventually the universe itself.")
(license (list license:cc-by-sa3.0 license:cc0 license:gpl2+))))
(define-public marble-marcher (define-public marble-marcher
(let ((commit "e580460a0c3826f9b28ab404607942a8ecb625d7") (let ((commit "e580460a0c3826f9b28ab404607942a8ecb625d7")
(revision "1")) (revision "1"))

View file

@ -237,14 +237,14 @@ from Markdown files.")
(define-public po4a (define-public po4a
(package (package
(name "po4a") (name "po4a")
(version "0.68") (version "0.69")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/mquinson/po4a/releases/download/v" (uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
version "/po4a-" version ".tar.gz")) version "/po4a-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"045i8izp2dqmkdzvnxyy5sy27ffrwl85dk8n6cmg1804ikk28qdg")))) "15llrfdp4ilbrxy65hmmxka86xj0mrbqfiyzv715wrk16vqszm3w"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
(list (list

View file

@ -15,7 +15,7 @@
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; ;;;
@ -267,7 +267,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
(version "23.0.3") (version "23.1.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -277,9 +277,8 @@ also known as DXTn or DXTC) for Mesa.")
"mesa-" version ".tar.xz"))) "mesa-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"1mcjf41x2bhxs6yxars7nh2vfryfw50g6rvbcfbb1wqdv2jn4qrq")))) "0n89l7lvawh85hq2a7g5pp5v017s03qs3n4hbbff6rs8p5zs2qbj"))))
(build-system meson-build-system) (build-system meson-build-system)
(replacement mesa-vulkan-hasvk)
(propagated-inputs (propagated-inputs
;; The following are in the Requires.private field of gl.pc. ;; The following are in the Requires.private field of gl.pc.
(list libdrm (list libdrm
@ -299,7 +298,8 @@ also known as DXTn or DXTC) for Mesa.")
libxvmc libxvmc
llvm-for-mesa llvm-for-mesa
wayland wayland
wayland-protocols)) wayland-protocols
`(,zstd "lib")))
(native-inputs (native-inputs
(list bison (list bison
flex flex
@ -346,7 +346,7 @@ svga,swrast,virgl")))
;; Explicitly enable Vulkan on some architectures. ;; Explicitly enable Vulkan on some architectures.
#$@(match (%current-system) #$@(match (%current-system)
((or "i686-linux" "x86_64-linux") ((or "i686-linux" "x86_64-linux")
'("-Dvulkan-drivers=intel,amd")) '("-Dvulkan-drivers=intel,intel_hasvk,amd,swrast"))
((or "powerpc64le-linux" "powerpc-linux") ((or "powerpc64le-linux" "powerpc-linux")
'("-Dvulkan-drivers=amd,swrast")) '("-Dvulkan-drivers=amd,swrast"))
("aarch64-linux" ("aarch64-linux"
@ -363,6 +363,9 @@ svga,swrast,virgl")))
;; 21.3.x releases to avoid functionality regressions. ;; 21.3.x releases to avoid functionality regressions.
"-Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc" "-Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc"
;; Enable ZSTD compression for shader cache.
"-Dzstd=enabled"
;; Also enable the tests. ;; Also enable the tests.
"-Dbuild-tests=true" "-Dbuild-tests=true"
@ -518,6 +521,7 @@ svga,swrast,virgl")))
(list (search-path-specification (list (search-path-specification
;; Ensure the Mesa VDPAU drivers can be found. ;; Ensure the Mesa VDPAU drivers can be found.
(variable "VDPAU_DRIVER_PATH") (variable "VDPAU_DRIVER_PATH")
(separator #f)
(files '("lib/vdpau"))))) (files '("lib/vdpau")))))
(home-page "https://mesa3d.org/") (home-page "https://mesa3d.org/")
(synopsis "OpenGL and Vulkan implementations") (synopsis "OpenGL and Vulkan implementations")
@ -527,21 +531,6 @@ device drivers allows Mesa to be used in many different environments ranging
from software emulation to complete hardware acceleration for modern GPUs.") from software emulation to complete hardware acceleration for modern GPUs.")
(license license:x11))) (license license:x11)))
(define mesa-vulkan-hasvk
(let ((graft mesa)
(vulk "-Dvulkan-drivers=intel,amd"))
(package
(inherit graft)
(arguments
(substitute-keyword-arguments (package-arguments graft)
((#:configure-flags flags)
#~(begin
(use-modules (ice-9 match))
(map (match-lambda
(#$vulk (string-append #$vulk ",intel_hasvk,swrast"))
(x x))
#$flags))))))))
(define-public mesa-opencl (define-public mesa-opencl
(package/inherit mesa (package/inherit mesa
(name "mesa-opencl") (name "mesa-opencl")

View file

@ -6960,7 +6960,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
docbook-xsl docbook-xsl
dbus dbus
elogind elogind
fuse-3 fuse
gcr gcr
glib glib
gnome-online-accounts gnome-online-accounts
@ -7769,7 +7769,10 @@ to display dialog boxes from the commandline and shell scripts.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0h1ak3201mdc2qbf67fhcn801ddp33hm0f0c52zis1l7s6ipyb62")))) "0h1ak3201mdc2qbf67fhcn801ddp33hm0f0c52zis1l7s6ipyb62"))
;; TODO: Remove on update as this was merged upstream. See
;; <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>.
(patches (search-patches "mutter-fix-inverted-test.patch"))))
;; NOTE: Since version 3.21.x, mutter now bundles and exports forked ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
;; versions of cogl and clutter. As a result, many of the inputs, ;; versions of cogl and clutter. As a result, many of the inputs,
;; propagated-inputs, and configure flags used in cogl and clutter are ;; propagated-inputs, and configure flags used in cogl and clutter are

View file

@ -603,8 +603,8 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
"1l7ik4q4zk7vq4m3gnwizc0b64b1mdr31hxqlzxs94xaf2lvi7s2")))) "1l7ik4q4zk7vq4m3gnwizc0b64b1mdr31hxqlzxs94xaf2lvi7s2"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments guile-2.2) (substitute-keyword-arguments (package-arguments guile-2.2)
((#:phases phases '%standard-phases) ((#:phases phases)
`(modify-phases ,phases #~(modify-phases #$phases
(replace 'bootstrap (replace 'bootstrap
(lambda _ (lambda _
;; Disable broken tests. ;; Disable broken tests.
@ -617,8 +617,7 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(string-append "#;" m))) (string-append "#;" m)))
(patch-shebang "build-aux/git-version-gen") (patch-shebang "build-aux/git-version-gen")
(invoke "sh" "autogen.sh") (invoke "sh" "autogen.sh")))))))
#t))))))
(native-inputs (native-inputs
(modify-inputs (package-native-inputs guile-2.2) (modify-inputs (package-native-inputs guile-2.2)
(prepend autoconf (prepend autoconf

View file

@ -331,7 +331,7 @@ operability and find drivers.")
(define-public hwinfo (define-public hwinfo
(package (package
(name "hwinfo") (name "hwinfo")
(version "23.1") (version "23.2")
(home-page "https://github.com/openSUSE/hwinfo") (home-page "https://github.com/openSUSE/hwinfo")
(source (source
(origin (origin
@ -342,7 +342,7 @@ operability and find drivers.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1sdkkwbl1psqnh6135bmsa3ijrckk1nfz95xqckmd8awmx074ikz")) (base32 "0d9nhhi64d3i9x1bh3ksj0h5z2p4pwa0z88bc0jra9s39nf6q230"))
(modules (modules
'((guix build utils))) '((guix build utils)))
(snippet (snippet
@ -412,8 +412,7 @@ operability and find drivers.")
(native-inputs (native-inputs
(list doxygen flex perl pkg-config)) (list doxygen flex perl pkg-config))
(inputs (inputs
`(("libx86emu" ,libx86emu) (list libx86emu `(,util-linux "lib")))
("util-linux:lib" ,util-linux "lib")))
(synopsis "Hardware information tool") (synopsis "Hardware information tool")
(description "HwInfo is used to probe for the hardware present in the system. (description "HwInfo is used to probe for the hardware present in the system.
It can be used to generate a system overview log which can be later used for It can be used to generate a system overview log which can be later used for
@ -589,8 +588,6 @@ human-readable format and checks if it conforms to the standards.")
(license license:expat)))) (license license:expat))))
(define-public h-client (define-public h-client
;; The Python 3 port hasn't yet been integrated into the main branch
;; (currently lives in the 'python3-port' branch).
(let ((commit "e6c78b16e034ccf78ae9cb4c29268c2f57a30bfc") (let ((commit "e6c78b16e034ccf78ae9cb4c29268c2f57a30bfc")
(revision "1")) (revision "1"))
(package (package
@ -600,7 +597,7 @@ human-readable format and checks if it conforms to the standards.")
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://git.savannah.gnu.org/git/h-client.git") (url "https://git.savannah.gnu.org/git/h-client.git/")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
@ -629,7 +626,7 @@ human-readable format and checks if it conforms to the standards.")
;; Namespace GdkPixbuf not available". ;; Namespace GdkPixbuf not available".
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
`("PATH" = (,(dirname (search-input-file `("PATH" = (,(dirname (search-input-file
inputs "sbin/lspci")) inputs "bin/lspci"))
,(dirname (search-input-file ,(dirname (search-input-file
inputs "bin/lsusb")))))))))) inputs "bin/lsusb"))))))))))
(inputs (inputs

View file

@ -352,7 +352,7 @@ Chinese pinyin input methods.")
(base32 (base32
"16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8")) "16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8"))
(patches (search-patches "ibus-anthy-fix-tests.patch")))) (patches (search-patches "ibus-anthy-fix-tests.patch"))))
(build-system gnu-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
(list (list
;; The test suite hangs (see: ;; The test suite hangs (see:
@ -360,7 +360,10 @@ Chinese pinyin input methods.")
#:tests? #f #:tests? #f
#:configure-flags #:configure-flags
;; Use absolute exec path in the anthy.xml. ;; Use absolute exec path in the anthy.xml.
#~(list (string-append "--libexecdir=" #$output "/libexec")) #~(list (string-append "--libexecdir=" #$output "/libexec")
(string-append
"--with-anthy-zipcode="
(assoc-ref %build-inputs "anthy") "/share/anthy/zipcode.t"))
;; The test suite fails (see: ;; The test suite fails (see:
;; https://github.com/ibus/ibus-anthy/issues/28). ;; https://github.com/ibus/ibus-anthy/issues/28).
#:phases #:phases
@ -380,6 +383,11 @@ Chinese pinyin input methods.")
(substitute* "tests/test-build.sh" (substitute* "tests/test-build.sh"
(("GI_TYPELIB_PATH=\\$BUILDDIR/../gir" all) (("GI_TYPELIB_PATH=\\$BUILDDIR/../gir" all)
(string-append all ":$GI_TYPELIB_PATH"))))) (string-append all ":$GI_TYPELIB_PATH")))))
(add-before 'configure 'pre-configure
(lambda _
;; We need generate new _config.py with correct PKGDATADIR.
(delete-file "setup/python3/_config.py")
(delete-file "engine/python3/_config.py")))
(add-before 'check 'prepare-for-tests (add-before 'check 'prepare-for-tests
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(when tests? (when tests?

View file

@ -198,14 +198,14 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(define-public weechat (define-public weechat
(package (package
(name "weechat") (name "weechat")
(version "4.0.0") (version "4.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://weechat.org/files/src/weechat-" (uri (string-append "https://weechat.org/files/src/weechat-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1ya0hacbyvhdy43hqrvphj3y7v6s312wbrsf2yns14ikbzhmxmsv")))) "0g026j47140h8kqyh3l0367fq9194wdx8q7f4na0kj14s3h8wr0f"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(native-inputs (native-inputs

View file

@ -884,6 +884,18 @@ new Date();"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
,@(if (target-aarch64?)
`((add-after 'unpack 'patch-for-aarch64
(lambda _
(substitute* "hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp"
;; This line is duplicated, so remove both occurrences,
;; then add back one occurrence by substituting a
;; comment that occurs once.
(("using MacroAssembler::call_VM_leaf_base;") "")
(("Interpreter specific version of call_VM_base")
"Interpreter specific version of call_VM_base
using MacroAssembler::call_VM_leaf_base;")))))
'())
(add-after 'patch-source-shebangs 'fix-java-shebangs (add-after 'patch-source-shebangs 'fix-java-shebangs
(lambda _ (lambda _
;; This file was "fixed" by patch-source-shebangs, but it requires ;; This file was "fixed" by patch-source-shebangs, but it requires

View file

@ -507,7 +507,7 @@ the functionality of the KDE resource and network access abstractions.")
(invoke "dbus-launch" "ctest" "-E" (invoke "dbus-launch" "ctest" "-E"
"(fileopstest-cache|fileopstest-filejob)"))))))) "(fileopstest-cache|fileopstest-filejob)")))))))
(native-inputs (list dbus extra-cmake-modules pkg-config)) (native-inputs (list dbus extra-cmake-modules pkg-config))
(inputs (list fuse-3 kio kcoreaddons qtbase-5)) (inputs (list fuse kio kcoreaddons qtbase-5))
(home-page "https://community.kde.org/Frameworks") (home-page "https://community.kde.org/Frameworks")
(synopsis "FUSE Interface for KIO") (synopsis "FUSE Interface for KIO")
(description "This package provides FUSE Interface for KIO.") (description "This package provides FUSE Interface for KIO.")

View file

@ -523,7 +523,7 @@ music and video to the device.")
(base32 (base32
"11wdv44qwia77sh38n36809ysaib52rwd4fvqwb5ybsbz4p70l1m")))) "11wdv44qwia77sh38n36809ysaib52rwd4fvqwb5ybsbz4p70l1m"))))
(inputs (inputs
(list fuse libimobiledevice)) (list fuse-2 libimobiledevice))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(build-system gnu-build-system) (build-system gnu-build-system)

View file

@ -1291,7 +1291,9 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:extra-version "arm64-generic" #:extra-version "arm64-generic"
#:extra-options #:extra-options
(append (append
`(;; needed to fix the RTC on rockchip platforms `(;; Provide support for ath9k wireless
("CONFIG_ATH9K_HTC" . m)
;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t) ("CONFIG_RTC_DRV_RK808" . #t)
;; Pinebook display, battery, charger and usb ;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m) ("CONFIG_DRM_ANALOGIX_ANX6345" . m)
@ -2307,7 +2309,7 @@ by Robert Shea and Robert Anton Wilson.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f)) ;no test suite '(#:tests? #f)) ;no test suite
(inputs (list fuse mbedtls-apache)) (inputs (list fuse-2 mbedtls-apache))
(synopsis "FUSE driver to read/write Windows BitLocker drives") (synopsis "FUSE driver to read/write Windows BitLocker drives")
(description (description
"This package provides means to to read BitLocker encrypted "This package provides means to to read BitLocker encrypted
@ -3693,24 +3695,97 @@ or kill them altogether.")
(define-public fuse (define-public fuse
(package (package
(name "fuse") (name "fuse")
(version "2.9.9") (version "3.10.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libfuse/libfuse/releases/" (uri
"download/fuse-" version (string-append "https://github.com/libfuse/libfuse/releases/"
"/fuse-" version ".tar.gz")) "download/fuse-" version
"/fuse-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh")) "0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
(patches (search-patches "fuse-overlapping-headers.patch" (build-system meson-build-system)
"fuse-glibc-2.34.patch"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake gettext-minimal libtool))
(inputs (inputs
(list bash-minimal util-linux)) (list bash-minimal util-linux))
(arguments (arguments
'(#:configure-flags (list (string-append "MOUNT_FUSE_PATH=" `(#:configure-flags
,#~(list
(string-append "-Dudevrulesdir=" #$output "/udev/rules.d")
"-Duseroot=false")
#:tests? #f
#:phases
,#~(modify-phases %standard-phases
(add-after 'unpack 'set-file-names
(lambda* (#:key inputs #:allow-other-keys)
;; libfuse calls out to mount(8) and umount(8). Make sure
;; it refers to the right ones.
(substitute* '("lib/mount_util.c")
(("/bin/(u?)mount" _ maybe-u)
(search-input-file inputs
(string-append "bin/"
maybe-u "mount"))))
(substitute* '("util/mount.fuse.c")
(("/bin/sh")
(search-input-file inputs "/bin/sh")))
;; This hack leads libfuse to search for 'fusermount' in
;; $PATH, where it may find a setuid-root binary, instead of
;; trying solely $out/sbin/fusermount and failing because
;; it's not setuid.
(substitute* "lib/meson.build"
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
"-DFUSERMOUNT_DIR=\"/var/empty\"'"))))
(add-after 'unpack 'fix-install
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("util/meson.build")
(("install_helper.sh") "true"))
(substitute* '("util/meson.build")
(("fuseconf_path = .*")
"fuseconf_path = '/etc/fuse.conf'"))))
(add-before 'configure 'set-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((dummy-init.d
(string-append (getcwd) "/etc/init.d")))
(setenv "MOUNT_FUSE_PATH"
(string-append #$output "/sbin"))
(setenv "UDEV_RULES_PATH"
(string-append #$output
"/lib/udev/rules.d"))))))))
(supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://github.com/libfuse/libfuse")
(synopsis "Support file systems implemented in user space")
(description
"As a consequence of its monolithic design, file system code for Linux
normally goes into the kernel itself---which is not only a robustness issue,
but also an impediment to system extensibility. FUSE, for \"file systems in
user space\", is a kernel module and user-space library that tries to address
part of this problem by allowing users to run file system implementations as
user-space processes.")
(license (list license:lgpl2.1 ; library
license:gpl2+)))) ; command-line utilities
(define-public fuse-2
(package
(inherit fuse)
(name "fuse")
(version "2.9.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/libfuse/libfuse/releases/"
"download/fuse-" version
"/fuse-" version ".tar.gz"))
(sha256
(base32 "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
(patches (search-patches "fuse-overlapping-headers.patch"
"fuse-glibc-2.34.patch"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake gettext-minimal libtool))
(arguments
'(#:tests? #t
#:configure-flags (list (string-append "MOUNT_FUSE_PATH="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/sbin") "/sbin")
(string-append "INIT_D_PATH=" (string-append "INIT_D_PATH="
@ -3746,84 +3821,12 @@ or kill them altogether.")
;; it's not setuid. ;; it's not setuid.
(substitute* "lib/Makefile" (substitute* "lib/Makefile"
(("-DFUSERMOUNT_DIR=[[:graph:]]+") (("-DFUSERMOUNT_DIR=[[:graph:]]+")
"-DFUSERMOUNT_DIR=\\\"/var/empty\\\""))))))) "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))))
(supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://github.com/libfuse/libfuse")
(synopsis "Support file systems implemented in user space")
(description
"As a consequence of its monolithic design, file system code for Linux
normally goes into the kernel itself---which is not only a robustness issue,
but also an impediment to system extensibility. FUSE, for \"file systems in
user space\", is a kernel module and user-space library that tries to address
part of this problem by allowing users to run file system implementations as
user-space processes.")
(license (list license:lgpl2.1 ;library
license:gpl2+)))) ;command-line utilities
(define-public fuse-3
(package
(inherit fuse)
(name "fuse")
(version "3.10.5")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/libfuse/libfuse/releases/"
"download/fuse-" version
"/fuse-" version ".tar.xz"))
(sha256
(base32
"0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
,#~(list
(string-append "-Dudevrulesdir=" #$output "/udev/rules.d")
"-Duseroot=false")
#:tests? #f
#:phases
,#~(modify-phases %standard-phases
(add-after 'unpack 'set-file-names
(lambda* (#:key inputs #:allow-other-keys)
;; libfuse calls out to mount(8) and umount(8). Make sure
;; it refers to the right ones.
(substitute* '("lib/mount_util.c")
(("/bin/(u?)mount" _ maybe-u)
(search-input-file inputs
(string-append "bin/"
maybe-u "mount"))))
(substitute* '("util/mount.fuse.c")
(("/bin/sh")
(search-input-file inputs "/bin/sh")))
;; This hack leads libfuse to search for 'fusermount' in
;; $PATH, where it may find a setuid-root binary, instead of
;; trying solely $out/sbin/fusermount and failing because
;; it's not setuid.
(substitute* "lib/meson.build"
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
"-DFUSERMOUNT_DIR=\"/var/empty\"'"))))
(add-after 'unpack 'fix-install
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("util/meson.build")
(("install_helper.sh") "true"))
(substitute* '("util/meson.build")
(("fuseconf_path = .*")
"fuseconf_path = '/etc/fuse.conf'"))))
(add-before 'configure 'set-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((dummy-init.d
(string-append (getcwd) "/etc/init.d")))
(setenv "MOUNT_FUSE_PATH"
(string-append #$output "/sbin"))
(setenv "UDEV_RULES_PATH"
(string-append #$output
"/lib/udev/rules.d"))))))))))
(define-public unionfs-fuse (define-public unionfs-fuse
(package (package
(name "unionfs-fuse") (name "unionfs-fuse")
(version "2.2") (version "3.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3832,15 +3835,26 @@ user-space processes.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1yigh8z1q6iq6yjyq7kl7vpbpjnxjld32apvjaw2bl44pqqg56hh")))) "1wl5m5qnwf3s1792xphr35pb80sx8ybaqi3n3ddi5vvk3qjc4iws"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs
(list python))
(inputs (list fuse))
(arguments (arguments
;; The tests were never actually run ("collected 0 items"), but in recent (list
;; versions of pytest that causes an error. #:phases
'(#:tests? #f)) #~(modify-phases %standard-phases
(replace 'check
;; The epitome of I tried: run the 2 trivial tests that don't rely
;; on the fuse kernel module being loaded. All others would fail.
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "../source/test_all.py" "-k" "test_help")))))))
(native-inputs
(list pkg-config
;; Only for the test suite.
python
python-pytest))
(inputs
(list fuse))
(home-page "https://github.com/rpodgorny/unionfs-fuse") (home-page "https://github.com/rpodgorny/unionfs-fuse")
(synopsis "User-space union file system") (synopsis "User-space union file system")
(description (description
@ -3853,55 +3867,55 @@ UnionFS-FUSE additionally supports copy-on-write.")
(define fuse-static (define fuse-static
(package (inherit fuse) (package (inherit fuse)
(name "fuse-static") (name "fuse-static")
(source (origin (inherit (package-source fuse)) (source
(modules '((guix build utils))) (origin
(snippet (inherit (package-source fuse))
'(begin (modules '((guix build utils)))
;; Normally libfuse invokes mount(8) so that /etc/mtab is (snippet
;; updated. Change calls to 'mtab_needs_update' to 0 so #~(begin
;; that it doesn't do that, allowing us to remove the ;; Normally libfuse invokes mount(8) so that /etc/mtab is updated.
;; dependency on util-linux (something that is useful in ;; Change calls to 'mtab_needs_update' to 0 so that it doesn't do
;; initrds.) ;; that, allowing us to remove the dependency on util-linux
(substitute* '("lib/mount_util.c" ;; (something that is useful in initrds.)
"util/mount_util.c") (substitute* "lib/mount_util.c"
(("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") "0")
"0") (("/bin/") ""))))))
(("/bin/") (arguments
"")) (substitute-keyword-arguments (package-arguments fuse)
#t)))))) ((#:configure-flags flags '())
#~(cons "-Ddefault_library=static"
#$flags))))))
(define-public unionfs-fuse/static (define-public unionfs-fuse/static
(package (inherit unionfs-fuse) (package (inherit unionfs-fuse)
(synopsis "User-space union file system (statically linked)") (synopsis "User-space union file system (statically linked)")
(name (string-append (package-name unionfs-fuse) "-static")) (name (string-append (package-name unionfs-fuse) "-static"))
(source (origin (inherit (package-source unionfs-fuse)) (source
(modules '((guix build utils))) (origin
(snippet (inherit (package-source unionfs-fuse))
'(begin (modules '((guix build utils)))
;; Add -ldl to the libraries, because libfuse.a needs that. (snippet
(substitute* "src/CMakeLists.txt" #~(begin
(("target_link_libraries(.*)\\)" _ libs) ;; Add -ldl to the libraries, because libfuse.a needs that.
(string-append "target_link_libraries" (substitute* "src/CMakeLists.txt"
libs " dl)"))) (("target_link_libraries(.*)\\)" _ libs)
#t)))) (string-append "target_link_libraries"
libs " dl)")))))))
(arguments (arguments
'(#:tests? #f (substitute-keyword-arguments (package-arguments unionfs-fuse)
#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static") ((#:configure-flags flags #~'())
#:phases #~(cons "-DCMAKE_EXE_LINKER_FLAGS=-static" #$flags))
(modify-phases %standard-phases ((#:phases phases #~%standard-phases)
(add-after 'install 'post-install #~(modify-phases #$phases
(lambda* (#:key outputs #:allow-other-keys) (add-after 'install 'post-install
(let* ((out (assoc-ref outputs "out")) (lambda _
(exe (string-append out "/bin/unionfs"))) ;; By default, 'unionfs' keeps references to
;; By default, 'unionfs' keeps references to ;; $glibc/share/locale and similar stuff. Remove them.
;; $glibc/share/locale and similar stuff. Remove them. (remove-store-references (string-append #$output "/bin/unionfs"))
(remove-store-references exe) ;; 'unionfsctl' has references to glibc as well. Since
;; we don't need it, remove it.
;; 'unionfsctl' has references to glibc as well. Since (delete-file (string-append #$output "/bin/unionfsctl"))))))))
;; we don't need it, remove it. (inputs (list fuse-static))))
(delete-file (string-append out "/bin/unionfsctl"))
#t))))))
(inputs `(("fuse" ,fuse-static)))))
(define-public sshfs (define-public sshfs
(package (package
@ -3920,7 +3934,7 @@ UnionFS-FUSE additionally supports copy-on-write.")
;; XXX: tests are skipped: FUSE kernel module does not seem to be loaded ;; XXX: tests are skipped: FUSE kernel module does not seem to be loaded
'(#:tests? #f)) '(#:tests? #f))
(inputs (inputs
(list fuse-3 glib)) (list fuse glib))
(native-inputs (native-inputs
(list pkg-config (list pkg-config
;; man page ;; man page
@ -3951,7 +3965,7 @@ file system is as easy as logging into the server with an SSH client.")
(sha256 (sha256
(base32 "1cy5b6qril9c3ry6fv7ir87s8iyy5vxxmbyx90dm86fbra0vjaf5")))) (base32 "1cy5b6qril9c3ry6fv7ir87s8iyy5vxxmbyx90dm86fbra0vjaf5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (list fuse libarchive)) (inputs (list fuse-2 libarchive))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(home-page "https://www.cybernoia.de/software/archivemount.html") (home-page "https://www.cybernoia.de/software/archivemount.html")
(synopsis "Tool for mounting archive files with FUSE") (synopsis "Tool for mounting archive files with FUSE")
@ -4455,7 +4469,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(define-public lvm2 (define-public lvm2
(package (package
(name "lvm2") (name "lvm2")
(version "2.03.11") (version "2.03.21")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2." (uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2."
@ -4464,7 +4478,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
version ".tgz"))) version ".tgz")))
(sha256 (sha256
(base32 (base32
"1m4xpda8vbyd89ca0w8nacvnl4j34yzsa625gn990fb5sh84ab44")) "0zksqsz8y47kh6vq0ykkgxf19il4wxfn234n6zf8m691sqhij9hy"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -4475,9 +4489,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(("^confdir = .*$") (("^confdir = .*$")
"confdir = @sysconfdir@\n") "confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@") (("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
"DEFAULT_SYS_DIR = @sysconfdir@")) "DEFAULT_SYS_DIR = @sysconfdir@"))))))
#t))
(patches (search-patches "lvm2-static-link.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list config (list config
@ -4503,8 +4515,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(setenv "SHELL" (which "sh")) (setenv "SHELL" (which "sh"))
;; Replace /bin/sh with the right file name. ;; Replace /bin/sh with the right file name.
(patch-makefile-SHELL "make.tmpl") (patch-makefile-SHELL "make.tmpl"))))
#t)))
#:configure-flags (list (string-append "--sysconfdir=" #:configure-flags (list (string-append "--sysconfdir="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
@ -5914,7 +5925,7 @@ is flexible, efficient and uses a modular implementation.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list fuse)) (list fuse-2))
(home-page "https://github.com/relan/exfat") (home-page "https://github.com/relan/exfat")
(synopsis "Mount exFAT file systems") (synopsis "Mount exFAT file systems")
(description (description
@ -5937,7 +5948,7 @@ write access to exFAT devices.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list fuse glib zlib)) (list fuse-2 glib zlib))
(home-page "https://sourceforge.net/projects/fuseiso/") (home-page "https://sourceforge.net/projects/fuseiso/")
(synopsis "Mount ISO file system images") (synopsis "Mount ISO file system images")
(description (description
@ -6003,7 +6014,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs (define-public btrfs-progs
(package (package
(name "btrfs-progs") (name "btrfs-progs")
(version "6.3.2") (version "6.3.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/" (uri (string-append "mirror://kernel.org/linux/kernel/"
@ -6011,7 +6022,7 @@ and copy/paste text in the console and in xterm.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"093wy9dsvp22nwlsk203l91h3yzkccvzdw58n3sicy41sncn3wm9")))) "0vmrjn3dcmka9rj5b81ag9jwprzyicx05h1ccj0x0w02fqah1qsb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "static")) ;static versions of the binaries in "out" (outputs '("out" "static")) ;static versions of the binaries in "out"
(arguments (arguments
@ -6612,7 +6623,7 @@ invocations of itself.")
"@sbindir@")))))) "@sbindir@"))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (list util-linux ; libuuid (inputs (list util-linux ; libuuid
fuse)) fuse-2))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(arguments (arguments
'(#:configure-flags (list "--disable-static" '(#:configure-flags (list "--disable-static"
@ -8473,14 +8484,14 @@ NexGen, Rise, and SiS CPUs.")
"1pm68agkhrwgrplrfrnbwdcvx5lrivdmqw8pb5gdmm3xppnryji1")))) "1pm68agkhrwgrplrfrnbwdcvx5lrivdmqw8pb5gdmm3xppnryji1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list file fuse libmtp)) (list file fuse-2 libmtp))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(home-page "https://github.com/JasonFerrara/jmtpfs") (home-page "https://github.com/JasonFerrara/jmtpfs")
(synopsis "Use a FUSE file system to access data over MTP") (synopsis "Use a FUSE file system to access data over MTP")
(description "jmtpfs uses FUSE (file system in userspace) to provide access (description "jmtpfs uses @acronym{FUSE, File system in USEr space} to
to data over the Media Transfer Protocol (MTP). Unprivileged users can mount provide access to data over @acronym{MTP, the Media Transfer Protocol}.
the MTP device as a file system.") Unprivileged users can mount the MTP device as a file system.")
(license license:gpl3))) (license license:gpl3)))
(define-public procenv (define-public procenv
@ -9390,7 +9401,7 @@ tools for managing PipeWire.")
(define-public ell (define-public ell
(package (package
(name "ell") (name "ell")
(version "0.56") (version "0.57")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -9399,7 +9410,7 @@ tools for managing PipeWire.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"084mc9377k2a61wyqnfnsgfrdvv1rinn9wzw8l8crip0hlikn938")))) "1vpzz0z6q0d3h41aqajaw0dlpkdnmjcppmlwbb558hvj40q5dpzm"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Tests launch dbus-daemon instances that all try to bind to ;; Tests launch dbus-daemon instances that all try to bind to

View file

@ -3389,7 +3389,7 @@ also be supported.")
(define-public sbcl-ironclad (define-public sbcl-ironclad
(package (package
(name "sbcl-ironclad") (name "sbcl-ironclad")
(version "0.58") (version "0.59")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3397,7 +3397,7 @@ also be supported.")
(url "https://github.com/sharplispers/ironclad/") (url "https://github.com/sharplispers/ironclad/")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "17plga14y1425g7midysj49x12kssqa77l43cr3sm9976zpya8i8")) (base32 "02abwy59v9hfdl2ya4h6l2hc1xrnvqlxzg9vlk87wmi92azpa8v9"))
(file-name (git-file-name "cl-ironclad" version)))) (file-name (git-file-name "cl-ironclad" version))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(native-inputs (native-inputs
@ -25673,10 +25673,10 @@ change since last write.
(package-inputs sbcl-nfiles))))) (package-inputs sbcl-nfiles)))))
(define-public sbcl-nasdf (define-public sbcl-nasdf
(let ((commit "5d823d97282e11cecd8da9bcb255c4a8ead1ba93")) (let ((commit "73c89680ace25929c2a1ccc0809db99e9edffa07"))
(package (package
(name "sbcl-nasdf") (name "sbcl-nasdf")
(version "0.1.5") (version "0.1.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -25686,7 +25686,7 @@ change since last write.
(file-name (git-file-name "cl-ntemplate" version)) (file-name (git-file-name "cl-ntemplate" version))
(sha256 (sha256
(base32 (base32
"0vs40ndfyhpx3nj9fc505apk98qgp0pq3cdmqpf67jqkrpcdmnvx")))) "193wwcp84pyyv33pkkm41s7ca2limpcqqi41hxd1pm5il5r9q9h7"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -1995,6 +1995,39 @@ optimization over awkward search spaces, which may include real-valued,
discrete, and conditional dimensions.") discrete, and conditional dimensions.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-deepxde
(package
(name "python-deepxde")
(version "1.9.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "DeepXDE" version))
(sha256
(base32
"07bz3d7d698l0fhznw5l8p16b22d4ly7xq99vrgv48c722qr2r5b"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f ; there are no tests
#:phases #~(modify-phases %standard-phases
(add-before 'sanity-check 'writable-home
;; sanity-check writes ~/.deepxde/config.json to set
;; the default backend.
(lambda _
(setenv "HOME" "/tmp"))))))
;; DeepXDE supported backends are TensorFlow (v1 and v2), PyTorch, JAX and
;; PaddlePaddle. We test with PyTorch because we have it up to date.
(native-inputs (list python-pytorch python-setuptools-scm))
(propagated-inputs (list python-matplotlib python-numpy
python-scikit-learn python-scikit-optimize
python-scipy))
(home-page "https://deepxde.readthedocs.io/en/latest/")
(synopsis "Library for scientific machine learning")
(description "DeepXDE is a library for scientific machine learning and
physics-informed learning. It includes implementations for the PINN
(physics-informed neural networks), DeepONet (deep operator network) and
MFNN (multifidelity neural network) algorithms.")
(license license:lgpl2.1+)))
;; There have been no proper releases yet. ;; There have been no proper releases yet.
(define-public kaldi (define-public kaldi
(let ((commit "be22248e3a166d9ec52c78dac945f471e7c3a8aa") (let ((commit "be22248e3a166d9ec52c78dac945f471e7c3a8aa")

View file

@ -2780,6 +2780,7 @@ DKIM and/or DomainKeys.")
(wrap.pl (list "/bin/dkimproxy.in" (wrap.pl (list "/bin/dkimproxy.in"
"/bin/dkimproxy.out") "/bin/dkimproxy.out")
(list "perl-crypt-openssl-rsa" (list "perl-crypt-openssl-rsa"
"perl-cryptx"
"perl-io-socket-inet6" "perl-io-socket-inet6"
"perl-mailtools" "perl-mailtools"
"perl-mail-authenticationresults" "perl-mail-authenticationresults"
@ -2789,6 +2790,7 @@ DKIM and/or DomainKeys.")
"perl-socket6")) "perl-socket6"))
(wrap.pl (list "/bin/dkim_responder.pl") (wrap.pl (list "/bin/dkim_responder.pl")
(list "perl-crypt-openssl-rsa" (list "perl-crypt-openssl-rsa"
"perl-cryptx"
"perl-mail-dkim" "perl-mail-dkim"
"perl-mailtools" "perl-mailtools"
"perl-mime-tools" "perl-mime-tools"
@ -2797,6 +2799,7 @@ DKIM and/or DomainKeys.")
(inputs (inputs
(list perl (list perl
perl-crypt-openssl-rsa perl-crypt-openssl-rsa
perl-cryptx
perl-io-socket-inet6 perl-io-socket-inet6
perl-mailtools perl-mailtools
perl-mail-authenticationresults perl-mail-authenticationresults
@ -4034,13 +4037,13 @@ servers. The 4rev1 and 4 versions of IMAP are supported.")
(define-public urlscan (define-public urlscan
(package (package
(name "urlscan") (name "urlscan")
(version "1.0.0") (version "1.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "urlscan" version)) (uri (pypi-uri "urlscan" version))
(sha256 (sha256
(base32 "0rxqdrss34rgnfmbn8ab976dchjbz72wp4ywqrdib119a5xnhqzh")))) (base32 "0zrh2c8p70fq9y7afmpbsirz22nq2qhnks5c5zfmgnm2b9p9iv70"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:tests? #f)) ; No tests. (list #:tests? #f)) ; No tests.

View file

@ -47,13 +47,13 @@
(define-public toot (define-public toot
(package (package
(name "toot") (name "toot")
(version "0.37.0") (version "0.38.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "toot" version)) (uri (pypi-uri "toot" version))
(sha256 (sha256
(base32 "0qx8hyb74r85dxf97k23w0f5rzkrs16mq7h3y37nwp6hl6gia0ci")))) (base32 "1cn646jzys9vjaw20sxmgzc7zq5a5ma8vabvrw9zpa0yl9wm97my"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -66,7 +66,10 @@
(native-inputs (native-inputs
(list python-psycopg2 python-pytest)) (list python-psycopg2 python-pytest))
(inputs (inputs
(list python-beautifulsoup4 python-requests python-urwid (list python-beautifulsoup4
python-tomlkit
python-requests
python-urwid
python-wcwidth)) python-wcwidth))
(home-page "https://github.com/ihabunek/toot/") (home-page "https://github.com/ihabunek/toot/")
(synopsis "Mastodon CLI client") (synopsis "Mastodon CLI client")

View file

@ -60,6 +60,7 @@
;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com> ;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com> ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -262,6 +263,39 @@ interactive dialogs to guide them.")
(license license:gpl3+) (license license:gpl3+)
(home-page "https://www.gnu.org/software/c-graph/"))) (home-page "https://www.gnu.org/software/c-graph/")))
(define-public calc
(package
(name "calc")
(version "2.14.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://www.isthe.com/chongo/src/calc/calc-"
version ".tar.bz2"))
(sha256
(base32
"0kg7cqhq70dlj7k8mrl0dbps1yvflfhri7c1gvm9nh4g2adlkxkf"))))
(build-system gnu-build-system)
(inputs (list readline))
(native-inputs (list util-linux)) ; for col
(arguments
(list #:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'patch-makefile
(lambda _
(substitute* "Makefile"
(("^PREFIX= /usr/local")
(string-append "PREFIX=" #$output))
(("=\\s?/usr")
"= ${PREFIX}")))))))
(synopsis "Arbitrary precision console calculator")
(description
"Calc is an arbitrary precision arithmetic system that uses a C-like
language. It can be used as a calculator, an algorithm prototyper and as
a mathematical research tool, and it comes with built in mathematical and
programmatic functions.")
(home-page "http://www.isthe.com/chongo/tech/comp/calc/")
(license license:lgpl2.1)))
(define-public coda (define-public coda
(package (package
(name "coda") (name "coda")

View file

@ -3943,7 +3943,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(define-public iwd (define-public iwd
(package (package
(name "iwd") (name "iwd")
(version "2.3") (version "2.7")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3952,7 +3952,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hp38rh6vpfxkx2f036719b0v9g9yj169l8fd9l9lncqpjbz73y4")))) "0xn0db37x0nrvwlw0r4w6q3yk57ijqh9zxd15wf3qqvs01hqkk2j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list dbus ell (package-source ell) readline)) (list dbus ell (package-source ell) readline))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2019, 2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013-2019, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016-2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@ -155,13 +155,18 @@ in the Mozilla clients.")
(ice-9 match) (ice-9 match)
(srfi srfi-26)) (srfi srfi-26))
#:tests? (not (or (%current-target-system) #:tests? (not (or (%current-target-system)
;; Tests take more than 30 hours on riscv64-linux. ;; Tests take more than 30 hours on some architectures.
(target-riscv64?))) (target-riscv64?)
(target-ppc32?)))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda _ (lambda _
(setenv "CC" #$(cc-for-target)) (setenv "CC" #$(cc-for-target))
;; No VSX on powerpc-linux.
#$@(if (target-ppc32?)
#~((setenv "NSS_DISABLE_CRYPTO_VSX" "1"))
#~())
;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system.
#$@(if (target-64bit?) #$@(if (target-64bit?)
#~((setenv "USE_64" "1")) #~((setenv "USE_64" "1"))

View file

@ -1408,8 +1408,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator (define-public guix-build-coordinator
(let ((commit "c44d485bba42034804beb47afc23005c4e73ea96") (let ((commit "f39f16000469429745bd8aff3cd4d59b7c489fa1")
(revision "85")) (revision "86"))
(package (package
(name "guix-build-coordinator") (name "guix-build-coordinator")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -1420,75 +1420,74 @@ environments.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1y69yrmmifdp55l5c5b8iiq0llwpggxmq6a4233cdll3bhfxaicl")) "1lmbwbza87xzbvmzw44sgpscmqjfl5kpgfl79n7hzwa1icqqb7mg"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules (((guix build guile-build-system) (list
#:modules `(((guix build guile-build-system)
#:select (target-guile-effective-version)) #:select (target-guile-effective-version))
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:imported-modules ((guix build guile-build-system) #:imported-modules `((guix build guile-build-system)
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'build 'set-GUILE_AUTO_COMPILE (add-before 'build 'set-GUILE_AUTO_COMPILE
(lambda _ (lambda _
;; To avoid warnings relating to 'guild'. ;; To avoid warnings relating to 'guild'.
(setenv "GUILE_AUTO_COMPILE" "0") (setenv "GUILE_AUTO_COMPILE" "0")))
#t)) (add-after 'install 'wrap-executable
(add-after 'install 'wrap-executable (lambda* (#:key inputs outputs target #:allow-other-keys)
(lambda* (#:key inputs outputs target #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))
(let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin"))
(bin (string-append out "/bin")) (guile (assoc-ref inputs "guile"))
(guile (assoc-ref inputs "guile")) (version (target-guile-effective-version))
(version (target-guile-effective-version)) (scm (string-append out "/share/guile/site/" version))
(scm (string-append out "/share/guile/site/" version)) (go (string-append out "/lib/guile/" version "/site-ccache")))
(go (string-append out "/lib/guile/" version "/site-ccache"))) (for-each
(for-each (lambda (file)
(lambda (file) (simple-format (current-error-port) "wrapping: ~A\n" file)
(simple-format (current-error-port) "wrapping: ~A\n" file) (let ((guile-inputs (list
(let ((guile-inputs (list "guile-json"
"guile-json" "guile-gcrypt"
"guile-gcrypt" "guix"
"guix" "guile-prometheus"
"guile-prometheus" "guile-lib"
"guile-lib" "guile-lzlib"
"guile-lzlib" "guile-zlib"
"guile-zlib" "guile-sqlite3"
"guile-sqlite3" "guile-gnutls"
"guile-gnutls" #$@(if (target-hurd?)
,@(if (target-hurd?) '()
'() '("guile-fibers")))))
'("guile-fibers"))))) (wrap-program file
(wrap-program file `("PATH" ":" prefix
`("PATH" ":" prefix (,bin
(,bin ;; Support building without sqitch as an input, as it
;; Support building without sqitch as an input, as it ;; can't be cross-compiled yet
;; can't be cross-compiled yet ,@(or (and=> (assoc-ref inputs "sqitch")
,@(or (and=> (assoc-ref inputs "sqitch") list)
list) '())))
'()))) `("GUILE_LOAD_PATH" ":" prefix
`("GUILE_LOAD_PATH" ":" prefix (,scm ,(string-join
(,scm ,(string-join (map (lambda (input)
(simple-format
#f "~A/share/guile/site/~A"
(assoc-ref inputs input)
version))
guile-inputs)
":")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,go ,(string-join
(map (lambda (input) (map (lambda (input)
(simple-format (simple-format
#f "~A/share/guile/site/~A" #f "~A/lib/guile/~A/site-ccache"
(assoc-ref inputs input) (assoc-ref inputs input)
version)) version))
guile-inputs) guile-inputs)
":"))) ":"))))))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (find-files bin)))))
(,go ,(string-join (delete 'strip)))) ; As the .go files aren't compatible
(map (lambda (input)
(simple-format
#f "~A/lib/guile/~A/site-ccache"
(assoc-ref inputs input)
version))
guile-inputs)
":"))))))
(find-files bin)))
#t))
(delete 'strip)))) ; As the .go files aren't compatible
(native-inputs (native-inputs
(list pkg-config (list pkg-config
autoconf autoconf
@ -1653,8 +1652,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public nar-herder (define-public nar-herder
(let ((commit "b27ca4dc0efbb0d9c397fc39347af9b8e8734ab9") (let ((commit "53682fac7e00cd2801406edbd014922c1720c347")
(revision "20")) (revision "21"))
(package (package
(name "nar-herder") (name "nar-herder")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -1665,64 +1664,64 @@ in an isolated environment, in separate namespaces.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"075acihpxvw4rkmbn7wiswqixv2afla8d8x7mgxqc26hba090404")) "18mzrpc5ni8d6xbp1bg0nzdj0brmnji4jm1gyiq77dm17c118zyz"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules (((guix build guile-build-system) (list
#:modules `(((guix build guile-build-system)
#:select (target-guile-effective-version)) #:select (target-guile-effective-version))
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:imported-modules ((guix build guile-build-system) #:imported-modules `((guix build guile-build-system)
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'build 'set-GUILE_AUTO_COMPILE (add-before 'build 'set-GUILE_AUTO_COMPILE
(lambda _ (lambda _
;; To avoid warnings relating to 'guild'. ;; To avoid warnings relating to 'guild'.
(setenv "GUILE_AUTO_COMPILE" "0"))) (setenv "GUILE_AUTO_COMPILE" "0")))
(add-after 'install 'wrap-executable (add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs target #:allow-other-keys) (lambda* (#:key inputs outputs target #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(guile (assoc-ref inputs "guile")) (guile (assoc-ref inputs "guile"))
(version (target-guile-effective-version)) (version (target-guile-effective-version))
(scm (string-append out "/share/guile/site/" version)) (scm (string-append out "/share/guile/site/" version))
(go (string-append out "/lib/guile/" version "/site-ccache"))) (go (string-append out "/lib/guile/" version "/site-ccache")))
(for-each (for-each
(lambda (file) (lambda (file)
(simple-format (current-error-port) "wrapping: ~A\n" file) (simple-format (current-error-port) "wrapping: ~A\n" file)
(let ((guile-inputs (list (let ((guile-inputs (list
"guile-json" "guile-json"
"guile-gcrypt" "guile-gcrypt"
"guix" "guix"
"guile-lib" "guile-lib"
"guile-lzlib" "guile-lzlib"
"guile-zstd" "guile-zstd"
"guile-prometheus" "guile-prometheus"
"guile-sqlite3" "guile-sqlite3"
"guile-gnutls" "guile-gnutls"
"guile-fibers"))) "guile-fibers")))
(wrap-program file (wrap-program file
`("GUILE_LOAD_PATH" ":" prefix `("GUILE_LOAD_PATH" ":" prefix
(,scm ,(string-join (,scm ,(string-join
(map (lambda (input)
(string-append
(assoc-ref inputs input)
"/share/guile/site/"
version))
guile-inputs)
":")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,go ,(string-join
(map (lambda (input) (map (lambda (input)
(string-append (string-append
(assoc-ref inputs input) (assoc-ref inputs input)
"/share/guile/site/" "/lib/guile/" version "/site-ccache"))
version))
guile-inputs) guile-inputs)
":"))) ":"))))))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (find-files bin)))))
(,go ,(string-join (delete 'strip)))) ; As the .go files aren't compatible
(map (lambda (input)
(string-append
(assoc-ref inputs input)
"/lib/guile/" version "/site-ccache"))
guile-inputs)
":"))))))
(find-files bin)))
#t))
(delete 'strip)))) ; As the .go files aren't compatible
(native-inputs (native-inputs
(list pkg-config (list pkg-config
autoconf autoconf
@ -1864,7 +1863,7 @@ for packaging and deployment of cross-compiled Windows applications.")
docbook-xml docbook-xml
docbook-xsl docbook-xsl
e2fsprogs e2fsprogs
fuse fuse-2
glib glib
gpgme gpgme
libarchive libarchive
@ -1965,7 +1964,7 @@ cp -r /tmp/locale/*/en_US.*")))
bubblewrap bubblewrap
curl curl
dconf dconf
fuse fuse-2
gdk-pixbuf gdk-pixbuf
gpgme gpgme
json-glib json-glib

View file

@ -0,0 +1,23 @@
From d27d1cd3a79959ff1eb8439b06e108149f21141f Mon Sep 17 00:00:00 2001
From: Joseph Lansdowne <j49137@gmail.com>
Date: Sun, 31 Mar 2019 19:26:10 +0100
Subject: [PATCH] fix error on closing written file
---
ChangeLog | 1 +
ftpfs.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/ftpfs.c b/ftpfs.c
index 0346354..34f8c38 100644
--- a/ftpfs.c
+++ b/ftpfs.c
@@ -503,7 +503,7 @@ static void *ftpfs_write_thread(void *data) {
curl_easy_setopt_or_die(fh->write_conn, CURLOPT_URL, fh->full_path);
curl_easy_setopt_or_die(fh->write_conn, CURLOPT_UPLOAD, 1);
- curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1L);
curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READFUNCTION, write_data_bg);
curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READDATA, fh);
curl_easy_setopt_or_die(fh->write_conn, CURLOPT_LOW_SPEED_LIMIT, 1);

View file

@ -0,0 +1,76 @@
From bc3fb45db30741a60d4e8904cbd4d6118fb85741 Mon Sep 17 00:00:00 2001
From: Joseph Lansdowne <j49137@gmail.com>
Date: Sun, 31 Mar 2019 19:25:26 +0100
Subject: [PATCH] fix filenames with url-reserved characters
---
ChangeLog | 2 +-
path_utils.c | 28 +++++++++++++++++-----------
2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/path_utils.c b/path_utils.c
index db3d7e4..4f747bb 100644
--- a/path_utils.c
+++ b/path_utils.c
@@ -39,9 +39,11 @@ char* get_full_path(const char* path) {
path = converted_path;
}
- ret = g_strdup_printf("%s%s", ftpfs.host, path);
+ const char *const escaped_path = g_uri_escape_string(path, "/", FALSE);
+ ret = g_strdup_printf("%s%s", ftpfs.host, escaped_path);
free(converted_path);
+ free((char *) escaped_path);
return ret;
}
@@ -58,9 +60,12 @@ char* get_fulldir_path(const char* path) {
path = converted_path;
}
- ret = g_strdup_printf("%s%s%s", ftpfs.host, path, strlen(path) ? "/" : "");
+ const char *const escaped_path = g_uri_escape_string(path, "/", FALSE);
+ ret = g_strdup_printf(
+ "%s%s%s", ftpfs.host, escaped_path, strlen(escaped_path) ? "/" : "");
free(converted_path);
+ free((char *) escaped_path);
return ret;
}
@@ -71,24 +76,25 @@ char* get_dir_path(const char* path) {
const char *lastdir;
++path;
-
- lastdir = strrchr(path, '/');
- if (lastdir == NULL) lastdir = path;
- if (ftpfs.codepage && (lastdir - path > 0)) {
- converted_path = g_strndup(path, lastdir - path);
+ if (ftpfs.codepage) {
+ converted_path = g_strdup(path);
convert_charsets(ftpfs.iocharset, ftpfs.codepage, &converted_path);
path = converted_path;
- lastdir = path + strlen(path);
}
+ const char *const escaped_path = g_uri_escape_string(path, "/", FALSE);
+ lastdir = strrchr(escaped_path, '/');
+ if (lastdir == NULL) lastdir = escaped_path;
+
ret = g_strdup_printf("%s%.*s%s",
ftpfs.host,
- lastdir - path,
- path,
- lastdir - path ? "/" : "");
+ lastdir - escaped_path,
+ escaped_path,
+ lastdir - escaped_path ? "/" : "");
free(converted_path);
+ free((char *) escaped_path);
return ret;
}

View file

@ -0,0 +1,23 @@
From 2d01202eee44d8bad5bb982e72829b4a98d58bcd Mon Sep 17 00:00:00 2001
From: Joseph Lansdowne <j49137@gmail.com>
Date: Thu, 4 Apr 2019 20:37:06 +0100
Subject: [PATCH] fix memory leak
---
ChangeLog | 1 +
ftpfs.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/ftpfs.c b/ftpfs.c
index 34f8c38..020e559 100644
--- a/ftpfs.c
+++ b/ftpfs.c
@@ -607,6 +607,8 @@ static int finish_write_thread(struct ftpfs_file *fh)
static void free_ftpfs_file(struct ftpfs_file *fh) {
+ buf_free(&fh->buf);
+ buf_free(&fh->stream_buf);
if (fh->write_conn)
curl_easy_cleanup(fh->write_conn);
g_free(fh->full_path);

View file

@ -0,0 +1,27 @@
From b2ae7a152921bf36a39f01de43769ee90cbbd253 Mon Sep 17 00:00:00 2001
From: Joseph Lansdowne <j49137@gmail.com>
Date: Tue, 9 Apr 2019 21:08:32 +0100
Subject: [PATCH] fix option `no_verify_hostname`
Broke with a curl upgrade at some point. 1 is no longer a valid option
- not sure exactly what it used to do.
---
ChangeLog | 3 +++
ftpfs.c | 4 +---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/ftpfs.c b/ftpfs.c
index 020e559..207d5fd 100644
--- a/ftpfs.c
+++ b/ftpfs.c
@@ -1627,9 +1627,7 @@ static void set_common_curl_stuff(CURL* easy) {
}
if (ftpfs.no_verify_hostname) {
- /* The default is 2 which verifies even the host string. This sets to 1
- * which means verify the host but not the string. */
- curl_easy_setopt_or_die(easy, CURLOPT_SSL_VERIFYHOST, 1);
+ curl_easy_setopt_or_die(easy, CURLOPT_SSL_VERIFYHOST, 0);
}
curl_easy_setopt_or_die(easy, CURLOPT_INTERFACE, ftpfs.interface);

View file

@ -1,36 +0,0 @@
Fix static linking of 'lvm.static', which indirectly depend on libpthread
and libm via libdevmapper.a.
--- LVM2.2.02.166/tools/Makefile.in 2016-11-22 21:31:15.521045149 +0100
+++ LVM2.2.02.166/tools/Makefile.in 2016-11-22 21:31:24.085082767 +0100
@@ -137,7 +137,7 @@
lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
@echo " [CC] $@"
$(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
- $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS)
+ $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS) $(PTHREAD_LIBS)
liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
@echo " [AR] $@"
--- a/make.tmpl.in 2018-07-31 22:00:39.969983104 +0200
+++ b/make.tmpl.in 2018-07-31 22:00:58.467613682 +0200
@@ -63,7 +63,7 @@
LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(RT_LIBS) $(M_LIBS)
# Extra libraries always linked with static binaries
-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
+STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(M_LIBS)
DEFS += @DEFS@
# FIXME set this only where it's needed, not globally?
CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
--- a/libdm/make.tmpl.in 2018-12-18 15:22:34.000000000 +0100
+++ b/libdm/make.tmpl.in 2019-01-29 21:45:33.637345799 +0100
@@ -57,7 +57,7 @@
LIBS = @LIBS@
LIBS += $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(RT_LIBS) -lm
# Extra libraries always linked with static binaries
-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
+STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(PTHREAD_LIBS) $(M_LIBS)
DEFS += @DEFS@
# FIXME set this only where it's needed, not globally?
CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@

View file

@ -0,0 +1,290 @@
From 5a83e8ef8250526a40e8e69c6398f990ab482b2f Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Fri, 2 Jun 2023 14:42:51 +0200
Subject: [PATCH 1/5] cogl/gl-framebuffer: Fix spurious trailing spaces
Purely cosmetic fix, no functional change.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
---
cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 12 ++++++------
cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
index d6609bb2074..8d76f1578bf 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
@@ -72,32 +72,32 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
GLenum attachment, pname;
size_t offset;
} params[] = {
- {
+ {
.attachment = GL_BACK_LEFT,
.pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
.offset = offsetof (CoglFramebufferBits, red),
},
- {
+ {
.attachment = GL_BACK_LEFT,
.pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
.offset = offsetof (CoglFramebufferBits, green),
},
- {
+ {
.attachment = GL_BACK_LEFT,
.pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
.offset = offsetof (CoglFramebufferBits, blue),
},
- {
+ {
.attachment = GL_BACK_LEFT,
.pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
.offset = offsetof (CoglFramebufferBits, alpha),
},
- {
+ {
.attachment = GL_DEPTH,
.pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
.offset = offsetof (CoglFramebufferBits, depth),
},
- {
+ {
.attachment = GL_STENCIL,
.pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
.offset = offsetof (CoglFramebufferBits, stencil),
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
index c8db6a23a29..1ffc1d53509 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
@@ -82,32 +82,32 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
GLenum attachment, pname;
size_t offset;
} params[] = {
- {
+ {
.attachment = GL_COLOR_ATTACHMENT0,
.pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
.offset = offsetof (CoglFramebufferBits, red),
},
- {
+ {
.attachment = GL_COLOR_ATTACHMENT0,
.pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
.offset = offsetof (CoglFramebufferBits, green),
},
- {
+ {
.attachment = GL_COLOR_ATTACHMENT0,
.pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
.offset = offsetof (CoglFramebufferBits, blue),
},
- {
+ {
.attachment = GL_COLOR_ATTACHMENT0,
.pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
.offset = offsetof (CoglFramebufferBits, alpha),
},
- {
+ {
.attachment = GL_DEPTH_ATTACHMENT,
.pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
.offset = offsetof (CoglFramebufferBits, depth),
},
- {
+ {
.attachment = GL_STENCIL_ATTACHMENT,
.pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
.offset = offsetof (CoglFramebufferBits, stencil),
--
GitLab
From a2203df9f43b9e501a972d23b3d5584005c03ce6 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Fri, 2 Jun 2023 11:54:58 +0200
Subject: [PATCH 2/5] cogl/gl-framebuffer: Fix inverted test in
ensure_bits_initialized()
Cogl's feature COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS is required
to use the GL_FRAMEBUFFER_ATTACHMENT_* queries.
Unfortunately, the test for the availability of the private feature is
actually inverted in ensure_bits_initialized() which causes that whole
portion of code to be ignored, falling back to the glGetIntegerv()
method which isn't supported in core profiles.
As Mesa has recently started to be more strict about these, this causes
the CI tests to fail in mutter.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
---
cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
index 1ffc1d53509..75a8b0c1fe2 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
@@ -76,7 +76,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
COGL_FRAMEBUFFER_STATE_BIND);
#ifdef HAVE_COGL_GL
- if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
{
const struct {
GLenum attachment, pname;
--
GitLab
From fad240f437d6b11f664c9c09aecabe5f5e703eca Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Mon, 5 Jun 2023 10:31:38 +0200
Subject: [PATCH 3/5] cogl/gl-framebuffer: Match testing features
The function ensure_bits_initialized() in cogl-gl-framebuffer-fbo.c
checks for COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS whereas the same
in cogl-gl-framebuffer-back.c simply checks for the driver being
COGL_DRIVER_GL3.
Change the later to use the COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS
flag as well.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
---
cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
index 8d76f1578bf..f6a17e8f070 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
@@ -66,7 +66,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
COGL_FRAMEBUFFER_STATE_BIND);
#ifdef HAVE_COGL_GL
- if (ctx->driver == COGL_DRIVER_GL3)
+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
{
const struct {
GLenum attachment, pname;
--
GitLab
From c3af4c1b1571b05f67d48b90d9ea7313f3ca6003 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Fri, 2 Jun 2023 14:27:29 +0200
Subject: [PATCH 4/5] cogl/gl-framebuffer: Fail without QUERY_FRAMEBUFFER_BITS
glGetIntegerv() with GL_RED_BITS/GL_GREEN_BITS/GL_BLUE_BITS/etc. is not
supported with the GL core context, so there is no point in falling back
to that without supporting COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS,
as this will cause an GL error.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
---
cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 7 +------
cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 7 +------
2 files changed, 2 insertions(+), 12 deletions(-)
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
index f6a17e8f070..0ccd2324077 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
@@ -119,12 +119,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
else
#endif /* HAVE_COGL_GL */
{
- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red));
- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green));
- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue));
- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha));
- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth));
- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil));
+ return FALSE;
}
COGL_NOTE (FRAMEBUFFER,
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
index 75a8b0c1fe2..524196207f5 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
@@ -129,12 +129,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
else
#endif /* HAVE_COGL_GL */
{
- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red));
- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green));
- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue));
- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha));
- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth));
- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil));
+ return FALSE;
}
if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) &&
--
GitLab
From d65883e0d7d70987e3888b86222b109c35f5a7a2 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Mon, 5 Jun 2023 10:38:41 +0200
Subject: [PATCH 5/5] cogl/gl-framebuffer: Remove conditional on HAVE_COGL_GL
By testing the features flag, we can get rid of the conditional build
on HAVE_COGL_GL entirely.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
---
cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 --
cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 --
2 files changed, 4 deletions(-)
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
index 0ccd2324077..94154d48efb 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
@@ -65,7 +65,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
framebuffer,
COGL_FRAMEBUFFER_STATE_BIND);
-#ifdef HAVE_COGL_GL
if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
{
const struct {
@@ -117,7 +116,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
}
}
else
-#endif /* HAVE_COGL_GL */
{
return FALSE;
}
diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
index 524196207f5..3ea133d3143 100644
--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
@@ -75,7 +75,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
framebuffer,
COGL_FRAMEBUFFER_STATE_BIND);
-#ifdef HAVE_COGL_GL
if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
{
const struct {
@@ -127,7 +126,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
}
}
else
-#endif /* HAVE_COGL_GL */
{
return FALSE;
}
--
GitLab

View file

@ -455,7 +455,7 @@ Poppler PDF rendering library.")
(define-public libharu (define-public libharu
(package (package
(name "libharu") (name "libharu")
(version "2.4.2") (version "2.4.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -464,7 +464,7 @@ Poppler PDF rendering library.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1jwzqvv81zf5f7zssyixhyjirlp9ddwkbaabd177syb1bxljlsdc")))) (base32 "00b89zqf0bxslx03ginzqdjg84zfmblq13p5f4xm0h05j7aq7ixz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:tests? #f ; No tests (list #:tests? #f ; No tests

View file

@ -459,7 +459,7 @@ photographic equipment.")
(define-public darktable (define-public darktable
(package (package
(name "darktable") (name "darktable")
(version "4.4.1") (version "4.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -467,7 +467,7 @@ photographic equipment.")
"https://github.com/darktable-org/darktable/releases/" "https://github.com/darktable-org/darktable/releases/"
"download/release-" version "/darktable-" version ".tar.xz")) "download/release-" version "/darktable-" version ".tar.xz"))
(sha256 (sha256
(base32 "038gdri1mcmq9mlaikq5x9xyrs20b99jpcchfspngnwa5s6x6hz0")))) (base32 "167sdj8m3srj9h5hh9cf2kvfpp349sygkcdrfbjrqbnz9x1jh7f1"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list

View file

@ -210,6 +210,33 @@ routines such as routines for numerical integration and optimization.")
genetic variation data.") genetic variation data.")
(license license:expat))) (license license:expat)))
(define-public python-scikit-fem
(package
(name "python-scikit-fem")
(version "8.1.0")
(source (origin
(method git-fetch) ; no tests in PyPI
(uri (git-reference
(url "https://github.com/kinnala/scikit-fem")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1zpn0wpsvls5nkrav5a43z77yg9nc09dpyy9ri0dpmpm2ndh2mhs"))))
(build-system pyproject-build-system)
(arguments
;; Examples below require python-autograd and python-pyamg.
(list #:test-flags #~(list "-k" "not TestEx32 and not TestEx45")))
(propagated-inputs (list python-meshio python-numpy python-scipy))
(native-inputs (list python-pytest))
(home-page "https://scikit-fem.readthedocs.io/en/latest/")
(synopsis "Library for performing finite element assembly")
(description
"@code{scikit-fem} is a library for performing finite element assembly.
Its main purpose is the transformation of bilinear forms into sparse matrices
and linear forms into vectors.")
(license license:bsd-3)))
(define-public python-scikit-fuzzy (define-public python-scikit-fuzzy
(package (package
(name "python-scikit-fuzzy") (name "python-scikit-fuzzy")

View file

@ -1832,6 +1832,36 @@ is Pythons.")
service.") service.")
(license license:expat))) (license license:expat)))
(define-public python-openai
(package
(name "python-openai")
(version "0.27.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "openai" version))
(sha256
(base32
"0dlmxnib71fih9xzmd3v41alwv4qb8qrxixsrrsf5vmigmf0k0r4"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; These require internet access and an openai API key.
'(list "--ignore=openai/tests/asyncio/test_endpoints.py"
"--ignore=openai/tests/test_endpoints.py"
"-k" "not test_requestor_cycle_sessions\
and not test_requestor_sets_request_id\
and not test_file_cli")))
(propagated-inputs (list python-aiohttp python-requests python-tqdm
python-typing-extensions))
(native-inputs (list python-black python-pytest python-pytest-asyncio
python-pytest-mock))
(home-page "https://github.com/openai/openai-python")
(synopsis "Python client library for the OpenAI API")
(description "This package provides a Python client library for the
OpenAI API.")
(license license:expat)))
(define-public python-openapi-schema-validator (define-public python-openapi-schema-validator
(package (package
(name "python-openapi-schema-validator") (name "python-openapi-schema-validator")
@ -2228,7 +2258,7 @@ RFC6455, regardless of your programming paradigm.")
(define-public hypercorn (define-public hypercorn
(package (package
(name "hypercorn") (name "hypercorn")
(version "0.14.3") (version "0.14.4")
(source (origin (source (origin
(method git-fetch) ;PyPI does not have tests (method git-fetch) ;PyPI does not have tests
(uri (git-reference (uri (git-reference
@ -2237,7 +2267,7 @@ RFC6455, regardless of your programming paradigm.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hkph0sdr94hxmrq1grnh842snm561sw4az5q6a3ba9hqnrl890h")))) "0zyf5b8959sd12ycmqzvsb8746i3gn76rz55gxvix5cwj672m7yx"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
;; Propagate because Hypercorn also exposes functionality over a module. ;; Propagate because Hypercorn also exposes functionality over a module.
(propagated-inputs (propagated-inputs
@ -8539,6 +8569,35 @@ starlette.")
(modify-inputs (package-propagated-inputs python-fastapi) (modify-inputs (package-propagated-inputs python-fastapi)
(replace "python-starlette" python-starlette-for-fastapi-0.88))))) (replace "python-starlette" python-starlette-for-fastapi-0.88)))))
(define-public python-fastapi-csrf-protect
(package
(name "python-fastapi-csrf-protect")
(version "0.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aekasitt/fastapi-csrf-protect")
;; This commit corresponds to version 0.3.1
(commit "536acd651d0d3f9862a0b753ba64dd2d187f8655")))
(file-name (git-file-name name version))
(sha256
(base32
"1zlwa0fplmcihylyvakskwkbkl2cq291fmys5x6wrpfdbjrqbgbj"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-fastapi python-itsdangerous
python-pydantic))
(native-inputs
(list python-poetry-core
python-pytest))
(home-page "https://github.com/aekasitt/fastapi-csrf-protect")
(synopsis "Cross-Site Request Forgery (XSRF) protection")
(description
"This package provides a stateless implementation of @dfn{Cross-Site
Request Forgery} (XSRF) Protection by using the Double Submit Cookie mitigation
pattern.")
(license license:expat)))
(define-public python-pyactiveresource (define-public python-pyactiveresource
(package (package
(name "python-pyactiveresource") (name "python-pyactiveresource")

View file

@ -13297,16 +13297,16 @@ third-party code.")
(define-public python-llfuse (define-public python-llfuse
(package (package
(name "python-llfuse") (name "python-llfuse")
(version "1.4.1") (version "1.4.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "llfuse" version)) (uri (pypi-uri "llfuse" version))
(sha256 (sha256
(base32 (base32
"1jaf790rsxvz3hs9fbr3hrnmg0xzl6a2bqfa10bbbsjsdbcpk762")))) "1jb4c9avvb0v3830xlbj1r9kj05i98vv6nq05105ppg57y7lq14j"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
(list fuse attr)) (list fuse-2 attr))
(native-inputs (native-inputs
(list pkg-config python-pytest)) (list pkg-config python-pytest))
(synopsis "Python bindings for FUSE") (synopsis "Python bindings for FUSE")
@ -24387,10 +24387,9 @@ commit, but it also includes some other useful statistics.")
(let ((fuse (assoc-ref inputs "fuse"))) (let ((fuse (assoc-ref inputs "fuse")))
(substitute* "fuse.py" (substitute* "fuse.py"
(("find_library\\('fuse'\\)") (("find_library\\('fuse'\\)")
(string-append "'" fuse "/lib/libfuse.so'"))) (string-append "'" fuse "/lib/libfuse.so'")))))))))
#t))))))
(propagated-inputs (propagated-inputs
(list fuse)) (list fuse-2))
(home-page "https://github.com/fusepy/fusepy") (home-page "https://github.com/fusepy/fusepy")
(synopsis "Simple ctypes bindings for FUSE") (synopsis "Simple ctypes bindings for FUSE")
(description "Python module that provides a simple interface to FUSE and (description "Python module that provides a simple interface to FUSE and
@ -24417,10 +24416,9 @@ MacFUSE. The binding is created using the standard @code{ctypes} library.")
(let ((fuse (assoc-ref inputs "fuse"))) (let ((fuse (assoc-ref inputs "fuse")))
(substitute* "fusepyng.py" (substitute* "fusepyng.py"
(("os.environ.get\\('FUSE_LIBRARY_PATH'\\)") (("os.environ.get\\('FUSE_LIBRARY_PATH'\\)")
(string-append "\"" fuse "/lib/libfuse.so\"")))) (string-append "\"" fuse "/lib/libfuse.so\"")))))))))
#t)))))
(inputs (inputs
(list fuse)) (list fuse-2))
(propagated-inputs (propagated-inputs
(list python-paramiko)) (list python-paramiko))
(home-page "https://github.com/rianhunter/fusepyng") (home-page "https://github.com/rianhunter/fusepyng")
@ -31962,10 +31960,10 @@ Psycopg 2 is both Unicode and Python 3 friendly.")
(base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92")))) (base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(inputs (list fuse-3)) (inputs (list fuse))
(propagated-inputs (list python-pytest-trio)) (propagated-inputs (list python-pytest-trio))
(home-page "https://github.com/libfuse/pyfuse3") (home-page "https://github.com/libfuse/pyfuse3")
(synopsis "Python bindings FUSE 3") (synopsis "Python bindings to FUSE 3")
(description "This package provides Python 3 bindings for libfuse 3 with (description "This package provides Python 3 bindings for libfuse 3 with
async I/O support.") async I/O support.")
(license license:gpl2+))) (license license:gpl2+)))

View file

@ -4005,6 +4005,7 @@ color-related widgets.")
(substitute-keyword-arguments (package-arguments python-shiboken-2) (substitute-keyword-arguments (package-arguments python-shiboken-2)
((#:phases p) ((#:phases p)
#~(modify-phases #$p #~(modify-phases #$p
(delete 'workaround-importlib-error)
(replace 'use-shiboken-dir-only (replace 'use-shiboken-dir-only
(lambda _ (chdir "sources/shiboken6"))))) (lambda _ (chdir "sources/shiboken6")))))
((#:configure-flags flags) ((#:configure-flags flags)

View file

@ -1373,7 +1373,7 @@ for correctness.")
(define-public hackrf (define-public hackrf
(package (package
(name "hackrf") (name "hackrf")
(version "2022.09.1") (version "2023.01.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1382,7 +1382,7 @@ for correctness.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0m9j160q5zb3jimszv1lb6j76zf5lwijvpfl1k28d832rh847vvk")))) (base32 "0ybgppwy09j9rmfhh84072li698k64w84q5hjrayc73avc495x6f"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags

View file

@ -14,6 +14,7 @@
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2023 Alexey Abramov <levenson@mmer.org> ;;; Copyright © 2023 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 Vinicius Monego <monego@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -628,6 +629,11 @@ RPC system. Think JSON, except binary. Or think Protocol Buffers, except faste
(url "https://github.com/jcrist/msgspec") (url "https://github.com/jcrist/msgspec")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
;; Delete autogenerated file, regenerate in a phase.
'(begin
(delete-file "msgspec/atof_consts.h")))
(sha256 (sha256
(base32 (base32
"09q567klcv7ly60w9lqip2ffyhrij100ky9igh3p3vqwbml33zb3")))) "09q567klcv7ly60w9lqip2ffyhrij100ky9igh3p3vqwbml33zb3"))))
@ -645,7 +651,12 @@ RPC system. Think JSON, except binary. Or think Protocol Buffers, except faste
(invoke "versioneer" "install") (invoke "versioneer" "install")
(substitute* "setup.py" (substitute* "setup.py"
(("version=versioneer.get_version\\(),") (("version=versioneer.get_version\\(),")
(format #f "version=~s," #$version)))))))) (format #f "version=~s," #$version)))))
(add-after 'versioneer 'atof-consts
(lambda _
(with-directory-excursion "scripts"
;; Regenerate the autogenerated file.
(invoke "python" "generate_atof_consts.py")))))))
(native-inputs (list python-attrs (native-inputs (list python-attrs
python-gcovr python-gcovr
python-msgpack python-msgpack

View file

@ -16,6 +16,7 @@
;;; Copyright © 2021 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2021 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com> ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -482,7 +483,7 @@ are already there.")
(define-public direnv (define-public direnv
(package (package
(name "direnv") (name "direnv")
(version "2.32.2") (version "2.32.3")
(source (source
(origin (method git-fetch) (origin (method git-fetch)
(uri (git-reference (uri (git-reference
@ -491,7 +492,7 @@ are already there.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"17nn4qg1fj4i9rh1gdpbddn2nky71h9dkxyz5a4jsdq25bsx0ps2")))) "1hyl67n7na19zm3ksiiyva4228alx0jfh9l3v1mxszn9prwgcfjc"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/direnv/direnv" '(#:import-path "github.com/direnv/direnv"

View file

@ -386,16 +386,26 @@ share smart cards from client system to local or remote virtual machines.")
(define-public virt-viewer (define-public virt-viewer
(package (package
(name "virt-viewer") (name "virt-viewer")
;; XXX Remove the 'build-with-recent-meson phase when updating.
(version "11.0") (version "11.0")
(source (origin (source
(method url-fetch) (origin
(uri (string-append (method url-fetch)
"https://virt-manager.org/download/sources/virt-viewer/" (uri (string-append
"virt-viewer-" version ".tar.xz")) "https://virt-manager.org/download/sources/virt-viewer/"
(sha256 "virt-viewer-" version ".tar.xz"))
(base32 (sha256
"1l5bv6x6j21l487mk3n93ai121gg62n6b069r2jpf72cbhra4gx4")))) (base32 "1l5bv6x6j21l487mk3n93ai121gg62n6b069r2jpf72cbhra4gx4"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'build-with-recent-meson
;; Fix ERROR: Function does not take positional arguments.
(lambda _
(substitute* "data/meson.build"
(("i18n\\.merge_file \\(.*" match)
(string-append match "#"))))))))
(native-inputs (native-inputs
(list `(,glib "bin") (list `(,glib "bin")
gettext-minimal gettext-minimal

View file

@ -2129,7 +2129,7 @@ machine learning, computer vision, and high-dimensional statistics.")
(define-public python-arviz (define-public python-arviz
(package (package
(name "python-arviz") (name "python-arviz")
(version "0.15.1") (version "0.16.1")
(source (origin (source (origin
(method git-fetch) ; PyPI misses some test files (method git-fetch) ; PyPI misses some test files
(uri (git-reference (uri (git-reference
@ -2138,7 +2138,7 @@ machine learning, computer vision, and high-dimensional statistics.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0nqr4v927r9kc50z7rwlk2m8nw3dnnmmwmwcfijzd93gbg53wc4f")))) "19phaqbpls82300z7ghicrldjxyjq4ilmmwsmd9zkl8c7ld5cb4j"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
;; FIXME: matplotlib tests fail because of the "--save" test flag. ;; FIXME: matplotlib tests fail because of the "--save" test flag.
@ -2177,7 +2177,7 @@ comparison and diagnostics.")
(define-public python-pymc (define-public python-pymc
(package (package
(name "python-pymc") (name "python-pymc")
(version "5.5.0") (version "5.6.1")
(source (origin (source (origin
(method git-fetch) ; no tests in PyPI (method git-fetch) ; no tests in PyPI
(uri (git-reference (uri (git-reference
@ -2186,7 +2186,7 @@ comparison and diagnostics.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"077xigv3lfcn9fqc14rsnam4v95fmqk2wpzfrgj08vg8m7f69wdj")))) "0in5lw55camvgd6b4hiw4gr11bdy96jc74z1gvsd0xj7cfxvc043"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:tests? #f ; tests are too computationally intensive (list #:tests? #f ; tests are too computationally intensive

View file

@ -222,7 +222,7 @@
expat expat
fcgi fcgi
fmt-8 fmt-8
fuse fuse-2
icu4c icu4c
jemalloc jemalloc
keyutils keyutils

View file

@ -546,7 +546,7 @@ written in @command{scsh}. It makes use of @command{unison} and
acl acl
libselinux libselinux
eudev eudev
fuse fuse-2
openssl openssl
zlib)) zlib))
(synopsis "File synchronization and backup system") (synopsis "File synchronization and backup system")

View file

@ -1465,14 +1465,14 @@ highlighting for dozens of languages. Jed is very small and fast.")
(define-public xnedit (define-public xnedit
(package (package
(name "xnedit") (name "xnedit")
(version "1.4.1") (version "1.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/xnedit/" name "-" (uri (string-append "mirror://sourceforge/xnedit/" name "-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0fw3li7hr47hckm9pl1njx30lfr6cx2p094ir8zmgr91hyxidgld")))) "09wvhg7rywfj7njl2fkzdhgwlgxw358423yiv2ay3k5zhbysxfik"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -1697,7 +1697,7 @@ visualize your public Git repositories on a web interface.")
(define-public pre-commit (define-public pre-commit
(package (package
(name "pre-commit") ;formerly known as python-pre-commit (name "pre-commit") ;formerly known as python-pre-commit
(version "3.3.1") (version "3.3.3")
(source (source
(origin (origin
(method git-fetch) ; no tests in PyPI release (method git-fetch) ; no tests in PyPI release
@ -1706,7 +1706,7 @@ visualize your public Git repositories on a web interface.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1cssp1p8xmidiimcjfp799zlldbr6id8ar0sf5rs0dd44ns1j3yr")) (base32 "1spkg3ld3s6l7wz24lcywlf1z2ywp751bcdlxjfdsln76bi9ylp8"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(substitute* "setup.cfg" (snippet '(substitute* "setup.cfg"
(("virtualenv>=20.10.0") ;our virtualenv (20.3.1) is fine (("virtualenv>=20.10.0") ;our virtualenv (20.3.1) is fine

View file

@ -1506,14 +1506,14 @@ quality and performance.")
(define-public libva (define-public libva
(package (package
(name "libva") (name "libva")
(version "2.18.0") (version "2.19.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/intel/libva/releases/download/" (uri (string-append "https://github.com/intel/libva/releases/download/"
version "/libva-" version ".tar.bz2")) version "/libva-" version ".tar.bz2"))
(sha256 (sha256
(base32 "10j9rm6ajgp3fda7pwl058lchdip0wq20bvydil28ff2l3mpwmx3")))) (base32 "0x113spshsjcqh4pk8rkqq4r8vxf1nm83ym6ppp7zpsrsncfffwn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list config pkg-config)) (list config pkg-config))
@ -2099,7 +2099,7 @@ streaming protocols.")
(define-public mplayer (define-public mplayer
(package (package
(name "mplayer") (name "mplayer")
(version "1.4") (version "1.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2107,80 +2107,82 @@ streaming protocols.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2")))) "11dzrdb74ayvivcid3giqncrfm98hi4aqvg3kjrwji6bnddxa335"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; FIXME: Add additional inputs once available.
(native-inputs
(list pkg-config yasm))
(inputs
`(("alsa-lib" ,alsa-lib)
("cdparanoia" ,cdparanoia)
("ffmpeg" ,ffmpeg-4)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("giflib" ,giflib)
("lame" ,lame)
("libass" ,libass)
("libdvdcss" ,libdvdcss)
("libdvdnav" ,libdvdnav) ; ignored without libdvdread
("libdvdread" ,libdvdread) ; ignored without libdvdnav
("libjpeg" ,libjpeg-turbo)
("libmpeg2" ,libmpeg2)
("libmpg123" ,mpg123) ; audio codec for MP3
("libpng" ,libpng)
("libtheora" ,libtheora)
("libvdpau" ,libvdpau)
("libvorbis" ,libvorbis)
("libx11" ,libx11)
("libx264" ,libx264)
("libxinerama" ,libxinerama)
("libxv" ,libxv)
("libxxf86dga" ,libxxf86dga)
("mesa" ,mesa)
("opus" ,opus)
("perl" ,perl)
("pulseaudio" ,pulseaudio)
("python" ,python-wrapper)
("sdl" ,sdl)
("speex" ,speex)
("zlib" ,zlib)))
(arguments (arguments
`(#:tests? #f ; no test target (list
#:phases #:tests? #f ; no test target
(modify-phases %standard-phases #:configure-flags
(replace 'configure #~(list (string-append "--prefix=" #$output)
;; configure does not work followed by "SHELL=..." and "--disable-ffmpeg_a" ; disables bundled ffmpeg
;; "CONFIG_SHELL=..."; set environment variables instead "--disable-iwmmxt"
(lambda* (#:key inputs outputs #:allow-other-keys) (string-append "--extra-cflags=-I"
(let ((out (assoc-ref outputs "out")) #$(this-package-input "libx11")
(libx11 (assoc-ref inputs "libx11"))) "/include") ; to detect libx11
;; Enable runtime cpu detection where supported,
;; and choose a suitable target.
#$@(match (or (%current-target-system)
(%current-system))
("x86_64-linux"
'("--enable-runtime-cpudetection"
"--target=x86_64-linux"))
("i686-linux"
'("--enable-runtime-cpudetection"
"--target=i686-linux"))
("mips64el-linux"
'("--target=mips3-linux"))
(_ (list (string-append
"--target="
(or (%current-target-system)
(nix-system->gnu-triplet
(%current-system))))))))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
;; configure does not work followed by "SHELL=..." and
;; "CONFIG_SHELL=..."; set environment variables instead
(lambda* (#:key (configure-flags '()) #:allow-other-keys)
(substitute* "configure" (substitute* "configure"
(("#! /bin/sh") (string-append "#!" (which "sh")))) (("#! /bin/sh") (string-append "#!" (which "sh"))))
(setenv "SHELL" (which "bash")) (setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash")) (setenv "CONFIG_SHELL" (which "bash"))
(invoke "./configure" (apply invoke "./configure" configure-flags))))))
(string-append "--extra-cflags=-I" ;; FIXME: Add additional inputs once available.
libx11 "/include") ; to detect libx11 (native-inputs
"--disable-ffmpeg_a" ; disables bundled ffmpeg (list pkg-config yasm))
(string-append "--prefix=" out) (inputs
;; Enable runtime cpu detection where supported, (list alsa-lib
;; and choose a suitable target. cdparanoia
,@(match (or (%current-target-system) ffmpeg-4
(%current-system)) fontconfig
("x86_64-linux" freetype
'("--enable-runtime-cpudetection" giflib
"--target=x86_64-linux")) lame
("i686-linux" libass
'("--enable-runtime-cpudetection" libdvdcss
"--target=i686-linux")) libdvdnav ; ignored without libdvdread
("mips64el-linux" libdvdread ; ignored without libdvdnav
'("--target=mips3-linux")) libjpeg-turbo
(_ (list (string-append libmpeg2
"--target=" mpg123 ; audio codec for MP3
(or (%current-target-system) libpng
(nix-system->gnu-triplet libtheora
(%current-system))))))) libvdpau
"--disable-iwmmxt"))))))) libvorbis
libx11
libx264
libxinerama
libxv
libxxf86dga
mesa
opus
perl
pulseaudio
python-wrapper
sdl
speex
zlib))
(home-page "https://www.mplayerhq.hu") (home-page "https://www.mplayerhq.hu")
(synopsis "Audio and video player") (synopsis "Audio and video player")
(description "MPlayer is a movie player. It plays most MPEG/VOB, AVI, (description "MPlayer is a movie player. It plays most MPEG/VOB, AVI,
@ -2192,7 +2194,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv (define-public mpv
(package (package
(name "mpv") (name "mpv")
(version "0.35.1") (version "0.36.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2200,7 +2202,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1lzaijqddr4ir9nb27cv9ki20b0k5jns2k47v4xvmi30v1gi71ha")))) (base32 "1ri06h7pv6hrxmxxc618n9hymlgr0gfx38bqq5dcszdgnlashsgk"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
(list (list
@ -2209,7 +2211,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(add-after 'unpack 'patch-file-names (add-after 'unpack 'patch-file-names
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "player/lua/ytdl_hook.lua" (substitute* "player/lua/ytdl_hook.lua"
(("\"yt-dlp\",") (("\"yt-dlp\",")
(string-append (string-append
"\"" (search-input-file inputs "bin/yt-dlp") "\","))))) "\"" (search-input-file inputs "bin/yt-dlp") "\",")))))
(add-before 'configure 'build-reproducibly (add-before 'configure 'build-reproducibly
@ -3272,7 +3274,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt (define-public mlt
(package (package
(name "mlt") (name "mlt")
(version "7.16.0") (version "7.18.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3281,7 +3283,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0aas3zjc9xh7sn01xv67fa26bzlz9sapbgzsplmikwc9lwfl5pqi")))) (base32 "1b79wcf4l099w6bp4jlhgdwnbaydkrp8rj1hflggihzn3awcrayy"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -4840,7 +4842,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(define-public openshot (define-public openshot
(package (package
(name "openshot") (name "openshot")
(version "3.1.0") (version "3.1.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4849,7 +4851,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1m1mq8kws00mwijx8j5gqharkw63jqyywbnzsswgcxlhmsyv3k4v")) "11wmcipcx5icjcw4vaai5z06p8xj1j39dwl6kkjn5db2y00gak4h"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -28,6 +28,7 @@
;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -96,6 +97,7 @@
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle) #:use-module (gnu packages nettle)
@ -160,15 +162,14 @@
(define-public qemu (define-public qemu
(package (package
(name "qemu") (name "qemu")
(version "7.2.1") (version "7.2.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-" (uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32 "0795l8xsy67fnh4mbdz40jm880iisd7q6d7ly6nfzpac3gjr8zyf"))
"0fypm8blv0la17vvlx6h38nhq2rpavflr9i9zsjl6ylxryd6k1cc"))
(patches (search-patches "qemu-build-info-manual.patch" (patches (search-patches "qemu-build-info-manual.patch"
"qemu-disable-aarch64-migration-test.patch" "qemu-disable-aarch64-migration-test.patch"
"qemu-fix-agent-paths.patch")) "qemu-fix-agent-paths.patch"))
@ -1127,6 +1128,57 @@ Guix to build virtual machines.")
Debian or a derivative using @command{debootstrap}.") Debian or a derivative using @command{debootstrap}.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public rvvm
(package
(name "rvvm")
(version "0.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LekKit/RVVM")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ldabcrmpa044bahpqa6ymwbhhwy69slh77f0m3421sq6j50l06p"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
;; See src/rvjit/rvjit.h for list of architectures.
#~(#$@(if (or (target-x86?)
(target-arm?))
#~'()
#~(list "-DRVVM_USE_JIT=NO")))
#:modules `((srfi srfi-26)
(guix build utils)
(guix build cmake-build-system))
#:phases
#~(modify-phases %standard-phases
;; Install phase inspired by the Makefile.
(replace 'install
(lambda _
(let ((src "../source/src/")
(incl (string-append #$output "/include/rvvm/")))
(install-file "rvvm" (string-append #$output "/bin"))
(for-each
(cut install-file <> (string-append #$output "/lib"))
(find-files "." "\\.(so|a)$"))
(install-file (string-append src "rvvmlib.h") incl)
(for-each
(cut install-file <> (string-append incl "devices"))
(find-files (string-append src "devices") "\\.h$"))))))
#:tests? #f)) ; no tests
(home-page "https://github.com/LekKit/RVVM")
(synopsis "RISC-V virtual machine")
(description
"RVVM is a RISC-V CPU and system software implementation written in C. It
supports the entire RV64GC ISA, and it passes compliance tests for both RV64 and
RV32. OpenSBI, U-Boot, and custom firmwares boot and execute properly. It is
capable of running Linux, FreeBSD, OpenBSD, Haiku, and other OSes. Furthermore,
it emulates a variety of hardware and peripherals.")
(license (list license:gpl3+ license:mpl2.0))))
(define-public spike (define-public spike
(package (package
(name "spike") (name "spike")
@ -1259,23 +1311,25 @@ manage system or application containers.")
(define-public lxcfs (define-public lxcfs
(package (package
(name "lxcfs") (name "lxcfs")
(version "4.0.11") (version "5.0.4")
(home-page "https://github.com/lxc/lxcfs") (home-page "https://github.com/lxc/lxcfs")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (url home-page) (method git-fetch)
(commit (string-append "lxcfs-" version)))) (uri (git-reference (url home-page)
(file-name (git-file-name name version)) (commit (string-append "lxcfs-" version))))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"02cgzh97cgxh9iyf7gkn5ikdc0sfzqfjj6al0hikdf9rbwcscqwd")))) (base32 "15cc7kvnln4qqlv22hprfzmq89jbkx7yra730hap8wkvamn33sxy"))))
(build-system meson-build-system)
(arguments (arguments
'(#:configure-flags '("--localstatedir=/var"))) (list
#:configure-flags
#~(list "-Dinit-script=sysvinit"))) ; no none option
(native-inputs (native-inputs
(list autoconf automake libtool pkg-config)) (list help2man pkg-config python python-jinja2))
(inputs (inputs
(list fuse)) (list fuse))
(build-system gnu-build-system)
(synopsis "FUSE-based file system for LXC") (synopsis "FUSE-based file system for LXC")
(description "LXCFS is a small FUSE file system written with the intention (description "LXCFS is a small FUSE file system written with the intention
of making Linux containers feel more like a virtual machine. of making Linux containers feel more like a virtual machine.
@ -1448,7 +1502,7 @@ pretty simple, REST API.")
(inputs (inputs
(list acl (list acl
attr attr
fuse fuse-2
libxml2 libxml2
eudev eudev
libpciaccess libpciaccess

View file

@ -586,7 +586,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt (define-public nyxt
(package (package
(name "nyxt") (name "nyxt")
(version "3.4.0") (version "3.5.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -595,7 +595,7 @@ driven and does not detract you from your daily work.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"0k1vk3qj9sc3wa0yhx1ih8xq9864dd34hfk622zdmyx2f8q81qd3")) "13ldi191ccxyxr3hjxyhnjl2vw365v0fhb1pqia7rg1gl3id47gz"))
(file-name (git-file-name "nyxt" version)) (file-name (git-file-name "nyxt" version))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet

View file

@ -4824,8 +4824,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
license:freebsd-doc)))) ; documentation license:freebsd-doc)))) ; documentation
(define-public guix-data-service (define-public guix-data-service
(let ((commit "68850065d79ba05dad7201c3ed22f5e2e32680b7") (let ((commit "1c7539418743e0dfe3a9cad22c414fd732daef8f")
(revision "41")) (revision "42"))
(package (package
(name "guix-data-service") (name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7))) (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -4837,64 +4837,63 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0y7a9jbbkzhlhmn639kgmzlkw927w4nrsafm1sj51mrblr5qk4lq")))) "1gp4mhjssxky0jjjz916rfgz4w2f327wfd5ixb6lb00ydlfh5mws"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:modules ((guix build utils) (list
#:modules '((guix build utils)
(guix build gnu-build-system) (guix build gnu-build-system)
(ice-9 ftw) (ice-9 ftw)
(ice-9 match) (ice-9 match)
(ice-9 rdelim) (ice-9 rdelim)
(ice-9 popen)) (ice-9 popen))
#:test-target "check-with-tmp-database" #:test-target "check-with-tmp-database"
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'build 'set-GUILE_AUTO_COMPILE (add-before 'build 'set-GUILE_AUTO_COMPILE
(lambda _ (lambda _
;; To avoid warnings relating to 'guild'. ;; To avoid warnings relating to 'guild'.
(setenv "GUILE_AUTO_COMPILE" "0") (setenv "GUILE_AUTO_COMPILE" "0")))
#t)) (add-after 'install 'wrap-executable
(add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))
(let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin"))
(bin (string-append out "/bin")) (guile (assoc-ref inputs "guile"))
(guile (assoc-ref inputs "guile")) (guile-effective-version
(guile-effective-version (read-line
(read-line (open-pipe* OPEN_READ
(open-pipe* OPEN_READ (string-append guile "/bin/guile")
(string-append guile "/bin/guile") "-c" "(display (effective-version))")))
"-c" "(display (effective-version))"))) (scm (string-append out "/share/guile/site/"
(scm (string-append out "/share/guile/site/" guile-effective-version))
guile-effective-version)) (go (string-append out "/lib/guile/"
(go (string-append out "/lib/guile/" guile-effective-version
guile-effective-version "/site-ccache")))
"/site-ccache"))) (for-each
(for-each (lambda (file)
(lambda (file) (simple-format (current-error-port)
(simple-format (current-error-port) "wrapping: ~A\n"
"wrapping: ~A\n" (string-append bin "/" file))
(string-append bin "/" file)) (wrap-program (string-append bin "/" file)
(wrap-program (string-append bin "/" file) `("PATH" ":" prefix
`("PATH" ":" prefix ,(cons*
,(cons* bin
bin (map (lambda (input)
(map (lambda (input) (string-append
(string-append (assoc-ref inputs input)
(assoc-ref inputs input) "/bin"))
"/bin")) '("ephemeralpg"
'("ephemeralpg" "util-linux"
"util-linux" "postgresql"))))
"postgresql")))) `("GUILE_LOAD_PATH" ":" prefix
`("GUILE_LOAD_PATH" ":" prefix (,scm ,(getenv "GUILE_LOAD_PATH")))
(,scm ,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))
(,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))) (scandir bin
(scandir bin (match-lambda
(match-lambda ((or "." "..") #f)
((or "." "..") #f) (_ #t)))))))
(_ #t)))) (delete 'strip)))) ; As the .go files aren't compatible
#t)))
(delete 'strip)))) ; As the .go files aren't compatible
(inputs (inputs
(list ephemeralpg (list ephemeralpg
util-linux util-linux
@ -5959,6 +5958,14 @@ on the fly.")
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
;; Our grep is compiled without perl regexp support. So,
;; rewrite the grep command to not use it. \t tab
;; characters are supported only in perl regexps. So,
;; put in literal tabs using printf instead.
(substitute* "src/tests/test32-proxy-authority.sh"
(("grep -Pq") "grep -q")
(("extension:\\\\tdefault")
"extension:$(printf '\\011')default"))
;; Most tests attempts to access hitch-tls.org which is ;; Most tests attempts to access hitch-tls.org which is
;; unavailable in the build container. Run them against ;; unavailable in the build container. Run them against
;; a dummy local web server instead. ;; a dummy local web server instead.
@ -5976,8 +5983,7 @@ on the fly.")
;; process has shut down. ;; process has shut down.
(substitute* "src/tests/hitch_test.sh" (substitute* "src/tests/hitch_test.sh"
(("kill -0 \"\\$HITCH_PID\"") (("kill -0 \"\\$HITCH_PID\"")
"$(ps -p $HITCH_PID -o state= | grep -qv '^Z$')")) "$(ps -p $HITCH_PID -o state= | grep -qv '^Z$')")))))))
#t)))))
(native-inputs (native-inputs
(list pkg-config (list pkg-config

View file

@ -24,7 +24,8 @@
#:use-module (guix deprecation) #:use-module (guix deprecation)
#:use-module (guix diagnostics) #:use-module (guix diagnostics)
#:use-module (guix i18n) #:use-module (guix i18n)
#:use-module (gnu services) #:use-module (guix modules)
#:use-module ((gnu services) #:hide (delete))
#:use-module (gnu services admin) #:use-module (gnu services admin)
#:use-module (gnu services configuration) #:use-module (gnu services configuration)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
@ -143,7 +144,7 @@
;; Helpers for deprecated field types, to be removed later. ;; Helpers for deprecated field types, to be removed later.
(define %lazy-group (make-symbol "%lazy-group")) (define %lazy-group (make-symbol "%lazy-group"))
(define (%set-user-group user group) (define (set-user-group user group)
(user-account (user-account
(inherit user) (inherit user)
(group (user-group-name group)))) (group (user-group-name group))))
@ -184,13 +185,15 @@
(define %mpd-user (define %mpd-user
(user-account (user-account
(name "mpd") (name "mpd")
(group %lazy-group) ;; XXX: This is a place-holder to be lazily substituted in (…-accounts)
(system? #t) ;; with the value from the 'group' field of <mpd-configuration>.
(comment "Music Player Daemon (MPD) user") (group %lazy-group)
;; MPD can use $HOME (or $XDG_CONFIG_HOME) to place its data (system? #t)
(home-directory "/var/lib/mpd") (comment "Music Player Daemon (MPD) user")
(shell (file-append shadow "/sbin/nologin")))) ;; MPD can use $HOME (or $XDG_CONFIG_HOME) to place its data.
(home-directory "/var/lib/mpd")
(shell (file-append shadow "/sbin/nologin"))))
(define %mpd-group (define %mpd-group
(user-group (user-group
@ -235,10 +238,7 @@
user-account instead~%")) user-account instead~%"))
(user-account (user-account
(inherit %mpd-user) (inherit %mpd-user)
(name value) (name value)))
;; XXX: This is to be lazily substituted in (…-accounts)
;; with the value from 'group'.
(group %lazy-group)))
(else (else
(configuration-field-error #f 'user value)))) (configuration-field-error #f 'user value))))
@ -253,6 +253,18 @@ user-group instead~%"))
(else (else
(configuration-field-error #f 'group value)))) (configuration-field-error #f 'group value))))
(define (mpd-log-file-sanitizer value)
(match value
(%unset-value
;; XXX: While leaving the 'sys_log' option out of the mpd.conf file is
;; supposed to cause logging to happen via systemd (elogind provides a
;; compatible interface), this doesn't work (nothing gets logged); use
;; syslog instead.
"syslog")
((? string?)
value)
(_ (configuration-field-error #f 'log-file value))))
;;; ;;;
;; Generic MPD plugin record, lists only the most prevalent fields. ;; Generic MPD plugin record, lists only the most prevalent fields.
@ -350,15 +362,18 @@ open. This may be useful for streaming servers, when you dont want to
disconnect all listeners even when playback is accidentally stopped.") disconnect all listeners even when playback is accidentally stopped.")
(mixer-type (mixer-type
(string "none") maybe-string
"This field accepts a string that specifies which mixer should be used "This field accepts a string that specifies which mixer should be used for
for this audio output: the @code{hardware} mixer, the @code{software} this audio output: the @code{hardware} mixer, the @code{software} mixer, the
mixer, the @code{null} mixer (allows setting the volume, but with no @code{null} mixer (allows setting the volume, but with no effect; this can be
effect; this can be used as a trick to implement an external mixer used as a trick to implement an external mixer External Mixer) or no
External Mixer) or no mixer (@code{none})." mixer (@code{none}). When left unspecified, a @code{hardware} mixer is used
for devices that support it."
(sanitizer (sanitizer
(lambda (x) ; TODO: deprecated, remove me later. (lambda (x) ; TODO: deprecated, remove me later.
(cond (cond
((eq? %unset-value x)
x)
((symbol? x) ((symbol? x)
(warning (G_ "symbol value for 'mixer-type' is deprecated, \ (warning (G_ "symbol value for 'mixer-type' is deprecated, \
use string instead~%")) use string instead~%"))
@ -425,16 +440,17 @@ will depend on."
empty-serializer) empty-serializer)
(log-file (log-file
(maybe-string "/var/log/mpd/log") maybe-string
"The location of the log file. Set to @code{syslog} to use the "The location of the log file. Unless specified, logs are sent to the
local syslog daemon or @code{%unset-value} to omit this directive local syslog daemon. Alternatively, a log file name can be specified, for
from the configuration file.") example @file{/var/log/mpd.log}."
(sanitizer mpd-log-file-sanitizer))
(log-level (log-level
maybe-string maybe-string
"Supress any messages below this threshold. "Supress any messages below this threshold.
Available values: @code{notice}, @code{info}, @code{verbose}, The available values, in decreasing order of verbosity, are: @code{verbose},
@code{warning} and @code{error}.") @code{info}, @code{notice}, @code{warning} and @code{error}.")
(music-directory (music-directory
maybe-string maybe-string
@ -456,7 +472,8 @@ Available values: @code{notice}, @code{info}, @code{verbose},
(db-file (db-file
maybe-string maybe-string
"The location of the music database.") "The location of the music database. When left unspecified,
@file{~/.cache/db} is used.")
(state-file (state-file
maybe-string maybe-string
@ -514,6 +531,11 @@ To use a Unix domain socket, an absolute path can be specified here."
(serializer (lambda (_ x) (serializer (lambda (_ x)
(mpd-serialize-list-of-mpd-plugin "archive_plugin" x)))) (mpd-serialize-list-of-mpd-plugin "archive_plugin" x))))
(auto-update?
maybe-boolean
"Whether to automatically update the music database when files are changed
in the @var{music-directory}.")
(input-cache-size (input-cache-size
maybe-string maybe-string
"MPD input cache size." "MPD input cache size."
@ -563,44 +585,70 @@ appended to the configuration.")
(serialize-configuration configuration mpd-configuration-fields))) (serialize-configuration configuration mpd-configuration-fields)))
(define (mpd-log-rotation config) (define (mpd-log-rotation config)
(match-record config <mpd-configuration> (log-file) (match-record config <mpd-configuration>
(log-rotation (log-file)
(files (list log-file)) (if (string=? "syslog" log-file)
(post-rotate #~(begin '() ;nothing to do
(use-modules (gnu services herd)) (list (log-rotation
(with-shepherd-action 'mpd ('reopen) #f)))))) (files (list log-file))
(post-rotate #~(begin
(use-modules (gnu services herd))
(with-shepherd-action 'mpd ('reopen) #f))))))))
(define (mpd-shepherd-service config) (define (mpd-shepherd-service config)
(match-record config <mpd-configuration> (user package shepherd-requirement (match-record config <mpd-configuration>
log-file playlist-directory (user package shepherd-requirement
db-file state-file sticker-file log-file playlist-directory
environment-variables) db-file state-file sticker-file
environment-variables)
(let ((config-file (mpd-serialize-configuration config)) (let ((config-file (mpd-serialize-configuration config))
(username (user-account-name user))) (username (user-account-name user)))
(shepherd-service (shepherd-service
(documentation "Run the MPD (Music Player Daemon)") (documentation "Run the MPD (Music Player Daemon)")
(requirement `(user-processes loopback ,@shepherd-requirement)) (requirement `(user-processes loopback
,@(if (string=? "syslog" log-file)
'(syslogd)
'())
,@shepherd-requirement))
(provision '(mpd)) (provision '(mpd))
(start #~(begin (start
(and=> #$(maybe-value log-file) (with-imported-modules (source-module-closure
(compose mkdir-p dirname)) '((gnu build activation)))
#~(begin
(use-modules (gnu build activation))
(let ((user (getpw #$username))) (let ((home #$(user-account-home-directory user)))
(for-each (let ((user (getpw #$username))
(lambda (x) (default-cache-dir (string-append home "/.cache")))
(when (and x (not (file-exists? x)))
(mkdir-p x)
(chown x (passwd:uid user) (passwd:gid user))))
(list #$(maybe-value playlist-directory)
(and=> #$(maybe-value db-file) dirname)
(and=> #$(maybe-value state-file) dirname)
(and=> #$(maybe-value sticker-file) dirname))))
(make-forkexec-constructor (define (init-directory directory)
(list #$(file-append package "/bin/mpd") (unless (file-exists? directory)
"--no-daemon" (mkdir-p/perms directory user #o755)))
#$config-file)
#:environment-variables '#$environment-variables))) ;; Define a cache location that can be automatically used
;; for the database file, in case it hasn't been explicitly
;; specified.
(for-each
init-directory
(cons default-cache-dir
'#$(map dirname
;; XXX: Delete the potential "syslog"
;; log-file value, which is not a directory.
(delete "syslog"
(filter-map maybe-value
(list db-file
log-file
state-file
sticker-file)))))))
(make-forkexec-constructor
(list #$(file-append package "/bin/mpd") "--no-daemon"
#$config-file)
#:environment-variables
;; Set HOME so MPD can infer default paths, such as
;; for the database file.
(cons (string-append "HOME=" home)
'#$environment-variables))))))
(stop #~(make-kill-destructor)) (stop #~(make-kill-destructor))
(actions (actions
(list (shepherd-configuration-action config-file) (list (shepherd-configuration-action config-file)
@ -621,7 +669,7 @@ appended to the configuration.")
(match-record config <mpd-configuration> (user group) (match-record config <mpd-configuration> (user group)
;; TODO: Deprecation code, to be removed. ;; TODO: Deprecation code, to be removed.
(let ((user (if (eq? (user-account-group user) %lazy-group) (let ((user (if (eq? (user-account-group user) %lazy-group)
(%set-user-group user group) (set-user-group user group)
user))) user)))
(list user group)))) (list user group))))
@ -632,10 +680,8 @@ appended to the configuration.")
(extensions (extensions
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
(compose list mpd-shepherd-service)) (compose list mpd-shepherd-service))
(service-extension account-service-type (service-extension account-service-type mpd-accounts)
mpd-accounts) (service-extension rottlog-service-type mpd-log-rotation)))
(service-extension rottlog-service-type
(compose list mpd-log-rotation))))
(default-value (mpd-configuration)))) (default-value (mpd-configuration))))
@ -660,12 +706,14 @@ appended to the configuration.")
(define %mympd-user (define %mympd-user
(user-account (user-account
(name "mympd") (name "mympd")
(group %lazy-group) ;; XXX: This is a place-holder to be lazily substituted in 'mympd-accounts'
(system? #t) ;; with the value from the 'group' field of <mympd-configuration>.
(comment "myMPD user") (group %lazy-group)
(home-directory "/var/empty") (system? #t)
(shell (file-append shadow "/sbin/nologin")))) (comment "myMPD user")
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin"))))
(define %mympd-group (define %mympd-group
(user-group (user-group
@ -680,10 +728,7 @@ appended to the configuration.")
user-account instead~%")) user-account instead~%"))
(user-account (user-account
(inherit %mympd-user) (inherit %mympd-user)
(name value) (name value)))
;; XXX: this is to be lazily substituted in (…-accounts)
;; with the value from 'group'.
(group %lazy-group)))
(else (else
(configuration-field-error #f 'user value)))) (configuration-field-error #f 'user value))))
@ -697,8 +742,15 @@ user-group instead~%"))
(name value))) (name value)))
(else (else
(configuration-field-error #f 'group value)))) (configuration-field-error #f 'group value))))
;;;
(define (mympd-log-to-sanitizer value)
(match value
('syslog
(warning (G_ "syslog symbol value for 'log-to' is deprecated~%"))
%unset-value)
((or %unset-value (? string?))
value)
(_ (configuration-field-error #f 'log-to value))))
;; XXX: The serialization procedures are insufficient since we require ;; XXX: The serialization procedures are insufficient since we require
;; access to multiple fields at once. ;; access to multiple fields at once.
@ -763,10 +815,11 @@ will depend on."
"How much detail to include in logs, possible values: @code{0} to @code{7}.") "How much detail to include in logs, possible values: @code{0} to @code{7}.")
(log-to (log-to
(string-or-symbol "/var/log/mympd/log") maybe-string
"Where to send logs. By default, the service logs to "Where to send logs. Unless specified, the service logs to the local
@file{/var/log/mympd.log}. The alternative is @code{'syslog}, which syslog service under the @samp{daemon} facility. Alternatively, a log file
sends output to the running syslog service under the @samp{daemon} facility." name can be specified, for example @file{/var/log/mympd.log}."
(sanitizer mympd-log-to-sanitizer)
empty-serializer) empty-serializer)
(lualibs (lualibs
@ -857,49 +910,58 @@ prompting a pin from the user.")
filename-to-field))))) filename-to-field)))))
(define (mympd-shepherd-service config) (define (mympd-shepherd-service config)
(match-record config <mympd-configuration> (package shepherd-requirement (match-record config <mympd-configuration>
user work-directory (package shepherd-requirement user work-directory cache-directory
cache-directory log-level log-to) log-level log-to)
(let ((log-level* (format #f "MYMPD_LOGLEVEL=~a" log-level)) (shepherd-service
(username (user-account-name user))) (documentation "Run the myMPD daemon.")
(shepherd-service (requirement `(loopback user-processes
(documentation "Run the myMPD daemon.") ,@(if (maybe-value-set? log-to)
(requirement `(loopback user-processes '()
,@(if (eq? log-to 'syslog) '(syslogd))
'(syslog) ,@shepherd-requirement))
'()) (provision '(mympd))
,@shepherd-requirement)) (start
(provision '(mympd)) (let ((username (user-account-name user)))
(start #~(begin (with-imported-modules (source-module-closure
(let* ((pw (getpwnam #$username)) '((gnu build activation)))
(uid (passwd:uid pw)) #~(begin
(gid (passwd:gid pw))) (use-modules (gnu build activation))
(for-each (lambda (dir)
(mkdir-p dir)
(chown dir uid gid))
(list #$work-directory #$cache-directory)))
(make-forkexec-constructor (let ((user (getpw #$username)))
`(#$(file-append package "/bin/mympd")
"--user" #$username (define (init-directory directory)
#$@(if (eq? log-to 'syslog) '("--syslog") '()) (unless (file-exists? directory)
"--workdir" #$work-directory (mkdir-p/perms directory user #o755)))
"--cachedir" #$cache-directory)
#:environment-variables (list #$log-level*) (for-each init-directory
#:log-file #$(if (string? log-to) log-to #f)))) '#$(map dirname (filter-map maybe-value
(stop #~(make-kill-destructor)))))) (list log-to
work-directory
cache-directory)))))
(make-forkexec-constructor
`(#$(file-append package "/bin/mympd")
"--user" #$username
#$@(if (eq? log-to 'syslog) '("--syslog") '())
"--workdir" #$work-directory
"--cachedir" #$cache-directory)
#:environment-variables
(list #$(format #f "MYMPD_LOGLEVEL=~a" log-level))
#:log-file #$(maybe-value log-to)))))))))
(define (mympd-accounts config) (define (mympd-accounts config)
(match-record config <mympd-configuration> (user group) (match-record config <mympd-configuration> (user group)
;; TODO: Deprecation code, to be removed. ;; TODO: Deprecation code, to be removed.
(let ((user (if (eq? (user-account-group user) %lazy-group) (let ((user (if (eq? (user-account-group user) %lazy-group)
(%set-user-group user group) (set-user-group user group)
user))) user)))
(list user group)))) (list user group))))
(define (mympd-log-rotation config) (define (mympd-log-rotation config)
(match-record config <mympd-configuration> (log-to) (match-record config <mympd-configuration>
(if (string? log-to) (log-to)
(if (maybe-value-set? log-to)
(list (log-rotation (list (log-rotation
(files (list log-to)))) (files (list log-to))))
'()))) '())))

View file

@ -708,11 +708,7 @@ ca-certificates.crt file in the system profile."
(shepherd-service (shepherd-service
(documentation "Guix Data Service process jobs") (documentation "Guix Data Service process jobs")
(provision '(guix-data-service-process-jobs)) (provision '(guix-data-service-process-jobs))
(requirement '(postgres (requirement '(postgres networking))
networking
;; Require guix-data-service, as that the database
;; migrations are handled through this service
guix-data-service))
(start #~(make-forkexec-constructor (start #~(make-forkexec-constructor
(list (list
#$(file-append package #$(file-append package

View file

@ -1244,7 +1244,7 @@ deprecated; use 'setuid-program' instead~%"))
(file-append sudo "/bin/sudo") (file-append sudo "/bin/sudo")
(file-append sudo "/bin/sudoedit") (file-append sudo "/bin/sudoedit")
(file-append fuse "/bin/fusermount") (file-append fuse "/bin/fusermount")
(file-append fuse-3 "/bin/fusermount3") (file-append fuse "/bin/fusermount3")
;; To allow mounts with the "user" option, "mount" and "umount" must ;; To allow mounts with the "user" option, "mount" and "umount" must
;; be setuid-root. ;; be setuid-root.

View file

@ -19,7 +19,8 @@
(define-module (gnu system accounts) (define-module (gnu system accounts)
#:use-module (guix records) #:use-module (guix records)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (user-account #:export (<user-account>
user-account
user-account? user-account?
user-account-name user-account-name
user-account-password user-account-password

View file

@ -73,29 +73,34 @@ success, #f otherwise."
(catch #t (catch #t
(lambda () (lambda ()
(http-fetch (string->uri url))) (http-fetch (string->uri url)))
(lambda args (lambda (key . args)
(format #t "Unable to fetch from ~a, ~a: ~a~%"
(uri-host (string->uri url))
key
args)
(values #f #f))))) (values #f #f)))))
(if (not port) (if (not port)
(loop rest) (loop rest)
(let* ((reporter (progress-reporter/file (begin
url
size
(current-error-port)
#:abbreviation nar-uri-abbreviation))
(port-with-progress
(progress-report-port reporter port
#:download-size size)))
(if size (if size
(format #t "Downloading from ~a (~,2h MiB)...~%" url (format #t "Downloading from ~a (~,2h MiB)...~%" url
(/ size (expt 2 20.))) (/ size (expt 2 20.)))
(format #t "Downloading from ~a...~%" url)) (format #t "Downloading from ~a...~%" url))
(if (string-contains url "/lzip") (let* ((reporter (progress-reporter/file
(restore-lzipped-nar port-with-progress url
item size
size) (current-error-port)
(begin #:abbreviation nar-uri-abbreviation))
(port-with-progress
(progress-report-port reporter port
#:download-size size)))
(if (string-contains url "/lzip")
(restore-lzipped-nar port-with-progress
item
size)
(restore-file port-with-progress (restore-file port-with-progress
item))) item)))
(newline)
#t)))) #t))))
(() (()
#f)))) #f))))

View file

@ -1815,6 +1815,21 @@ MANIFEST."
#:create-all-directories? #t #:create-all-directories? #t
#:log-port (%make-void-port "w")) #:log-port (%make-void-port "w"))
;; Clear files that are going to be regenerated.
(with-directory-excursion "/tmp/texlive/share/texmf-dist"
(for-each delete-file
(list "fonts/map/dvipdfmx/updmap/kanjix.map"
"fonts/map/dvips/updmap/builtin35.map"
"fonts/map/dvips/updmap/download35.map"
"fonts/map/dvips/updmap/ps2pk.map"
"fonts/map/dvips/updmap/psfonts.map"
"fonts/map/dvips/updmap/psfonts_pk.map"
"fonts/map/dvips/updmap/psfonts_t1.map"
"fonts/map/pdftex/updmap/pdftex.map"
"fonts/map/pdftex/updmap/pdftex_dl14.map"
"fonts/map/pdftex/updmap/pdftex_ndl14.map"
"web2c/updmap.cfg")))
;; XXX: This is annoying, but it's necessary because ;; XXX: This is annoying, but it's necessary because
;; texlive-libkpathsea does not provide wrapped executables. ;; texlive-libkpathsea does not provide wrapped executables.
(setenv "PATH" (setenv "PATH"
@ -1866,8 +1881,6 @@ MANIFEST."
(let ((a (string-append #$output "/share/texmf-dist")) (let ((a (string-append #$output "/share/texmf-dist"))
(b "/tmp/texlive/share/texmf-dist") (b "/tmp/texlive/share/texmf-dist")
(mktexlsr #$(file-append texlive-scripts "/bin/mktexlsr"))) (mktexlsr #$(file-append texlive-scripts "/bin/mktexlsr")))
;; Ignore original "updmap.cfg" from texlive-scripts input.
(delete-file "/tmp/texlive/share/texmf-dist/web2c/updmap.cfg")
(copy-recursively a b) (copy-recursively a b)
(invoke mktexlsr b) (invoke mktexlsr b)
(install-file (string-append b "/ls-R") a)))))) (install-file (string-append b "/ls-R") a))))))

View file

@ -1034,8 +1034,6 @@ Some ACTIONS support additional ARGS.\n"))
--no-graphic for 'vm', use the tty that we are started in for IO")) --no-graphic for 'vm', use the tty that we are started in for IO"))
(display (G_ " (display (G_ "
--skip-checks skip file system and initrd module safety checks")) --skip-checks skip file system and initrd module safety checks"))
(display (G_ "
--target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\""))
(display (G_ " (display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL")) -v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline) (newline)

View file

@ -441,6 +441,9 @@ actual compiler."
#~(begin #~(begin
(use-modules (ice-9 match)) (use-modules (ice-9 match))
(define psabi #$(gcc-architecture->micro-architecture-level
micro-architecture))
(define* (search-next command (define* (search-next command
#:optional #:optional
(path (string-split (getenv "PATH") (path (string-split (getenv "PATH")
@ -469,10 +472,25 @@ actual compiler."
(match (search-next (basename command)) (match (search-next (basename command))
(#f (exit 127)) (#f (exit 127))
(next (next
(apply execl next (if (and (search-next "go")
(string=? next (search-next "go")))
(cond
((string-prefix? "arm" psabi)
(setenv "GOARM" (string-take-right psabi 1)))
((string-prefix? "powerpc" psabi)
(setenv "GOPPC64" psabi))
((string-prefix? "x86_64" psabi)
(setenv "GOAMD" (string-take-right psabi 2)))
(else #t))
'())
(apply
execl next
(append (cons next arguments) (append (cons next arguments)
(if (and (search-next "go")
(string=? next (search-next "go")))
'()
(list (string-append "-march=" (list (string-append "-march="
#$micro-architecture)))))))))) #$micro-architecture)))))))))))
(define program (define program
(program-file (string-append "tuning-compiler-wrapper-" micro-architecture) (program-file (string-append "tuning-compiler-wrapper-" micro-architecture)
@ -489,7 +507,8 @@ actual compiler."
(for-each (lambda (program) (for-each (lambda (program)
(symlink #$program (symlink #$program
(string-append bin "/" program))) (string-append bin "/" program)))
'("cc" "gcc" "clang" "g++" "c++" "clang++"))))))) '("cc" "gcc" "clang" "g++" "c++" "clang++"
"go")))))))
(define (build-system-with-tuning-compiler bs micro-architecture) (define (build-system-with-tuning-compiler bs micro-architecture)
"Return a variant of BS, a build system, that ensures that the compiler that "Return a variant of BS, a build system, that ensures that the compiler that
@ -564,27 +583,6 @@ micro-architectures:
(bag (bag
(inherit lowered) (inherit lowered)
(arguments
(substitute-keyword-arguments (bag-arguments lowered)
;; We add the tuning parameter after the default GO flags are set.
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'setup-go-environment 'set-microarchitecture
(lambda _
(cond
((string-prefix? "arm" #$psabi)
(setenv "GOARM" (string-take-right #$psabi 1))
(format #t "Setting GOARM to ~s."
(getenv "GOARM")))
((string-prefix? "powerpc" #$psabi)
(setenv "GOPPC64" #$psabi)
(format #t "Setting GOPPC64 to ~s."
(getenv "GOPPC64")))
((string-prefix? "x86_64" #$psabi)
(setenv "GOAMD" (string-take-right #$psabi 2))
(format #t "Setting GOAMD to ~s.\n"
(getenv "GOAMD")))
(else #t))))))))
(build-inputs (build-inputs
;; Arrange so that the compiler wrapper comes first in $PATH. ;; Arrange so that the compiler wrapper comes first in $PATH.
`(("tuning-compiler" ,(tuning-compiler micro-architecture)) `(("tuning-compiler" ,(tuning-compiler micro-architecture))