forked from tribes/guix
Compare commits
72 Commits
master
...
gnome-team
| 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 |
+9
-3
@@ -1588,8 +1588,11 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gtk2-theme-paths.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtk3-treeview-test-fix.patch \
|
||||
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
|
||||
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
|
||||
%D%/packages/patches/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/gtkglext-disable-disable-deprecated.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/mono-msbuild-15.7.179-fix-build.patch \
|
||||
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.patch \
|
||||
%D%/packages/patches/mozjs-xp-win.patch \
|
||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
||||
%D%/packages/patches/libmodbus-disable-networking-test.patch \
|
||||
@@ -1925,6 +1929,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mediasdk-gcc-14.patch \
|
||||
%D%/packages/patches/memtest86+-build-reproducibly.patch \
|
||||
%D%/packages/patches/mercurial-hg-extension-path.patch \
|
||||
%D%/packages/patches/meson-keep-rpath-vicinity.patch \
|
||||
%D%/packages/patches/meson-gir-fallback-path.patch \
|
||||
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
||||
%D%/packages/patches/mia-fix-boost-headers.patch \
|
||||
%D%/packages/patches/mia-gcc11.patch \
|
||||
@@ -2617,9 +2623,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/wcstools-extend-makefiles.patch \
|
||||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-abseil-cpp.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-gcc-14.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
%D%/packages/patches/wmctrl-64-fix.patch \
|
||||
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
|
||||
|
||||
@@ -12132,7 +12132,7 @@ It can be used to calculate the trajectory of satellites.")
|
||||
gtksourceview-4
|
||||
healpix-cxx
|
||||
json-glib
|
||||
lcms-next
|
||||
lcms
|
||||
|
||||
;; XXX: It downloads script and data during start up, check if they
|
||||
;; may be presented as packages with wrapped environment variables
|
||||
|
||||
+6
-22
@@ -11,7 +11,7 @@
|
||||
;;; Copyright © 2016–2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 okapi <okapi@firemail.cc>
|
||||
;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2018, 2020, 2022-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
|
||||
@@ -403,7 +403,7 @@ displays a histogram of the roundtrip time jitter.")
|
||||
(define-public webrtc-audio-processing
|
||||
(package
|
||||
(name "webrtc-audio-processing")
|
||||
(version "1.3")
|
||||
(version "2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -411,30 +411,14 @@ displays a histogram of the roundtrip time jitter.")
|
||||
(string-append "http://freedesktop.org/software/pulseaudio/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0xfvq5lxg612vfzk3zk6896zcb4cgrrb7fq76w9h40magz0jymcm"))))
|
||||
(base32 "0lrjzhshwj1rkh4fxh7sq2dkkfimlyjs2ha7s3ribsh2dnc6ps1m"))
|
||||
(patches (search-patches "webrtc-audio-processing-abseil-cpp.patch"
|
||||
"webrtc-audio-processing-gcc-14.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags (if (target-x86-32?)
|
||||
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE")
|
||||
#~'())
|
||||
#:phases
|
||||
(if (or (target-x86-32?) (target-powerpc?))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda _
|
||||
(define (patch file)
|
||||
(invoke "patch" "-p1" "--force" "-i" file))
|
||||
|
||||
;; https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
|
||||
;; TODO: Move to the 'patches' field of the origin on
|
||||
;; the next rebuild.
|
||||
(patch #$(local-file
|
||||
(search-patch
|
||||
"webrtc-audio-processing-byte-order-pointer-size.patch")))
|
||||
(patch #$(local-file
|
||||
(search-patch
|
||||
"webrtc-audio-processing-x86-no-sse.patch"))))))
|
||||
#~%standard-phases)))
|
||||
#~'())))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list abseil-cpp))
|
||||
(synopsis "WebRTC's Audio Processing Library")
|
||||
|
||||
@@ -427,7 +427,10 @@ files and generates build instructions for the Ninja build system.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
|
||||
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))
|
||||
(patches
|
||||
(search-patches "meson-gir-fallback-path.patch"
|
||||
"meson-keep-rpath-vicinity.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
@@ -1000,18 +1001,17 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
|
||||
(define-public libudfread
|
||||
(package
|
||||
(name "libudfread")
|
||||
(version "1.1.2")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://download.videolan.org/pub/videolan/libudfread/"
|
||||
name "-" version ".tar.bz2"))
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05c943ymw94nzjxf7v102916frqk7icgw4gb244wx23jn8cnz56m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list automake autoconf libtool pkg-config))
|
||||
"03q5b1wm90vygx4rf4mzzrf0yhvhbvp72nyhv63pgz7v9jypqixv"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://code.videolan.org/videolan/libudfread")
|
||||
(synopsis "C library to read UDF file systems")
|
||||
(description "@code{libudfread} is a C library for reading
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||||
;;; 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 © 2022 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
|
||||
@@ -1382,14 +1382,15 @@ Font Format (WOFF).")
|
||||
(hidden-package
|
||||
(package
|
||||
(name "fontconfig-minimal")
|
||||
(version "2.16.0")
|
||||
(version "2.17.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.freedesktop.org/software/"
|
||||
"fontconfig/release/fontconfig-" version ".tar.xz"))
|
||||
"https://gitlab.freedesktop.org/api/v4/projects/890"
|
||||
"/packages/generic/fontconfig/" version "/fontconfig-"
|
||||
version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"086jdsdxmc9ryr0n0dmgs0vfnkhkxxw5hsgpr888pfn9biaxqcva"))
|
||||
"0hd5dw15q0i7518w1zqjcvyhvmlcf3ycv6df0ny1zz7zyj9swp4z"))
|
||||
(patches (search-patches "fontconfig-cache-ignore-mtime.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
;; In Requires or Requires.private of fontconfig.pc.
|
||||
|
||||
@@ -794,16 +794,16 @@ the freedesktop.org XDG Base Directory specification.")
|
||||
(define-public elogind
|
||||
(package
|
||||
(name "elogind")
|
||||
(version "255.17")
|
||||
(version "257.14")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/elogind/elogind")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/elogind/elogind")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h"))))
|
||||
"16cbkkia2wmcjwqxgzl714igi9sgpcl4sdvag388vlh941136bs9"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -3302,6 +3302,7 @@ compatible with the well-known scripts of the same name.")
|
||||
(list gettext-minimal
|
||||
`(,glib "bin")
|
||||
gst-plugins-good ;for wavparse plugin
|
||||
(librsvg-for-system) ;SVG loader needed for one test
|
||||
pkg-config
|
||||
python
|
||||
python-dbusmock
|
||||
|
||||
@@ -10225,7 +10225,7 @@ their own levels.")
|
||||
(define-public libmanette
|
||||
(package
|
||||
(name "libmanette")
|
||||
(version "0.2.12")
|
||||
(version "0.2.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libmanette/"
|
||||
@@ -10233,7 +10233,7 @@ their own levels.")
|
||||
"libmanette-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1n513s8ksjbrwqq7k46f3550avx11gly3a85shsdrwc0f4k4kcs8"))))
|
||||
"1bnqfxd9b5vff9256f8vxd404fkvbvc5gxva6qcjj2fyw3yw4z18"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list `(,glib "bin") ; for glib-compile-resources
|
||||
|
||||
@@ -50,15 +50,15 @@
|
||||
(define-public lcms
|
||||
(package
|
||||
(name "lcms")
|
||||
(version "2.13.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/lcms/lcms/"
|
||||
(version-major+minor version)
|
||||
"/lcms2-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"121v414bg2zk0fcwx0kigr2l6nxl88nmblfn3gq5lz5jwybffwyl"))))
|
||||
(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"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-static")))
|
||||
@@ -73,19 +73,8 @@ Consortium standard (ICC), approved as ISO 15076-1.")
|
||||
(home-page "https://www.littlecms.com/")
|
||||
(properties '((cpe-name . "little_cms_color_engine")))))
|
||||
|
||||
(define-public lcms-next
|
||||
(package
|
||||
(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"))))))
|
||||
;; Can be removed after 2027/05/01.
|
||||
(define-deprecated-package lcms-next lcms)
|
||||
|
||||
(define-public libpaper
|
||||
(package
|
||||
|
||||
@@ -994,7 +994,7 @@ useful for C++.")
|
||||
(define-public python-pygobject
|
||||
(package
|
||||
(name "python-pygobject")
|
||||
(version "3.54.3")
|
||||
(version "3.54.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1003,7 +1003,7 @@ useful for C++.")
|
||||
"/pygobject-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rxsj85xl73a14vz7s30sy8lx9sswd2j2hgj3i4mcz8g989hknm8"))))
|
||||
"11dm5yi80v143dn21bayqxb53w67hk1lishmrw35c97m91inyrdn"))))
|
||||
(build-system meson-build-system)
|
||||
;; The tests require mutter, which would introduce a circular dependency.
|
||||
(arguments (list #:tests? #f))
|
||||
|
||||
+227
-164
@@ -215,6 +215,7 @@
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:use-module (gnu packages samba)
|
||||
#:use-module (gnu packages scanner)
|
||||
#:use-module (gnu packages sdl)
|
||||
@@ -2084,7 +2085,7 @@ offline sources, providing a centralized place for managing your contacts.")
|
||||
(define-public gnome-desktop
|
||||
(package
|
||||
(name "gnome-desktop")
|
||||
(version "44.4")
|
||||
(version "44.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -2093,11 +2094,16 @@ offline sources, providing a centralized place for managing your contacts.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1129nh32ga5vv869fwby3n2lvj2chd9wys8j1jdnisr8lg3bk30x"))))
|
||||
"0br33ma7l45nr8yp9bcjqgy9zrj57yy2fnkc0b0yh0rsdrd9kq10"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#: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
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "libgnome-desktop/gnome-languages.c"
|
||||
@@ -2687,7 +2693,7 @@ and single page document formats like PDF and DejaVu.")
|
||||
(define-public gsettings-desktop-schemas
|
||||
(package
|
||||
(name "gsettings-desktop-schemas")
|
||||
(version "48.0")
|
||||
(version "49.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -2696,7 +2702,7 @@ and single page document formats like PDF and DejaVu.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lqv5mn7r1c8nxm6dfxgvk56r2sqfgafkj5jm1jzh65z2dc1b3z6"))))
|
||||
"0qqfxml3kqg87ly5w8rhqalin6qv20jcn2gqkdmhga75sn1pyykp"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#: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
|
||||
(package
|
||||
(name "adwaita-icon-theme")
|
||||
(version "48.1")
|
||||
(version "49.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"04kfi8qpvghhmj83p03k509pnsp8ywlrii1qm0xv056dxf39pznb"))))
|
||||
"0p3mj6bl8wp1cri2qdszqrqqs47irh7qvajr5yaaly5js5hn85k5"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -3221,6 +3227,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
@@ -3228,17 +3235,13 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
|
||||
(lambda _
|
||||
(substitute* "meson_post_install.py"
|
||||
(("gtk-update-icon-cache") "true"))))
|
||||
|
||||
#$@(if (this-package-input "gjs")
|
||||
'()
|
||||
'((add-after 'unpack 'skip-gjs-test
|
||||
(lambda _
|
||||
;; When the optional dependency on GJS is missing, skip
|
||||
;; the GJS plugin tests.
|
||||
(substitute* "tests/modules.c"
|
||||
(("g_test_add.*JavaScript.*" all)
|
||||
(string-append "// " all "\n")))
|
||||
(delete-file "tests/catalogs/gjsplugin.xml")))))
|
||||
(add-after 'unpack 'skip-modules-test
|
||||
;; This test fails with 'GLib-GObject-FATAL-CRITICAL: cannot
|
||||
;; register existing type 'GIRepository' since the GNOME 49
|
||||
;; upgrades.
|
||||
(lambda _
|
||||
(substitute* "tests/meson.build"
|
||||
((".*'modules', .*") ""))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
@@ -3494,7 +3497,7 @@ XML/CSS rendering engine.")
|
||||
(define-public libgsf
|
||||
(package
|
||||
(name "libgsf")
|
||||
(version "1.14.54")
|
||||
(version "1.14.55")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -3502,7 +3505,7 @@ XML/CSS rendering engine.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08vny43clswk95djch50z17hdnns2p8qc93if6qcy4r598k6k26i"))))
|
||||
"0c91l0l3camxpanpgp634nd68vz3v0jbk9bxs5dfmlsvl6xhmmkl"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" "bin" "doc"))
|
||||
(arguments
|
||||
@@ -3550,7 +3553,7 @@ for dealing with different structured file formats.")
|
||||
(define-public librsvg
|
||||
(package
|
||||
(name "librsvg")
|
||||
(version "2.58.5")
|
||||
(version "2.61.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/librsvg/"
|
||||
@@ -3558,45 +3561,31 @@ for dealing with different structured file formats.")
|
||||
"librsvg-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ym2yg94sc7ralh1kwqqrhz3wcc51079z90mbx0qrls7wfh36hi2"))))
|
||||
(build-system gnu-build-system)
|
||||
"036afbhd2h4brbd491kmgig0ib1df3s7j9bx8349b3zjs4lfm87w"))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" "doc" "debug"))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "--disable-static"
|
||||
#$@(if (%current-target-system)
|
||||
#~(;; g-ir-scanner can't import its modules
|
||||
#~(list #$@(if (%current-target-system)
|
||||
#~( ;; g-ir-scanner can't import its modules
|
||||
;; and vala currently can't be cross-compiled.
|
||||
"--enable-introspection=no"
|
||||
"--enable-vala=no"
|
||||
;; These two are necessary for cross-compiling.
|
||||
(string-append
|
||||
"--build=" #$(nix-system->gnu-triplet
|
||||
(%current-system)))
|
||||
(string-append
|
||||
"--host=" #$(%current-target-system))
|
||||
"-Dintrospection=false"
|
||||
"-Dvala=false"
|
||||
;; This is needed when cross-compiling for some
|
||||
;; architectures as autoconf and rust disagree about
|
||||
;; the target triplet.
|
||||
(string-append "RUST_TARGET="
|
||||
(string-append "-Dtriplet="
|
||||
#$(platform-rust-target
|
||||
(lookup-platform-by-target
|
||||
(%current-target-system)))))
|
||||
#~("--enable-vala")))
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
|
||||
#$@(if (%current-target-system)
|
||||
#~((string-append "RUST_TARGET="
|
||||
#$(platform-rust-target
|
||||
(lookup-platform-by-target
|
||||
(%current-target-system)))))
|
||||
#~()))
|
||||
#:imported-modules %cargo-build-system-modules
|
||||
#~())
|
||||
"-Dpixbuf-loader=enabled") ;disabled since 2.61.2
|
||||
#:imported-modules (append %cargo-build-system-modules
|
||||
%meson-build-system-modules)
|
||||
#:modules
|
||||
'(((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build gnu-build-system)
|
||||
(guix build meson-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -3613,12 +3602,19 @@ for dealing with different structured file formats.")
|
||||
(lambda _
|
||||
;; Something about the build environment resists building
|
||||
;; successfully with the '--locked' flag.
|
||||
(substitute* '("Makefile.am" "Makefile.in")
|
||||
(("--locked") ""))))
|
||||
(add-after 'unpack 'loosen-test-boundaries
|
||||
(substitute* "meson/cargo_wrapper.py"
|
||||
(("\"--locked\",?") ""))
|
||||
;; 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 _
|
||||
(setenv "HOME" "/tmp") ;placate fontconfig errors
|
||||
;; Increase reftest tolerance a bit to account for different
|
||||
;; harfbuzz, pango, etc.
|
||||
;; libraries like pango, etc.
|
||||
(setenv "RSVG_TEST_TOLERANCE" "20")
|
||||
;; These tests fail even after loosening the tolerance.
|
||||
(substitute* "rsvg/tests/reference.rs"
|
||||
@@ -3626,19 +3622,16 @@ for dealing with different structured file formats.")
|
||||
((".*rtl_tspan_svg.*") ""))))
|
||||
(add-before 'configure 'pre-configure
|
||||
(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
|
||||
;; gdk-pixbuf's prefix. Work around that.
|
||||
(("gdk_pixbuf_moduledir = .*$")
|
||||
(string-append "gdk_pixbuf_moduledir = "
|
||||
"$(prefix)/"
|
||||
#$(dirname %gdk-pixbuf-loaders-cache-file) "/"
|
||||
"loaders\n")))
|
||||
(substitute* "configure"
|
||||
(("gdk_pixbuf_cache_file=.*")
|
||||
(string-append "gdk_pixbuf_cache_file="
|
||||
#$output "/"
|
||||
#$%gdk-pixbuf-loaders-cache-file "\n")))))
|
||||
(("pixbuf_dep.get_variable.*'gdk_pixbuf_moduledir'.*),")
|
||||
(format #f "get_option('prefix') / '~a',"
|
||||
#$%gdk-pixbuf-loaders-directory))
|
||||
(("pixbuf_dep.get_variable.*'gdk_pixbuf_query_loaders'.*),")
|
||||
(format #f "'~a'," (which "gdk-pixbuf-query-loaders")))
|
||||
(("pixbuf_dep.get_variable.*'gdk_pixbuf_cache_file'.*)")
|
||||
(format #f "prefix / '~a'" #$%gdk-pixbuf-loaders-cache-file)))))
|
||||
(add-after 'unpack 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
@@ -3650,23 +3643,30 @@ for dealing with different structured file formats.")
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
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
|
||||
(append
|
||||
(list gdk-pixbuf
|
||||
gi-docgen
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
pkg-config
|
||||
python
|
||||
python-docutils ;for rst2man
|
||||
rust
|
||||
`(,rust "cargo")
|
||||
rust-cargo-c
|
||||
vala)
|
||||
(or (and=> (%current-target-system)
|
||||
(compose list make-rust-sysroot))
|
||||
'())))
|
||||
(inputs
|
||||
(cons* freetype
|
||||
(cons* dav1d
|
||||
freetype
|
||||
gobject-introspection
|
||||
harfbuzz
|
||||
libxml2
|
||||
pango
|
||||
(cargo-inputs 'librsvg)))
|
||||
@@ -4667,7 +4667,7 @@ and RDP protocols.")
|
||||
(define-public dconf
|
||||
(package
|
||||
(name "dconf")
|
||||
(version "0.40.0")
|
||||
(version "0.49.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -4676,7 +4676,7 @@ and RDP protocols.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg"))))
|
||||
"0dkc7nbd0byibf6i5gm9xqclr7i94n1p1qbqcnwxnml1lm4px90n"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4685,7 +4685,8 @@ and RDP protocols.")
|
||||
;; there and loaded without having to set GCONF_PROFILE, which cannot be
|
||||
;; safely set globally (as a gconf profile is a per-user thing).
|
||||
#:configure-flags #~(list "--sysconfdir=/etc"
|
||||
"-Dgtk_doc=true")
|
||||
"-Dgtk_doc=true"
|
||||
"--wrap-mode=nodownload") ;for gvdb
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'increase-test-timeout
|
||||
(lambda _
|
||||
@@ -5211,17 +5212,26 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
|
||||
(define-public gi-docgen
|
||||
(package
|
||||
(name "gi-docgen")
|
||||
(version "2025.4")
|
||||
(version "2026.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gi_docgen" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i9dlwirizc0n5sw9w60yscaj14x9x06fdq64kwxqkia13d6dq3z"))))
|
||||
"1df7yb6d5zsr4wks4p2lf40a2v4v2dasx3pv2v3d2ma25d7krb35"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest-bootstrap
|
||||
python-setuptools))
|
||||
(arguments
|
||||
(list
|
||||
#: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
|
||||
python-markdown
|
||||
python-markupsafe
|
||||
@@ -6978,10 +6988,10 @@ side panel;
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this.
|
||||
(define-public glycin-loaders
|
||||
(define-public libglycin
|
||||
(package
|
||||
(name "glycin-loaders")
|
||||
(version "2.0.7")
|
||||
(name "libglycin")
|
||||
(version "2.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6991,12 +7001,16 @@ side panel;
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
|
||||
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
|
||||
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-Dglycin-loaders=false"
|
||||
"-Dglycin-thumbnailer=true"
|
||||
"-Dlibglycin=true"
|
||||
"-Dlibglycin-gtk4=true")
|
||||
#:imported-modules `(,@%meson-build-system-modules
|
||||
,@%cargo-build-system-modules)
|
||||
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
|
||||
@@ -7082,18 +7096,15 @@ side panel;
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/sophie-h/test-images.git")
|
||||
(commit "b148bcf70847d6f126a8e83e27e1c59d2e474adf")))
|
||||
(commit "b3a107267cc4f1d136b7007938556250ce06fc4f")))
|
||||
(file-name "glycin-test-images")
|
||||
(sha256
|
||||
(base32
|
||||
"16s3lss4cbny5d0ixhc0vaxxcvq2n7rcnbklrxdm84p2m21192vm")))))
|
||||
"1jvra75kjqkndxzzpmi5lb8d3q4fi3yc4hha0r1g9brdsnbhsp6f")))))
|
||||
(inputs (cons* bubblewrap
|
||||
libheif
|
||||
libjxl
|
||||
librsvg
|
||||
(cargo-inputs 'glycin)))
|
||||
;; 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")
|
||||
(synopsis "Rust library for sandboxed image decoding")
|
||||
(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.")
|
||||
(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
|
||||
(package
|
||||
(name "loupe")
|
||||
@@ -7171,6 +7198,7 @@ runtime image loader executables that are used inside the sandbox.")
|
||||
gtk
|
||||
lcms
|
||||
libadwaita
|
||||
libglycin
|
||||
libgweather
|
||||
libseccomp
|
||||
(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
|
||||
(package
|
||||
(name "msgraph")
|
||||
(version "0.3.3")
|
||||
(version "0.3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/msgraph/"
|
||||
(version-major+minor version) "/"
|
||||
"msgraph-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "04j00lf0aqiccgbg95jh9sxmx48bgsrg110ilap9014r58py3mrp"))))
|
||||
(base32 "1iyn0jdqgw238cxaxvji0v9ds0xwfzffz65xpgzywcibn3kfqc87"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock))
|
||||
(inputs (list gnome-online-accounts json-glib libsoup librest))
|
||||
@@ -7231,7 +7259,7 @@ MS Graph APIs.")
|
||||
(define-public gvfs
|
||||
(package
|
||||
(name "gvfs")
|
||||
(version "1.58.0")
|
||||
(version "1.58.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gvfs/"
|
||||
@@ -7239,7 +7267,7 @@ MS Graph APIs.")
|
||||
"gvfs-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bqq9z1y31yk3c8wz8i8fql7dr8cfxsd5a49xc4v7z6hfdlf76yx"))))
|
||||
"0fywnla2xwyi44jfipyixcczxh5h34c4lzfzf9lsgzxip9mpslzw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -7589,7 +7617,7 @@ environments.")
|
||||
(define-public yelp-xsl
|
||||
(package
|
||||
(name "yelp-xsl")
|
||||
(version "42.4")
|
||||
(version "49.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -7598,7 +7626,7 @@ environments.")
|
||||
(version-major version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1lfpmdc4y46a528q5filn6xs8add921avrnwl2vpysp6n9zb1szx"))))
|
||||
(base32 "1v7va1xa80pyj0dyfraalvsag4m0lza4v87r2i7phyz6iy7kmm2r"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list mallard-ducktype
|
||||
@@ -7626,7 +7654,7 @@ jQuery.Syntax JavaScript libraries.")
|
||||
(define-public yelp
|
||||
(package
|
||||
(name "yelp")
|
||||
(version "42.3")
|
||||
(version "49.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -7634,7 +7662,7 @@ jQuery.Syntax JavaScript libraries.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18w95bfhq3d364af1qqb63rgaixkrl7xk0x079x6m7lscwic9k16"))))
|
||||
"0mrlqsbr2wb0k2p3dmywzdb0c0rzcx1dv6qlimxzx9ab3w5lwqg6"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -7659,7 +7687,9 @@ jQuery.Syntax JavaScript libraries.")
|
||||
`("PATH" ":" prefix
|
||||
(,(dirname (search-input-file inputs "bin/groff"))))))))))
|
||||
(native-inputs
|
||||
(list `(,glib "bin") ; for glib-genmarshal, etc.
|
||||
(list desktop-file-utils
|
||||
`(,glib "bin") ;for glib-genmarshal, etc.
|
||||
`(,gtk "bin")
|
||||
intltool
|
||||
itstool
|
||||
pkg-config))
|
||||
@@ -7668,13 +7698,14 @@ jQuery.Syntax JavaScript libraries.")
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
gsettings-desktop-schemas
|
||||
libadwaita
|
||||
libhandy
|
||||
libxslt
|
||||
man-db ;for URIs like "man:ls"
|
||||
groff-minimal ;ditto
|
||||
gtk+
|
||||
man-db ;for URIs like "man:ls"
|
||||
groff-minimal ;ditto
|
||||
gtk
|
||||
sqlite
|
||||
webkitgtk-for-gtk3
|
||||
webkitgtk
|
||||
yelp-xsl))
|
||||
(home-page "https://wiki.gnome.org/Apps/Yelp")
|
||||
(synopsis "GNOME help browser")
|
||||
@@ -7963,57 +7994,88 @@ configuration program to choose applications starting on login.")
|
||||
(define-public gjs
|
||||
(package
|
||||
(name "gjs")
|
||||
(version "1.84.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rh1fkkb35aa1zrhzbizzxllkwc3snkw67i901in61ap6kgjw51m"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "installed-tests/scripts/testCommandLine.sh"
|
||||
(("Valentín") "")
|
||||
(("☭") ""))
|
||||
(substitute* "modules/script/package.js"
|
||||
(("type_default_interface_ref")
|
||||
"type_default_interface_get"))))))
|
||||
(version "1.88.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ly43lcpafl0an3k4g4mvwrwvc78f0y91ckdi6qn13ky67rvk81h"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "subprojects"
|
||||
"gobject-introspection-tests")))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("-Dinstalled_tests=false")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; The test suite requires a running X server.
|
||||
(system "Xvfb :1 &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
|
||||
;; For the missing /etc/machine-id.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(setenv "HOME" (getcwd))))
|
||||
(add-after 'unpack 'skip-failing-tests
|
||||
(lambda _
|
||||
;; Expects to test against 2.84, but we're using 2.86.
|
||||
(substitute* "installed-tests/js/testIntrospection.js"
|
||||
(("const skip = imports.gi.versions.GioUnix !== '2\\.0';")
|
||||
"const skip = true;"))))
|
||||
(add-after 'install 'wrap-gi
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (string-append (assoc-ref outputs "out")
|
||||
"/bin/gjs")
|
||||
`("GI_TYPELIB_PATH" suffix
|
||||
(,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GObject-2.0.typelib"))
|
||||
,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
|
||||
(list
|
||||
#:modules '((guix build meson-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:configure-flags #~(list "-Dinstalled_tests=false")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-gi
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/gjs")
|
||||
`("GI_TYPELIB_PATH" suffix
|
||||
(,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GObject-2.0.typelib"))
|
||||
,(dirname
|
||||
(search-input-file
|
||||
inputs
|
||||
"lib/girepository-1.0/GIRepository-2.0.typelib")))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; For the missing /etc/machine-id.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(setenv "HOME" (getcwd))
|
||||
;; In Guix, gobject-introspection is patched to always embed
|
||||
;; the absolute path of a typelib library; unfortunately it
|
||||
;; does this also for test typelibs not meant to be installed;
|
||||
;; work around it via temporary symlinks.
|
||||
(let* ((test-libraries (find-files (getcwd)
|
||||
"\\.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
|
||||
(list `(,glib "bin") ;for glib-compile-resources
|
||||
pkg-config
|
||||
@@ -8021,16 +8083,16 @@ configuration program to choose applications starting on login.")
|
||||
;; For testing
|
||||
dbus
|
||||
dconf ;required to properly store settings
|
||||
gtk+
|
||||
sysprof
|
||||
util-linux
|
||||
xorg-server-for-tests))
|
||||
xvfb-run))
|
||||
(inputs (list mozjs readline))
|
||||
(propagated-inputs
|
||||
;; These are all in the Requires.private field of gjs-1.0.pc.
|
||||
;; Check the version of mozjs required in meson.build.
|
||||
(list cairo gobject-introspection mozjs-128))
|
||||
(inputs
|
||||
(list gtk+ readline))
|
||||
;; These are all in the Requires field of gjs-1.0.pc.
|
||||
(list glib gobject-introspection))
|
||||
(synopsis "Javascript bindings for GNOME")
|
||||
(home-page "https://wiki.gnome.org/Gjs")
|
||||
(home-page "https://gitlab.gnome.org/GNOME/gjs")
|
||||
(description
|
||||
"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
|
||||
javascript engine and the GObject introspection framework.")
|
||||
@@ -8352,7 +8414,7 @@ window manager.")
|
||||
(define-public gnome-online-accounts
|
||||
(package
|
||||
(name "gnome-online-accounts")
|
||||
(version "3.54.9")
|
||||
(version "3.56.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -8360,7 +8422,7 @@ window manager.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10bwrc50aqaf7j3qabv7zpfnf2dmf9mwbmnjpgqfqsmny2ba80pb"))))
|
||||
"1cv1l757g4iac39l0ccwvqhibyjdjhy9q8p86fp8mqs5mfnix0ra"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -9881,7 +9943,7 @@ easy, safe, and automatic.")
|
||||
(define-public tinysparql
|
||||
(package
|
||||
(name "tinysparql")
|
||||
(version "3.9.2")
|
||||
(version "3.10.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/tinysparql/"
|
||||
@@ -9889,7 +9951,7 @@ easy, safe, and automatic.")
|
||||
"tinysparql-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13mddmszrk4ihfwi5n67v5ykf01fmld4pkmw4881hphk4j807khl"))))
|
||||
"0r824dz8szfwd2z95nk8ffkvwq0ayva0wa6n1railrxnkmw3wzss"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -10172,6 +10234,7 @@ through portals.")
|
||||
gst-plugins-base
|
||||
json-glib
|
||||
libadwaita
|
||||
libglycin
|
||||
libportal
|
||||
libseccomp
|
||||
libselinux
|
||||
@@ -10243,7 +10306,7 @@ is complete it provides a graphical representation of each selected folder.")
|
||||
(define-public gnome-backgrounds
|
||||
(package
|
||||
(name "gnome-backgrounds")
|
||||
(version "48.2.1")
|
||||
(version "49.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -10252,7 +10315,7 @@ is complete it provides a graphical representation of each selected folder.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1n8ypmdgpp2hj7jsbpicha0d2pfnqbwmavcjfzlmr3qd5rxmn73a"))))
|
||||
"1dgl8jxczx2cwszg07bhrjpcg2rywfcak2d5md20x84bwl6jdzh1"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list gettext-minimal))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
|
||||
@@ -10317,7 +10380,7 @@ beautifying border effects.")
|
||||
(define-public dconf-editor
|
||||
(package
|
||||
(name "dconf-editor")
|
||||
(version "45.0.1")
|
||||
(version "49.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -10325,7 +10388,7 @@ beautifying border effects.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pa1k510qx4v0ywhqwpj3qfjyz8qiiis4565ghhydnpfg1v2k00i"))))
|
||||
"16fkppclv7xzglfafqg8b9nd5cjqlfwlyci800gg7psivzxcra4h"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
@@ -13383,7 +13446,7 @@ GObject introspection bindings.")
|
||||
(define-public sysprof
|
||||
(package
|
||||
(name "sysprof")
|
||||
(version "48.1")
|
||||
(version "49.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -13391,7 +13454,7 @@ GObject introspection bindings.")
|
||||
(version-major version) "/"
|
||||
"sysprof-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1qmv76877vkw2ajfnc4cr8gw5qch5m32qm1fybig3vgizvymgwal"))))
|
||||
(base32 "0y18535lymqv684n8aa2v601d61v6aj8f84690cq8p3q6yb1617z"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -13688,7 +13751,7 @@ Document Analysis and Recognition program.")
|
||||
(define-public libadwaita
|
||||
(package
|
||||
(name "libadwaita")
|
||||
(version "1.8.2")
|
||||
(version "1.8.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libadwaita/"
|
||||
@@ -13696,7 +13759,7 @@ Document Analysis and Recognition program.")
|
||||
"libadwaita-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cdda2sk1w5jmfkism8v6ihl03gs2s72klx7j230wx4i847nx6jq"))))
|
||||
"074j59bz5zgnb7grw3clpwyxickw9268k6fj0980bw8gdxxvfayh"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
||||
+349
-349
@@ -106,355 +106,6 @@
|
||||
#:use-module (gnu packages sqlite)
|
||||
#: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 mozilla-compare-locales
|
||||
@@ -1249,6 +900,355 @@ testing.")
|
||||
(cpe-name . "firefox_esr")
|
||||
(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.
|
||||
(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"))
|
||||
|
||||
+32
-20
@@ -578,7 +578,10 @@ This package provides the core library and elements.")
|
||||
(substitute* "tests/check/meson.build"
|
||||
;; This test causes nondeterministic failures (see:
|
||||
;; <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.
|
||||
#$@(cond
|
||||
((target-x86-32?)
|
||||
@@ -766,7 +769,8 @@ model to base your own plug-in on, here it is.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled"
|
||||
#:configure-flags #~(list "-Dgpl=enabled"
|
||||
"-Dsctp-internal-usrsctp=disabled"
|
||||
;; TODO: Figure out why audiovisualizer test
|
||||
;; fails on riscv64-linux.
|
||||
#$@(if (target-riscv64?)
|
||||
@@ -776,6 +780,15 @@ model to base your own plug-in on, here it is.")
|
||||
#:phases
|
||||
#~(modify-phases %standard-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
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(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
|
||||
;; (see:
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790>).
|
||||
((".*'elements/shm\\.c'.*") "")
|
||||
|
||||
;; The 'elements_curlhttpsrc' test sometimes times out.
|
||||
((".*'elements/curlhttpsrc\\.c'.*") "")
|
||||
|
||||
;; 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'.*") "")
|
||||
|
||||
;; Unexpected critical/warning, see
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3000>
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/792>
|
||||
((".*'elements/netsim\\.c'.*") "")
|
||||
|
||||
;; 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, ],"))
|
||||
'())
|
||||
|
||||
;; This test is flaky on at least some architectures.
|
||||
;; This test is flaky.
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
|
||||
#$@(if (member (%current-system)
|
||||
'("aarch64-linux" "riscv64-linux"))
|
||||
`((("'elements/camerabin\\.c'\\].*],")
|
||||
"'elements/camerabin.c'], true, ],"))
|
||||
'())
|
||||
(("'elements/camerabin\\.c'\\].*],")
|
||||
"'elements/camerabin.c'], true, ],")
|
||||
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
|
||||
((".*elements/dtls\\.c.*") "")
|
||||
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
|
||||
((".*elements/mxfdemux\\.c.*") "")
|
||||
|
||||
;; Unable to create pipeline 'bin.
|
||||
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
|
||||
;; no element "vulkanupload"
|
||||
((".*elements/vkcolorconvert\\.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\".*")
|
||||
"")))))
|
||||
((".*elements/vkupload\\.c.*") "")))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Tests require a running X server.
|
||||
@@ -1162,9 +1164,19 @@ after their category.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||
#:configure-flags #~(list "-Dgpl=enabled")
|
||||
#:phases
|
||||
#~(modify-phases %standard-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
|
||||
(lambda _
|
||||
;; Tests require a running X server.
|
||||
|
||||
+44
-38
@@ -24,7 +24,7 @@
|
||||
;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; 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 Simon Streit <simon@netpanic.org>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
@@ -387,7 +387,7 @@ applications.")
|
||||
(define-public pango
|
||||
(package
|
||||
(name "pango")
|
||||
(version "1.56.4")
|
||||
(version "1.57.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -396,7 +396,7 @@ applications.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jnmydds9dmdah4fjj5rr5gmf1imxlxjc0w98if642n98vmsdf67"))))
|
||||
"0dfvlag7jhf4fzraxwhx4s016h2z7igq3knza9vfklkss8igs00a"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -647,7 +647,7 @@ highlighting and other features typical of a source code editor.")
|
||||
(define-public gdk-pixbuf
|
||||
(package
|
||||
(name "gdk-pixbuf")
|
||||
(version "2.44.4")
|
||||
(version "2.44.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(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"))
|
||||
(sha256
|
||||
(base32
|
||||
"05xxpl3sd37lsp5qqy01m0w9c14dqfi84x9rawsffyj2y71sm8ck"))
|
||||
"0s5b010jlinmki5iidbj2yip8n2sxc6xc0qmcvpc104v2c4kxfb9"))
|
||||
(patches
|
||||
(search-patches
|
||||
"gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch"))))
|
||||
@@ -781,7 +781,7 @@ images.")
|
||||
(hidden-package
|
||||
(package
|
||||
(name "at-spi2-core")
|
||||
(version "2.52.0")
|
||||
(version "2.60.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -789,7 +789,7 @@ images.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1azmbzik0gl2s03c9lq3dff3h1iql1zvlwn28yhizl68421zrhqa"))))
|
||||
"16fb2hv12k2vzh462gbd4qf8ipvnb2ijrc5d7w56dzfqjwd0rrc0"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -987,7 +987,7 @@ application suites.")
|
||||
(package
|
||||
(inherit gtk+-2)
|
||||
(name "gtk+")
|
||||
(version "3.24.51")
|
||||
(version "3.24.52")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -996,10 +996,11 @@ application suites.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
|
||||
"197w1mb5vqm5d07sgdqkg54can7f1p4yjh42zx0y8z6m9p43shck"))
|
||||
(patches (search-patches
|
||||
"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
|
||||
;; dependency cycle with itself.
|
||||
(outputs '("out" "bin"))
|
||||
@@ -1075,22 +1076,20 @@ application suites.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
;; These tests fail only in the containerized environment, for
|
||||
;; unknown reasons.
|
||||
(substitute* "testsuite/gtk/meson.build"
|
||||
((".*\\['defaultvalue'],.*") "")
|
||||
((".*\\['objects-finalize',.*") ""))
|
||||
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
||||
;; fail for unknown reasons (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
||||
(substitute* "testsuite/reftests/meson.build"
|
||||
((" 'flipping-icons.ui',.*") "")
|
||||
((" 'gtk-icontheme-sizing.ui',.*") ""))
|
||||
;; This test fails just on i686-linux, for unknown reasons.
|
||||
#$@(if (target-x86-32?)
|
||||
#~((substitute* "testsuite/reftests/meson.build"
|
||||
((" 'linear-gradient.ui',.*") "")))
|
||||
#~())))
|
||||
(substitute* "testsuite/gtk/meson.build"
|
||||
((".*\\['defaultvalue'],.*") "")
|
||||
((".*\\['objects-finalize',.*") ""))
|
||||
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
|
||||
;; fail for unknown reasons (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
|
||||
(substitute* "testsuite/reftests/meson.build"
|
||||
((" 'flipping-icons.ui',.*") "")
|
||||
((" 'gtk-icontheme-sizing.ui',.*") ""))
|
||||
;; This test fails just on i686-linux, for unknown reasons.
|
||||
#$@(if (target-x86-32?)
|
||||
#~((substitute* "testsuite/reftests/meson.build"
|
||||
((" 'linear-gradient.ui',.*") "")))
|
||||
#~())))
|
||||
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
||||
(assoc-ref glib-or-gtk:%standard-phases
|
||||
'generate-gdk-pixbuf-loaders-cache-file))
|
||||
@@ -1114,13 +1113,13 @@ application suites.")
|
||||
"/share/applications")))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
(files '("lib/gtk-3.0")))))))
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
(files '("lib/gtk-3.0")))))))
|
||||
|
||||
(define-public gtk
|
||||
(package
|
||||
(name "gtk")
|
||||
(version "4.20.3")
|
||||
(version "4.22.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1128,9 +1127,11 @@ application suites.")
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0ly1gqc6ybxv5f2a9hvjp5k6l9mfzy2yv8iy2xqnr9l8628g4wr8"))
|
||||
(base32 "1z2mkmazc2d51jbg3qwwdycycqiwswm88nhw6bxscz8j86f5lyyd"))
|
||||
(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)))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" "bin" "doc"))
|
||||
@@ -1198,6 +1199,9 @@ application suites.")
|
||||
(("[ \t]*'empty-text.node',") "")
|
||||
(("[ \t]*'testswitch.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.
|
||||
((".*'memorytexture',.*") "")
|
||||
((".*'yuv-matrix-dmabuf',.*") ""))
|
||||
@@ -1254,8 +1258,10 @@ application suites.")
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Tests require a running X server.
|
||||
(system "Xvfb :1 +extension GLX &")
|
||||
;; Tests require a running X server. The '-noreset' option is
|
||||
;; necessary to avoid spurious "Failed to open display" test
|
||||
;; errors.
|
||||
(system "Xvfb :1 +extension GLX -screen 0 1024x768x24 -noreset &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
;; Tests write to $HOME.
|
||||
(setenv "HOME" (getcwd))
|
||||
@@ -1298,6 +1304,7 @@ application suites.")
|
||||
docbook-xsl
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
glibc-utf8-locales ;some tests require en_US.UTF-8
|
||||
gobject-introspection ;for building introspection data
|
||||
graphene
|
||||
gtk-doc/stable ;for building documentation
|
||||
@@ -1321,7 +1328,6 @@ application suites.")
|
||||
(inputs
|
||||
(list colord ;for color printing support
|
||||
cups ;for CUPS print-backend
|
||||
ffmpeg ;for ffmpeg media-backend
|
||||
fribidi
|
||||
gi-docgen
|
||||
gstreamer ;for gstreamer media-backend
|
||||
@@ -1365,8 +1371,8 @@ application suites.")
|
||||
(native-search-paths
|
||||
(list
|
||||
(search-path-specification
|
||||
(variable "GUIX_GTK4_PATH")
|
||||
(files '("lib/gtk-4.0")))))
|
||||
(variable "GUIX_GTK4_PATH")
|
||||
(files '("lib/gtk-4.0")))))
|
||||
(search-paths native-search-paths)
|
||||
(home-page "https://www.gtk.org/")
|
||||
(synopsis "Cross-platform widget toolkit")
|
||||
@@ -2205,7 +2211,7 @@ information.")
|
||||
(define-public gtk-doc
|
||||
(package
|
||||
(name "gtk-doc")
|
||||
(version "1.34.0")
|
||||
(version "1.35.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -2213,7 +2219,7 @@ information.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
|
||||
"1qi5bgqca1chdcfw7v4h3sw8jg661nmp77d7x658mn6nxlj9y731"))
|
||||
(patches
|
||||
(search-patches "gtk-doc-respect-xml-catalog.patch"
|
||||
"gtk-doc-mkhtml-test-fix.patch"))))
|
||||
|
||||
@@ -89,14 +89,14 @@
|
||||
(define-public ibus-minimal
|
||||
(package
|
||||
(name "ibus")
|
||||
(version "1.5.32")
|
||||
(version "1.5.34-rc2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ibus/ibus")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "1rn2xpzi6x57n01rjin4a2h8yy1wdmvadgnglw0p6bdnc31q17a6"))))
|
||||
(sha256 (base32 "1x05dwhi79s1mqgs34srdr2d5fvkyvihqvcnw91630xyf4r76b1h"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
@@ -204,7 +204,7 @@
|
||||
wayland
|
||||
xmodmap))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
(list autoconf-2.72
|
||||
automake
|
||||
docbook-xml-4.1.2
|
||||
`(,glib "bin") ;for glib-genmarshal
|
||||
|
||||
@@ -2854,7 +2854,7 @@ Format) file format decoder and encoder.")
|
||||
(define-public libjxl
|
||||
(package
|
||||
(name "libjxl")
|
||||
(version "0.11.1")
|
||||
(version "0.11.2")
|
||||
(outputs (list "out" "pixbuf-loader"))
|
||||
(source
|
||||
(origin
|
||||
@@ -2865,7 +2865,7 @@ Format) file format decoder and encoder.")
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wfxzrhj8a19z6x47ib1qbmgyg56jsxjs955xcvqhdkrx8l2271r"))
|
||||
(base32 "1c7d0mlxmmjby00hzgwqfyr6nb6lqcgcjsqcdmg2l10rmxiw33rg"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete the bundles that will not be used.
|
||||
|
||||
+11
-20
@@ -11535,7 +11535,7 @@ of Linux application development.")
|
||||
(define-public wireplumber
|
||||
(package
|
||||
(name "wireplumber")
|
||||
(version "0.5.12")
|
||||
(version "0.5.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -11545,7 +11545,7 @@ of Linux application development.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dljz669ywy1lvvn0jh14ymynmbii45q5vay71zajpcg31249dyw"))))
|
||||
(base32 "0rr2vlbwjjhgsk6lk2iwaww21gks2v63f0cs01rh2mdi8jpfz7h2"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Dsystemd=disabled"
|
||||
@@ -12268,7 +12268,7 @@ that avoids the usage of older system-wide @file{/sys} interface.")
|
||||
(define-public libtracefs
|
||||
(package
|
||||
(name "libtracefs")
|
||||
(version "1.7.0")
|
||||
(version "1.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -12277,25 +12277,16 @@ that avoids the usage of older system-wide @file{/sys} interface.")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0v896n3q0df0nxx5drbwyaqhrqiyxl06rvrdw3gp2r37awa9g1zb"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(substitute* (list "Makefile" "scripts/utils.mk")
|
||||
(("/bin/(pwd)" _ command) command))))))
|
||||
(build-system gnu-build-system)
|
||||
(base32 "1bc4mwf488nlja64zawjznvb6640vchjb25xa02v53x6qfb1mpmq"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
#~(list
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "pkgconfig_dir=" #$output "/lib/pkgconfig")
|
||||
(string-append "prefix=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(native-inputs (list pkg-config))
|
||||
#:configure-flags
|
||||
#~(list "-Ddoc=false")))
|
||||
(native-inputs
|
||||
(list bison
|
||||
flex
|
||||
pkg-config))
|
||||
(inputs (list libtraceevent))
|
||||
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/")
|
||||
(synopsis "Linux kernel trace file system library")
|
||||
|
||||
@@ -591,7 +591,7 @@ Android, and ChromeOS.")
|
||||
(define-public libnice
|
||||
(package
|
||||
(name "libnice")
|
||||
(version "0.1.22")
|
||||
(version "0.1.23")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -601,7 +601,7 @@ Android, and ChromeOS.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ik45q1qlr04llr2ssm6zb73840dmn31q303k3qrcpgj0jp578hg"))))
|
||||
"0zqnqhcm1rx5axbzd448yi6j4bq4kykiqb4wihs2p8h1k49nkyjh"))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
@@ -614,23 +614,25 @@ Android, and ChromeOS.")
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
(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:
|
||||
;; (nice_agent_gather_candidates (agent, stream1))’
|
||||
(("'test-set-port-range'" all)
|
||||
(string-append "# " all))
|
||||
;; The following test is disabled as it fails in a
|
||||
;; nondeterministic fashion (see:
|
||||
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/151).
|
||||
;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/151>).
|
||||
(("'test-bsd'" all)
|
||||
(string-append "# " all))
|
||||
;; The test-new-trickle fails with GLib 2.83.0 (see:
|
||||
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/198).
|
||||
(("'test-new-trickle'" all)
|
||||
(string-append "# " all)))
|
||||
;; This test uses getaddrinfo, which cannot resolve in the
|
||||
;; build environment.
|
||||
((".*'test-slow-resolving',.*") ""))
|
||||
(substitute* "stun/tests/meson.build"
|
||||
;; test-bind.c:234: bad_responses: Assertion `len >= 20'
|
||||
;; failed (see:
|
||||
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/150).
|
||||
;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/150>).
|
||||
(("'bind', ")
|
||||
""))))
|
||||
(add-after 'install 'move-docs
|
||||
|
||||
@@ -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
|
||||
index 9b54e2b4..76d7780e 100644
|
||||
--- a/src/fcstat.c
|
||||
@@ -10,6 +7,6 @@ index 9b54e2b4..76d7780e 100644
|
||||
FcIsFsMtimeBroken (const FcChar8 *dir)
|
||||
{
|
||||
+ 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 */
|
||||
@@ -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
|
||||
@@ -173,7 +173,7 @@ rates.")
|
||||
(define-public pulseaudio
|
||||
(package
|
||||
(name "pulseaudio")
|
||||
(version "16.1")
|
||||
(version "17.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -181,7 +181,7 @@ rates.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1r2aa0g7al9jhrrbrnih6i3bfznd73kkbafrbzwpjyflj7735vwf"))
|
||||
"1dc7xdfbn5rknwsvv5m2ijfwnqrap208liwyhiykjghsczb98dq5"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Disable console-kit support by default since it's deprecated
|
||||
|
||||
@@ -16986,12 +16986,11 @@ the @code{sendfile(2)} system call.")
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" "not TestCommandLineParser"
|
||||
#$@(if (target-aarch64?)
|
||||
;; TimeoutError: timed out
|
||||
'((string-append "--deselect=pyftpdlib/test/test_functional.py"
|
||||
"::TestTimeouts::test_idle_data_timeout2"))
|
||||
'()))))
|
||||
#~(list
|
||||
"-k" "not TestCommandLineParser"
|
||||
;; These contains flaky tests.
|
||||
"--deselect=pyftpdlib/test/test_functional.py"
|
||||
"--deselect=pyftpdlib/test/test_functional_ssl.py")))
|
||||
(native-inputs
|
||||
(list python-psutil
|
||||
python-pytest
|
||||
@@ -21073,7 +21072,8 @@ into 22 character URL-safe base64 slug representation.")
|
||||
(sha256
|
||||
(base32 "0zwjry4ylqncqvxrywp0km96jng4f288dgz8kz5vymk7nr2z21m1"))))
|
||||
(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
|
||||
(list python-poetry-core
|
||||
python-pytest
|
||||
|
||||
+13
-4
@@ -1093,11 +1093,16 @@ tst_qt_cmake_create.cpp"
|
||||
|
||||
;; See https://bugreports.qt.io/browse/QTBUG-113371
|
||||
;; Adding glibc-utf8-locales to native-inpus is no help.
|
||||
;; TODO: when core-updates is merged, check again.
|
||||
"tst_selftests"
|
||||
|
||||
;; The 'tst_qsqlthread' test sometimes fails.
|
||||
"tst_qsqlthread"
|
||||
;; The qsqldatabase test is flaky (see:
|
||||
;; <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
|
||||
;; patch applied that promised to fix it.
|
||||
@@ -1196,7 +1201,11 @@ tst_qt_cmake_create.cpp"
|
||||
;; This test may fail non-deterministically as reported
|
||||
;; in Guix bug#73233 and upstream at
|
||||
;; https://bugreports.qt.io/browse/QTBUG-119321.
|
||||
"tst_qsharedmemory")
|
||||
"tst_qsharedmemory"
|
||||
|
||||
;; This test fails deterministically on a non-privileged
|
||||
;; daemon.
|
||||
"tst_qstandardpaths")
|
||||
#$@(cond
|
||||
((target-ppc64le?)
|
||||
#~((list
|
||||
|
||||
+726
-518
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
|
||||
(package
|
||||
(name "rust-glycin")
|
||||
(version "3.0.7")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/GNOME/glycin.git")
|
||||
;; Rust library version is different from the tagged version.
|
||||
(commit "2.0.7")))
|
||||
(commit "2.1.1")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
|
||||
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
|
||||
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
|
||||
+46
-50
@@ -50,7 +50,7 @@
|
||||
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
|
||||
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; 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 © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
|
||||
@@ -3573,38 +3573,21 @@ soon as it starts.")
|
||||
(define-public libbluray
|
||||
(package
|
||||
(name "libbluray")
|
||||
(version "1.3.4")
|
||||
(version "1.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.videolan.org/videolan/"
|
||||
name "/" version "/"
|
||||
name "-" version ".tar.bz2"))
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0aszpsz3pc7p7z6yahlib4na585m6pqbg2d9dkpyipgml1lgv3s7"))))
|
||||
(build-system gnu-build-system)
|
||||
"0jglp44wsjpp5k3mrxskfj9b488ksn7cj2dhxfjdqa3z150drdbn"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--disable-bdjava-jar" "--disable-static")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack '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* "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
|
||||
(add-after 'unpack 'fix-dlopen-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (lib/no.so library)
|
||||
(let ((found (search-input-file inputs library)))
|
||||
@@ -3612,11 +3595,29 @@ soon as it starts.")
|
||||
(string-length ".so")))))
|
||||
(substitute* "src/libbluray/disc/aacs.c"
|
||||
(("\"libaacs\"")
|
||||
(string-append "\"" (lib/no.so "lib/libaacs.so") "\""))
|
||||
(string-append "\"" (lib/no.so "lib/libaacs.so") "\"")))
|
||||
(substitute* "src/libbluray/disc/bdplus.c"
|
||||
(("\"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))
|
||||
(inputs (list fontconfig freetype libaacs libbdplus libxml2))
|
||||
(inputs (list fontconfig freetype libaacs libbdplus libudfread libxml2))
|
||||
(home-page "https://www.videolan.org/developers/libbluray.html")
|
||||
(synopsis "Blu-Ray Disc playback library")
|
||||
(description
|
||||
@@ -3627,22 +3628,18 @@ players, like VLC or MPlayer.")
|
||||
(define-public libdvdread
|
||||
(package
|
||||
(name "libdvdread")
|
||||
(version "6.1.3")
|
||||
(version "7.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.videolan.org/videolan/"
|
||||
"libdvdread/" version "/"
|
||||
"libdvdread-" version ".tar.bz2"))
|
||||
"libdvdread-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sakl4c8y2kkp09km0b5353w66pvfc72y8wi1vjwn252jx4ladff"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-libdvdcss=yes")))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(propagated-inputs
|
||||
(list libdvdcss))
|
||||
"01ylalrr9lw6x7fz7z030243kln1hfd1pbh3m9ikjp610nih8gif"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(propagated-inputs (list libdvdcss))
|
||||
(home-page "http://dvdnav.mplayerhq.hu/")
|
||||
(synopsis "Library for reading video DVDs")
|
||||
(description
|
||||
@@ -3706,16 +3703,16 @@ MPEG-2 stream containing VOB packets.")
|
||||
(define-public libdvdnav
|
||||
(package
|
||||
(name "libdvdnav")
|
||||
(version "6.1.1")
|
||||
(version "7.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.videolan.org/videolan/"
|
||||
"libdvdnav/" version "/"
|
||||
"libdvdnav-" version ".tar.bz2"))
|
||||
"libdvdnav-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j4ds6c4xl34dijkfpw805vj7s0vzg095kw0fvzj7ls7b53sg4f1"))))
|
||||
(build-system gnu-build-system)
|
||||
"07i2gdj4nfah4lwlc6hl14xjbyh6b12bc1lipxs3q4vdsdd8z8d2"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(propagated-inputs (list libdvdread)) ;in 'Requires.private' of dvdnav.pc
|
||||
(home-page "http://dvdnav.mplayerhq.hu/")
|
||||
@@ -3736,16 +3733,16 @@ encapsulated.")
|
||||
(define-public libdvdcss
|
||||
(package
|
||||
(name "libdvdcss")
|
||||
(version "1.4.3")
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.videolan.org/pub/"
|
||||
name "/" version "/"
|
||||
name "-" version ".tar.bz2"))
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y800y33spblb20s1lsjbaiybknmwwmmiczmjqx5s760blpwjg13"))))
|
||||
(build-system gnu-build-system)
|
||||
"16f3lnwcldy0ssq2yah97qsb0b8scsvhsivfbhpgizmys7j6752j"))))
|
||||
(build-system meson-build-system)
|
||||
(home-page "https://www.videolan.org/developers/libdvdcss.html")
|
||||
(synopsis "Library for accessing DVDs as block devices")
|
||||
(description
|
||||
@@ -5194,19 +5191,18 @@ specifications.")
|
||||
(define-public libaacs
|
||||
(package
|
||||
(name "libaacs")
|
||||
(version "0.11.0")
|
||||
(version "0.11.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
|
||||
version "/libaacs-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d"))))
|
||||
(inputs
|
||||
(list libgcrypt))
|
||||
(native-inputs
|
||||
(list bison flex))
|
||||
(base32 "0f8ax9dp49mrm1484bl2df659b34xyrjmngzmvvpg2n9wkms12m8"))))
|
||||
(inputs (list libgcrypt))
|
||||
(native-inputs (list bison flex))
|
||||
(build-system gnu-build-system)
|
||||
(arguments (list #:configure-flags #~(list "--disable-static")))
|
||||
(home-page "https://www.videolan.org/developers/libaacs.html")
|
||||
(synopsis "Library for decrypting certain Blu-Ray discs")
|
||||
(description "libaacs is a library which implements the Advanced Access
|
||||
|
||||
@@ -1542,66 +1542,6 @@ the user shall be removed when the user fully logs out.")
|
||||
'#$(elogind-configuration-system-shutdown-hook-files
|
||||
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)
|
||||
"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
|
||||
@@ -1649,7 +1589,7 @@ of the service's configuration files."
|
||||
(name 'elogind)
|
||||
(extensions
|
||||
(list (service-extension dbus-root-service-type
|
||||
elogind-dbus-service)
|
||||
(compose list elogind-configuration-elogind))
|
||||
(service-extension udev-service-type
|
||||
(compose list elogind-configuration-elogind))
|
||||
(service-extension polkit-service-type
|
||||
|
||||
@@ -26,7 +26,8 @@
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix search-paths)
|
||||
#: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 gnu)
|
||||
#:use-module (guix packages)
|
||||
@@ -35,7 +36,8 @@
|
||||
glib-or-gtk-build
|
||||
glib-or-gtk-cross-build
|
||||
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:
|
||||
;;
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (%standard-phases
|
||||
%gdk-pixbuf-loaders-cache-file
|
||||
%gdk-pixbuf-loaders-directory
|
||||
generate-gdk-pixbuf-loaders-cache
|
||||
glib-or-gtk-build))
|
||||
|
||||
@@ -207,6 +208,8 @@ if needed."
|
||||
;; `generate-gdk-pixbuf-loaders-cache' build phase defined below.
|
||||
(define %gdk-pixbuf-loaders-cache-file
|
||||
"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)
|
||||
"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
|
||||
file name if one was created else #f."
|
||||
(let* ((loaders (append-map
|
||||
(cut find-files <> "^libpixbufloader-.*\\.so$")
|
||||
(delete-duplicates directories)))
|
||||
(lambda (dir)
|
||||
(find-files (in-vicinity dir %gdk-pixbuf-loaders-directory) "^.*.so$"))
|
||||
directories))
|
||||
(outputs* (map (cut string-append <> "/"
|
||||
%gdk-pixbuf-loaders-cache-file)
|
||||
outputs))
|
||||
|
||||
Reference in New Issue
Block a user