me
/
guix
Archived
1
0
Fork 0

Merge branch 'gnome-team'

master
Liliana Marie Prikler 2024-03-30 09:47:43 +01:00
commit a915a57d91
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
77 changed files with 3998 additions and 2376 deletions

View File

@ -19929,9 +19929,23 @@ Type of the service that runs udev, a service which populates the
@file{/dev} directory dynamically, whose value is a
@code{<udev-configuration>} object.
This service type can be @emph{extended} using procedures
@code{udev-rules-service} along with @code{file->udev-rule} or
@code{udev-rule} which simplify the process of writing udev rules.
Since the file names for udev rules and hardware description files
matter, the configuration items for rules and hardware cannot simply be
plain file-like objects with the rules content, because the name would
be ignored. Instead, they are directory file-like objects that contain
optional rules in @file{lib/udev/rules.d} and optional hardware files in
@file{lib/udev/hwdb.d}. This way, the service can be configured with
whole packages from which to take rules and hwdb files.
The @code{udev-service-type} can be @emph{extended} with file-like
directories that respect this hierarchy. For convenience, the
@code{udev-rule} and @code{file->udev-rule} can be used to construct
udev rules, while @code{udev-hardware} and @code{file->udev-hardware}
can be used to construct hardware description files.
In an @code{operating-system} declaration, this service type can be
@emph{extended} using procedures @code{udev-rules-service} and
@code{udev-hardware-service}.
@end defvar
@deftp {Data Type} udev-configuration
@ -19939,10 +19953,17 @@ Data type representing the configuration of udev.
@table @asis
@item @code{udev} (default: @code{eudev}) (type: file-like)
Package object of the udev service.
Package object of the udev service. This package is used at run-time,
when compiled for the target system. In order to generate the
@file{hwdb.bin} hardware index, it is also used when generating the
system definition, compiled for the current system.
@item @code{rules} (default: @var{'()}) (type: list-of-file-like)
List of file-like objects denoting udev-rule files.
List of file-like objects denoting udev rule files under a sub-directory.
@item @code{hardware} (default: @var{'()}) (type: list-of-file-like)
List of file-like objects denoting udev hardware description files under
a sub-directory.
@end table
@end deftp
@ -19965,6 +19986,11 @@ upon detecting a USB device with a given product identifier.
@end lisp
@end deffn
@deffn {Procedure} udev-hardware @var{file-name} @var{contents}
Return a udev hardware description file named @var{file-name} containing
the hardware information @var{contents}.
@end deffn
@deffn {Procedure} udev-rules-service @var{name} @var{rules} [#:groups '()]
Return a service that extends @code{udev-service-type} with @var{rules}
and @code{account-service-type} with @var{groups} as system groups.
@ -19984,6 +20010,11 @@ with the previously defined rule @code{%example-udev-rule}.
@end lisp
@end deffn
@deffn {Procedure} udev-hardware-service @var{name} @var{hardware}
Return a service that extends @code{udev-service-type} with
@var{hardware}. The service name is @code{@var{name}-udev-hardware}.
@end deffn
@deffn {Procedure} file->udev-rule @var{file-name} @var{file}
Return a udev-rule file named @var{file-name} containing the rules
defined within @var{file}, a file-like object.
@ -20008,12 +20039,16 @@ The following example showcases how we can use an existing rule file.
@end lisp
@end deffn
Additionally, Guix package definitions can be included in @var{rules} in
order to extend the udev rules with the definitions found under their
@file{lib/udev/rules.d} sub-directory. In lieu of the previous
@var{file->udev-rule} example, we could have used the
@var{android-udev-rules} package which exists in Guix in the @code{(gnu
packages android)} module.
Since guix package definitions can be included in @var{rules} in order
to use all their rules under the @file{lib/udev/rules.d} sub-directory,
then in lieu of the previous @var{file->udev-rule} example, we could
have used the @var{android-udev-rules} package which exists in Guix in
the @code{(gnu packages android)} module.
@deffn {Procedure} file->udev-hardware @var{file-name} @var{file}
Return a udev hardware description file named @var{file-name} containing
the rules defined within @var{file}, a file-like object.
@end deffn
The following example shows how to use the @var{android-udev-rules}
package so that the Android tool @command{adb} can detect devices

View File

@ -20,6 +20,9 @@
;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;; Copyright © 2024 Hilton Chain <hako@ultrarare.space>
;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
;; Copyright © 2024 Vivien Kraus <vivien@planete-kraus.eu>
;;
;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and
@ -28,6 +31,78 @@
(channel-news
(version 0)
(entry (commit "523f3def65ab061a87f4fc9e6f9008e6a78fafb5")
(title
(en "GNOME updated to version 44 with a more modular desktop service")
(de "GNOME auf Version 44 aktualisiert mit modularem Dienst")
(fr "Mise à jour de GNOME en version 44 avec un service plus modulaire")
(zh "GNOME 44 更新,帶來更加模塊化的桌面服務"))
(body
(en "The @code{gnome-desktop-service-type} now differentiates between
shell, utilities, and extra-packages among other fields to bring more structure
in its configuration.
With the update to GNOME 44, some shell extensions have been deprecated and
others removed. If any @code{gnome-shell-extension-@dots{}} package causes
an error while running your usual update routine, make sure to remove it from
your profile.")
(de "Der Dienst @code{gnome-desktop-service-type} unterscheidet nun
unter anderem zwischen den Feldern shell, utilities und extra-packages, und
bringt so etwas mehr Struktur in die Konfiguration.
Mit dem Update zu GNOME 44 wurden einige Erweiterungen als obsolet deklariert
und andere entfernt. Falls ein Paket, dessen Name mit
@code{gnome-shell-extension-} beginnt, zu einem Fehler während Ihrer
Update-Routine führt, entfernen Sie es von Ihrem Profil.")
(fr "Le service @code{gnome-desktop-service-type} sépare
maintenant les champs @code{shell}, @code{utilities} et @code{extra-
packages} (entre autres) pour donner plus de structure à sa
configuration.
Pendant la mise à jour vers GNOME 44, certaines extensions du shell ont
été dépréciées et dautres supprimées. Si un paquet nommé
@code{gnome-shell-extension-@dots{}} émet une erreur quand vous
effectuez la mise à jour, vous devriez lenlever de votre profil.")
(zh "@code{gnome-desktop-service-type} @code{shell}
@code{utilities}@code{extra-packages} 使 GNOME
GNOME 44 GNOME Shell
@code{gnome-shell-extension-@dots{}} profile
")))
(entry (commit "06d01c610e3bee61e38a177aecda5982d5b338ae")
(title
(en "The GNOME Display Manager uses Wayland by default")
(de "GNOME Display Manager nutzt nun Wayland als Vorgabe")
(fr "GDM utilise Wayland par défaut")
(zh "GNOME 顯示管理器GDM服務默認啓用 Wayland 支持"))
(body
(en "The @code{gdm-service-type} is configured to use Wayland instead
of Xorg by default.")
(de "Der Dienst @code{gdm-service-type} verwendet nun Wayland
als Vorgabe anstelle von Xorg.")
(fr "Le service @code{gdm-service-type} est configuré par défaut pour
utiliser Wayland au lieu de Xorg.")
(zh "@code{gdm-service-type} 預設已由 Xorg 改爲 Wayland。")))
(entry (commit "498db4de1f09414adf68a3a383f0178434035179")
(title
(en "The udev service also manages hardware configuration files")
(de "Udev verwaltet nun auch Hardwarekonfigurationen")
(fr "Le service udev gère maintenant les configurations de matériel")
(zh "udev 服務現可管理硬件配置文件"))
(body
(en "The @code{udev-service-type} can now be configured and extended
with eudev hardware configuration files (named @dfn{hwdb} by the eudev
project).")
(de "Der Udev-Dienst kann nun mit Hardwaredatenbanken (auch als
@dfn{hwdb} bekannt) konfiguriert und erweitert werden.")
(fr "Le type de service @code{udev-service-type} peut maintenant être
configuré et étendu avec des fichiers de configuration de matériel (appelés
@dfn{hwdb} par le projet eudev).")
(zh "使 eudev @dfn{hwdb}
@code{udev-service-type}")))
(entry (commit "ff1251de0bc327ec478fc66a562430fbf35aef42")
(title
(en "Daemon vulnerability allowing store corruption has been fixed")

View File

@ -60,6 +60,7 @@
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
# Copyright © 2023 Bruno Victal <mirai@makinata.eu>
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
# Copyright © 2023 Herman Rimm <herman@rimm.ee>
# Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
@ -939,6 +940,7 @@ dist_patch_DATA = \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/aoflagger-use-system-provided-pybind11.patch \
%D%/packages/patches/appstream-force-reload-stemmer.patch \
%D%/packages/patches/apr-fix-atomics.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/aria2-unbundle-wslay.patch \
@ -1012,6 +1014,8 @@ dist_patch_DATA = \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \
%D%/packages/patches/calibre-remove-test-unrar.patch \
%D%/packages/patches/calls-disable-application-test.patch \
%D%/packages/patches/calls-disable-sip-test.patch \
%D%/packages/patches/camlboot-dynamically-allocate-stack-signal.patch \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/ccextractor-add-missing-header.patch \
@ -1059,6 +1063,7 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/cmake-curl-certificates-3.24.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
@ -1110,6 +1115,7 @@ dist_patch_DATA = \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
%D%/packages/patches/dstat-skip-devices-without-io.patch \
%D%/packages/patches/dtc-meson-cell-overflow.patch \
%D%/packages/patches/duc-fix-test-sh.patch \
%D%/packages/patches/dune-common-skip-failing-tests.patch \
%D%/packages/patches/dune-grid-add-missing-include-cassert.patch \
%D%/packages/patches/dune-istl-fix-solver-playground.patch \
@ -1179,6 +1185,7 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fbreader-fix-icon.patch \
%D%/packages/patches/feedbackd-use-system-gmobile.patch \
%D%/packages/patches/fenics-dolfin-algorithm.patch \
%D%/packages/patches/fenics-dolfin-demo-init.patch \
%D%/packages/patches/fenics-dolfin-boost.patch \
@ -1315,10 +1322,8 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/git-filter-repo-generate-doc.patch \
%D%/packages/patches/gitg-fix-positional-argument.patch \
%D%/packages/patches/gklib-suitesparse.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glib-networking-gnutls-binding.patch \
%D%/packages/patches/glib-skip-failing-test.patch \
%D%/packages/patches/glibc-2.33-riscv64-miscompilation.patch \
%D%/packages/patches/glibc-CVE-2019-7309.patch \
@ -1356,10 +1361,12 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-2.29-supported-locales.patch \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glslang-install-static-libs.patch \
%D%/packages/patches/gmobile-make-it-installable.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-2048-fix-positional-argument.patch \
%D%/packages/patches/gnome-control-center-firmware-security.patch \
%D%/packages/patches/gnome-control-center-libexecdir.patch \
%D%/packages/patches/gnome-dictionary-meson-i18n.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
@ -1418,6 +1425,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \
%D%/packages/patches/gtk2-fix-builder-test.patch \
%D%/packages/patches/gtk2-harden-list-store.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
@ -1515,6 +1523,7 @@ dist_patch_DATA = \
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-Use-MPFR-4.2.patch \
%D%/packages/patches/libcall-ui-make-it-installable.patch \
%D%/packages/patches/libcss-check-format.patch \
%D%/packages/patches/libextractor-tidy-support.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
@ -1575,6 +1584,7 @@ dist_patch_DATA = \
%D%/packages/patches/libcyaml-libyaml-compat.patch \
%D%/packages/patches/libexpected-use-provided-catch2.patch \
%D%/packages/patches/libgda-cve-2021-39359.patch \
%D%/packages/patches/libgda-disable-data-proxy-test.patch \
%D%/packages/patches/libgda-fix-build.patch \
%D%/packages/patches/libgda-fix-missing-initialization.patch \
%D%/packages/patches/libgda-skip-postgresql-tests.patch \
@ -1695,7 +1705,6 @@ dist_patch_DATA = \
%D%/packages/patches/mit-krb5-hurd.patch \
%D%/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch \
%D%/packages/patches/mixxx-system-googletest-benchmark.patch \
%D%/packages/patches/mm-common-reproducible-tarball.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \
@ -1707,7 +1716,6 @@ dist_patch_DATA = \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/musl-cross-locale.patch \
%D%/packages/patches/mutter-fix-inverted-test.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
%D%/packages/patches/nanosvg-prusa-slicer.patch \
@ -1777,6 +1785,7 @@ dist_patch_DATA = \
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/orangeduck-mpc-fix-pkg-config.patch \
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/osip-CVE-2017-7853.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
@ -1788,6 +1797,7 @@ dist_patch_DATA = \
%D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
%D%/packages/patches/pango-skip-libthai-test.patch \
%D%/packages/patches/password-store-tree-compat.patch \
%D%/packages/patches/pdfpc-build-with-vala-0.56.patch \
%D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
%D%/packages/patches/plasp-fix-normalization.patch \
@ -2043,6 +2053,7 @@ dist_patch_DATA = \
%D%/packages/patches/libsequoia-remove-store.patch \
%D%/packages/patches/serf-python3.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-login.patch \
@ -2221,6 +2232,7 @@ dist_patch_DATA = \
%D%/packages/patches/xygrib-fix-finding-data.patch \
%D%/packages/patches/xygrib-newer-proj.patch \
%D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/zathura-use-struct-initializers.patch \
%D%/packages/patches/zig-0.9-riscv-support.patch \
%D%/packages/patches/zig-do-not-link-against-librt.patch \
%D%/packages/patches/zig-use-baseline-cpu-by-default.patch \

View File

@ -129,6 +129,11 @@ terminals.")
"PYTHON_ROOT=/"
(string-append "TCL_DIR=" #$output "/lib")
"INSTALL_WRITABLE_DIRECTORY=no-thanks")
#:imported-modules `((guix build python-build-system)
,@%glib-or-gtk-build-system-modules)
#:modules '((guix build utils)
(guix build glib-or-gtk-build-system)
((guix build python-build-system) #:prefix python:))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-errors
@ -142,7 +147,10 @@ terminals.")
(string-append "extra_link_args = ['-Wl,-rpath="
#$output
"/lib'], "
"extra_compile_args = "))))))))
"extra_compile_args = ")))))
(add-before 'install 'set-pythonpath
(assoc-ref python:%standard-phases
'add-install-to-pythonpath)))))
(native-inputs
(list clisp
python-cython

View File

@ -109,7 +109,7 @@ rendering vector based animations and art in realtime.")
(base32
"1jnahpxvrdxrll7b7av3zxabm5j3nlz6m3vg4sib2278v1wf91yc"))))
(build-system gnu-build-system)
(inputs (list glibmm-2.64))
(inputs (list glibmm-2.66))
(native-inputs (list pkg-config))
(home-page "https://www.synfig.org")
(synopsis "Extended C++ template library")
@ -149,7 +149,7 @@ C++ @dfn{Standard Template Library} (STL).")
fftw
fontconfig
freetype
glibmm-2.64
glibmm-2.66
imagemagick
libxml++-2
libsigc++

View File

@ -121,6 +121,7 @@
(build-system python-build-system)
(native-inputs
(list gettext-minimal ; for msgfmt
gobject-introspection
util-linux ; setsid command, for the tests
par2cmdline
python-fasteners
@ -135,7 +136,8 @@
(propagated-inputs
(list python-lockfile python-pygobject python-urllib3))
(inputs
(list dbus ; dbus-launch (Gio backend)
(list bash-minimal ; to run the wrapped program
dbus ; dbus-launch (Gio backend)
librsync
lftp
gnupg ; gpg executable needed
@ -175,7 +177,12 @@
"share/zoneinfo"))
;; Some things respect TMPDIR, others hard-code /tmp, and the
;; defaults don't match up, breaking test_restart. Fix it.
(setenv "TMPDIR" "/tmp"))))))
(setenv "TMPDIR" "/tmp")))
(add-after 'wrap 'gi-wrap
(lambda _
(let ((prog (string-append #$output "/bin/duplicity")))
(wrap-program prog
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
(home-page "https://duplicity.gitlab.io/duplicity-web/")
(synopsis "Encrypted backup using rsync algorithm")
(description

View File

@ -123,7 +123,7 @@ the <tz.h> library for handling time zones and leap seconds.")
(define-public libical
(package
(name "libical")
(version "3.0.16")
(version "3.0.17")
(source (origin
(method url-fetch)
(uri (string-append
@ -131,7 +131,7 @@ the <tz.h> library for handling time zones and leap seconds.")
version "/libical-" version ".tar.gz"))
(sha256
(base32
"0cqc1wpalxmxjx8dmcaga9w8kd5l7944hqmidz43hifaf7fhaixl"))))
"06vqbxg4f3i03087grjncfy9pbvmlhg4v1ajhwr400l7nrnrmnmw"))))
(build-system cmake-build-system)
(arguments
(list

View File

@ -1562,36 +1562,39 @@ reliably with @code{bmaptool} than with traditional tools, like @code{dd} or
(file-name (git-file-name name version))
(sha256
(base32
"0sglcn38rgn6y3m5ahngizyn3x2rzhqjphs7g0ppnlinkz56rcv4"))))
"0sglcn38rgn6y3m5ahngizyn3x2rzhqjphs7g0ppnlinkz56rcv4"))
(patches
(search-patches "duc-fix-test-sh.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* "src/duc/cmd-ui.c"
(("ncursesw/ncurses.h") "ncurses.h"))
(substitute* "examples/index.cgi"
(("/usr/local/bin/duc")
(string-append out "/bin/duc"))))))
(add-after 'install 'install-examples
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version)))
(copy-recursively "examples" (string-append doc "/examples")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(substitute* "test.sh"
;; Keep the test logs where --keep-failed can see them.
(("^(DUC_TEST_DIR=).*" _ assign)
(format #f "~a~a/test-directory~%" assign (getcwd)))
;; XXX actual size differed on my system (a consistent 348160
;; bytes where the tests expect 540672). However, the apparent
;; size matches, as does the actual test output. Good enough…?
((" [0-9]*B actual") " [0-9]*B actual"))
(when tests?
(invoke "./test.sh"))))))) ; no check target
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* "src/duc/cmd-ui.c"
(("ncursesw/ncurses.h") "ncurses.h"))
(substitute* "examples/index.cgi"
(("/usr/local/bin/duc")
(string-append out "/bin/duc"))))))
(add-after 'install 'install-examples
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" #$name "-" #$version)))
(copy-recursively "examples" (string-append doc "/examples")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(substitute* "test.sh"
;; Keep the test logs where --keep-failed can see them.
(("^(DUC_TEST_DIR=).*" _ assign)
(format #f "~a~a/test-directory~%" assign (getcwd)))
;; XXX actual size differed on my system (a consistent 348160
;; bytes where the tests expect 540672). However, the apparent
;; size matches, as does the actual test output. Good enough…?
((" [0-9]*B actual") " [0-9]*B actual"))
(when tests?
(invoke "./test.sh"))))))) ; no check target
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs

View File

@ -330,36 +330,37 @@ experience for your users, your family and yourself")
"lightdm-vnc-ipv6.patch"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f ; fails when run in parallel
#:configure-flags
(list "--localstatedir=/var"
"--enable-gtk-doc"
;; Otherwise the test suite fails on such a warning.
"CFLAGS=-Wno-error=missing-prototypes")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/shared-data-manager.c"
(("/bin/rm")
(search-input-file inputs "bin/rm")))
(substitute* '("data/users.conf"
"common/user-list.c")
(("/bin/false")
(search-input-file inputs "bin/false"))
(("/usr/sbin/nologin")
(search-input-file inputs "sbin/nologin")))
(substitute* "src/seat.c"
(("/bin/sh")
(search-input-file inputs "bin/sh")))))
(add-before 'check 'pre-check
(lambda _
(wrap-program "tests/src/test-python-greeter"
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
;; Avoid printing locale warnings, which trip up the text
;; matching tests.
(unsetenv "LC_ALL"))))))
(list
#:parallel-tests? #f ; fails when run in parallel
#:configure-flags
#~(list "--localstatedir=/var"
"--enable-gtk-doc"
;; Otherwise the test suite fails on such a warning.
"CFLAGS=-Wno-error=missing-prototypes")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/shared-data-manager.c"
(("/bin/rm")
(search-input-file inputs "bin/rm")))
(substitute* '("data/users.conf"
"common/user-list.c")
(("/bin/false")
(search-input-file inputs "bin/false"))
(("/usr/sbin/nologin")
(search-input-file inputs "sbin/nologin")))
(substitute* "src/seat.c"
(("/bin/sh")
(search-input-file inputs "bin/sh")))))
(add-before 'check 'pre-check
(lambda _
(wrap-program "tests/src/test-python-greeter"
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
;; Avoid printing locale warnings, which trip up the text
;; matching tests.
(unsetenv "LC_ALL"))))))
(inputs
(list audit
bash-minimal ;for cross-compilation
@ -381,7 +382,9 @@ experience for your users, your family and yourself")
libtool
vala ;for Vala bindings
;; For tests
dbus
;; All tests fail with dbus >= 1.15.2, see
;; https://github.com/canonical/lightdm/issues/346
dbus-1.15.0
python-wrapper
python-pygobject
which

View File

@ -210,7 +210,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
;; and "glib" in Requires
(propagated-inputs
(list glib
glibmm-2.64
glibmm-2.66
libserialport
libusb
libftdi

View File

@ -33,6 +33,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2023 Alex Devaure <ajadevaure@gmail.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
@ -139,7 +140,7 @@
(define-public appstream
(package
(name "appstream")
(version "0.15.6")
(version "0.16.4")
(source
(origin
(method url-fetch)
@ -148,11 +149,14 @@
"appstream/releases/"
"AppStream-" version ".tar.xz"))
(sha256
(base32 "03pirmc5r4izl6mzff879g7pk1nxq03kgpr2yvnnqnlb6r0ckmi3"))))
(base32 "1val1b3dggn9g33q2r9q7wsl75a64x4lcvswvkcjjbvakkbj5xyl"))
(patches
(search-patches "appstream-force-reload-stemmer.patch"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:configure-flags #~(list "-Dsystemd=false")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-libstemmer
@ -162,11 +166,6 @@
(substitute* "meson.build"
(("/usr/include")
(dirname libstemmer.h))))))
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "tests/test-pool.c"
(("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;")
""))))
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd)))))))
@ -482,6 +481,115 @@ method framework.")
display servers. It supports many different languages and emoji.")
(license license:gpl3+)))
;; Private package used by shared-mime-info.
(define xdgmime
;; No public release, match commit to the one used in the
;; shared-mime-info release.
(let ((commit "179296748e92bd91bf531656632a1056307fb7b7")
(revision "2"))
(package
(name "xdgmime")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/xdg/xdgmime.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"04bpbqlkmwi2pqx1lj3awa9f9gwp4n91fpnz8hbbd0hl8x41przm"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no tests
#:make-flags #~(list (string-append "DESTDIR=" #$output)
#$(string-append "CC=" (cc-for-target)))
#:imported-modules `((guix build copy-build-system)
,@%gnu-build-system-modules)
#:modules `((guix build gnu-build-system)
((guix build copy-build-system) #:prefix copy:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
;; Package uses a hand-crafted Makefile.
(delete 'configure)
(replace 'install
(lambda args
(apply (assoc-ref copy:%standard-phases 'install)
#:install-plan
'(("src" "bin/" #:include ("print-mime-data"
"test-mime-data"
"test-mime")))
args))))))
(home-page "https://gitlab.freedesktop.org/xdg/xdgmime/")
(synopsis "Module that parses the freedesktop.org MIME spec")
(description "This module is used for shared-mime-info package tests.")
(license (list license:lgpl2.1+ license:artistic2.0)))))
;; Note: when updating shared-mime-info, don't forget to update xdgmime's commit
;; to the one used in the release.
(define-public shared-mime-info
(package
(name "shared-mime-info")
(version "2.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/xdg/shared-mime-info.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0w8sbhz00sk6k8pyiykfig4rm22jyibalj7g22j9qf3d2nfy8ivh"))
(patches (search-patches "shared-mime-info-xdgmime-path.patch"))))
(build-system meson-build-system)
(arguments
(list
#:configure-flags
#~(list (string-append
"-Dxdgmime-path="
(dirname
(search-input-file %build-inputs "/bin/test-mime")))
"-Dupdate-mimedb=true")
#:phases
#~(modify-phases %standard-phases
;; Don't patch shebangs for the test files.
(replace 'patch-source-shebangs
(lambda _
(let ((pred (lambda (file stat)
(and (eq? 'regular (stat:type stat))
(not (string-prefix? "./tests/mime-detection"
file))))))
(for-each patch-shebang
(find-files "." pred #:stat lstat)))))
;; The docs have no install rule.
(add-after 'install 'install-doc
(lambda* (#:key source #:allow-other-keys)
(let ((dest (string-append #$output:doc "/share/doc")))
(with-directory-excursion "data/shared-mime-info-spec-html"
(install-file "shared-mime-info-spec.html"
(string-append dest "/html")))
(install-file (string-append source
"/data/shared-mime-info-spec.xml")
dest)))))))
(inputs
(list glib libxml2))
(native-inputs
(list gettext-minimal pkg-config python xdgmime
;; For 'doc' output.
docbook-xml-4.1.2 docbook-xsl xmlto))
(outputs (list "out" "doc"))
(home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
(synopsis "Database of common MIME types")
(description
"The shared-mime-info package contains the core database of common types
and the update-mime-database command used to extend it. It requires glib2 to
be installed for building the update command. Additionally, it uses intltool
for translations, though this is only a dependency for the maintainers. This
database is translated at Transifex.")
(license license:gpl2+)))
(define-public xdg-utils
(package
(name "xdg-utils")
@ -1659,7 +1767,7 @@ message bus.")
(define-public accountsservice
(package
(name "accountsservice")
(version "22.08.8")
(version "23.13.9")
(source
(origin
(method url-fetch)
@ -1667,7 +1775,7 @@ message bus.")
"accountsservice/accountsservice-"
version ".tar.xz"))
(sha256
(base32 "14d3lwik048h62qrzg1djdd2sqmxf3m1r859730pvzhrd6krg6ch"))
(base32 "0kwjkff5m7gnzpns6cy27az90w7sxzwzygyzwy90kyi4mvg4rnmd"))
(patches (search-patches "accountsservice-extensions.patch"))))
(build-system meson-build-system)
(arguments
@ -1708,6 +1816,7 @@ message bus.")
docbook-xsl
gettext-minimal
`(,glib "bin") ; for gdbus-codegen, etc.
glibc-locales ;for tests
gobject-introspection
gtk-doc
libxml2 ;for XML_CATALOG_FILES

View File

@ -470,7 +470,7 @@ topology functions.")
(define-public gnome-maps
(package
(name "gnome-maps")
(version "43.0") ;for libsoup 3 support
(version "44.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -478,7 +478,7 @@ topology functions.")
name "-" version ".tar.xz"))
(sha256
(base32
"1r1l6ajs6zz316m8zac5r0l3qgdv616xh376bfn2fflcnz7wys08"))))
"026488yb6azwb2sm0yy0iaipk914l3agvb7d8azks4kyjqlslyb8"))))
(build-system meson-build-system)
(arguments
(list
@ -520,11 +520,10 @@ topology functions.")
glib-networking
gnome-online-accounts
gsettings-desktop-schemas
gtk+
gtk
libadwaita
libgee
libgweather4
libhandy
librsvg
libsecret
libshumate

View File

@ -251,23 +251,23 @@ provided, as well as a framework to add new color models and data types.")
(list babl glib json-glib))
(inputs
;; All inputs except libjpeg and libpng are optional.
`(("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("gexiv2" ,gexiv2)
("jasper" ,jasper)
("libjpeg" ,libjpeg-turbo)
("libnsgif" ,libnsgif)
("libpng" ,libpng)
("libraw" ,libraw)
("librsvg" ,(librsvg-for-system))
("libspiro" ,libspiro)
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("maxflow" ,maxflow)
("openexr" ,openexr-2)
("pango" ,pango)
("poppler" ,poppler)
("sdl2" ,sdl2)))
(list cairo
gdk-pixbuf
gexiv2
jasper
libjpeg-turbo
libnsgif
libpng
libraw
(librsvg-for-system)
libspiro
libtiff
libwebp
maxflow
openexr-2
pango
poppler
sdl2))
(native-inputs
(list `(,glib "bin") ; for gtester
gobject-introspection

View File

@ -37,6 +37,7 @@
(define-module (gnu packages glib)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@ -45,6 +46,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
@ -105,7 +107,7 @@
(define dbus
(package
(name "dbus")
(version "1.14.0")
(version "1.15.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -113,49 +115,57 @@
version ".tar.xz"))
(sha256
(base32
"1m7bibavml4gx9d67j403l0kzd1a4z8lhrpxb2as3q4nfpiwrmyc"))
"016j3rqc8m62bg0h7z4rpvbvm5bg0hbjrld733f0aby8drz5kz44"))
(patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list
;; Install the system bus socket under /var.
"--localstatedir=/var"
(list
#:configure-flags
#~(list
;; Install the system bus socket under /var.
"--localstatedir=/var"
;; Install the session bus socket under /tmp.
"--with-session-socket-dir=/tmp"
;; Install the session bus socket under /tmp.
"--with-session-socket-dir=/tmp"
;; Build shared libraries only.
"--disable-static"
;; Build shared libraries only.
"--disable-static"
;; Use /etc/dbus-1 for system-wide config.
;; Look for configuration file under
;; /etc/dbus-1. This is notably required by
;; 'dbus-daemon-launch-helper', which looks for
;; the 'system.conf' file in that place,
;; regardless of what '--config-file' was
;; passed to 'dbus-daemon' on the command line;
;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
"--sysconfdir=/etc")
#:phases
(modify-phases %standard-phases
(replace 'install
(lambda _
;; Don't try to create /var and /etc.
(invoke "make"
"localstatedir=/tmp/dummy"
"sysconfdir=/tmp/dummy"
"install"))))))
;; Use /etc/dbus-1 for system-wide config.
;; Look for configuration file under
;; /etc/dbus-1. This is notably required by
;; 'dbus-daemon-launch-helper', which looks for
;; the 'system.conf' file in that place,
;; regardless of what '--config-file' was
;; passed to 'dbus-daemon' on the command line;
;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
"--sysconfdir=/etc")
#:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
;; Don't try to create /var and /etc.
(invoke "make"
"localstatedir=/tmp/dummy"
"sysconfdir=/tmp/dummy"
"install"))))))
(native-inputs
(list pkg-config
;; Dependencies to generate the doc.
;; Some dependencies are required to generate the documentation. Also,
;; quoting NEWS for 1.15.8: “Autotools-generated files are no longer
;; included in the tarball release.”
(list autoconf
autoconf-archive
automake
docbook-xml-4.4
docbook-xsl
doxygen
xmlto
libtool
libxml2 ;for XML_CATALOG_FILES
libxslt
yelp-tools))
which
xmlto
yelp-tools
pkg-config))
(inputs
(list expat
;; Add a dependency on libx11 so that 'dbus-launch' has support for
@ -199,6 +209,21 @@ shared NFS home directories.")
(("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf")
"/var/run/jami/session-local.conf")))))))))))
(define-public dbus-1.15.0
;; Dbus 1.15.2 has a breaking change.
(hidden-package
(package/inherit dbus
(version "1.15.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://dbus.freedesktop.org/releases/dbus/dbus-"
version ".tar.xz"))
(sha256
(base32
"02k4zm5h24clwp4csp2r3xp2lxib31jlk3xkgdj2c0njkb5whwsh"))
(patches (search-patches "dbus-helper-search-path.patch")))))))
;;; The reason this is not enabled in the regular dbus package is because it
;;; impacts the performance of D-Bus (including its library) as a whole, even
;;; when the DBUS_VERBOSE environment variable is not set.
@ -207,7 +232,7 @@ shared NFS home directories.")
(name "dbus-verbose")
(arguments (substitute-keyword-arguments (package-arguments dbus)
((#:configure-flags flags '())
`(cons "--enable-verbose-mode" ,flags))))
#~(cons "--enable-verbose-mode" #$flags))))
(synopsis "D-Bus with verbose mode enabled for debugging")
(description "This variant D-Bus package is built with verbose mode, which
eases debugging of D-Bus services by printing various debug information when
@ -217,7 +242,7 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
(define glib
(package
(name "glib")
(version "2.72.3")
(version "2.78.0")
(source
(origin
(method url-fetch)
@ -226,14 +251,14 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1w25sf2wxkkah2p2w189q58mza3zv8z1fh2q1m82sldq4kva4faa"))
(base32 "0c3vagxl77wma85qinbj974jvw96n5bvch2m7hqcwxq8fa5spsj4"))
(patches
(search-patches "glib-appinfo-watch.patch"
"glib-skip-failing-test.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "tests/spawn-test.c"
(substitute* "glib/tests/spawn-test.c"
(("/bin/sh") "sh"))))))
(build-system meson-build-system)
(outputs '("out" ;libraries, locales, etc
@ -258,6 +283,9 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
#$output:bin "/bin"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-G_TEST_SRCDIR
(lambda _
(setenv "G_TEST_SRCDIR" (string-append (getcwd) "/gio/tests"))))
;; Needed to pass the test phase on slower ARM and i686 machines.
(add-after 'unpack 'increase-test-timeout
(lambda _
@ -273,9 +301,19 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
(substitute* '("unix.c" "utils.c")
(("[ \t]*g_test_add_func.*;") "")))
(with-directory-excursion "gio/tests"
(substitute* '("contenttype.c" "gdbus-address-get-session.c"
"gdbus-peer.c" "appinfo.c" "desktop-app-info.c")
(("[ \t]*g_test_add_func.*;") "")))
(substitute* '("contenttype.c"
"gdbus-address-get-session.c"
"gdbus-server-auth.c"
"gdbus-peer.c"
"appinfo.c"
"desktop-app-info.c")
(("[ \t]*g_test_add_func.*;") ""))
(unless (which "update-desktop-database")
(substitute* "file.c"
(("[ \t]*g_test_add_func.*query-default-handler.*;") "")))
(substitute* '("portal-support-snap.c")
(("g_test_init .*")
"return EXIT_SUCCESS;")))
#$@(if (target-x86-32?)
;; Comment out parts of timer.c that fail on i686 due to
@ -325,7 +363,7 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
(substitute* '("appmonitor.c"
"async-splice-output-stream.c"
"autoptr.c"
"contexts.c"
"contexts.c"
"converter-stream.c"
"file.c"
"g-file-info.c"
@ -334,13 +372,13 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
"gapplication.c"
"gdbus-connection-flush.c"
"gdbus-connection.c"
"gdbus-names.c"
"gdbus-names.c"
"gdbus-server-auth.c"
"gsocketclient-slow.c"
"gsubprocess.c"
"io-stream.c"
"live-g-file.c"
"memory-monitor.c"
"memory-monitor.c"
"mimeapps.c"
"network-monitor-race.c"
"network-monitor.c"
@ -455,10 +493,10 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
python
python-wrapper))
(propagated-inputs
(list libffi ;in the Requires.private field of gobject-2.0.pc
pcre ;in the Requires.private field of glib-2.0.pc
`(,util-linux "lib") ;for libmount
zlib)) ;in the Requires.private field of glib-2.0.pc
(list libffi ; in the Requires.private field of gobject-2.0.pc
pcre2 ; in the Requires.private field of glib-2.0.pc
`(,util-linux "lib") ;for libmount
zlib)) ; in the Requires.private field of glib-2.0.pc
(native-search-paths
;; This variable is not really "owned" by GLib, but several related
;; packages refer to it: gobject-introspection's tools use it as a search
@ -482,106 +520,47 @@ functions for strings and common data structures.")
(license license:lgpl2.1+)
(properties '((hidden? . #t)))))
(define-public glib-next
(package
(inherit glib)
(name "glib")
(version "2.73.3")
(source
(origin
(inherit (package-source glib))
(uri
(string-append "mirror://gnome/sources/"
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(snippet
'(substitute* "glib/tests/spawn-test.c"
(("/bin/sh") "sh")))
(sha256
(base32 "1bgfch7zj1pq4rkqcibfky1470ijljyrx5pn5s5v9mk72s22n6nz"))))
(arguments
(substitute-keyword-arguments (package-arguments glib)
((#:test-options test-options ''())
;; Skip flaky or slow tests.
`(cons* "--no-suite=slow" "--no-suite=flaky" ,test-options))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(replace 'disable-failing-tests
(lambda _
(with-directory-excursion "glib/tests"
(substitute* '("unix.c" "utils.c")
(("[ \t]*g_test_add_func.*;") "")))
;; The "glib:gio / file" test fails with the error "No
;; application is registered as handling this file" (see:
;; https://gitlab.gnome.org/GNOME/glib/-/issues/2742).
(with-directory-excursion "gio/tests"
(substitute* '("appinfo.c"
"contenttype.c"
"desktop-app-info.c"
"file.c"
"gdbus-address-get-session.c"
"gdbus-peer.c")
(("[ \t]*g_test_add_func.*;") "")))
#$@(if (target-x86-32?)
;; Comment out parts of timer.c that fail on i686 due to
;; excess precision when building with GCC 10:
;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
'((substitute* "glib/tests/timer.c"
(("^ g_assert_cmpuint \\(micros.*" all)
(string-append "//" all "\n"))
(("^ g_assert_cmpfloat \\(elapsed, ==.*" all)
(string-append "//" all "\n"))))
'())
#$@(if (system-hurd?)
'((with-directory-excursion "gio/tests"
;; FAIL
(substitute* '("appmonitor.c"
"gdbus-server-auth.c"
"live-g-file.c"
"socket.c")
(("return (g_test_run|session_bus_run)" all call)
(string-append "return 0;// " call))
((" (ret|rtv|result) = (g_test_run|session_bus_run)"
all var call)
(string-append " " var " = 0;// " call))
(("[ \t]*g_test_add_func.*;") ""))))
'())))))))
(native-inputs
(modify-inputs (package-native-inputs glib)
(append desktop-file-utils)))
(propagated-inputs
(modify-inputs (package-propagated-inputs glib)
(replace "pcre" pcre2)))))
(define-public glib-with-documentation
;; glib's doc must be built in a separate package since it requires gtk-doc,
;; which in turn depends on glib.
(package/inherit glib
(properties (alist-delete 'hidden? (package-properties glib)))
(outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
(native-inputs
(modify-inputs (package-native-inputs glib)
(prepend docbook-xml-4.2
docbook-xml
docbook-xsl
gtk-doc
libxml2
libxslt)))
(arguments
(substitute-keyword-arguments (package-arguments glib)
((#:configure-flags flags ''())
#~(cons "-Dgtk_doc=true"
(delete "-Dman=false" #$flags)))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'install 'move-doc
(lambda _
(let ((html "/share/gtk-doc"))
(mkdir-p (string-append #$output:doc "/share"))
(rename-file
(string-append #$output html)
(string-append #$output:doc html)))))))))))
(let ((base glib))
(package/inherit base
(properties (alist-delete 'hidden? (package-properties base)))
(outputs (cons "doc" (package-outputs base))) ; 20 MiB of GTK-Doc reference
(native-inputs
`(("docbook-xml-4.2" ,docbook-xml-4.2)
("docbook-xml-4.5" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("gtk-doc" ,gtk-doc)
("libxml2" ,libxml2)
("xsltproc" ,libxslt)
,@(package-native-inputs base)))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags ''())
#~(cons "-Dgtk_doc=true"
(delete "-Dman=false" #$flags)))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "docs"
(substitute* (find-files "." "\\.xml$")
(("http://www.oasis-open.org/docbook/xml/4\\.5/")
(string-append (assoc-ref inputs "docbook-xml-4.5")
"/xml/dtd/docbook/"))
(("http://www.oasis-open.org/docbook/xml/4\\.2/")
(string-append (assoc-ref inputs "docbook-xml-4.2")
"/xml/dtd/docbook/"))))))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
(html (string-append "/share/gtk-doc")))
(mkdir-p (string-append doc "/share"))
(rename-file
(string-append out html)
(string-append doc html))))))))))))
(define (python-extension-suffix python triplet)
"Determine the suffix for C extensions for PYTHON when compiled
@ -622,14 +601,14 @@ be used when cross-compiling."
(define gobject-introspection
(package
(name "gobject-introspection")
(version "1.72.0")
(version "1.78.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
(base32 "1g5aps3b20ck96ahy7fjl4nhp9nabkd9rlqd0s1qzn3111cqxzh2"))
(base32 "1d0vhi83q0xc7kg3zn32wy7n16f3dd5blicyh5v8w9gpkbcsnyxx"))
(patches (search-patches
"gobject-introspection-cc.patch"
"gobject-introspection-girepository.patch"
@ -723,10 +702,7 @@ provide bindings to call into the C library.")
(patches (search-patches
"gobject-introspection-cc-1.72.patch"
"gobject-introspection-girepository.patch"
"gobject-introspection-absolute-shlib-path-1.72.patch"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs gobject-introspection)
(replace "glib" glib-next)))))
"gobject-introspection-absolute-shlib-path-1.72.patch"))))))
(define intltool
(package
@ -825,7 +801,7 @@ translated.")
(define dbus-glib
(package
(name "dbus-glib")
(version "0.110")
(version "0.112")
(source (origin
(method url-fetch)
(uri
@ -833,7 +809,7 @@ translated.")
version ".tar.gz"))
(sha256
(base32
"09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w"))))
"0fhlkdqyzbh89bdslwsfc5fbdvkiv6g840ami4rnwa6dvz60smbx"))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
@ -861,7 +837,7 @@ by GDBus included in Glib.")
(define-public libaccounts-glib
(package
(name "libaccounts-glib")
(version "1.25")
(version "1.26")
(source (origin
(method git-fetch)
(uri (git-reference
@ -870,7 +846,7 @@ by GDBus included in Glib.")
(file-name (git-file-name name version))
(sha256
(base32
"19rhk9f97m736d5ia26vfcbjp5kgi454558yhf9mrwm4iw5d9pk4"))))
"1fdvvzbz23q5c0jnzryinkmcymd0zcs2pdn4fvibg34pvybb4li9"))))
(build-system meson-build-system)
(native-inputs (list dbus
`(,glib "bin")
@ -914,7 +890,7 @@ credentials and service-specific settings.")
(define libsigc++
(package
(name "libsigc++")
(version "3.0.6")
(version "3.6.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsigc++/"
@ -922,7 +898,7 @@ credentials and service-specific settings.")
name "-" version ".tar.xz"))
(sha256
(base32
"1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
"05qf10lp5vxsi5fbzdphqhbzmys12mxvg4gh14p9zqynvwvkpln3"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
@ -985,7 +961,7 @@ libraries.")
(define glibmm
(package
(name "glibmm")
(version "2.72.1")
(version "2.78.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@ -993,7 +969,7 @@ libraries.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
"1n2w2pcpbxjbsxynmar3i5ibr7src6gnrdxb9nn57p5miai4jxia"))))
"0l7gld1ghynlxdm55l8dn3w4lfbwgrkw7flbdnh04vwrchjqfbjx"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
@ -1034,28 +1010,25 @@ libraries.")
useful for C++.")
(license license:lgpl2.1+)))
(define-public glibmm-next
(define-public glibmm-2.76
(package
(inherit glibmm)
(version "2.76.0")
(name "glibmm")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
(version-major+minor version)
"/glibmm-" version ".tar.xz"))
(sha256
(base32
"1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs glibmm)
(replace "glib" glib-next)))))
(inherit glibmm)
(name "glibmm")
(version "2.76.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
(version-major+minor version)
"/glibmm-" version ".tar.xz"))
(sha256
(base32
"1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6"))))))
(define-public glibmm-2.64
(define-public glibmm-2.66
(package
(inherit glibmm)
(name "glibmm")
(version "2.64.5")
(version "2.66.6")
(source
(origin
(method url-fetch)
@ -1064,7 +1037,7 @@ useful for C++.")
(version-major+minor version)
"/glibmm-" version ".tar.xz"))
(sha256
(base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh"))))
(base32 "0bqm9vqwhas69q6n89wd2xgxvrlkpxra13dzsx8m67hqk0jp8n2k"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs glibmm)
(replace "libsigc++" libsigc++-2)))))
@ -1072,7 +1045,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
(version "3.42.2")
(version "3.46.0")
(source
(origin
(method url-fetch)
@ -1080,32 +1053,31 @@ useful for C++.")
(version-major+minor version)
"/pygobject-" version ".tar.xz"))
(sha256
(base32
"0my95gjnps093inzznbipkhf25cffbc32v9is2fq8wvh59g6ks5d"))
(base32 "1z6aagb46fhhdd0bb3zk6dfdw3s4y2fva0vv3jpwjj6mvar0hq22"))
(modules '((guix build utils)))
(snippet
'(begin
;; We disable these tests in a snippet so that they are inherited
;; by the Python 2 variant which is built differently.
(with-directory-excursion "tests"
;; FIXME: These tests require Gdk and/or Gtk 4.
(for-each delete-file
'("test_atoms.py" "test_overrides_gtk.py"))
#t)))))
;; We disable these tests in a snippet so that they are inherited
;; by the Python 2 variant which is built differently.
#~(with-directory-excursion "tests"
;; FIXME: These tests require Gdk and/or Gtk 4.
(for-each delete-file
'("test_atoms.py" "test_overrides_gtk.py"
"test_overrides_gdk.py"))))))
(build-system meson-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The default 90 seconds can be too low on slower machines.
(invoke "meson" "test" "--timeout-multiplier" "5")))))))
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The default 90 seconds can be too low on slower machines.
(invoke "meson" "test" "--timeout-multiplier" "5")))))))
(native-inputs
`(("glib-bin" ,glib "bin")
("pkg-config" ,pkg-config)
("python-pytest" ,python-pytest)
("python-wrapper" ,python-wrapper))) ; For patching shebangs
(list `(,glib "bin")
pkg-config
python-pytest
python-wrapper)) ; For patching shebangs
(inputs
(list python python-pycairo gobject-introspection))
(propagated-inputs
@ -1124,7 +1096,7 @@ useful for C++.")
(define-public perl-glib
(package
(name "perl-glib")
(version "1.3293")
(version "1.3294")
(source (origin
(method url-fetch)
(uri (string-append
@ -1132,7 +1104,7 @@ useful for C++.")
version ".tar.gz"))
(sha256
(base32
"005m3inz12xcsd5sr056cm1kbhmxsx2ly88ifbdv6p6cwz0s05kk"))))
"1fsw9sjfz1irlhnsk5n1xpb181vvq1dsxrw5vrsp066cdflga5fp"))))
(build-system perl-build-system)
(native-inputs
(list perl-extutils-depends perl-extutils-pkgconfig))
@ -1150,14 +1122,14 @@ up the Gnome environment, and are used in many unrelated projects.")
(define-public perl-glib-object-introspection
(package
(name "perl-glib-object-introspection")
(version "0.049")
(version "0.051")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
"Glib-Object-Introspection-" version ".tar.gz"))
(sha256
(base32 "0mxg6pz8qfyipw0ypr54alij0c4adzg94f62702b2a6hkp5jhij6"))))
(base32 "12802l87mx65lswiwlc394fkb74cmsqn88n2qy119b40rhfn2sb5"))))
(build-system perl-build-system)
(native-inputs
(list perl-extutils-depends perl-extutils-pkgconfig))
@ -1195,6 +1167,11 @@ libraries. Examples include gtk+, webkit, libsoup and many more.")
;; EOFError: EOF read where object expected
;; make[2]: *** [Makefile:1906: _gen/register-dbus-glib-marshallers-body.h] Error 1
#:parallel-build? #f
;; When spawned in parallel, the dbus daemons may fail to shut down
;; cleanly. This issue appears to have been closed upstream due to low
;; information, but still continues to haunt folks. See also
;; <https://gitlab.freedesktop.org/telepathy/telepathy-glib/-/issues/134>.
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
@ -1321,7 +1298,7 @@ Some codes examples can be find at:
;; file.
(package
(name "sdbus-c++")
(version "1.3.0")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1330,7 +1307,7 @@ Some codes examples can be find at:
(file-name (git-file-name name version))
(sha256
(base32
"03maivi3nj4g5wcydk9ih703ivmqkc93yip47wlyjni6dhikzzsb"))))
"111l2rl0pg9r5cdrhqpac4v22cnq41skxxfk3cng81l0n05v1sh0"))))
(build-system cmake-build-system)
(arguments
(list
@ -1341,11 +1318,20 @@ Some codes examples can be find at:
;; Do not install tests.
"-DTESTS_INSTALL_PATH=/tmp"
"-DCMAKE_VERBOSE_MAKEFILE=ON")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'do-not-install-tests
(lambda _
(substitute* "tests/CMakeLists.txt"
(("/etc/dbus-1/system.d") "/tmp")))))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-install-tests
(lambda _
(substitute* "tests/CMakeLists.txt"
(("/etc/dbus-1/system.d") "/tmp"))))
(add-after 'unpack 'fix-elogind-requirement
(lambda _
;; sdbus-c++.pc requires 'elogind', but it should
;; require 'libelogind'. Fixed after 1.4.0 with
;; fb9e4ae37152648a67814458d3ff673b1d3ca089
(substitute* "pkgconfig/sdbus-c++.pc.in"
(("@LIBSYSTEMD@")
"libelogind")))))))
(native-inputs (list googletest pkg-config))
(inputs (list expat))
(propagated-inputs (list elogind)) ;required by sdbus-c++.pc
@ -1359,7 +1345,7 @@ of abstraction on top of @code{sd-bus}, the C D-Bus implementation by systemd.")
(define-public appstream-glib
(package
(name "appstream-glib")
(version "0.7.18")
(version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://people.freedesktop.org/~hughsient/"
@ -1367,45 +1353,47 @@ of abstraction on top of @code{sd-bus}, the C D-Bus implementation by systemd.")
"appstream-glib-" version ".tar.xz"))
(sha256
(base32
"00j0kkgf224nzmrha72g8pd72mymhph7vaisj35i4ffy7cpd47na"))))
"15lbrmyx94cf6p6svq02yiskh31xidq092c711pqs16mml06a9bi"))))
(build-system meson-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("gsettings" ,gsettings-desktop-schemas) ; for org.gnome.system.proxy
("glib:bin" ,glib "bin") ; for glib-compile-resources
("pkg-config" ,pkg-config)))
(list gettext-minimal
`(,glib "bin") ;for glib-compile-resources
gsettings-desktop-schemas ;for org.gnome.system.proxy
pkg-config))
(propagated-inputs
`(("gcab" ,gcab) ; for .pc file
("gdk-pixbuf" ,gdk-pixbuf) ; for .pc file
("libuuid" ,util-linux "lib"))) ; for .pc file
(list gcab ;for .pc file
gdk-pixbuf ;same
`(,util-linux "lib"))) ;libuuid, for .pc file
(inputs
`(("glib" ,glib)
("gperf" ,gperf)
("gtk+" ,gtk+)
("json-glib" ,json-glib)
("libarchive" ,libarchive)
("libsoup" ,libsoup-minimal-2)))
(list curl
gperf
gtk+
json-glib
libarchive
glib))
(arguments
`(#:configure-flags
(list "-Ddep11=false"
"-Dintrospection=false" ; avoid g-ir-scanner dependency
"-Drpm=false"
"-Dstemmer=false")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "libappstream-glib/as-self-test.c"
(("g_test_add_func.*as_test_store_local_appdata_func);") ""))
#t))
(add-before 'check 'set-home
(lambda _
;; Some tests want write access there.
(setenv "HOME" "/tmp"))))))
(list
#:configure-flags
#~(list "-Ddep11=false"
"-Dintrospection=false" ; avoid g-ir-scanner dependency
"-Drpm=false"
"-Dstemmer=false")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "libappstream-glib/as-self-test.c"
(("g_test_add_func.*as_test_store_local_appdata_func);") ""))))
(add-before 'check 'set-home
(lambda _
;; Some tests want write access there.
(setenv "HOME" "/tmp"))))))
(home-page "https://github.com/hughsie/appstream-glib")
(synopsis "Library for reading and writing AppStream metadata")
(description "This library provides objects and helper methods to help
reading and writing @uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream}
(description
"This library provides objects and helper methods to help
reading and writing
@uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream}
metadata.")
(license license:lgpl2.1+)))
@ -1464,7 +1452,7 @@ other API remains the same.")
(define-public template-glib
(package
(name "template-glib")
(version "3.34.0")
(version "3.36.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1472,21 +1460,18 @@ other API remains the same.")
name "-" version ".tar.xz"))
(sha256
(base32
"1z9xkin5fyfh071ma9y045jcw83hgx33dfbjraw6cxk0qdmfysr1"))))
"0j4rc4jvxk5pzmx5831s90m9g4cfyp10hxd1ndiyg34806jg6800"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-D" "enable_gtk_doc=true")))
(inputs
`(("gettext" ,gettext-minimal)
("glib" ,glib)
("gobject-introspection" ,gobject-introspection)))
(list #:configure-flags #~'("-D" "gtk_doc=true")))
(inputs (list gettext-minimal glib gobject-introspection))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("glib:bin" ,glib "bin") ;; For glib-mkenums
("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(list bison
flex
`(,glib "bin") ;for glib-mkenums
gtk-doc/stable
pkg-config
vala))
(home-page "https://gitlab.gnome.org/GNOME/template-glib")
(synopsis "Library for template expansion")
(description
@ -1501,7 +1486,7 @@ simple methods via GObject-Introspection.")
(define-public xdg-dbus-proxy
(package
(name "xdg-dbus-proxy")
(version "0.1.2")
(version "0.1.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/flatpak/xdg-dbus-proxy"
@ -1509,7 +1494,7 @@ simple methods via GObject-Introspection.")
"/xdg-dbus-proxy-" version ".tar.xz"))
(sha256
(base32
"03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p"))))
"1yv10v7gpv5z0iii7p3rs2h9wx6sigldycjlkpyyal06iapwy786"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config
@ -1573,3 +1558,38 @@ to the host system, optionally with filters applied.")
(description "A small little utility to run a couple of executables under a
new DBus session for testing.")
(license license:gpl3)))
(define-public libdex
(package
(name "libdex")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0fj4bggygdxgfsdrhc3zg1y2065g0skpz1l2bqwl0jqn9m3zbdc1"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags #~'("-D" "docs=true")))
(native-inputs
(list gobject-introspection
gi-docgen
pkg-config
vala))
(inputs
(list glib
libsoup))
(home-page "https://gitlab.gnome.org/GNOME/libdex")
(synopsis "Library for future-based programming with glib")
(description
"Dex provides Future-based programming for GLib-based applications.
It both integrates with and brings new features for application and library
authors who want to manage concurrent code.
Dex also provides Fibers which allow writing synchronous looking code in C
that uses asynchronous and future-based APIs.")
(license license:lgpl2.1+)))

View File

@ -61,6 +61,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages ibus)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
@ -541,7 +542,7 @@ copy, move, delete, or edit your files.")
(define-public gnome-shell-extension-unite-shell
(package
(name "gnome-shell-extension-unite-shell")
(version "69")
(version "72") ;Listed as compatible on extensions.gnome.org
(source (origin
(method git-fetch)
(uri (git-reference
@ -550,7 +551,7 @@ copy, move, delete, or edit your files.")
(file-name (git-file-name name version))
(sha256
(base32
"10yh6ylyp43ykcza180iak08wfypay3raqf3p0vrj9ngm98qzq70"))))
"006m54ribfbqij0p3zzglzqjw1rbvw0f9468j7p6zdaf43vdvhgc"))))
(build-system copy-build-system)
(native-inputs (list `(,glib "bin") gettext-minimal))
(inputs (list xprop))
@ -579,7 +580,7 @@ Ubuntu Unity Shell.")
(define-public gnome-shell-extension-appindicator
(package
(name "gnome-shell-extension-appindicator")
(version "42")
(version "53")
(source (origin
(method git-fetch)
(uri (git-reference
@ -588,7 +589,7 @@ Ubuntu Unity Shell.")
(commit (string-append "v" version))))
(sha256
(base32
"1lf3aqb924nzhj87rhy2zvm5pcfqcklhfw21m6ic3i7wzd9r7cnc"))
"0lyfznsq5x287vpz133y593s7s4mz9i4x2491sgqvir891zwsivy"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(native-inputs (list jq gnu-gettext
@ -603,7 +604,7 @@ GNOME Shell.")
(define-public gnome-shell-extension-clipboard-indicator
(package
(name "gnome-shell-extension-clipboard-indicator")
(version "42")
(version "47")
(source (origin
(method git-fetch)
(uri (git-reference
@ -615,7 +616,7 @@ GNOME Shell.")
(file-name (git-file-name name version))
(sha256
(base32
"0wf2k33pbwjdf8i4y3aw32fgvjbh751qh7504lwhnl02rcq5dc88"))
"00v0v454y6hblzsx06aaysxbs6aky89vnkf7ydzxrddns24c2wix"))
(modules '((guix build utils)))
(snippet
;; Remove pre-compiled settings schemas and translations from
@ -628,15 +629,16 @@ GNOME Shell.")
(find-files "locale" "\\.mo$"))))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("." "share/gnome-shell/extensions/clipboard-indicator@tudmotu.com"
#:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.mo$" "\\.xml$")))
#:phases
(modify-phases %standard-phases
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "schemas"
(invoke "glib-compile-schemas" ".")))))))
(list
#:install-plan
#~'(("." "share/gnome-shell/extensions/clipboard-indicator@tudmotu.com"
#:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.mo$" "\\.xml$")))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "schemas"
(invoke "glib-compile-schemas" ".")))))))
(native-inputs
(list `(,glib "bin") gettext-minimal))
(home-page "https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator")
@ -648,7 +650,7 @@ that caches clipboard history.")
(define-public gnome-shell-extension-customize-ibus
(package
(name "gnome-shell-extension-customize-ibus")
(version "82")
(version "86")
(source
(origin
(method git-fetch)
@ -657,21 +659,23 @@ that caches clipboard history.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00brnyahphl4ql9yh74wpb9kmzyb4b5k4rkw40hvxvqw4qwgs24r"))))
(base32 "1psnbhqbqrp68dri0q98y7ikwz9z3701lcy8vvgixb2bh71y7519"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "VERSION=" ,version)
(string-append "INSTALLBASE=" (assoc-ref %outputs "out")
"/share/gnome-shell/extensions"))
(list
#:make-flags
#~(list (string-append "VERSION=" #$version)
(string-append "INSTALLBASE=" #$output
"/share/gnome-shell/extensions"))
#:tests? #f ; No test target
#:phases
(modify-phases %standard-phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")))
(list gettext-minimal `(,glib "bin")))
(propagated-inputs
(list ibus))
(home-page "https://github.com/openSUSE/Customize-IBus")
(synopsis "GNOME Shell Extension for IBus Customization")
(description "Customize IBus provides full customization of appearance,
@ -679,50 +683,13 @@ behavior, system tray and input source indicator for IBus.")
(license license:gpl3+)))
(define-public gnome-shell-extension-topicons-redux
(package
(name "gnome-shell-extension-topicons-redux")
(version "6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/pop-planet/TopIcons-Redux.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1dli9xb545n3xlj6q4wl0y5gzkm903zs47p8fiq71pdvbr6v38rj"))))
(build-system gnu-build-system)
(native-inputs
(list `(,glib "bin")))
(arguments
`(#:tests? #f ;no test defined in the project
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make"
"install"
(string-append
"INSTALL_PATH="
out
"/share/gnome-shell/extensions"))))))))
(home-page "https://gitlab.com/pop-planet/TopIcons-Redux")
(synopsis "Display legacy tray icons in the GNOME Shell top panel")
(description "Many applications, such as chat clients, downloaders, and
some media players, are meant to run long-term in the background even after you
close their window. These applications remain accessible by adding an icon to
the GNOME Shell Legacy Tray. However, the Legacy Tray was removed in GNOME
3.26. TopIcons Redux brings those icons back into the top panel so that it's
easier to keep track of applications running in the background.")
(license license:gpl2+)))
(deprecated-package "gnome-shell-extension-topicons-redux"
gnome-shell-extension-appindicator))
(define-public gnome-shell-extension-dash-to-dock
(package
(name "gnome-shell-extension-dash-to-dock")
(version "73")
(version "79")
(source (origin
(method git-fetch)
(uri (git-reference
@ -731,23 +698,25 @@ easier to keep track of applications running in the background.")
version))))
(sha256
(base32
"1l0isbrgfc8v46l1yc5l4myz7qnlxzyfyiifipp86z9d79d8klzw"))
"0fsfhgpg8441x28jzhjspb9i9c5502c2fcgdvfggcsmz0sf3v95y"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:make-flags (list (string-append "INSTALLBASE="
(assoc-ref %outputs "out")
"/share/gnome-shell/extensions"))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
(list
#:tests? #f
#:make-flags #~(list (string-append "INSTALLBASE="
#$output
"/share/gnome-shell/extensions"))
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
(native-inputs
`(("glib:bin" ,glib "bin")
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("sassc" ,sassc)))
(list
`(,glib "bin")
intltool
pkg-config
sassc))
(propagated-inputs
(list glib))
(synopsis "Transforms GNOME's dash into a dock")
@ -760,7 +729,7 @@ faster window switching.")
(define-public gnome-shell-extension-gsconnect
(package
(name "gnome-shell-extension-gsconnect")
(version "50") ; See GNOME Shell supported versions in metadata.json
(version "55")
(source (origin
(method git-fetch)
(uri (git-reference
@ -770,77 +739,77 @@ faster window switching.")
(file-name (git-file-name name version))
(sha256
(base32
"0vg87fdihs5kp7apgyd32ldjmwzmrxaimsc005yjyy8m3f65sjmr"))))
"158qbjl6m807g0fy15dvhwwwy6z8r0g7kh9gjyhm7n3y14v5p8wz"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ;; every test fails
#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(name+version (strip-store-file-name out))
(gschema-dir (string-append out
"/share/gsettings-schemas/"
name+version
"/glib-2.0/schemas"))
(gnome-shell (assoc-ref %build-inputs "gnome-shell"))
(openssh (assoc-ref %build-inputs "openssh"))
(openssl (assoc-ref %build-inputs "openssl")))
(list
(string-append "-Dgnome_shell_libdir=" gnome-shell "/lib")
(string-append "-Dgsettings_schemadir=" gschema-dir)
(string-append "-Dopenssl_path=" openssl "/bin/openssl")
(string-append "-Dsshadd_path=" openssh "/bin/ssh-add")
(string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen")
(string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services")
"-Dpost_install=true"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let* ((glib (assoc-ref inputs "glib:bin"))
(gapplication (string-append glib "/bin/gapplication"))
(list
#:tests? #f ;; every test fails
#:configure-flags
#~(let ((out #$output)
(gnome-shell #$(this-package-input "gnome-shell"))
(openssh #$(this-package-input "openssh"))
(openssl #$(this-package-input "openssl")))
(list
(string-append "-Dgnome_shell_libdir=" gnome-shell "/lib")
(string-append "-Dopenssl_path=" openssl "/bin/openssl")
(string-append "-Dsshadd_path=" openssh "/bin/ssh-add")
(string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen")
(string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-post-installation
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))))
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((gapplication (search-input-file inputs "/bin/gapplication"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop.in"
(("gapplication") gapplication))
(for-each
(lambda (file)
(substitute* file
(("'use strict';")
(string-append "'use strict';\n\n"
"'" gi-typelib-path "'.split(':').forEach("
"path => imports.gi.GIRepository.Repository."
"prepend_search_path(path));"))))
'("src/extension.js" "src/prefs.js"))
#t)))
(add-after 'install 'wrap-daemons
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(service-dir
(string-append out "/share/gnome-shell/extensions"
"/gsconnect@andyholmes.github.io/service"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append service-dir "/daemon.js")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
#t))))))
(substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop.in"
(("gapplication") gapplication))
(for-each
(lambda (file)
(substitute* file
(("'use strict';")
(string-append "'use strict';\n\n"
"'" gi-typelib-path "'.split(':').forEach("
"path => imports.gi.GIRepository.Repository."
"prepend_search_path(path));"))))
'("src/extension.js" "src/prefs.js")))))
(add-after 'install 'wrap-daemons
(lambda _
(let* ((out #$output)
(service-dir
(string-append out "/share/gnome-shell/extensions"
"/gsconnect@andyholmes.github.io/service"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append service-dir "/daemon.js")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
(inputs
`(("at-spi2-core" ,at-spi2-core)
("caribou" ,caribou)
("evolution-data-server" ,evolution-data-server)
("gjs" ,gjs)
("glib" ,glib)
("glib:bin" ,glib "bin")
("gsound" ,gsound)
("gnome-shell" ,gnome-shell)
("gtk+" ,gtk+)
("nautilus" ,nautilus)
("openssh" ,openssh)
("openssl" ,openssl)
("python-pygobject" ,python-pygobject)
("upower" ,upower)))
(list
at-spi2-core
caribou
evolution-data-server
gjs
glib
`(,glib "bin") ;for /bin/gapplication
gsound
gnome-shell
gtk+
nautilus
openssh
openssl
python-pygobject
upower))
(native-inputs
`(("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("libxml2" ,libxml2)
("pkg-config" ,pkg-config)))
(list
gettext-minimal
gobject-introspection
libxml2
pkg-config))
(home-page "https://github.com/GSConnect/gnome-shell-extension-gsconnect/wiki")
(synopsis "Connect GNOME Shell with your Android phone")
(description "GSConnect is a complete implementation of KDE Connect
@ -849,58 +818,10 @@ notifications or files, and other features like SMS messaging and remote
control.")
(license license:gpl2)))
(define-public gnome-shell-extension-hide-app-icon
(let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab")
(revision "0"))
(package
(name "gnome-shell-extension-hide-app-icon")
(version (git-version "2.7" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url (string-append "https://github.com/michael-rapp"
"/gnome-shell-extension-hide-app-icon.git"))
(commit commit)))
(sha256
(base32
"1i28n4bz6wrhn07vpxkr6l1ljyn7g8frp5xrr11z3z32h2hxxcd6"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test target
#:make-flags (list (string-append "EXTENSIONS_DIR="
(assoc-ref %outputs "out")
"/share/gnome-shell/extensions"))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(pre "/share/gnome-shell/extensions/")
(dir "hide-app-icon@mrapp.sourceforge.com"))
(copy-recursively dir (string-append out pre dir))
#t))))))
(native-inputs
(list `(,glib "bin") intltool))
(propagated-inputs
(list glib))
(synopsis "Hide app icon from GNOME's panel")
(description "This extension hides the icon and/or title of the
currently focused application in the top panel of the GNOME shell.")
(home-page
"https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/")
(license
;; README.md and LICENSE.txt disagree -- the former claims v3, the
;; latter v2. No mention of "or later" in either place or in the code.
(list license:gpl2
license:gpl3)))))
(define-public gnome-shell-extension-just-perfection
(package
(name "gnome-shell-extension-just-perfection")
(version "22.0")
(version "26.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -909,36 +830,37 @@ currently focused application in the top panel of the GNOME shell.")
(file-name (git-file-name name version))
(sha256
(base32
"0r4rflppcp05kwhzmh07dzi7znc4kch4nc8mzw61arj3qsfq2qqj"))))
"0dvq2mb04b557g9nz4pm90x2c2jc1dwwbg2is1gkx38yk0dsj6r3"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("src"
"share/gnome-shell/extensions/just-perfection-desktop@just-perfection"
#:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.ui$"))
("locale"
"share/gnome-shell/extensions/just-perfection-desktop@just-perfection/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'drop-executable-bits
(lambda _
(for-each
(lambda (file)
(let ((stat (lstat file)))
(chmod file (logand (stat:mode stat) (lognot #o111)))))
(find-files "." #:directories? #f))))
(add-before 'install 'build
(lambda _
(invoke "glib-compile-schemas" "src/schemas")
(for-each
(lambda (file)
(let* ((base (basename file))
(noext (substring base 0 (- (string-length base) 3)))
(dest (string-append "locale/" noext "/LC_MESSAGES/"))
(out (string-append dest "just-perfection.mo")))
(mkdir-p dest)
(invoke "msgfmt" "-c" file "-o" out)))
(find-files "po" "\\.po$")))))))
(list
#:install-plan
#~'(("src"
"share/gnome-shell/extensions/just-perfection-desktop@just-perfection"
#:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.ui$"))
("locale"
"share/gnome-shell/extensions/just-perfection-desktop@just-perfection/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'drop-executable-bits
(lambda _
(for-each
(lambda (file)
(let ((stat (lstat file)))
(chmod file (logand (stat:mode stat) (lognot #o111)))))
(find-files "." #:directories? #f))))
(add-before 'install 'build
(lambda _
(invoke "glib-compile-schemas" "src/schemas")
(for-each
(lambda (file)
(let* ((base (basename file))
(noext (substring base 0 (- (string-length base) 3)))
(dest (string-append "locale/" noext "/LC_MESSAGES/"))
(out (string-append dest "just-perfection.mo")))
(mkdir-p dest)
(invoke "msgfmt" "-c" file "-o" out)))
(find-files "po" "\\.po$")))))))
(native-inputs
(list `(,glib "bin") gettext-minimal))
(home-page "https://gitlab.gnome.org/jrahmatzadeh/just-perfection")
@ -948,10 +870,14 @@ GNOME Shell itself does not provide out of the box, such as the ability to hide
certain elements or change animation speeds.")
(license license:gpl3)))
(define-public gnome-shell-extension-hide-app-icon
(deprecated-package "gnome-shell-extension-hide-app-icon"
gnome-shell-extension-just-perfection))
(define-public gnome-shell-extension-dash-to-panel
(package
(name "gnome-shell-extension-dash-to-panel")
(version "56")
(version "56") ;Compatible with GNOME 44
(source (origin
(method git-fetch)
(uri (git-reference
@ -963,22 +889,24 @@ certain elements or change animation speeds.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:make-flags (list (string-append "INSTALLBASE="
(assoc-ref %outputs "out")
"/share/gnome-shell/extensions")
(string-append "VERSION="
,(package-version
gnome-shell-extension-dash-to-panel)))
(list
#:tests? #f
#:make-flags #~(list (string-append "INSTALLBASE="
#$output
"/share/gnome-shell/extensions")
(string-append "VERSION="
#$version))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
#~(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
(native-inputs
(list intltool pkg-config))
(list
`(,glib "bin")
intltool
pkg-config))
(propagated-inputs
(list glib
`(,glib "bin")))
(list glib))
(synopsis "Icon taskbar for GNOME Shell")
(description "This extension moves the dash into the gnome main
panel so that the application launchers and system tray are combined
@ -987,26 +915,33 @@ into a single panel, similar to that found in KDE Plasma and Windows 7+.")
(license license:gpl2+)))
(define-public gnome-shell-extension-noannoyance
(let ((revision "1")
(commit "b759d10fd2799bc084007fdd927b62637c3dbd2c"))
;; There are different forks of the NoAnnoyance extension. This is the one
;; named “NoAnnoyance (fork)” at
;; https://extensions.gnome.org/extension/6109/noannoyance-fork/ because it
;; supports newer GNOME Shell versions than the previously used “NoAnnoyance
;; v2”.
(let ((commit "5e9e6a1878d2a1d961f5d59505f15339c5b7e17e")
;; “NoAnnoyance v2” version 17 correlates with
;; c6804a47063659f9f48d13a0942b78ce98aac72b, from which we count
;; commits.
(revision "6"))
(package
(name "gnome-shell-extension-noannoyance")
;; XXX: There is no version noted anywhere in the source. Thus, infer it
;; from <https://extensions.gnome.org/extension/2182/noannoyance/>.
(version (git-version "16" revision commit))
(version (git-version "17" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bdaase/noannoyance")
(url "https://github.com/jirkavrba/noannoyance")
(commit commit)))
(sha256
(base32
"0hh7fdqvx54h9j41ia2jl0nq1d5i66k7blw41ya6hkh7201r4anp"))
"0br9zrwvn499kh3db84hhw1kl02jpchwb5ldfp892p15vwih8yrf"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
(list
#:install-plan
#~'(("." "share/gnome-shell/extensions/noannoyance@vrba.dev"))))
(synopsis "Remove 'Window is ready' annotation")
(description "One of the many extensions that remove this message.
It uses ES6 syntax and claims to be more actively maintained than others.")
@ -1053,7 +988,7 @@ notebooks and tiling window managers.")
(define-public gnome-shell-extension-night-theme-switcher
(package
(name "gnome-shell-extension-night-theme-switcher")
(version "65")
(version "74")
(source
(origin
(method git-fetch)
@ -1062,7 +997,7 @@ notebooks and tiling window managers.")
"https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension")
(commit version)))
(sha256
(base32 "0qhi2g2lh6m8vhrmmfi60977f0i4k9x1zj68lrvpzzlqndz8cgh9"))
(base32 "1hiydjyn7shc32i81r70sqip9p3hhig7pqq1h7hsz9bc4qlyri7b"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(native-inputs (list pkg-config (list glib "bin")))
@ -1090,7 +1025,7 @@ dark, switch backgrounds and run custom commands at sunset and sunrise.")
(search-patches "gpaste-fix-paths.patch"))))
(build-system meson-build-system)
(native-inputs
(list gcr
(list gcr-3
gettext-minimal
gobject-introspection
(list glib "bin") ; for glib-compile-resources
@ -1134,91 +1069,50 @@ store an history of everything you do, so that you can get back to older
copies you now want to paste.")
(license license:bsd-2)))
(define-public gnome-shell-extension-vertical-overview
(define-public gnome-shell-extension-v-shell
(package
(name "gnome-shell-extension-vertical-overview")
(version "10")
(name "gnome-shell-extension-v-shell")
(version "37")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RensAlthuis/vertical-overview")
(url "https://github.com/G-dH/vertical-workspaces")
(commit (string-append "v" version))))
(sha256
(base32
"1sqkbg93qqrq47wyfnh2flg7dpsmv5c2pmkx8kgqhnbl7j2kgi0l"))
(file-name (git-file-name name version))
(snippet
'(begin (delete-file "schemas/gschemas.compiled")))))
"1h9f3g1dswxkka0yyj51610w86mwl46ylch19b51gj5mmxlyvzlv"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." ,(string-append
"share/gnome-shell/extensions/"
"vertical-overview@RensAlthuis.github.com")
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
"\\.xml$" "\\.compiled$")))
#:phases
(modify-phases %standard-phases
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "schemas"
(invoke "glib-compile-schemas" ".")))))))
(list
#:install-plan
#~'(("." #$(string-append
"share/gnome-shell/extensions/"
"vertical-workspaces@G-dH.github.com")
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
"\\.xml$" "\\.compiled$" "\\.gresource$")))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'build
(lambda _
(invoke "make" "all"))))))
(native-inputs
(list `(,glib "bin"))) ; for glib-compile-resources
(home-page "https://github.com/RensAlthuis/vertical-overview")
(synopsis "Provides a vertical overview in Gnome 40 and upper")
(description "This Gnome extension replaces the new horizontally oriented
Gnome overview with something that resembles the old vertically oriented
style.")
(list gettext-minimal `(,glib "bin")))
(home-page "https://github.com/G-dH/vertical-workspaces")
(synopsis "Shell configuration with horizontal or vertical workspaces")
(description "V-Shell (Vertical Workspaces) lets the user configure different parts of the
shell, including panels, corners, workspaces.")
(license license:gpl3)))
(define-public gnome-shell-extension-jiggle
(package
(name "gnome-shell-extension-jiggle")
(version "8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jeffchannell/jiggle/")
(commit version)))
(sha256
(base32
"1wbdx2bp22bdwj51ckgivwglkmckr7z8kfwvc8nv4y376hjz5jxz"))
(file-name (git-file-name name version))
(snippet
'(begin (delete-file "schemas/gschemas.compiled")))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." ,(string-append
"share/gnome-shell/extensions/"
"jiggle@jeffchannell.com")
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
"\\.xml$" "\\.compiled$")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-version
(lambda _
(substitute* "metadata.json"
(("\"40.0\"") "\"40\", \"41\""))))
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "schemas"
(invoke "glib-compile-schemas" ".")))))))
(native-inputs
(list `(,glib "bin"))) ; for glib-compile-resources
(home-page "https://github.com/jeffchannell/jiggle")
(synopsis "Mouse cursor enlargement for small and fast movements")
(description "Jiggle is a Gnome Shell extension that highlights the cursor
position when the mouse is moved rapidly.")
(license license:gpl2)))
(define-public gnome-shell-extension-vertical-overview
(deprecated-package "gnome-shell-extension-vertical-overview"
gnome-shell-extension-v-shell))
(define-public gnome-shell-extension-burn-my-windows
(package
(name "gnome-shell-extension-burn-my-windows")
(version "22")
(version "40")
(source
(origin
(method git-fetch)
@ -1227,25 +1121,26 @@ position when the mouse is moved rapidly.")
(commit (string-append "v" version))))
(sha256
(base32
"185xrf330d9bflmk0l61cnzlylnppb2v4yz6v6ygkk4zpwyil8np"))
"16n6ilszdn67835clqlr4flna69x9k00k5qrm55765dv2ny9jdcq"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." ,(string-append
"share/gnome-shell/extensions/"
"burn-my-windows@schneegans.github.com")
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
"\\.xml$" "\\.compiled$" "\\.gresource$")))
#:phases
(modify-phases %standard-phases
(add-before 'install 'compile-resources
(lambda _
(invoke "make" "resources/burn-my-windows.gresource")))
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "schemas"
(invoke "glib-compile-schemas" ".")))))))
(list
#:install-plan
#~'(("." #$(string-append
"share/gnome-shell/extensions/"
"burn-my-windows@schneegans.github.com")
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
"\\.xml$" "\\.compiled$" "\\.gresource$")))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'compile-resources
(lambda _
(invoke "make" "resources/burn-my-windows.gresource")))
(add-before 'install 'compile-schemas
(lambda _
(with-directory-excursion "schemas"
(invoke "glib-compile-schemas" ".")))))))
(native-inputs
(list `(,glib "bin"))) ; for glib-compile-resources
(home-page "https://github.com/Schneegans/Burn-My-Windows")
@ -1257,7 +1152,7 @@ animation of closing windowed applications.")
(define-public gnome-shell-extension-blur-my-shell
(package
(name "gnome-shell-extension-blur-my-shell")
(version "44")
(version "47")
(source
(origin
(method git-fetch)
@ -1267,7 +1162,7 @@ animation of closing windowed applications.")
(file-name (git-file-name name version))
(sha256
(base32
"0h7yfvrrg5r821mzrp42c09jws06mw6v9avvkfykqj8n8qnslmyx"))))
"1a8prh6893zk8rnfi9q7waga2x7kx564jzmsdyhiffdbazbv8p6y"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
@ -1296,7 +1191,7 @@ GNOME Shell, including the top panel, dash and overview.")
(define-public gnome-shell-extension-radio
(package
(name "gnome-shell-extension-radio")
(version "20")
(version "21")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1306,7 +1201,7 @@ GNOME Shell, including the top panel, dash and overview.")
(file-name (git-file-name name version))
(sha256
(base32
"01dmziad9g7bs3hr59aaz3mivkc6rqfyb9bz2v202zk22vcr5a2y"))))
"1ghk95q3lhliz3his58hh2ql4p9csh6llzip412vwf29zdkr58s2"))))
(build-system copy-build-system)
(arguments
(list
@ -1325,69 +1220,6 @@ GNOME Shell, including the top panel, dash and overview.")
directly inside GNOME Shell. It can manage stations and play streams.")
(license license:gpl3+)))
(define-public gnome-shell-extension-sound-output-device-chooser
(package
(name "gnome-shell-extension-sound-output-device-chooser")
(version "43")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kgshank/gse-sound-output-device-chooser")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qk6ypyqbv8zwwlky6cgk9hgp1zh32jmzw4wza200g4v94ifkwm9"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no check target
#:make-flags #~(list (string-append "INSTALL_DIR="
#$output
"/share/gnome-shell/extensions"))
#:phases
#~(modify-phases %standard-phases (delete 'configure))))
(native-inputs (list gettext-minimal `(,glib "bin")))
(inputs (list python))
(home-page
"https://extensions.gnome.org/extension/906/sound-output-device-chooser")
(synopsis "Sound output chooser for GNOME Shell")
(description "This extension shows a list of sound output and input devices
in the status menu below the volume slider. Various active ports like HDMI,
Speakers etc. of the same device are also displayed for selection.")
(license license:gpl3+)))
(define-public gnome-shell-extension-transparent-window
(let ((commit "cc9bc70c192dd565fa6f1d1b28d9a20f99684f2a")
(revision "45"))
(package
(name "gnome-shell-extension-transparent-window")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url (string-append "https://github.com/pbxqdown/"
"gnome-shell-extension-transparent-window"))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1f9iqqjpmmylqz0ws8cy5rs475bwzi7jy44q9ip44ig2acz2wxzp"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("."
#$(string-append "/share/gnome-shell/extensions"
"/transparent-window@pbxqdown.github.com")))))
(home-page
"https://github.com/pbxqdown/gnome-shell-extension-transparent-window")
(synopsis "Change the opacity of windows in GNOME Shell")
(description "This extension adds keybindings to change the opacity
of windows.")
(license license:expat))))
(define-public gnome-shell-extension-vitals
(package
@ -1707,7 +1539,7 @@ that are completely black and completely white.")
(define-public eiciel
(package
(name "eiciel")
(version "0.9.13.1")
(version "0.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1716,19 +1548,27 @@ that are completely black and completely white.")
(file-name (git-file-name name version))
(sha256
(base32
"0rhhw0h1hyg5kvxhjxkdz03vylgax6912mg8j4lvcz6wlsa4wkvj"))))
"0lhnrxhbg80pqjy9f8yiqi7x48rb6m2cmkffv25ssjynsmdnar0s"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:tests? #f ; no tests
#:configure-flags
(list (string-append "-Dnautilus-extension-dir="
(assoc-ref %outputs "out")
"/lib/nautilus/site-extensions"))))
(list
#:glib-or-gtk? #t
#:tests? #f ; no tests
#:configure-flags
#~(list (string-append "-Dnautilus-extension-dir="
#$output
"/lib/nautilus/site-extensions"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache : true")
"gtk_update_icon_cache : false")))))))
(native-inputs
(list gettext-minimal pkg-config))
(list gettext-minimal `(,glib "bin") itstool pkg-config))
(inputs
(list acl attr glibmm-2.64 gtkmm-3 nautilus))
(list acl attr glibmm gtkmm nautilus))
(home-page "https://rofi.roger-ferrer.org/eiciel")
(synopsis "Manage extended file attributes")
(description "Eiciel is a plugin for nautilus to graphically edit ACL and
@ -1790,7 +1630,7 @@ track stocks, currencies and cryptocurrencies.")
;; Note to maintainer: VLS must be built with a Vala toolchain the same
;; version or newer. Therefore when you update this package you may need
;; to update Vala too.
(version "0.48.3")
(version "0.48.7")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1798,7 +1638,7 @@ track stocks, currencies and cryptocurrencies.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1gnvc91gdp3wj9r3r3xxfr09f9lw39cfypn2q5f0443dhhmp059j"))))
(base32 "1ini6nd5yim6mql13b9mb15gs02gm08x7zphd0vlv9jxl2646pjn"))))
(build-system meson-build-system)
(arguments '(#:glib-or-gtk? #t))
(inputs

File diff suppressed because it is too large Load Diff

View File

@ -894,7 +894,7 @@ passphrase when @code{gpg} is run and needs it.")))
(name "pinentry-gnome3")
(inputs
(modify-inputs (package-inputs pinentry-tty)
(prepend gtk+-2 gcr glib)))
(prepend gtk+-2 gcr-3 glib)))
(arguments
`(#:configure-flags '("--enable-pinentry-gnome3"
"--enable-fallback-curses")))

View File

@ -64,6 +64,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages databases)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)

View File

@ -885,9 +885,9 @@ exception-handling library.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/inkscape/lib2geom.git")
(url "https://gitlab.com/inkscape/lib2geom")
(commit version)))
(file-name (git-file-name name version))
(file-name (git-file-name "lib2geom" version))
(sha256
(base32
"0dq981g894hmvhd6rmfl1w32mksg9hpvpjs1qvfxrnz87rhkknj8"))))

View File

@ -461,7 +461,7 @@ the GStreamer multimedia framework.")
(define-public gstreamer
(package
(name "gstreamer")
(version "1.22.2")
(version "1.22.3")
(source
(origin
(method url-fetch)
@ -470,7 +470,7 @@ the GStreamer multimedia framework.")
version ".tar.xz"))
(sha256
(base32
"08cfz2vkf494rsg0bn75px26fxs3syvxnsc9lj5n074j0cvfgbxj"))))
"0x2rdl6vfpbr7wnh1nk0rllw28cgx0js4g9vxfank7rz0naspzlz"))))
(build-system meson-build-system)
(arguments
(list #:disallowed-references (list python)
@ -542,7 +542,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
(version "1.22.2")
(version "1.22.3")
(source
(origin
(method url-fetch)
@ -550,7 +550,7 @@ This package provides the core library and elements.")
name "-" version ".tar.xz"))
(sha256
(base32
"0jcxcx4mgfjvfb3ixibwhx8j330mq3ap469w7hapm6z79q614rgb"))))
"1ww9xx6c4mwvgn9k56d1xfnd3i1jm4v8rfiy4f07686ll24n4n8w"))))
(build-system meson-build-system)
(propagated-inputs
(list glib ;required by gstreamer-sdp-1.0.pc
@ -641,7 +641,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
(package
(name "gst-plugins-good")
(version "1.22.2")
(version "1.22.3")
(source
(origin
(method url-fetch)
@ -650,7 +650,7 @@ for the GStreamer multimedia library.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1p8cpkk4dynglw0xswqyf57xl5fnxmb3xld71kv35cpj4nacb33w"))))
(base32 "0wq2f5q395vs7hnwjqpc2gysdvkgd4jmyfdszv9g9wrf795ib0dg"))))
(build-system meson-build-system)
(arguments
(list
@ -760,14 +760,14 @@ model to base your own plug-in on, here it is.")
(define-public gst-plugins-bad
(package
(name "gst-plugins-bad")
(version "1.22.2")
(version "1.22.3")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"03rd09wsrf9xjianpnnvamb4n3lndhd4x31srqsqab20wcfaz3rx"))
"1n116sphawmlqyjp1b8sv07vz4rjk1zn07286w37y4l65pp8yyg1"))
(modules '((guix build utils)))
(snippet
'(begin
@ -954,7 +954,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly
(package
(name "gst-plugins-ugly")
(version "1.22.2")
(version "1.22.3")
(source
(origin
(method url-fetch)
@ -962,7 +962,7 @@ par compared to the rest.")
(string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32 "1486x08bwasq6l7kc75nph5az61siq9mbgkgpw4kf1mxn16z8c4g"))))
(base32 "0q53snvh7kr8g7qqxy4v5ska0d78kgc5bkp6qjrnhcr9qbaqxj9x"))))
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@ -1011,7 +1011,7 @@ think twice about shipping them.")
(define-public gst-libav
(package
(name "gst-libav")
(version "1.22.2")
(version "1.22.3")
(source
(origin
(method url-fetch)
@ -1020,7 +1020,7 @@ think twice about shipping them.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1zfg7giwampmjxkqr5pqy66vck42b0akmwby661brwz8iy3zkapw"))))
(base32 "08x929yhjd2wpy05146fnqv6p2hw58ha079bwfkp2hwbh02wii9f"))))
(build-system meson-build-system)
(native-inputs (list perl pkg-config python-wrapper ruby))
(inputs (list ffmpeg))
@ -1034,7 +1034,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
(define-public gst-editing-services
(package
(name "gst-editing-services")
(version "1.22.2")
(version "1.22.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -1042,7 +1042,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
"gst-editing-services-" version ".tar.xz"))
(sha256
(base32
"1gyfw11ns2la1cm6gvvvv5qj3q5gcvcypc3wk8kdwmrqzij18fs5"))))
"18nfq3av5ksz17048l2b4r4zbh11yd0yq2asx0jy3c894pkbr98m"))))
(build-system meson-build-system)
(arguments
(list
@ -1102,7 +1102,7 @@ binary, but none of the actual plugins.")))
(define-public python-gst
(package
(name "python-gst")
(version "1.22.2")
(version "1.22.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -1110,7 +1110,7 @@ binary, but none of the actual plugins.")))
"gst-python-" version ".tar.xz"))
(sha256
(base32
"1bak46bj92gyz613m99mnl0yw0qhbhq5dfxifnvldgp45kcb7wmy"))))
"073kii36ncgsyq0b5njbsvprrg1k3kmydr3dxwiccjv3pvxd7gkh"))))
(build-system meson-build-system)
(arguments
(list

View File

@ -106,6 +106,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
@ -258,7 +259,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
(define-public harfbuzz
(package
(name "harfbuzz")
(version "5.3.1")
(version "8.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/harfbuzz/harfbuzz"
@ -266,7 +267,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
version ".tar.xz"))
(sha256
(base32
"0ka3nkk2lks2lgakq02vyibwdziv11dkpa2brkx230asnyby0v2a"))))
"0izq2lpqxrf1l755nxrxkkiarywkx5j43asznankxplbxgm0358h"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ;160K, only hb-view depend on cairo
@ -361,7 +362,7 @@ applications.")
(define-public pango
(package
(name "pango")
(version "1.50.10")
(version "1.50.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
@ -370,7 +371,7 @@ applications.")
(patches (search-patches "pango-skip-libthai-test.patch"))
(sha256
(base32
"0rj9sszflckk8gj47ppirpndpp3mzsx97l64lalj8kc580g2ypby"))))
"1s41sprfgkc944fva36zjmkmdpv8hn1bdpyg55xc4663pw2z4rqx"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@ -465,7 +466,12 @@ handling for GTK+-2.x.")
#~(begin
(substitute* "pango/pangocairo-font.c"
(("cairo_user_font_face_set_render_color_glyph_func")
"cairo_user_font_face_set_render_glyph_func"))))))))
"cairo_user_font_face_set_render_glyph_func"))
;; Disable a failing test
(substitute* "tests/testmisc.c"
(("\
g_test_add_func \\(\"/layout/gravity-metrics2\", test_gravity_metrics2\\);")
""))))))))
(define-public pangox-compat
(package
@ -614,6 +620,11 @@ printing and other features typical of a source code editor.")
;; Tests require a running X server.
(system (string-append Xvfb " :1 &"))
(setenv "DISPLAY" ":1")
;; Use an X11 setup to find the display.
(setenv "GDK_BACKEND" "x11")
;; Avoid spawning (and failing to connect to) the accessiblity
;; bus.
(setenv "GTK_A11Y" "none")
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")))))))
(native-inputs
@ -630,7 +641,7 @@ printing and other features typical of a source code editor.")
;; gtksourceview-5.pc refers to all these.
(list fontconfig
fribidi
glib-next
glib
gtk
libxml2
pango
@ -685,7 +696,7 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
(version "2.42.8")
(version "2.42.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -693,12 +704,12 @@ highlighting and other features typical of a source code editor.")
name "-" version ".tar.xz"))
(sha256
(base32
"1iplb43nn74pp3w1wjwwn522i9man6jia85k6j8v4494rcxfmb44"))))
"0jz4kziz5lirnjjvbspbqzsigk8vnqknng1fga89d81vs5snr6zf"))))
(build-system meson-build-system)
(outputs '("out" "debug"))
(arguments
`(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags '("-Dinstalled_tests=false")
#:configure-flags '("-Dinstalled_tests=false" "-Dgtk_doc=true")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'disable-failing-tests
@ -735,10 +746,8 @@ highlighting and other features typical of a source code editor.")
pkg-config
;; For the documentation.
docbook-xml-4.3
docbook-xsl
libxml2 ;for XML_CATALOG_FILES
libxslt)) ;for xsltproc
gi-docgen
python-docutils))
(native-search-paths
;; This file is produced by the gdk-pixbuf-loaders-cache-file
;; profile hook.
@ -787,7 +796,7 @@ ever use this library.")
(hidden-package
(package
(name "at-spi2-core")
(version "2.45.90")
(version "2.48.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -795,7 +804,7 @@ ever use this library.")
name "-" version ".tar.xz"))
(sha256
(base32
"03dba3c6m3sfapkkbbgzvbi1qcmrrlppydxjjs1m8ds9qb9hl1g9"))))
"05d5azffbglnvqzwk8ngg61jksm3brrwhmfpymsrccz8j8lv3v19"))))
(build-system meson-build-system)
(arguments
(list
@ -812,10 +821,15 @@ ever use this library.")
(lambda _
;; xfconfd requires a writable HOME
(setenv "HOME" (getenv "TMPDIR"))
;; Run test-suite under a dbus session.
(setenv "XDG_DATA_DIRS" ;for finding org.xfce.Xfconf.service
(string-append #$output "/share:"
(getenv "XDG_DATA_DIRS")))
;; dbus-run-session may crash if XDG_DATA_DIRS has too
;; many entries, maybe related to
;; https://gitlab.freedesktop.org/dbus/dbus/-/issues/481.
(setenv "XDG_DATA_DIRS"
(string-append
#$output "/share:"
#$(this-package-native-input
"gsettings-desktop-schemas")
"/share"))
;; Don't fail on missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(with-directory-excursion (string-append "../at-spi2-core-"
@ -833,12 +847,13 @@ ever use this library.")
;; atspi-2.pc refers to all these.
(list dbus glib libx11 libxi libxtst))
(native-inputs
(list gettext-minimal
(list findutils
gettext-minimal
`(,glib "bin")
gobject-introspection
gsettings-desktop-schemas
pkg-config
python-dbusmock
python-dbusmock-minimal
python-pytest
python-wrapper))
(synopsis "Assistive Technology Service Provider Interface, core components")
@ -863,25 +878,14 @@ is part of the GNOME accessibility project.")
(add-after 'unpack 'set-documentation-path
(lambda _
;; Ensure that the cross-references point to the "doc" output.
(substitute* "doc/libatspi/meson.build"
(("docpath =.*")
(string-append "docpath = '" #$output:doc
"/share/gtk-doc/html'\n")))))
(add-before 'install 'prepare-doc-directory
(lambda _
(mkdir-p (string-append #$output:doc "/share"))))
#$@(if (%current-target-system)
#~()
#~((add-after 'install 'move-documentation
(lambda _
(copy-recursively
(string-append #$output "/share/gtk-doc")
(string-append #$output:doc "/share/gtk-doc"))
(delete-file-recursively
(string-append #$output "/share/gtk-doc"))))))))))
(substitute* "doc/meson.build"
(("docs_dir =.*")
(string-append "docs_dir = '" #$output:doc
"/share/doc'\n")))))))))
(native-inputs
(modify-inputs (package-native-inputs at-spi2-core)
(append docbook-xml-4.3 gtk-doc/stable)))
(append gi-docgen python python-sphinx)
(replace "python-dbusmock" python-dbusmock)))
(properties (alist-delete 'hidden?
(package-properties at-spi2-core)))))
@ -905,6 +909,7 @@ is part of the GNOME accessibility project.")
"1nn6kks1zyvb5xikr9y2k7r9bwjy1g4b0m0s66532bclymbwfamc"))
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
"gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
"gtk2-harden-list-store.patch"
"gtk2-theme-paths.patch"
"gtk2-fix-builder-test.patch"))))
(build-system gnu-build-system)
@ -993,7 +998,7 @@ application suites.")
(package
(inherit gtk+-2)
(name "gtk+")
(version "3.24.37")
(version "3.24.41")
(source
(origin
(method url-fetch)
@ -1002,7 +1007,7 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
"0mvzzgjrzzir7nzx379yz3swzk3pn1s283hgzm8l2yakq2sg0ib7"))
"1ymna7b8p668wxbca1pgjqpw02ya4p86yaa9pja7l27kg9463nj7"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
;; There is no "doc" output, because adding gtk-doc here would introduce a
@ -1114,7 +1119,7 @@ application suites.")
(define-public gtk
(package
(name "gtk")
(version "4.8.1")
(version "4.12.3")
(source
(origin
(method url-fetch)
@ -1122,9 +1127,10 @@ application suites.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1za2nyqqs2lrbss61gfw17qba2f0w6a119m1xk4d0fx2k3gdis2w"))
(base32 "128ahzsj016vz8brd8kplhfkxg2q7wy7kndibx2qfr68yrif530l"))
(patches
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
(modules '((guix build utils)))))
(build-system meson-build-system)
(outputs '("out" "bin" "doc"))
(arguments
@ -1148,6 +1154,9 @@ application suites.")
;; Use the same test options as upstream uses for
;; their CI.
"--suite=gtk"
"--no-suite=failing"
"--no-suite=flaky"
"--no-suite=headless" ; requires mutter…
"--no-suite=gsk-compare-broadway")
#:phases
#~(modify-phases %standard-phases
@ -1170,6 +1179,9 @@ application suites.")
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false"))
(substitute* (find-files "testsuite/gsk/nodeparser/"
"^text-color.*\\.node$")
(("Noto Sans") "DejaVu Sans"))
;; Disable failing tests.
(substitute* (find-files "testsuite" "meson.build")
(("[ \t]*'empty-text.node',") "")
@ -1258,6 +1270,7 @@ application suites.")
cups ;for CUPS print-backend
ffmpeg ;for ffmpeg media-backend
fribidi
gi-docgen
gstreamer ;for gstreamer media-backend
gst-plugins-bad ;provides gstreamer-player
gst-plugins-base ;provides gstreamer-gl
@ -1717,7 +1730,7 @@ text rendering library.")
(package
(inherit pangomm)
(name "pangomm")
(version "2.46.2")
(version "2.46.4")
(source
(origin
(method url-fetch)
@ -1726,9 +1739,9 @@ text rendering library.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1x56xb4k1d9g88a1d9rlcvy97mmj39rib6c3wfzpff04vjs2li2p"))))
(base32 "08nvd36s2fqksrkh573cn4gz90cpyl91azrpp7j4shi62mk1c85r"))))
(propagated-inputs
(list cairomm-1.14 glibmm-2.64 pango))))
(list cairomm-1.14 glibmm-2.66 pango))))
(define-public atkmm
(package
@ -1784,7 +1797,7 @@ text rendering library.")
(package
(inherit atkmm)
(name "atkmm")
(version "2.28.1")
(version "2.28.4")
(source
(origin
(method url-fetch)
@ -1793,10 +1806,10 @@ text rendering library.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1b8vycqzr3lfvk2l73f4kk74hj48081zbh9r1r2ilr3h8xh7cs0i"))))
(base32 "1cysiz908phkagwnls44xxa60xls7r3fw540zcg00g7q520jl50a"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs atkmm)
(replace "glibmm" glibmm-2.64)))))
(replace "glibmm" glibmm-2.66)))))
(define-public gtkmm
(package
@ -1870,7 +1883,7 @@ tutorial.")
(package
(inherit gtkmm)
(name "gtkmm")
(version "3.24.6")
(version "3.24.8")
(source
(origin
(method url-fetch)
@ -1879,7 +1892,7 @@ tutorial.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1mhi3ws43l051fha4zssfpykraa1qc2hd408l2xk65jfjhp18gjb"))))
(base32 "1i4ql0j6id6g34w5nbhd7vjak7l3s50lqgdjaj2ranrfj9j0r56j"))))
(propagated-inputs
`(("atkmm-2.28" ,atkmm-2.28)
("cairomm-1.14" ,cairomm-1.14)
@ -1906,7 +1919,7 @@ tutorial.")
(strip-keyword-arguments
'(#:configure-flags) (package-arguments gtkmm)))
(propagated-inputs
(list atkmm-2.28 cairomm-1.14 glibmm-2.64 gtk+-2 pangomm-2.46))))
(list atkmm-2.28 cairomm-1.14 glibmm-2.66 gtk+-2 pangomm-2.46))))
(define-public gtksourceviewmm
(package
@ -2122,9 +2135,11 @@ and routines to assist in editing internationalized text.")
(license license:lgpl2.1+)))
(define-public girara
;; TODO: Move propagated inputs to inputs after core-updates is merged (as
;; of 2024-03)
(package
(name "girara")
(version "0.4.2")
(version "0.4.3")
(source
(origin
(method git-fetch)
@ -2133,31 +2148,34 @@ and routines to assist in editing internationalized text.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11fi7yy28rv6clj9gkvz58gd8zph95khq9jjia4c5skq03m67npz"))))
(native-inputs `(("pkg-config" ,pkg-config)
("check" ,check)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("xorg-server" ,xorg-server-for-tests)))
;; Listed in 'Requires.private' of 'girara.pc'.
(propagated-inputs (list gtk+))
(base32 "0cbcs3810frgdmal5ia9pf3rk3k5h4xyzw1d2ia3rcg4nms5gcpx"))))
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))
(display ":1"))
(setenv "DISPLAY" display)
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))
(display ":1"))
(setenv "DISPLAY" display)
;; On busy machines, tests may take longer than
;; the default of four seconds.
(setenv "CK_DEFAULT_TIMEOUT" "20")
;; On busy machines, tests may take longer than
;; the default of four seconds.
(setenv "CK_DEFAULT_TIMEOUT" "20")
;; Don't fail due to missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system (string-append xorg-server "/bin/Xvfb "
display " &")))))))))
;; Don't fail due to missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system (string-append xorg-server "/bin/Xvfb "
display " &")))))))))
(native-inputs
(list pkg-config
check
gettext-minimal
`(,glib "bin")
xorg-server-for-tests))
;; Listed in 'Requires.private' of 'girara.pc'.
(propagated-inputs (list gtk+ json-glib))
(build-system meson-build-system)
(home-page "https://pwmt.org/projects/girara/")
(synopsis "Library for minimalistic gtk+3 user interfaces")
@ -2924,7 +2942,7 @@ Unix desktop environment under X11 as well as Wayland.")
(define-public libpanel
(package
(name "libpanel")
(version "1.0.2")
(version "1.2.0")
(source
(origin
(method git-fetch)
@ -2933,21 +2951,27 @@ Unix desktop environment under X11 as well as Wayland.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10lkysbwg9w0lm1hj7lw4g7y9j8b88kmq07nfgx0r6f319znj12v"))))
(base32 "0wal073anl6iviyljyr8pw0m7av4ik6azpmrwzxw4snp95ib27aq"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags #~(list "-Ddocs=disabled") ;fontconfig issue
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'disable-gtk-update-icon-cache
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")))))))
(native-inputs (list `(,glib-next "bin")
gobject-introspection
pkg-config
vala))
(inputs (list glib-next gtk libadwaita))
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-gtk-update-icon-cache
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false"))))
(add-before 'build 'set-home
(lambda _
(setenv "HOME" (getcwd)))))))
(native-inputs
(list gi-docgen
`(,glib "bin")
gobject-introspection
pkg-config
vala))
(inputs (list glib gtk libadwaita))
(home-page "https://gitlab.gnome.org/GNOME/libpanel")
(synopsis "Dock and panel library for GTK 4")
(description "Libpanel provides a library to create IDE-like applications

View File

@ -2492,7 +2492,7 @@ capabilities.")
(setenv "DISPLAY" ":1")
#t)))))
(inputs
(list guile-3.0 guile-lib glib-next))
(list guile-3.0 guile-lib glib))
(native-inputs
(list autoconf
automake

View File

@ -509,6 +509,12 @@ GZip format, via a subclass of QIODevice.")
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda _
;; Reported as https://bugs.kde.org/show_bug.cgi?id=484306
(substitute* "autotests/CMakeLists.txt"
(("testdateserialization")
""))))
(add-before 'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys) ;;; XXX: failing test
(setenv "QT_QPA_PLATFORM" "offscreen")

View File

@ -32,7 +32,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages gl)
#:use-module ((gnu packages gnome) #:select (shared-mime-info))
#:use-module ((gnu packages freedesktop) #:select (shared-mime-info))
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages perl)

View File

@ -36,6 +36,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages docbook)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)

View File

@ -36,6 +36,7 @@
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)

View File

@ -35,6 +35,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cups)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib) ; dbus for tests
#:use-module (gnu packages gnome)
#:use-module (gnu packages gstreamer)

View File

@ -4357,10 +4357,9 @@ to the in-kernel OOM killer.")
(license license:expat)))
(define-public eudev
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
(version "3.2.11")
(version "3.2.14")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/gentoo/eudev")
@ -4368,8 +4367,9 @@ to the in-kernel OOM killer.")
(file-name (git-file-name name version))
(sha256
(base32
"0dzaqwjnl55f69ird57wb6skahc6l7zs1slsrzqqfhww33icp6av"))
(patches (search-patches "eudev-rules-directory.patch"))))
"1f6lz57igi7iw2ls3fpzgw42bfznam4nf9368h7x8yf1mb737yxz"))
(patches (search-patches "eudev-rules-directory.patch"))
(modules '((guix build utils)))))
(build-system gnu-build-system)
(arguments
(list
@ -4380,6 +4380,31 @@ to the in-kernel OOM killer.")
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
(search-input-file (or native-inputs inputs) "/bin/xsltproc")))))
(add-before 'bootstrap 'install-in-lib
(lambda _
;; When the udev-service-type instantiates /etc, it collects
;; hardware files from the <package>/lib/udev/hwdb.d directories
;; of different packages. Since we set sysconfdir to /etc, the
;; only package-dependent location we can install hwdb files is
;; in <package>/lib/udev/hwdb.d. Eudev is configured to install
;; these files in sysconfdir, but they should be placed into
;; udevlibexecdir.
(copy-file "hwdb/Makefile.am" "hwdb/files.am")
(call-with-output-file "hwdb/Makefile.am"
(lambda (port)
(format port "hardwarelibdir = $(udevlibexecdir)/hwdb.d\n")
(format port "include ./files.am")))
(substitute* "hwdb/files.am"
(("dist_udevhwdb_DATA =")
"dist_hardwarelib_DATA ="))
;; Do not install the empty udev.conf template.
(substitute* "src/udev/Makefile.am"
(("dist_udevconf_DATA =")
"dist_noinst_DATA ="))
;; Do not ensure that /etc/udev/rules.d exists.
(substitute* "rules/Makefile.am"
(("\\$\\(MKDIR_P\\) \\$\\(DESTDIR\\)\\$\\(udevconfdir\\)/rules\\.d")
"true"))))
(add-after 'install 'move-static-library
(lambda _
(let ((source (string-append #$output "/lib/libudev.a"))
@ -4391,19 +4416,17 @@ to the in-kernel OOM killer.")
;; such that Libtool looks for it in the usual places.
(substitute* (string-append #$output "/lib/libudev.la")
(("old_library=.*")
"old_library=''\n")))))
(add-after 'install 'build-hwdb
(lambda _
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
;; similar tools to display product names.
;;
;; XXX: This can't be done when cross-compiling. Find another way
;; to generate hwdb.bin for cross-built systems.
#$@(if (%current-target-system)
#~(#t)
#~((invoke (string-append #$output "/bin/udevadm")
"hwdb" "--update"))))))
#:configure-flags #~(list "--enable-manpages")))
"old_library=''\n"))))))
#:configure-flags
#~(list "--enable-manpages"
;; By default, autoconf uses $prefix/etc. The udev-service-type
;; makes sure /etc is set up with rules and hardware file
;; descriptions.
"--sysconfdir=/etc")))
(native-search-paths
(list (search-path-specification
(variable "UDEV_HWDB_PATH")
(files '("lib/udev/hwdb.d")))))
(native-inputs
(list autoconf
automake

View File

@ -94,7 +94,7 @@ Features include:
(define-public tuba
(package
(name "tuba")
(version "0.4.1")
(version "0.6.3")
(source
(origin
(method git-fetch)
@ -103,7 +103,7 @@ Features include:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0v2ihp1dkp13jklp3kysv4blflhx3w0hwcyink4mb7hwsaqy0xnm"))))
(base32 "1s1iq9bwv6wp4dyvrdjdbmj9sqj9zxa0c78swcw7nhmm3fksh3vz"))))
(build-system meson-build-system)
(arguments
(list

View File

@ -127,6 +127,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)

View File

@ -41,6 +41,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gnome)

View File

@ -644,11 +644,9 @@ code for interfacing Caml with C from an IDL description of the C functions.")
(sha256
(base32
"1jydzw2n84cfiz9y6lk4gih4wbr8jybanmiryfs01svd07g4vpjq"))))
(build-system ocaml-build-system)
(build-system dune-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure))))
(list #:package "extlib"))
(native-inputs
(list ocaml-cppo))
(home-page "https://github.com/ygrek/ocaml-extlib")

View File

@ -1386,6 +1386,8 @@ tools_locations = {
;; https://github.com/conan-io/conan/issues/13577).
"and not test_other_client_can_link_autotools "
"and not test_autotools_lib_template "
;; Sometimes fail: https://github.com/conan-io/conan/issues/15936
"and not test_basic_parallel_install "
(if (not (string-prefix? "x86_64" system))
;; These tests either assume the machine is
;; x86_64, or require a cross-compiler to target

View File

@ -5,7 +5,7 @@ diff --git a/src/extensions.c b/src/extensions.c
index 038dcb2..830465d 100644
--- a/src/extensions.c
+++ b/src/extensions.c
@@ -121,16 +121,7 @@ daemon_read_extension_directory (GHashTable *ifaces,
@@ -122,15 +122,7 @@ daemon_read_extension_directory (GHashTable *ifaces,
continue;
}
@ -13,8 +13,7 @@ index 038dcb2..830465d 100644
- const gchar * const prefix = "../../dbus-1/interfaces/";
- if (g_str_has_prefix (symlink, prefix) && g_str_equal (symlink + strlen (prefix), name)) {
- daemon_read_extension_file (ifaces, filename);
- }
- else {
- } else {
- g_warning ("Found accounts service vendor extension symlink %s, but it must be exactly "
- "equal to '../../dbus-1/interfaces/%s' for forwards-compatibility reasons.",
- filename, name);

View File

@ -0,0 +1,89 @@
From 32182d7a7a67d0d204cd0a37bd211bfd0177bc27 Mon Sep 17 00:00:00 2001
Message-ID: <32182d7a7a67d0d204cd0a37bd211bfd0177bc27.1700093066.git.vivien@planete-kraus.eu>
From: Matthias Klumpp <matthias@tenstral.net>
Date: Thu, 16 Nov 2023 00:59:15 +0100
Subject: [PATCH] stemmer: Resolve potential issue where stemmer may never be
initialized
If the initial locale was equal to the current stemming language, we may
never have initialized the stemmer (which could lead to crashes or
stemming being disabled).
So we force the reload to always happen on initialization.
CC: #558
---
src/as-stemmer.c | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/src/as-stemmer.c b/src/as-stemmer.c
index 63d45267..16ebd09b 100644
--- a/src/as-stemmer.c
+++ b/src/as-stemmer.c
@@ -47,6 +47,8 @@ G_DEFINE_TYPE (AsStemmer, as_stemmer, G_TYPE_OBJECT)
static gpointer as_stemmer_object = NULL;
+static void as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force);
+
/**
* as_stemmer_finalize:
**/
@@ -76,21 +78,14 @@ as_stemmer_init (AsStemmer *stemmer)
/* we don't use the locale in XML, so it can be POSIX */
locale = as_get_current_locale_posix ();
- stemmer->current_lang = as_utils_locale_to_language (locale);
- as_stemmer_reload (stemmer, stemmer->current_lang);
+ /* force a reload for initialization */
+ as_stemmer_reload_internal (stemmer, locale, TRUE);
#endif
}
-/**
- * as_stemmer_reload:
- * @stemmer: A #AsStemmer
- * @locale: The stemming language as POSIX locale.
- *
- * Allows realoading the #AsStemmer with a different language.
- */
-void
-as_stemmer_reload (AsStemmer *stemmer, const gchar *locale)
+static void
+as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force)
{
#ifdef HAVE_STEMMING
g_autofree gchar *lang = NULL;
@@ -99,7 +94,7 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale)
/* check if we need to reload */
lang = as_utils_locale_to_language (locale);
locker = g_mutex_locker_new (&stemmer->mutex);
- if (as_str_equal0 (lang, stemmer->current_lang)) {
+ if (!force && as_str_equal0 (lang, stemmer->current_lang)) {
g_mutex_locker_free (locker);
return;
}
@@ -119,6 +114,20 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale)
#endif
}
+/**
+ * as_stemmer_reload:
+ * @stemmer: A #AsStemmer
+ * @locale: The stemming language as POSIX locale.
+ *
+ * Allows realoading the #AsStemmer with a different language.
+ * Does nothing if the stemmer is already using the selected language.
+ */
+void
+as_stemmer_reload (AsStemmer *stemmer, const gchar *locale)
+{
+ as_stemmer_reload_internal (stemmer, locale, FALSE);
+}
+
/**
* as_stemmer_stem:
* @stemmer: A #AsStemmer
--
2.41.0

View File

@ -0,0 +1,72 @@
From e0fdae20840ffe3aeca7190eb8b1bcae70f0c93b Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 Oct 2023 21:03:27 +0100
Subject: [PATCH] Disable the application test.
The application test does not work in a Guix container, because an actual
sound card is required to run this integration test.
* tests/meson.build: Disable test-application.
---
tests/meson.build | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/tests/meson.build b/tests/meson.build
index c9bdc3d..65f9b93 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -165,24 +165,24 @@ test('dbus', t, env: test_env)
dbus_run_session = find_program('dbus-run-session')
-if dbus_run_session.found ()
- test_sources = [ 'test-application.c' ]
- t = executable('application', test_sources, calls_resources,
- c_args : test_cflags,
- link_args: test_link_args,
- pie: true,
- link_with : [calls_vala, libcalls],
- dependencies: calls_deps,
- include_directories : [
- calls_includes,
- ]
- )
- test('application',
- dbus_run_session,
- args: t.full_path(),
- env: test_env,
- timeout : 300
- )
-endif
+# if dbus_run_session.found ()
+# test_sources = [ 'test-application.c' ]
+# t = executable('application', test_sources, calls_resources,
+# c_args : test_cflags,
+# link_args: test_link_args,
+# pie: true,
+# link_with : [calls_vala, libcalls],
+# dependencies: calls_deps,
+# include_directories : [
+# calls_includes,
+# ]
+# )
+# test('application',
+# dbus_run_session,
+# args: t.full_path(),
+# env: test_env,
+# timeout : 300
+# )
+# endif
endif
base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c
prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6
prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292
prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b
prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1
prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf
prerequisite-patch-id: e8302846f4650dba9e0072c18be3459ce903fe2e
--
2.41.0

View File

@ -0,0 +1,44 @@
From 33b75bfcda3437b12b6155addeeddcea697a4270 Mon Sep 17 00:00:00 2001
Message-ID: <33b75bfcda3437b12b6155addeeddcea697a4270.1698608762.git.vivien@planete-kraus.eu>
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 Oct 2023 20:45:24 +0100
Subject: [PATCH] Disable the direct call SIP test.
* plugins/provider/tests/test-sip.c (main): Disable it.
---
This test passes in a guix shell --container --network but not in
guix shell --container. The most likely cause is it requires access to the
network.
plugins/provider/tests/test-sip.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/plugins/provider/tests/test-sip.c b/plugins/provider/tests/test-sip.c
index 185d372..4e83d40 100644
--- a/plugins/provider/tests/test-sip.c
+++ b/plugins/provider/tests/test-sip.c
@@ -442,8 +442,11 @@ main (int argc,
g_test_add ("/Calls/SIP/origin_call_lists", SipFixture, NULL,
setup_sip_origins, test_sip_origin_call_lists, tear_down_sip_origins);
- g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL,
- setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins);
+ /* The direct call fails in the Guix build environment, possibly
+ * because the network is more restricted. */
+
+ /* g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL,
+ setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins); */
ret = g_test_run ();
base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c
prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6
prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292
prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b
prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1
prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf
--
2.41.0

View File

@ -0,0 +1,32 @@
From 15d0f7d96cf53263196e26f2eb48ededdff0efeb Mon Sep 17 00:00:00 2001
Message-ID: <15d0f7d96cf53263196e26f2eb48ededdff0efeb.1694148833.git.vivien@planete-kraus.eu>
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 7 Sep 2023 22:16:48 +0200
Subject: [PATCH] Prevent double free on context objects
The display is unrefed in the context destructor, but not refed in the
constructor.
This targets an archived (read-only) repository.
---
cogl/cogl-context.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c
index a7eed29a..7cdc9fe7 100644
--- a/cogl/cogl-context.c
+++ b/cogl/cogl-context.c
@@ -218,7 +218,7 @@ cogl_context_new (CoglDisplay *display,
return NULL;
}
- context->display = display;
+ context->display = cogl_object_ref (display);
/* This is duplicated data, but it's much more convenient to have
the driver attached to the context and the value is accessed a
base-commit: 61d966c7442d521e38572b7f93ac7b8973a9c65e
--
2.41.0

View File

@ -0,0 +1,70 @@
From a84835e481d9b5fcfc101bb1fa5aba38a245b6f3 Mon Sep 17 00:00:00 2001
Message-ID: <a84835e481d9b5fcfc101bb1fa5aba38a245b6f3.1711177846.git.vivien@planete-kraus.eu>
From: Fabio Natali <me@fabionatali.com>
Date: Wed, 30 Aug 2023 11:35:40 +0100
Subject: [PATCH] Fix test.sh which used to fail in some circumstances
duc's behaviour may legitimately vary depending on the system it is being run
on. The test.sh script used to fail in some circumstances as it was too strict
and it did not account for some legitimate behaviour differences.
Fix: update `test.sh' variable
---
This is a squash of pull request https://github.com/zevv/duc/pull/318,
waiting to be merged.
test.sh | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/test.sh b/test.sh
index eb592be..7668499 100755
--- a/test.sh
+++ b/test.sh
@@ -130,8 +130,8 @@ fi
# Actual tests are below. If you add test cases above, these need to be tweaked.
#---------------------------------------------------------------------------------
-
-cat ${DUC_TEST_DIR}.out | grep -q "Indexed 77 files and 47 directories, (91869B apparent, 540672B actual)"
+# An exact match is expected on the apparent size; the actual size may vary.
+cat ${DUC_TEST_DIR}.out | grep -q "Indexed 77 files and 47 directories, (91869B apparent, [0-9]*B actual)"
if [ "$?" = "0" ]; then
echo "report: ok"
@@ -153,16 +153,26 @@ if [ "$?" != "0" ]; then
exit 1
fi
-testsum="33e2be27a9e70e81d4006a2d7b555948"
+# When two or more hard links point to the same file and when running duc with
+# the `--check-hard-links' option, only one of the hard links will be
+# counted. However, duc may pick up and display a different hard link depending
+# on the system it is being run on. Since our tests include three hard links to
+# the same file, we should be expecting three possible outcomes, all equally
+# valid, each corresponding to one of the following MD5 checksums.
+testsum0="78dbf880ef6917ea665fddb5ebb44428"
+testsum1="38ab7b7d1ec6ac57d672c5618371386d"
+testsum2="33e2be27a9e70e81d4006a2d7b555948"
md5sum ${DUC_TEST_DIR}.out > /tmp/.duc.md5sum
-grep -q $testsum /tmp/.duc.md5sum
+grep -q "$testsum0\|$testsum1\|$testsum2" /tmp/.duc.md5sum
if [ "$?" = "0" ]; then
echo "md5sum: ok"
else
echo "md5sum: failed"
- echo "expected: "
- echo "$testsum ${DUC_TEST_DIR}.out"
+ echo "expected one of: "
+ echo "$testsum0 ${DUC_TEST_DIR}.out"
+ echo "$testsum1 ${DUC_TEST_DIR}.out"
+ echo "$testsum2 ${DUC_TEST_DIR}.out"
echo "got: "
cat /tmp/.duc.md5sum
exit 1
base-commit: b8f9659688a38476df9f613be3342bb8e2d65402
--
2.41.0

View File

@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed
the search path to be customized, but eudev no longer has this, hence
this hack.
--- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800
+++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800
@@ -47,15 +47,11 @@
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -48,16 +48,11 @@ struct uid_gid {
};
};
@ -20,11 +20,12 @@ this hack.
- "/lib/udev/rules.d",
- "/usr/lib/udev/rules.d",
-#endif
- "/usr/local/lib/udev/rules.d",
+ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
NULL};
struct udev_rules {
@@ -1704,6 +1700,9 @@
@@ -1718,6 +1713,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) {
udev_rules_check_timestamp(rules);

View File

@ -0,0 +1,42 @@
From af9e72124b12ca481fd3592f9c8ea2649f7e4c80 Mon Sep 17 00:00:00 2001
Message-ID: <af9e72124b12ca481fd3592f9c8ea2649f7e4c80.1698775513.git.vivien@planete-kraus.eu>
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 Oct 2023 19:12:27 +0100
Subject: [PATCH] Look for a system-installed gmobile first.
Meson lets projects use a dependency with fallback to a submodule, in
case the dependency is not installed.
* meson.build (gmobile_subp): Convert to a dependency with subproject
fallback.
---
I am waiting for Purism to approve my account before I can report this.
meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 8725e76..e5504be 100644
--- a/meson.build
+++ b/meson.build
@@ -14,13 +14,13 @@ gio_unix = dependency('gio-unix-2.0', version: '>=2.50.0')
glib = dependency('glib-2.0', version: '>=2.50.0')
if get_option('daemon')
gobject = dependency('gobject-2.0', version: '>=2.50.0')
- gmobile_subp = subproject('gmobile',
+ gmobile = dependency('gmobile',
+ fallback: ['gmobile', 'gmobile_dep'],
default_options: [
'examples=false',
'gtk_doc=false',
'tests=false',
])
- gmobile = gmobile_subp.get_variable('gmobile_dep')
gsound = dependency('gsound')
gudev = dependency('gudev-1.0', version: '>=232')
json_glib = dependency('json-glib-1.0')
base-commit: 853bd6d7ea8455efea063ba7c4f29ce8c203285f
--
2.41.0

View File

@ -18,10 +18,10 @@ system and user units.
meson_options.txt | 5 +-
6 files changed, 66 insertions(+), 42 deletions(-)
diff --git a/common/meson.build b/common/meson.build
index 074dd92e..bca58f7c 100644
--- a/common/meson.build
+++ b/common/meson.build
Index: gdm-44.1/common/meson.build
===================================================================
--- gdm-44.1.orig/common/meson.build
+++ gdm-44.1/common/meson.build
@@ -11,7 +11,7 @@ libgdmcommon_src = files(
)
@ -31,10 +31,10 @@ index 074dd92e..bca58f7c 100644
gobject_dep,
gio_dep,
gio_unix_dep,
diff --git a/data/meson.build b/data/meson.build
index 2dec4c23..c3452e1c 100644
--- a/data/meson.build
+++ b/data/meson.build
Index: gdm-44.1/data/meson.build
===================================================================
--- gdm-44.1.orig/data/meson.build
+++ gdm-44.1/data/meson.build
@@ -164,41 +164,53 @@ else
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
endif
@ -114,10 +114,10 @@ index 2dec4c23..c3452e1c 100644
# XSession
if get_option('gdm-xsession')
diff --git a/libgdm/meson.build b/libgdm/meson.build
index 3f8cafbb..83e95151 100644
--- a/libgdm/meson.build
+++ b/libgdm/meson.build
Index: gdm-44.1/libgdm/meson.build
===================================================================
--- gdm-44.1.orig/libgdm/meson.build
+++ gdm-44.1/libgdm/meson.build
@@ -56,7 +56,7 @@ libgdm_deps = [
glib_dep,
gio_dep,
@ -127,55 +127,46 @@ index 3f8cafbb..83e95151 100644
libgdmcommon_dep,
]
diff --git a/meson.build b/meson.build
index 845f673e..d0ca41ef 100644
--- a/meson.build
+++ b/meson.build
@@ -96,21 +96,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
if xdmcp_dep.found() and get_option('tcp-wrappers')
Index: gdm-44.1/meson.build
===================================================================
--- gdm-44.1.orig/meson.build
+++ gdm-44.1/meson.build
@@ -100,16 +100,24 @@ if xdmcp_dep.found() and get_option('tcp
libwrap_dep = cc.find_library('wrap')
endif
-# systemd
# systemd
-systemd_dep = dependency('systemd')
-libsystemd_dep = dependency('libsystemd')
-if meson.version().version_compare('>= 0.53')
- systemd_multiseat_x = find_program('systemd-multi-seat-x',
- required: false,
- dirs: [
- systemd_dep.get_pkgconfig_variable('systemdutildir'),
- '/lib/systemd',
- '/usr/lib/systemd',
- ])
+
-systemd_multiseat_x = find_program('systemd-multi-seat-x',
- required: false,
- dirs: [
- systemd_dep.get_pkgconfig_variable('systemdutildir'),
- '/lib/systemd',
- '/usr/lib/systemd',
- ])
-systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
+logind_provider = get_option('logind-provider')
+systemd_dep = dependency('systemd', required: false)
+if logind_provider == 'systemd'
+ libsystemd_dep = dependency('libsystemd')
+ logind_dep = libsystemd_dep
+ if meson.version().version_compare('>= 0.53')
+ systemd_multiseat_x = find_program('systemd-multi-seat-x',
+ required: false,
+ dirs: [
+ systemd_dep.get_pkgconfig_variable('systemdutildir'),
+ '/lib/systemd',
+ '/usr/lib/systemd',
+ ])
+ else
+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
+ endif
+ systemd_multiseat_x = find_program('systemd-multi-seat-x',
+ required: false,
+ dirs: [
+ systemd_dep.get_pkgconfig_variable('systemdutildir'),
+ '/lib/systemd',
+ '/usr/lib/systemd',
+ ])
+ systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
else
- systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
+else
+ elogind_dep = dependency('libelogind')
+ logind_dep = elogind_dep
+ systemd_x_server = 'disabled'
endif
-systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
+
+endif
# Plymouth
plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
# Check for Solaris auditing API (ADT)
@@ -319,6 +328,7 @@ summary({
@@ -319,6 +327,7 @@ summary({
'PAM Syslog': have_pam_syslog,
'Supports PAM Extensions': pam_extensions_supported,
'SeLinux': libselinux_dep.found(),
@ -183,11 +174,11 @@ index 845f673e..d0ca41ef 100644
'Use GDM Xsession': get_option('gdm-xsession'),
'Use UserDisplayServer': get_option('user-display-server'),
'Use SystemdJournal': get_option('systemd-journal'),
diff --git a/meson_options.txt b/meson_options.txt
index 14e0b908..5135d7d6 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te
Index: gdm-44.1/meson_options.txt
===================================================================
--- gdm-44.1.orig/meson_options.txt
+++ gdm-44.1/meson_options.txt
@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', va
option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.')
option('lang-file', type: 'string', value: '', description: 'File containing default language settings.')
option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.')
@ -195,7 +186,7 @@ index 14e0b908..5135d7d6 100644
option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.')
option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.')
option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.')
@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value: false, description: 'Build for Solaris
@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value
option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.')
option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.')
option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.')

View File

@ -0,0 +1,80 @@
From a99a93e5c9013bd4101f5058cdee7d0cf30234fe Mon Sep 17 00:00:00 2001
Message-ID: <a99a93e5c9013bd4101f5058cdee7d0cf30234fe.1694554961.git.vivien@planete-kraus.eu>
From: Jehan <jehan@girinstud.io>
Date: Wed, 5 Jul 2023 21:18:19 +0200
Subject: [PATCH] Issue #333: continuing to support librsvg 2.40.x (C
versions).
Commit 9beeefcbe uses too new functions of librsvg. We could just bump
the minimum required version but there are issues with Rust not being
available on every platform yet. So instead, let's add some conditional
code paths, so that it still builds with librsvg 2.40.x (which was the
last versions fully in C) while we use newer code and no warnings when
using newer versions.
---
operations/external/svg-load.c | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/operations/external/svg-load.c b/operations/external/svg-load.c
index 3312a0c0a..15c0b30b7 100644
--- a/operations/external/svg-load.c
+++ b/operations/external/svg-load.c
@@ -76,16 +76,25 @@ query_svg (GeglOperation *operation)
{
GeglProperties *o = GEGL_PROPERTIES (operation);
Priv *p = (Priv*) o->user_data;
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
gdouble out_width, out_height;
+#else
+ RsvgDimensionData dimensions;
+#endif
g_return_val_if_fail (p->handle != NULL, FALSE);
- rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
-
p->format = babl_format ("R'G'B'A u8");
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
+ rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
p->height = out_height;
- p->width = out_width;
+ p->width = out_width;
+#else
+ rsvg_handle_get_dimensions (p->handle, &dimensions);
+ p->height = dimensions.height;
+ p->width = dimensions.width;
+#endif
return TRUE;
}
@@ -98,10 +107,12 @@ load_svg (GeglOperation *operation,
{
GeglProperties *o = GEGL_PROPERTIES (operation);
Priv *p = (Priv*) o->user_data;
- RsvgRectangle svg_rect = {0.0, 0.0, width, height};
cairo_surface_t *surface;
cairo_t *cr;
- GError *error = NULL;
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
+ GError *error = NULL;
+ RsvgRectangle svg_rect = {0.0, 0.0, width, height};
+#endif
g_return_val_if_fail (p->handle != NULL, -1);
@@ -115,7 +126,11 @@ load_svg (GeglOperation *operation,
(double)height / (double)p->height);
}
+#if LIBRSVG_CHECK_VERSION(2, 52, 0)
rsvg_handle_render_document (p->handle, cr, &svg_rect, &error);
+#else
+ rsvg_handle_render_cairo (p->handle, cr);
+#endif
cairo_surface_flush (surface);
--
2.41.0

View File

@ -1,36 +0,0 @@
From 1978973b12848741b08695ec2020bac98584d636 Mon Sep 17 00:00:00 2001
From: Jan Beich <jbeich@FreeBSD.org>
Date: Mon, 24 Jan 2022 12:17:52 +0000
Subject: [PATCH] meson: drop unused argument for i18n.merge_file()
Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
data/meson.build:8:0: ERROR: Function does not take positional arguments.
data/meson.build:44:0: ERROR: Function does not take positional arguments.
---
data/meson.build | 2 --
1 file changed, 2 deletions(-)
diff --git a/data/meson.build b/data/meson.build
index a8b90fd1..2413531d 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -6,7 +6,6 @@ desktop_config = configuration_data()
desktop_config.set('icon', application_id)
desktop_config.set('binary', gitg_name)
i18n.merge_file(
- desktop,
type: 'desktop',
input: configure_file(
input: desktop + '.in.in',
@@ -42,7 +41,6 @@ appdata_config = configuration_data()
appdata_config.set('app-id', application_id)
appdata_config.set('gettext', gitg_name)
i18n.merge_file(
- appdata,
type: 'xml',
input: configure_file(
input: appdata + '.in.in',
--
GitLab

View File

@ -1,21 +0,0 @@
Skip failing test in 'test_connection_binding_match_tls_unique'
in 'tls/tests/connection.c' when building glib-networking against
GnuTLS 3.7.2. The failure stems from the fact that
'gnutls_session_channel_binding' returns GNUTLS_E_INVALID_REQUEST
is known upstream:
https://gitlab.gnome.org/GNOME/glib-networking/-/issues/164
diff --git a/tls/tests/connection.c b/tls/tests/connection.c
index 036df04..347c7a4 100644
--- a/tls/tests/connection.c
+++ b/tls/tests/connection.c
@@ -3037,8 +3037,6 @@ main (int argc,
setup_connection, test_connection_missing_server_identity, teardown_connection);
g_test_add ("/tls/" BACKEND "/connection/peer-certificate-notify", TestConnection, NULL,
setup_connection, test_peer_certificate_notify, teardown_connection);
- g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-unique", TestConnection, NULL,
- setup_connection, test_connection_binding_match_tls_unique, teardown_connection);
g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-server-end-point", TestConnection, NULL,
setup_connection, test_connection_binding_match_tls_server_end_point, teardown_connection);
g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-exporter", TestConnection, NULL,

View File

@ -10,12 +10,13 @@ diff --git a/gio/tests/meson.build b/gio/tests/meson.build
index a926ae0..4fdbe7a 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -317,10 +317,6 @@ if host_machine.system() != 'windows'
@@ -317,11 +317,6 @@ if host_machine.system() != 'windows'
'extra_sources' : [extra_sources, gdbus_test_codegen_generated, gdbus_test_codegen_generated_interface_info],
'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'],
},
- 'gdbus-threading' : {
- 'extra_sources' : extra_sources,
- 'extra_programs': extra_programs,
- 'suite' : ['slow'],
- },
'gmenumodel' : {

View File

@ -0,0 +1,89 @@
From c1ea43a45f4588f21752b0ad679c43350a9c8905 Mon Sep 17 00:00:00 2001
Message-ID: <c1ea43a45f4588f21752b0ad679c43350a9c8905.1698604357.git.vivien@planete-kraus.eu>
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 Oct 2023 19:00:44 +0100
Subject: [PATCH] Install gmobile as a shared library.
Tracked at https://gitlab.gnome.org/guidog/gmobile/-/issues/1
* src/meson.build: Install the header files. Import pkgconfig.
Generate a pkg-config definition.
(gm_lib): use "library", not "static_library". Install it.
(gmobile_gir): Install it.
* meson.build: Install gm-config.h.
---
meson.build | 1 +
src/meson.build | 22 +++++++++++++++++++---
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index e9f6c62..51ebeac 100644
--- a/meson.build
+++ b/meson.build
@@ -83,6 +83,7 @@ root_inc = include_directories('.')
configure_file(
output: 'gm-config.h',
configuration: config_h,
+ install_dir: get_option('includedir')
)
subdir('data')
diff --git a/src/meson.build b/src/meson.build
index ee98a39..3dedbe4 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,3 +1,5 @@
+pkg = import('pkgconfig')
+
gm_deps = [
gio_dep,
glib_dep,
@@ -37,18 +39,33 @@ gm_c_args = [
'-DG_LOG_DOMAIN="gmobile"',
]
-gm_lib = static_library(
+gm_lib = library(
'gmobile',
gm_sources,
include_directories: root_inc,
c_args: gm_c_args,
- dependencies: gm_deps)
+ dependencies: gm_deps,
+ install: true)
+
+pkg.generate(gm_lib)
gmobile_dep = declare_dependency(
include_directories: [root_inc, include_directories('.')],
dependencies: gm_deps,
link_with: gm_lib)
+install_headers(
+ 'gmobile.h',
+ 'gm-cutout.h',
+ 'gm-device-info.h',
+ 'gm-device-tree.h',
+ 'gm-display-panel.h',
+ 'gm-error.h',
+ 'gm-main.h',
+ 'gm-rect.h',
+ 'gm-svg-path.h',
+ 'gm-timeout.h')
+
if get_option('gtk_doc')
gmobile_gir_extra_args = [
'--c-include=gmobile.h',
@@ -66,7 +83,6 @@ if get_option('gtk_doc')
identifier_prefix: 'Gm',
link_with: gm_lib,
includes: ['Gio-2.0'],
- install: false,
extra_args: gmobile_gir_extra_args,
)
endif
base-commit: 382fc89472176d2f1d435517cad53d969d8b8eff
--
2.41.0

View File

@ -0,0 +1,33 @@
From: Jeremy Bicha <jeremy.bicha@canonical.com>
Date: Mon, 22 Aug 2022 08:31:15 -0400
Subject: firmware-security: Disable
Not yet useful enough to justify its inclusion by default here
You can get the same info by running
fwupdmgr security
If you drop this patch, add a Depends: fwupd [linux-any]
https://launchpad.net/bugs/1987162
https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938
[Stolen from the debian package]
---
shell/cc-panel-loader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 17f9601..1b819a5 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] =
PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL),
PANEL_TYPE("location", cc_location_panel_get_type, NULL),
- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
+ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL),
PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL),
PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL),

View File

@ -0,0 +1,42 @@
Backport the implementation of gtk_list_store_iter_is_valid from gtk+-3.
Index: gtk+-2.24.33/gtk/gtkliststore.c
===================================================================
--- gtk+-2.24.33.orig/gtk/gtkliststore.c
+++ gtk+-2.24.33/gtk/gtkliststore.c
@@ -1195,16 +1195,31 @@ gboolean
gtk_list_store_iter_is_valid (GtkListStore *list_store,
GtkTreeIter *iter)
{
+ GSequenceIter *seq_iter;
+
g_return_val_if_fail (GTK_IS_LIST_STORE (list_store), FALSE);
g_return_val_if_fail (iter != NULL, FALSE);
- if (!VALID_ITER (iter, list_store))
- return FALSE;
+ /* can't use VALID_ITER() here, because iter might point
+ * to random memory.
+ *
+ * We MUST NOT dereference it.
+ */
- if (g_sequence_iter_get_sequence (iter->user_data) != list_store->seq)
+ if (iter == NULL ||
+ iter->user_data == NULL ||
+ list_store->stamp != iter->stamp)
return FALSE;
- return TRUE;
+ for (seq_iter = g_sequence_get_begin_iter (list_store->seq);
+ !g_sequence_iter_is_end (seq_iter);
+ seq_iter = g_sequence_iter_next (seq_iter))
+ {
+ if (seq_iter == iter->user_data)
+ return TRUE;
+ }
+
+ return FALSE;
}
static gboolean real_gtk_list_store_row_draggable (GtkTreeDragSource *drag_source,

View File

@ -0,0 +1,81 @@
From 1a79c18e85232a6f56a58ec99271b92d5b0e6dca Mon Sep 17 00:00:00 2001
Message-ID: <1a79c18e85232a6f56a58ec99271b92d5b0e6dca.1698606228.git.vivien@planete-kraus.eu>
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 Oct 2023 19:42:55 +0100
Subject: [PATCH] Install libcall-ui.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Tracked at https://gitlab.gnome.org/World/Phosh/libcall-ui/-/issues/27
* src/meson.build: Require pkgconfig. Install a pkg-config
definition. Install the headers.
(call_ui_lib): Install it. Use “library”, not “static_library”.
* meson.build (config_h): Install the config.h file.
(call_ui_enum_sources): Install the header file.
---
meson.build | 1 +
src/meson.build | 22 +++++++++++++++++++---
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index 6d96178..80514ba 100644
--- a/meson.build
+++ b/meson.build
@@ -93,6 +93,7 @@ configure_file(
input: 'cui-config.h.in',
output: 'cui-config.h',
configuration: config_h,
+ install_dir: get_option('includedir')
)
#subdir('data')
diff --git a/src/meson.build b/src/meson.build
index bdb347c..2f9fa0c 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,7 +1,11 @@
+pkg = import('pkgconfig')
+
call_ui_enum_headers = files(['cui-call.h',
])
call_ui_enum_sources = gnome.mkenums_simple('cui-enums',
- sources : call_ui_enum_headers)
+ sources : call_ui_enum_headers,
+ install_header: true,
+ install_dir: get_option('includedir'))
call_ui_resources = gnome.compile_resources(
'cui-resources',
@@ -50,11 +54,23 @@ call_ui_c_args = [
'-DG_LOG_DOMAIN="Cui"',
]
-call_ui_lib = static_library('call-ui',
+call_ui_lib = library('call-ui',
call_ui_sources,
c_args: call_ui_c_args,
include_directories: [ root_inc, src_inc ],
- dependencies: call_ui_deps)
+ dependencies: call_ui_deps,
+ install: true)
+
+pkg.generate(call_ui_lib)
+
+install_headers(
+ 'call-ui.h',
+ 'cui-call.h',
+ 'cui-call-display.h',
+ 'cui-main.h',
+ 'cui-dialpad.h',
+ 'cui-keypad.h',
+)
libcall_ui_dep = declare_dependency(
sources: call_ui_enum_sources,
base-commit: 817d770cfa6876d37c4a6d09b00c9bdedfdce8b7
--
2.41.0

View File

@ -0,0 +1,59 @@
From c0bb1ed662011207ee13d5a20a70f9b55166aa13 Mon Sep 17 00:00:00 2001
From: Daniel Espinosa <esodan@gmail.com>
Date: Wed, 1 Nov 2023 15:00:40 -0500
Subject: [PATCH] GdaDataProxy: is no thread save so disabling its test
Has been difficutl to reproduce the problem when this test
is running in Ci, so disabling until we can re-implement it
is the better choice
---
libgda/gda-data-proxy.h | 4 +++-
tests/data-models/meson.build | 17 +++++++++--------
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/libgda/gda-data-proxy.h b/libgda/gda-data-proxy.h
index 4c31ab69b..ba0fa72b3 100644
--- a/libgda/gda-data-proxy.h
+++ b/libgda/gda-data-proxy.h
@@ -77,7 +77,9 @@ struct _GdaDataProxyClass
* @stability: Stable
* @see_also: #GdaDataModel
*
- * This object stores modifications to be made to a #GdaDataModel object which is proxied until the modifications are actually
+ * This object, is no thread save, so use with care.
+ *
+ * This object stores modifications to be made to a #GdaDataModel object which is proxied until the modifications are actually
* written to the #GdaDataModel, it can also filter the proxied data model to show only a subset (a defined number of continuous
* rows or by a filter to apply).
*
diff --git a/tests/data-models/meson.build b/tests/data-models/meson.build
index a8c6a29d8..e0ec8692a 100644
--- a/tests/data-models/meson.build
+++ b/tests/data-models/meson.build
@@ -61,14 +61,15 @@ tchkdp = executable('check_data_proxy',
],
install: false
)
-test('DataProxy', tchkdp,
- timeout: 100,
- workdir: meson.current_build_dir(),
- env: [
- 'GDA_TOP_SRC_DIR='+gda_top_src,
- 'GDA_TOP_BUILD_DIR='+gda_top_build
- ]
- )
+# This test is no thread save so disabling
+#test('DataProxy', tchkdp,
+# timeout: 100,
+# workdir: meson.current_build_dir(),
+# env: [
+# 'GDA_TOP_SRC_DIR='+gda_top_src,
+# 'GDA_TOP_BUILD_DIR='+gda_top_build
+# ]
+# )
tchkmc = executable('check_model_copy',
['check_model_copy.c'] + common_sources,
--
GitLab

View File

@ -1,40 +0,0 @@
From 024c121c844a4ec920133eb3f7e6b6ee8044c0b6 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Sat, 12 Dec 2020 04:05:56 +0000
Original-Patch: https://bugs.debian.org/977177
Subject: [PATCH] Set uid, username, gid, and group name on files in
generated tarball.
The user and group may otherwise vary between builds on different systems.
---
util/meson_aux/skeletonmm-tarball.py | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/util/meson_aux/skeletonmm-tarball.py b/util/meson_aux/skeletonmm-tarball.py
index db9e650..89049b6 100755
--- a/util/meson_aux/skeletonmm-tarball.py
+++ b/util/meson_aux/skeletonmm-tarball.py
@@ -39,10 +39,18 @@ elif output_file.endswith('.gz'):
else:
mode = 'w'
+def reproducible(tarinfo):
+ # Set consistent user and group on files in the tar archive
+ tarinfo.uid = 0
+ tarinfo.uname = 'root'
+ tarinfo.gid = 0
+ tarinfo.gname = 'root'
+ return tarinfo
+
with tarfile.open(output_file, mode=mode) as tar_file:
os.chdir(source_dir) # Input filenames are relative to source_dir.
for file in sys.argv[3:]:
- tar_file.add(file)
+ tar_file.add(file, filter=reproducible)
# Errors raise exceptions. If an exception is raised, Meson+ninja will notice
# that the command failed, despite exit(0).
sys.exit(0)
--
2.29.2

View File

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

View File

@ -1,54 +1,62 @@
Allow Nautilus to search for extensions in the directories listed
in $NAUTILUS_EXTENSION_PATH.
diff --git a/src/nautilus-module.c b/src/nautilus-module.c
index bf474bd..42e2a4e 100644
--- a/src/nautilus-module.c
+++ b/src/nautilus-module.c
@@ -211,6 +211,10 @@ static void
Index: nautilus-44.2/src/nautilus-module.c
===================================================================
--- nautilus-44.2.orig/src/nautilus-module.c
+++ nautilus-44.2/src/nautilus-module.c
@@ -220,8 +220,16 @@ static void
load_module_dir (const char *dirname)
{
GDir *dir;
-
+ static GHashTable *loaded = NULL;
g_autoptr (GStrvBuilder) installed_module_name_builder = g_strv_builder_new ();
+
+ if (installed_module_names != NULL)
+ g_strv_builder_addv (installed_module_name_builder,
+ (const gchar **)installed_module_names);
+
+ if (loaded == NULL)
+ loaded = g_hash_table_new (g_str_hash, g_str_equal);
+
dir = g_dir_open (dirname, 0, NULL);
@@ -221,15 +225,22 @@ load_module_dir (const char *dirname)
while ((name = g_dir_read_name (dir)))
if (dir)
@@ -232,16 +240,24 @@ load_module_dir (const char *dirname)
{
if (g_str_has_suffix (name, "." G_MODULE_SUFFIX))
- {
{
- char *filename;
-
- filename = g_build_filename (dirname,
- name,
- NULL);
- nautilus_module_load_file (filename);
- nautilus_module_load_file (filename, installed_module_name_builder);
- g_free (filename);
- }
+ {
+ /* Make sure each module is loaded only twice or this could
+ lead to a crash. Double loading can occur if DIRNAME
+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */
+ if (!g_hash_table_contains (loaded, name))
+ {
+ char *filename;
+ /* Make sure each module is loaded only twice or this could
+ lead to a crash. Double loading can occur if DIRNAME
+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */
+ if (!g_hash_table_contains (loaded, name))
+ {
+ char *filename;
+
+ filename = g_build_filename (dirname,
+ name,
+ NULL);
+ nautilus_module_load_file (filename);
+ g_hash_table_add (loaded, g_strdup (name));
+ g_free (filename);
+ }
+ }
}
+ filename = g_build_filename (dirname,
+ name,
+ NULL);
+ nautilus_module_load_file (filename,
+ installed_module_name_builder);
+ g_hash_table_add (loaded, g_strdup (name));
+ g_free (filename);
+ }
}
- }
+ }
g_dir_close (dir);
@@ -257,10 +268,24 @@ nautilus_module_setup (void)
}
@@ -278,10 +294,24 @@ nautilus_module_setup (void)
if (!initialized)
{

View File

@ -0,0 +1,40 @@
From 28067b88ad91e794675734bc92bd9c8653b4a46a Mon Sep 17 00:00:00 2001
Message-ID: <28067b88ad91e794675734bc92bd9c8653b4a46a.1709973702.git.vivien@planete-kraus.eu>
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sat, 9 Mar 2024 09:36:56 +0100
Subject: [PATCH] corba-loc: Do not allocate more tokens than necessary.
To split the list of locations, the code calls g_strsplit with the
last argument set to G_MAXINT. It means that g_strsplit will try to
allocate a huge array (G_MAXINT + 1, for the final NULL), mostly
filled with NULL. Unfortunately, on 32-bit systems, this is one past
the authorized length for an array. Previous versions of glib would
not care, but the new version now raises an error if this happens.
To get an array of the appropriate size, we can just pass -1 to the
last argument.
* src/orb/orb-core/corba-loc.c (ORBit_corbaloc_parse): Replace
G_MAXINT with -1.
---
src/orb/orb-core/corba-loc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/orb/orb-core/corba-loc.c b/src/orb/orb-core/corba-loc.c
index abfcaa29..6492d392 100644
--- a/src/orb/orb-core/corba-loc.c
+++ b/src/orb/orb-core/corba-loc.c
@@ -309,7 +309,7 @@ ORBit_corbaloc_parse (const gchar *corbaloc)
if (!(objkey = orbit_url_decode (okey)))
goto ret_error;
- if (!(token = g_strsplit (loc, ",", G_MAXINT)))
+ if (!(token = g_strsplit (loc, ",", -1)))
goto ret_error;
/* [ 'iiop' ] ':' [ '//' ] [ version '@' ] host [ ':' port ] */
base-commit: 144be2e9860286c83f009e7689250e0af977cc5e
--
2.41.0

View File

@ -0,0 +1,40 @@
From 18beaecbbcc066e0d4c889b3aa3ecaa7351f7768 Mon Sep 17 00:00:00 2001
Message-ID: <18beaecbbcc066e0d4c889b3aa3ecaa7351f7768.1711183363.git.vivien@planete-kraus.eu>
From: Evgeny Stambulchik <fnevgeny@gmail.com>
Date: Tue, 25 Apr 2023 16:11:25 +0300
Subject: [PATCH] Create Lists of nullable types
---
This is the pull request for issue 686, merged in master, not released
yet.
src/classes/drawings/drawing_commands.vala | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/classes/drawings/drawing_commands.vala b/src/classes/drawings/drawing_commands.vala
index 77e56e6..c305a8c 100644
--- a/src/classes/drawings/drawing_commands.vala
+++ b/src/classes/drawings/drawing_commands.vala
@@ -54,8 +54,8 @@ namespace pdfpc {
}
public void clear() {
- this.drawing_commands = new List<DrawingCommand>();
- this.redo_commands = new List<DrawingCommand>();
+ this.drawing_commands = new List<DrawingCommand?>();
+ this.redo_commands = new List<DrawingCommand?>();
}
public void add_line(bool is_eraser,
@@ -70,7 +70,7 @@ namespace pdfpc {
// After adding a new line you can no longer redo the old
// path.
- this.redo_commands = new List<DrawingCommand>(); // clear
+ this.redo_commands = new List<DrawingCommand?>(); // clear
bool new_path = true;
double epsilon = 1e-4; // Less than 0.1 pixel for a 1000x1000 img
--
2.41.0

View File

@ -0,0 +1,22 @@
Adapted from <https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/182>.
diff --git a/meson.build b/meson.build
index 3c75424..7058562 100644
--- a/meson.build
+++ b/meson.build
@@ -26,11 +26,11 @@ xmlto = find_program('xmlto', required: false)
###############################################################################
# Find xdgmime
-xdgmime = get_option('xdgmime-path') / 'src'
+xdgmime = get_option('xdgmime-path')
-xdgmime_print_mime_data = find_program(xdgmime/'print-mime-data', required: false)
-xdgmime_test_mime_data = find_program(xdgmime/'test-mime-data', required: false)
-xdgmime_test_mime = find_program(xdgmime/'test-mime', required: false)
+xdgmime_print_mime_data = find_program('print-mime-data', xdgmime/'print-mime-data', required: false)
+xdgmime_test_mime_data = find_program('test-mime-data', xdgmime/'test-mime-data', required: false)
+xdgmime_test_mime = find_program('test-mime', xdgmime/'test-mime', required: false)
xdgmime_found = (
xdgmime_print_mime_data.found() and
xdgmime_test_mime_data.found() and

View File

@ -0,0 +1,68 @@
From c05328185292d6f6a4459024cdb563c63bfad230 Mon Sep 17 00:00:00 2001
Message-ID: <c05328185292d6f6a4459024cdb563c63bfad230.1710315308.git.vivien@planete-kraus.eu>
From: Sebastian Ramacher <sebastian@ramacher.at>
Date: Mon, 29 Jan 2024 21:05:22 +0100
Subject: [PATCH] Use struct initializers
---
zathura/page-widget.c | 4 ++--
zathura/shortcuts.c | 12 +++++-------
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/zathura/page-widget.c b/zathura/page-widget.c
index 216381e..ac85dcf 100644
--- a/zathura/page-widget.c
+++ b/zathura/page-widget.c
@@ -1426,8 +1426,8 @@ cb_menu_image_save(GtkMenuItem* item, ZathuraPage* page)
}
/* set command */
- char* export_command = g_strdup_printf(":export image-p%d-%d ", page_id, image_id);
- girara_argument_t argument = { 0, export_command };
+ char* export_command = g_strdup_printf(":export image-p%d-%d ", page_id, image_id);
+ girara_argument_t argument = {.n = 0, .data = export_command};
sc_focus_inputbar(priv->zathura->ui.session, &argument, NULL, 0);
g_free(export_command);
diff --git a/zathura/shortcuts.c b/zathura/shortcuts.c
index 8836cd2..35b5990 100644
--- a/zathura/shortcuts.c
+++ b/zathura/shortcuts.c
@@ -513,7 +513,7 @@ sc_rotate(girara_session_t* session, girara_argument_t* argument,
zathura_document_set_rotation(zathura->document, (rotation + angle * t) % 360);
/* update scale */
- girara_argument_t new_argument = { zathura_document_get_adjust_mode(zathura->document), NULL };
+ girara_argument_t new_argument = {.n = zathura_document_get_adjust_mode(zathura->document), .data = NULL};
sc_adjust_window(zathura->ui.session, &new_argument, NULL, 0);
/* render all pages again */
@@ -1372,7 +1372,7 @@ sc_toggle_presentation(girara_session_t* session, girara_argument_t*
zathura->shortcut.toggle_presentation_mode.zoom = zathura_document_get_zoom(zathura->document);
/* adjust window */
- girara_argument_t argument = { ZATHURA_ADJUST_BESTFIT, NULL };
+ girara_argument_t argument = {.n = ZATHURA_ADJUST_BESTFIT, .data = NULL};
sc_adjust_window(session, &argument, NULL, 0);
/* hide status and inputbar */
@@ -1390,13 +1390,11 @@ sc_toggle_presentation(girara_session_t* session, girara_argument_t*
return false;
}
-bool
-sc_quit(girara_session_t* session, girara_argument_t* UNUSED(argument),
- girara_event_t* UNUSED(event), unsigned int UNUSED(t))
-{
+bool sc_quit(girara_session_t* session, girara_argument_t* UNUSED(argument), girara_event_t* UNUSED(event),
+ unsigned int UNUSED(t)) {
g_return_val_if_fail(session != NULL, false);
- girara_argument_t arg = { GIRARA_HIDE, NULL };
+ girara_argument_t arg = {.n = GIRARA_HIDE, .data = NULL};
girara_isc_completion(session, &arg, NULL, 0);
cb_destroy(NULL, NULL);
--
2.41.0

View File

@ -102,6 +102,7 @@ POSIX regular expression API.")
(base32
"0s4x2l6g0sb9piwkr3sxqwdswz2g6bk1hhwngv0kv4w38wybir0l"))))
(build-system gnu-build-system)
(outputs '("out" "static"))
(inputs (list bzip2 readline zlib))
(arguments
(list #:configure-flags
@ -114,14 +115,23 @@ POSIX regular expression API.")
;; riscv64-linux is an unsupported architecture.
#$@(if (target-riscv64?)
#~()
#~("--enable-jit"))
"--disable-static")
#~("--enable-jit")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "RunGrepTest"
(("/bin/echo") (which "echo"))))))))
(("/bin/echo") (which "echo")))))
(add-after 'install 'move-static-libs
(lambda _
(let ((source (string-append #$output "/lib"))
(static (string-append #$output:static "/lib")))
(mkdir-p static)
(for-each (lambda (lib)
(link lib (string-append static "/"
(basename lib)))
(delete-file lib))
(find-files source "\\.a$"))))))))
(synopsis "Perl Compatible Regular Expressions")
(description
"The PCRE library is a set of functions that implement regular expression

View File

@ -703,7 +703,7 @@ by using the poppler rendering engine.")
(define-public zathura
(package
(name "zathura")
(version "0.5.2")
(version "0.5.4")
(source (origin
(method url-fetch)
(uri
@ -711,7 +711,28 @@ by using the poppler rendering engine.")
version ".tar.xz"))
(sha256
(base32
"15314m9chmh5jkrd9vk2h2gwcwkcffv2kjcxkd4v3wmckz5sfjy6"))))
"0ckgamf98sydq543arp865jg1afwzhpzcsbhv6zrch2dm5x7y0x3"))
(patches (search-patches "zathura-use-struct-initializers.patch"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)
(let ((display ":1"))
(setenv "DISPLAY" display)
;; On busy machines, tests may take longer than
;; the default of four seconds.
(setenv "CK_DEFAULT_TIMEOUT" "20")
;; Don't fail due to missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system (string-append
(search-input-file inputs "/bin/Xvfb")
" " display " &")))))))))
(native-inputs
(list pkg-config
gettext-minimal
@ -733,24 +754,6 @@ by using the poppler rendering engine.")
(list (search-path-specification
(variable "ZATHURA_PLUGINS_PATH")
(files '("lib/zathura")))))
(build-system meson-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)
(let ((display ":1"))
(setenv "DISPLAY" display)
;; On busy machines, tests may take longer than
;; the default of four seconds.
(setenv "CK_DEFAULT_TIMEOUT" "20")
;; Don't fail due to missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system (string-append
(search-input-file inputs "/bin/Xvfb")
" " display " &")))))))))
(home-page "https://pwmt.org/projects/zathura/")
(synopsis "Lightweight keyboard-driven PDF viewer")
(description "Zathura is a customizable document viewer. It provides a
@ -1523,22 +1526,24 @@ multiple files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kj84sf5hgr2v2ra6dxmxqcr173h17cpnhg9lcq36shdbdnncwg4"))))
(base32 "0kj84sf5hgr2v2ra6dxmxqcr173h17cpnhg9lcq36shdbdnncwg4"))
(patches
(search-patches "pdfpc-build-with-vala-0.56.patch"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no test target
(inputs
`(("cairo" ,cairo)
("discount" ,discount) ; libmarkdown
("qrencode" ,qrencode)
("gtk+" ,gtk+)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("json-glib" ,json-glib)
("libgee" ,libgee)
("poppler" ,poppler)
("pango" ,pango)
("vala" ,vala)
("webkitgtk" ,webkitgtk-with-libsoup2)))
(inputs (list
cairo
discount ; libmarkdown
qrencode
gtk+
gstreamer
gst-plugins-base
json-glib
libgee
poppler
pango
vala
webkitgtk-with-libsoup2))
(native-inputs
(list pkg-config))
(home-page "https://pdfpc.github.io/")

View File

@ -158,7 +158,7 @@
perl
pkg-config
python
python-dbusmock))
python-dbusmock-minimal))
(home-page "https://www.freedesktop.org/wiki/Software/polkit/")
(synopsis "Authorization API for privilege management")
(description "Polkit is an application-level toolkit for defining and

View File

@ -194,6 +194,7 @@
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fonts)
@ -284,6 +285,7 @@
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
@ -14006,6 +14008,24 @@ file (e.g. @file{PKG-INFO}).")
(define-public python-pep621
(deprecated-package "python-pep621" python-pyproject-metadata))
(define-public python-meson-python
(package
(name "python-meson-python")
(version "0.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "meson_python" version))
(sha256
(base32 "0vyjhjabvm41hqijifk33idbdl62i76kfyf884f9rs29rpp77nzx"))))
(build-system meson-build-system)
(propagated-inputs (list python-pyproject-metadata python-tomli))
(home-page "https://github.com/mesonbuild/meson-python")
(synopsis "Meson Python build backend (PEP 517)")
(description "This package provides a PEP 517 build backend that makes
use of the Meson build system.")
(license license:expat)))
(define-public python-pyflakes
(package
(name "python-pyflakes")
@ -28929,17 +28949,50 @@ structure.")
for YAML and JSON.")
(license license:expat)))
(define-public python-dbus-python
(package
(name "python-dbus-python")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dbus-python" version))
(sha256
(base32 "1y28h90v2ib8zqhs3r2yr7ycg8ccwvw3gqkvadlm12v1129q2rxd"))))
(build-system pyproject-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-requirements
(lambda _
(substitute* (list "pyproject.toml" "setup.py")
(("'(ninja|patchelf)',?") ""))
(substitute* "setup.cfg"
(("(ninja|patchelf)") "")))))))
(inputs (list dbus glib))
(propagated-inputs (list python-pygobject))
(native-inputs (list pkg-config
python-meson-python
meson ninja patchelf
python-sphinx python-sphinx-rtd-theme
python-tappy
python-wheel))
(home-page "https://dbus.freedesktop.org/doc/dbus-python/")
(synopsis "Python bindings for libdbus")
(description "This package provides Python bindings to libdbus, the
reference implementation of the D-Bus protocol.")
(license license:expat)))
(define-public python-dbusmock
(package
(name "python-dbusmock")
(version "0.25.0")
(version "0.30.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-dbusmock" version))
(sha256
(base32
"1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
"1hanz6x76jq66ypdirga5h15zjs67kwysl6rmsf0i22dbdqrxdfv"))))
(build-system python-build-system)
(arguments
(list #:modules `((guix build python-build-system)
@ -28950,6 +29003,9 @@ for YAML and JSON.")
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tests/test_api.py"
(("/usr/bin/python3")
(which "python3")))
(substitute* "tests/test_code.py"
(("/bin/bash")
(which "bash")))
@ -28976,11 +29032,11 @@ for YAML and JSON.")
status))
(loop)))))))))))))
(native-inputs
(list dbus python-pytest which))
(list dbus python-pytest upower which))
(inputs
(list dbus))
(propagated-inputs
(list python-dbus python-pygobject))
(list python-dbus-python python-pygobject))
(home-page "https://github.com/martinpitt/python-dbusmock")
(synopsis "Python library for mock D-Bus objects")
(description "python-dbusmock allows for the easy creation of mock objects on
@ -28990,6 +29046,16 @@ hard (or impossible without root privileges) to set the state of the real
services to what you expect in your tests.")
(license license:lgpl3+)))
(define-public python-dbusmock-minimal
(package
(inherit python-dbusmock)
(name "python-dbusmock-minimal")
(arguments
(substitute-keyword-arguments (package-arguments python-dbusmock)
((#:tests? _ #t) #f)))
(native-inputs (list which))
(properties '((hidden? . #t)))))
(define-public python-jsonplus
(package
(name "python-jsonplus")

View File

@ -64,6 +64,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages rails)
#:use-module (gnu packages readline)
#:use-module (gnu packages autotools)

View File

@ -516,7 +516,7 @@ Vim bindings and Xresource compatibility.")
#t)))))
(inputs
`(("dmenu" ,dmenu)
("gcr" ,gcr)
("gcr" ,gcr-3)
("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk-with-libsoup2)

View File

@ -443,21 +443,23 @@ on arbitrary tasks. All the time data is saved in files residing in the
(base32 "1j2h5cv8wnmw41fpz1ggsgi599qhk184cas9kgd92glj3m4alg6f"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(substitute* '("tests/test_cli.py" "tests/test_formatter.py")
(("tests\\.helpers") "helpers"))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "tests" "-k"
(string-append
;; Test expects wrong output string.
"not test_bad_start_date "
;; Unknown failure
"and not test_default_command_args"))))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(substitute* '("tests/test_cli.py" "tests/test_formatter.py")
(("tests\\.helpers") "helpers"))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "--hypothesis-profile=ci"
"-vv" "tests" "-k"
(string-append
;; Test expects wrong output string.
"not test_bad_start_date "
;; Unknown failure
"and not test_default_command_args"))))))))
(native-inputs
(list python-setuptools-scm
python-pytest

View File

@ -326,8 +326,8 @@
(list abseil-cpp-cxxstd17
crc32c
ffmpeg
glib-next
glibmm-next
glib
glibmm
libdrm
libglvnd
libjpeg-turbo
@ -487,7 +487,7 @@ Telegram project, for its use in telegram desktop client.")
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(native-inputs
(list `(,glib-next "bin")
(list `(,glib "bin")
`(,gtk+ "bin")
pkg-config
python-wrapper))
@ -499,8 +499,8 @@ Telegram project, for its use in telegram desktop client.")
fcitx-qt5
fcitx5-qt
ffmpeg
glib-next
glibmm-next
glib
glibmm-2.76
gtk+
hime
hunspell

View File

@ -51,6 +51,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages sqlite)
@ -94,6 +95,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system qt))
(define-public phonesim
@ -1157,3 +1159,106 @@ very useful to emulate thousands of user agents calling your SIP system.")
(license (list license:gpl2+ ; sipp's main license
license:bsd-3 ; send_packets.c, send_packets.h
license:zlib)))) ; md5.c, md5.h
(define-public sofia-sip
(package
(name "sofia-sip")
(version "1.13.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/freeswitch/sofia-sip")
(commit (string-append "v" version))))
(file-name (git-file-name "sofia-sip" version))
(sha256
(base32
"1hi9np49wcq91d1w93qi6by40qnr348hpzc2wkw3l955zh1n30lr"))))
(build-system gnu-build-system)
(arguments
(list
;; run_addrinfo requires /etc/services for the 'echo' service.
#:make-flags #~'("XFAIL_TESTS = run_addrinfo"
;; libsofia-sip-ua/nta/Makefile.am sets
;; TESTS_ENVIRONMENT = $(SHELL), which is odd, because
;; according to the Automake manual, it should be
;; AM_TESTS_ENVIRONMENT, and it should end with a
;; semicolon.
"TESTS_ENVIRONMENT = \
export CHECK_NTA_VERBOSE=10; \
export CHECK_NUA_VERBOSE=10; ")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-shebangs
(lambda _
(patch-shebang "autogen.sh")))
(add-after 'unpack 'disable-failing-test
(lambda _
;; run_test_nta is disabled because it fails randomly (not for a
;; timeout-related reason). The test suite is otherwise very
;; long, most tests backed by libcheck timeout even with a ×100
;; multiplier. The tests are disabled here rather than put to
;; XFAIL_TESTS because it saves compilation time. (see:
;; https://github.com/freeswitch/sofia-sip/issues/234)
(substitute* "libsofia-sip-ua/nta/Makefile.am"
(("TESTS =")
"TESTS = run_test_nta_api\n# Disabled: "))
(substitute* "libsofia-sip-ua/nua/Makefile.am"
(("TESTS \\+=")
"TESTS +=\n# Disabled: "))
;; The glib tests both wait forever without a timeout.
(substitute* "libsofia-sip-ua-glib/su-glib/Makefile.am"
(("TESTS =")
"TESTS =\n# Disabled: "))
;; Another timeout failing test:
(substitute* "tests/Makefile.am"
(("TESTS = test_nua")
"TESTS ="))
;; This test fails for unknown reason:
(substitute* "tests/Makefile.am"
(("TESTS \\+= check_dlopen_sofia check_sofia")
"TESTS += check_dlopen_sofia")))))))
(inputs
(list glib
openssl
zlib))
(native-inputs
(list autoconf
autoconf-archive
automake
check
libtool
pkg-config))
(home-page "https://sofia-sip.sourceforge.net/")
(synopsis "SIP user-agent library")
(description "Sofia-SIP is a @acronym{SIP, Session Initiation Protocol}
User-Agent library, compliant with the
@url{https://datatracker.ietf.org/doc/html/rfc3261, IETF RFC3261}
specification. It can be used as a building block for @acronym{SIP} client
software foruses such as @acronym{VoIP, Voice over @acronym{IP, Internet
Protocol}}, @acronym{IM, Instant Messaging}, and many other real-time and
person-to-person communication services.")
(license license:lgpl2.1)))
(define-public libcallaudio
(package
(name "libcallaudio")
(version "0.1.9")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/mobian1/callaudiod/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0qnllb28101c2ss1k3iwr04gljfyjqmbla5csj6vkq1y63aagr9s"))))
(build-system meson-build-system)
(inputs (list alsa-lib glib pulseaudio))
(native-inputs
(list `(,glib "bin") ;for gdbus-codegen
pkg-config))
(home-page "https://gitlab.com/mobian1/callaudiod")
(synopsis "Library for audio routing during voice calls")
(description "This package provides @command{callaudiod}, a daemon to
route audio during phone calls, and a library.")
(license license:gpl3+)))

View File

@ -909,7 +909,7 @@ in plain text file format.")
(define-public editorconfig-core-c
(package
(name "editorconfig-core-c")
(version "0.12.5")
(version "0.12.6")
(source
(origin
(method git-fetch)
@ -918,7 +918,7 @@ in plain text file format.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "073sh18y0v8wm10iphaia54pkdmwylalccpn1k5i9dwyfjzgj7yg"))))
(base32 "05qllpls3r95nfl14gqq3cv4lisf07fgn85n52w8blc5pfl1h93g"))))
(build-system cmake-build-system)
(arguments
'(#:phases
@ -928,6 +928,13 @@ in plain text file format.")
(let ((tests (assoc-ref inputs "tests")))
(copy-recursively tests "tests"))
#t))
(add-after 'insert-tests 'disable-failing-tests
(lambda _
(substitute* "tests/parser/CMakeLists.txt"
(("# Test max property name and values")
"# Disabled: test max property name and values\nif(FALSE)\n")
(("# Test max section names")
"endif()\n\n# Test max section names"))))
(add-after 'install 'delete-static-library
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -45,6 +45,7 @@
#:use-module (gnu packages browser-extensions)
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)

View File

@ -495,7 +495,7 @@ exec smbd $@")))
;; The following static libraries are required to build
;; the static output of QEMU.
`(,glib "static")
`(,pcre "static")
`(,pcre2 "static")
`(,zlib "static")))
(home-page "https://www.qemu.org")
(synopsis "Machine emulator and virtualizer")

View File

@ -141,7 +141,7 @@
("which" ,which))) ;for tests
(inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme)
("gcr" ,gcr)
("gcr" ,gcr-3)
("glib" ,glib)
("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)

View File

@ -88,7 +88,7 @@
(define-public libxmlb
(package
(name "libxmlb")
(version "0.3.12")
(version "0.3.14")
(source
(origin
(method git-fetch)
@ -98,7 +98,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0v9s2k5saxrs0ssjyg1zxaibybikvaw7fip6sy0b8ixzax9r5y0c"))))
(base32 "0qcp881s559wc73db91vjccrv0d3zva87l5jdp5w0ygzz6bmg5cn"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
@ -107,7 +107,7 @@
(inputs
(list appstream-glib glib))
(propagated-inputs
(list `(,zstd "lib"))) ; in Requires.private of xmlb.pc
(list xz `(,zstd "lib"))) ; in Requires.private of xmlb.pc
(synopsis "Library to help create and query binary XML blobs")
(description "Libxmlb library takes XML source, and converts it to a
structured binary representation with a deduplicated string table; where the

View File

@ -85,6 +85,7 @@
swap-space->flags-bit-mask))
#:autoload (guix channels) (%default-channels channel->code)
#:use-module (guix gexp)
#:use-module ((guix packages) #:select (package-version))
#:use-module (guix records)
#:use-module (guix modules)
#:use-module (guix pki)
@ -155,11 +156,15 @@
udev-configuration
udev-configuration?
udev-configuration-rules
udev-configuration-hardware
udev-service-type
udev-service ; deprecated
udev-rule
udev-hardware
file->udev-rule
file->udev-hardware
udev-rules-service
udev-hardware-service
login-configuration
login-configuration?
@ -2268,11 +2273,13 @@ command that allows you to share pre-built binaries with others over HTTP.")))
(udev udev-configuration-udev ;file-like
(default eudev))
(rules udev-configuration-rules ;list of file-like
(default '())))
(default '()))
(hardware udev-configuration-hardware ;list of file-like
(default '())))
(define (udev-rules-union packages)
"Return the union of the @code{lib/udev/rules.d} directories found in each
item of @var{packages}."
(define (udev-configurations-union subdirectory packages)
"Return the union of the lib/udev/SUBDIRECTORY directories found in each
item of PACKAGES."
(define build
(with-imported-modules '((guix build union)
(guix build utils))
@ -2283,50 +2290,63 @@ item of @var{packages}."
(srfi srfi-26))
(define %standard-locations
'("/lib/udev/rules.d" "/libexec/udev/rules.d"))
'(#$(string-append "/lib/udev/" subdirectory)
#$(string-append "/libexec/udev/" subdirectory)))
(define (rules-sub-directory directory)
;; Return the sub-directory of DIRECTORY containing udev rules, or
;; #f if none was found.
(define (configuration-sub-directory directory)
;; Return the sub-directory of DIRECTORY containing udev
;; configurations, or #f if none was found.
(find directory-exists?
(map (cut string-append directory <>) %standard-locations)))
(union-build #$output
(filter-map rules-sub-directory '#$packages)))))
(filter-map configuration-sub-directory '#$packages)))))
(computed-file "udev-rules" build))
(computed-file (string-append "udev-" subdirectory) build))
(define (udev-rules-union packages)
"Return the union of the lib/udev/rules.d directories found in each
item of PACKAGES."
(udev-configurations-union "rules.d" packages))
(define (udev-configuration-file subdirectory file-name contents)
"Return a directory with a udev configuration file FILE-NAME containing CONTENTS."
(file->udev-configuration-file subdirectory file-name (plain-file file-name contents)))
(define (udev-rule file-name contents)
"Return a directory with a udev rule file FILE-NAME containing CONTENTS."
(udev-configuration-file "rules.d" file-name contents))
(define (udev-hardware file-name contents)
"Return a directory with a udev hardware file FILE-NAME containing CONTENTS."
(udev-configuration-file "hwdb.d" file-name contents))
(define (file->udev-configuration-file subdirectory file-name file)
"Return a directory with a udev configuration file FILE-NAME which is a copy
of FILE."
(computed-file file-name
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(define rules.d
(string-append #$output "/lib/udev/rules.d"))
(define configuration-directory
(string-append #$output
"/lib/udev/"
#$subdirectory))
(mkdir-p rules.d)
(call-with-output-file
(string-append rules.d "/" #$file-name)
(lambda (port)
(display #$contents port)))))))
(define file-copy-dest
(string-append configuration-directory "/" #$file-name))
(mkdir-p configuration-directory)
(copy-file #$file file-copy-dest)))))
(define (file->udev-rule file-name file)
"Return a directory with a udev rule file FILE-NAME which is a copy of FILE."
(computed-file file-name
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(file->udev-configuration-file "rules.d" file-name file))
(define rules.d
(string-append #$output "/lib/udev/rules.d"))
(define file-copy-dest
(string-append rules.d "/" #$file-name))
(mkdir-p rules.d)
(copy-file #$file file-copy-dest)))))
(define (file->udev-hardware file-name file)
"Return a directory with a udev hardware file FILE-NAME which is a copy of FILE."
(file->udev-configuration-file "hwdb.d" file-name file))
(define kvm-udev-rule
;; Return a directory with a udev rule that changes the group of /dev/kvm to
@ -2435,13 +2455,27 @@ item of @var{packages}."
(define (udev-etc config)
(match-record config <udev-configuration>
(udev rules)
(udev rules hardware)
(let* ((hardware
(udev-configurations-union "hwdb.d" (cons* udev hardware)))
(hwdb.bin
(computed-file
"hwdb.bin"
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(setenv "UDEV_HWDB_PATH" #$hardware)
(invoke #+(file-append udev "/bin/udevadm")
"hwdb"
"--update"
"-o" #$output))))))
`(("udev"
,(file-union "udev"
`(("udev.conf" ,udev.conf)
("rules.d"
,(udev-rules-union (cons* udev kvm-udev-rule
rules)))))))))
rules)))
("hwdb.bin" ,hwdb.bin))))))))
(define udev-service-type
(service-type (name 'udev)
@ -2450,12 +2484,15 @@ item of @var{packages}."
udev-shepherd-service)
(service-extension etc-service-type udev-etc)))
(compose concatenate) ;concatenate the list of rules
(extend (lambda (config rules)
(extend (lambda (config extensions)
(let ((initial-rules
(udev-configuration-rules config)))
(udev-configuration-rules config))
(initial-hardware
(udev-configuration-hardware config)))
(udev-configuration
(inherit config)
(rules (append initial-rules rules))))))
(rules (append initial-rules extensions))
(hardware (append initial-hardware extensions))))))
(default-value (udev-configuration))
(description
"Run @command{udev}, which populates the @file{/dev}
@ -2490,6 +2527,19 @@ instance."
(description "This service adds udev rules."))))
(service type #f)))
(define (udev-hardware-service name hardware-files)
"Return a service that extends udev-service-type with HARDWARE-FILES, named
NAME-udev-hardware."
(let* ((name (symbol-append name '-udev-hardware))
(udev-extension (const (list hardware-files)))
(type (service-type
(name name)
(extensions (list
(service-extension
udev-service-type udev-extension)))
(description "This service adds udev hardware files."))))
(service type #f)))
(define (swap-space->shepherd-service-name space)
(let ((target (swap-space-target space)))
(symbol-append 'swap-

View File

@ -163,7 +163,7 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
(group "messagebus")
(system? #t)
(comment "D-Bus system bus user")
(home-directory "/var/run/dbus")
(home-directory "/run/dbus")
(shell (file-append shadow "/sbin/nologin")))))
(define dbus-setuid-programs
@ -186,7 +186,38 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
(let ((user (getpwnam "messagebus")))
;; This directory contains the daemon's socket so it must be
;; world-readable.
(mkdir-p/perms "/var/run/dbus" user #o755))
(mkdir-p/perms "/run/dbus" user #o755))
(catch 'system-error
(lambda ()
(symlink "/run/dbus" "/var/run/dbus"))
(lambda args
(let ((errno (system-error-errno args)))
(cond
((= errno EEXIST)
(let ((existing-name
(false-if-exception
(readlink "/var/run/dbus"))))
(unless (equal? existing-name "/run/dbus")
;; Move the content of /var/run/dbus to /run/dbus, and
;; retry.
(let ((dir (opendir "/var/run/dbus")))
(let loop ((next (readdir dir)))
(cond
((eof-object? next) (closedir dir))
((member next '("." "..")) (loop (readdir dir)))
(else
(begin
(rename-file (string-append "/var/run/dbus/" next)
(string-append "/run/dbus/" next))
(loop (readdir dir)))))))
(rmdir "/var/run/dbus")
(symlink "/run/dbus" "/var/run/dbus"))))
(else
(format (current-error-port)
"Failed to symlink /run/dbus to /var/run/dbus: ~s~%"
(strerror errno))
(error "cannot create /var/run/dbus"))))))
(unless (file-exists? "/etc/machine-id")
(format #t "creating /etc/machine-id...~%")
@ -210,7 +241,7 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
'(#:environment-variables '("DBUS_VERBOSE=1")
#:log-file "/var/log/dbus-daemon.log")
'())
#:pid-file "/var/run/dbus/pid"))
#:pid-file "/run/dbus/pid"))
(stop #~(make-kill-destructor)))))))
(define dbus-root-service-type

View File

@ -37,6 +37,7 @@
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu services base)
#:use-module (gnu services configuration)
#:use-module (gnu services dbus)
#:use-module (gnu services avahi)
#:use-module (gnu services xorg)
@ -60,6 +61,7 @@
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages xfce)
#:use-module (gnu packages avahi)
#:use-module (gnu packages xdisorg)
@ -79,6 +81,7 @@
#:use-module (guix ui)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix modules)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 format)
@ -139,6 +142,11 @@
gnome-desktop-configuration
gnome-desktop-configuration?
gnome-desktop-configuration-core-services
gnome-desktop-configuration-shell
gnome-desktop-configuration-utilities
gnome-desktop-configuration-extra-packages
gnome-desktop-configuration-udev-ignorelist
gnome-desktop-service
gnome-desktop-service-type
@ -1382,11 +1390,45 @@ rules.")
;;; GNOME desktop service.
;;;
(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
make-gnome-desktop-configuration
gnome-desktop-configuration?
(gnome gnome-desktop-configuration-gnome
(default gnome)))
(define-maybe/no-serialization package)
(define (extract-propagated-inputs package)
;; Drop input labels. Attempt to support outputs.
(map
(match-lambda
((_ (? package? pkg)) pkg)
((_ (? package? pkg) output) (list pkg output)))
(package-propagated-inputs package)))
(define-configuration/no-serialization gnome-desktop-configuration
(core-services
(list-of-packages (extract-propagated-inputs gnome-meta-core-services))
"A list of packages that the GNOME Shell and applications may rely on.")
(shell
(list-of-packages (extract-propagated-inputs gnome-meta-core-shell))
"A list of packages that constitute the GNOME Shell, without applications.")
(utilities
(list-of-packages (extract-propagated-inputs gnome-meta-core-utilities))
"A list of packages that serve as applications to use on top of the \
GNOME Shell.")
(gnome (maybe-package) "Deprecated. Do not use.")
(extra-packages
(list-of-packages (extract-propagated-inputs gnome-essential-extras))
"A list of GNOME-adjacent packages to also include. This field is intended
for users to add their own packages to their GNOME experience. Note, that it
already includes some packages that are considered essential by some (most?)
GNOME users.")
(udev-ignorelist
(list-of-strings '())
"A list of regular expressions denoting udev rules or hardware file names
provided by any package that should not be installed. By default, every udev
rule and hardware file specified by any package referenced in the other fields
are installed.")
(polkit-ignorelist
(list-of-strings '())
"A list of regular expressions denoting polkit rules provided by any package
that should not be installed. By default, every polkit rule added by any package
referenced in the other fields are installed."))
(define (gnome-package gnome name)
"Return the package NAME among the GNOME package inputs. NAME can be a
@ -1398,31 +1440,84 @@ denote the spice-gtk input of the gnome-boxes input of the GNOME meta-package."
"Return the package NAMES among the GNOME package inputs."
(map (cut gnome-package gnome <>) names))
(define (gnome-udev-rules config)
"Return the list of GNOME dependencies that provide udev rules."
(let ((gnome (gnome-desktop-configuration-gnome config)))
(gnome-packages gnome '("gnome-settings-daemon"))))
(define (gnome-udev-configuration-files config)
"Return the GNOME udev rules and hardware files as computed from its
dependencies by filtering out the ignorelist."
(list
(computed-file
"gnome-udev-configurations"
(with-imported-modules
(source-module-closure '((guix build utils)
(guix build union)))
#~(begin
(use-modules (guix build utils)
(guix build union))
;; If rules.d or hwdb.d is not a proper directory but a symlink,
;; then it will not be possible to delete individual files in this
;; directory.
(union-build #$output
(search-path-as-list
(list "lib/udev" "libexec/udev")
(list #$@(gnome-profile config)))
#:create-all-directories? #t)
(for-each
(lambda (pattern)
(for-each
delete-file-recursively
(find-files #$output pattern)))
(list #$@(gnome-desktop-configuration-udev-ignorelist config))))))))
(define (gnome-polkit-settings config)
"Return the list of GNOME dependencies that provide polkit actions and
rules."
(let ((gnome (gnome-desktop-configuration-gnome config)))
(gnome-packages gnome
'("gnome-settings-daemon"
"gnome-control-center"
"gnome-system-monitor"
"gvfs"))))
(list
(computed-file
"gnome-polkit-settings"
(with-imported-modules
(source-module-closure '((guix build utils)
(guix build union)))
#~(let ((output (string-append #$output "/share/polkit-1")))
(use-modules (guix build utils)
(guix build union))
(mkdir-p (dirname output))
(union-build output
(search-path-as-list
(list "share/polkit-1")
(list #$@(gnome-profile config)))
#:create-all-directories? #t)
(for-each
(lambda (pattern)
(for-each
delete-file-recursively
(find-files output pattern)))
(list #$@(gnome-desktop-configuration-polkit-ignorelist config))))))))
(define (gnome-profile config)
"Return a list of packages propagated through CONFIG."
(append
(gnome-desktop-configuration-core-services config)
(gnome-desktop-configuration-shell config)
(gnome-desktop-configuration-utilities config)
(let ((gnome-meta (gnome-desktop-configuration-gnome config)))
(if (maybe-value-set? gnome-meta)
(begin
(warning
(gnome-desktop-configuration-source-location config)
(G_ "Using a meta-package for gnome-desktop is discouraged.~%"))
(list gnome-meta))
(list)))
(gnome-desktop-configuration-extra-packages config)))
(define gnome-desktop-service-type
(service-type
(name 'gnome-desktop)
(extensions
(list (service-extension udev-service-type
gnome-udev-rules)
gnome-udev-configuration-files)
(service-extension polkit-service-type
gnome-polkit-settings)
(service-extension profile-service-type
(compose list gnome-desktop-configuration-gnome))))
gnome-profile)))
(default-value (gnome-desktop-configuration))
(description "Run the GNOME desktop environment.")))

View File

@ -1048,7 +1048,7 @@ argument.")))
(default (xinitrc)))
(xdmcp? gdm-configuration-xdmcp?
(default #f))
(wayland? gdm-configuration-wayland? (default #f))
(wayland? gdm-configuration-wayland? (default #t))
(wayland-session gdm-configuration-wayland-session
(default gdm-wayland-session-wrapper)))

View File

@ -1579,7 +1579,7 @@ MIME type."
"Return a derivation that builds the @file{mime.cache} database from manifest
entries. It's used to query the MIME type of a given file."
(define shared-mime-info ; lazy reference
(module-ref (resolve-interface '(gnu packages gnome)) 'shared-mime-info))
(module-ref (resolve-interface '(gnu packages freedesktop)) 'shared-mime-info))
(mlet %store-monad ((glib (manifest-lookup-package manifest "glib")))
(define build