mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-14 02:24:04 +02:00
Compare commits
122 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cf76e5a1b9 | |||
| f3db2a83b4 | |||
| 9db32e6573 | |||
| 51288fcc9e | |||
| 38e8f129c4 | |||
| c62591bde7 | |||
| 1add19280c | |||
| ba86d5f655 | |||
| 762ded35ef | |||
| ff65b44e7d | |||
| bbd0e658e0 | |||
| cd8c4bd53d | |||
| 010a60bb90 | |||
| adb2f5d47c | |||
| 9a0bd7eb7a | |||
| 79a08015a8 | |||
| 2a0f5a26a9 | |||
| d6ed5db055 | |||
| c285fb5618 | |||
| fd059abc5c | |||
| 338cc52cf6 | |||
| 935c71d6f0 | |||
| 13b5d22946 | |||
| bb9cd7d41d | |||
| 25ca142fa2 | |||
| ae23962fa6 | |||
| 03b7362f5b | |||
| bf66ac60c5 | |||
| 1d9252aefd | |||
| 47bf936933 | |||
| 1e44d5afe3 | |||
| 886e396dee | |||
| 56d2cc82bd | |||
| 12a01c020a | |||
| bce6cffcb3 | |||
| ce8a71d961 | |||
| 0892e93615 | |||
| c402d99037 | |||
| ff9242e63e | |||
| c379adbf87 | |||
| acad9ba45f | |||
| 3a9fb73409 | |||
| 0e0b120588 | |||
| 489866cf11 | |||
| 17d29fa361 | |||
| 0b75deab99 | |||
| 96a8e11e9a | |||
| 33640e95b8 | |||
| 1464041366 | |||
| de9e4539c9 | |||
| 73f31664a5 | |||
| d69e6c80ec | |||
| ab701f0e25 | |||
| 94c15aade7 | |||
| ed09edf243 | |||
| 2cb88181d8 | |||
| b0b32be4f9 | |||
| 202a80eb11 | |||
| a1f71db3e5 | |||
| fe4fcb8818 | |||
| c977f46f47 | |||
| c31598426c | |||
| 8d62aab47a | |||
| 5a49ba3d1b | |||
| 0269bf6ad4 | |||
| 847ca0505f | |||
| f52d6d59d6 | |||
| d1abb90c37 | |||
| 6cc008d218 | |||
| b1a84c94bf | |||
| 32b07a35fe | |||
| aa00c3d7fb | |||
| 54a3afc52b | |||
| 185b816ed9 | |||
| 98062e0c27 | |||
| 1d855b34f6 | |||
| 3b05b9d7ac | |||
| 3e1befe1d8 | |||
| c8f53f4b2e | |||
| eea9711889 | |||
| c1e2c71598 | |||
| f2f6164edb | |||
| 2c161c4c52 | |||
| a986f9176e | |||
| b68966fde5 | |||
| 104d503e0c | |||
| e4f9aaba79 | |||
| 0861076552 | |||
| ba3368fcc7 | |||
| 39acd8021b | |||
| 48dda27f41 | |||
| f3145603c8 | |||
| 4393dbcfd5 | |||
| a11eeeaf63 | |||
| 49613fb544 | |||
| 3612d6f692 | |||
| 4939bcf4bb | |||
| 2dfd0bd450 | |||
| dde0466984 | |||
| f8a599ff88 | |||
| 0ebdc92afc | |||
| 23356f4011 | |||
| ed63b0a031 | |||
| 7714e0bfb5 | |||
| acc8f821c8 | |||
| e1c5af77b2 | |||
| 2756e884dd | |||
| c1fd1e40f6 | |||
| c1897da250 | |||
| 6c666986e8 | |||
| 43833afaa1 | |||
| 0ce84291ef | |||
| e270413295 | |||
| 58c844a1ec | |||
| 47919d9f99 | |||
| c0d0ba76e5 | |||
| 9d0bb1ef26 | |||
| 2b94e23e7c | |||
| a3373301a8 | |||
| 05424e9633 | |||
| 4f73e5570d | |||
| 589f02e0c5 |
+15
-1
@@ -4922,6 +4922,17 @@ information.
|
|||||||
In addition, @command{guix pull} supports all the common build options
|
In addition, @command{guix pull} supports all the common build options
|
||||||
(@pxref{Common Build Options}).
|
(@pxref{Common Build Options}).
|
||||||
|
|
||||||
|
Every time the user invokes a Guix command, Guix detects if the current
|
||||||
|
installation has exceeded a certain duration (7 days by default) and
|
||||||
|
alerts the user to update with @command{guix pull} if necessary.
|
||||||
|
The duration can be configured with the following environment variable:
|
||||||
|
|
||||||
|
@defvr {Environment Variable} GUIX_DISTRO_AGE_WARNING
|
||||||
|
This environment variable, if set, should be a string representing a
|
||||||
|
duration. If the current Guix installation exceeds the duration, Guix
|
||||||
|
will raise a warning for outdated installation.
|
||||||
|
@end defvr
|
||||||
|
|
||||||
@node Invoking guix time-machine
|
@node Invoking guix time-machine
|
||||||
@section Invoking @command{guix time-machine}
|
@section Invoking @command{guix time-machine}
|
||||||
|
|
||||||
@@ -20705,6 +20716,9 @@ The syslog configuration file to use.
|
|||||||
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
|
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
|
||||||
information on the configuration file syntax.
|
information on the configuration file syntax.
|
||||||
|
|
||||||
|
@item @code{pid-file} (default: @code{"/var/run/syslog.pid"})
|
||||||
|
The pid file for @command{syslogd}.
|
||||||
|
|
||||||
@item @code{extra-options} (default: @code{'()})
|
@item @code{extra-options} (default: @code{'()})
|
||||||
List of extra command-line options for @command{syslog}.
|
List of extra command-line options for @command{syslog}.
|
||||||
|
|
||||||
@@ -49210,7 +49224,7 @@ Return the default GRUB theme used by the operating system if no
|
|||||||
record.
|
record.
|
||||||
|
|
||||||
It comes with a fancy background image displaying the Guix
|
It comes with a fancy background image displaying the Guix
|
||||||
logos.
|
logo.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
For example, to override the default resolution, you may use something
|
For example, to override the default resolution, you may use something
|
||||||
|
|||||||
+11
-11
@@ -30,7 +30,7 @@ COOKBOOK_LANGUAGES = de es fr it ko pt_BR ru sk sv ta zh_CN
|
|||||||
|
|
||||||
# Arg1: A list of languages codes.
|
# Arg1: A list of languages codes.
|
||||||
# Arg2: The file name stem.
|
# Arg2: The file name stem.
|
||||||
lang_to_texinfo = $(foreach lang,$(1),%D%/$(2).$(lang).texi)
|
lang_to_texinfo = $(foreach lang,$(1),$(srcdir)/%D%/$(2).$(lang).texi)
|
||||||
|
|
||||||
# Automake does not understand GNU Make non-standard extensions,
|
# Automake does not understand GNU Make non-standard extensions,
|
||||||
# unfortunately, so we cannot use the above patsubst-based function here.
|
# unfortunately, so we cannot use the above patsubst-based function here.
|
||||||
@@ -104,7 +104,7 @@ MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
|
|||||||
# reference is not translated, which means it references a section that does not
|
# reference is not translated, which means it references a section that does not
|
||||||
# exist.
|
# exist.
|
||||||
define xref_command
|
define xref_command
|
||||||
$(top_srcdir)/pre-inst-env $(GUILE) --no-auto-compile \
|
$(top_builddir)/pre-inst-env $(GUILE) --no-auto-compile \
|
||||||
"$(top_srcdir)/build-aux/convert-xref.scm" \
|
"$(top_srcdir)/build-aux/convert-xref.scm" \
|
||||||
$@.tmp $<
|
$@.tmp $<
|
||||||
endef
|
endef
|
||||||
@@ -116,21 +116,21 @@ dummy_pot = $(shell mktemp --suffix=.pot)
|
|||||||
$(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go
|
$(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go
|
||||||
-$(AM_V_PO4A)$(PO4A) --no-update \
|
-$(AM_V_PO4A)$(PO4A) --no-update \
|
||||||
--variable localized="$@.tmp" \
|
--variable localized="$@.tmp" \
|
||||||
--variable master="%D%/guix.texi" \
|
--variable master="$(srcdir)/%D%/guix.texi" \
|
||||||
--variable po="$<" \
|
--variable po="$<" \
|
||||||
--variable pot=$(dummy_pot) \
|
--variable pot=$(dummy_pot) \
|
||||||
po/doc/po4a.cfg
|
$(srcdir)/po/doc/po4a.cfg
|
||||||
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
|
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
|
||||||
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
||||||
-mv "$@.tmp" "$@"
|
-mv "$@.tmp" "$@"
|
||||||
|
|
||||||
$(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
|
$(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
|
||||||
-$(AM_V_PO4A)$(PO4A) --no-update \
|
-$(AM_V_PO4A)$(PO4A) --no-update \
|
||||||
--variable localized="$@.tmp" \
|
--variable localized="$@.tmp" \
|
||||||
--variable master="%D%/guix-cookbook.texi" \
|
--variable master="$(srcdir)/%D%/guix-cookbook.texi" \
|
||||||
--variable po="$<" \
|
--variable po="$<" \
|
||||||
--variable pot=$(dummy_pot) \
|
--variable pot=$(dummy_pot) \
|
||||||
po/doc/po4a.cfg
|
$(srcdir)/po/doc/po4a.cfg
|
||||||
-sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
|
-sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
|
||||||
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
||||||
-mv "$@.tmp" "$@"
|
-mv "$@.tmp" "$@"
|
||||||
@@ -138,10 +138,10 @@ $(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
|
|||||||
$(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
|
$(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
|
||||||
-$(AM_V_PO4A)$(PO4A) --no-update \
|
-$(AM_V_PO4A)$(PO4A) --no-update \
|
||||||
--variable localized="$@.tmp" \
|
--variable localized="$@.tmp" \
|
||||||
--variable master="%D%/contributing.texi" \
|
--variable master="$(srcdir)/%D%/contributing.texi" \
|
||||||
--variable po="$<" \
|
--variable po="$<" \
|
||||||
--variable pot=$(dummy_pot) \
|
--variable pot=$(dummy_pot) \
|
||||||
po/doc/po4a.cfg
|
$(srcdir)/po/doc/po4a.cfg
|
||||||
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
||||||
-mv "$@.tmp" "$@"
|
-mv "$@.tmp" "$@"
|
||||||
|
|
||||||
|
|||||||
+9
-5
@@ -1588,8 +1588,11 @@ dist_patch_DATA = \
|
|||||||
%D%/packages/patches/gtk2-theme-paths.patch \
|
%D%/packages/patches/gtk2-theme-paths.patch \
|
||||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||||
|
%D%/packages/patches/gtk3-treeview-test-fix.patch \
|
||||||
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
|
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
|
||||||
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
||||||
|
%D%/packages/patches/gtk4-demo-reproducible.patch \
|
||||||
|
%D%/packages/patches/gtk4-needs-udmabuf.patch \
|
||||||
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
|
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
|
||||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||||
@@ -1913,6 +1916,7 @@ dist_patch_DATA = \
|
|||||||
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
||||||
%D%/packages/patches/mono-msbuild-15.7.179-fix-build.patch \
|
%D%/packages/patches/mono-msbuild-15.7.179-fix-build.patch \
|
||||||
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.patch \
|
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.patch \
|
||||||
|
%D%/packages/patches/mozjs-xp-win.patch \
|
||||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||||
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
||||||
%D%/packages/patches/libmodbus-disable-networking-test.patch \
|
%D%/packages/patches/libmodbus-disable-networking-test.patch \
|
||||||
@@ -1925,6 +1929,8 @@ dist_patch_DATA = \
|
|||||||
%D%/packages/patches/mediasdk-gcc-14.patch \
|
%D%/packages/patches/mediasdk-gcc-14.patch \
|
||||||
%D%/packages/patches/memtest86+-build-reproducibly.patch \
|
%D%/packages/patches/memtest86+-build-reproducibly.patch \
|
||||||
%D%/packages/patches/mercurial-hg-extension-path.patch \
|
%D%/packages/patches/mercurial-hg-extension-path.patch \
|
||||||
|
%D%/packages/patches/meson-keep-rpath-vicinity.patch \
|
||||||
|
%D%/packages/patches/meson-gir-fallback-path.patch \
|
||||||
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
||||||
%D%/packages/patches/mia-fix-boost-headers.patch \
|
%D%/packages/patches/mia-fix-boost-headers.patch \
|
||||||
%D%/packages/patches/mia-gcc11.patch \
|
%D%/packages/patches/mia-gcc11.patch \
|
||||||
@@ -2287,8 +2293,6 @@ dist_patch_DATA = \
|
|||||||
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
|
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
|
||||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||||
%D%/packages/patches/quickjs-ng-64-bits-precision-on-i686.patch \
|
|
||||||
%D%/packages/patches/quickjs-ng-fix-atomics.pause-on-32-bit.patch \
|
|
||||||
%D%/packages/patches/quilt-grep-compat.patch \
|
%D%/packages/patches/quilt-grep-compat.patch \
|
||||||
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
|
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
|
||||||
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
|
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
|
||||||
@@ -2619,9 +2623,9 @@ dist_patch_DATA = \
|
|||||||
%D%/packages/patches/wcstools-extend-makefiles.patch \
|
%D%/packages/patches/wcstools-extend-makefiles.patch \
|
||||||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||||
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
||||||
|
%D%/packages/patches/webrtc-audio-processing-abseil-cpp.patch \
|
||||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||||
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
|
%D%/packages/patches/webrtc-audio-processing-gcc-14.patch \
|
||||||
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
|
|
||||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||||
%D%/packages/patches/wmctrl-64-fix.patch \
|
%D%/packages/patches/wmctrl-64-fix.patch \
|
||||||
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
|
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
|
||||||
|
|||||||
+10
-4
@@ -202,7 +202,7 @@ Have you run 'guix archive --generate-key'?")
|
|||||||
(build-locally? hetzner-configuration-build-locally? ; boolean
|
(build-locally? hetzner-configuration-build-locally? ; boolean
|
||||||
(default #t))
|
(default #t))
|
||||||
(delete? hetzner-configuration-delete? ; boolean
|
(delete? hetzner-configuration-delete? ; boolean
|
||||||
(default #f))
|
(default #t))
|
||||||
(labels hetzner-configuration-labels ; list of strings
|
(labels hetzner-configuration-labels ; list of strings
|
||||||
(default '()))
|
(default '()))
|
||||||
(location hetzner-configuration-location ; #f | string
|
(location hetzner-configuration-location ; #f | string
|
||||||
@@ -395,9 +395,7 @@ Available locations:~%~%~a~%~%For more details, see: ~a")
|
|||||||
(type ,root-fs-type))
|
(type ,root-fs-type))
|
||||||
%base-file-systems))))
|
%base-file-systems))))
|
||||||
(services
|
(services
|
||||||
;; guix 1.4.0 does not have dhcpcd-service-type,
|
(cons* (service dhcpcd-service-type)
|
||||||
;; so we use dhcp-client-service-type here.
|
|
||||||
(cons* (service dhcp-client-service-type)
|
|
||||||
(service openssh-service-type
|
(service openssh-service-type
|
||||||
(openssh-configuration
|
(openssh-configuration
|
||||||
(openssh openssh-sans-x)
|
(openssh openssh-sans-x)
|
||||||
@@ -592,6 +590,14 @@ mkdir -p /gnu/store
|
|||||||
mount --bind /mnt/tmp/gnu/store /gnu/store
|
mount --bind /mnt/tmp/gnu/store /gnu/store
|
||||||
|
|
||||||
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
|
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
|
||||||
|
|
||||||
|
# Modify the install script to point the systemd unit of the /gnu/store
|
||||||
|
# mountpoint to the same /mnt/tmp/gnu/store which was introduced above.
|
||||||
|
store_fix=\"sed -i 's#Where=/gnu/store#Where=/mnt/tmp/gnu/store#'
|
||||||
|
~~root/.config/guix/current/lib/systemd/system/gnu-store.mount\"
|
||||||
|
sed -i \"s@install_unit gnu-store.mount\"\\
|
||||||
|
\"@$(printf \"%q \" $store_fix)\\ninstall_unit gnu-store.mount@\" /tmp/guix-install.sh
|
||||||
|
|
||||||
chmod +x /tmp/guix-install.sh
|
chmod +x /tmp/guix-install.sh
|
||||||
set +o pipefail # avoid hangup on 'yes' killing this script
|
set +o pipefail # avoid hangup on 'yes' killing this script
|
||||||
yes '' | /tmp/guix-install.sh
|
yes '' | /tmp/guix-install.sh
|
||||||
|
|||||||
@@ -12132,7 +12132,7 @@ It can be used to calculate the trajectory of satellites.")
|
|||||||
gtksourceview-4
|
gtksourceview-4
|
||||||
healpix-cxx
|
healpix-cxx
|
||||||
json-glib
|
json-glib
|
||||||
lcms-next
|
lcms
|
||||||
|
|
||||||
;; XXX: It downloads script and data during start up, check if they
|
;; XXX: It downloads script and data during start up, check if they
|
||||||
;; may be presented as packages with wrapped environment variables
|
;; may be presented as packages with wrapped environment variables
|
||||||
|
|||||||
+119
-26
@@ -11,7 +11,7 @@
|
|||||||
;;; Copyright © 2016–2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2016–2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||||||
;;; Copyright © 2018 okapi <okapi@firemail.cc>
|
;;; Copyright © 2018 okapi <okapi@firemail.cc>
|
||||||
;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
;;; Copyright © 2018, 2020, 2022-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||||
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
|
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
|
||||||
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
|
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
|
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
|
||||||
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
|
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
|
||||||
;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
|
;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
|
||||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
;;; Copyright © 2025, 2026 Junker <dk@junkeria.club>
|
||||||
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
|
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
|
||||||
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
|
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
|
||||||
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
|
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
|
||||||
@@ -127,6 +127,7 @@
|
|||||||
#:use-module (gnu packages linphone)
|
#:use-module (gnu packages linphone)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages llvm)
|
#:use-module (gnu packages llvm)
|
||||||
|
#:use-module (gnu packages logging)
|
||||||
#:use-module (gnu packages machine-learning)
|
#:use-module (gnu packages machine-learning)
|
||||||
#:use-module (gnu packages man)
|
#:use-module (gnu packages man)
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
@@ -194,6 +195,45 @@
|
|||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (ice-9 match))
|
#:use-module (ice-9 match))
|
||||||
|
|
||||||
|
(define-public adplug
|
||||||
|
(package
|
||||||
|
(name "adplug")
|
||||||
|
(version "2.4")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/adplug/adplug")
|
||||||
|
(commit (string-append "adplug-" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0l31ya42g3q7ry2m0y5djgjb9ax8ciy8jn86252vdjkjswwqgscd"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:configure-flags
|
||||||
|
#~(list "-DBUILD_SHARED_LIBS=ON")
|
||||||
|
#:modules
|
||||||
|
'((guix build cmake-build-system)
|
||||||
|
(guix build utils)
|
||||||
|
(srfi srfi-26)) ;for cute
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'install-headers
|
||||||
|
(lambda _
|
||||||
|
(for-each (cute install-file <>
|
||||||
|
(string-append #$output "/include/adplug"))
|
||||||
|
(find-files "../source/src" "\\.h$")))))))
|
||||||
|
(propagated-inputs
|
||||||
|
(list libbinio))
|
||||||
|
(home-page "https://adplug.github.io/")
|
||||||
|
(synopsis "AdLib sound player library")
|
||||||
|
(description
|
||||||
|
"AdPlug is a hardware independent AdLib sound player library, mainly
|
||||||
|
written in C++. AdPlug plays sound data, originally created for the AdLib
|
||||||
|
(OPL2/3) audio board, on top of an OPL2/3 emulator or by using the real
|
||||||
|
hardware. No OPL2/3 chips are required for playback.")
|
||||||
|
(license license:lgpl2.1+)))
|
||||||
|
|
||||||
(define-public opensles
|
(define-public opensles
|
||||||
(package
|
(package
|
||||||
(name "opensles")
|
(name "opensles")
|
||||||
@@ -363,7 +403,7 @@ displays a histogram of the roundtrip time jitter.")
|
|||||||
(define-public webrtc-audio-processing
|
(define-public webrtc-audio-processing
|
||||||
(package
|
(package
|
||||||
(name "webrtc-audio-processing")
|
(name "webrtc-audio-processing")
|
||||||
(version "1.3")
|
(version "2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -371,30 +411,14 @@ displays a histogram of the roundtrip time jitter.")
|
|||||||
(string-append "http://freedesktop.org/software/pulseaudio/"
|
(string-append "http://freedesktop.org/software/pulseaudio/"
|
||||||
name "/" name "-" version ".tar.gz"))
|
name "/" name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0xfvq5lxg612vfzk3zk6896zcb4cgrrb7fq76w9h40magz0jymcm"))))
|
(base32 "0lrjzhshwj1rkh4fxh7sq2dkkfimlyjs2ha7s3ribsh2dnc6ps1m"))
|
||||||
|
(patches (search-patches "webrtc-audio-processing-abseil-cpp.patch"
|
||||||
|
"webrtc-audio-processing-gcc-14.patch"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:configure-flags (if (target-x86-32?)
|
(list #:configure-flags (if (target-x86-32?)
|
||||||
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE")
|
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE")
|
||||||
#~'())
|
#~'())))
|
||||||
#:phases
|
|
||||||
(if (or (target-x86-32?) (target-powerpc?))
|
|
||||||
#~(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'apply-patches
|
|
||||||
(lambda _
|
|
||||||
(define (patch file)
|
|
||||||
(invoke "patch" "-p1" "--force" "-i" file))
|
|
||||||
|
|
||||||
;; https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
|
|
||||||
;; TODO: Move to the 'patches' field of the origin on
|
|
||||||
;; the next rebuild.
|
|
||||||
(patch #$(local-file
|
|
||||||
(search-patch
|
|
||||||
"webrtc-audio-processing-byte-order-pointer-size.patch")))
|
|
||||||
(patch #$(local-file
|
|
||||||
(search-patch
|
|
||||||
"webrtc-audio-processing-x86-no-sse.patch"))))))
|
|
||||||
#~%standard-phases)))
|
|
||||||
(native-inputs (list pkg-config))
|
(native-inputs (list pkg-config))
|
||||||
(inputs (list abseil-cpp))
|
(inputs (list abseil-cpp))
|
||||||
(synopsis "WebRTC's Audio Processing Library")
|
(synopsis "WebRTC's Audio Processing Library")
|
||||||
@@ -4465,6 +4489,33 @@ This includes device enumeration and initialization, file loading, and
|
|||||||
streaming.")
|
streaming.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public wp-notifyd
|
||||||
|
(package
|
||||||
|
(name "wp-notifyd")
|
||||||
|
(version "1.1.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/LDAP/wp-notifyd")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1nkndz0li15maf0dc9x631p0dr8085wzz5358552wljv7chywrza"))))
|
||||||
|
(build-system meson-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:tests? #f)) ;there are no tests
|
||||||
|
(inputs (list libnotify
|
||||||
|
wireplumber-minimal
|
||||||
|
pipewire
|
||||||
|
spdlog))
|
||||||
|
(native-inputs (list pkg-config))
|
||||||
|
(home-page "https://github.com/LDAP/wp-notifyd")
|
||||||
|
(synopsis "Notification daemon for Wireplumber")
|
||||||
|
(description "@command{wp-notifyd} is a lightweight notification daemon for
|
||||||
|
@dfn{WirePlumber} (the session and policy manager for PipeWire).")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public pa-notify
|
(define-public pa-notify
|
||||||
(package
|
(package
|
||||||
(name "pa-notify")
|
(name "pa-notify")
|
||||||
@@ -4869,6 +4920,42 @@ using Guix System.")
|
|||||||
;; GNU Library (not Lesser) General Public License.
|
;; GNU Library (not Lesser) General Public License.
|
||||||
(license license:lgpl2.0+)))
|
(license license:lgpl2.0+)))
|
||||||
|
|
||||||
|
(define-public hiir
|
||||||
|
(let ((commit "4a9a1e67fa6f8ce7688e1c0c8a2b017cecd206a3")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "hiir")
|
||||||
|
(version (git-version "0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/LostRobotMusic/hiir")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1wzlg0di768mzcik6fij4pd6dnpmbw8q236h478c057d10qfp44g"))))
|
||||||
|
(build-system copy-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:install-plan
|
||||||
|
#~`(("." "/include/hiir"))))
|
||||||
|
(home-page "https://github.com/LostRobotMusic/hiir")
|
||||||
|
(synopsis "Header-only version of Laurent de Soras's HIIR 1.40 library")
|
||||||
|
(description
|
||||||
|
"This package provides a header-only version of the
|
||||||
|
@uref{http://ldesoras.free.fr/prod.html#src_hiir, HIIR library by Laurent De
|
||||||
|
Soras}, updated to version 1.40. HIIR is a C++ library for changing the
|
||||||
|
sampling rate of a signal by a factor two, in both directions (upsampling and
|
||||||
|
downsampling), obtaining two signals with a π/2 phase difference (Hilbert
|
||||||
|
transform). It is made of a two-path polyphase IIR filter, implemented with
|
||||||
|
FPU, 3DNow!, SSE, SSE2, AVX, AVX-512 and NEON instruction sets.
|
||||||
|
|
||||||
|
This package contains the same as the original library, except with the
|
||||||
|
contents of one source file moved into a header file (and set as inline) to
|
||||||
|
make the library header-only, and with the test folder removed.")
|
||||||
|
(license license:wtfpl2))))
|
||||||
|
|
||||||
(define-public redumper
|
(define-public redumper
|
||||||
(package
|
(package
|
||||||
(name "redumper")
|
(name "redumper")
|
||||||
@@ -7265,6 +7352,7 @@ as is the case with audio plugins.")
|
|||||||
(find-files "bin")))))))))
|
(find-files "bin")))))))))
|
||||||
(inputs
|
(inputs
|
||||||
(list alsa-lib
|
(list alsa-lib
|
||||||
|
bash-minimal
|
||||||
ffmpeg
|
ffmpeg
|
||||||
fluidsynth
|
fluidsynth
|
||||||
file
|
file
|
||||||
@@ -7322,8 +7410,8 @@ default and preferred audio driver but also supports native drivers like ALSA.")
|
|||||||
|
|
||||||
;;; This package variant tracks the latest in-development 2.6 release.
|
;;; This package variant tracks the latest in-development 2.6 release.
|
||||||
(define-public carla-2.6
|
(define-public carla-2.6
|
||||||
(let ((commit "aa400535b31c67f4b6c1b28e6e20e4d4f82111a3")
|
(let ((commit "294a80145e39c0755ab9073d90fd8b9524fbfc84")
|
||||||
(revision "0"))
|
(revision "1"))
|
||||||
(package
|
(package
|
||||||
(inherit carla)
|
(inherit carla)
|
||||||
(name "carla")
|
(name "carla")
|
||||||
@@ -7337,7 +7425,12 @@ default and preferred audio driver but also supports native drivers like ALSA.")
|
|||||||
(commit commit)))
|
(commit commit)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0cnj2sgr60f5h6wdfmihc214wf3n74686sipl3iyzmylqrcyhbjn")))))))
|
(base32 "053yfwf9l9vqvq95c354by6nm8ym0wgkv3fr1434x5w9n1344z0z"))))
|
||||||
|
(inputs
|
||||||
|
(modify-inputs (package-inputs carla)
|
||||||
|
(replace "python-pyqt" python-pyqt-6)
|
||||||
|
(replace "qtbase" qtbase)
|
||||||
|
(replace "qtwayland" qtwayland))))))
|
||||||
|
|
||||||
;; This source is a fork of vst3sdk with the documentation and VSTGUI
|
;; This source is a fork of vst3sdk with the documentation and VSTGUI
|
||||||
;; submodules removed and a dummy `meson.build` file that just lists all
|
;; submodules removed and a dummy `meson.build` file that just lists all
|
||||||
|
|||||||
@@ -7651,78 +7651,6 @@ reads at a typical sensitivity of 90-99% relative to BLAST depending on the
|
|||||||
data and settings.")
|
data and settings.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public discrover
|
|
||||||
(package
|
|
||||||
(name "discrover")
|
|
||||||
(version "1.6.0")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/maaskola/discrover")
|
|
||||||
(commit version)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"173fwi2vb6a5kp406hm3jj6j7v4whww796f2qcygp4rpvamh307y"))))
|
|
||||||
(build-system cmake-build-system)
|
|
||||||
(arguments
|
|
||||||
`(#:tests? #f ; there are no tests
|
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
(add-before 'build 'set-force-source-date
|
|
||||||
;; for reproducible dates, texlive needs this to respect
|
|
||||||
;; SOURCE_DATE_EPOCH
|
|
||||||
(lambda _
|
|
||||||
(setenv "FORCE_SOURCE_DATE" "1")))
|
|
||||||
(add-before 'build 'use-writable-texmfvar
|
|
||||||
;; Use writable TEXMFVAR to generate fonts.
|
|
||||||
(lambda _
|
|
||||||
(setenv "TEXMFVAR" "/tmp")))
|
|
||||||
(add-after 'unpack 'fix-latex-errors
|
|
||||||
(lambda _
|
|
||||||
(with-fluids ((%default-port-encoding #f))
|
|
||||||
(substitute* "doc/references.bib"
|
|
||||||
(("\\{S\\}illanp[^,]+,")
|
|
||||||
"{S}illanp{\\\"a}{\\\"a},")))
|
|
||||||
;; XXX: I just can't get pdflatex to not complain about these
|
|
||||||
;; characters. They end up in the manual via the generated
|
|
||||||
;; discrover-cli-help.txt.
|
|
||||||
(substitute* "src/hmm/cli.cpp"
|
|
||||||
(("µ") "mu")
|
|
||||||
(("η") "eta")
|
|
||||||
(("≤") "<="))
|
|
||||||
;; This seems to be a syntax error.
|
|
||||||
(substitute* "doc/discrover-manual.tex"
|
|
||||||
(("theverbbox\\[t\\]") "theverbbox"))))
|
|
||||||
(add-after 'unpack 'add-missing-includes
|
|
||||||
(lambda _
|
|
||||||
(substitute* "src/executioninformation.hpp"
|
|
||||||
(("#define EXECUTIONINFORMATION_HPP" line)
|
|
||||||
(string-append line "\n#include <random>")))
|
|
||||||
(substitute* "src/plasma/fasta.hpp"
|
|
||||||
(("#define FASTA_HPP" line)
|
|
||||||
(string-append line "\n#include <random>"))))))))
|
|
||||||
(inputs
|
|
||||||
(list boost cairo rmath-standalone))
|
|
||||||
(native-inputs
|
|
||||||
(list (texlive-local-tree
|
|
||||||
(list texlive-doi
|
|
||||||
texlive-etoolbox
|
|
||||||
texlive-examplep
|
|
||||||
texlive-forloop
|
|
||||||
texlive-listofitems
|
|
||||||
texlive-natbib
|
|
||||||
texlive-pgf ;tikz
|
|
||||||
texlive-readarray
|
|
||||||
texlive-verbatimbox))
|
|
||||||
imagemagick))
|
|
||||||
(home-page "https://dorina.mdc-berlin.de/public/rajewsky/discrover/")
|
|
||||||
(synopsis "Discover discriminative nucleotide sequence motifs")
|
|
||||||
(description "Discrover is a motif discovery method to find binding sites
|
|
||||||
of nucleic acid binding proteins.")
|
|
||||||
(license license:gpl3+)))
|
|
||||||
|
|
||||||
(define-public eddylab-squid
|
(define-public eddylab-squid
|
||||||
(package
|
(package
|
||||||
(name "eddylab-squid")
|
(name "eddylab-squid")
|
||||||
|
|||||||
@@ -427,7 +427,10 @@ files and generates build instructions for the Ninja build system.")
|
|||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
|
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))
|
||||||
|
(patches
|
||||||
|
(search-patches "meson-gir-fallback-path.patch"
|
||||||
|
"meson-keep-rpath-vicinity.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
|||||||
@@ -1327,25 +1327,6 @@ for the @acronym{AWS,Amazon Web Services} SDK.")
|
|||||||
(home-page "https://github.com/awslabs/aws-c-sdkutils")
|
(home-page "https://github.com/awslabs/aws-c-sdkutils")
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
(define-public pcl
|
|
||||||
(package
|
|
||||||
(name "pcl")
|
|
||||||
(version "1.12")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (string-append
|
|
||||||
"http://www.xmailserver.org/pcl-" version ".tar.gz"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"06ly65rq4iyj2p4704i215c8y4rgspwl8sxfaifmf4ahfr30bcz7"))))
|
|
||||||
(build-system gnu-build-system)
|
|
||||||
(home-page "http://www.xmailserver.org/libpcl.html")
|
|
||||||
(synopsis "Portable Coroutine Library")
|
|
||||||
(description "The @acronym{PCL, Portable Coroutine Library} implements the
|
|
||||||
low level functionality for coroutines.")
|
|
||||||
(license license:gpl2+)))
|
|
||||||
|
|
||||||
(define-public aws-c-http
|
(define-public aws-c-http
|
||||||
(package
|
(package
|
||||||
(name "aws-c-http")
|
(name "aws-c-http")
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system glib-or-gtk)
|
#:use-module (guix build-system glib-or-gtk)
|
||||||
|
#:use-module (guix build-system meson)
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
@@ -1000,18 +1001,17 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
|
|||||||
(define-public libudfread
|
(define-public libudfread
|
||||||
(package
|
(package
|
||||||
(name "libudfread")
|
(name "libudfread")
|
||||||
(version "1.1.2")
|
(version "1.2.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://download.videolan.org/pub/videolan/libudfread/"
|
"https://download.videolan.org/pub/videolan/libudfread/"
|
||||||
name "-" version ".tar.bz2"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"05c943ymw94nzjxf7v102916frqk7icgw4gb244wx23jn8cnz56m"))))
|
"03q5b1wm90vygx4rf4mzzrf0yhvhbvp72nyhv63pgz7v9jypqixv"))))
|
||||||
(build-system gnu-build-system)
|
(build-system meson-build-system)
|
||||||
(native-inputs
|
(native-inputs (list pkg-config))
|
||||||
(list automake autoconf libtool pkg-config))
|
|
||||||
(home-page "https://code.videolan.org/videolan/libudfread")
|
(home-page "https://code.videolan.org/videolan/libudfread")
|
||||||
(synopsis "C library to read UDF file systems")
|
(synopsis "C library to read UDF file systems")
|
||||||
(description "@code{libudfread} is a C library for reading
|
(description "@code{libudfread} is a C library for reading
|
||||||
|
|||||||
@@ -134,6 +134,7 @@
|
|||||||
#:use-module (gnu packages sdl)
|
#:use-module (gnu packages sdl)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
#:use-module (gnu packages tex)
|
#:use-module (gnu packages tex)
|
||||||
|
#:use-module (gnu packages texinfo)
|
||||||
#:use-module (gnu packages web)
|
#:use-module (gnu packages web)
|
||||||
#:use-module (gnu packages webkit)
|
#:use-module (gnu packages webkit)
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
@@ -1672,6 +1673,38 @@ maintained anymore.")
|
|||||||
concurrent queue for C++11.")
|
concurrent queue for C++11.")
|
||||||
(license license:bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define-public ringbuffer
|
||||||
|
(package
|
||||||
|
(name "ringbuffer")
|
||||||
|
(version "0.9.0")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/JohannesLorenz/ringbuffer")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1c57hj6zyvcjpcbwrq8c1hj5brk1bnh69ayd88ny1p0gx031sjpk"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:configure-flags
|
||||||
|
#~(list "-DCMAKE_CXX_FLAGS=-Wno-error=array-bounds"
|
||||||
|
(string-append "-DINSTALL_LIB_DIR=" #$output "/lib"))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'install-export-header
|
||||||
|
(lambda _
|
||||||
|
(install-file "src/lib/ringbuffer_export.h"
|
||||||
|
(string-append #$output
|
||||||
|
"/include/ringbuffer")))))))
|
||||||
|
(home-page "https://github.com/JohannesLorenz/ringbuffer")
|
||||||
|
(synopsis "Lock-free multi-reader ringbuffer")
|
||||||
|
(description
|
||||||
|
"@code{ringbuffer} is a library containing a ringbuffer. It is lock-free
|
||||||
|
(using atomics only), and allows multiple readers, but only one writer.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public spscqueue
|
(define-public spscqueue
|
||||||
(package
|
(package
|
||||||
(name "spscqueue")
|
(name "spscqueue")
|
||||||
@@ -3668,6 +3701,39 @@ computing Fast Fourier transformations. It supports multidimensional arrays,
|
|||||||
different floating point sizes and complex transformations.")
|
different floating point sizes and complex transformations.")
|
||||||
(license license:bsd-3))))
|
(license license:bsd-3))))
|
||||||
|
|
||||||
|
(define-public libbinio
|
||||||
|
;; The latest tagged version does not support CMake build. This commit has
|
||||||
|
;; builds with CMake and has updated CMake version support.
|
||||||
|
(let ((commit "e88dad086265e179ab6aef7f479e19f3917c7a98")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "libbinio")
|
||||||
|
(version (git-version "1.5" revision commit))
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/adplug/libbinio")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0rb33jl6gpxb88zymzl996m43b7r6wyw4lq0ib3626kna3baqnha"))))
|
||||||
|
(native-inputs
|
||||||
|
(list autoconf automake libtool texinfo))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:tests? #f ;no tests
|
||||||
|
#:configure-flags
|
||||||
|
#~(list "-DBUILD_SHARED_LIBS=ON")))
|
||||||
|
(home-page "http://adplug.github.io/libbinio/")
|
||||||
|
(synopsis "Binary I/O stream class library")
|
||||||
|
(description
|
||||||
|
"This binary I/O stream class library presents a platform-independent
|
||||||
|
way to access binary data streams in C++. The library is hardware independent
|
||||||
|
in the form that it transparently converts between the different forms of
|
||||||
|
machine-internal binary data representation.")
|
||||||
|
(license license:lgpl2.1+))))
|
||||||
|
|
||||||
(define-public priocpp
|
(define-public priocpp
|
||||||
;; Latest release is from 2022-08-14.
|
;; Latest release is from 2022-08-14.
|
||||||
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
|
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
|
||||||
@@ -4494,6 +4560,47 @@ meta data function.")
|
|||||||
;; or the CECILL-C license:
|
;; or the CECILL-C license:
|
||||||
(license (list license:lgpl3 license:cecill-c))))
|
(license (list license:lgpl3 license:cecill-c))))
|
||||||
|
|
||||||
|
(define-public tcbrindle-span
|
||||||
|
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "tcbrindle-span")
|
||||||
|
(version (git-version "0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/tcbrindle/span")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
;; Unbundle catch.
|
||||||
|
(snippet
|
||||||
|
'(with-directory-excursion "test"
|
||||||
|
(delete-file "catch.hpp")
|
||||||
|
(substitute* (find-files "." "\\.cpp$")
|
||||||
|
(("\"catch\\.hpp\"") "<catch.hpp>"))))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(native-inputs (list catch-framework))
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(replace 'install
|
||||||
|
(lambda _
|
||||||
|
(mkdir-p (string-append #$output))
|
||||||
|
(copy-recursively "../source/include"
|
||||||
|
(string-append #$output "/include")))))))
|
||||||
|
(home-page "https://github.com/tcbrindle/span")
|
||||||
|
(synopsis "Implementation of C++20's @code{std::span} for older compilers")
|
||||||
|
(description
|
||||||
|
"This package provides a single-header implementation of C++20's
|
||||||
|
@code{std::span}, conforming to the C++20 committee draft. It is compatible
|
||||||
|
with C++11, but will use newer language features if they are available.")
|
||||||
|
(license license:boost1.0))))
|
||||||
|
|
||||||
(define-public tsl-hopscotch-map
|
(define-public tsl-hopscotch-map
|
||||||
(package
|
(package
|
||||||
(name "tsl-hopscotch-map")
|
(name "tsl-hopscotch-map")
|
||||||
|
|||||||
@@ -9232,7 +9232,7 @@ similar rank-based tests for equal probability distributions due to Neuhauser
|
|||||||
(("^PKG_LIBS=.*")
|
(("^PKG_LIBS=.*")
|
||||||
(string-append "PKG_LIBS="
|
(string-append "PKG_LIBS="
|
||||||
(assoc-ref inputs "libnode")
|
(assoc-ref inputs "libnode")
|
||||||
"/lib/libnode.so.137\n")))
|
"/lib/libnode.so.127\n")))
|
||||||
(setenv "INCLUDE_DIR"
|
(setenv "INCLUDE_DIR"
|
||||||
(string-append
|
(string-append
|
||||||
(assoc-ref inputs "libnode")
|
(assoc-ref inputs "libnode")
|
||||||
|
|||||||
@@ -266,14 +266,14 @@ tmpfs/ramfs filesystems.")
|
|||||||
(define-public parted
|
(define-public parted
|
||||||
(package
|
(package
|
||||||
(name "parted")
|
(name "parted")
|
||||||
(version "3.6")
|
(version "3.7")
|
||||||
(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
|
||||||
"04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
|
"0yzga4cjq3yplqs47dl9714vwc3v3v8nxrj80rdc5wx4c5syb380"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -296,6 +296,7 @@ tmpfs/ramfs filesystems.")
|
|||||||
(,util-linux "lib")))
|
(,util-linux "lib")))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list gettext-minimal
|
(list gettext-minimal
|
||||||
|
pkg-config
|
||||||
|
|
||||||
;; For the tests.
|
;; For the tests.
|
||||||
e2fsprogs
|
e2fsprogs
|
||||||
|
|||||||
+48
-41
@@ -1005,7 +1005,7 @@ e.g. emacs-geiser-guile for Guile.")
|
|||||||
(define-public emacs-gptel
|
(define-public emacs-gptel
|
||||||
(package
|
(package
|
||||||
(name "emacs-gptel")
|
(name "emacs-gptel")
|
||||||
(version "0.9.9.4")
|
(version "0.9.9.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
@@ -1014,7 +1014,7 @@ e.g. emacs-geiser-guile for Guile.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1ffh2mwy9znjd0v9mh065lv122xg4nlnkbxwjfrsaqn1j1q2xc0c"))))
|
"1bf7xynmrm859471nxc56sv028i039qnqhhmkhzkhf76mwac6cx8"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -1025,8 +1025,7 @@ e.g. emacs-geiser-guile for Guile.")
|
|||||||
(lambda _
|
(lambda _
|
||||||
(copy-recursively
|
(copy-recursively
|
||||||
#$(this-package-native-input "emacs-gptel-test-files")
|
#$(this-package-native-input "emacs-gptel-test-files")
|
||||||
"test")
|
"test")))
|
||||||
(invoke "chmod" "--recursive" "u+w" "test")))
|
|
||||||
;; gptel-pkg.el produces an error during the check phase.
|
;; gptel-pkg.el produces an error during the check phase.
|
||||||
(add-before 'check 'rename-pkg
|
(add-before 'check 'rename-pkg
|
||||||
(lambda _ (rename-file "gptel-pkg.el" "gptel-pkg.el_")))
|
(lambda _ (rename-file "gptel-pkg.el" "gptel-pkg.el_")))
|
||||||
@@ -1035,16 +1034,9 @@ e.g. emacs-geiser-guile for Guile.")
|
|||||||
(add-after 'unpack 'use-appropriate-curl
|
(add-after 'unpack 'use-appropriate-curl
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
;; These two alternatives error on the substitution.
|
;; These two alternatives error on the substitution.
|
||||||
;; (emacs-substitute-variables "gptel-openai.el"
|
(emacs-substitute-variables "gptel-request.el"
|
||||||
;; ("gptel-use-curl"
|
("gptel-use-curl"
|
||||||
;; (search-input-file inputs "/bin/curl")))
|
(search-input-file inputs "/bin/curl"))))))))
|
||||||
;; (emacs-substitute-sexps "gptel-openai.el"
|
|
||||||
;; ("(defvar gptel-use-curl"
|
|
||||||
;; (search-input-file inputs "/bin/curl")))
|
|
||||||
(substitute* "gptel-openai.el"
|
|
||||||
(("defvar gptel-use-curl")
|
|
||||||
(format #f "defvar gptel-use-curl \"~a\""
|
|
||||||
(search-input-file inputs "/bin/curl")))))))))
|
|
||||||
(inputs (list curl))
|
(inputs (list curl))
|
||||||
(propagated-inputs (list emacs-compat emacs-transient))
|
(propagated-inputs (list emacs-compat emacs-transient))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
@@ -1053,11 +1045,11 @@ e.g. emacs-geiser-guile for Guile.")
|
|||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/karthink/gptel-test")
|
(url "https://github.com/karthink/gptel-test")
|
||||||
(commit "318c9dda9e6dbb3e61311cf4de23f124c4d2960a")))
|
(commit "c62e2f78d843f3454e068eb7ec6bb8d6001b0649")))
|
||||||
(file-name "emacs-gptel-test-files")
|
(file-name "emacs-gptel-test-files")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1368qrxxrw5zd2i0gx55r7yvi5xjma1khs8p5f2w76m7c6ms83yg")))))
|
"1xixi1fa2iwixi6f0wdva2pyisxb8myljwbx2v5nxd3v0i3fbgq9")))))
|
||||||
(home-page "https://github.com/karthink/gptel")
|
(home-page "https://github.com/karthink/gptel")
|
||||||
(synopsis "GPTel is a simple ChatGPT client for Emacs")
|
(synopsis "GPTel is a simple ChatGPT client for Emacs")
|
||||||
(description
|
(description
|
||||||
@@ -11904,22 +11896,22 @@ not hang at all.")
|
|||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public emacs-elastic-modes
|
(define-public emacs-elastic-modes
|
||||||
(let ((commit "c577e8921a4d9bd77742729707152bc557fae3e2")
|
(let ((commit "13c2b94a994717bb1517af0c19b10de33b29a94b")
|
||||||
(revision "2"))
|
(revision "3"))
|
||||||
(package
|
(package
|
||||||
(name "emacs-elastic-modes")
|
(name "emacs-elastic-modes")
|
||||||
(version (git-version "1.0.0" revision commit))
|
(version (git-version "1.0.0" revision commit))
|
||||||
(source (origin
|
(source
|
||||||
(method git-fetch)
|
(origin
|
||||||
(uri (git-reference
|
(method git-fetch)
|
||||||
(url "https://github.com/jyp/elastic-modes")
|
(uri (git-reference
|
||||||
(commit commit)))
|
(url "https://github.com/jyp/elastic-modes")
|
||||||
(file-name (git-file-name name version))
|
(commit commit)))
|
||||||
(sha256
|
(file-name (git-file-name name version))
|
||||||
(base32
|
(sha256
|
||||||
"0r40g7zgz9072x74qbnv8lmql0gajsz2p8b8jckmgyniakmln69v"))))
|
(base32 "1fb7hy65ax288zqc2y1qjmkja1ksdslvsjbz3jzw7cjcb4yvfkpc"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(arguments (list #:tests? #false)) ;no tests
|
(arguments (list #:tests? #f)) ;no tests
|
||||||
(propagated-inputs (list emacs-dash))
|
(propagated-inputs (list emacs-dash))
|
||||||
(home-page "https://github.com/jyp/elastic-modes")
|
(home-page "https://github.com/jyp/elastic-modes")
|
||||||
(synopsis "Text and code alignment for variable-width fonts")
|
(synopsis "Text and code alignment for variable-width fonts")
|
||||||
@@ -35200,21 +35192,36 @@ customisation options to control its behaviour.")
|
|||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public emacs-dired-launch
|
(define-public emacs-dired-launch
|
||||||
|
(let ((commit "97eb002a2090518df86182e9f1db703850534fb7")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "emacs-dired-launch")
|
||||||
|
(version (git-version "0.2" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://codeberg.org/thomp/dired-launch")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1rnjp0fb0rakaky7pa6vdpz8cpf2dg5k9zsvxl8h6lcc9b7qa61c"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:tests? #f)) ; No tests
|
||||||
|
(home-page "https://codeberg.org/thomp/dired-launch")
|
||||||
|
(synopsis "Extra command to launch external programs")
|
||||||
|
(description
|
||||||
|
"This package provides a method to open entries in external programs from dired.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public emacs-dired-launch-superseded-version
|
||||||
(package
|
(package
|
||||||
(name "emacs-dired-launch")
|
(inherit emacs-dired-launch)
|
||||||
(version "20240809.1910")
|
(version "20240809.1910")
|
||||||
(source (origin
|
(properties (list (cons 'superseded emacs-dired-launch)))))
|
||||||
(method url-fetch)
|
|
||||||
(uri (string-append "https://melpa.org/packages/dired-launch-"
|
|
||||||
version ".tar"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1zgs1hzy04pywpcgn5r8s7aah2bv1p5x5lmlcqg9yranxj8a9k6d"))))
|
|
||||||
(build-system emacs-build-system)
|
|
||||||
(synopsis "Extra command to launch external programs")
|
|
||||||
(description "This package provides a method to open entries in external programs from dired.")
|
|
||||||
(home-page "https://codeberg.org/thomp/dired-launch")
|
|
||||||
(license license:gpl3+)))
|
|
||||||
|
|
||||||
(define-public emacs-dired-rsync
|
(define-public emacs-dired-rsync
|
||||||
(package
|
(package
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2019, 2023 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2019, 2023, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@@ -226,15 +226,19 @@ testing InfiniBand networks.")
|
|||||||
|
|
||||||
(string-append "--with-rdmacm="
|
(string-append "--with-rdmacm="
|
||||||
#$(this-package-input "rdma-core"))
|
#$(this-package-input "rdma-core"))
|
||||||
(string-append "--with-rocm="
|
|
||||||
#$(this-package-input "rocr-runtime")))
|
#$@(if (this-package-input "rocr-runtime")
|
||||||
|
#~((string-append "--with-rocm="
|
||||||
|
#$(this-package-input
|
||||||
|
"rocr-runtime")))
|
||||||
|
#~()))
|
||||||
|
|
||||||
;; Be verbose so that compiler flags are displayed.
|
;; Be verbose so that compiler flags are displayed.
|
||||||
#:make-flags #~'("V=1")))
|
#:make-flags #~'("V=1")))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list autoconf automake libtool pkg-config))
|
(list autoconf automake libtool pkg-config))
|
||||||
(inputs
|
(inputs
|
||||||
(list numactl rdma-core rocr-runtime))
|
(list numactl rdma-core))
|
||||||
(synopsis "Optimized communication layer for message passing in HPC")
|
(synopsis "Optimized communication layer for message passing in HPC")
|
||||||
(description
|
(description
|
||||||
"Unified Communication X (UCX) provides an optimized communication layer
|
"Unified Communication X (UCX) provides an optimized communication layer
|
||||||
@@ -250,3 +254,13 @@ memory mechanisms for efficient intra-node communication.")
|
|||||||
;; and x86_64 as supported.
|
;; and x86_64 as supported.
|
||||||
(supported-systems '("x86_64-linux" "aarch64-linux" "powerpc64le-linux"
|
(supported-systems '("x86_64-linux" "aarch64-linux" "powerpc64le-linux"
|
||||||
"riscv64-linux"))))
|
"riscv64-linux"))))
|
||||||
|
|
||||||
|
;; Note: ROCm support is kept separate to avoid a significant increase in
|
||||||
|
;; closure size: <https://codeberg.org/guix/guix/issues/7225>.
|
||||||
|
(define-public ucx-rocm
|
||||||
|
(package/inherit ucx
|
||||||
|
(name "ucx-rocm")
|
||||||
|
(inputs (modify-inputs inputs
|
||||||
|
(append rocr-runtime)))
|
||||||
|
(synopsis "Optimized communication layer for message passing in HPC (with
|
||||||
|
ROCm support)")))
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
|
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
|
||||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||||
|
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@@ -1138,28 +1139,23 @@ transaction log.
|
|||||||
(source #f)
|
(source #f)
|
||||||
(build-system trivial-build-system)
|
(build-system trivial-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((guix build utils))
|
(list
|
||||||
#:builder
|
#:modules '((guix build utils))
|
||||||
(begin
|
#:builder
|
||||||
(use-modules (guix build utils)
|
#~(begin
|
||||||
(ice-9 ftw)
|
(use-modules (guix build utils))
|
||||||
(srfi srfi-26))
|
(let* ((sbin (string-append #$output "/sbin"))
|
||||||
(let* ((jfsutils (assoc-ref %build-inputs "jfsutils"))
|
(fsck (string-append sbin "/jfs_fsck")))
|
||||||
(fsck "jfs_fsck")
|
(install-file (search-input-file %build-inputs "sbin/jfs_fsck")
|
||||||
(out (assoc-ref %outputs "out"))
|
sbin)
|
||||||
(sbin (string-append out "/sbin")))
|
(remove-store-references fsck)
|
||||||
(mkdir-p sbin)
|
(chmod fsck #o555)))))
|
||||||
(with-directory-excursion sbin
|
|
||||||
(install-file (string-append jfsutils "/sbin/" fsck)
|
|
||||||
".")
|
|
||||||
(remove-store-references fsck)
|
|
||||||
(chmod fsck #o555))
|
|
||||||
#t))))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("jfsutils" ,jfsutils/static)))
|
(list jfsutils/static))
|
||||||
(home-page (package-home-page jfsutils))
|
(home-page (package-home-page jfsutils))
|
||||||
(synopsis "Statically-linked jfs_fsck command from jfsutils")
|
(synopsis "Statically-linked jfs_fsck command from jfsutils")
|
||||||
(description "This package provides statically-linked jfs_fsck command taken
|
(description
|
||||||
|
"This package provides statically-linked jfs_fsck command taken
|
||||||
from the jfsutils package. It is meant to be used in initrds.")
|
from the jfsutils package. It is meant to be used in initrds.")
|
||||||
(license (package-license jfsutils))))
|
(license (package-license jfsutils))))
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
|
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||||||
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
;;; Copyright © 2021-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||||
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
|
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
|
||||||
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
|
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
|
||||||
@@ -1382,14 +1382,15 @@ Font Format (WOFF).")
|
|||||||
(hidden-package
|
(hidden-package
|
||||||
(package
|
(package
|
||||||
(name "fontconfig-minimal")
|
(name "fontconfig-minimal")
|
||||||
(version "2.16.0")
|
(version "2.17.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://www.freedesktop.org/software/"
|
"https://gitlab.freedesktop.org/api/v4/projects/890"
|
||||||
"fontconfig/release/fontconfig-" version ".tar.xz"))
|
"/packages/generic/fontconfig/" version "/fontconfig-"
|
||||||
|
version ".tar.xz"))
|
||||||
(sha256 (base32
|
(sha256 (base32
|
||||||
"086jdsdxmc9ryr0n0dmgs0vfnkhkxxw5hsgpr888pfn9biaxqcva"))
|
"0hd5dw15q0i7518w1zqjcvyhvmlcf3ycv6df0ny1zz7zyj9swp4z"))
|
||||||
(patches (search-patches "fontconfig-cache-ignore-mtime.patch"))))
|
(patches (search-patches "fontconfig-cache-ignore-mtime.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
;; In Requires or Requires.private of fontconfig.pc.
|
;; In Requires or Requires.private of fontconfig.pc.
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
;;; Copyright © 2025 wvlab <me@wvlab.xyz>
|
;;; Copyright © 2025 wvlab <me@wvlab.xyz>
|
||||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||||
|
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@@ -793,16 +794,16 @@ the freedesktop.org XDG Base Directory specification.")
|
|||||||
(define-public elogind
|
(define-public elogind
|
||||||
(package
|
(package
|
||||||
(name "elogind")
|
(name "elogind")
|
||||||
(version "255.17")
|
(version "257.14")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/elogind/elogind")
|
(url "https://github.com/elogind/elogind")
|
||||||
(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
|
(base32
|
||||||
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h"))))
|
"16cbkkia2wmcjwqxgzl714igi9sgpcl4sdvag388vlh941136bs9"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags
|
`(#:configure-flags
|
||||||
@@ -3301,6 +3302,7 @@ compatible with the well-known scripts of the same name.")
|
|||||||
(list gettext-minimal
|
(list gettext-minimal
|
||||||
`(,glib "bin")
|
`(,glib "bin")
|
||||||
gst-plugins-good ;for wavparse plugin
|
gst-plugins-good ;for wavparse plugin
|
||||||
|
(librsvg-for-system) ;SVG loader needed for one test
|
||||||
pkg-config
|
pkg-config
|
||||||
python
|
python
|
||||||
python-dbusmock
|
python-dbusmock
|
||||||
@@ -3475,6 +3477,45 @@ remote-desktop @code{xdg-desktop-portal} interfaces for wlroots based
|
|||||||
compositors.")
|
compositors.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public xdg-desktop-portal-termfilechooser
|
||||||
|
(package
|
||||||
|
(name "xdg-desktop-portal-termfilechooser")
|
||||||
|
(version "1.3.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1wvmwl678fr5pxz7x248pm5v4jd3bycz8nqa2q87akys5b9d1xpd"))))
|
||||||
|
(build-system meson-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'fix-paths
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let ((sed (search-input-file inputs "/bin/sed")))
|
||||||
|
(substitute* (find-files #$output "-wrapper\\.sh")
|
||||||
|
((" sed") (string-append " " sed)))))))))
|
||||||
|
(native-inputs
|
||||||
|
(list cmake-minimal
|
||||||
|
pkg-config
|
||||||
|
scdoc))
|
||||||
|
(inputs
|
||||||
|
(list basu
|
||||||
|
libinih
|
||||||
|
sed))
|
||||||
|
(home-page "https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser")
|
||||||
|
(synopsis "@code{xdg-desktop-portal} backend for choosing files with your
|
||||||
|
favorite terminal file chooser")
|
||||||
|
(description
|
||||||
|
"This package provides a backend implementation for xdg-desktop-portal that
|
||||||
|
allows using your preferred terminal file manager as file chooser in other
|
||||||
|
applications.")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public poweralertd
|
(define-public poweralertd
|
||||||
(package
|
(package
|
||||||
(name "poweralertd")
|
(name "poweralertd")
|
||||||
|
|||||||
+88
-34
@@ -227,6 +227,7 @@
|
|||||||
#:use-module (gnu packages shells)
|
#:use-module (gnu packages shells)
|
||||||
#:use-module (gnu packages sqlite)
|
#:use-module (gnu packages sqlite)
|
||||||
#:use-module (gnu packages squirrel)
|
#:use-module (gnu packages squirrel)
|
||||||
|
#:use-module (gnu packages stb)
|
||||||
#:use-module (gnu packages swig)
|
#:use-module (gnu packages swig)
|
||||||
#:use-module (gnu packages tcl)
|
#:use-module (gnu packages tcl)
|
||||||
#:use-module (gnu packages terminals)
|
#:use-module (gnu packages terminals)
|
||||||
@@ -1234,11 +1235,11 @@ original rogue game found on 4.2BSD.")
|
|||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public sgt-puzzles
|
(define-public sgt-puzzles
|
||||||
(let ((commit "28032bd5a0d3dc409eb225b8bdb23fd0b18a28d7")
|
(let ((commit "06e37f1e334d85c7c779f79ef9e484ff2f708269")
|
||||||
(revision "0"))
|
(revision "0"))
|
||||||
(package
|
(package
|
||||||
(name "sgt-puzzles")
|
(name "sgt-puzzles")
|
||||||
(version (git-version "20251120" revision commit))
|
(version (git-version "20260308" revision commit))
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -1247,7 +1248,7 @@ original rogue game found on 4.2BSD.")
|
|||||||
(commit commit)))
|
(commit commit)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0533fzzagmi7g7sw1fdgpzy6gjpif77gxf3avz1qnjsma5gq7f2l"))))
|
(base32 "141d57s1va2ng7nxjzdgmsqh5mdb0mpy3yiqaj4rplya8xlhm34h"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -5348,36 +5349,78 @@ also available.")
|
|||||||
(sha256
|
(sha256
|
||||||
(base32 "05aj09rm50xb6910zx6imarj8k728x9bpvpa7ydwgb4sj1nypil8"))
|
(base32 "05aj09rm50xb6910zx6imarj8k728x9bpvpa7ydwgb4sj1nypil8"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet '(begin
|
(snippet
|
||||||
(with-directory-excursion "thirdparty"
|
'(begin
|
||||||
(delete-file-recursively "glm")
|
(with-directory-excursion "thirdparty"
|
||||||
(substitute* "CMakeLists.txt"
|
;; Delete third party ibraries, except these libraries:
|
||||||
(("add_subdirectory\\(glm\\)")
|
;; glad: header file is not available in the system glad package.
|
||||||
"find_package(glm REQUIRED)")))
|
;; imgui: configured with "srb2_imconfig.h".
|
||||||
(with-directory-excursion "src"
|
;; libwebm: Not available in Guix.
|
||||||
(substitute* "CMakeLists.txt"
|
;; renamenoise: Not available in Guix.
|
||||||
(("glm::glm")
|
;; tracy: header files are not available in the system tracy
|
||||||
"glm")))
|
;; package.
|
||||||
;; Rename the icon to match with the executable file.
|
(for-each delete-file-recursively
|
||||||
(rename-file "srb2.png" "ringracers.png")))))
|
'("discord-rpc"
|
||||||
|
"glm"
|
||||||
|
"nlohmann-json"
|
||||||
|
"overlay-ports/libyuv"
|
||||||
|
"tcbrindle_span"
|
||||||
|
"vma"
|
||||||
|
"volk"
|
||||||
|
"vulkan-headers"
|
||||||
|
"xmp-lite"))
|
||||||
|
;; Unbundle stb.
|
||||||
|
(with-directory-excursion "stb"
|
||||||
|
(for-each delete-file
|
||||||
|
'("include/stb_rect_pack.h"
|
||||||
|
"stb_vorbis.c"))
|
||||||
|
(substitute* "stb_rect_pack.c"
|
||||||
|
(("\"include\\/stb_rect_pack\\.h\"") "<stb_rect_pack.h>"))
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
(("include\\/stb_rect_pack\\.h ") "")))
|
||||||
|
;; Find third party libraries from the system and do not add the
|
||||||
|
;; deleted directories.
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
(("add_subdirectory\\((glm|discord-rpc|xmp-lite|fmt|volk)\\)"
|
||||||
|
_ keep)
|
||||||
|
(string-append "find_package(" keep " REQUIRED)"))
|
||||||
|
(("xmp-lite") "libxmp")
|
||||||
|
((".*nlohmann-json.*") "")
|
||||||
|
((".*tcbrindle_span.*") "")
|
||||||
|
((".*vulkan-headers.*") "")
|
||||||
|
((".*vma.*") "")))
|
||||||
|
(with-directory-excursion "src"
|
||||||
|
;; Link the system libraries instead of the unbundled ones.
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
((".*tcbrindle::span.*") "")
|
||||||
|
(("glm::glm") "glm")
|
||||||
|
(("xmp-lite::xmp-lite") "xmp")
|
||||||
|
(("fmt::fmt-header-only") "fmt")
|
||||||
|
((".*nlohmann_json::nlohmann_json.*") "")))
|
||||||
|
;; Rename the icon to match with the executable file.
|
||||||
|
(rename-file "srb2.png" "ringracers.png")))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:tests? #f ;There are no tests.
|
#:tests? #f ;There are no tests.
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
#~(list "-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
|
#~(list "-DSRB2_CONFIG_ENABLE_DISCORDRPC=OFF"
|
||||||
|
"-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
|
||||||
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'")
|
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'copy-stb_vorbis.c
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(install-file (search-input-file inputs "/stb_vorbis.c")
|
||||||
|
"thirdparty/stb")))
|
||||||
(replace 'install
|
(replace 'install
|
||||||
(lambda _
|
(lambda _
|
||||||
(install-file "bin/ringracers" (string-append #$output "/bin"))
|
(install-file "bin/ringracers" (string-append #$output "/bin"))
|
||||||
(install-file "../source/ringracers.png"
|
(install-file "../source/ringracers.png"
|
||||||
(string-append #$output "/share/pixmaps"))))
|
(string-append #$output "/share/pixmaps"))))
|
||||||
(add-after 'install 'wrap-program
|
(add-after 'install 'wrap-program
|
||||||
;; Install executable to $out/bin.
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(wrap-program "bin/ringracers"
|
(wrap-program (string-append #$output "/bin/ringracers")
|
||||||
`("RINGRACERSWADDIR" =
|
`("RINGRACERSWADDIR" =
|
||||||
(,(assoc-ref inputs "ring-racers-data"))))))
|
(,(assoc-ref inputs "ring-racers-data"))))))
|
||||||
(add-after 'wrap-program 'create-desktop-entry
|
(add-after 'wrap-program 'create-desktop-entry
|
||||||
@@ -5393,26 +5436,37 @@ also available.")
|
|||||||
#:exec (string-append #$output "/bin/ringracers")
|
#:exec (string-append #$output "/bin/ringracers")
|
||||||
#:startup-notify #f
|
#:startup-notify #f
|
||||||
#:categories '("Application" "Game"))))))))
|
#:categories '("Application" "Game"))))))))
|
||||||
(native-inputs (list pkg-config))
|
(native-inputs
|
||||||
(inputs (list glm
|
(list pkg-config
|
||||||
|
(package-source stb)))
|
||||||
|
(inputs (list bash-minimal
|
||||||
|
curl
|
||||||
|
fmt
|
||||||
|
glm
|
||||||
libogg
|
libogg
|
||||||
libpng
|
libpng
|
||||||
libvorbis
|
libvorbis
|
||||||
libvpx
|
libvpx
|
||||||
|
libxmp
|
||||||
libyuv
|
libyuv
|
||||||
|
nlohmann-json
|
||||||
opus
|
opus
|
||||||
ring-racers-data
|
ring-racers-data
|
||||||
sdl2
|
sdl2
|
||||||
zlib
|
stb-rect-pack
|
||||||
curl))
|
tcbrindle-span
|
||||||
(home-page "https://kartkrew.org")
|
vulkan-headers
|
||||||
|
vulkan-memory-allocator
|
||||||
|
vulkan-volk
|
||||||
|
zlib))
|
||||||
|
(home-page "https://www.kartkrew.org/")
|
||||||
(synopsis "Technical kart racing game")
|
(synopsis "Technical kart racing game")
|
||||||
(description
|
(description
|
||||||
"Dr. Robotnik's Ring Racers is a kart racing game drawing inspiration from
|
"Dr.@: Robotnik's Ring Racers is a kart racing game drawing inspiration
|
||||||
``anti-gravity'' racers, fighting games, and traditional-style kart racing.
|
from \"anti-gravity\" racers, fighting games, and traditional-style kart
|
||||||
Ring Racers is designed with an emphasis on player agency in the face of highly
|
racing. Ring Racers is designed with an emphasis on player agency in the face
|
||||||
technical game-play challenges in both single-player and online multiplayer
|
of highly technical game-play challenges in both single-player and online
|
||||||
modes.")
|
multiplayer modes.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public unknown-horizons
|
(define-public unknown-horizons
|
||||||
@@ -5743,14 +5797,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
|
|||||||
(define-public openttd-engine
|
(define-public openttd-engine
|
||||||
(package
|
(package
|
||||||
(name "openttd-engine")
|
(name "openttd-engine")
|
||||||
(version "15.2")
|
(version "15.3")
|
||||||
(source
|
(source
|
||||||
(origin (method url-fetch)
|
(origin (method url-fetch)
|
||||||
(uri (string-append "https://cdn.openttd.org/openttd-releases/"
|
(uri (string-append "https://cdn.openttd.org/openttd-releases/"
|
||||||
version "/openttd-" version "-source.tar.xz"))
|
version "/openttd-" version "-source.tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0xpzschcf562giqh3p8jj9gbi8chqrikdwgqqipabyn0nwbvd6nj"))))
|
"1rrvjxsr2dp9zr6b35ifiw41c0dwqqcaq90r0x18misrgpm1x8jy"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list allegro
|
(list allegro
|
||||||
@@ -5984,7 +6038,7 @@ Transport Tycoon Deluxe.")
|
|||||||
(package
|
(package
|
||||||
(inherit openttd)
|
(inherit openttd)
|
||||||
(name "openttd-jgrpp")
|
(name "openttd-jgrpp")
|
||||||
(version "0.71.2")
|
(version "0.72.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -5993,7 +6047,7 @@ Transport Tycoon Deluxe.")
|
|||||||
(commit (string-append "jgrpp-" version))))
|
(commit (string-append "jgrpp-" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1gb5gickmf1d1wkzqny5ryapvw32a2g94f77iq0102xhyyw8g8s0"))))
|
(base32 "0xbnnx03y8vhbgi6s7hsxhiqhsy6rhj7fypq6dfqh0z74m5bldkf"))))
|
||||||
(inputs (modify-inputs inputs
|
(inputs (modify-inputs inputs
|
||||||
(append zstd harfbuzz)))
|
(append zstd harfbuzz)))
|
||||||
(arguments
|
(arguments
|
||||||
@@ -10171,7 +10225,7 @@ their own levels.")
|
|||||||
(define-public libmanette
|
(define-public libmanette
|
||||||
(package
|
(package
|
||||||
(name "libmanette")
|
(name "libmanette")
|
||||||
(version "0.2.12")
|
(version "0.2.13")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/libmanette/"
|
(uri (string-append "mirror://gnome/sources/libmanette/"
|
||||||
@@ -10179,7 +10233,7 @@ their own levels.")
|
|||||||
"libmanette-" version ".tar.xz"))
|
"libmanette-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1n513s8ksjbrwqq7k46f3550avx11gly3a85shsdrwc0f4k4kcs8"))))
|
"1bnqfxd9b5vff9256f8vxd404fkvbvc5gxva6qcjj2fyw3yw4z18"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list `(,glib "bin") ; for glib-compile-resources
|
(list `(,glib "bin") ; for glib-compile-resources
|
||||||
|
|||||||
@@ -50,15 +50,15 @@
|
|||||||
(define-public lcms
|
(define-public lcms
|
||||||
(package
|
(package
|
||||||
(name "lcms")
|
(name "lcms")
|
||||||
(version "2.13.1")
|
(version "2.16.0")
|
||||||
(source (origin
|
(source
|
||||||
(method url-fetch)
|
(origin
|
||||||
(uri (string-append "mirror://sourceforge/lcms/lcms/"
|
(method url-fetch)
|
||||||
(version-major+minor version)
|
(uri (string-append "mirror://sourceforge/lcms/lcms/"
|
||||||
"/lcms2-" version ".tar.gz"))
|
(version-major+minor version)
|
||||||
(sha256
|
"/lcms2-" (version-major+minor version) ".tar.gz"))
|
||||||
(base32
|
(sha256
|
||||||
"121v414bg2zk0fcwx0kigr2l6nxl88nmblfn3gq5lz5jwybffwyl"))))
|
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:configure-flags '("--disable-static")))
|
'(#:configure-flags '("--disable-static")))
|
||||||
@@ -73,19 +73,8 @@ Consortium standard (ICC), approved as ISO 15076-1.")
|
|||||||
(home-page "https://www.littlecms.com/")
|
(home-page "https://www.littlecms.com/")
|
||||||
(properties '((cpe-name . "little_cms_color_engine")))))
|
(properties '((cpe-name . "little_cms_color_engine")))))
|
||||||
|
|
||||||
(define-public lcms-next
|
;; Can be removed after 2027/05/01.
|
||||||
(package
|
(define-deprecated-package lcms-next lcms)
|
||||||
(inherit lcms)
|
|
||||||
(name "lcms-next")
|
|
||||||
(version "2.16.0")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (string-append "mirror://sourceforge/lcms/lcms/"
|
|
||||||
(version-major+minor version)
|
|
||||||
"/lcms2-" (version-major+minor version) ".tar.gz"))
|
|
||||||
(sha256
|
|
||||||
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))))
|
|
||||||
|
|
||||||
(define-public libpaper
|
(define-public libpaper
|
||||||
(package
|
(package
|
||||||
|
|||||||
@@ -994,7 +994,7 @@ useful for C++.")
|
|||||||
(define-public python-pygobject
|
(define-public python-pygobject
|
||||||
(package
|
(package
|
||||||
(name "python-pygobject")
|
(name "python-pygobject")
|
||||||
(version "3.54.3")
|
(version "3.54.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -1003,7 +1003,7 @@ useful for C++.")
|
|||||||
"/pygobject-" version ".tar.gz"))
|
"/pygobject-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1rxsj85xl73a14vz7s30sy8lx9sswd2j2hgj3i4mcz8g989hknm8"))))
|
"11dm5yi80v143dn21bayqxb53w67hk1lishmrw35c97m91inyrdn"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
;; The tests require mutter, which would introduce a circular dependency.
|
;; The tests require mutter, which would introduce a circular dependency.
|
||||||
(arguments (list #:tests? #f))
|
(arguments (list #:tests? #f))
|
||||||
|
|||||||
@@ -682,7 +682,7 @@ and a high score table.")
|
|||||||
(define-public komikku
|
(define-public komikku
|
||||||
(package
|
(package
|
||||||
(name "komikku")
|
(name "komikku")
|
||||||
(version "50.1.0")
|
(version "50.3.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -692,7 +692,7 @@ and a high score table.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
|
"0hm1infvdsms193g2yp7qw7lrsxjsx5zziib8hgch34y6dbhfhf1"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -780,7 +780,7 @@ developed with the aim of being used with the Librem 5 phone.")
|
|||||||
(define-public komikku-servers
|
(define-public komikku-servers
|
||||||
(package
|
(package
|
||||||
(name "komikku-servers")
|
(name "komikku-servers")
|
||||||
(version "50.1.0")
|
(version "50.3.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -790,7 +790,7 @@ developed with the aim of being used with the Librem 5 phone.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
|
"0hm1infvdsms193g2yp7qw7lrsxjsx5zziib8hgch34y6dbhfhf1"))))
|
||||||
(build-system copy-build-system)
|
(build-system copy-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
|||||||
+227
-164
@@ -215,6 +215,7 @@
|
|||||||
#:use-module (gnu packages readline)
|
#:use-module (gnu packages readline)
|
||||||
#:use-module (gnu packages ruby-xyz)
|
#:use-module (gnu packages ruby-xyz)
|
||||||
#:use-module (gnu packages rust)
|
#:use-module (gnu packages rust)
|
||||||
|
#:use-module (gnu packages rust-apps)
|
||||||
#:use-module (gnu packages samba)
|
#:use-module (gnu packages samba)
|
||||||
#:use-module (gnu packages scanner)
|
#:use-module (gnu packages scanner)
|
||||||
#:use-module (gnu packages sdl)
|
#:use-module (gnu packages sdl)
|
||||||
@@ -2084,7 +2085,7 @@ offline sources, providing a centralized place for managing your contacts.")
|
|||||||
(define-public gnome-desktop
|
(define-public gnome-desktop
|
||||||
(package
|
(package
|
||||||
(name "gnome-desktop")
|
(name "gnome-desktop")
|
||||||
(version "44.4")
|
(version "44.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -2093,11 +2094,16 @@ offline sources, providing a centralized place for managing your contacts.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1129nh32ga5vv869fwby3n2lvj2chd9wys8j1jdnisr8lg3bk30x"))))
|
"0br33ma7l45nr8yp9bcjqgy9zrj57yy2fnkc0b0yh0rsdrd9kq10"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
'(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'disable-problematic-tests
|
||||||
|
(lambda _
|
||||||
|
;; The languages test fails due to Guix defaulting to C.UTF-8.
|
||||||
|
(substitute* "tests/meson.build"
|
||||||
|
((".*'languages':.*") ""))))
|
||||||
(add-before 'configure 'patch-path
|
(add-before 'configure 'patch-path
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(substitute* "libgnome-desktop/gnome-languages.c"
|
(substitute* "libgnome-desktop/gnome-languages.c"
|
||||||
@@ -2687,7 +2693,7 @@ and single page document formats like PDF and DejaVu.")
|
|||||||
(define-public gsettings-desktop-schemas
|
(define-public gsettings-desktop-schemas
|
||||||
(package
|
(package
|
||||||
(name "gsettings-desktop-schemas")
|
(name "gsettings-desktop-schemas")
|
||||||
(version "48.0")
|
(version "49.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -2696,7 +2702,7 @@ and single page document formats like PDF and DejaVu.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1lqv5mn7r1c8nxm6dfxgvk56r2sqfgafkj5jm1jzh65z2dc1b3z6"))))
|
"0qqfxml3kqg87ly5w8rhqalin6qv20jcn2gqkdmhga75sn1pyykp"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases (modify-phases %standard-phases
|
`(#:phases (modify-phases %standard-phases
|
||||||
@@ -2874,7 +2880,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
|
|||||||
(define-public adwaita-icon-theme
|
(define-public adwaita-icon-theme
|
||||||
(package
|
(package
|
||||||
(name "adwaita-icon-theme")
|
(name "adwaita-icon-theme")
|
||||||
(version "48.1")
|
(version "49.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -2882,7 +2888,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"04kfi8qpvghhmj83p03k509pnsp8ywlrii1qm0xv056dxf39pznb"))))
|
"0p3mj6bl8wp1cri2qdszqrqqs47irh7qvajr5yaaly5js5hn85k5"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:phases
|
(list #:phases
|
||||||
@@ -3221,6 +3227,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
|
|||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
#:glib-or-gtk? #t
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||||
@@ -3228,17 +3235,13 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
|
|||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "meson_post_install.py"
|
(substitute* "meson_post_install.py"
|
||||||
(("gtk-update-icon-cache") "true"))))
|
(("gtk-update-icon-cache") "true"))))
|
||||||
|
(add-after 'unpack 'skip-modules-test
|
||||||
#$@(if (this-package-input "gjs")
|
;; This test fails with 'GLib-GObject-FATAL-CRITICAL: cannot
|
||||||
'()
|
;; register existing type 'GIRepository' since the GNOME 49
|
||||||
'((add-after 'unpack 'skip-gjs-test
|
;; upgrades.
|
||||||
(lambda _
|
(lambda _
|
||||||
;; When the optional dependency on GJS is missing, skip
|
(substitute* "tests/meson.build"
|
||||||
;; the GJS plugin tests.
|
((".*'modules', .*") ""))))
|
||||||
(substitute* "tests/modules.c"
|
|
||||||
(("g_test_add.*JavaScript.*" all)
|
|
||||||
(string-append "// " all "\n")))
|
|
||||||
(delete-file "tests/catalogs/gjsplugin.xml")))))
|
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "HOME" "/tmp")
|
(setenv "HOME" "/tmp")
|
||||||
@@ -3494,7 +3497,7 @@ XML/CSS rendering engine.")
|
|||||||
(define-public libgsf
|
(define-public libgsf
|
||||||
(package
|
(package
|
||||||
(name "libgsf")
|
(name "libgsf")
|
||||||
(version "1.14.54")
|
(version "1.14.55")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -3502,7 +3505,7 @@ XML/CSS rendering engine.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"08vny43clswk95djch50z17hdnns2p8qc93if6qcy4r598k6k26i"))))
|
"0c91l0l3camxpanpgp634nd68vz3v0jbk9bxs5dfmlsvl6xhmmkl"))))
|
||||||
(build-system glib-or-gtk-build-system)
|
(build-system glib-or-gtk-build-system)
|
||||||
(outputs '("out" "bin" "doc"))
|
(outputs '("out" "bin" "doc"))
|
||||||
(arguments
|
(arguments
|
||||||
@@ -3550,7 +3553,7 @@ for dealing with different structured file formats.")
|
|||||||
(define-public librsvg
|
(define-public librsvg
|
||||||
(package
|
(package
|
||||||
(name "librsvg")
|
(name "librsvg")
|
||||||
(version "2.58.5")
|
(version "2.61.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/librsvg/"
|
(uri (string-append "mirror://gnome/sources/librsvg/"
|
||||||
@@ -3558,45 +3561,31 @@ for dealing with different structured file formats.")
|
|||||||
"librsvg-" version ".tar.xz"))
|
"librsvg-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0ym2yg94sc7ralh1kwqqrhz3wcc51079z90mbx0qrls7wfh36hi2"))))
|
"036afbhd2h4brbd491kmgig0ib1df3s7j9bx8349b3zjs4lfm87w"))))
|
||||||
(build-system gnu-build-system)
|
(build-system meson-build-system)
|
||||||
(outputs '("out" "doc" "debug"))
|
(outputs '("out" "doc" "debug"))
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
#~(list "--disable-static"
|
#~(list #$@(if (%current-target-system)
|
||||||
#$@(if (%current-target-system)
|
#~( ;; g-ir-scanner can't import its modules
|
||||||
#~(;; g-ir-scanner can't import its modules
|
|
||||||
;; and vala currently can't be cross-compiled.
|
;; and vala currently can't be cross-compiled.
|
||||||
"--enable-introspection=no"
|
"-Dintrospection=false"
|
||||||
"--enable-vala=no"
|
"-Dvala=false"
|
||||||
;; These two are necessary for cross-compiling.
|
|
||||||
(string-append
|
|
||||||
"--build=" #$(nix-system->gnu-triplet
|
|
||||||
(%current-system)))
|
|
||||||
(string-append
|
|
||||||
"--host=" #$(%current-target-system))
|
|
||||||
;; This is needed when cross-compiling for some
|
;; This is needed when cross-compiling for some
|
||||||
;; architectures as autoconf and rust disagree about
|
;; architectures as autoconf and rust disagree about
|
||||||
;; the target triplet.
|
;; the target triplet.
|
||||||
(string-append "RUST_TARGET="
|
(string-append "-Dtriplet="
|
||||||
#$(platform-rust-target
|
#$(platform-rust-target
|
||||||
(lookup-platform-by-target
|
(lookup-platform-by-target
|
||||||
(%current-target-system)))))
|
(%current-target-system)))))
|
||||||
#~("--enable-vala")))
|
#~())
|
||||||
#:make-flags
|
"-Dpixbuf-loader=enabled") ;disabled since 2.61.2
|
||||||
#~(list (string-append "CC=" #$(cc-for-target))
|
#:imported-modules (append %cargo-build-system-modules
|
||||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
|
%meson-build-system-modules)
|
||||||
#$@(if (%current-target-system)
|
|
||||||
#~((string-append "RUST_TARGET="
|
|
||||||
#$(platform-rust-target
|
|
||||||
(lookup-platform-by-target
|
|
||||||
(%current-target-system)))))
|
|
||||||
#~()))
|
|
||||||
#:imported-modules %cargo-build-system-modules
|
|
||||||
#:modules
|
#:modules
|
||||||
'(((guix build cargo-build-system) #:prefix cargo:)
|
'(((guix build cargo-build-system) #:prefix cargo:)
|
||||||
(guix build gnu-build-system)
|
(guix build meson-build-system)
|
||||||
(guix build utils))
|
(guix build utils))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
@@ -3613,12 +3602,19 @@ for dealing with different structured file formats.")
|
|||||||
(lambda _
|
(lambda _
|
||||||
;; Something about the build environment resists building
|
;; Something about the build environment resists building
|
||||||
;; successfully with the '--locked' flag.
|
;; successfully with the '--locked' flag.
|
||||||
(substitute* '("Makefile.am" "Makefile.in")
|
(substitute* "meson/cargo_wrapper.py"
|
||||||
(("--locked") ""))))
|
(("\"--locked\",?") ""))
|
||||||
(add-after 'unpack 'loosen-test-boundaries
|
;; This is needed so Cargo embeds the correct RUNPATH
|
||||||
|
;; information to the binaries it produces,
|
||||||
|
;; e.g. libpixbufloader_svg.so.
|
||||||
|
(setenv "RUSTFLAGS"
|
||||||
|
(string-append "-C link-arg=-Wl,-rpath,"
|
||||||
|
#$output "/lib"))))
|
||||||
|
(add-after 'unpack 'prepare-for-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
|
(setenv "HOME" "/tmp") ;placate fontconfig errors
|
||||||
;; Increase reftest tolerance a bit to account for different
|
;; Increase reftest tolerance a bit to account for different
|
||||||
;; harfbuzz, pango, etc.
|
;; libraries like pango, etc.
|
||||||
(setenv "RSVG_TEST_TOLERANCE" "20")
|
(setenv "RSVG_TEST_TOLERANCE" "20")
|
||||||
;; These tests fail even after loosening the tolerance.
|
;; These tests fail even after loosening the tolerance.
|
||||||
(substitute* "rsvg/tests/reference.rs"
|
(substitute* "rsvg/tests/reference.rs"
|
||||||
@@ -3626,19 +3622,16 @@ for dealing with different structured file formats.")
|
|||||||
((".*rtl_tspan_svg.*") ""))))
|
((".*rtl_tspan_svg.*") ""))))
|
||||||
(add-before 'configure 'pre-configure
|
(add-before 'configure 'pre-configure
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(substitute* "gdk-pixbuf-loader/Makefile.in"
|
(substitute* "gdk-pixbuf-loader/meson.build"
|
||||||
;; By default the gdk-pixbuf loader is installed under
|
;; By default the gdk-pixbuf loader is installed under
|
||||||
;; gdk-pixbuf's prefix. Work around that.
|
;; gdk-pixbuf's prefix. Work around that.
|
||||||
(("gdk_pixbuf_moduledir = .*$")
|
(("pixbuf_dep.get_variable.*'gdk_pixbuf_moduledir'.*),")
|
||||||
(string-append "gdk_pixbuf_moduledir = "
|
(format #f "get_option('prefix') / '~a',"
|
||||||
"$(prefix)/"
|
#$%gdk-pixbuf-loaders-directory))
|
||||||
#$(dirname %gdk-pixbuf-loaders-cache-file) "/"
|
(("pixbuf_dep.get_variable.*'gdk_pixbuf_query_loaders'.*),")
|
||||||
"loaders\n")))
|
(format #f "'~a'," (which "gdk-pixbuf-query-loaders")))
|
||||||
(substitute* "configure"
|
(("pixbuf_dep.get_variable.*'gdk_pixbuf_cache_file'.*)")
|
||||||
(("gdk_pixbuf_cache_file=.*")
|
(format #f "prefix / '~a'" #$%gdk-pixbuf-loaders-cache-file)))))
|
||||||
(string-append "gdk_pixbuf_cache_file="
|
|
||||||
#$output "/"
|
|
||||||
#$%gdk-pixbuf-loaders-cache-file "\n")))))
|
|
||||||
(add-after 'unpack 'prepare-cargo-build-system
|
(add-after 'unpack 'prepare-cargo-build-system
|
||||||
(lambda args
|
(lambda args
|
||||||
(for-each
|
(for-each
|
||||||
@@ -3650,23 +3643,30 @@ for dealing with different structured file formats.")
|
|||||||
'(unpack-rust-crates
|
'(unpack-rust-crates
|
||||||
configure
|
configure
|
||||||
check-for-pregenerated-files
|
check-for-pregenerated-files
|
||||||
patch-cargo-checksums)))))))
|
patch-cargo-checksums))))
|
||||||
|
(add-after 'install 'sanitize-pkg-config-files
|
||||||
|
(lambda _
|
||||||
|
(substitute* (find-files #$output "\\.pc$")
|
||||||
|
(("^Requires.private:.*") "")))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(append
|
(append
|
||||||
(list gdk-pixbuf
|
(list gdk-pixbuf
|
||||||
|
gi-docgen
|
||||||
`(,glib "bin")
|
`(,glib "bin")
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
pkg-config
|
pkg-config
|
||||||
|
python
|
||||||
|
python-docutils ;for rst2man
|
||||||
rust
|
rust
|
||||||
`(,rust "cargo")
|
rust-cargo-c
|
||||||
vala)
|
vala)
|
||||||
(or (and=> (%current-target-system)
|
(or (and=> (%current-target-system)
|
||||||
(compose list make-rust-sysroot))
|
(compose list make-rust-sysroot))
|
||||||
'())))
|
'())))
|
||||||
(inputs
|
(inputs
|
||||||
(cons* freetype
|
(cons* dav1d
|
||||||
|
freetype
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
harfbuzz
|
|
||||||
libxml2
|
libxml2
|
||||||
pango
|
pango
|
||||||
(cargo-inputs 'librsvg)))
|
(cargo-inputs 'librsvg)))
|
||||||
@@ -4667,7 +4667,7 @@ and RDP protocols.")
|
|||||||
(define-public dconf
|
(define-public dconf
|
||||||
(package
|
(package
|
||||||
(name "dconf")
|
(name "dconf")
|
||||||
(version "0.40.0")
|
(version "0.49.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
@@ -4676,7 +4676,7 @@ and RDP protocols.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg"))))
|
"0dkc7nbd0byibf6i5gm9xqclr7i94n1p1qbqcnwxnml1lm4px90n"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -4685,7 +4685,8 @@ and RDP protocols.")
|
|||||||
;; there and loaded without having to set GCONF_PROFILE, which cannot be
|
;; there and loaded without having to set GCONF_PROFILE, which cannot be
|
||||||
;; safely set globally (as a gconf profile is a per-user thing).
|
;; safely set globally (as a gconf profile is a per-user thing).
|
||||||
#:configure-flags #~(list "--sysconfdir=/etc"
|
#:configure-flags #~(list "--sysconfdir=/etc"
|
||||||
"-Dgtk_doc=true")
|
"-Dgtk_doc=true"
|
||||||
|
"--wrap-mode=nodownload") ;for gvdb
|
||||||
#:phases #~(modify-phases %standard-phases
|
#:phases #~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'increase-test-timeout
|
(add-after 'unpack 'increase-test-timeout
|
||||||
(lambda _
|
(lambda _
|
||||||
@@ -5211,17 +5212,26 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
|
|||||||
(define-public gi-docgen
|
(define-public gi-docgen
|
||||||
(package
|
(package
|
||||||
(name "gi-docgen")
|
(name "gi-docgen")
|
||||||
(version "2025.4")
|
(version "2026.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "gi_docgen" version))
|
(uri (pypi-uri "gi_docgen" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1i9dlwirizc0n5sw9w60yscaj14x9x06fdq64kwxqkia13d6dq3z"))))
|
"1df7yb6d5zsr4wks4p2lf40a2v4v2dasx3pv2v3d2ma25d7krb35"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
(arguments
|
||||||
(list python-pytest-bootstrap
|
(list
|
||||||
python-setuptools))
|
#:phases #~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-commands
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* '("gidocgen/config.py"
|
||||||
|
"gidocgen/utils.py")
|
||||||
|
(("find_program\\(['\"]dot['\"])")
|
||||||
|
(format #f "find_program(~s)"
|
||||||
|
(search-input-file inputs "bin/dot")))))))))
|
||||||
|
(native-inputs (list python-pytest-bootstrap python-setuptools))
|
||||||
|
(inputs (list graphviz-14))
|
||||||
(propagated-inputs (list python-jinja2
|
(propagated-inputs (list python-jinja2
|
||||||
python-markdown
|
python-markdown
|
||||||
python-markupsafe
|
python-markupsafe
|
||||||
@@ -6978,10 +6988,10 @@ side panel;
|
|||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this.
|
;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this.
|
||||||
(define-public glycin-loaders
|
(define-public libglycin
|
||||||
(package
|
(package
|
||||||
(name "glycin-loaders")
|
(name "libglycin")
|
||||||
(version "2.0.7")
|
(version "2.1.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -6991,12 +7001,16 @@ side panel;
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
|
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
|
||||||
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
|
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
|
||||||
(outputs '("out" "debug"))
|
(outputs '("out" "debug"))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
#:configure-flags #~(list "-Dglycin-loaders=false"
|
||||||
|
"-Dglycin-thumbnailer=true"
|
||||||
|
"-Dlibglycin=true"
|
||||||
|
"-Dlibglycin-gtk4=true")
|
||||||
#:imported-modules `(,@%meson-build-system-modules
|
#:imported-modules `(,@%meson-build-system-modules
|
||||||
,@%cargo-build-system-modules)
|
,@%cargo-build-system-modules)
|
||||||
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
|
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
|
||||||
@@ -7082,18 +7096,15 @@ side panel;
|
|||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://gitlab.gnome.org/sophie-h/test-images.git")
|
(url "https://gitlab.gnome.org/sophie-h/test-images.git")
|
||||||
(commit "b148bcf70847d6f126a8e83e27e1c59d2e474adf")))
|
(commit "b3a107267cc4f1d136b7007938556250ce06fc4f")))
|
||||||
(file-name "glycin-test-images")
|
(file-name "glycin-test-images")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"16s3lss4cbny5d0ixhc0vaxxcvq2n7rcnbklrxdm84p2m21192vm")))))
|
"1jvra75kjqkndxzzpmi5lb8d3q4fi3yc4hha0r1g9brdsnbhsp6f")))))
|
||||||
(inputs (cons* bubblewrap
|
(inputs (cons* bubblewrap
|
||||||
libheif
|
|
||||||
libjxl
|
|
||||||
librsvg
|
|
||||||
(cargo-inputs 'glycin)))
|
(cargo-inputs 'glycin)))
|
||||||
;; The following inputs are 'Required' in the pkg-config files.
|
;; The following inputs are 'Required' in the pkg-config files.
|
||||||
(propagated-inputs (list fontconfig glib gtk lcms-next libseccomp))
|
(propagated-inputs (list fontconfig glib gtk lcms libseccomp))
|
||||||
(home-page "https://gitlab.gnome.org/GNOME/glycin")
|
(home-page "https://gitlab.gnome.org/GNOME/glycin")
|
||||||
(synopsis "Rust library for sandboxed image decoding")
|
(synopsis "Rust library for sandboxed image decoding")
|
||||||
(description "Glycin is a sandbox image decoder for image viewers and
|
(description "Glycin is a sandbox image decoder for image viewers and
|
||||||
@@ -7101,6 +7112,22 @@ thumbnails to display untrusted content safely. This package provides the
|
|||||||
runtime image loader executables that are used inside the sandbox.")
|
runtime image loader executables that are used inside the sandbox.")
|
||||||
(license (list license:mpl2.0 license:lgpl2.1+))))
|
(license (list license:mpl2.0 license:lgpl2.1+))))
|
||||||
|
|
||||||
|
(define-public glycin-loaders
|
||||||
|
(package/inherit libglycin
|
||||||
|
(name "glycin-loaders")
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments arguments
|
||||||
|
((#:configure-flags original-flags #~(list))
|
||||||
|
#~(list "-Dglycin-loaders=true"
|
||||||
|
"-Dglycin-thumbnailer=false"
|
||||||
|
"-Dlibglycin=false"
|
||||||
|
"-Dlibglycin-gtk4=false"))))
|
||||||
|
(inputs
|
||||||
|
(modify-inputs inputs
|
||||||
|
(prepend libheif
|
||||||
|
libjxl
|
||||||
|
librsvg)))))
|
||||||
|
|
||||||
(define-public loupe
|
(define-public loupe
|
||||||
(package
|
(package
|
||||||
(name "loupe")
|
(name "loupe")
|
||||||
@@ -7171,6 +7198,7 @@ runtime image loader executables that are used inside the sandbox.")
|
|||||||
gtk
|
gtk
|
||||||
lcms
|
lcms
|
||||||
libadwaita
|
libadwaita
|
||||||
|
libglycin
|
||||||
libgweather
|
libgweather
|
||||||
libseccomp
|
libseccomp
|
||||||
(cargo-inputs 'loupe)))
|
(cargo-inputs 'loupe)))
|
||||||
@@ -7211,14 +7239,14 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
|
|||||||
(define-public msgraph
|
(define-public msgraph
|
||||||
(package
|
(package
|
||||||
(name "msgraph")
|
(name "msgraph")
|
||||||
(version "0.3.3")
|
(version "0.3.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/msgraph/"
|
(uri (string-append "mirror://gnome/sources/msgraph/"
|
||||||
(version-major+minor version) "/"
|
(version-major+minor version) "/"
|
||||||
"msgraph-" version ".tar.xz"))
|
"msgraph-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "04j00lf0aqiccgbg95jh9sxmx48bgsrg110ilap9014r58py3mrp"))))
|
(base32 "1iyn0jdqgw238cxaxvji0v9ds0xwfzffz65xpgzywcibn3kfqc87"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock))
|
(native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock))
|
||||||
(inputs (list gnome-online-accounts json-glib libsoup librest))
|
(inputs (list gnome-online-accounts json-glib libsoup librest))
|
||||||
@@ -7231,7 +7259,7 @@ MS Graph APIs.")
|
|||||||
(define-public gvfs
|
(define-public gvfs
|
||||||
(package
|
(package
|
||||||
(name "gvfs")
|
(name "gvfs")
|
||||||
(version "1.58.0")
|
(version "1.58.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/gvfs/"
|
(uri (string-append "mirror://gnome/sources/gvfs/"
|
||||||
@@ -7239,7 +7267,7 @@ MS Graph APIs.")
|
|||||||
"gvfs-" version ".tar.xz"))
|
"gvfs-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0bqq9z1y31yk3c8wz8i8fql7dr8cfxsd5a49xc4v7z6hfdlf76yx"))))
|
"0fywnla2xwyi44jfipyixcczxh5h34c4lzfzf9lsgzxip9mpslzw"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -7589,7 +7617,7 @@ environments.")
|
|||||||
(define-public yelp-xsl
|
(define-public yelp-xsl
|
||||||
(package
|
(package
|
||||||
(name "yelp-xsl")
|
(name "yelp-xsl")
|
||||||
(version "42.4")
|
(version "49.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -7598,7 +7626,7 @@ environments.")
|
|||||||
(version-major version) "/"
|
(version-major version) "/"
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1lfpmdc4y46a528q5filn6xs8add921avrnwl2vpysp6n9zb1szx"))))
|
(base32 "1v7va1xa80pyj0dyfraalvsag4m0lza4v87r2i7phyz6iy7kmm2r"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list mallard-ducktype
|
(list mallard-ducktype
|
||||||
@@ -7626,7 +7654,7 @@ jQuery.Syntax JavaScript libraries.")
|
|||||||
(define-public yelp
|
(define-public yelp
|
||||||
(package
|
(package
|
||||||
(name "yelp")
|
(name "yelp")
|
||||||
(version "42.3")
|
(version "49.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -7634,7 +7662,7 @@ jQuery.Syntax JavaScript libraries.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"18w95bfhq3d364af1qqb63rgaixkrl7xk0x079x6m7lscwic9k16"))))
|
"0mrlqsbr2wb0k2p3dmywzdb0c0rzcx1dv6qlimxzx9ab3w5lwqg6"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:phases
|
(list #:phases
|
||||||
@@ -7659,7 +7687,9 @@ jQuery.Syntax JavaScript libraries.")
|
|||||||
`("PATH" ":" prefix
|
`("PATH" ":" prefix
|
||||||
(,(dirname (search-input-file inputs "bin/groff"))))))))))
|
(,(dirname (search-input-file inputs "bin/groff"))))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list `(,glib "bin") ; for glib-genmarshal, etc.
|
(list desktop-file-utils
|
||||||
|
`(,glib "bin") ;for glib-genmarshal, etc.
|
||||||
|
`(,gtk "bin")
|
||||||
intltool
|
intltool
|
||||||
itstool
|
itstool
|
||||||
pkg-config))
|
pkg-config))
|
||||||
@@ -7668,13 +7698,14 @@ jQuery.Syntax JavaScript libraries.")
|
|||||||
(inputs
|
(inputs
|
||||||
(list bash-minimal
|
(list bash-minimal
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
|
libadwaita
|
||||||
libhandy
|
libhandy
|
||||||
libxslt
|
libxslt
|
||||||
man-db ;for URIs like "man:ls"
|
man-db ;for URIs like "man:ls"
|
||||||
groff-minimal ;ditto
|
groff-minimal ;ditto
|
||||||
gtk+
|
gtk
|
||||||
sqlite
|
sqlite
|
||||||
webkitgtk-for-gtk3
|
webkitgtk
|
||||||
yelp-xsl))
|
yelp-xsl))
|
||||||
(home-page "https://wiki.gnome.org/Apps/Yelp")
|
(home-page "https://wiki.gnome.org/Apps/Yelp")
|
||||||
(synopsis "GNOME help browser")
|
(synopsis "GNOME help browser")
|
||||||
@@ -7963,57 +7994,88 @@ configuration program to choose applications starting on login.")
|
|||||||
(define-public gjs
|
(define-public gjs
|
||||||
(package
|
(package
|
||||||
(name "gjs")
|
(name "gjs")
|
||||||
(version "1.84.2")
|
(version "1.88.0")
|
||||||
(source (origin
|
(source
|
||||||
(method url-fetch)
|
(origin
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(method url-fetch)
|
||||||
(version-major+minor version) "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
name "-" version ".tar.xz"))
|
(version-major+minor version) "/"
|
||||||
(sha256
|
name "-" version ".tar.xz"))
|
||||||
(base32
|
(sha256
|
||||||
"0rh1fkkb35aa1zrhzbizzxllkwc3snkw67i901in61ap6kgjw51m"))
|
(base32
|
||||||
(modules '((guix build utils)))
|
"0ly43lcpafl0an3k4g4mvwrwvc78f0y91ckdi6qn13ky67rvk81h"))
|
||||||
(snippet
|
(modules '((guix build utils)
|
||||||
'(begin
|
(ice-9 ftw)
|
||||||
(substitute* "installed-tests/scripts/testCommandLine.sh"
|
(srfi srfi-26)))
|
||||||
(("Valentín") "")
|
(snippet
|
||||||
(("☭") ""))
|
#~(begin
|
||||||
(substitute* "modules/script/package.js"
|
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||||
(("type_default_interface_ref")
|
(define (delete-all-but directory . preserve)
|
||||||
"type_default_interface_get"))))))
|
(with-directory-excursion directory
|
||||||
|
(let* ((pred (negate (cut member <>
|
||||||
|
(cons* "." ".." preserve))))
|
||||||
|
(items (scandir "." pred)))
|
||||||
|
(for-each (cut delete-file-recursively <>) items))))
|
||||||
|
(delete-all-but "subprojects"
|
||||||
|
"gobject-introspection-tests")))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:configure-flags '("-Dinstalled_tests=false")
|
(list
|
||||||
#:phases
|
#:modules '((guix build meson-build-system)
|
||||||
(modify-phases %standard-phases
|
(guix build utils)
|
||||||
(add-before 'check 'pre-check
|
(ice-9 match))
|
||||||
(lambda _
|
#:configure-flags #~(list "-Dinstalled_tests=false")
|
||||||
;; The test suite requires a running X server.
|
#:phases
|
||||||
(system "Xvfb :1 &")
|
#~(modify-phases %standard-phases
|
||||||
(setenv "DISPLAY" ":1")
|
(add-after 'install 'wrap-gi
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
;; For the missing /etc/machine-id.
|
(wrap-program (string-append #$output "/bin/gjs")
|
||||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
`("GI_TYPELIB_PATH" suffix
|
||||||
(setenv "HOME" (getcwd))))
|
(,(dirname
|
||||||
(add-after 'unpack 'skip-failing-tests
|
(search-input-file
|
||||||
(lambda _
|
inputs
|
||||||
;; Expects to test against 2.84, but we're using 2.86.
|
"lib/girepository-1.0/GObject-2.0.typelib"))
|
||||||
(substitute* "installed-tests/js/testIntrospection.js"
|
,(dirname
|
||||||
(("const skip = imports.gi.versions.GioUnix !== '2\\.0';")
|
(search-input-file
|
||||||
"const skip = true;"))))
|
inputs
|
||||||
(add-after 'install 'wrap-gi
|
"lib/girepository-1.0/GIRepository-2.0.typelib")))))))
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(replace 'check
|
||||||
(wrap-program (string-append (assoc-ref outputs "out")
|
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||||
"/bin/gjs")
|
(when tests?
|
||||||
`("GI_TYPELIB_PATH" suffix
|
;; For the missing /etc/machine-id.
|
||||||
(,(dirname
|
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||||
(search-input-file
|
(setenv "HOME" (getcwd))
|
||||||
inputs
|
;; In Guix, gobject-introspection is patched to always embed
|
||||||
"lib/girepository-1.0/GObject-2.0.typelib"))
|
;; the absolute path of a typelib library; unfortunately it
|
||||||
,(dirname
|
;; does this also for test typelibs not meant to be installed;
|
||||||
(search-input-file
|
;; work around it via temporary symlinks.
|
||||||
inputs
|
(let* ((test-libraries (find-files (getcwd)
|
||||||
"lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
|
"\\.so(\\.[0-9]*)?$"))
|
||||||
|
(test-library-links (map (lambda (x)
|
||||||
|
(cons x (string-append
|
||||||
|
#$output "/lib/"
|
||||||
|
(basename x))))
|
||||||
|
test-libraries)))
|
||||||
|
(for-each (match-lambda
|
||||||
|
((old . new)
|
||||||
|
(symlink old new)))
|
||||||
|
test-library-links)
|
||||||
|
(invoke "xvfb-run" "--" "dbus-run-session"
|
||||||
|
"meson" "test" "--print-errorlogs" "-t" "0"
|
||||||
|
"-j" (if parallel-tests?
|
||||||
|
(number->string (parallel-job-count))
|
||||||
|
"1"))
|
||||||
|
(for-each delete-file (map cdr test-library-links))))))
|
||||||
|
(add-after 'install 'delete-installed-tests
|
||||||
|
(lambda _
|
||||||
|
;; Installed tests libraries are installed despite
|
||||||
|
;; -Dinstalled_tests=false.
|
||||||
|
(delete-file-recursively
|
||||||
|
(string-append #$output "/libexec/installed-tests"))))
|
||||||
|
(add-after 'install 'sanitize-pkg-config-files
|
||||||
|
(lambda _
|
||||||
|
(substitute* (find-files #$output "\\.pc$")
|
||||||
|
(("^Requires.private:.*") "")))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list `(,glib "bin") ;for glib-compile-resources
|
(list `(,glib "bin") ;for glib-compile-resources
|
||||||
pkg-config
|
pkg-config
|
||||||
@@ -8021,16 +8083,16 @@ configuration program to choose applications starting on login.")
|
|||||||
;; For testing
|
;; For testing
|
||||||
dbus
|
dbus
|
||||||
dconf ;required to properly store settings
|
dconf ;required to properly store settings
|
||||||
|
gtk+
|
||||||
|
sysprof
|
||||||
util-linux
|
util-linux
|
||||||
xorg-server-for-tests))
|
xvfb-run))
|
||||||
|
(inputs (list mozjs readline))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
;; These are all in the Requires.private field of gjs-1.0.pc.
|
;; These are all in the Requires field of gjs-1.0.pc.
|
||||||
;; Check the version of mozjs required in meson.build.
|
(list glib gobject-introspection))
|
||||||
(list cairo gobject-introspection mozjs-128))
|
|
||||||
(inputs
|
|
||||||
(list gtk+ readline))
|
|
||||||
(synopsis "Javascript bindings for GNOME")
|
(synopsis "Javascript bindings for GNOME")
|
||||||
(home-page "https://wiki.gnome.org/Gjs")
|
(home-page "https://gitlab.gnome.org/GNOME/gjs")
|
||||||
(description
|
(description
|
||||||
"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
|
"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
|
||||||
javascript engine and the GObject introspection framework.")
|
javascript engine and the GObject introspection framework.")
|
||||||
@@ -8352,7 +8414,7 @@ window manager.")
|
|||||||
(define-public gnome-online-accounts
|
(define-public gnome-online-accounts
|
||||||
(package
|
(package
|
||||||
(name "gnome-online-accounts")
|
(name "gnome-online-accounts")
|
||||||
(version "3.54.9")
|
(version "3.56.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -8360,7 +8422,7 @@ window manager.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"10bwrc50aqaf7j3qabv7zpfnf2dmf9mwbmnjpgqfqsmny2ba80pb"))))
|
"1cv1l757g4iac39l0ccwvqhibyjdjhy9q8p86fp8mqs5mfnix0ra"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -9881,7 +9943,7 @@ easy, safe, and automatic.")
|
|||||||
(define-public tinysparql
|
(define-public tinysparql
|
||||||
(package
|
(package
|
||||||
(name "tinysparql")
|
(name "tinysparql")
|
||||||
(version "3.9.2")
|
(version "3.10.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/tinysparql/"
|
(uri (string-append "mirror://gnome/sources/tinysparql/"
|
||||||
@@ -9889,7 +9951,7 @@ easy, safe, and automatic.")
|
|||||||
"tinysparql-" version ".tar.xz"))
|
"tinysparql-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"13mddmszrk4ihfwi5n67v5ykf01fmld4pkmw4881hphk4j807khl"))))
|
"0r824dz8szfwd2z95nk8ffkvwq0ayva0wa6n1railrxnkmw3wzss"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -10172,6 +10234,7 @@ through portals.")
|
|||||||
gst-plugins-base
|
gst-plugins-base
|
||||||
json-glib
|
json-glib
|
||||||
libadwaita
|
libadwaita
|
||||||
|
libglycin
|
||||||
libportal
|
libportal
|
||||||
libseccomp
|
libseccomp
|
||||||
libselinux
|
libselinux
|
||||||
@@ -10243,7 +10306,7 @@ is complete it provides a graphical representation of each selected folder.")
|
|||||||
(define-public gnome-backgrounds
|
(define-public gnome-backgrounds
|
||||||
(package
|
(package
|
||||||
(name "gnome-backgrounds")
|
(name "gnome-backgrounds")
|
||||||
(version "48.2.1")
|
(version "49.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -10252,7 +10315,7 @@ is complete it provides a graphical representation of each selected folder.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1n8ypmdgpp2hj7jsbpicha0d2pfnqbwmavcjfzlmr3qd5rxmn73a"))))
|
"1dgl8jxczx2cwszg07bhrjpcg2rywfcak2d5md20x84bwl6jdzh1"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(native-inputs (list gettext-minimal))
|
(native-inputs (list gettext-minimal))
|
||||||
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
|
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
|
||||||
@@ -10317,7 +10380,7 @@ beautifying border effects.")
|
|||||||
(define-public dconf-editor
|
(define-public dconf-editor
|
||||||
(package
|
(package
|
||||||
(name "dconf-editor")
|
(name "dconf-editor")
|
||||||
(version "45.0.1")
|
(version "49.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -10325,7 +10388,7 @@ beautifying border effects.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1pa1k510qx4v0ywhqwpj3qfjyz8qiiis4565ghhydnpfg1v2k00i"))))
|
"16fkppclv7xzglfafqg8b9nd5cjqlfwlyci800gg7psivzxcra4h"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:phases #~(modify-phases %standard-phases
|
(list #:phases #~(modify-phases %standard-phases
|
||||||
@@ -13383,7 +13446,7 @@ GObject introspection bindings.")
|
|||||||
(define-public sysprof
|
(define-public sysprof
|
||||||
(package
|
(package
|
||||||
(name "sysprof")
|
(name "sysprof")
|
||||||
(version "48.1")
|
(version "49.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -13391,7 +13454,7 @@ GObject introspection bindings.")
|
|||||||
(version-major version) "/"
|
(version-major version) "/"
|
||||||
"sysprof-" version ".tar.xz"))
|
"sysprof-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1qmv76877vkw2ajfnc4cr8gw5qch5m32qm1fybig3vgizvymgwal"))))
|
(base32 "0y18535lymqv684n8aa2v601d61v6aj8f84690cq8p3q6yb1617z"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -13688,7 +13751,7 @@ Document Analysis and Recognition program.")
|
|||||||
(define-public libadwaita
|
(define-public libadwaita
|
||||||
(package
|
(package
|
||||||
(name "libadwaita")
|
(name "libadwaita")
|
||||||
(version "1.8.2")
|
(version "1.8.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/libadwaita/"
|
(uri (string-append "mirror://gnome/sources/libadwaita/"
|
||||||
@@ -13696,7 +13759,7 @@ Document Analysis and Recognition program.")
|
|||||||
"libadwaita-" version ".tar.xz"))
|
"libadwaita-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1cdda2sk1w5jmfkism8v6ihl03gs2s72klx7j230wx4i847nx6jq"))))
|
"074j59bz5zgnb7grw3clpwyxickw9268k6fj0980bw8gdxxvfayh"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
|||||||
+349
-349
@@ -106,355 +106,6 @@
|
|||||||
#:use-module (gnu packages sqlite)
|
#:use-module (gnu packages sqlite)
|
||||||
#:use-module (gnu packages time))
|
#:use-module (gnu packages time))
|
||||||
|
|
||||||
(define-public mozjs
|
|
||||||
(package
|
|
||||||
(name "mozjs")
|
|
||||||
(version "140.3.0")
|
|
||||||
(source (origin
|
|
||||||
(method url-fetch)
|
|
||||||
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
|
|
||||||
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
|
||||||
"/releases/" version "esr/source/firefox-"
|
|
||||||
version "esr.source.tar.xz"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"05i3czn3v2qnhir8apcphbqy7rmy1dn7kcwx5yyi2qvmjcyfpipg"))))
|
|
||||||
(build-system gnu-build-system)
|
|
||||||
(arguments
|
|
||||||
(list
|
|
||||||
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
|
|
||||||
#:modules `((guix build cargo-utils)
|
|
||||||
,@%default-gnu-modules)
|
|
||||||
#:test-target "check-jstests"
|
|
||||||
#:configure-flags
|
|
||||||
#~(list
|
|
||||||
;; Disable debugging symbols to save space.
|
|
||||||
"--disable-debug"
|
|
||||||
"--disable-debug-symbols"
|
|
||||||
;; This is important because without it gjs will segfault during the
|
|
||||||
;; configure phase. With jemalloc only the standalone mozjs console
|
|
||||||
;; will work.
|
|
||||||
"--disable-jemalloc"
|
|
||||||
"--enable-tests"
|
|
||||||
"--enable-hardening"
|
|
||||||
"--enable-optimize"
|
|
||||||
"--enable-release"
|
|
||||||
"--enable-readline"
|
|
||||||
"--enable-rust-simd"
|
|
||||||
"--enable-shared-js"
|
|
||||||
"--with-system-icu"
|
|
||||||
"--with-system-nspr"
|
|
||||||
"--with-system-zlib"
|
|
||||||
"--with-intl-api")
|
|
||||||
#:phases
|
|
||||||
#~(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'python-3.11-compatibility
|
|
||||||
(lambda _
|
|
||||||
(substitute* '("python/mozbuild/mozpack/files.py"
|
|
||||||
"python/mozbuild/mozbuild/util.py"
|
|
||||||
"python/mozbuild/mozbuild/action/process_define_files.py"
|
|
||||||
"python/mozbuild/mozbuild/backend/base.py"
|
|
||||||
"python/mozbuild/mozbuild/preprocessor.py")
|
|
||||||
(("\"rU\"") "\"r\""))))
|
|
||||||
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
|
||||||
(lambda _
|
|
||||||
(let ((null-hash
|
|
||||||
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
|
|
||||||
(for-each (lambda (file)
|
|
||||||
(format #t "patching checksums in ~a~%" file)
|
|
||||||
(substitute* file
|
|
||||||
(("^checksum = \".*\"")
|
|
||||||
(string-append "checksum = \"" null-hash "\""))))
|
|
||||||
(find-files "." "Cargo\\.lock$"))
|
|
||||||
(for-each generate-all-checksums
|
|
||||||
'("js" "third_party/rust")))))
|
|
||||||
(replace 'configure
|
|
||||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
|
||||||
;; The configure script does not accept environment variables as
|
|
||||||
;; arguments. It also must be run from a different directory,
|
|
||||||
;; but not the root directory either.
|
|
||||||
(mkdir "run-configure-from-here")
|
|
||||||
(chdir "run-configure-from-here")
|
|
||||||
;; Configure script writes to $HOME.
|
|
||||||
(setenv "HOME" (getcwd))
|
|
||||||
(setenv "SHELL" (which "sh"))
|
|
||||||
(setenv "CONFIG_SHELL" (which "sh"))
|
|
||||||
(setenv "AUTOCONF" (which "autoconf"))
|
|
||||||
(apply invoke "python" "../configure.py"
|
|
||||||
"--enable-project=js"
|
|
||||||
(string-append "--prefix=" #$output)
|
|
||||||
configure-flags)))
|
|
||||||
(add-before 'check 'adjust-tests
|
|
||||||
(lambda _
|
|
||||||
(with-directory-excursion "../js/src/tests"
|
|
||||||
(substitute* "shell/os.js"
|
|
||||||
;; FIXME: Why does the killed process have an exit status?
|
|
||||||
((".*killed process should not have exitStatus.*")
|
|
||||||
""))
|
|
||||||
|
|
||||||
;; Most of the timezone related failures are probably
|
|
||||||
;; attributable to our use of a system-provided icu4c library
|
|
||||||
;; instead of the bundled one.
|
|
||||||
(for-each
|
|
||||||
delete-file
|
|
||||||
'( ;; FIXME: An one-hour difference is produced after DST
|
|
||||||
;; starting in the timezone the test suite uses.
|
|
||||||
"non262/Date/15.9.5.7.js"
|
|
||||||
|
|
||||||
;; The test suite expects a lightly patched ICU. Disable tests
|
|
||||||
;; that do not work with the system version. See
|
|
||||||
;; "intl/icu-patches" for clues.
|
|
||||||
|
|
||||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
|
||||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
|
||||||
;; related patch for why this is failing.
|
|
||||||
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
|
|
||||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
|
||||||
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
|
|
||||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
|
||||||
"non262/Intl/available-locales-supported.js"
|
|
||||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
|
||||||
"non262/Intl/available-locales-resolved.js"
|
|
||||||
|
|
||||||
;;; Since 115:
|
|
||||||
;; Mismatching array lengths
|
|
||||||
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
|
|
||||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
|
||||||
;; these generated tests
|
|
||||||
"non262/Intl/DateTimeFormat/timeZone_version.js"
|
|
||||||
|
|
||||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
|
||||||
"non262/Intl/Collator/implicithan.js"
|
|
||||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
|
||||||
"non262/Intl/Collator/big5han-gb2312han.js"
|
|
||||||
|
|
||||||
;; Since 128:
|
|
||||||
;; FIXME: got (void 0), expected "GMT"
|
|
||||||
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
|
|
||||||
;; FIXME: got 7, expected 9: parts count mismatch
|
|
||||||
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
|
|
||||||
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
|
|
||||||
|
|
||||||
;; Since 140:
|
|
||||||
;; RangeError: invalid time zone: America/Coyhaique
|
|
||||||
"non262/Temporal/ZonedDateTime/zones-and-links.js"
|
|
||||||
;; got 2042, expected 2043
|
|
||||||
"non262/Temporal/Intl/consistent-dates.js"
|
|
||||||
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
|
|
||||||
"non262/Intl/DateTimeFormat/timeZone_links.js"
|
|
||||||
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
|
|
||||||
;; Test262Error: Expected true but got false
|
|
||||||
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
|
|
||||||
;; Test262Error: getTimeZoneTransition(next) does not return its input
|
|
||||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
|
||||||
getTimeZoneTransition/result-type.js"
|
|
||||||
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
|
|
||||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
|
||||||
getTimeZoneTransition/transition-at-instant-boundaries.js"
|
|
||||||
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
|
|
||||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
|
||||||
getTimeZoneTransition/specific-tzdb-values.js"
|
|
||||||
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
|
|
||||||
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
|
|
||||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
|
||||||
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
|
|
||||||
;; TypeError: can't access property "epochNanoseconds",
|
|
||||||
;; before.getTimeZoneTransition(...) is null
|
|
||||||
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
|
||||||
getTimeZoneTransition/transitions-close-together.js")))))
|
|
||||||
(add-before 'check 'pre-check
|
|
||||||
(lambda _
|
|
||||||
(setenv "JSTESTS_EXTRA_ARGS"
|
|
||||||
(string-join
|
|
||||||
(list
|
|
||||||
;; Do not run tests marked as "random".
|
|
||||||
"--exclude-random"
|
|
||||||
;; Exclude web platform tests.
|
|
||||||
"--wpt=disabled"
|
|
||||||
;; Respect the daemons configured number of jobs.
|
|
||||||
(string-append "--worker-count="
|
|
||||||
(number->string (parallel-job-count)))))))))))
|
|
||||||
(native-inputs
|
|
||||||
(list autoconf
|
|
||||||
llvm ;for llvm-objdump
|
|
||||||
m4
|
|
||||||
perl
|
|
||||||
pkg-config
|
|
||||||
python-wrapper
|
|
||||||
rust
|
|
||||||
`(,rust "cargo")
|
|
||||||
rust-cbindgen))
|
|
||||||
(inputs
|
|
||||||
(list icu4c-77 readline zlib))
|
|
||||||
(propagated-inputs
|
|
||||||
(list nspr)) ; in the Requires.private field of mozjs-*.pc
|
|
||||||
(home-page
|
|
||||||
"https://spidermonkey.dev/")
|
|
||||||
(synopsis "Mozilla JavaScript engine")
|
|
||||||
(description "SpiderMonkey is Mozilla's JavaScript engine written
|
|
||||||
in C/C++.")
|
|
||||||
(license license:mpl2.0))) ; and others for some files
|
|
||||||
|
|
||||||
(define-public mozjs-128
|
|
||||||
(package
|
|
||||||
(inherit mozjs)
|
|
||||||
(version "128.3.1")
|
|
||||||
(source (origin
|
|
||||||
(method url-fetch)
|
|
||||||
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
|
|
||||||
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
|
||||||
"/releases/" version "esr/source/firefox-"
|
|
||||||
version "esr.source.tar.xz"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments arguments
|
|
||||||
((#:configure-flags flags)
|
|
||||||
#~(delete "--enable-rust-simd" #$flags))
|
|
||||||
((#:phases phases)
|
|
||||||
#~(modify-phases #$phases
|
|
||||||
(replace 'adjust-tests
|
|
||||||
(lambda _
|
|
||||||
(with-directory-excursion "../js/src/tests"
|
|
||||||
(substitute* "shell/os.js"
|
|
||||||
;; FIXME: Why does the killed process have an exit status?
|
|
||||||
((".*killed process should not have exitStatus.*")
|
|
||||||
""))
|
|
||||||
|
|
||||||
;; This was fixed sometime between 102.15.1 and 115.11.0.
|
|
||||||
;; These tests are supposed to be skipped on all 64-bit systems.
|
|
||||||
#$@(if (target-riscv64?)
|
|
||||||
#~((substitute* '("non262/Array/regress-157652.js"
|
|
||||||
"non262/regress/regress-422348.js")
|
|
||||||
(("mips64") "mips64|riscv64")))
|
|
||||||
#~())
|
|
||||||
|
|
||||||
;; FIXME: An one-hour difference is produced after DST
|
|
||||||
;; starting in the timezone the test suite uses.
|
|
||||||
(delete-file "non262/Date/15.9.5.7.js")
|
|
||||||
|
|
||||||
;; The test suite expects a lightly patched ICU. Disable tests
|
|
||||||
;; that do not work with the system version. See
|
|
||||||
;; "intl/icu-patches" for clues.
|
|
||||||
|
|
||||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
|
||||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
|
||||||
;; related patch for why this is failing.
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/\
|
|
||||||
fractional-second-digits-append-item.js")
|
|
||||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
|
||||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
|
||||||
(delete-file "non262/Intl/available-locales-supported.js")
|
|
||||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
|
||||||
(delete-file "non262/Intl/available-locales-resolved.js")
|
|
||||||
|
|
||||||
;;; Since 115:
|
|
||||||
;; Mismatching array lengths
|
|
||||||
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
|
||||||
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
|
||||||
;; America/Santa_Isabel -> America/Tijuana
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
|
||||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
|
||||||
;; these generated tests
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
|
||||||
|
|
||||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
|
||||||
(delete-file "non262/Intl/Collator/implicithan.js")
|
|
||||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
|
||||||
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
|
|
||||||
|
|
||||||
;; Since 128:
|
|
||||||
;; FIXME: got (void 0), expected "GMT"
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
|
|
||||||
;; FIXME: got 7, expected 9: parts count mismatch
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
|
|
||||||
(inputs
|
|
||||||
(list icu4c-73 readline zlib))))
|
|
||||||
|
|
||||||
(define-public mozjs-115
|
|
||||||
(package
|
|
||||||
(inherit mozjs)
|
|
||||||
(version "115.26.0")
|
|
||||||
(source (origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (string-append "https://archive.mozilla.org/pub/firefox"
|
|
||||||
"/releases/" version "esr/source/firefox-"
|
|
||||||
version "esr.source.tar.xz"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments arguments
|
|
||||||
((#:configure-flags flags)
|
|
||||||
#~(delete "--enable-rust-simd" #$flags))
|
|
||||||
((#:phases phases)
|
|
||||||
#~(modify-phases #$phases
|
|
||||||
(replace 'adjust-tests
|
|
||||||
(lambda _
|
|
||||||
(with-directory-excursion "../js/src/tests"
|
|
||||||
;; The test suite expects a lightly patched ICU. Disable tests
|
|
||||||
;; that do not work with the system version. See
|
|
||||||
;; "intl/icu-patches" for clues.
|
|
||||||
|
|
||||||
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
|
||||||
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
|
||||||
;; related patch for why this is failing.
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/\
|
|
||||||
fractional-second-digits-append-item.js")
|
|
||||||
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
|
||||||
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
|
||||||
(delete-file "non262/Intl/available-locales-supported.js")
|
|
||||||
;; FIXME: got "en-US", expected "en-US-POSIX"
|
|
||||||
(delete-file "non262/Intl/available-locales-resolved.js")
|
|
||||||
|
|
||||||
;;; Since 115:
|
|
||||||
;; Mismatching array lengths
|
|
||||||
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
|
||||||
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
|
||||||
;; America/Santa_Isabel -> America/Tijuana
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
|
||||||
;; TODO: tzdata 2024a expected – find a way to regenerate
|
|
||||||
;; these generated tests
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
|
||||||
|
|
||||||
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
|
||||||
(delete-file "non262/Intl/Collator/implicithan.js")
|
|
||||||
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
|
||||||
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
|
|
||||||
|
|
||||||
(replace 'pre-check
|
|
||||||
(lambda _
|
|
||||||
(with-directory-excursion "../js/src/tests"
|
|
||||||
(substitute* "shell/os.js"
|
|
||||||
;; FIXME: Why does the killed process have an exit status?
|
|
||||||
((".*killed process should not have exitStatus.*")
|
|
||||||
""))
|
|
||||||
|
|
||||||
;; XXX: Delete all tests that test time zone functionality,
|
|
||||||
;; because the test suite uses /etc/localtime to figure out
|
|
||||||
;; the offset from the hardware clock, which does not work
|
|
||||||
;; in the build container. See <tests/non262/Date/shell.js>.
|
|
||||||
(delete-file-recursively "non262/Date")
|
|
||||||
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
|
|
||||||
|
|
||||||
(setenv "JSTESTS_EXTRA_ARGS"
|
|
||||||
(string-join
|
|
||||||
(list
|
|
||||||
;; Do not run tests marked as "random".
|
|
||||||
"--exclude-random"
|
|
||||||
;; Exclude web platform tests.
|
|
||||||
"--wpt=disabled"
|
|
||||||
;; Respect the daemons configured number of jobs.
|
|
||||||
(string-append "--worker-count="
|
|
||||||
(number->string
|
|
||||||
(parallel-job-count)))))))))))))
|
|
||||||
(inputs
|
|
||||||
(list icu4c-73 readline zlib))))
|
|
||||||
|
|
||||||
(define computed-origin-method (@@ (guix packages) computed-origin-method))
|
(define computed-origin-method (@@ (guix packages) computed-origin-method))
|
||||||
|
|
||||||
(define mozilla-compare-locales
|
(define mozilla-compare-locales
|
||||||
@@ -1249,6 +900,355 @@ testing.")
|
|||||||
(cpe-name . "firefox_esr")
|
(cpe-name . "firefox_esr")
|
||||||
(cpe-version . ,(first (string-split version #\-)))))))
|
(cpe-version . ,(first (string-split version #\-)))))))
|
||||||
|
|
||||||
|
(define-public mozjs
|
||||||
|
(package
|
||||||
|
(name "mozjs")
|
||||||
|
(version %icecat-version)
|
||||||
|
(source (origin (inherit icecat-source)
|
||||||
|
(patches (search-patches "mozjs-xp-win.patch"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
|
||||||
|
#:modules `((guix build cargo-utils)
|
||||||
|
,@%default-gnu-modules)
|
||||||
|
#:test-target "check-jstests"
|
||||||
|
#:configure-flags
|
||||||
|
#~(list
|
||||||
|
;; Disable debugging symbols to save space.
|
||||||
|
"--disable-debug"
|
||||||
|
"--disable-debug-symbols"
|
||||||
|
;; This is important because without it gjs will segfault during the
|
||||||
|
;; configure phase. With jemalloc only the standalone mozjs console
|
||||||
|
;; will work.
|
||||||
|
"--disable-jemalloc"
|
||||||
|
"--enable-tests"
|
||||||
|
"--enable-hardening"
|
||||||
|
"--enable-optimize"
|
||||||
|
"--enable-release"
|
||||||
|
"--enable-readline"
|
||||||
|
"--enable-rust-simd"
|
||||||
|
"--enable-shared-js"
|
||||||
|
"--with-system-icu"
|
||||||
|
"--with-system-nspr"
|
||||||
|
"--with-system-zlib"
|
||||||
|
"--with-intl-api")
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'python-3.11-compatibility
|
||||||
|
(lambda _
|
||||||
|
(substitute* '("python/mozbuild/mozpack/files.py"
|
||||||
|
"python/mozbuild/mozbuild/util.py"
|
||||||
|
"python/mozbuild/mozbuild/action/process_define_files.py"
|
||||||
|
"python/mozbuild/mozbuild/backend/base.py"
|
||||||
|
"python/mozbuild/mozbuild/preprocessor.py")
|
||||||
|
(("\"rU\"") "\"r\""))))
|
||||||
|
(add-after 'unpack 'restore-api-compat
|
||||||
|
(lambda _
|
||||||
|
(substitute* "js/public/GCAPI.h"
|
||||||
|
(("enum class GCReason")
|
||||||
|
"#define FIRST_FIREFOX_REASON FIRST_ICECAT_REASON
|
||||||
|
#define LAST_FIREFOX_REASON LAST_ICECAT_REASON
|
||||||
|
enum class GCReason"))))
|
||||||
|
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||||
|
(lambda _
|
||||||
|
(let ((null-hash
|
||||||
|
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
|
||||||
|
(for-each (lambda (file)
|
||||||
|
(format #t "patching checksums in ~a~%" file)
|
||||||
|
(substitute* file
|
||||||
|
(("^checksum = \".*\"")
|
||||||
|
(string-append "checksum = \"" null-hash "\""))))
|
||||||
|
(find-files "." "Cargo\\.lock$"))
|
||||||
|
(for-each generate-all-checksums
|
||||||
|
'("js" "third_party/rust")))))
|
||||||
|
(replace 'configure
|
||||||
|
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||||
|
;; The configure script does not accept environment variables as
|
||||||
|
;; arguments. It also must be run from a different directory,
|
||||||
|
;; but not the root directory either.
|
||||||
|
(mkdir "run-configure-from-here")
|
||||||
|
(chdir "run-configure-from-here")
|
||||||
|
;; Configure script writes to $HOME.
|
||||||
|
(setenv "HOME" (getcwd))
|
||||||
|
(setenv "SHELL" (which "sh"))
|
||||||
|
(setenv "CONFIG_SHELL" (which "sh"))
|
||||||
|
(setenv "AUTOCONF" (which "autoconf"))
|
||||||
|
(apply invoke "python" "../configure.py"
|
||||||
|
"--enable-project=js"
|
||||||
|
(string-append "--prefix=" #$output)
|
||||||
|
configure-flags)))
|
||||||
|
(add-before 'check 'adjust-tests
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion "../js/src/tests"
|
||||||
|
(substitute* "shell/os.js"
|
||||||
|
;; FIXME: Why does the killed process have an exit status?
|
||||||
|
((".*killed process should not have exitStatus.*")
|
||||||
|
""))
|
||||||
|
|
||||||
|
;; Most of the timezone related failures are probably
|
||||||
|
;; attributable to our use of a system-provided icu4c library
|
||||||
|
;; instead of the bundled one.
|
||||||
|
(for-each
|
||||||
|
delete-file
|
||||||
|
'( ;; FIXME: An one-hour difference is produced after DST
|
||||||
|
;; starting in the timezone the test suite uses.
|
||||||
|
"non262/Date/15.9.5.7.js"
|
||||||
|
|
||||||
|
;; The test suite expects a lightly patched ICU. Disable tests
|
||||||
|
;; that do not work with the system version. See
|
||||||
|
;; "intl/icu-patches" for clues.
|
||||||
|
|
||||||
|
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||||
|
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||||
|
;; related patch for why this is failing.
|
||||||
|
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
|
||||||
|
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||||
|
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
|
||||||
|
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||||
|
"non262/Intl/available-locales-supported.js"
|
||||||
|
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||||
|
"non262/Intl/available-locales-resolved.js"
|
||||||
|
|
||||||
|
;;; Since 115:
|
||||||
|
;; Mismatching array lengths
|
||||||
|
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
|
||||||
|
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||||
|
;; these generated tests
|
||||||
|
"non262/Intl/DateTimeFormat/timeZone_version.js"
|
||||||
|
|
||||||
|
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||||
|
"non262/Intl/Collator/implicithan.js"
|
||||||
|
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||||
|
"non262/Intl/Collator/big5han-gb2312han.js"
|
||||||
|
|
||||||
|
;; Since 128:
|
||||||
|
;; FIXME: got (void 0), expected "GMT"
|
||||||
|
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
|
||||||
|
;; FIXME: got 7, expected 9: parts count mismatch
|
||||||
|
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
|
||||||
|
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
|
||||||
|
|
||||||
|
;; Since 140:
|
||||||
|
;; RangeError: invalid time zone: America/Coyhaique
|
||||||
|
"non262/Temporal/ZonedDateTime/zones-and-links.js"
|
||||||
|
;; got 2042, expected 2043
|
||||||
|
"non262/Temporal/Intl/consistent-dates.js"
|
||||||
|
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
|
||||||
|
"non262/Intl/DateTimeFormat/timeZone_links.js"
|
||||||
|
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
|
||||||
|
;; Test262Error: Expected true but got false
|
||||||
|
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
|
||||||
|
;; Test262Error: getTimeZoneTransition(next) does not return its input
|
||||||
|
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||||
|
getTimeZoneTransition/result-type.js"
|
||||||
|
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
|
||||||
|
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||||
|
getTimeZoneTransition/transition-at-instant-boundaries.js"
|
||||||
|
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
|
||||||
|
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||||
|
getTimeZoneTransition/specific-tzdb-values.js"
|
||||||
|
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
|
||||||
|
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
|
||||||
|
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||||
|
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
|
||||||
|
;; TypeError: can't access property "epochNanoseconds",
|
||||||
|
;; before.getTimeZoneTransition(...) is null
|
||||||
|
"test262/intl402/Temporal/ZonedDateTime/prototype/\
|
||||||
|
getTimeZoneTransition/transitions-close-together.js")))))
|
||||||
|
(add-before 'check 'pre-check
|
||||||
|
(lambda _
|
||||||
|
(setenv "JSTESTS_EXTRA_ARGS"
|
||||||
|
(string-join
|
||||||
|
(list
|
||||||
|
;; Do not run tests marked as "random".
|
||||||
|
"--exclude-random"
|
||||||
|
;; Exclude web platform tests.
|
||||||
|
"--wpt=disabled"
|
||||||
|
;; Respect the daemons configured number of jobs.
|
||||||
|
(string-append "--worker-count="
|
||||||
|
(number->string (parallel-job-count)))))))))))
|
||||||
|
(native-inputs
|
||||||
|
(list autoconf
|
||||||
|
llvm ;for llvm-objdump
|
||||||
|
m4
|
||||||
|
perl
|
||||||
|
pkg-config
|
||||||
|
python-wrapper
|
||||||
|
rust
|
||||||
|
`(,rust "cargo")
|
||||||
|
rust-cbindgen))
|
||||||
|
(inputs
|
||||||
|
(list icu4c-77 readline zlib))
|
||||||
|
(propagated-inputs
|
||||||
|
(list nspr)) ; in the Requires.private field of mozjs-*.pc
|
||||||
|
(home-page
|
||||||
|
"https://spidermonkey.dev/")
|
||||||
|
(synopsis "Mozilla JavaScript engine")
|
||||||
|
(description "SpiderMonkey is Mozilla's JavaScript engine written
|
||||||
|
in C/C++.")
|
||||||
|
(license license:mpl2.0))) ; and others for some files
|
||||||
|
|
||||||
|
(define-public mozjs-128
|
||||||
|
(package
|
||||||
|
(inherit mozjs)
|
||||||
|
(version "128.3.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
|
||||||
|
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
|
||||||
|
"/releases/" version "esr/source/firefox-"
|
||||||
|
version "esr.source.tar.xz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments arguments
|
||||||
|
((#:configure-flags flags)
|
||||||
|
#~(delete "--enable-rust-simd" #$flags))
|
||||||
|
((#:phases phases)
|
||||||
|
#~(modify-phases #$phases
|
||||||
|
(replace 'adjust-tests
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion "../js/src/tests"
|
||||||
|
(substitute* "shell/os.js"
|
||||||
|
;; FIXME: Why does the killed process have an exit status?
|
||||||
|
((".*killed process should not have exitStatus.*")
|
||||||
|
""))
|
||||||
|
|
||||||
|
;; This was fixed sometime between 102.15.1 and 115.11.0.
|
||||||
|
;; These tests are supposed to be skipped on all 64-bit systems.
|
||||||
|
#$@(if (target-riscv64?)
|
||||||
|
#~((substitute* '("non262/Array/regress-157652.js"
|
||||||
|
"non262/regress/regress-422348.js")
|
||||||
|
(("mips64") "mips64|riscv64")))
|
||||||
|
#~())
|
||||||
|
|
||||||
|
;; FIXME: An one-hour difference is produced after DST
|
||||||
|
;; starting in the timezone the test suite uses.
|
||||||
|
(delete-file "non262/Date/15.9.5.7.js")
|
||||||
|
|
||||||
|
;; The test suite expects a lightly patched ICU. Disable tests
|
||||||
|
;; that do not work with the system version. See
|
||||||
|
;; "intl/icu-patches" for clues.
|
||||||
|
|
||||||
|
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||||
|
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||||
|
;; related patch for why this is failing.
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/\
|
||||||
|
fractional-second-digits-append-item.js")
|
||||||
|
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
||||||
|
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||||
|
(delete-file "non262/Intl/available-locales-supported.js")
|
||||||
|
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||||
|
(delete-file "non262/Intl/available-locales-resolved.js")
|
||||||
|
|
||||||
|
;;; Since 115:
|
||||||
|
;; Mismatching array lengths
|
||||||
|
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
||||||
|
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
||||||
|
;; America/Santa_Isabel -> America/Tijuana
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
||||||
|
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||||
|
;; these generated tests
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
||||||
|
|
||||||
|
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||||
|
(delete-file "non262/Intl/Collator/implicithan.js")
|
||||||
|
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||||
|
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
|
||||||
|
|
||||||
|
;; Since 128:
|
||||||
|
;; FIXME: got (void 0), expected "GMT"
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
|
||||||
|
;; FIXME: got 7, expected 9: parts count mismatch
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
|
||||||
|
(inputs
|
||||||
|
(list icu4c-73 readline zlib))))
|
||||||
|
|
||||||
|
(define-public mozjs-115
|
||||||
|
(package
|
||||||
|
(inherit mozjs)
|
||||||
|
(version "115.26.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://archive.mozilla.org/pub/firefox"
|
||||||
|
"/releases/" version "esr/source/firefox-"
|
||||||
|
version "esr.source.tar.xz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments arguments
|
||||||
|
((#:configure-flags flags)
|
||||||
|
#~(delete "--enable-rust-simd" #$flags))
|
||||||
|
((#:phases phases)
|
||||||
|
#~(modify-phases #$phases
|
||||||
|
(replace 'adjust-tests
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion "../js/src/tests"
|
||||||
|
;; The test suite expects a lightly patched ICU. Disable tests
|
||||||
|
;; that do not work with the system version. See
|
||||||
|
;; "intl/icu-patches" for clues.
|
||||||
|
|
||||||
|
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
|
||||||
|
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
|
||||||
|
;; related patch for why this is failing.
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/\
|
||||||
|
fractional-second-digits-append-item.js")
|
||||||
|
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
|
||||||
|
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
|
||||||
|
(delete-file "non262/Intl/available-locales-supported.js")
|
||||||
|
;; FIXME: got "en-US", expected "en-US-POSIX"
|
||||||
|
(delete-file "non262/Intl/available-locales-resolved.js")
|
||||||
|
|
||||||
|
;;; Since 115:
|
||||||
|
;; Mismatching array lengths
|
||||||
|
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
|
||||||
|
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
|
||||||
|
;; America/Santa_Isabel -> America/Tijuana
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
|
||||||
|
;; TODO: tzdata 2024a expected – find a way to regenerate
|
||||||
|
;; these generated tests
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
|
||||||
|
|
||||||
|
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
|
||||||
|
(delete-file "non262/Intl/Collator/implicithan.js")
|
||||||
|
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
|
||||||
|
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
|
||||||
|
|
||||||
|
(replace 'pre-check
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion "../js/src/tests"
|
||||||
|
(substitute* "shell/os.js"
|
||||||
|
;; FIXME: Why does the killed process have an exit status?
|
||||||
|
((".*killed process should not have exitStatus.*")
|
||||||
|
""))
|
||||||
|
|
||||||
|
;; XXX: Delete all tests that test time zone functionality,
|
||||||
|
;; because the test suite uses /etc/localtime to figure out
|
||||||
|
;; the offset from the hardware clock, which does not work
|
||||||
|
;; in the build container. See <tests/non262/Date/shell.js>.
|
||||||
|
(delete-file-recursively "non262/Date")
|
||||||
|
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
|
||||||
|
|
||||||
|
(setenv "JSTESTS_EXTRA_ARGS"
|
||||||
|
(string-join
|
||||||
|
(list
|
||||||
|
;; Do not run tests marked as "random".
|
||||||
|
"--exclude-random"
|
||||||
|
;; Exclude web platform tests.
|
||||||
|
"--wpt=disabled"
|
||||||
|
;; Respect the daemons configured number of jobs.
|
||||||
|
(string-append "--worker-count="
|
||||||
|
(number->string
|
||||||
|
(parallel-job-count)))))))))))))
|
||||||
|
(inputs
|
||||||
|
(list icu4c-73 readline zlib))))
|
||||||
|
|
||||||
;;; TEMPORARY old version of icecat-source for use by icedove until it is updated.
|
;;; TEMPORARY old version of icecat-source for use by icedove until it is updated.
|
||||||
(define %icecat-140.9.1-base-version "140.9.1")
|
(define %icecat-140.9.1-base-version "140.9.1")
|
||||||
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1"))
|
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1"))
|
||||||
|
|||||||
+32
-20
@@ -578,7 +578,10 @@ This package provides the core library and elements.")
|
|||||||
(substitute* "tests/check/meson.build"
|
(substitute* "tests/check/meson.build"
|
||||||
;; This test causes nondeterministic failures (see:
|
;; This test causes nondeterministic failures (see:
|
||||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
|
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
|
||||||
((".*'elements/appsrc.c'.*") ""))
|
((".*'elements/appsrc.c'.*") "")
|
||||||
|
;; This one is flaky (see:
|
||||||
|
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5016>).
|
||||||
|
((".*'elements/inputselector.c'.*") ""))
|
||||||
;; Some other tests fail on other architectures.
|
;; Some other tests fail on other architectures.
|
||||||
#$@(cond
|
#$@(cond
|
||||||
((target-x86-32?)
|
((target-x86-32?)
|
||||||
@@ -766,7 +769,8 @@ model to base your own plug-in on, here it is.")
|
|||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled"
|
#:configure-flags #~(list "-Dgpl=enabled"
|
||||||
|
"-Dsctp-internal-usrsctp=disabled"
|
||||||
;; TODO: Figure out why audiovisualizer test
|
;; TODO: Figure out why audiovisualizer test
|
||||||
;; fails on riscv64-linux.
|
;; fails on riscv64-linux.
|
||||||
#$@(if (target-riscv64?)
|
#$@(if (target-riscv64?)
|
||||||
@@ -776,6 +780,15 @@ model to base your own plug-in on, here it is.")
|
|||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
#$@%common-gstreamer-phases
|
#$@%common-gstreamer-phases
|
||||||
|
(add-after 'unpack 'patch-paths
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "ext/resindvd/resindvdsrc.c"
|
||||||
|
;; `g_module_open' is a wrapper above dlopen; pass it the
|
||||||
|
;; absolute file name of the library to ensure it is always
|
||||||
|
;; found.
|
||||||
|
(("\"libdvdcss\"")
|
||||||
|
(format #f "~s"
|
||||||
|
(search-input-file inputs "lib/libdvdcss.so"))))))
|
||||||
(add-after 'unpack 'adjust-tests
|
(add-after 'unpack 'adjust-tests
|
||||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||||
(let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
|
(let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
|
||||||
@@ -789,18 +802,18 @@ model to base your own plug-in on, here it is.")
|
|||||||
|
|
||||||
;; The 'elements_shm.test_shm_live' test sometimes times out
|
;; The 'elements_shm.test_shm_live' test sometimes times out
|
||||||
;; (see:
|
;; (see:
|
||||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
|
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790>).
|
||||||
((".*'elements/shm\\.c'.*") "")
|
((".*'elements/shm\\.c'.*") "")
|
||||||
|
|
||||||
;; The 'elements_curlhttpsrc' test sometimes times out.
|
;; The 'elements_curlhttpsrc' test sometimes times out.
|
||||||
((".*'elements/curlhttpsrc\\.c'.*") "")
|
((".*'elements/curlhttpsrc\\.c'.*") "")
|
||||||
|
|
||||||
;; The 'mxfdemux' test fails for unknown reasons (see:
|
;; The 'mxfdemux' test fails for unknown reasons (see:
|
||||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921).
|
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921>).
|
||||||
((".*'elements/mxfdemux.c'.*") "")
|
((".*'elements/mxfdemux.c'.*") "")
|
||||||
|
|
||||||
;; Unexpected critical/warning, see
|
;; Unexpected critical/warning, see
|
||||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3000>
|
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/792>
|
||||||
((".*'elements/netsim\\.c'.*") "")
|
((".*'elements/netsim\\.c'.*") "")
|
||||||
|
|
||||||
;; TODO: Figure out why this test fails on riscv64-linux.
|
;; TODO: Figure out why this test fails on riscv64-linux.
|
||||||
@@ -809,30 +822,19 @@ model to base your own plug-in on, here it is.")
|
|||||||
"'elements/viewfinderbin.c'], true, ],"))
|
"'elements/viewfinderbin.c'], true, ],"))
|
||||||
'())
|
'())
|
||||||
|
|
||||||
;; This test is flaky on at least some architectures.
|
;; This test is flaky.
|
||||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
|
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
|
||||||
#$@(if (member (%current-system)
|
(("'elements/camerabin\\.c'\\].*],")
|
||||||
'("aarch64-linux" "riscv64-linux"))
|
"'elements/camerabin.c'], true, ],")
|
||||||
`((("'elements/camerabin\\.c'\\].*],")
|
|
||||||
"'elements/camerabin.c'], true, ],"))
|
|
||||||
'())
|
|
||||||
|
|
||||||
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
|
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
|
||||||
((".*elements/dtls\\.c.*") "")
|
((".*elements/dtls\\.c.*") "")
|
||||||
|
|
||||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
|
|
||||||
((".*elements/mxfdemux\\.c.*") "")
|
|
||||||
|
|
||||||
;; Unable to create pipeline 'bin.
|
;; Unable to create pipeline 'bin.
|
||||||
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
|
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
|
||||||
;; no element "vulkanupload"
|
;; no element "vulkanupload"
|
||||||
((".*elements/vkcolorconvert\\.c.*") "")
|
((".*elements/vkcolorconvert\\.c.*") "")
|
||||||
((".*elements/vkupload\\.c.*") ""))
|
((".*elements/vkupload\\.c.*") "")))))
|
||||||
(substitute* "tests/check/elements/zxing.c"
|
|
||||||
;; zxing 1.2.0 seemingly changed the type representation of
|
|
||||||
;; the EAN_13 structure; disable it.
|
|
||||||
((".*\"EAN_13\".*")
|
|
||||||
"")))))
|
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Tests require a running X server.
|
;; Tests require a running X server.
|
||||||
@@ -1162,9 +1164,19 @@ after their category.")
|
|||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||||
|
#:configure-flags #~(list "-Dgpl=enabled")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
#$@%common-gstreamer-phases
|
#$@%common-gstreamer-phases
|
||||||
|
(add-after 'unpack 'patch-paths
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "ext/dvdread/dvdreadsrc.c"
|
||||||
|
;; `g_module_open' is a wrapper above dlopen; pass it the
|
||||||
|
;; absolute file name of the library to ensure it is always
|
||||||
|
;; found.
|
||||||
|
(("\"libdvdcss\"")
|
||||||
|
(format #f "~s"
|
||||||
|
(search-input-file inputs "lib/libdvdcss.so"))))))
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Tests require a running X server.
|
;; Tests require a running X server.
|
||||||
|
|||||||
+44
-38
@@ -24,7 +24,7 @@
|
|||||||
;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||||
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
|
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
|
||||||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
||||||
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
;;; Copyright © 2020-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||||
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
||||||
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
|
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
|
||||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||||
@@ -387,7 +387,7 @@ applications.")
|
|||||||
(define-public pango
|
(define-public pango
|
||||||
(package
|
(package
|
||||||
(name "pango")
|
(name "pango")
|
||||||
(version "1.56.4")
|
(version "1.57.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
@@ -396,7 +396,7 @@ applications.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0jnmydds9dmdah4fjj5rr5gmf1imxlxjc0w98if642n98vmsdf67"))))
|
"0dfvlag7jhf4fzraxwhx4s016h2z7igq3knza9vfklkss8igs00a"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -647,7 +647,7 @@ highlighting and other features typical of a source code editor.")
|
|||||||
(define-public gdk-pixbuf
|
(define-public gdk-pixbuf
|
||||||
(package
|
(package
|
||||||
(name "gdk-pixbuf")
|
(name "gdk-pixbuf")
|
||||||
(version "2.44.4")
|
(version "2.44.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -655,7 +655,7 @@ highlighting and other features typical of a source code editor.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"05xxpl3sd37lsp5qqy01m0w9c14dqfi84x9rawsffyj2y71sm8ck"))
|
"0s5b010jlinmki5iidbj2yip8n2sxc6xc0qmcvpc104v2c4kxfb9"))
|
||||||
(patches
|
(patches
|
||||||
(search-patches
|
(search-patches
|
||||||
"gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch"))))
|
"gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch"))))
|
||||||
@@ -781,7 +781,7 @@ images.")
|
|||||||
(hidden-package
|
(hidden-package
|
||||||
(package
|
(package
|
||||||
(name "at-spi2-core")
|
(name "at-spi2-core")
|
||||||
(version "2.52.0")
|
(version "2.60.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -789,7 +789,7 @@ images.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1azmbzik0gl2s03c9lq3dff3h1iql1zvlwn28yhizl68421zrhqa"))))
|
"16fb2hv12k2vzh462gbd4qf8ipvnb2ijrc5d7w56dzfqjwd0rrc0"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
@@ -987,7 +987,7 @@ application suites.")
|
|||||||
(package
|
(package
|
||||||
(inherit gtk+-2)
|
(inherit gtk+-2)
|
||||||
(name "gtk+")
|
(name "gtk+")
|
||||||
(version "3.24.51")
|
(version "3.24.52")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
@@ -996,10 +996,11 @@ application suites.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
|
"197w1mb5vqm5d07sgdqkg54can7f1p4yjh42zx0y8z6m9p43shck"))
|
||||||
(patches (search-patches
|
(patches (search-patches
|
||||||
"gtk3-respect-GUIX_GTK3_PATH.patch"
|
"gtk3-respect-GUIX_GTK3_PATH.patch"
|
||||||
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
|
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"
|
||||||
|
"gtk3-treeview-test-fix.patch"))))
|
||||||
;; There is no "doc" output, because adding gtk-doc here would introduce a
|
;; There is no "doc" output, because adding gtk-doc here would introduce a
|
||||||
;; dependency cycle with itself.
|
;; dependency cycle with itself.
|
||||||
(outputs '("out" "bin"))
|
(outputs '("out" "bin"))
|
||||||
@@ -1075,22 +1076,20 @@ application suites.")
|
|||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'disable-failing-tests
|
(add-after 'unpack 'disable-failing-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
;; These tests fail only in the containerized environment, for
|
(substitute* "testsuite/gtk/meson.build"
|
||||||
;; unknown reasons.
|
((".*\\['defaultvalue'],.*") "")
|
||||||
(substitute* "testsuite/gtk/meson.build"
|
((".*\\['objects-finalize',.*") ""))
|
||||||
((".*\\['defaultvalue'],.*") "")
|
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
||||||
((".*\\['objects-finalize',.*") ""))
|
;; fail for unknown reasons (see:
|
||||||
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
||||||
;; fail for unknown reasons (see:
|
(substitute* "testsuite/reftests/meson.build"
|
||||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
((" 'flipping-icons.ui',.*") "")
|
||||||
(substitute* "testsuite/reftests/meson.build"
|
((" 'gtk-icontheme-sizing.ui',.*") ""))
|
||||||
((" 'flipping-icons.ui',.*") "")
|
;; This test fails just on i686-linux, for unknown reasons.
|
||||||
((" 'gtk-icontheme-sizing.ui',.*") ""))
|
#$@(if (target-x86-32?)
|
||||||
;; This test fails just on i686-linux, for unknown reasons.
|
#~((substitute* "testsuite/reftests/meson.build"
|
||||||
#$@(if (target-x86-32?)
|
((" 'linear-gradient.ui',.*") "")))
|
||||||
#~((substitute* "testsuite/reftests/meson.build"
|
#~())))
|
||||||
((" 'linear-gradient.ui',.*") "")))
|
|
||||||
#~())))
|
|
||||||
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
||||||
(assoc-ref glib-or-gtk:%standard-phases
|
(assoc-ref glib-or-gtk:%standard-phases
|
||||||
'generate-gdk-pixbuf-loaders-cache-file))
|
'generate-gdk-pixbuf-loaders-cache-file))
|
||||||
@@ -1114,13 +1113,13 @@ application suites.")
|
|||||||
"/share/applications")))))))
|
"/share/applications")))))))
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list (search-path-specification
|
(list (search-path-specification
|
||||||
(variable "GUIX_GTK3_PATH")
|
(variable "GUIX_GTK3_PATH")
|
||||||
(files '("lib/gtk-3.0")))))))
|
(files '("lib/gtk-3.0")))))))
|
||||||
|
|
||||||
(define-public gtk
|
(define-public gtk
|
||||||
(package
|
(package
|
||||||
(name "gtk")
|
(name "gtk")
|
||||||
(version "4.20.3")
|
(version "4.22.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
@@ -1128,9 +1127,11 @@ application suites.")
|
|||||||
(version-major+minor version) "/"
|
(version-major+minor version) "/"
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0ly1gqc6ybxv5f2a9hvjp5k6l9mfzy2yv8iy2xqnr9l8628g4wr8"))
|
(base32 "1z2mkmazc2d51jbg3qwwdycycqiwswm88nhw6bxscz8j86f5lyyd"))
|
||||||
(patches
|
(patches
|
||||||
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
|
(search-patches "gtk4-demo-reproducible.patch"
|
||||||
|
"gtk4-needs-udmabuf.patch"
|
||||||
|
"gtk4-respect-GUIX_GTK4_PATH.patch"))
|
||||||
(modules '((guix build utils)))))
|
(modules '((guix build utils)))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(outputs '("out" "bin" "doc"))
|
(outputs '("out" "bin" "doc"))
|
||||||
@@ -1198,6 +1199,9 @@ application suites.")
|
|||||||
(("[ \t]*'empty-text.node',") "")
|
(("[ \t]*'empty-text.node',") "")
|
||||||
(("[ \t]*'testswitch.node',") "")
|
(("[ \t]*'testswitch.node',") "")
|
||||||
(("[ \t]*'widgetfactory.node',") "")
|
(("[ \t]*'widgetfactory.node',") "")
|
||||||
|
;; The gtklistitemmanager test is flaky (see:
|
||||||
|
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/6547>).
|
||||||
|
((".*'gtklistitemmanager.c',.*") "")
|
||||||
;; XXX: Figure out why this fails and report upstream.
|
;; XXX: Figure out why this fails and report upstream.
|
||||||
((".*'memorytexture',.*") "")
|
((".*'memorytexture',.*") "")
|
||||||
((".*'yuv-matrix-dmabuf',.*") ""))
|
((".*'yuv-matrix-dmabuf',.*") ""))
|
||||||
@@ -1254,8 +1258,10 @@ application suites.")
|
|||||||
(setenv "XDG_CACHE_HOME" (getcwd))))
|
(setenv "XDG_CACHE_HOME" (getcwd))))
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
;; Tests require a running X server.
|
;; Tests require a running X server. The '-noreset' option is
|
||||||
(system "Xvfb :1 +extension GLX &")
|
;; necessary to avoid spurious "Failed to open display" test
|
||||||
|
;; errors.
|
||||||
|
(system "Xvfb :1 +extension GLX -screen 0 1024x768x24 -noreset &")
|
||||||
(setenv "DISPLAY" ":1")
|
(setenv "DISPLAY" ":1")
|
||||||
;; Tests write to $HOME.
|
;; Tests write to $HOME.
|
||||||
(setenv "HOME" (getcwd))
|
(setenv "HOME" (getcwd))
|
||||||
@@ -1298,6 +1304,7 @@ application suites.")
|
|||||||
docbook-xsl
|
docbook-xsl
|
||||||
gettext-minimal
|
gettext-minimal
|
||||||
`(,glib "bin")
|
`(,glib "bin")
|
||||||
|
glibc-utf8-locales ;some tests require en_US.UTF-8
|
||||||
gobject-introspection ;for building introspection data
|
gobject-introspection ;for building introspection data
|
||||||
graphene
|
graphene
|
||||||
gtk-doc/stable ;for building documentation
|
gtk-doc/stable ;for building documentation
|
||||||
@@ -1321,7 +1328,6 @@ application suites.")
|
|||||||
(inputs
|
(inputs
|
||||||
(list colord ;for color printing support
|
(list colord ;for color printing support
|
||||||
cups ;for CUPS print-backend
|
cups ;for CUPS print-backend
|
||||||
ffmpeg ;for ffmpeg media-backend
|
|
||||||
fribidi
|
fribidi
|
||||||
gi-docgen
|
gi-docgen
|
||||||
gstreamer ;for gstreamer media-backend
|
gstreamer ;for gstreamer media-backend
|
||||||
@@ -1365,8 +1371,8 @@ application suites.")
|
|||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list
|
(list
|
||||||
(search-path-specification
|
(search-path-specification
|
||||||
(variable "GUIX_GTK4_PATH")
|
(variable "GUIX_GTK4_PATH")
|
||||||
(files '("lib/gtk-4.0")))))
|
(files '("lib/gtk-4.0")))))
|
||||||
(search-paths native-search-paths)
|
(search-paths native-search-paths)
|
||||||
(home-page "https://www.gtk.org/")
|
(home-page "https://www.gtk.org/")
|
||||||
(synopsis "Cross-platform widget toolkit")
|
(synopsis "Cross-platform widget toolkit")
|
||||||
@@ -2205,7 +2211,7 @@ information.")
|
|||||||
(define-public gtk-doc
|
(define-public gtk-doc
|
||||||
(package
|
(package
|
||||||
(name "gtk-doc")
|
(name "gtk-doc")
|
||||||
(version "1.34.0")
|
(version "1.35.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
@@ -2213,7 +2219,7 @@ information.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
|
"1qi5bgqca1chdcfw7v4h3sw8jg661nmp77d7x658mn6nxlj9y731"))
|
||||||
(patches
|
(patches
|
||||||
(search-patches "gtk-doc-respect-xml-catalog.patch"
|
(search-patches "gtk-doc-respect-xml-catalog.patch"
|
||||||
"gtk-doc-mkhtml-test-fix.patch"))))
|
"gtk-doc-mkhtml-test-fix.patch"))))
|
||||||
|
|||||||
@@ -89,14 +89,14 @@
|
|||||||
(define-public ibus-minimal
|
(define-public ibus-minimal
|
||||||
(package
|
(package
|
||||||
(name "ibus")
|
(name "ibus")
|
||||||
(version "1.5.32")
|
(version "1.5.34-rc2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/ibus/ibus")
|
(url "https://github.com/ibus/ibus")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256 (base32 "1rn2xpzi6x57n01rjin4a2h8yy1wdmvadgnglw0p6bdnc31q17a6"))))
|
(sha256 (base32 "1x05dwhi79s1mqgs34srdr2d5fvkyvihqvcnw91630xyf4r76b1h"))))
|
||||||
(build-system glib-or-gtk-build-system)
|
(build-system glib-or-gtk-build-system)
|
||||||
(outputs '("out" "doc"))
|
(outputs '("out" "doc"))
|
||||||
(arguments
|
(arguments
|
||||||
@@ -204,7 +204,7 @@
|
|||||||
wayland
|
wayland
|
||||||
xmodmap))
|
xmodmap))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list autoconf
|
(list autoconf-2.72
|
||||||
automake
|
automake
|
||||||
docbook-xml-4.1.2
|
docbook-xml-4.1.2
|
||||||
`(,glib "bin") ;for glib-genmarshal
|
`(,glib "bin") ;for glib-genmarshal
|
||||||
|
|||||||
+75
-29
@@ -71,11 +71,12 @@
|
|||||||
#:use-module (gnu packages build-tools)
|
#:use-module (gnu packages build-tools)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages cmake)
|
#:use-module (gnu packages cmake)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages cpp)
|
#:use-module (gnu packages cpp)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
#:use-module (gnu packages compression)
|
|
||||||
#:use-module (gnu packages datastructures)
|
#:use-module (gnu packages datastructures)
|
||||||
#:use-module (gnu packages documentation)
|
#:use-module (gnu packages documentation)
|
||||||
|
#:use-module (gnu packages fonts)
|
||||||
#:use-module (gnu packages fontutils)
|
#:use-module (gnu packages fontutils)
|
||||||
#:use-module (gnu packages freedesktop)
|
#:use-module (gnu packages freedesktop)
|
||||||
#:use-module (gnu packages gcc)
|
#:use-module (gnu packages gcc)
|
||||||
@@ -96,10 +97,11 @@
|
|||||||
#:use-module (gnu packages mcrypt)
|
#:use-module (gnu packages mcrypt)
|
||||||
#:use-module (gnu packages mp3)
|
#:use-module (gnu packages mp3)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
|
#:use-module (gnu packages ocr)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages photo)
|
#:use-module (gnu packages photo)
|
||||||
#:use-module (gnu packages popt)
|
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
|
#:use-module (gnu packages popt)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages python-build)
|
#:use-module (gnu packages python-build)
|
||||||
#:use-module (gnu packages python-check)
|
#:use-module (gnu packages python-check)
|
||||||
@@ -115,7 +117,6 @@
|
|||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (gnu packages fonts)
|
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
@@ -183,36 +184,81 @@ convert images in more than 100 different formats.")
|
|||||||
(define-public gradia
|
(define-public gradia
|
||||||
(package
|
(package
|
||||||
(name "gradia")
|
(name "gradia")
|
||||||
(version "1.2.1")
|
(version "1.13.0")
|
||||||
(source (origin
|
(source
|
||||||
(method git-fetch)
|
(origin
|
||||||
(uri (git-reference
|
(method git-fetch)
|
||||||
(url "https://github.com/AlexanderVanhee/Gradia")
|
(uri (git-reference
|
||||||
(commit (string-append "v" version))))
|
(url "https://github.com/AlexanderVanhee/Gradia")
|
||||||
(file-name (git-file-name name version))
|
(commit (string-append "v" version))))
|
||||||
(sha256
|
(file-name (git-file-name name version))
|
||||||
(base32 "07hal4h3kkjf7la02nqmqgw19sa6hkd130bkfmgwjimkv9zi8z2i"))))
|
(sha256
|
||||||
|
(base32 "00s6xj9crj5gkh233q98fmq67f41y877xgrn49cycwb3kybp237n"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:glib-or-gtk? #t
|
(list
|
||||||
#:phases
|
#:imported-modules (append %meson-build-system-modules
|
||||||
#~(modify-phases %standard-phases
|
%pyproject-build-system-modules)
|
||||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
#:modules '((guix build meson-build-system)
|
||||||
(lambda _
|
((guix build pyproject-build-system)
|
||||||
(substitute* "meson.build"
|
#:prefix py:)
|
||||||
(("gtk_update_icon_cache: true")
|
(guix build utils))
|
||||||
"gtk_update_icon_cache: false")
|
#:glib-or-gtk? #t
|
||||||
(("update_desktop_database: true")
|
#:phases
|
||||||
"update_desktop_database: false")))))))
|
#~(modify-phases %standard-phases
|
||||||
(inputs (list gtk libadwaita python python-pygobject))
|
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||||
(native-inputs
|
(lambda _
|
||||||
(list blueprint-compiler gettext-minimal `(,glib "bin") pkg-config))
|
(substitute* "meson.build"
|
||||||
|
(("gtk_update_icon_cache: true")
|
||||||
|
"gtk_update_icon_cache: false")
|
||||||
|
(("update_desktop_database: true")
|
||||||
|
"update_desktop_database: false"))))
|
||||||
|
(add-after 'unpack 'set-tesseract-and-tessdata-path
|
||||||
|
(lambda _
|
||||||
|
(let* ((tesseract #$(this-package-input "tesseract-ocr"))
|
||||||
|
(tesseract-bin (string-append tesseract "/bin/tesseract"))
|
||||||
|
(tessdata (string-append tesseract "/share/tessdata")))
|
||||||
|
(substitute* "meson.build"
|
||||||
|
(("OCR_TESSERACT_CMD = '/app/bin/tesseract'")
|
||||||
|
(format #f "OCR_TESSERACT_CMD = '~a'" tesseract-bin))
|
||||||
|
(("OCR_ORIGINAL_TESSDATA_DIR = '/app/share/tessdata'")
|
||||||
|
(format #f "OCR_ORIGINAL_TESSDATA_DIR = '~a'" tessdata))))))
|
||||||
|
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(wrap-program (string-append #$output "/bin/gradia")
|
||||||
|
`("GUIX_PYTHONPATH" =
|
||||||
|
(,(getenv "GUIX_PYTHONPATH") ,(py:site-packages inputs
|
||||||
|
outputs)))
|
||||||
|
`("GI_TYPELIB_PATH" =
|
||||||
|
(,(getenv "GI_TYPELIB_PATH")))
|
||||||
|
`("GDK_PIXBUF_MODULE_FILE" =
|
||||||
|
(,(getenv "GDK_PIXBUF_MODULE_FILE")))))))))
|
||||||
|
(inputs (list bash-minimal
|
||||||
|
gtk
|
||||||
|
gtksourceview
|
||||||
|
libadwaita
|
||||||
|
libportal
|
||||||
|
libsoup
|
||||||
|
python
|
||||||
|
python-pillow
|
||||||
|
python-pycairo
|
||||||
|
python-pygobject
|
||||||
|
python-pytesseract
|
||||||
|
tesseract-ocr
|
||||||
|
webp-pixbuf-loader))
|
||||||
|
(native-inputs (list blueprint-compiler
|
||||||
|
desktop-file-utils
|
||||||
|
gettext-minimal
|
||||||
|
`(,glib "bin")
|
||||||
|
gobject-introspection
|
||||||
|
pkg-config))
|
||||||
(home-page "https://github.com/AlexanderVanhee/Gradia")
|
(home-page "https://github.com/AlexanderVanhee/Gradia")
|
||||||
(synopsis "Edit screenshots")
|
(synopsis "Edit screenshots")
|
||||||
(description "Gradia is a GTK 4 application for enhancing and preparing
|
(description
|
||||||
|
"Gradia is a GTK 4 application for enhancing and preparing
|
||||||
screenshots for blogs, social media, and documentation. It supports background
|
screenshots for blogs, social media, and documentation. It supports background
|
||||||
customization, annotation tools (pen, arrow, text, highlight, stamp), padding,
|
customization, annotation tools (pen, arrow, text, highlight, stamp), padding,
|
||||||
cropping, and various export formats.")
|
cropping, @acronym{OCR, optical character recognition} and various export formats.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public iqa
|
(define-public iqa
|
||||||
@@ -2808,7 +2854,7 @@ Format) file format decoder and encoder.")
|
|||||||
(define-public libjxl
|
(define-public libjxl
|
||||||
(package
|
(package
|
||||||
(name "libjxl")
|
(name "libjxl")
|
||||||
(version "0.11.1")
|
(version "0.11.2")
|
||||||
(outputs (list "out" "pixbuf-loader"))
|
(outputs (list "out" "pixbuf-loader"))
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
@@ -2819,7 +2865,7 @@ Format) file format decoder and encoder.")
|
|||||||
(recursive? #t)))
|
(recursive? #t)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1wfxzrhj8a19z6x47ib1qbmgyg56jsxjs955xcvqhdkrx8l2271r"))
|
(base32 "1c7d0mlxmmjby00hzgwqfyr6nb6lqcgcjsqcdmg2l10rmxiw33rg"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
;; Delete the bundles that will not be used.
|
;; Delete the bundles that will not be used.
|
||||||
|
|||||||
@@ -1088,9 +1088,9 @@ wrappers.")
|
|||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference (url "https://github.com/tc39/test262")
|
(uri (git-reference (url "https://github.com/tc39/test262")
|
||||||
(commit "a5e69a1534de88d1eb29b76657d84c8541b72df7")))
|
(commit "a6f387de323eb9ae56448bdb71c5d315df631ce4")))
|
||||||
(file-name "test262")
|
(file-name "test262")
|
||||||
(sha256 (base32 "078a7nim0n9x36q7q8yvjwhk4ig29p25b03rr4l7g2b545cky66l"))
|
(sha256 (base32 "09avg4f75rzbmh3hcybdvjij7hbl2m79x6xp1hgl6h8ihfbn33l0"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet #~(begin
|
(snippet #~(begin
|
||||||
(for-each delete-file
|
(for-each delete-file
|
||||||
@@ -1100,7 +1100,7 @@ wrappers.")
|
|||||||
(define-public quickjs-ng
|
(define-public quickjs-ng
|
||||||
(package
|
(package
|
||||||
(name "quickjs-ng")
|
(name "quickjs-ng")
|
||||||
(version "0.11.0")
|
(version "0.14.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -1109,11 +1109,7 @@ wrappers.")
|
|||||||
(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 "0mfk32zvvh6c9a9plp6ad07888g795lhdmal3jyaclyn2k5iig9i"))
|
(base32 "05k8niswh0ly5sx0129jdhiinqs84s86b7sv29ff68v3546dl04i"))))
|
||||||
;; Remove these patches on next release as they will be included.
|
|
||||||
(patches (search-patches
|
|
||||||
"quickjs-ng-64-bits-precision-on-i686.patch"
|
|
||||||
"quickjs-ng-fix-atomics.pause-on-32-bit.patch"))))
|
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
@@ -1146,6 +1142,23 @@ wrappers.")
|
|||||||
"")
|
"")
|
||||||
(("BUILD_DIR=build")
|
(("BUILD_DIR=build")
|
||||||
"BUILD_DIR=../build"))))
|
"BUILD_DIR=../build"))))
|
||||||
|
;; XXX: Unknown test failures in quickjs-ng 1.4.0.
|
||||||
|
;; Remove for future versions.
|
||||||
|
(add-before 'configure 'skip-failing-tests
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let* ((test262 (assoc-ref inputs "test262"))
|
||||||
|
(lang-path (in-vicinity test262 "test/language")))
|
||||||
|
(substitute* "test262.conf"
|
||||||
|
(("# list excluded tests and directories here" all)
|
||||||
|
(string-join
|
||||||
|
(cons* all
|
||||||
|
(map (lambda (f)
|
||||||
|
(in-vicinity lang-path f))
|
||||||
|
'(;; export 'foo' in module /gnu/store is ambiguous
|
||||||
|
"module-code/ambiguous-export-bindings/"
|
||||||
|
;; Could not find export 'default'
|
||||||
|
"import/import-attributes/text-self.js")))
|
||||||
|
"\n"))))))
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(when tests?
|
(when tests?
|
||||||
|
|||||||
@@ -164,14 +164,14 @@ resolution, asynchronous file system operations, and threading primitives.")
|
|||||||
(package
|
(package
|
||||||
(inherit libuv)
|
(inherit libuv)
|
||||||
(name "libuv")
|
(name "libuv")
|
||||||
(version "1.51.0")
|
(version "1.49.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://dist.libuv.org/dist/v" version
|
(uri (string-append "https://dist.libuv.org/dist/v" version
|
||||||
"/libuv-v" version ".tar.gz"))
|
"/libuv-v" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1szqivvs7izbhw1a3nd1ipbk012yvqqkjg0sjmqxw1hi1fwmf1az"))))
|
"1a75p8wp4l43y2ffj1szs1ssm6nzjad7k51bqi2r04ngs9mp044c"))))
|
||||||
(properties '((hidden? . #t)))))
|
(properties '((hidden? . #t)))))
|
||||||
|
|
||||||
(define-public libuv-for-r-httpuv
|
(define-public libuv-for-r-httpuv
|
||||||
|
|||||||
+21
-22
@@ -1,5 +1,5 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012-2021, 2021-2025 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2012-2021, 2021-2026 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||||
@@ -10460,7 +10460,6 @@ known as Slingshot.")
|
|||||||
(cons package extra)
|
(cons package extra)
|
||||||
'()))))
|
'()))))
|
||||||
(append (list rdma-core libnl)
|
(append (list rdma-core libnl)
|
||||||
(if-supported rocr-runtime)
|
|
||||||
(if-supported psm)
|
(if-supported psm)
|
||||||
(if-supported psm2)
|
(if-supported psm2)
|
||||||
(if-supported libcxi curl json-c))))
|
(if-supported libcxi curl json-c))))
|
||||||
@@ -10504,6 +10503,15 @@ applications deal with directly. It works in conjunction with provider
|
|||||||
libraries, which are often integrated directly into libfabric.")
|
libraries, which are often integrated directly into libfabric.")
|
||||||
(license (list license:bsd-2 license:gpl2)))) ;dual
|
(license (list license:bsd-2 license:gpl2)))) ;dual
|
||||||
|
|
||||||
|
;; Note: ROCm support is kept separate to avoid a significant increase in
|
||||||
|
;; closure size: <https://codeberg.org/guix/guix/issues/7225>.
|
||||||
|
(define-public libfabric-rocm
|
||||||
|
(package/inherit libfabric
|
||||||
|
(name "libfabric-rocm")
|
||||||
|
(inputs (modify-inputs inputs
|
||||||
|
(append rocr-runtime)))
|
||||||
|
(synopsis "Open Fabric Interfaces (with ROCm support)")))
|
||||||
|
|
||||||
(define-public libfabric-1 ;needed by Open MPI 4.x
|
(define-public libfabric-1 ;needed by Open MPI 4.x
|
||||||
(package
|
(package
|
||||||
(inherit libfabric)
|
(inherit libfabric)
|
||||||
@@ -11527,7 +11535,7 @@ of Linux application development.")
|
|||||||
(define-public wireplumber
|
(define-public wireplumber
|
||||||
(package
|
(package
|
||||||
(name "wireplumber")
|
(name "wireplumber")
|
||||||
(version "0.5.12")
|
(version "0.5.14")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -11537,7 +11545,7 @@ of Linux application development.")
|
|||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1dljz669ywy1lvvn0jh14ymynmbii45q5vay71zajpcg31249dyw"))))
|
(base32 "0rr2vlbwjjhgsk6lk2iwaww21gks2v63f0cs01rh2mdi8jpfz7h2"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("-Dsystemd=disabled"
|
`(#:configure-flags '("-Dsystemd=disabled"
|
||||||
@@ -12260,7 +12268,7 @@ that avoids the usage of older system-wide @file{/sys} interface.")
|
|||||||
(define-public libtracefs
|
(define-public libtracefs
|
||||||
(package
|
(package
|
||||||
(name "libtracefs")
|
(name "libtracefs")
|
||||||
(version "1.7.0")
|
(version "1.8.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -12269,25 +12277,16 @@ that avoids the usage of older system-wide @file{/sys} interface.")
|
|||||||
(commit (string-append name "-" version))))
|
(commit (string-append name "-" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0v896n3q0df0nxx5drbwyaqhrqiyxl06rvrdw3gp2r37awa9g1zb"))
|
(base32 "1bc4mwf488nlja64zawjznvb6640vchjb25xa02v53x6qfb1mpmq"))))
|
||||||
(modules '((guix build utils)))
|
(build-system meson-build-system)
|
||||||
(snippet
|
|
||||||
#~(begin
|
|
||||||
(substitute* (list "Makefile" "scripts/utils.mk")
|
|
||||||
(("/bin/(pwd)" _ command) command))))))
|
|
||||||
(build-system gnu-build-system)
|
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:tests? #f ; no test suite
|
#:configure-flags
|
||||||
#:make-flags
|
#~(list "-Ddoc=false")))
|
||||||
#~(list
|
(native-inputs
|
||||||
(string-append "CC=" #$(cc-for-target))
|
(list bison
|
||||||
(string-append "pkgconfig_dir=" #$output "/lib/pkgconfig")
|
flex
|
||||||
(string-append "prefix=" #$output))
|
pkg-config))
|
||||||
#:phases
|
|
||||||
#~(modify-phases %standard-phases
|
|
||||||
(delete 'configure)))) ; no configure script
|
|
||||||
(native-inputs (list pkg-config))
|
|
||||||
(inputs (list libtraceevent))
|
(inputs (list libtraceevent))
|
||||||
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/")
|
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/")
|
||||||
(synopsis "Linux kernel trace file system library")
|
(synopsis "Linux kernel trace file system library")
|
||||||
|
|||||||
+16
-33
@@ -229,42 +229,25 @@ provides some unique features such as CSV log format and wide string support.")
|
|||||||
(define-public multitail
|
(define-public multitail
|
||||||
(package
|
(package
|
||||||
(name "multitail")
|
(name "multitail")
|
||||||
(version "6.5.2")
|
(version "7.1.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/halturin/multitail")
|
(url "https://github.com/folkertvanheusden/multitail")
|
||||||
(commit (string-append "v" version))))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "17hg5qpangyx4m7hp2x4h56mp6w3wsaslg1il39qcpwsffh1rihc"))))
|
(base32 "11kkd2rg3qc7ck5iyha0f8l5lqc1bvwypn80di0h77h7p106blvk"))))
|
||||||
(build-system gnu-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags
|
(list
|
||||||
(list (string-append "CC=" ,(cc-for-target))
|
#:tests? #f ;no test suite
|
||||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
#:phases #~(modify-phases %standard-phases
|
||||||
"SYSCONFDIR=$(PREFIX)/etc")
|
(add-after 'unpack 'patch-curses-headers
|
||||||
#:phases
|
(lambda _
|
||||||
(modify-phases %standard-phases
|
(substitute* "mt.h"
|
||||||
(add-after 'unpack 'fix-broken-build
|
(("ncursesw/") "")))))))
|
||||||
;; With some luck, you might be able to remove this when updating…
|
|
||||||
(lambda _
|
|
||||||
(substitute* "Makefile"
|
|
||||||
((" \\*\\.txt") "")
|
|
||||||
((".*CONFIG_DIR.*") "")
|
|
||||||
(("^install: .*" match)
|
|
||||||
(string-append match
|
|
||||||
"\t$(INSTALL_DIR) $(DESTDIR)$(SYSCONFDIR)\n")))
|
|
||||||
(substitute* "version"
|
|
||||||
(("(VERSION=).*" _ assign)
|
|
||||||
(string-append assign ,version)))))
|
|
||||||
(add-after 'unpack 'patch-curses-headers
|
|
||||||
(lambda _
|
|
||||||
(substitute* "mt.h"
|
|
||||||
(("ncursesw/") ""))))
|
|
||||||
(delete 'configure)) ; no configure script
|
|
||||||
#:tests? #f)) ; no test suite (make check just runs cppcheck)
|
|
||||||
(inputs (list ncurses))
|
(inputs (list ncurses))
|
||||||
(home-page "https://vanheusden.com/multitail/")
|
(home-page "https://vanheusden.com/multitail/")
|
||||||
(synopsis "Monitor multiple log files")
|
(synopsis "Monitor multiple log files")
|
||||||
|
|||||||
@@ -1129,7 +1129,7 @@ Grammars (PEGs).")
|
|||||||
(define (make-lua-luv name lua)
|
(define (make-lua-luv name lua)
|
||||||
(package
|
(package
|
||||||
(name name)
|
(name name)
|
||||||
(version "1.43.0-0")
|
(version "1.44.2-0")
|
||||||
(source (origin
|
(source (origin
|
||||||
;; The release tarball includes the sources of libuv but does
|
;; The release tarball includes the sources of libuv but does
|
||||||
;; not include the pkg-config files.
|
;; not include the pkg-config files.
|
||||||
@@ -1140,7 +1140,7 @@ Grammars (PEGs).")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
|
"0jdvsznzha290gnzd66vscsdacd5dapq0scwy4zj64d9wnsv39p7"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:tests? #f ; there are none
|
(list #:tests? #f ; there are none
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014-2026 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||||
@@ -432,7 +432,7 @@ software vendors, application developers and computer science researchers.")
|
|||||||
(package/inherit openmpi-5
|
(package/inherit openmpi-5
|
||||||
(name "openmpi-rocm")
|
(name "openmpi-rocm")
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments openmpi-5)
|
(substitute-keyword-arguments arguments
|
||||||
((#:configure-flags flags '())
|
((#:configure-flags flags '())
|
||||||
#~(cons* (string-append "--with-rocm="
|
#~(cons* (string-append "--with-rocm="
|
||||||
#$(this-package-input "rocm-hip-runtime"))
|
#$(this-package-input "rocm-hip-runtime"))
|
||||||
@@ -440,7 +440,9 @@ software vendors, application developers and computer science researchers.")
|
|||||||
(inputs (modify-inputs (package-inputs openmpi-5)
|
(inputs (modify-inputs (package-inputs openmpi-5)
|
||||||
;; XXX: This might break openmpi-5 for architectures where ROCm
|
;; XXX: This might break openmpi-5 for architectures where ROCm
|
||||||
;; is not supported.
|
;; is not supported.
|
||||||
(append rocm-hip-runtime)))
|
(append rocm-hip-runtime)
|
||||||
|
(replace "ucx" ucx-rocm)
|
||||||
|
(replace "libfabric" libfabric-rocm)))
|
||||||
(synopsis "MPI-3 implementation (with ROCm support)")))
|
(synopsis "MPI-3 implementation (with ROCm support)")))
|
||||||
|
|
||||||
(define-public openmpi-c++
|
(define-public openmpi-c++
|
||||||
|
|||||||
@@ -171,6 +171,7 @@
|
|||||||
#:use-module (gnu packages lua)
|
#:use-module (gnu packages lua)
|
||||||
#:use-module (gnu packages machine-learning)
|
#:use-module (gnu packages machine-learning)
|
||||||
#:use-module (gnu packages man)
|
#:use-module (gnu packages man)
|
||||||
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages messaging)
|
#:use-module (gnu packages messaging)
|
||||||
#:use-module (gnu packages mp3)
|
#:use-module (gnu packages mp3)
|
||||||
#:use-module (gnu packages mpd)
|
#:use-module (gnu packages mpd)
|
||||||
@@ -224,6 +225,7 @@
|
|||||||
#:use-module (gnu packages xiph)
|
#:use-module (gnu packages xiph)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
|
#:use-module (gnu packages wine)
|
||||||
#:use-module ((srfi srfi-1) #:select (last)))
|
#:use-module ((srfi srfi-1) #:select (last)))
|
||||||
|
|
||||||
(define-public alsa-scarlett-gui
|
(define-public alsa-scarlett-gui
|
||||||
@@ -5355,6 +5357,132 @@ includes instruments based on audio samples and various soft sythesizers. It
|
|||||||
can receive input from a MIDI keyboard.")
|
can receive input from a MIDI keyboard.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
;; This version tracks the latest commit from master branch.
|
||||||
|
(define-public lmms-next
|
||||||
|
(let ((commit "83313e737d3137f7939f3daa9063a94a1ac01f7c")
|
||||||
|
(revision "0"))
|
||||||
|
(package/inherit lmms
|
||||||
|
(name "lmms-next")
|
||||||
|
(version (git-version "1.3.0-alpha.1" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(inherit (package-source lmms))
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/LMMS/lmms")
|
||||||
|
(commit commit)
|
||||||
|
;; Clone recursively only for the optional plugins. The 3rd
|
||||||
|
;; party libraries will be deleted by the snippet.
|
||||||
|
(recursive? #t)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1mpp449rvn9f10bcxhpmxfinvj3jdv4s6qjhlp0sj9l783pv3h69"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Delete the bundled 3rd party libraries.
|
||||||
|
(for-each delete-file-recursively
|
||||||
|
(list "plugins/CarlaBase/carla"
|
||||||
|
"plugins/OpulenZ/adplug"
|
||||||
|
"plugins/Xpressive/exprtk"
|
||||||
|
"src/3rdparty"))
|
||||||
|
;; Do not check submodules.
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
((".*CheckSubmodules.*") "")
|
||||||
|
;; Do not use the bundled weakjack.
|
||||||
|
(("JACK libraries\" ON") "JACK libraries\" OFF"))
|
||||||
|
(substitute* "src/CMakeLists.txt"
|
||||||
|
;; Do not add 3rd party libraries.
|
||||||
|
((".*3rdparty.*") "")
|
||||||
|
;; Use adplug and ringbuffer from the system.
|
||||||
|
(("\\$\\{EXTRA_LIBRARIES\\}" all)
|
||||||
|
(string-append all
|
||||||
|
"\n\tadplug"
|
||||||
|
"\n\tringbuffer")))
|
||||||
|
(with-directory-excursion "plugins"
|
||||||
|
;; Use carla from the system.
|
||||||
|
(substitute* "CarlaBase/Carla.h"
|
||||||
|
(("#include <CarlaDefines")
|
||||||
|
"#include <carla/includes/CarlaDefines")
|
||||||
|
(("#include <CarlaNative")
|
||||||
|
"#include <carla/includes/CarlaNative")
|
||||||
|
(("#include <CarlaBackend") "#include <carla/CarlaBackend")
|
||||||
|
(("#include <CarlaUtils") "#include <carla/CarlaUtils"))
|
||||||
|
(with-directory-excursion "OpulenZ"
|
||||||
|
;; Do not use the bundled adplug.
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
((".*adplug .*") "")
|
||||||
|
((".*adplug/.*") "")
|
||||||
|
(("^\\)") "")
|
||||||
|
(("\\.png\"") ".png\"\n)"))
|
||||||
|
;; Use adplug from the system.
|
||||||
|
(substitute* "OpulenZ.cpp"
|
||||||
|
(("<opl\\.h>") "<adplug/opl.h>")
|
||||||
|
(("<temuopl\\.h>") "<adplug/temuopl.h>")
|
||||||
|
(("<mididata\\.h>") "<adplug/mididata.h>")))
|
||||||
|
;; Do not use the bundled hiir.
|
||||||
|
(substitute* "SlewDistortion/CMakeLists.txt"
|
||||||
|
(("TARGET_LINK_LIBRARIES\\(slewdistortion hiir\\)") ""))
|
||||||
|
;; Do not use the bundled exprtk.
|
||||||
|
(substitute* "Xpressive/CMakeLists.txt"
|
||||||
|
((".*\\(exprtk .*") "")
|
||||||
|
((".*xpressive exprtk.*") "")))
|
||||||
|
;; Avoid "invalid conversion from 'const unsigned char*' to
|
||||||
|
;; 'unsigned char*'" error.
|
||||||
|
(substitute* "plugins/OpulenZ/OpulenZ.cpp"
|
||||||
|
(("unsigned char \\*inst") "const unsigned char *inst"))))))
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments arguments
|
||||||
|
((#:qtbase _ #f) qtbase)
|
||||||
|
((#:configure-flags flags)
|
||||||
|
#~(cons* "-DWANT_QT6=ON" (delete "-DWANT_QT5=ON" #$flags)))
|
||||||
|
((#:phases phases)
|
||||||
|
#~(modify-phases #$phases
|
||||||
|
(delete 'unpack-rpmalloc)
|
||||||
|
(replace 'fix-carla-export
|
||||||
|
;; Taken from NixOS package definition.
|
||||||
|
(lambda _
|
||||||
|
(substitute* "plugins/CarlaBase/Carla.h"
|
||||||
|
(("CARLA_EXPORT")
|
||||||
|
"CARLA_API_EXPORT"))))))))
|
||||||
|
(native-inputs
|
||||||
|
(modify-inputs native-inputs
|
||||||
|
(delete "rpmalloc")
|
||||||
|
(replace "qttools" qttools)))
|
||||||
|
(inputs
|
||||||
|
(modify-inputs inputs
|
||||||
|
(delete "qtx11extras")
|
||||||
|
(replace "carla" carla-2.6)
|
||||||
|
(replace "qtwayland" qtwayland)
|
||||||
|
(replace "sdl12-compat" sdl2)
|
||||||
|
(append adplug
|
||||||
|
exprtk
|
||||||
|
hiir
|
||||||
|
libxml2
|
||||||
|
lilv
|
||||||
|
lv2
|
||||||
|
perl
|
||||||
|
perl-list-moreutils
|
||||||
|
perl-xml-parser
|
||||||
|
qtsvg
|
||||||
|
ringbuffer
|
||||||
|
suil)))
|
||||||
|
(native-search-paths
|
||||||
|
(list (search-path-specification
|
||||||
|
(variable "LV2_PATH")
|
||||||
|
(files '("lib/lv2"))))))))
|
||||||
|
|
||||||
|
(define-public lmms-next-with-vst
|
||||||
|
(package/inherit lmms-next
|
||||||
|
(name "lmms-next-with-vst")
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments arguments
|
||||||
|
((#:configure-flags flags)
|
||||||
|
#~(cons* (string-append "-DWINE_LOCATIONS=" #$(wine-for-system))
|
||||||
|
(delete "-DWANT_VST=OFF" #$flags)))))
|
||||||
|
(inputs
|
||||||
|
(modify-inputs inputs
|
||||||
|
(append (wine-for-system))))))
|
||||||
|
|
||||||
(define-public stargate
|
(define-public stargate
|
||||||
(package
|
(package
|
||||||
(name "stargate")
|
(name "stargate")
|
||||||
|
|||||||
@@ -591,7 +591,7 @@ Android, and ChromeOS.")
|
|||||||
(define-public libnice
|
(define-public libnice
|
||||||
(package
|
(package
|
||||||
(name "libnice")
|
(name "libnice")
|
||||||
(version "0.1.22")
|
(version "0.1.23")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -601,7 +601,7 @@ Android, and ChromeOS.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0ik45q1qlr04llr2ssm6zb73840dmn31q303k3qrcpgj0jp578hg"))))
|
"0zqnqhcm1rx5axbzd448yi6j4bq4kykiqb4wihs2p8h1k49nkyjh"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(outputs '("out" "doc"))
|
(outputs '("out" "doc"))
|
||||||
(arguments
|
(arguments
|
||||||
@@ -614,23 +614,25 @@ Android, and ChromeOS.")
|
|||||||
(add-after 'unpack 'disable-failing-tests
|
(add-after 'unpack 'disable-failing-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "tests/meson.build"
|
(substitute* "tests/meson.build"
|
||||||
|
;; This test is flaky (see:
|
||||||
|
;; <https://gitlab.freedesktop.org/libnice/libnice/-/work_items/210>).
|
||||||
|
((".*'test-send-recv',.*") "")
|
||||||
;; ‘test-set-port-range.c:66:main: assertion failed:
|
;; ‘test-set-port-range.c:66:main: assertion failed:
|
||||||
;; (nice_agent_gather_candidates (agent, stream1))’
|
;; (nice_agent_gather_candidates (agent, stream1))’
|
||||||
(("'test-set-port-range'" all)
|
(("'test-set-port-range'" all)
|
||||||
(string-append "# " all))
|
(string-append "# " all))
|
||||||
;; The following test is disabled as it fails in a
|
;; The following test is disabled as it fails in a
|
||||||
;; nondeterministic fashion (see:
|
;; nondeterministic fashion (see:
|
||||||
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/151).
|
;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/151>).
|
||||||
(("'test-bsd'" all)
|
(("'test-bsd'" all)
|
||||||
(string-append "# " all))
|
(string-append "# " all))
|
||||||
;; The test-new-trickle fails with GLib 2.83.0 (see:
|
;; This test uses getaddrinfo, which cannot resolve in the
|
||||||
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/198).
|
;; build environment.
|
||||||
(("'test-new-trickle'" all)
|
((".*'test-slow-resolving',.*") ""))
|
||||||
(string-append "# " all)))
|
|
||||||
(substitute* "stun/tests/meson.build"
|
(substitute* "stun/tests/meson.build"
|
||||||
;; test-bind.c:234: bad_responses: Assertion `len >= 20'
|
;; test-bind.c:234: bad_responses: Assertion `len >= 20'
|
||||||
;; failed (see:
|
;; failed (see:
|
||||||
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/150).
|
;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/150>).
|
||||||
(("'bind', ")
|
(("'bind', ")
|
||||||
""))))
|
""))))
|
||||||
(add-after 'install 'move-docs
|
(add-after 'install 'move-docs
|
||||||
|
|||||||
@@ -2324,7 +2324,7 @@ a string consisting of a number and a time unit is converted to milliseconds.")
|
|||||||
(define-public node-nan
|
(define-public node-nan
|
||||||
(package
|
(package
|
||||||
(name "node-nan")
|
(name "node-nan")
|
||||||
(version "2.26.2")
|
(version "2.22.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -2333,7 +2333,7 @@ a string consisting of a number and a time unit is converted to milliseconds.")
|
|||||||
(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 "18xv0m40jgy3sc4pldw95w6p72ms5a5h0x2sm2mimlwlmxmrjlmb"))))
|
(base32 "02gqm23x26glffvyxrnk610hy3hg0kwh2v58dhnb032l0jhjzqvp"))))
|
||||||
(build-system node-build-system)
|
(build-system node-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
|||||||
+58
-48
@@ -274,7 +274,7 @@
|
|||||||
(lambda (file stat)
|
(lambda (file stat)
|
||||||
(executable-file? file))
|
(executable-file? file))
|
||||||
#:stat lstat)))))
|
#:stat lstat)))))
|
||||||
(add-after 'install 'fix-node-gyp-reference
|
(add-after 'install 'install-npmrc
|
||||||
;; Note: programs like node-gyp only receive these values if
|
;; Note: programs like node-gyp only receive these values if
|
||||||
;; they are started via `npm` or `npx`.
|
;; they are started via `npm` or `npx`.
|
||||||
;; See: https://github.com/nodejs/node-gyp#npm-configuration
|
;; See: https://github.com/nodejs/node-gyp#npm-configuration
|
||||||
@@ -482,7 +482,7 @@ Node.js and web browsers.")
|
|||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/nodejs/llparse-builder.git")
|
(url "https://github.com/indutny/llparse-builder.git")
|
||||||
(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
|
||||||
@@ -491,6 +491,10 @@ Node.js and web browsers.")
|
|||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
;; FIXME: Unneeded runtime dependency.
|
||||||
|
;; https://github.com/indutny/llparse-builder/pull/2
|
||||||
|
(substitute* "package.json"
|
||||||
|
(("\"@types/debug.*,") ""))
|
||||||
;; Fix imports for esbuild.
|
;; Fix imports for esbuild.
|
||||||
;; https://github.com/evanw/esbuild/issues/477
|
;; https://github.com/evanw/esbuild/issues/477
|
||||||
(substitute* '("src/node/invoke.ts"
|
(substitute* '("src/node/invoke.ts"
|
||||||
@@ -517,8 +521,7 @@ Node.js and web browsers.")
|
|||||||
(add-after 'patch-dependencies 'delete-dependencies
|
(add-after 'patch-dependencies 'delete-dependencies
|
||||||
(lambda _
|
(lambda _
|
||||||
(modify-json (delete-dependencies
|
(modify-json (delete-dependencies
|
||||||
`("@types/debug"
|
`("@types/mocha"
|
||||||
"@types/mocha"
|
|
||||||
"@types/node"
|
"@types/node"
|
||||||
"mocha"
|
"mocha"
|
||||||
"ts-node"
|
"ts-node"
|
||||||
@@ -536,7 +539,7 @@ Node.js and web browsers.")
|
|||||||
(list node-binary-search-bootstrap node-debug-bootstrap))
|
(list node-binary-search-bootstrap node-debug-bootstrap))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list esbuild))
|
(list esbuild))
|
||||||
(home-page "https://github.com/nodejs/llparse-builder#readme")
|
(home-page "https://github.com/indutny/llparse-builder#readme")
|
||||||
(properties '((hidden? . #t)))
|
(properties '((hidden? . #t)))
|
||||||
(synopsis "Graph builder for consumption by llparse")
|
(synopsis "Graph builder for consumption by llparse")
|
||||||
(description "This package builds graphs for consumption by llparse.")
|
(description "This package builds graphs for consumption by llparse.")
|
||||||
@@ -550,7 +553,7 @@ Node.js and web browsers.")
|
|||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/nodejs/llparse-frontend.git")
|
(url "https://github.com/indutny/llparse-frontend.git")
|
||||||
(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
|
||||||
@@ -599,7 +602,7 @@ Node.js and web browsers.")
|
|||||||
(list node-debug-bootstrap node-llparse-builder-bootstrap))
|
(list node-debug-bootstrap node-llparse-builder-bootstrap))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list esbuild))
|
(list esbuild))
|
||||||
(home-page "https://github.com/nodejs/llparse-frontend#readme")
|
(home-page "https://github.com/indutny/llparse-frontend#readme")
|
||||||
(properties '((hidden? . #t)))
|
(properties '((hidden? . #t)))
|
||||||
(synopsis "Frontend for the llparse compiler")
|
(synopsis "Frontend for the llparse compiler")
|
||||||
(description "This package is a frontend for the llparse compiler.")
|
(description "This package is a frontend for the llparse compiler.")
|
||||||
@@ -608,17 +611,17 @@ Node.js and web browsers.")
|
|||||||
(define-public node-llparse-bootstrap
|
(define-public node-llparse-bootstrap
|
||||||
(package
|
(package
|
||||||
(name "node-llparse")
|
(name "node-llparse")
|
||||||
(version "7.3.0")
|
(version "7.1.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/nodejs/llparse.git")
|
(url "https://github.com/indutny/llparse.git")
|
||||||
(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
|
(base32
|
||||||
"09hqjcynkz5iv7aydzdwgs42r7y2zylplv0ff7w0vkdsgb08j22a"))
|
"10da273iy2if88hp79cwms6c8qpsl1fkgzll6gmqyx5yxv5mkyp6"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
@@ -642,14 +645,10 @@ Node.js and web browsers.")
|
|||||||
(add-after 'patch-dependencies 'delete-dependencies
|
(add-after 'patch-dependencies 'delete-dependencies
|
||||||
(lambda args
|
(lambda args
|
||||||
(modify-json (delete-dependencies
|
(modify-json (delete-dependencies
|
||||||
`("@stylistic/eslint-plugin"
|
`("@types/debug"
|
||||||
"@typescript-eslint/eslint-plugin"
|
|
||||||
"@typescript-eslint/parser"
|
|
||||||
"@types/debug"
|
|
||||||
"@types/mocha"
|
"@types/mocha"
|
||||||
"@types/node"
|
"@types/node"
|
||||||
"esm"
|
"esm"
|
||||||
"eslint"
|
|
||||||
"llparse-test-fixture"
|
"llparse-test-fixture"
|
||||||
"mocha"
|
"mocha"
|
||||||
"ts-node"
|
"ts-node"
|
||||||
@@ -677,7 +676,7 @@ parser definition into a C output.")
|
|||||||
(define-public llhttp-bootstrap
|
(define-public llhttp-bootstrap
|
||||||
(package
|
(package
|
||||||
(name "llhttp")
|
(name "llhttp")
|
||||||
(version "9.3.0")
|
(version "9.2.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
@@ -686,7 +685,7 @@ parser definition into a C output.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0yz4ys94pjq2fs2pihpqjvmxj2mbpm8k5prlm445z4qlajzlr4kb"))
|
"0mzg19aqb1am498gms0z75cwd5kmfg9p78b1hhxw67019nsjcbac"))
|
||||||
(patches (search-patches "llhttp-ponyfill-object-fromentries.patch"))
|
(patches (search-patches "llhttp-ponyfill-object-fromentries.patch"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
@@ -748,14 +747,14 @@ source files.")
|
|||||||
(define-public node-lts
|
(define-public node-lts
|
||||||
(package
|
(package
|
||||||
(inherit node-bootstrap)
|
(inherit node-bootstrap)
|
||||||
(version "24.14.1")
|
(version "22.14.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://nodejs.org/dist/v" version
|
(uri (string-append "https://nodejs.org/dist/v" version
|
||||||
"/node-v" version ".tar.gz"))
|
"/node-v" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1cri5lp3a9jhh34dbd48hq2zyb7xjb9qs6zl36l3q2blawgwz642"))
|
"12msprh604s6qdsgwymxw4kl8ivaldbaydf4v37lbp02aznk2kkc"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
@@ -771,17 +770,13 @@ source files.")
|
|||||||
"deps/icu-small"
|
"deps/icu-small"
|
||||||
"deps/nghttp2"
|
"deps/nghttp2"
|
||||||
"deps/ngtcp2"
|
"deps/ngtcp2"
|
||||||
"deps/llhttp"
|
|
||||||
"deps/uv"
|
"deps/uv"
|
||||||
"deps/zlib"
|
"deps/zlib"))))))
|
||||||
"deps/zstd"))))))
|
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments arguments
|
(substitute-keyword-arguments arguments
|
||||||
((#:configure-flags configure-flags)
|
((#:configure-flags configure-flags)
|
||||||
''("--shared-cares"
|
''("--shared-cares"
|
||||||
"--shared-libuv"
|
"--shared-libuv"
|
||||||
"--shared-http-parser"
|
|
||||||
"--shared-http-parser-libname=llhttp"
|
|
||||||
"--shared-nghttp2"
|
"--shared-nghttp2"
|
||||||
"--shared-openssl"
|
"--shared-openssl"
|
||||||
"--shared-zlib"
|
"--shared-zlib"
|
||||||
@@ -789,7 +784,6 @@ source files.")
|
|||||||
"--with-intl=system-icu"
|
"--with-intl=system-icu"
|
||||||
"--shared-ngtcp2"
|
"--shared-ngtcp2"
|
||||||
"--shared-nghttp3"
|
"--shared-nghttp3"
|
||||||
"--shared-zstd"
|
|
||||||
;;Needed for correct snapshot checksums
|
;;Needed for correct snapshot checksums
|
||||||
"--v8-enable-snapshot-compression"))
|
"--v8-enable-snapshot-compression"))
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
@@ -852,11 +846,9 @@ source files.")
|
|||||||
(for-each delete-file
|
(for-each delete-file
|
||||||
'("test/parallel/test-https-agent-unref-socket.js"))
|
'("test/parallel/test-https-agent-unref-socket.js"))
|
||||||
|
|
||||||
;; These tests are timing-sensitive, and fail sporadically on
|
;; This test is timing-sensitive, and fails sporadically on
|
||||||
;; slow, busy, or even very fast machines.
|
;; slow, busy, or even very fast machines.
|
||||||
(for-each delete-file
|
(delete-file "test/parallel/test-fs-utimes.js")
|
||||||
'("test/parallel/test-fs-utimes.js"
|
|
||||||
"test/sequential/test-performance-eventloopdelay.js"))
|
|
||||||
|
|
||||||
;; FIXME: This test fails randomly:
|
;; FIXME: This test fails randomly:
|
||||||
;; https://github.com/nodejs/node/issues/31213
|
;; https://github.com/nodejs/node/issues/31213
|
||||||
@@ -907,6 +899,18 @@ source files.")
|
|||||||
"test/parallel/test-http2-invalid-last-stream-id.js")
|
"test/parallel/test-http2-invalid-last-stream-id.js")
|
||||||
(("client\\.connect\\(address\\)")
|
(("client\\.connect\\(address\\)")
|
||||||
"client.connect(address.port)"))))
|
"client.connect(address.port)"))))
|
||||||
|
(add-after 'delete-problematic-tests 'replace-llhttp-sources
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; Replace pre-generated llhttp sources
|
||||||
|
(let ((llhttp (assoc-ref inputs "llhttp")))
|
||||||
|
(copy-file (string-append llhttp "/src/llhttp.c")
|
||||||
|
"deps/llhttp/src/llhttp.c")
|
||||||
|
(copy-file (string-append llhttp "/src/api.c")
|
||||||
|
"deps/llhttp/src/api.c")
|
||||||
|
(copy-file (string-append llhttp "/src/http.c")
|
||||||
|
"deps/llhttp/src/http.c")
|
||||||
|
(copy-file (string-append llhttp "/include/llhttp.h")
|
||||||
|
"deps/llhttp/include/llhttp.h"))))
|
||||||
;; npm installs dependencies by copying their files over a tar
|
;; npm installs dependencies by copying their files over a tar
|
||||||
;; stream. A file with more than one hardlink is marked as a
|
;; stream. A file with more than one hardlink is marked as a
|
||||||
;; "Link". pacote/lib/fetcher.js calls node-tar's extractor with a
|
;; "Link". pacote/lib/fetcher.js calls node-tar's extractor with a
|
||||||
@@ -931,22 +935,30 @@ source files.")
|
|||||||
;; https://github.com/npm/pacote/issues/285
|
;; https://github.com/npm/pacote/issues/285
|
||||||
(add-after 'install 'ignore-number-of-hardlinks
|
(add-after 'install 'ignore-number-of-hardlinks
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((dir (string-append (assoc-ref outputs "out")
|
(let ((file (string-append (assoc-ref outputs "out")
|
||||||
"/lib/node_modules/npm/node_modules"
|
"/lib/node_modules/npm/node_modules"
|
||||||
"/tar/dist")))
|
"/tar/lib/write-entry.js")))
|
||||||
(substitute*
|
(substitute* file
|
||||||
(list (string-append dir "/esm/write-entry.js")
|
|
||||||
(string-append dir "/commonjs/write-entry.js"))
|
|
||||||
(("this.stat.nlink > 1") "false")))))
|
(("this.stat.nlink > 1") "false")))))
|
||||||
(replace 'fix-node-gyp-reference
|
(add-after 'install 'install-node-gyp-wrapper
|
||||||
(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"))
|
||||||
(for-each
|
(dir (string-append out "/lib/node_modules/npm/bin/node-gyp-bin"))
|
||||||
(lambda (spec)
|
(file (string-append dir "/node-gyp")))
|
||||||
(wrap-program (string-append out spec)
|
(mkdir-p dir)
|
||||||
`("npm_package_config_node_gyp_nodedir" = (,out))))
|
;; See https://github.com/npm/cli/issues/6842
|
||||||
'("/bin/npm"
|
(call-with-output-file file
|
||||||
"/bin/npx")))))))))
|
(lambda (port)
|
||||||
|
(format port "#!~a/bin/sh
|
||||||
|
if [ \"x$npm_config_node_gyp\" = \"x\" ]; then
|
||||||
|
~a/bin/node \"~a/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"$@\"
|
||||||
|
else
|
||||||
|
\"$npm_config_node_gyp\" \"$@\"
|
||||||
|
fi"
|
||||||
|
(assoc-ref inputs "bash")
|
||||||
|
out
|
||||||
|
out)))
|
||||||
|
(chmod file #o555))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list ;; Runtime dependencies for binaries used as a bootstrap.
|
(list ;; Runtime dependencies for binaries used as a bootstrap.
|
||||||
c-ares-for-node-lts
|
c-ares-for-node-lts
|
||||||
@@ -962,8 +974,7 @@ source files.")
|
|||||||
pkg-config
|
pkg-config
|
||||||
procps
|
procps
|
||||||
python
|
python
|
||||||
util-linux
|
util-linux))
|
||||||
gcc-14))
|
|
||||||
(inputs
|
(inputs
|
||||||
(list bash-minimal
|
(list bash-minimal
|
||||||
coreutils
|
coreutils
|
||||||
@@ -976,8 +987,7 @@ source files.")
|
|||||||
nghttp3
|
nghttp3
|
||||||
`(,nghttp2 "lib")
|
`(,nghttp2 "lib")
|
||||||
openssl-3.0
|
openssl-3.0
|
||||||
zlib
|
zlib))
|
||||||
`(,zstd-1.5.7 "lib")))
|
|
||||||
(supported-systems
|
(supported-systems
|
||||||
(cons "riscv64-linux" (package-supported-systems node-bootstrap)))
|
(cons "riscv64-linux" (package-supported-systems node-bootstrap)))
|
||||||
(properties (alist-delete 'hidden? (package-properties node-bootstrap)))))
|
(properties (alist-delete 'hidden? (package-properties node-bootstrap)))))
|
||||||
@@ -993,6 +1003,6 @@ source files.")
|
|||||||
`(cons* "--shared" "--without-npm" ,flags))
|
`(cons* "--shared" "--without-npm" ,flags))
|
||||||
((#:phases phases '%standard-phases)
|
((#:phases phases '%standard-phases)
|
||||||
`(modify-phases ,phases
|
`(modify-phases ,phases
|
||||||
(delete 'fix-node-gyp-reference)
|
(delete 'install-npmrc)
|
||||||
(delete 'patch-nested-shebangs)
|
(delete 'patch-nested-shebangs)
|
||||||
(delete 'ignore-number-of-hardlinks)))))))
|
(delete 'ignore-number-of-hardlinks)))))))
|
||||||
|
|||||||
+60
-2
@@ -31,6 +31,7 @@
|
|||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system copy)
|
#:use-module (guix build-system copy)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (guix build-system pyproject)
|
||||||
#:use-module (guix build-system qt)
|
#:use-module (guix build-system qt)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
@@ -46,13 +47,16 @@
|
|||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages icu4c)
|
#:use-module (gnu packages icu4c)
|
||||||
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages pdf)
|
#:use-module (gnu packages pdf)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
|
#:use-module (gnu packages python-science)
|
||||||
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages qt)
|
#:use-module (gnu packages qt)
|
||||||
#:use-module (gnu packages scanner)
|
#:use-module (gnu packages scanner)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml))
|
||||||
#:use-module (gnu packages image))
|
|
||||||
|
|
||||||
(define-public ocrad
|
(define-public ocrad
|
||||||
(package
|
(package
|
||||||
@@ -75,6 +79,60 @@ feature extraction method. It can read images in PBM, PGM or PPM formats and
|
|||||||
it produces text in 8-bit or UTF-8 formats.")
|
it produces text in 8-bit or UTF-8 formats.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public python-pytesseract
|
||||||
|
(package
|
||||||
|
(name "python-pytesseract")
|
||||||
|
(version "0.3.13")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/madmaze/pytesseract")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "16arn7ygk7ain5j5ayjcy10y6yhwfcc090i3r8q553m89rr1w0w1"))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:test-flags
|
||||||
|
#~(map (lambda (name)
|
||||||
|
(string-append "--deselect=tests/pytesseract_test.py::" name))
|
||||||
|
;; These tests cannot find generated files
|
||||||
|
'("test_image_to_pdf_or_hocr[pdf]"
|
||||||
|
"test_run_and_get_multiple_output[extensions0]"
|
||||||
|
"test_run_and_get_multiple_output[extensions1]"))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'set-tesseract-path
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "pytesseract/pytesseract.py"
|
||||||
|
(("tesseract_cmd = 'tesseract'")
|
||||||
|
(format #f "tesseract_cmd = '~a'"
|
||||||
|
(search-input-file inputs "/bin/tesseract"))))))
|
||||||
|
(add-before 'check 'set-tessdata-prefix
|
||||||
|
(lambda _
|
||||||
|
(setenv "TESSDATA_PREFIX"
|
||||||
|
;; needs "fra" language
|
||||||
|
(string-append #$(this-package-native-input
|
||||||
|
"tesseract-ocr-tessdata-fast")
|
||||||
|
"/share/tessdata")))))))
|
||||||
|
(native-inputs (list python-numpy
|
||||||
|
python-packaging
|
||||||
|
python-pandas
|
||||||
|
python-pytest
|
||||||
|
python-setuptools
|
||||||
|
tesseract-ocr
|
||||||
|
tesseract-ocr-tessdata-fast))
|
||||||
|
(inputs (list tesseract-ocr))
|
||||||
|
(propagated-inputs (list python-pandas python-pillow))
|
||||||
|
(home-page "https://github.com/madmaze/pytesseract")
|
||||||
|
(synopsis "Python wrapper for Google's Tesseract-OCR")
|
||||||
|
(description
|
||||||
|
"This package provides @command{pytesseract} and Python wrapper library
|
||||||
|
for Google's Tesseract-@acronym{OCR, optical character recognition}.")
|
||||||
|
(license license:asl2.0)))
|
||||||
|
|
||||||
(define-public tesseract-ocr-tessdata-fast
|
(define-public tesseract-ocr-tessdata-fast
|
||||||
(package
|
(package
|
||||||
(name "tesseract-ocr-tessdata-fast")
|
(name "tesseract-ocr-tessdata-fast")
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
Pretend that stat's mtime is broken, so that the fontconfig cache does not
|
|
||||||
depend upon modification time to determine if a cache is stale.
|
|
||||||
|
|
||||||
diff --git a/src/fcstat.c b/src/fcstat.c
|
diff --git a/src/fcstat.c b/src/fcstat.c
|
||||||
index 9b54e2b4..76d7780e 100644
|
index 9b54e2b4..76d7780e 100644
|
||||||
--- a/src/fcstat.c
|
--- a/src/fcstat.c
|
||||||
@@ -10,6 +7,6 @@ index 9b54e2b4..76d7780e 100644
|
|||||||
FcIsFsMtimeBroken (const FcChar8 *dir)
|
FcIsFsMtimeBroken (const FcChar8 *dir)
|
||||||
{
|
{
|
||||||
+ return FcTrue;
|
+ return FcTrue;
|
||||||
int fd = FcOpen ((const char *) dir, O_RDONLY);
|
int fd = FcOpen ((const char *)dir, O_RDONLY);
|
||||||
|
|
||||||
if (fd != -1)
|
if (fd != -1) {
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
Some udmapbuf relying tests were still selected despite using --no-suite=needs-udmabuf.
|
||||||
|
|
||||||
|
Upstream-status: Patch prepared by upstream, not yet committed.
|
||||||
|
|
||||||
|
diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build
|
||||||
|
index 0118304bf8..6bf4d4bb93 100644
|
||||||
|
--- a/testsuite/gsk/meson.build
|
||||||
|
+++ b/testsuite/gsk/meson.build
|
||||||
|
@@ -275,6 +275,16 @@ compare_render_tests = [
|
||||||
|
'zero-length-path-stroke',
|
||||||
|
]
|
||||||
|
|
||||||
|
+# These tests use dmabufs and fail in testrunners that have
|
||||||
|
+# dmabuf support but no access to /dev/udmabuf.
|
||||||
|
+# For that purpose we add them to the 'needs-udmabuf' suite
|
||||||
|
+# with this list
|
||||||
|
+needs_udmabuf = [
|
||||||
|
+ 'yuv-matrix-dmabuf-nv12',
|
||||||
|
+ 'yuv-matrix-dmabuf-rgba',
|
||||||
|
+ 'yuv-matrix-dmabuf-yuyv',
|
||||||
|
+]
|
||||||
|
+
|
||||||
|
# These tests are either slow or need lots of memory.
|
||||||
|
# So we don't run them in parallel with other such tests to not
|
||||||
|
# cause CI failures
|
||||||
|
@@ -386,6 +396,9 @@ foreach renderer : renderers
|
||||||
|
if test_xfails.contains(variant) or (renderer_name == 'cairo' and variant == 'clip')
|
||||||
|
extra_suites += ['failing']
|
||||||
|
endif
|
||||||
|
+ if needs_udmabuf.contains(testname)
|
||||||
|
+ extra_suites += ['needs-udmabuf']
|
||||||
|
+ endif
|
||||||
|
test('compare ' + renderer_name + ' ' + testname + ' ' + variant, compare_render,
|
||||||
|
protocol: 'tap',
|
||||||
|
args: [
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
From 8fb3557bce1fdf9e2c4146e89b43753688d64455 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alessandro Astone <alessandro.astone@canonical.com>
|
||||||
|
Date: Mon, 23 Mar 2026 15:48:20 +0100
|
||||||
|
Subject: [PATCH] testsuite/a11y: Fixup treeview test after focus policy
|
||||||
|
changes
|
||||||
|
|
||||||
|
Since commit
|
||||||
|
fbc28541f0 ("a11y: Don't send focus-related events for unfocused treeview")
|
||||||
|
the window must have focus in order for the treeview to have focus and emit
|
||||||
|
the signal we want to test for.
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9716>
|
||||||
|
---
|
||||||
|
testsuite/a11y/tree-relationships.c | 26 +++++++++++++++++++++++---
|
||||||
|
1 file changed, 23 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/testsuite/a11y/tree-relationships.c b/testsuite/a11y/tree-relationships.c
|
||||||
|
index 34f45b690a5..a1cc1f38288 100644
|
||||||
|
--- a/testsuite/a11y/tree-relationships.c
|
||||||
|
+++ b/testsuite/a11y/tree-relationships.c
|
||||||
|
@@ -223,6 +223,24 @@ process_pending_idles ()
|
||||||
|
g_main_loop_run (loop);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+on_window_focus (GObject *obj,
|
||||||
|
+ GParamSpec *pspec,
|
||||||
|
+ gpointer data)
|
||||||
|
+{
|
||||||
|
+ GMainLoop *loop = data;
|
||||||
|
+ g_main_loop_quit (loop);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+wait_window_focus (GtkWidget *window)
|
||||||
|
+{
|
||||||
|
+ GMainLoop *loop = g_main_loop_new (NULL, FALSE);
|
||||||
|
+ g_signal_connect (window, "notify::is-active", G_CALLBACK (on_window_focus), loop);
|
||||||
|
+ g_main_loop_run (loop);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
test_a11y_tree_focus (void)
|
||||||
|
{
|
||||||
|
@@ -243,13 +261,15 @@ test_a11y_tree_focus (void)
|
||||||
|
window = builder_get_toplevel (builder);
|
||||||
|
g_assert (window);
|
||||||
|
|
||||||
|
- populate_tree (builder);
|
||||||
|
+ gtk_widget_show (window);
|
||||||
|
+ gtk_window_present (GTK_WINDOW (window));
|
||||||
|
+ wait_window_focus (window);
|
||||||
|
|
||||||
|
+ populate_tree (builder);
|
||||||
|
tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1");
|
||||||
|
gtk_tree_view_expand_all (tv);
|
||||||
|
|
||||||
|
- gtk_widget_show (window);
|
||||||
|
-
|
||||||
|
+ gtk_widget_grab_focus (GTK_WIDGET (tv));
|
||||||
|
gtk_tree_view_get_cursor (tv, &path, &focus_column);
|
||||||
|
gtk_tree_path_down (path);
|
||||||
|
data.count = 0;
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
Upstream-status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9675
|
||||||
|
|
||||||
|
diff --git a/demos/gtk-demo/geninclude.py b/demos/gtk-demo/geninclude.py
|
||||||
|
index 2ebfaeb625..5864a608f5 100755
|
||||||
|
--- a/demos/gtk-demo/geninclude.py
|
||||||
|
+++ b/demos/gtk-demo/geninclude.py
|
||||||
|
@@ -2,19 +2,20 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import sys
|
||||||
|
-import re
|
||||||
|
-import os
|
||||||
|
from collections import *
|
||||||
|
|
||||||
|
+
|
||||||
|
def add_quotes(s):
|
||||||
|
return "\"" + s.lower() + "\""
|
||||||
|
|
||||||
|
+
|
||||||
|
def wordify(s):
|
||||||
|
return s.strip().rstrip(".,;:")
|
||||||
|
|
||||||
|
+
|
||||||
|
def is_keyword(s):
|
||||||
|
if s == "GTK":
|
||||||
|
- return False
|
||||||
|
+ return False
|
||||||
|
elif s.startswith(("Gtk", "Gdk", "Pango")):
|
||||||
|
return True
|
||||||
|
elif s.startswith("G") and s[1].isupper():
|
||||||
|
@@ -22,6 +23,7 @@ def is_keyword(s):
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
+
|
||||||
|
out_file = sys.argv[1]
|
||||||
|
in_files = sys.argv[2:]
|
||||||
|
|
||||||
|
@@ -82,6 +84,10 @@ for demo in demos:
|
||||||
|
parent_index = parent_index + 1
|
||||||
|
|
||||||
|
|
||||||
|
+# Sort demos by title
|
||||||
|
+demos = sorted(demos, key=lambda x: x[1])
|
||||||
|
+
|
||||||
|
+
|
||||||
|
# For every child with a parent, generate a list of child demos
|
||||||
|
i = 0
|
||||||
|
for parent in parents:
|
||||||
|
@@ -91,15 +97,12 @@ for parent in parents:
|
||||||
|
for child in demos:
|
||||||
|
if child[1].startswith(parent + "/"):
|
||||||
|
title = child[1][child[1].rfind('/') + 1:]
|
||||||
|
- file_output += " { \"" + child[0] + "\", \"" + title + "\", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, child[2])) + ["NULL"]) + " }, \"" + child[3] + "\", " + child[4] + ", NULL },\n"
|
||||||
|
+ file_output += " { \"" + child[0] + "\", \"" + title + "\", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, sorted(child[2]))) + ["NULL"]) + " }, \"" + child[3] + "\", " + child[4] + ", NULL },\n"
|
||||||
|
|
||||||
|
file_output += " { NULL }\n};\n"
|
||||||
|
i = i + 1
|
||||||
|
|
||||||
|
|
||||||
|
-# Sort demos by title
|
||||||
|
-demos = sorted(demos, key=lambda x: x[1])
|
||||||
|
-
|
||||||
|
file_output += "\nDemoData gtk_demos[] = {\n"
|
||||||
|
for demo in demos:
|
||||||
|
# Do not generate one of these for demos with a parent demo
|
||||||
|
@@ -118,10 +121,10 @@ for demo in demos:
|
||||||
|
|
||||||
|
if demo[5] != -1:
|
||||||
|
child_array = "child" + str(demo[5])
|
||||||
|
- file_output += " { " + name + ", " + title + ", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, keywords)) + ["NULL"]) + " }, " + file + ", " + demo[4] + ", " + child_array + " },\n"
|
||||||
|
+ file_output += " { " + name + ", " + title + ", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, sorted(keywords))) + ["NULL"]) + " }, " + file + ", " + demo[4] + ", " + child_array + " },\n"
|
||||||
|
|
||||||
|
-file_output += " { NULL }\n};\n"
|
||||||
|
|
||||||
|
+file_output += " { NULL }\n};\n"
|
||||||
|
ofile = open(out_file, "w")
|
||||||
|
ofile.write(file_output)
|
||||||
|
ofile.close()
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
Some udmapbuf relying tests were still selected despite using --no-suite=needs-udmabuf.
|
||||||
|
|
||||||
|
Upstream-status: Patch prepared by upstream, not yet committed.
|
||||||
|
|
||||||
|
diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build
|
||||||
|
index 0118304bf8..6bf4d4bb93 100644
|
||||||
|
--- a/testsuite/gsk/meson.build
|
||||||
|
+++ b/testsuite/gsk/meson.build
|
||||||
|
@@ -275,6 +275,16 @@ compare_render_tests = [
|
||||||
|
'zero-length-path-stroke',
|
||||||
|
]
|
||||||
|
|
||||||
|
+# These tests use dmabufs and fail in testrunners that have
|
||||||
|
+# dmabuf support but no access to /dev/udmabuf.
|
||||||
|
+# For that purpose we add them to the 'needs-udmabuf' suite
|
||||||
|
+# with this list
|
||||||
|
+needs_udmabuf = [
|
||||||
|
+ 'yuv-matrix-dmabuf-nv12',
|
||||||
|
+ 'yuv-matrix-dmabuf-rgba',
|
||||||
|
+ 'yuv-matrix-dmabuf-yuyv',
|
||||||
|
+]
|
||||||
|
+
|
||||||
|
# These tests are either slow or need lots of memory.
|
||||||
|
# So we don't run them in parallel with other such tests to not
|
||||||
|
# cause CI failures
|
||||||
|
@@ -386,6 +396,9 @@ foreach renderer : renderers
|
||||||
|
if test_xfails.contains(variant) or (renderer_name == 'cairo' and variant == 'clip')
|
||||||
|
extra_suites += ['failing']
|
||||||
|
endif
|
||||||
|
+ if needs_udmabuf.contains(testname)
|
||||||
|
+ extra_suites += ['needs-udmabuf']
|
||||||
|
+ endif
|
||||||
|
test('compare ' + renderer_name + ' ' + testname + ' ' + variant, compare_render,
|
||||||
|
protocol: 'tap',
|
||||||
|
args: [
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
This patch provides a correct library path when shared libraries referenced by
|
||||||
|
typelibs are installed in a subdirectory of lib/ rather than directly
|
||||||
|
underneath it. It works in combination with the
|
||||||
|
gobject-introspection-absolute-shlib-path.patch patch that adds the
|
||||||
|
'--fallback-library-path' option to its 'g-ir-scanner' command.
|
||||||
|
|
||||||
|
Retrieved-from: <https://raw.githubusercontent.com/NixOS/nixpkgs/refs/heads/master/pkgs/by-name/me/meson/004-gir-fallback-path.patch>
|
||||||
|
|
||||||
|
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
|
||||||
|
index 1c6952df7..9466a0b7d 100644
|
||||||
|
--- a/mesonbuild/modules/gnome.py
|
||||||
|
+++ b/mesonbuild/modules/gnome.py
|
||||||
|
@@ -923,6 +923,16 @@ class GnomeModule(ExtensionModule):
|
||||||
|
if fatal_warnings:
|
||||||
|
scan_command.append('--warn-error')
|
||||||
|
|
||||||
|
+ if len(set(girtarget.get_custom_install_dir()[0] for girtarget in girtargets if girtarget.get_custom_install_dir())) > 1:
|
||||||
|
+ raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets])))
|
||||||
|
+
|
||||||
|
+ if girtargets[0].get_custom_install_dir():
|
||||||
|
+ fallback_libpath = girtargets[0].get_custom_install_dir()[0]
|
||||||
|
+ else:
|
||||||
|
+ fallback_libpath = None
|
||||||
|
+ if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
|
||||||
|
+ scan_command += ['--fallback-library-path=' + fallback_libpath]
|
||||||
|
+
|
||||||
|
generated_files = [f for f in libsources if isinstance(f, (GeneratedList, CustomTarget, CustomTargetIndex))]
|
||||||
|
|
||||||
|
scan_target = self._make_gir_target(state, girfile, scan_command, generated_files, depends, kwargs)
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
This patch provides a roundabout way of keeping "$prefix/..", i.e. the store
|
||||||
|
directory, in DT_RPATH/DT_RUNPATH. See <https://issues.guix.gnu.org/70349>
|
||||||
|
for motivation.
|
||||||
|
|
||||||
|
Upstream-Status: Not submitted.
|
||||||
|
|
||||||
|
--- a/mesonbuild/build.py
|
||||||
|
+++ b/mesonbuild/build.py
|
||||||
|
@@ -1826,6 +1826,7 @@ class BuildTarget(Target):
|
||||||
|
def rpaths_for_non_system_absolute_shared_libraries(self, exclude_system: bool = True) -> ImmutableListProtocol[str]:
|
||||||
|
paths: OrderedSet[str] = OrderedSet()
|
||||||
|
srcdir = self.environment.get_source_dir()
|
||||||
|
+ vicinity = os.path.dirname(self.prefix)
|
||||||
|
|
||||||
|
system_dirs = set()
|
||||||
|
if exclude_system:
|
||||||
|
@@ -1840,7 +1841,7 @@ class BuildTarget(Target):
|
||||||
|
if dep.type_name not in {'library', 'pkgconfig', 'cmake'}:
|
||||||
|
continue
|
||||||
|
for libpath in dep.link_args:
|
||||||
|
- if libpath.startswith('-'):
|
||||||
|
+ if libpath.startswith('-') or libpath.startswith(vicinity):
|
||||||
|
continue
|
||||||
|
# For all link args that are absolute paths to a library file, add RPATH args
|
||||||
|
if not os.path.isabs(libpath):
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
Retrieved-from: <https://src.fedoraproject.org/rpms/mozjs140/raw/49492baa47bc1d7b7d5bc738c4c81b4661302f27/f/9aa8b4b051dd539e0fbd5e08040870b3c712a846.patch>
|
||||||
|
Upstream-status: https://bugzilla.mozilla.org/show_bug.cgi?id=1973994
|
||||||
|
|
||||||
|
From 9aa8b4b051dd539e0fbd5e08040870b3c712a846 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Philip Chimento <philip.chimento@gmail.com>
|
||||||
|
Date: Wed, 16 Jul 2025 22:50:50 -0700
|
||||||
|
Subject: [PATCH] Bug 1973994 - mozjs-140.pc does not contain -DXP_UNIX on
|
||||||
|
Linux
|
||||||
|
|
||||||
|
Temporary fix.
|
||||||
|
---
|
||||||
|
js/src/js-config.h.in | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/js/src/js-config.h.in b/js/src/js-config.h.in
|
||||||
|
index 8372623586..498ea968ba 100644
|
||||||
|
--- a/js/src/js-config.h.in
|
||||||
|
+++ b/js/src/js-config.h.in
|
||||||
|
@@ -68,4 +68,8 @@
|
||||||
|
#undef MOZJS_MAJOR_VERSION
|
||||||
|
#undef MOZJS_MINOR_VERSION
|
||||||
|
|
||||||
|
+/* Controls API in UniquePtrExtensions.h. */
|
||||||
|
+#undef XP_UNIX
|
||||||
|
+#undef XP_WIN
|
||||||
|
+
|
||||||
|
#endif /* js_config_h */
|
||||||
@@ -1,211 +0,0 @@
|
|||||||
From bd4ee689a854252665fd607758f078d930fbc4c8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ben Noordhuis <info@bnoordhuis.nl>
|
|
||||||
Date: Fri, 21 Nov 2025 11:56:28 +0100
|
|
||||||
Subject: [PATCH] Fix JS number rounding on x87 (#1244)
|
|
||||||
|
|
||||||
Disable 80-bits extended precision, use standard 64-bits precision.
|
|
||||||
The extra precision affects rounding and is user-observable, meaning
|
|
||||||
it causes test262 tests to fail.
|
|
||||||
|
|
||||||
The rounding mode is a per-CPU (or, more accurately, per-FPU) property,
|
|
||||||
and since quickjs is often used as a library, take care to tweak the FPU
|
|
||||||
control word before sensitive operations, and restore it afterwards.
|
|
||||||
|
|
||||||
Only affects x87. SSE is IEEE-754 conforming.
|
|
||||||
|
|
||||||
Fixes: https://github.com/quickjs-ng/quickjs/issues/1236
|
|
||||||
---
|
|
||||||
.github/workflows/ci.yml | 4 ++--
|
|
||||||
cutils.h | 19 +++++++++++++++++++
|
|
||||||
quickjs.c | 34 +++++++++++++++++++++++++++++-----
|
|
||||||
3 files changed, 50 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
|
|
||||||
index d1efee1b9..c722b517d 100644
|
|
||||||
--- a/.github/workflows/ci.yml
|
|
||||||
+++ b/.github/workflows/ci.yml
|
|
||||||
@@ -58,7 +58,7 @@ jobs:
|
|
||||||
- { os: ubuntu-latest, configType: asan+ubsan, runTest262: true }
|
|
||||||
- { os: ubuntu-latest, configType: msan }
|
|
||||||
- { os: ubuntu-latest, configType: tcc }
|
|
||||||
- - { os: ubuntu-latest, arch: x86 }
|
|
||||||
+ - { os: ubuntu-latest, arch: x86, runTest262: true }
|
|
||||||
- { os: ubuntu-latest, arch: riscv64 }
|
|
||||||
- { os: ubuntu-latest, arch: s390x }
|
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ jobs:
|
|
||||||
uses: jirutka/setup-alpine@v1
|
|
||||||
with:
|
|
||||||
arch: ${{ matrix.config.arch }}
|
|
||||||
- packages: "build-base make cmake"
|
|
||||||
+ packages: "build-base make cmake git"
|
|
||||||
|
|
||||||
- name: uname
|
|
||||||
run: uname -a
|
|
||||||
diff --git a/cutils.h b/cutils.h
|
|
||||||
index 5129c3cb2..f5d2a8bce 100644
|
|
||||||
--- a/cutils.h
|
|
||||||
+++ b/cutils.h
|
|
||||||
@@ -634,6 +634,25 @@ int js_thread_join(js_thread_t thrd);
|
|
||||||
|
|
||||||
#endif /* !defined(EMSCRIPTEN) && !defined(__wasi__) */
|
|
||||||
|
|
||||||
+// JS requires strict rounding behavior. Turn on 64-bits double precision
|
|
||||||
+// and disable x87 80-bits extended precision for intermediate floating-point
|
|
||||||
+// results. 0x300 is extended precision, 0x200 is double precision.
|
|
||||||
+// Note that `*&cw` in the asm constraints looks redundant but isn't.
|
|
||||||
+#if defined(__i386__) && !defined(_MSC_VER)
|
|
||||||
+#define JS_X87_FPCW_SAVE_AND_ADJUST(cw) \
|
|
||||||
+ unsigned short cw; \
|
|
||||||
+ __asm__ __volatile__("fnstcw %0" : "=m"(*&cw)); \
|
|
||||||
+ do { \
|
|
||||||
+ unsigned short t = 0x200 | (cw & ~0x300); \
|
|
||||||
+ __asm__ __volatile__("fldcw %0" : /*empty*/ : "m"(*&t)); \
|
|
||||||
+ } while (0)
|
|
||||||
+#define JS_X87_FPCW_RESTORE(cw) \
|
|
||||||
+ __asm__ __volatile__("fldcw %0" : /*empty*/ : "m"(*&cw))
|
|
||||||
+#else
|
|
||||||
+#define JS_X87_FPCW_SAVE_AND_ADJUST(cw)
|
|
||||||
+#define JS_X87_FPCW_RESTORE(cw)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" { */
|
|
||||||
#endif
|
|
||||||
diff --git a/quickjs.c b/quickjs.c
|
|
||||||
index 3970bb247..7900c5e3d 100644
|
|
||||||
--- a/quickjs.c
|
|
||||||
+++ b/quickjs.c
|
|
||||||
@@ -13395,12 +13395,17 @@ static int js_is_array(JSContext *ctx, JSValueConst val)
|
|
||||||
|
|
||||||
static double js_math_pow(double a, double b)
|
|
||||||
{
|
|
||||||
+ double d;
|
|
||||||
+
|
|
||||||
if (unlikely(!isfinite(b)) && fabs(a) == 1) {
|
|
||||||
/* not compatible with IEEE 754 */
|
|
||||||
- return NAN;
|
|
||||||
+ d = NAN;
|
|
||||||
} else {
|
|
||||||
- return pow(a, b);
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
+ d = pow(a, b);
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
}
|
|
||||||
+ return d;
|
|
||||||
}
|
|
||||||
|
|
||||||
JSValue JS_NewBigInt64(JSContext *ctx, int64_t v)
|
|
||||||
@@ -13820,11 +13825,15 @@ static no_inline __exception int js_binary_arith_slow(JSContext *ctx, JSValue *s
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case OP_div:
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
sp[-2] = js_number((double)v1 / (double)v2);
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
return 0;
|
|
||||||
case OP_mod:
|
|
||||||
if (v1 < 0 || v2 <= 0) {
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
sp[-2] = js_number(fmod(v1, v2));
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
return 0;
|
|
||||||
} else {
|
|
||||||
v = (int64_t)v1 % (int64_t)v2;
|
|
||||||
@@ -13888,6 +13897,7 @@ static no_inline __exception int js_binary_arith_slow(JSContext *ctx, JSValue *s
|
|
||||||
if (JS_ToFloat64Free(ctx, &d2, op2))
|
|
||||||
goto exception;
|
|
||||||
handle_float64:
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
switch(op) {
|
|
||||||
case OP_sub:
|
|
||||||
dr = d1 - d2;
|
|
||||||
@@ -13907,6 +13917,7 @@ static no_inline __exception int js_binary_arith_slow(JSContext *ctx, JSValue *s
|
|
||||||
default:
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
sp[-2] = js_float64(dr);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
@@ -14023,7 +14034,9 @@ static no_inline __exception int js_add_slow(JSContext *ctx, JSValue *sp)
|
|
||||||
}
|
|
||||||
if (JS_ToFloat64Free(ctx, &d2, op2))
|
|
||||||
goto exception;
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
sp[-2] = js_float64(d1 + d2);
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
exception:
|
|
||||||
@@ -17998,8 +18011,10 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
|
||||||
sp[-2] = js_int32(r);
|
|
||||||
sp--;
|
|
||||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2)) {
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
sp[-2] = js_float64(JS_VALUE_GET_FLOAT64(op1) +
|
|
||||||
JS_VALUE_GET_FLOAT64(op2));
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
sp--;
|
|
||||||
} else {
|
|
||||||
add_slow:
|
|
||||||
@@ -18066,8 +18081,10 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
|
||||||
sp[-2] = js_int32(r);
|
|
||||||
sp--;
|
|
||||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2)) {
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
sp[-2] = js_float64(JS_VALUE_GET_FLOAT64(op1) -
|
|
||||||
JS_VALUE_GET_FLOAT64(op2));
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
sp--;
|
|
||||||
} else {
|
|
||||||
goto binary_arith_slow;
|
|
||||||
@@ -18098,7 +18115,9 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
|
||||||
sp[-2] = js_int32(r);
|
|
||||||
sp--;
|
|
||||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2)) {
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
d = JS_VALUE_GET_FLOAT64(op1) * JS_VALUE_GET_FLOAT64(op2);
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
mul_fp_res:
|
|
||||||
sp[-2] = js_float64(d);
|
|
||||||
sp--;
|
|
||||||
@@ -52277,7 +52296,9 @@ static double set_date_fields(double fields[minimum_length(7)], int is_local) {
|
|
||||||
int yi, mi, i;
|
|
||||||
int64_t days;
|
|
||||||
volatile double temp; /* enforce evaluation order */
|
|
||||||
+ double d = NAN;
|
|
||||||
|
|
||||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
|
||||||
/* emulate 21.4.1.15 MakeDay ( year, month, date ) */
|
|
||||||
y = fields[0];
|
|
||||||
m = fields[1];
|
|
||||||
@@ -52287,7 +52308,7 @@ static double set_date_fields(double fields[minimum_length(7)], int is_local) {
|
|
||||||
if (mn < 0)
|
|
||||||
mn += 12;
|
|
||||||
if (ym < -271821 || ym > 275760)
|
|
||||||
- return NAN;
|
|
||||||
+ goto out;
|
|
||||||
|
|
||||||
yi = ym;
|
|
||||||
mi = mn;
|
|
||||||
@@ -52319,14 +52340,17 @@ static double set_date_fields(double fields[minimum_length(7)], int is_local) {
|
|
||||||
/* emulate 21.4.1.16 MakeDate ( day, time ) */
|
|
||||||
tv = (temp = day * 86400000) + time; /* prevent generation of FMA */
|
|
||||||
if (!isfinite(tv))
|
|
||||||
- return NAN;
|
|
||||||
+ goto out;
|
|
||||||
|
|
||||||
/* adjust for local time and clip */
|
|
||||||
if (is_local) {
|
|
||||||
int64_t ti = tv < INT64_MIN ? INT64_MIN : tv >= 0x1p63 ? INT64_MAX : (int64_t)tv;
|
|
||||||
tv += getTimezoneOffset(ti) * 60000;
|
|
||||||
}
|
|
||||||
- return time_clip(tv);
|
|
||||||
+ d = time_clip(tv);
|
|
||||||
+out:
|
|
||||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
|
||||||
+ return d;
|
|
||||||
}
|
|
||||||
|
|
||||||
static JSValue get_date_field(JSContext *ctx, JSValueConst this_val,
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From c211485e6f6c9fcd0ea9f5aa1943f8c95fdd186b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ben Noordhuis <info@bnoordhuis.nl>
|
|
||||||
Date: Sun, 9 Nov 2025 21:28:14 +0100
|
|
||||||
Subject: [PATCH] Fix Atomics.pause on 32 bits platforms
|
|
||||||
|
|
||||||
Use JS_VALUE_GET_NORM_TAG to get the type tag, not JS_VALUE_GET_TAG.
|
|
||||||
The latter doesn't work correctly with NaN boxing.
|
|
||||||
|
|
||||||
Refs: https://github.com/quickjs-ng/quickjs/issues/986#issuecomment-3508547332
|
|
||||||
---
|
|
||||||
quickjs.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/quickjs.c b/quickjs.c
|
|
||||||
index 4fb9f95b7..3970bb247 100644
|
|
||||||
--- a/quickjs.c
|
|
||||||
+++ b/quickjs.c
|
|
||||||
@@ -57112,7 +57112,7 @@ static JSValue js_atomics_pause(JSContext *ctx, JSValueConst this_obj,
|
|
||||||
double d;
|
|
||||||
|
|
||||||
if (argc > 0) {
|
|
||||||
- switch (JS_VALUE_GET_TAG(argv[0])) {
|
|
||||||
+ switch (JS_VALUE_GET_NORM_TAG(argv[0])) {
|
|
||||||
case JS_TAG_FLOAT64: // accepted if and only if fraction == 0.0
|
|
||||||
d = JS_VALUE_GET_FLOAT64(argv[0]);
|
|
||||||
if (isfinite(d))
|
|
||||||
@@ -0,0 +1,299 @@
|
|||||||
|
From c8896801dfbfe03b56f85c1533abc077ff74a533 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Reilly Brogan <reilly@reillybrogan.com>
|
||||||
|
Date: Tue, 19 Aug 2025 14:47:03 -0500
|
||||||
|
Subject: [PATCH 1/2] Fix build with abseil-cpp 202508
|
||||||
|
|
||||||
|
---
|
||||||
|
webrtc/api/audio/audio_processing.h | 12 +++++++++
|
||||||
|
webrtc/api/make_ref_counted.h | 13 ++++++++++
|
||||||
|
webrtc/api/scoped_refptr.h | 15 +++++++++++
|
||||||
|
.../aec_dump/aec_dump_factory.h | 15 +++++++++++
|
||||||
|
.../aec_dump/null_aec_dump_factory.cc | 25 +++++++++++++++++++
|
||||||
|
.../audio_processing/audio_processing_impl.cc | 9 +++++++
|
||||||
|
.../audio_processing/audio_processing_impl.h | 9 +++++++
|
||||||
|
7 files changed, 98 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/webrtc/api/audio/audio_processing.h b/webrtc/api/audio/audio_processing.h
|
||||||
|
index dca75f2..4580ba9 100644
|
||||||
|
--- a/webrtc/api/audio/audio_processing.h
|
||||||
|
+++ b/webrtc/api/audio/audio_processing.h
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
#include <string>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
+#include "absl/base/config.h"
|
||||||
|
#include "absl/base/nullability.h"
|
||||||
|
#include "absl/strings/string_view.h"
|
||||||
|
#include "api/array_view.h"
|
||||||
|
@@ -632,6 +633,7 @@ class RTC_EXPORT AudioProcessing : public RefCountInterface {
|
||||||
|
// return value of true indicates that the file has been
|
||||||
|
// sucessfully opened, while a value of false indicates that
|
||||||
|
// opening the file failed.
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
virtual bool CreateAndAttachAecDump(
|
||||||
|
absl::string_view file_name,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
@@ -640,6 +642,16 @@ class RTC_EXPORT AudioProcessing : public RefCountInterface {
|
||||||
|
absl::Nonnull<FILE*> handle,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
absl::Nonnull<TaskQueueBase*> worker_queue) = 0;
|
||||||
|
+#else
|
||||||
|
+ virtual bool CreateAndAttachAecDump(absl::string_view file_name,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull
|
||||||
|
+ worker_queue) = 0;
|
||||||
|
+ virtual bool CreateAndAttachAecDump(FILE* absl_nonnull handle,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull
|
||||||
|
+ worker_queue) = 0;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// TODO(webrtc:5298) Deprecated variant.
|
||||||
|
// Attaches provided webrtc::AecDump for recording debugging
|
||||||
|
diff --git a/webrtc/api/make_ref_counted.h b/webrtc/api/make_ref_counted.h
|
||||||
|
index b5f4e99..080023a 100644
|
||||||
|
--- a/webrtc/api/make_ref_counted.h
|
||||||
|
+++ b/webrtc/api/make_ref_counted.h
|
||||||
|
@@ -13,6 +13,7 @@
|
||||||
|
#include <type_traits>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
+#include "absl/base/config.h"
|
||||||
|
#include "absl/base/nullability.h"
|
||||||
|
#include "api/ref_count.h"
|
||||||
|
#include "api/scoped_refptr.h"
|
||||||
|
@@ -86,7 +87,11 @@ template <
|
||||||
|
typename std::enable_if<std::is_convertible_v<T*, RefCountInterface*> &&
|
||||||
|
std::is_abstract_v<T>,
|
||||||
|
T>::type* = nullptr>
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nonnull<scoped_refptr<T>> make_ref_counted(Args&&... args) {
|
||||||
|
+#else
|
||||||
|
+absl_nonnull scoped_refptr<T> make_ref_counted(Args&&... args) {
|
||||||
|
+#endif
|
||||||
|
return scoped_refptr<T>(new RefCountedObject<T>(std::forward<Args>(args)...));
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -99,7 +104,11 @@ template <
|
||||||
|
!std::is_convertible_v<T*, RefCountInterface*> &&
|
||||||
|
webrtc_make_ref_counted_internal::HasAddRefAndRelease<T>::value,
|
||||||
|
T>::type* = nullptr>
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nonnull<scoped_refptr<T>> make_ref_counted(Args&&... args) {
|
||||||
|
+#else
|
||||||
|
+absl_nonnull scoped_refptr<T> make_ref_counted(Args&&... args) {
|
||||||
|
+#endif
|
||||||
|
return scoped_refptr<T>(new T(std::forward<Args>(args)...));
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -113,7 +122,11 @@ template <
|
||||||
|
!webrtc_make_ref_counted_internal::HasAddRefAndRelease<T>::value,
|
||||||
|
|
||||||
|
T>::type* = nullptr>
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nonnull<scoped_refptr<FinalRefCountedObject<T>>> make_ref_counted(
|
||||||
|
+#else
|
||||||
|
+absl_nonnull scoped_refptr<FinalRefCountedObject<T>> make_ref_counted(
|
||||||
|
+#endif
|
||||||
|
Args&&... args) {
|
||||||
|
return scoped_refptr<FinalRefCountedObject<T>>(
|
||||||
|
new FinalRefCountedObject<T>(std::forward<Args>(args)...));
|
||||||
|
diff --git a/webrtc/api/scoped_refptr.h b/webrtc/api/scoped_refptr.h
|
||||||
|
index c6fb560..8c441ff 100644
|
||||||
|
--- a/webrtc/api/scoped_refptr.h
|
||||||
|
+++ b/webrtc/api/scoped_refptr.h
|
||||||
|
@@ -66,6 +66,7 @@
|
||||||
|
#include <cstddef>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
+#include "absl/base/config.h"
|
||||||
|
#include "absl/base/nullability.h"
|
||||||
|
|
||||||
|
namespace webrtc {
|
||||||
|
@@ -73,13 +74,19 @@ namespace webrtc {
|
||||||
|
template <class T>
|
||||||
|
class ABSL_NULLABILITY_COMPATIBLE scoped_refptr {
|
||||||
|
public:
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
using absl_nullability_compatible = void;
|
||||||
|
+#endif
|
||||||
|
using element_type = T;
|
||||||
|
|
||||||
|
scoped_refptr() : ptr_(nullptr) {}
|
||||||
|
scoped_refptr(std::nullptr_t) : ptr_(nullptr) {} // NOLINT(runtime/explicit)
|
||||||
|
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
explicit scoped_refptr(absl::Nullable<T*> p) : ptr_(p) {
|
||||||
|
+#else
|
||||||
|
+ explicit scoped_refptr(T* absl_nullable p) : ptr_(p) {
|
||||||
|
+#endif
|
||||||
|
if (ptr_)
|
||||||
|
ptr_->AddRef();
|
||||||
|
}
|
||||||
|
@@ -122,7 +129,11 @@ class ABSL_NULLABILITY_COMPATIBLE scoped_refptr {
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
scoped_refptr<T>& operator=(absl::Nullable<T*> p) {
|
||||||
|
+#else
|
||||||
|
+ scoped_refptr<T>& operator=(T* absl_nullable p) {
|
||||||
|
+#endif
|
||||||
|
// AddRef first so that self assignment should work
|
||||||
|
if (p)
|
||||||
|
p->AddRef();
|
||||||
|
@@ -152,7 +163,11 @@ class ABSL_NULLABILITY_COMPATIBLE scoped_refptr {
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
void swap(absl::Nonnull<T**> pp) noexcept {
|
||||||
|
+#else
|
||||||
|
+ void swap(T** absl_nonnull pp) noexcept {
|
||||||
|
+#endif
|
||||||
|
T* p = ptr_;
|
||||||
|
ptr_ = *pp;
|
||||||
|
*pp = p;
|
||||||
|
diff --git a/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h b/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h
|
||||||
|
index 0d258a9..14d8b39 100644
|
||||||
|
--- a/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h
|
||||||
|
+++ b/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h
|
||||||
|
@@ -29,6 +29,7 @@ class RTC_EXPORT AecDumpFactory {
|
||||||
|
// The AecDump takes responsibility for `handle` and closes it in the
|
||||||
|
// destructor. A non-null return value indicates that the file has been
|
||||||
|
// sucessfully opened.
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
static absl::Nullable<std::unique_ptr<AecDump>> Create(
|
||||||
|
FileWrapper file,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
@@ -41,6 +42,20 @@ class RTC_EXPORT AecDumpFactory {
|
||||||
|
absl::Nonnull<FILE*> handle,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
absl::Nonnull<TaskQueueBase*> worker_queue);
|
||||||
|
+#else
|
||||||
|
+ static absl_nullable std::unique_ptr<AecDump> Create(
|
||||||
|
+ FileWrapper file,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue);
|
||||||
|
+ static absl_nullable std::unique_ptr<AecDump> Create(
|
||||||
|
+ absl::string_view file_name,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue);
|
||||||
|
+ static absl_nullable std::unique_ptr<AecDump> Create(
|
||||||
|
+ FILE* absl_nonnull handle,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue);
|
||||||
|
+#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace webrtc
|
||||||
|
diff --git a/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc b/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc
|
||||||
|
index 63929af..658bcee 100644
|
||||||
|
--- a/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc
|
||||||
|
+++ b/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc
|
||||||
|
@@ -16,6 +16,7 @@
|
||||||
|
|
||||||
|
namespace webrtc {
|
||||||
|
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
|
||||||
|
FileWrapper file,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
@@ -37,3 +38,27 @@ absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
} // namespace webrtc
|
||||||
|
+#else
|
||||||
|
+absl_nullable std::unique_ptr<AecDump> AecDumpFactory::Create(
|
||||||
|
+ FileWrapper file,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue) {
|
||||||
|
+ return nullptr;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+absl_nullable std::unique_ptr<AecDump> AecDumpFactory::Create(
|
||||||
|
+ absl::string_view file_name,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue) {
|
||||||
|
+ return nullptr;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+absl_nullable std::unique_ptr<AecDump> AecDumpFactory::Create(
|
||||||
|
+ FILE* absl_nonnull handle,
|
||||||
|
+ int64_t max_log_size_bytes,
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue) {
|
||||||
|
+ return nullptr;
|
||||||
|
+}
|
||||||
|
+} // namespace webrtc
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
|
||||||
|
index a1cba51..1dfe26d 100644
|
||||||
|
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
|
||||||
|
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
|
||||||
|
@@ -19,6 +19,7 @@
|
||||||
|
#include <type_traits>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
+#include "absl/base/config.h"
|
||||||
|
#include "absl/base/nullability.h"
|
||||||
|
#include "absl/strings/match.h"
|
||||||
|
#include "absl/strings/string_view.h"
|
||||||
|
@@ -1787,7 +1788,11 @@ void AudioProcessingImpl::UpdateRecommendedInputVolumeLocked() {
|
||||||
|
bool AudioProcessingImpl::CreateAndAttachAecDump(
|
||||||
|
absl::string_view file_name,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nonnull<TaskQueueBase*> worker_queue) {
|
||||||
|
+#else
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue) {
|
||||||
|
+#endif
|
||||||
|
std::unique_ptr<AecDump> aec_dump =
|
||||||
|
AecDumpFactory::Create(file_name, max_log_size_bytes, worker_queue);
|
||||||
|
if (!aec_dump) {
|
||||||
|
@@ -1801,7 +1806,11 @@ bool AudioProcessingImpl::CreateAndAttachAecDump(
|
||||||
|
bool AudioProcessingImpl::CreateAndAttachAecDump(
|
||||||
|
FILE* handle,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nonnull<TaskQueueBase*> worker_queue) {
|
||||||
|
+#else
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue) {
|
||||||
|
+#endif
|
||||||
|
std::unique_ptr<AecDump> aec_dump =
|
||||||
|
AecDumpFactory::Create(handle, max_log_size_bytes, worker_queue);
|
||||||
|
if (!aec_dump) {
|
||||||
|
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
|
||||||
|
index ecdc055..51a2bfb 100644
|
||||||
|
--- a/webrtc/modules/audio_processing/audio_processing_impl.h
|
||||||
|
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
+#include "absl/base/config.h"
|
||||||
|
#include "absl/base/nullability.h"
|
||||||
|
#include "absl/strings/string_view.h"
|
||||||
|
#include "api/array_view.h"
|
||||||
|
@@ -74,11 +75,19 @@ class AudioProcessingImpl : public AudioProcessing {
|
||||||
|
bool CreateAndAttachAecDump(
|
||||||
|
absl::string_view file_name,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nonnull<TaskQueueBase*> worker_queue) override;
|
||||||
|
+#else
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue) override;
|
||||||
|
+#endif
|
||||||
|
bool CreateAndAttachAecDump(
|
||||||
|
FILE* handle,
|
||||||
|
int64_t max_log_size_bytes,
|
||||||
|
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
|
||||||
|
absl::Nonnull<TaskQueueBase*> worker_queue) override;
|
||||||
|
+#else
|
||||||
|
+ TaskQueueBase* absl_nonnull worker_queue) override;
|
||||||
|
+#endif
|
||||||
|
// TODO(webrtc:5298) Deprecated variant.
|
||||||
|
void AttachAecDump(std::unique_ptr<AecDump> aec_dump) override;
|
||||||
|
void DetachAecDump() override;
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
https://bugs.gentoo.org/917493
|
|
||||||
https://sources.debian.org/src/webrtc-audio-processing/1.0-0.2/debian/patches/Add-generic-byte-order-and-pointer-size-detection.patch/
|
|
||||||
|
|
||||||
Description: Add generic byte order and pointer size detection
|
|
||||||
Author: Than <than@redhat.com>
|
|
||||||
Origin: https://bugs.freedesktop.org/show_bug.cgi?id=95738#c4
|
|
||||||
Last-Update: 2022-02-01
|
|
||||||
---
|
|
||||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
|
||||||
--- a/webrtc/rtc_base/system/arch.h
|
|
||||||
+++ b/webrtc/rtc_base/system/arch.h
|
|
||||||
@@ -58,7 +58,19 @@
|
|
||||||
#define WEBRTC_ARCH_32_BITS
|
|
||||||
#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
||||||
#else
|
|
||||||
-#error Please add support for your architecture in rtc_base/system/arch.h
|
|
||||||
+/* instead of failing, use typical unix defines... */
|
|
||||||
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
||||||
+#define WEBRTC_ARCH_LITTLE_ENDIAN
|
|
||||||
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
|
||||||
+#define WEBRTC_ARCH_BIG_ENDIAN
|
|
||||||
+#else
|
|
||||||
+#error __BYTE_ORDER__ is not defined
|
|
||||||
+#endif
|
|
||||||
+#if defined(__LP64__)
|
|
||||||
+#define WEBRTC_ARCH_64_BITS
|
|
||||||
+#else
|
|
||||||
+#define WEBRTC_ARCH_32_BITS
|
|
||||||
+#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !(defined(WEBRTC_ARCH_LITTLE_ENDIAN) ^ defined(WEBRTC_ARCH_BIG_ENDIAN))
|
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
From e9c78dc4712fa6362b0c839ad57b6b46dce1ba83 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= <francois@centricular.com>
|
||||||
|
Date: Mon, 14 Apr 2025 16:48:19 +0200
|
||||||
|
Subject: [PATCH] Fix compilation with gcc-15
|
||||||
|
|
||||||
|
This commit fixes compilation errors with gcc-15 (default for Fedora 42).
|
||||||
|
|
||||||
|
From [1]:
|
||||||
|
|
||||||
|
> Common C++ headers (like <memory>) in GCC 15.0.0 (combined with libstdc++)
|
||||||
|
> don't transitively include uint64_t anymore.
|
||||||
|
|
||||||
|
See also [2].
|
||||||
|
|
||||||
|
[1]: https://github.com/ROCm/rocm_smi_lib/pull/198
|
||||||
|
[2]: https://github.com/root-project/root/issues/17444
|
||||||
|
---
|
||||||
|
.../audio_processing/aec3/multi_channel_content_detector.h | 1 +
|
||||||
|
webrtc/rtc_base/trace_event.h | 1 +
|
||||||
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
|
||||||
|
index 2b2f3b8..feb29fd 100644
|
||||||
|
--- a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
|
||||||
|
+++ b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
|
||||||
|
@@ -12,6 +12,7 @@
|
||||||
|
#define MODULES_AUDIO_PROCESSING_AEC3_MULTI_CHANNEL_CONTENT_DETECTOR_H_
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
+#include <cstdint>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <optional>
|
||||||
|
diff --git a/webrtc/rtc_base/trace_event.h b/webrtc/rtc_base/trace_event.h
|
||||||
|
index 2aee713..f88a68e 100644
|
||||||
|
--- a/webrtc/rtc_base/trace_event.h
|
||||||
|
+++ b/webrtc/rtc_base/trace_event.h
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
|
||||||
|
#if !defined(RTC_USE_PERFETTO)
|
||||||
|
#include <string>
|
||||||
|
+#include <cstdint>
|
||||||
|
|
||||||
|
#include "rtc_base/event_tracer.h"
|
||||||
|
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
https://bugs.gentoo.org/921140
|
|
||||||
https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
|
|
||||||
--- a/webrtc/rtc_base/system/arch.h
|
|
||||||
+++ b/webrtc/rtc_base/system/arch.h
|
|
||||||
@@ -34,7 +34,7 @@
|
|
||||||
#else
|
|
||||||
#define WEBRTC_ARCH_32_BITS
|
|
||||||
#endif
|
|
||||||
-#elif defined(_M_IX86) || defined(__i386__)
|
|
||||||
+#elif defined(__SSE__) && (defined(_M_IX86) || defined(__i386__))
|
|
||||||
#define WEBRTC_ARCH_X86_FAMILY
|
|
||||||
#define WEBRTC_ARCH_X86
|
|
||||||
#define WEBRTC_ARCH_32_BITS
|
|
||||||
+33
-32
@@ -31,6 +31,7 @@
|
|||||||
;;; Copyright © 2024 Aaron Covrig <aaron.covrig.us@ieee.org>
|
;;; Copyright © 2024 Aaron Covrig <aaron.covrig.us@ieee.org>
|
||||||
;;; Copyright © 2025 Jussi Timperi <jussi.timperi@iki.fi>
|
;;; Copyright © 2025 Jussi Timperi <jussi.timperi@iki.fi>
|
||||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@@ -1611,41 +1612,41 @@ information for every pixel as the input.")
|
|||||||
"0f242mix20rgsqz1llibhsz4r2pbvx6k32rmky0zjvnbaqaw1dwm"))))
|
"0f242mix20rgsqz1llibhsz4r2pbvx6k32rmky0zjvnbaqaw1dwm"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:phases #~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-FHS-file-names
|
(add-after 'unpack 'patch-FHS-file-names
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "mk/Autoconf.mk"
|
(substitute* "mk/Autoconf.mk"
|
||||||
(("/bin/echo") "echo")
|
(("/bin/echo") "echo")
|
||||||
(("/sbin/ldconfig -p") "echo lib")) #t))
|
(("/sbin/ldconfig -p") "echo lib"))))
|
||||||
(add-before 'build 'set-fcommon
|
(add-before 'build 'set-fcommon
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "CFLAGS" "-fcommon")))
|
(setenv "CFLAGS" "-fcommon")))
|
||||||
(delete 'configure))
|
(delete 'configure))
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
#:make-flags
|
#:make-flags #~(list (string-append "CC=" #+(cc-for-target))
|
||||||
(list (string-append "CC=" ,(cc-for-target))
|
(string-append "prefix=" #$output))))
|
||||||
(string-append "prefix=" (assoc-ref %outputs "out")))))
|
(inputs
|
||||||
(inputs `(("libjpeg" ,libjpeg-turbo)
|
(list cairo-xcb
|
||||||
("curl" ,curl)
|
curl
|
||||||
("libtiff" ,libtiff)
|
eudev
|
||||||
("libudev" ,eudev)
|
fontconfig
|
||||||
("libwebp" ,libwebp)
|
freetype
|
||||||
("libdrm" ,libdrm)
|
giflib
|
||||||
("giflib" ,giflib)
|
glib
|
||||||
("glib" ,glib)
|
libdrm
|
||||||
("cairo-xcb" ,cairo-xcb)
|
libepoxy
|
||||||
("freetype" ,freetype)
|
libexif
|
||||||
("fontconfig" ,fontconfig)
|
libjpeg-turbo
|
||||||
("libexif" ,libexif)
|
libpng
|
||||||
("mesa" ,mesa)
|
libtiff
|
||||||
("libepoxy" ,libepoxy)
|
libwebp
|
||||||
("libpng" ,libpng)
|
mesa
|
||||||
("poppler" ,poppler)))
|
poppler))
|
||||||
(native-inputs (list pkg-config))
|
(native-inputs (list pkg-config))
|
||||||
(synopsis "Framebuffer and drm-based image viewer")
|
(synopsis "Framebuffer and drm-based image viewer")
|
||||||
(description
|
(description
|
||||||
"fbida contains a few applications for viewing and editing images on
|
"fbida contains a few applications for viewing and editing images on
|
||||||
the framebuffer.")
|
the framebuffer.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ it.")
|
|||||||
(define-public trealla
|
(define-public trealla
|
||||||
(package
|
(package
|
||||||
(name "trealla")
|
(name "trealla")
|
||||||
(version "2.94.12")
|
(version "2.94.20")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -246,7 +246,7 @@ it.")
|
|||||||
(url "https://github.com/trealla-prolog/trealla")
|
(url "https://github.com/trealla-prolog/trealla")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0mpzpc69agcnp2dnay08z7xjx0zq2b77ddd2kds1w6qlh2fc36s9"))
|
(base32 "15qqs0iy50g3caqjbyhsdkfmbv0rlg541lcpdj9ajv7lwmpxm2ba"))
|
||||||
(file-name (git-file-name name version))))
|
(file-name (git-file-name name version))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ rates.")
|
|||||||
(define-public pulseaudio
|
(define-public pulseaudio
|
||||||
(package
|
(package
|
||||||
(name "pulseaudio")
|
(name "pulseaudio")
|
||||||
(version "16.1")
|
(version "17.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
@@ -181,7 +181,7 @@ rates.")
|
|||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1r2aa0g7al9jhrrbrnih6i3bfznd73kkbafrbzwpjyflj7735vwf"))
|
"1dc7xdfbn5rknwsvv5m2ijfwnqrap208liwyhiykjghsczb98dq5"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
;; Disable console-kit support by default since it's deprecated
|
;; Disable console-kit support by default since it's deprecated
|
||||||
|
|||||||
@@ -16986,12 +16986,11 @@ the @code{sendfile(2)} system call.")
|
|||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:test-flags
|
#:test-flags
|
||||||
#~(list "-k" "not TestCommandLineParser"
|
#~(list
|
||||||
#$@(if (target-aarch64?)
|
"-k" "not TestCommandLineParser"
|
||||||
;; TimeoutError: timed out
|
;; These contains flaky tests.
|
||||||
'((string-append "--deselect=pyftpdlib/test/test_functional.py"
|
"--deselect=pyftpdlib/test/test_functional.py"
|
||||||
"::TestTimeouts::test_idle_data_timeout2"))
|
"--deselect=pyftpdlib/test/test_functional_ssl.py")))
|
||||||
'()))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-psutil
|
(list python-psutil
|
||||||
python-pytest
|
python-pytest
|
||||||
@@ -21073,7 +21072,8 @@ into 22 character URL-safe base64 slug representation.")
|
|||||||
(sha256
|
(sha256
|
||||||
(base32 "0zwjry4ylqncqvxrywp0km96jng4f288dgz8kz5vymk7nr2z21m1"))))
|
(base32 "0zwjry4ylqncqvxrywp0km96jng4f288dgz8kz5vymk7nr2z21m1"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
;; tests: 856 passed, 24 skipped
|
;; The test_brokenpipeerror is flaky.
|
||||||
|
(arguments (list #:test-flags #~(list "-k" "not test_brokenpipeerror")))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-poetry-core
|
(list python-poetry-core
|
||||||
python-pytest
|
python-pytest
|
||||||
|
|||||||
+13
-4
@@ -1093,11 +1093,16 @@ tst_qt_cmake_create.cpp"
|
|||||||
|
|
||||||
;; See https://bugreports.qt.io/browse/QTBUG-113371
|
;; See https://bugreports.qt.io/browse/QTBUG-113371
|
||||||
;; Adding glibc-utf8-locales to native-inpus is no help.
|
;; Adding glibc-utf8-locales to native-inpus is no help.
|
||||||
;; TODO: when core-updates is merged, check again.
|
|
||||||
"tst_selftests"
|
"tst_selftests"
|
||||||
|
|
||||||
;; The 'tst_qsqlthread' test sometimes fails.
|
;; The qsqldatabase test is flaky (see:
|
||||||
"tst_qsqlthread"
|
;; <https://qt-project.atlassian.net/browse/QTBUG-145385>).
|
||||||
|
"tst_qsqldatabase"
|
||||||
|
|
||||||
|
;; The 'tst_qtimer' test has a propensity to hang and
|
||||||
|
;; fail (see:
|
||||||
|
;; <https://qt-project.atlassian.net/browse/QTBUG-145261>).
|
||||||
|
"tst_qtimer_no_glib"
|
||||||
|
|
||||||
;; The 'tst_qthread' test is also flaky, despite the
|
;; The 'tst_qthread' test is also flaky, despite the
|
||||||
;; patch applied that promised to fix it.
|
;; patch applied that promised to fix it.
|
||||||
@@ -1196,7 +1201,11 @@ tst_qt_cmake_create.cpp"
|
|||||||
;; This test may fail non-deterministically as reported
|
;; This test may fail non-deterministically as reported
|
||||||
;; in Guix bug#73233 and upstream at
|
;; in Guix bug#73233 and upstream at
|
||||||
;; https://bugreports.qt.io/browse/QTBUG-119321.
|
;; https://bugreports.qt.io/browse/QTBUG-119321.
|
||||||
"tst_qsharedmemory")
|
"tst_qsharedmemory"
|
||||||
|
|
||||||
|
;; This test fails deterministically on a non-privileged
|
||||||
|
;; daemon.
|
||||||
|
"tst_qstandardpaths")
|
||||||
#$@(cond
|
#$@(cond
|
||||||
((target-ppc64le?)
|
((target-ppc64le?)
|
||||||
#~((list
|
#~((list
|
||||||
|
|||||||
@@ -1509,7 +1509,7 @@ defaults for 80% of the use cases.")
|
|||||||
(define-public gitlogue
|
(define-public gitlogue
|
||||||
(package
|
(package
|
||||||
(name "gitlogue")
|
(name "gitlogue")
|
||||||
(version "0.8.0")
|
(version "0.9.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -1519,7 +1519,7 @@ defaults for 80% of the use cases.")
|
|||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"007sf2b605jkjk4qyxar1bq7fh71yvv9ixsxfqrs3hzschyj3m2g"))
|
"008cqcc4kjandfi6pqrnr689xb11d6fdhcb48kbv0227v3f5gvn3"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
@@ -3360,7 +3360,7 @@ command.")
|
|||||||
(define-public wasm-bindgen-cli
|
(define-public wasm-bindgen-cli
|
||||||
(package
|
(package
|
||||||
(name "wasm-bindgen-cli")
|
(name "wasm-bindgen-cli")
|
||||||
(version "0.2.118")
|
(version "0.2.120")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -3369,7 +3369,7 @@ command.")
|
|||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "02yy57pa4p53vrhpgc8xf737dnqiifnnnjinh49yq1345kd3287j"))
|
(base32 "0404jgzfcbmjvr1zl9jgw49nqs1s182cbvdzwh92i76qd2cpg166"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
|||||||
+3096
-2841
File diff suppressed because it is too large
Load Diff
@@ -1736,18 +1736,18 @@ and runtime for AI-assisted coding.")
|
|||||||
(define-public rust-glycin-3
|
(define-public rust-glycin-3
|
||||||
(package
|
(package
|
||||||
(name "rust-glycin")
|
(name "rust-glycin")
|
||||||
(version "3.0.7")
|
(version "3.1.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://gitlab.gnome.org/GNOME/glycin.git")
|
(url "https://gitlab.gnome.org/GNOME/glycin.git")
|
||||||
;; Rust library version is different from the tagged version.
|
;; Rust library version is different from the tagged version.
|
||||||
(commit "2.0.7")))
|
(commit "2.1.1")))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
|
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
|
||||||
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
|
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
|
||||||
(build-system cargo-build-system)
|
(build-system cargo-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
|||||||
+14
-2
@@ -48,6 +48,7 @@
|
|||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages documentation)
|
#:use-module (gnu packages documentation)
|
||||||
#:use-module (gnu packages emacs)
|
#:use-module (gnu packages emacs)
|
||||||
|
#:use-module (gnu packages freedesktop)
|
||||||
#:use-module (gnu packages gcc)
|
#:use-module (gnu packages gcc)
|
||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
@@ -272,13 +273,24 @@ efficiency through the use of a compact vector representation of n-grams.")
|
|||||||
;; Disable support for proprietary TTS engines.
|
;; Disable support for proprietary TTS engines.
|
||||||
"--with-voxin=no" "--with-ibmtts=no"
|
"--with-voxin=no" "--with-ibmtts=no"
|
||||||
"--with-kali=no" "--with-baratinoo=no")
|
"--with-kali=no" "--with-baratinoo=no")
|
||||||
|
#:imported-modules ,%pyproject-build-system-modules
|
||||||
|
#:modules ((guix build gnu-build-system)
|
||||||
|
((guix build pyproject-build-system)
|
||||||
|
#:prefix python:)
|
||||||
|
(guix build utils))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-bin-bash
|
(add-after 'unpack 'patch-bin-bash
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(substitute* "src/modules/generic.c"
|
(substitute* "src/modules/generic.c"
|
||||||
(("/bin/bash")
|
(("/bin/bash")
|
||||||
(search-input-file inputs "/bin/bash"))))))))
|
(search-input-file inputs "/bin/bash")))))
|
||||||
|
(add-after 'install 'wrap-spd-conf
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(wrap-program (search-input-file outputs "bin/spd-conf")
|
||||||
|
`("GUIX_PYTHONPATH" =
|
||||||
|
(,(getenv "GUIX_PYTHONPATH")
|
||||||
|
,(python:site-packages inputs outputs)))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list autoconf
|
(list autoconf
|
||||||
automake
|
automake
|
||||||
@@ -297,7 +309,7 @@ efficiency through the use of a compact vector representation of n-grams.")
|
|||||||
pipewire
|
pipewire
|
||||||
pulseaudio
|
pulseaudio
|
||||||
python
|
python
|
||||||
python-xdg-base-dirs))
|
python-pyxdg))
|
||||||
(synopsis "Common interface to speech synthesizers")
|
(synopsis "Common interface to speech synthesizers")
|
||||||
(description "The Speech Dispatcher project provides a high-level
|
(description "The Speech Dispatcher project provides a high-level
|
||||||
device independent layer for access to speech synthesis through a simple,
|
device independent layer for access to speech synthesis through a simple,
|
||||||
|
|||||||
@@ -118,13 +118,13 @@ is in the public domain.")
|
|||||||
(define-public sqlite-next
|
(define-public sqlite-next
|
||||||
(package
|
(package
|
||||||
(inherit sqlite)
|
(inherit sqlite)
|
||||||
(version "3.51.0")
|
(version "3.53.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (sqlite-uri version 2025))
|
(uri (sqlite-uri version 2026))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"19bc2inw7f9fn0y6j3b57w4mk6bzi2q8hp5yn6qyd8kav7ynvqj2"))))
|
"0ninfc6kh0idcslsdlcv7l6261pswxjsdfp0cnmcxqig34w9n7l5"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments arguments
|
(substitute-keyword-arguments arguments
|
||||||
((#:tests? _ #f)
|
((#:tests? _ #f)
|
||||||
|
|||||||
+46
-50
@@ -50,7 +50,7 @@
|
|||||||
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
|
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
|
||||||
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
|
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
|
||||||
;;; Copyright © 2021 David Wilson <david@daviwil.com>
|
;;; Copyright © 2021 David Wilson <david@daviwil.com>
|
||||||
;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
;;; Copyright © 2021-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||||
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||||
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
|
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
|
||||||
@@ -3573,38 +3573,21 @@ soon as it starts.")
|
|||||||
(define-public libbluray
|
(define-public libbluray
|
||||||
(package
|
(package
|
||||||
(name "libbluray")
|
(name "libbluray")
|
||||||
(version "1.3.4")
|
(version "1.4.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://download.videolan.org/videolan/"
|
(uri (string-append "https://download.videolan.org/videolan/"
|
||||||
name "/" version "/"
|
name "/" version "/"
|
||||||
name "-" version ".tar.bz2"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0aszpsz3pc7p7z6yahlib4na585m6pqbg2d9dkpyipgml1lgv3s7"))))
|
"0jglp44wsjpp5k3mrxskfj9b488ksn7cj2dhxfjdqa3z150drdbn"))))
|
||||||
(build-system gnu-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:configure-flags #~(list "--disable-bdjava-jar" "--disable-static")
|
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'move-packages-to-libs
|
(add-after 'unpack 'fix-dlopen-paths
|
||||||
;; Avoid the need to propagate libxml2 et al. by referring to them
|
|
||||||
;; directly.
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
|
||||||
(define (search-input-vicinity lib)
|
|
||||||
(dirname
|
|
||||||
(search-input-file inputs
|
|
||||||
(string-append "lib/lib" lib ".so"))))
|
|
||||||
(substitute* "src/libbluray.pc.in"
|
|
||||||
(("@PACKAGES@") "")
|
|
||||||
(("^Libs.private:" field)
|
|
||||||
(string-append field
|
|
||||||
" -L" (search-input-vicinity "xml2")
|
|
||||||
" -L" (search-input-vicinity "freetype")
|
|
||||||
" -L" (search-input-vicinity "fontconfig")
|
|
||||||
" -lxml2 -lfreetype -lfontconfig")))))
|
|
||||||
(add-before 'build 'fix-dlopen-paths
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(define (lib/no.so library)
|
(define (lib/no.so library)
|
||||||
(let ((found (search-input-file inputs library)))
|
(let ((found (search-input-file inputs library)))
|
||||||
@@ -3612,11 +3595,29 @@ soon as it starts.")
|
|||||||
(string-length ".so")))))
|
(string-length ".so")))))
|
||||||
(substitute* "src/libbluray/disc/aacs.c"
|
(substitute* "src/libbluray/disc/aacs.c"
|
||||||
(("\"libaacs\"")
|
(("\"libaacs\"")
|
||||||
(string-append "\"" (lib/no.so "lib/libaacs.so") "\""))
|
(string-append "\"" (lib/no.so "lib/libaacs.so") "\"")))
|
||||||
|
(substitute* "src/libbluray/disc/bdplus.c"
|
||||||
(("\"libbdplus\"")
|
(("\"libbdplus\"")
|
||||||
(string-append "\"" (lib/no.so "lib/libbdplus.so") "\""))))))))
|
(string-append "\"" (lib/no.so "lib/libbdplus.so") "\"")))))
|
||||||
|
(add-after 'install 'move-packages-to-libs
|
||||||
|
;; Avoid the need to propagate libxml2 et al. by referring to them
|
||||||
|
;; directly.
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(define (search-input-vicinity lib)
|
||||||
|
(dirname
|
||||||
|
(search-input-file inputs
|
||||||
|
(string-append "lib/lib" lib ".so"))))
|
||||||
|
(substitute* (string-append #$output
|
||||||
|
"/lib/pkgconfig/libbluray.pc")
|
||||||
|
(("^Requires.private.*") "")
|
||||||
|
(("^Libs.private:" field)
|
||||||
|
(string-append field
|
||||||
|
" -L" (search-input-vicinity "xml2")
|
||||||
|
" -L" (search-input-vicinity "freetype")
|
||||||
|
" -L" (search-input-vicinity "fontconfig")
|
||||||
|
" -lxml2 -lfreetype -lfontconfig"))))))))
|
||||||
(native-inputs (list pkg-config))
|
(native-inputs (list pkg-config))
|
||||||
(inputs (list fontconfig freetype libaacs libbdplus libxml2))
|
(inputs (list fontconfig freetype libaacs libbdplus libudfread libxml2))
|
||||||
(home-page "https://www.videolan.org/developers/libbluray.html")
|
(home-page "https://www.videolan.org/developers/libbluray.html")
|
||||||
(synopsis "Blu-Ray Disc playback library")
|
(synopsis "Blu-Ray Disc playback library")
|
||||||
(description
|
(description
|
||||||
@@ -3627,22 +3628,18 @@ players, like VLC or MPlayer.")
|
|||||||
(define-public libdvdread
|
(define-public libdvdread
|
||||||
(package
|
(package
|
||||||
(name "libdvdread")
|
(name "libdvdread")
|
||||||
(version "6.1.3")
|
(version "7.0.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://download.videolan.org/videolan/"
|
(uri (string-append "https://download.videolan.org/videolan/"
|
||||||
"libdvdread/" version "/"
|
"libdvdread/" version "/"
|
||||||
"libdvdread-" version ".tar.bz2"))
|
"libdvdread-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0sakl4c8y2kkp09km0b5353w66pvfc72y8wi1vjwn252jx4ladff"))))
|
"01ylalrr9lw6x7fz7z030243kln1hfd1pbh3m9ikjp610nih8gif"))))
|
||||||
(build-system gnu-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(native-inputs (list pkg-config))
|
||||||
`(#:configure-flags '("--with-libdvdcss=yes")))
|
(propagated-inputs (list libdvdcss))
|
||||||
(native-inputs
|
|
||||||
(list pkg-config))
|
|
||||||
(propagated-inputs
|
|
||||||
(list libdvdcss))
|
|
||||||
(home-page "http://dvdnav.mplayerhq.hu/")
|
(home-page "http://dvdnav.mplayerhq.hu/")
|
||||||
(synopsis "Library for reading video DVDs")
|
(synopsis "Library for reading video DVDs")
|
||||||
(description
|
(description
|
||||||
@@ -3706,16 +3703,16 @@ MPEG-2 stream containing VOB packets.")
|
|||||||
(define-public libdvdnav
|
(define-public libdvdnav
|
||||||
(package
|
(package
|
||||||
(name "libdvdnav")
|
(name "libdvdnav")
|
||||||
(version "6.1.1")
|
(version "7.0.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://download.videolan.org/videolan/"
|
(uri (string-append "https://download.videolan.org/videolan/"
|
||||||
"libdvdnav/" version "/"
|
"libdvdnav/" version "/"
|
||||||
"libdvdnav-" version ".tar.bz2"))
|
"libdvdnav-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0j4ds6c4xl34dijkfpw805vj7s0vzg095kw0fvzj7ls7b53sg4f1"))))
|
"07i2gdj4nfah4lwlc6hl14xjbyh6b12bc1lipxs3q4vdsdd8z8d2"))))
|
||||||
(build-system gnu-build-system)
|
(build-system meson-build-system)
|
||||||
(native-inputs (list pkg-config))
|
(native-inputs (list pkg-config))
|
||||||
(propagated-inputs (list libdvdread)) ;in 'Requires.private' of dvdnav.pc
|
(propagated-inputs (list libdvdread)) ;in 'Requires.private' of dvdnav.pc
|
||||||
(home-page "http://dvdnav.mplayerhq.hu/")
|
(home-page "http://dvdnav.mplayerhq.hu/")
|
||||||
@@ -3736,16 +3733,16 @@ encapsulated.")
|
|||||||
(define-public libdvdcss
|
(define-public libdvdcss
|
||||||
(package
|
(package
|
||||||
(name "libdvdcss")
|
(name "libdvdcss")
|
||||||
(version "1.4.3")
|
(version "1.5.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://download.videolan.org/pub/"
|
(uri (string-append "https://download.videolan.org/pub/"
|
||||||
name "/" version "/"
|
name "/" version "/"
|
||||||
name "-" version ".tar.bz2"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0y800y33spblb20s1lsjbaiybknmwwmmiczmjqx5s760blpwjg13"))))
|
"16f3lnwcldy0ssq2yah97qsb0b8scsvhsivfbhpgizmys7j6752j"))))
|
||||||
(build-system gnu-build-system)
|
(build-system meson-build-system)
|
||||||
(home-page "https://www.videolan.org/developers/libdvdcss.html")
|
(home-page "https://www.videolan.org/developers/libdvdcss.html")
|
||||||
(synopsis "Library for accessing DVDs as block devices")
|
(synopsis "Library for accessing DVDs as block devices")
|
||||||
(description
|
(description
|
||||||
@@ -5194,19 +5191,18 @@ specifications.")
|
|||||||
(define-public libaacs
|
(define-public libaacs
|
||||||
(package
|
(package
|
||||||
(name "libaacs")
|
(name "libaacs")
|
||||||
(version "0.11.0")
|
(version "0.11.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
|
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
|
||||||
version "/libaacs-" version ".tar.bz2"))
|
version "/libaacs-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d"))))
|
(base32 "0f8ax9dp49mrm1484bl2df659b34xyrjmngzmvvpg2n9wkms12m8"))))
|
||||||
(inputs
|
(inputs (list libgcrypt))
|
||||||
(list libgcrypt))
|
(native-inputs (list bison flex))
|
||||||
(native-inputs
|
|
||||||
(list bison flex))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
(arguments (list #:configure-flags #~(list "--disable-static")))
|
||||||
(home-page "https://www.videolan.org/developers/libaacs.html")
|
(home-page "https://www.videolan.org/developers/libaacs.html")
|
||||||
(synopsis "Library for decrypting certain Blu-Ray discs")
|
(synopsis "Library for decrypting certain Blu-Ray discs")
|
||||||
(description "libaacs is a library which implements the Advanced Access
|
(description "libaacs is a library which implements the Advanced Access
|
||||||
|
|||||||
+2
-2
@@ -3358,7 +3358,7 @@ compository, supporting the following features:
|
|||||||
(define-public waybar
|
(define-public waybar
|
||||||
(package
|
(package
|
||||||
(name "waybar")
|
(name "waybar")
|
||||||
(version "0.14.0")
|
(version "0.15.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
@@ -3367,7 +3367,7 @@ compository, supporting the following features:
|
|||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1b1783382y38mzzrzw53p20lwpfs0n2npqbs91j9ddgg6xk82s4q"))))
|
(base32 "1ify8zywlq6zrmbzp293q72pnzy3czkvrb4zia2xnsvsmy04mmp3"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:configure-flags #~(list "--wrap-mode=nodownload")))
|
(list #:configure-flags #~(list "--wrap-mode=nodownload")))
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ knowledge of the Z-Wave protocol.")
|
|||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "binding.gyp"
|
(substitute* "binding.gyp"
|
||||||
(("std=c\\+\\+11")
|
(("std=c\\+\\+11")
|
||||||
"std=c++20"))))
|
"std=c++17"))))
|
||||||
(replace 'build
|
(replace 'build
|
||||||
;; For some reason, `npm install` doesn't build
|
;; For some reason, `npm install` doesn't build
|
||||||
;; the addon automatically, so we do it explicitly here.
|
;; the addon automatically, so we do it explicitly here.
|
||||||
|
|||||||
@@ -216,6 +216,10 @@
|
|||||||
|
|
||||||
syslog-configuration
|
syslog-configuration
|
||||||
syslog-configuration?
|
syslog-configuration?
|
||||||
|
syslog-configuration-syslogd
|
||||||
|
syslog-configuration-config-file
|
||||||
|
syslog-configuration-pid-file
|
||||||
|
syslog-configuration-extra-options
|
||||||
syslog-service ; deprecated
|
syslog-service ; deprecated
|
||||||
syslog-service-type
|
syslog-service-type
|
||||||
%default-syslog.conf
|
%default-syslog.conf
|
||||||
@@ -1686,6 +1690,8 @@ mail.* -/var/log/maillog
|
|||||||
(default (file-append inetutils "/libexec/syslogd")))
|
(default (file-append inetutils "/libexec/syslogd")))
|
||||||
(config-file syslog-configuration-config-file
|
(config-file syslog-configuration-config-file
|
||||||
(default %default-syslog.conf))
|
(default %default-syslog.conf))
|
||||||
|
(pid-file syslog-configuration-pid-file
|
||||||
|
(default "/var/run/syslog.pid"))
|
||||||
(extra-options syslog-configuration-extra-options
|
(extra-options syslog-configuration-extra-options
|
||||||
(default '())))
|
(default '())))
|
||||||
|
|
||||||
@@ -1721,7 +1727,7 @@ reload its settings file.")))
|
|||||||
"-f" #$syslog.conf
|
"-f" #$syslog.conf
|
||||||
#$@(syslog-configuration-extra-options config))
|
#$@(syslog-configuration-extra-options config))
|
||||||
#:file-creation-mask #o137
|
#:file-creation-mask #o137
|
||||||
#:pid-file "/var/run/syslog.pid"))
|
#:pid-file #$(syslog-configuration-pid-file config)))
|
||||||
(stop #~(make-kill-destructor))))
|
(stop #~(make-kill-destructor))))
|
||||||
|
|
||||||
(define %default-syslog-files
|
(define %default-syslog-files
|
||||||
|
|||||||
@@ -801,7 +801,9 @@ port=" (number->string port) "
|
|||||||
(list (service-extension account-service-type
|
(list (service-extension account-service-type
|
||||||
(const %mysql-accounts))
|
(const %mysql-accounts))
|
||||||
(service-extension shepherd-root-service-type
|
(service-extension shepherd-root-service-type
|
||||||
mysql-shepherd-services)))
|
mysql-shepherd-services)
|
||||||
|
(service-extension profile-service-type
|
||||||
|
(compose list mysql-configuration-mysql))))
|
||||||
(default-value (mysql-configuration))
|
(default-value (mysql-configuration))
|
||||||
(description "Run the MySQL or MariaDB database server,
|
(description "Run the MySQL or MariaDB database server,
|
||||||
@command{mysqld}.")))
|
@command{mysqld}.")))
|
||||||
|
|||||||
@@ -1542,66 +1542,6 @@ the user shall be removed when the user fully logs out.")
|
|||||||
'#$(elogind-configuration-system-shutdown-hook-files
|
'#$(elogind-configuration-system-shutdown-hook-files
|
||||||
config))))))
|
config))))))
|
||||||
|
|
||||||
(define (elogind-dbus-service config)
|
|
||||||
"Return a @file{org.freedesktop.login1.service} file that tells D-Bus how to
|
|
||||||
\"start\" elogind. In practice though, our elogind is started when booting by
|
|
||||||
shepherd. Thus, the @code{Exec} line of this @file{.service} file does not
|
|
||||||
explain how to start elogind; instead, it spawns a wrapper that waits for the
|
|
||||||
@code{elogind} shepherd service. This avoids a race condition where both
|
|
||||||
@command{shepherd} and @command{dbus-daemon} would attempt to start elogind."
|
|
||||||
;; For more info on the elogind startup race, see
|
|
||||||
;; <https://issues.guix.gnu.org/55444>.
|
|
||||||
|
|
||||||
(define elogind
|
|
||||||
(elogind-configuration-elogind config))
|
|
||||||
|
|
||||||
(define wrapper
|
|
||||||
(program-file "elogind-dbus-shepherd-sync"
|
|
||||||
(with-imported-modules '((gnu services herd))
|
|
||||||
#~(begin
|
|
||||||
(use-modules (gnu services herd)
|
|
||||||
(srfi srfi-34))
|
|
||||||
|
|
||||||
(guard (c ((service-not-found-error? c)
|
|
||||||
(format (current-error-port)
|
|
||||||
"no elogind shepherd service~%")
|
|
||||||
(exit 1))
|
|
||||||
((shepherd-error? c)
|
|
||||||
(format (current-error-port)
|
|
||||||
"elogind shepherd service not \
|
|
||||||
started~%")
|
|
||||||
(exit 2)))
|
|
||||||
(wait-for-service 'elogind))))))
|
|
||||||
|
|
||||||
(define build
|
|
||||||
(with-imported-modules '((guix build utils))
|
|
||||||
#~(begin
|
|
||||||
(use-modules (guix build utils)
|
|
||||||
(ice-9 match))
|
|
||||||
|
|
||||||
(define service-directory
|
|
||||||
"/share/dbus-1/system-services")
|
|
||||||
|
|
||||||
(mkdir-p (dirname (string-append #$output service-directory)))
|
|
||||||
(copy-recursively (string-append #$elogind service-directory)
|
|
||||||
(string-append #$output service-directory))
|
|
||||||
(symlink (string-append #$elogind "/etc") ;for etc/dbus-1
|
|
||||||
(string-append #$output "/etc"))
|
|
||||||
;; Also expose the D-Bus policy configurations (.conf) files, now
|
|
||||||
;; installed under '/share' instead of the legacy '/etc' prefix.
|
|
||||||
(symlink (string-append #$elogind "/share/dbus-1/system.d")
|
|
||||||
(string-append #$output "/share/dbus-1/system.d"))
|
|
||||||
|
|
||||||
;; Replace the "Exec=" line of the 'org.freedesktop.login1.service'
|
|
||||||
;; file with one that refers to WRAPPER instead of elogind.
|
|
||||||
(match (find-files #$output "\\.service$")
|
|
||||||
((file)
|
|
||||||
(substitute* file
|
|
||||||
(("Exec[[:blank:]]*=.*" _)
|
|
||||||
(string-append "Exec=" #$wrapper "\n"))))))))
|
|
||||||
|
|
||||||
(list (computed-file "elogind-dbus-service-wrapper" build)))
|
|
||||||
|
|
||||||
(define (pam-extension-procedure config)
|
(define (pam-extension-procedure config)
|
||||||
"Return an extension for PAM-ROOT-SERVICE-TYPE that ensures that all the PAM
|
"Return an extension for PAM-ROOT-SERVICE-TYPE that ensures that all the PAM
|
||||||
services use 'pam_elogind.so', a module that allows elogind to keep track of
|
services use 'pam_elogind.so', a module that allows elogind to keep track of
|
||||||
@@ -1649,7 +1589,7 @@ of the service's configuration files."
|
|||||||
(name 'elogind)
|
(name 'elogind)
|
||||||
(extensions
|
(extensions
|
||||||
(list (service-extension dbus-root-service-type
|
(list (service-extension dbus-root-service-type
|
||||||
elogind-dbus-service)
|
(compose list elogind-configuration-elogind))
|
||||||
(service-extension udev-service-type
|
(service-extension udev-service-type
|
||||||
(compose list elogind-configuration-elogind))
|
(compose list elogind-configuration-elogind))
|
||||||
(service-extension polkit-service-type
|
(service-extension polkit-service-type
|
||||||
|
|||||||
@@ -26,7 +26,8 @@
|
|||||||
#:use-module (guix monads)
|
#:use-module (guix monads)
|
||||||
#:use-module (guix search-paths)
|
#:use-module (guix search-paths)
|
||||||
#:use-module ((guix build glib-or-gtk-build-system)
|
#:use-module ((guix build glib-or-gtk-build-system)
|
||||||
#:select (%gdk-pixbuf-loaders-cache-file))
|
#:select (%gdk-pixbuf-loaders-cache-file
|
||||||
|
%gdk-pixbuf-loaders-directory))
|
||||||
#:use-module (guix build-system)
|
#:use-module (guix build-system)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
@@ -35,7 +36,8 @@
|
|||||||
glib-or-gtk-build
|
glib-or-gtk-build
|
||||||
glib-or-gtk-cross-build
|
glib-or-gtk-cross-build
|
||||||
glib-or-gtk-build-system)
|
glib-or-gtk-build-system)
|
||||||
#:re-export (%gdk-pixbuf-loaders-cache-file)) ;for convenience
|
#:re-export (%gdk-pixbuf-loaders-cache-file
|
||||||
|
%gdk-pixbuf-loaders-directory)) ;for convenience
|
||||||
|
|
||||||
;; Commentary:
|
;; Commentary:
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -30,16 +30,10 @@
|
|||||||
#:use-module (guix search-paths)
|
#:use-module (guix search-paths)
|
||||||
#:use-module (guix build-system)
|
#:use-module (guix build-system)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:export (%default-lockfiles
|
#:export (%node-build-system-modules
|
||||||
%node-build-system-modules
|
|
||||||
node-build
|
node-build
|
||||||
node-build-system))
|
node-build-system))
|
||||||
|
|
||||||
(define %default-lockfiles
|
|
||||||
(list "package-lock.json"
|
|
||||||
"yarn.lock"
|
|
||||||
"npm-shrinkwrap.json"))
|
|
||||||
|
|
||||||
(define %node-build-system-modules
|
(define %node-build-system-modules
|
||||||
;; Build-side modules imported by default.
|
;; Build-side modules imported by default.
|
||||||
`((guix build node-build-system)
|
`((guix build node-build-system)
|
||||||
@@ -53,10 +47,6 @@
|
|||||||
"Return the default Node package, resolved lazily."
|
"Return the default Node package, resolved lazily."
|
||||||
(@* (gnu packages node) node-lts))
|
(@* (gnu packages node) node-lts))
|
||||||
|
|
||||||
(define (default-guile-json)
|
|
||||||
"Return the default guile-json package, resolved lazily."
|
|
||||||
(@* (gnu packages guile) guile-json-4))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
(node (default-node))
|
(node (default-node))
|
||||||
@@ -88,12 +78,17 @@
|
|||||||
(build node-build)
|
(build node-build)
|
||||||
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
||||||
|
|
||||||
|
(define (default-guile-json)
|
||||||
|
"Return the default guile-json package."
|
||||||
|
;; Lazily resolve the binding to avoid a circular dependency.
|
||||||
|
(let ((mod (resolve-interface '(gnu packages guile))))
|
||||||
|
(module-ref mod 'guile-json-4)))
|
||||||
|
|
||||||
(define* (node-build name inputs
|
(define* (node-build name inputs
|
||||||
#:key
|
#:key
|
||||||
source
|
source
|
||||||
(npm-flags ''())
|
(npm-flags ''())
|
||||||
(test-target "test")
|
(test-target "test")
|
||||||
(lockfiles %default-lockfiles)
|
|
||||||
(tests? #t)
|
(tests? #t)
|
||||||
(phases '%standard-phases)
|
(phases '%standard-phases)
|
||||||
(outputs '("out"))
|
(outputs '("out"))
|
||||||
@@ -115,7 +110,6 @@
|
|||||||
#:system #$system
|
#:system #$system
|
||||||
#:npm-flags #$npm-flags
|
#:npm-flags #$npm-flags
|
||||||
#:test-target #$test-target
|
#:test-target #$test-target
|
||||||
#:lockfiles '#$lockfiles
|
|
||||||
#:tests? #$tests?
|
#:tests? #$tests?
|
||||||
#:phases #$phases
|
#:phases #$phases
|
||||||
#:outputs #$(outputs->gexp outputs)
|
#:outputs #$(outputs->gexp outputs)
|
||||||
|
|||||||
@@ -105,7 +105,6 @@
|
|||||||
source
|
source
|
||||||
(phases '%standard-phases)
|
(phases '%standard-phases)
|
||||||
(grammar-directories '("."))
|
(grammar-directories '("."))
|
||||||
(lockfiles %default-lockfiles)
|
|
||||||
(tests? #t)
|
(tests? #t)
|
||||||
(outputs '("out" "js"))
|
(outputs '("out" "js"))
|
||||||
(search-paths '())
|
(search-paths '())
|
||||||
@@ -124,7 +123,6 @@
|
|||||||
#:source #+source
|
#:source #+source
|
||||||
#:system #$system
|
#:system #$system
|
||||||
#:phases #$phases
|
#:phases #$phases
|
||||||
#:lockfiles '#$lockfiles
|
|
||||||
#:tests? #$tests?
|
#:tests? #$tests?
|
||||||
#:grammar-directories '#$grammar-directories
|
#:grammar-directories '#$grammar-directories
|
||||||
#:outputs #$(outputs->gexp outputs)
|
#:outputs #$(outputs->gexp outputs)
|
||||||
@@ -147,7 +145,6 @@
|
|||||||
guile source
|
guile source
|
||||||
(phases '%standard-phases)
|
(phases '%standard-phases)
|
||||||
(grammar-directories '("."))
|
(grammar-directories '("."))
|
||||||
(lockfiles %default-lockfiles)
|
|
||||||
(tests? #t)
|
(tests? #t)
|
||||||
(outputs '("out" "js"))
|
(outputs '("out" "js"))
|
||||||
(search-paths '())
|
(search-paths '())
|
||||||
@@ -182,7 +179,6 @@
|
|||||||
#:build #$build
|
#:build #$build
|
||||||
#:target #$target
|
#:target #$target
|
||||||
#:phases #$phases
|
#:phases #$phases
|
||||||
#:lockfiles '#$lockfiles
|
|
||||||
#:tests? #$tests?
|
#:tests? #$tests?
|
||||||
#:grammar-directories '#$grammar-directories
|
#:grammar-directories '#$grammar-directories
|
||||||
#:outputs #$(outputs->gexp outputs)
|
#:outputs #$(outputs->gexp outputs)
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:export (%standard-phases
|
#:export (%standard-phases
|
||||||
%gdk-pixbuf-loaders-cache-file
|
%gdk-pixbuf-loaders-cache-file
|
||||||
|
%gdk-pixbuf-loaders-directory
|
||||||
generate-gdk-pixbuf-loaders-cache
|
generate-gdk-pixbuf-loaders-cache
|
||||||
glib-or-gtk-build))
|
glib-or-gtk-build))
|
||||||
|
|
||||||
@@ -207,6 +208,8 @@ if needed."
|
|||||||
;; `generate-gdk-pixbuf-loaders-cache' build phase defined below.
|
;; `generate-gdk-pixbuf-loaders-cache' build phase defined below.
|
||||||
(define %gdk-pixbuf-loaders-cache-file
|
(define %gdk-pixbuf-loaders-cache-file
|
||||||
"lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")
|
"lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")
|
||||||
|
(define %gdk-pixbuf-loaders-directory
|
||||||
|
"lib/gdk-pixbuf-2.0/2.10.0/loaders")
|
||||||
|
|
||||||
(define (generate-gdk-pixbuf-loaders-cache directories outputs)
|
(define (generate-gdk-pixbuf-loaders-cache directories outputs)
|
||||||
"Generate the loaders.cache file used by gdk-pixbuf to locate the available
|
"Generate the loaders.cache file used by gdk-pixbuf to locate the available
|
||||||
@@ -214,8 +217,9 @@ loaders among DIRECTORIES, and set the GDK_PIXBUF_MODULE_FILE environment
|
|||||||
variable. The cache file is installed under OUTPUTS. Return the first cache
|
variable. The cache file is installed under OUTPUTS. Return the first cache
|
||||||
file name if one was created else #f."
|
file name if one was created else #f."
|
||||||
(let* ((loaders (append-map
|
(let* ((loaders (append-map
|
||||||
(cut find-files <> "^libpixbufloader-.*\\.so$")
|
(lambda (dir)
|
||||||
(delete-duplicates directories)))
|
(find-files (in-vicinity dir %gdk-pixbuf-loaders-directory) "^.*.so$"))
|
||||||
|
directories))
|
||||||
(outputs* (map (cut string-append <> "/"
|
(outputs* (map (cut string-append <> "/"
|
||||||
%gdk-pixbuf-loaders-cache-file)
|
%gdk-pixbuf-loaders-cache-file)
|
||||||
outputs))
|
outputs))
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
|
;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||||
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||||
;;; Copyright © 2024 Daniel Khodabakhsh <d.khodabakhsh@gmail.com>
|
;;; Copyright © 2024 Daniel Khodabakhsh <d.khodabakhsh@gmail.com>
|
||||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
@@ -30,7 +29,6 @@
|
|||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (json)
|
#:use-module (json)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-26)
|
|
||||||
#:use-module (srfi srfi-71)
|
#:use-module (srfi srfi-71)
|
||||||
#:export (%standard-phases
|
#:export (%standard-phases
|
||||||
delete-dependencies
|
delete-dependencies
|
||||||
@@ -42,6 +40,34 @@
|
|||||||
replace-fields
|
replace-fields
|
||||||
with-atomic-json-file-replacement))
|
with-atomic-json-file-replacement))
|
||||||
|
|
||||||
|
(define* (assoc-ref* alist key #:optional default)
|
||||||
|
"Like assoc-ref, but return DEFAULT instead of #f if no value exists."
|
||||||
|
(match (assoc key alist)
|
||||||
|
(#f default)
|
||||||
|
((_ . value) value)))
|
||||||
|
|
||||||
|
(define* (alist-pop alist key #:optional (= equal?))
|
||||||
|
"Return two values, the first pair in ALIST with key KEY, and the other
|
||||||
|
elements. Equality calls are made as (= KEY ALISTCAR)."
|
||||||
|
(define (found? pair)
|
||||||
|
(= key (car pair)))
|
||||||
|
|
||||||
|
(let ((before after (break found? alist)))
|
||||||
|
(if (pair? after)
|
||||||
|
(values (car after) (append before (cdr after)))
|
||||||
|
(values #f before))))
|
||||||
|
|
||||||
|
(define* (alist-update alist key proc #:optional (= equal?))
|
||||||
|
"Return an association list like ALIST, but with KEY mapped to the result of
|
||||||
|
PROC applied to the first value found under the comparison (= KEY ALISTCAR).
|
||||||
|
If no such value exists, return the list unchanged.
|
||||||
|
Unlike acons, this removes the previous association of KEY (assuming it is
|
||||||
|
unique), but the result may still share storage with ALIST."
|
||||||
|
(let ((pair rest (alist-pop alist key =)))
|
||||||
|
(if (pair? pair)
|
||||||
|
(acons key (proc (cdr pair)) rest)
|
||||||
|
alist)))
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; package.json modification procedures
|
;;; package.json modification procedures
|
||||||
;;;
|
;;;
|
||||||
@@ -80,19 +106,23 @@ listed in 'dependencies-to-remove', a list of strings naming npm packages.
|
|||||||
|
|
||||||
To prevent the deleted dependencies from being reintroduced, use this function
|
To prevent the deleted dependencies from being reintroduced, use this function
|
||||||
only after the 'patch-dependencies' phase."
|
only after the 'patch-dependencies' phase."
|
||||||
(let ((predicate (lambda (dependency)
|
(lambda (pkg-meta)
|
||||||
(member (car dependency) dependencies-to-remove)))
|
(fold
|
||||||
(dependency? (cut member <> (list "devDependencies"
|
(lambda (dependency-key pkg-meta)
|
||||||
"dependencies"
|
(alist-update
|
||||||
"peerDependencies"
|
pkg-meta
|
||||||
"optionalDependencies"))))
|
dependency-key
|
||||||
(lambda (pkg-meta)
|
(lambda (dependencies)
|
||||||
(map (match-lambda
|
(remove
|
||||||
(((? dependency? key) . dependencies)
|
(lambda (dependency)
|
||||||
(cons key (remove predicate dependencies)))
|
(member (car dependency) dependencies-to-remove))
|
||||||
(otherwise
|
dependencies))))
|
||||||
otherwise))
|
pkg-meta
|
||||||
pkg-meta))))
|
(list
|
||||||
|
"devDependencies"
|
||||||
|
"dependencies"
|
||||||
|
"peerDependencies"
|
||||||
|
"optionalDependencies"))))
|
||||||
|
|
||||||
(define* (modify-json-fields
|
(define* (modify-json-fields
|
||||||
fields
|
fields
|
||||||
@@ -206,7 +236,8 @@ only after the 'patch-dependencies' phase."
|
|||||||
(begin
|
(begin
|
||||||
(mkdir dir)
|
(mkdir dir)
|
||||||
(setenv "HOME" (string-append (getcwd) "/" dir))
|
(setenv "HOME" (string-append (getcwd) "/" dir))
|
||||||
(format #t "set HOME to ~s~%" (getenv "HOME"))))))))
|
(format #t "set HOME to ~s~%" (getenv "HOME")))))))
|
||||||
|
#t)
|
||||||
|
|
||||||
(define (module-name module)
|
(define (module-name module)
|
||||||
(let* ((package.json (string-append module "/package.json"))
|
(let* ((package.json (string-append module "/package.json"))
|
||||||
@@ -226,65 +257,67 @@ only after the 'patch-dependencies' phase."
|
|||||||
(for-each (lambda (dir)
|
(for-each (lambda (dir)
|
||||||
(let ((nm (string-append dir "/lib/node_modules")))
|
(let ((nm (string-append dir "/lib/node_modules")))
|
||||||
(for-each (lambda (module)
|
(for-each (lambda (module)
|
||||||
(hash-set! index (module-name module)
|
(hash-set! index (module-name module) module))
|
||||||
(string-append "file://" module)))
|
|
||||||
(list-modules nm))))
|
(list-modules nm))))
|
||||||
input-paths)
|
input-paths)
|
||||||
index))
|
index))
|
||||||
|
|
||||||
(define* (patch-dependencies #:key inputs #:allow-other-keys)
|
(define* (patch-dependencies #:key inputs #:allow-other-keys)
|
||||||
"Replace versions by paths when found among INPUTS in `package.json'."
|
|
||||||
|
|
||||||
(define resolve-dependencies
|
(define index (index-modules (map cdr inputs)))
|
||||||
(let ((index (index-modules (map cdr inputs))))
|
|
||||||
(cut map
|
|
||||||
(match-lambda
|
|
||||||
((dependency . version)
|
|
||||||
(cons dependency (hash-ref index dependency version))))
|
|
||||||
<>)))
|
|
||||||
|
|
||||||
(define (resolve key getter)
|
(define (resolve-dependencies dependencies)
|
||||||
|
(map
|
||||||
|
(match-lambda
|
||||||
|
((dependency . version)
|
||||||
|
(cons dependency (hash-ref index dependency version))))
|
||||||
|
dependencies))
|
||||||
|
|
||||||
|
(with-atomic-json-file-replacement
|
||||||
(lambda (pkg-meta)
|
(lambda (pkg-meta)
|
||||||
(assoc-set! pkg-meta key
|
(fold
|
||||||
(resolve-dependencies (getter pkg-meta)))))
|
(lambda (proc pkg-meta) (proc pkg-meta))
|
||||||
|
pkg-meta
|
||||||
|
(list
|
||||||
|
(lambda (pkg-meta)
|
||||||
|
(alist-update pkg-meta "devDependencies" resolve-dependencies))
|
||||||
|
(lambda (pkg-meta)
|
||||||
|
(assoc-set!
|
||||||
|
pkg-meta
|
||||||
|
"dependencies"
|
||||||
|
(resolve-dependencies
|
||||||
|
; Combined "peerDependencies" and "dependencies" dependencies
|
||||||
|
; with "dependencies" taking precedent.
|
||||||
|
(fold
|
||||||
|
(lambda (dependency dependencies)
|
||||||
|
(assoc-set! dependencies (car dependency) (cdr dependency)))
|
||||||
|
(assoc-ref* pkg-meta "peerDependencies" '())
|
||||||
|
(assoc-ref* pkg-meta "dependencies" '())))))))))
|
||||||
|
#t)
|
||||||
|
|
||||||
(modify-json
|
(define* (delete-lockfiles #:key inputs #:allow-other-keys)
|
||||||
(resolve "devDependencies"
|
"Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they
|
||||||
(lambda (pkg-meta)
|
exist."
|
||||||
(or (assoc-ref pkg-meta "devDependencies") '())))
|
|
||||||
(resolve "dependencies"
|
|
||||||
;; Combined "peerDependencies" and "dependencies" dependencies
|
|
||||||
;; with "dependencies" taking precedent.
|
|
||||||
(lambda (pkg-meta)
|
|
||||||
(fold
|
|
||||||
(lambda (dependency dependencies)
|
|
||||||
(assoc-set! dependencies
|
|
||||||
(car dependency) (cdr dependency)))
|
|
||||||
(or (assoc-ref pkg-meta "peerDependencies") '())
|
|
||||||
(or (assoc-ref pkg-meta "dependencies") '()))))))
|
|
||||||
|
|
||||||
(define* (delete-lockfiles #:key lockfiles #:allow-other-keys)
|
|
||||||
"Delete LOCKFILES if they exist."
|
|
||||||
(for-each (lambda (pth)
|
(for-each (lambda (pth)
|
||||||
(when (file-exists? pth)
|
(when (file-exists? pth)
|
||||||
(delete-file pth)))
|
(delete-file pth)))
|
||||||
lockfiles))
|
'("package-lock.json"
|
||||||
|
"yarn.lock"
|
||||||
|
"npm-shrinkwrap.json"))
|
||||||
|
#t)
|
||||||
|
|
||||||
(define* (configure #:key inputs #:allow-other-keys)
|
(define* (configure #:key outputs inputs #:allow-other-keys)
|
||||||
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
||||||
(invoke npm "--offline"
|
(invoke npm "--offline" "--ignore-scripts" "--install-links" "install")
|
||||||
"--ignore-scripts"
|
#t))
|
||||||
"--install-links"
|
|
||||||
"--no-audit"
|
|
||||||
"install")))
|
|
||||||
|
|
||||||
(define* (build #:key inputs #:allow-other-keys)
|
(define* (build #:key inputs #:allow-other-keys)
|
||||||
(let* ((package-meta (call-with-input-file "package.json" json->scm))
|
(let ((package-meta (call-with-input-file "package.json" json->scm)))
|
||||||
(scripts (assoc-ref package-meta "scripts")))
|
(if (assoc-ref* (assoc-ref* package-meta "scripts" '()) "build" #f)
|
||||||
(if (and scripts (assoc-ref scripts "build"))
|
|
||||||
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
||||||
(invoke npm "run" "build"))
|
(invoke npm "run" "build"))
|
||||||
(format #t "there is no build script to run~%"))))
|
(format #t "there is no build script to run~%"))
|
||||||
|
#t))
|
||||||
|
|
||||||
(define* (check #:key tests? inputs test-target #:allow-other-keys)
|
(define* (check #:key tests? inputs test-target #:allow-other-keys)
|
||||||
"Run 'npm run TEST-TARGET' if TESTS?"
|
"Run 'npm run TEST-TARGET' if TESTS?"
|
||||||
@@ -301,7 +334,8 @@ only after the 'patch-dependencies' phase."
|
|||||||
"--owner=0"
|
"--owner=0"
|
||||||
"--group=0"
|
"--group=0"
|
||||||
"--numeric-owner"
|
"--numeric-owner"
|
||||||
"-czf" "../package.tgz" "."))
|
"-czf" "../package.tgz" ".")
|
||||||
|
#t)
|
||||||
|
|
||||||
(define* (install #:key outputs inputs #:allow-other-keys)
|
(define* (install #:key outputs inputs #:allow-other-keys)
|
||||||
"Install the node module to the output store item."
|
"Install the node module to the output store item."
|
||||||
@@ -313,7 +347,8 @@ only after the 'patch-dependencies' phase."
|
|||||||
"--loglevel" "info"
|
"--loglevel" "info"
|
||||||
"--production"
|
"--production"
|
||||||
"--install-links"
|
"--install-links"
|
||||||
"install" "../package.tgz")))
|
"install" "../package.tgz")
|
||||||
|
#t))
|
||||||
|
|
||||||
(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys)
|
(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys)
|
||||||
"Adjust the installed 'package.json' to remove an 'install' script that
|
"Adjust the installed 'package.json' to remove an 'install' script that
|
||||||
@@ -341,25 +376,28 @@ would try to run 'node-gyp rebuild'."
|
|||||||
;; For further details, see:
|
;; For further details, see:
|
||||||
;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values
|
;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values
|
||||||
;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices
|
;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices
|
||||||
(let* ((installed-package.json
|
(define installed-package.json
|
||||||
(search-input-file outputs (string-append "/lib/node_modules/"
|
(search-input-file outputs (string-append "/lib/node_modules/"
|
||||||
(module-name ".")
|
(module-name ".")
|
||||||
"/package.json")))
|
"/package.json")))
|
||||||
;; We don't want to use an atomic replacement here, because we often
|
;; We don't want to use an atomic replacement here, because we often don't
|
||||||
;; don't even need to overwrite this file. Therefore, let's use some
|
;; even need to overwrite this file. Therefore, let's use some helpers
|
||||||
;; helpers that we'd otherwise not need.
|
;; that we'd otherwise not need.
|
||||||
(pkg-meta (call-with-input-file installed-package.json json->scm))
|
(define pkg-meta
|
||||||
(scripts (or (assoc-ref pkg-meta "scripts") '())))
|
(call-with-input-file installed-package.json json->scm))
|
||||||
(when (equal? "node-gyp rebuild" (assoc-ref scripts "install"))
|
(define scripts
|
||||||
(call-with-output-file installed-package.json
|
(assoc-ref* pkg-meta "scripts" '()))
|
||||||
(lambda (out)
|
|
||||||
(scm->json
|
(when (equal? "node-gyp rebuild" (assoc-ref* scripts "install" #f))
|
||||||
(assoc-set! pkg-meta
|
(call-with-output-file installed-package.json
|
||||||
"scripts"
|
(lambda (out)
|
||||||
(assoc-set! scripts
|
(scm->json
|
||||||
"install"
|
(assoc-set! pkg-meta
|
||||||
"echo Guix: avoiding node-gyp rebuild"))
|
"scripts"
|
||||||
out))))))
|
(assoc-set! scripts
|
||||||
|
"install"
|
||||||
|
"echo Guix: avoiding node-gyp rebuild"))
|
||||||
|
out)))))
|
||||||
|
|
||||||
(define %standard-phases
|
(define %standard-phases
|
||||||
(modify-phases gnu:%standard-phases
|
(modify-phases gnu:%standard-phases
|
||||||
|
|||||||
+1
-1
@@ -162,7 +162,7 @@ etc/guix-%.service: etc/guix-%.service.in \
|
|||||||
etc/guix-gc.timer: etc/guix-gc.timer.in \
|
etc/guix-gc.timer: etc/guix-gc.timer.in \
|
||||||
$(top_builddir)/config.status
|
$(top_builddir)/config.status
|
||||||
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
|
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
|
||||||
cp "$@.in" "$@"
|
cp "$<" "$@"
|
||||||
|
|
||||||
# The service script for sysvinit.
|
# The service script for sysvinit.
|
||||||
sysvinitservicedir = $(sysconfdir)/init.d
|
sysvinitservicedir = $(sysconfdir)/init.d
|
||||||
|
|||||||
Reference in New Issue
Block a user