Package: guix-patches;
Reported by: Rostislav Svoboda <rostislav.svoboda <at> gmail.com>
Date: Fri, 11 Apr 2025 11:38:02 UTC
Severity: normal
Tags: patch
To reply to this bug, email your comments to 77735 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#77735
; Package guix-patches
.
(Fri, 11 Apr 2025 11:38:02 GMT) Full text and rfc822 format available.Rostislav Svoboda <rostislav.svoboda <at> gmail.com>
:guix-patches <at> gnu.org
.
(Fri, 11 Apr 2025 11:38:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Rostislav Svoboda <rostislav.svoboda <at> gmail.com> To: guix-patches <at> gnu.org Cc: Rostislav Svoboda <Rostislav.Svoboda <at> gmail.com> Subject: [PATCH] gnu: flatpak: Fix "No GSettings schemas are installed on the system". Date: Fri, 11 Apr 2025 13:36:51 +0200
* gnu/packages/package-management.scm (flatpak)[inputs]: Add gsettings-desktop-schemas. <#:phases>: Set GSETTINGS_SCHEMA_DIR in wrap-phase. This fixes an error that appeared when running system-wide Flatpak operations such as 'sudo flatpak update': GLib-GIO-ERROR [...] No GSettings schemas are installed on the system The missing schemas from gsettings-desktop-schemas prevented proper GLib configuration lookups (e.g., org.gnome.system.proxy). By setting GSETTINGS_SCHEMA_DIR to point to gsettings-desktop-schemas' schema directory, we ensure Flatpak can access required GLib configuration templates. Change-Id: I9522c07b6c8ccf20a86ee966effb73eb61a2abc7 --- gnu/packages/package-management.scm | 261 ++++++++++++++-------------- 1 file changed, 135 insertions(+), 126 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 81dcf24857..798930588b 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -2040,135 +2040,144 @@ (define-public libostree (license license:lgpl2.0+))) (define-public flatpak - (package - (name "flatpak") - (version "1.16.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/flatpak/flatpak/releases/download/" - version "/flatpak-" version ".tar.xz")) - (sha256 - (base32 "0ajbz8ms4h5nyjr59hv9z8vaimj4f3p51v8idmy14qnbmmjwa2nb")) - (patches - (search-patches "flatpak-fix-fonts-icons.patch" - "flatpak-fix-path.patch" - "flatpak-fix-icon-validation.patch" - "flatpak-unset-gdk-pixbuf-for-sandbox.patch")))) - (build-system meson-build-system) - (arguments - (list - #:configure-flags - #~(list - "-Dsystem_helper=disabled" - "-Dlocalstatedir=/var" - (string-append "-Dsystem_bubblewrap=" - (assoc-ref %build-inputs "bubblewrap") - "/bin/bwrap") - (string-append "-Dsystem_dbus_proxy=" - (assoc-ref %build-inputs "xdg-dbus-proxy") - "/bin/xdg-dbus-proxy")) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests - (lambda _ - (substitute* "tests/test-matrix/meson.build" - ;; The following tests fail with error message related to fusermount3 - ;; failing an unmount operation ("No such file or directory"). - (("^.*test-http-utils.*$") "") - (("^.*test-summaries <at> system.wrap.*$") "") - (("^.*test-prune.*$") "")))) - (add-after 'unpack 'fix-tests - (lambda* (#:key inputs #:allow-other-keys) - (copy-recursively - (search-input-directory inputs "lib/locale") - "/tmp/locale") - (for-each make-file-writable (find-files "/tmp")) - (substitute* "tests/make-test-runtime.sh" - (("cp `which.*") "echo guix\n") - (("cp -r /usr/lib/locale/C\\.\\*") - (string-append "mkdir ${DIR}/usr/lib/locale/en_US; \ + (let ((release "1.16.0") + (revision "1")) + (package + (name "flatpak") + (version (string-append release "-" revision)) + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/flatpak/flatpak/releases/download/" + release "/flatpak-" release ".tar.xz")) + (sha256 + (base32 "0ajbz8ms4h5nyjr59hv9z8vaimj4f3p51v8idmy14qnbmmjwa2nb")) + (patches + (search-patches "flatpak-fix-fonts-icons.patch" + "flatpak-fix-path.patch" + "flatpak-fix-icon-validation.patch" + "flatpak-unset-gdk-pixbuf-for-sandbox.patch")))) + (build-system meson-build-system) + (arguments + (list + #:configure-flags + #~(list + "-Dsystem_helper=disabled" + "-Dlocalstatedir=/var" + (string-append "-Dsystem_bubblewrap=" + (assoc-ref %build-inputs "bubblewrap") + "/bin/bwrap") + (string-append "-Dsystem_dbus_proxy=" + (assoc-ref %build-inputs "xdg-dbus-proxy") + "/bin/xdg-dbus-proxy")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "tests/test-matrix/meson.build" + ;; The following tests fail with error message related to fusermount3 + ;; failing an unmount operation ("No such file or directory"). + (("^.*test-http-utils.*$") "") + (("^.*test-summaries <at> system.wrap.*$") "") + (("^.*test-prune.*$") "")))) + (add-after 'unpack 'fix-tests + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively + (search-input-directory inputs "lib/locale") + "/tmp/locale") + (for-each make-file-writable (find-files "/tmp")) + (substitute* "tests/make-test-runtime.sh" + (("cp `which.*") "echo guix\n") + (("cp -r /usr/lib/locale/C\\.\\*") + (string-append "mkdir ${DIR}/usr/lib/locale/en_US; \ cp -r /tmp/locale/*/en_US.*"))) - (substitute* "tests/libtest.sh" - (("/bin/kill") (which "kill")) - (("/usr/bin/python3") (which "python3"))) - #t)) - (add-after 'unpack 'p11-kit-fix - (lambda* (#:key inputs #:allow-other-keys) - (let ((p11-path (search-input-file inputs "/bin/p11-kit"))) - (substitute* "session-helper/flatpak-session-helper.c" - (("\"p11-kit\",") - (string-append "\"" p11-path "\",")) - (("if \\(g_find_program_in_path \\(\"p11-kit\"\\)\\)") - (string-append "if (g_find_program_in_path (\"" - p11-path "\"))")))))) - (add-after 'unpack 'fix-icon-validation - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (store (dirname out))) - (substitute* "icon-validator/validate-icon.c" - (("@storeDir@") store))))) - (add-before 'check 'pre-check - (lambda _ - ;; Set $HOME to writable location for testcommon tests. - (setenv "HOME" "/tmp"))) - (add-after 'install 'wrap-flatpak - (lambda* (#:key inputs #:allow-other-keys) - (let ((flatpak (string-append #$output "/bin/flatpak")) - (glib-networking (assoc-ref inputs "glib-networking"))) - (wrap-program flatpak - ;; Allow GIO to find TLS backend. - `("GIO_EXTRA_MODULES" prefix - (,(string-append glib-networking "/lib/gio/modules")))))))))) - (native-inputs - (list bison - dbus ; for dbus-daemon - gettext-minimal - `(,glib "bin") ; for glib-mkenums + gdbus-codegen - gtk-doc - (libc-utf8-locales-for-target) - gobject-introspection - libcap - pkg-config - python - python-pyparsing - socat - which)) - (inputs - (list appstream - appstream-glib - bash-minimal - bubblewrap - curl - fuse - gdk-pixbuf - libcap - libostree - libsoup-minimal-2 - libxml2 - p11-kit - polkit - util-linux - xdg-dbus-proxy - zstd)) - (propagated-inputs (list glib-networking - gnupg - gsettings-desktop-schemas - ;; The following are listed in Requires.private of - ;; `flatpak.pc'. - curl - dconf - gpgme - json-glib - libarchive - libseccomp - libxau)) - (home-page "https://flatpak.org") - (synopsis "System for building, distributing, and running sandboxed desktop + (substitute* "tests/libtest.sh" + (("/bin/kill") (which "kill")) + (("/usr/bin/python3") (which "python3"))) + #t)) + (add-after 'unpack 'p11-kit-fix + (lambda* (#:key inputs #:allow-other-keys) + (let ((p11-path (search-input-file inputs "/bin/p11-kit"))) + (substitute* "session-helper/flatpak-session-helper.c" + (("\"p11-kit\",") + (string-append "\"" p11-path "\",")) + (("if \\(g_find_program_in_path \\(\"p11-kit\"\\)\\)") + (string-append "if (g_find_program_in_path (\"" + p11-path "\"))")))))) + (add-after 'unpack 'fix-icon-validation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (store (dirname out))) + (substitute* "icon-validator/validate-icon.c" + (("@storeDir@") store))))) + (add-before 'check 'pre-check + (lambda _ + ;; Set $HOME to writable location for testcommon tests. + (setenv "HOME" "/tmp"))) + (add-after 'install 'wrap-flatpak + (lambda* (#:key inputs #:allow-other-keys) + (let ((flatpak (string-append #$output "/bin/flatpak")) + (glib-networking (assoc-ref inputs "glib-networking"))) + (wrap-program flatpak + ;; Prevent error: + ;; "No GSettings schemas are installed on the system" + `("GSETTINGS_SCHEMA_DIR" = + (, (string-append + #$(this-package-input "gsettings-desktop-schemas") + "/share/glib-2.0/schemas"))) + ;; Allow GIO to find TLS backend. + `("GIO_EXTRA_MODULES" prefix + (,(string-append glib-networking "/lib/gio/modules")))))))))) + (native-inputs + (list bison + dbus ; for dbus-daemon + gettext-minimal + `(,glib "bin") ; for glib-mkenums + gdbus-codegen + gtk-doc + (libc-utf8-locales-for-target) + gobject-introspection + libcap + pkg-config + python + python-pyparsing + socat + which)) + (inputs + (list appstream + appstream-glib + bash-minimal + bubblewrap + curl + fuse + gsettings-desktop-schemas + gdk-pixbuf + libcap + libostree + libsoup-minimal-2 + libxml2 + p11-kit + polkit + util-linux + xdg-dbus-proxy + zstd)) + (propagated-inputs (list glib-networking + gnupg + gsettings-desktop-schemas + ;; The following are listed in Requires.private of + ;; `flatpak.pc'. + curl + dconf + gpgme + json-glib + libarchive + libseccomp + libxau)) + (home-page "https://flatpak.org") + (synopsis "System for building, distributing, and running sandboxed desktop applications") - (description "Flatpak is a system for building, distributing, and running + (description "Flatpak is a system for building, distributing, and running sandboxed desktop applications on GNU/Linux.") - (license license:lgpl2.1+))) + (license license:lgpl2.1+)))) (define-public fpm (package base-commit: 772b70455d0d5972fdad80d8529647dce20f409a -- 2.49.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.