diff --git a/zilti/packages/hyprland.scm b/zilti/packages/hyprland.scm index 2e898bb..24b378c 100644 --- a/zilti/packages/hyprland.scm +++ b/zilti/packages/hyprland.scm @@ -432,10 +432,11 @@ more.") linux-pam mesa libdrm-for-hyprland - libglvnd libxkbcommon wayland-protocols-for-hyprland wayland + egl-wayland + egl-gbm rosenthal:hyprlang)) (home-page "https://github.com/hyprwm/hyprlock") (synopsis "Hyprland's GPU-accelerated screen locking utility") diff --git a/zilti/packages/utilities.scm b/zilti/packages/utilities.scm index 9318ac4..7056906 100644 --- a/zilti/packages/utilities.scm +++ b/zilti/packages/utilities.scm @@ -11,12 +11,57 @@ #:use-module (guix build-system trivial) #:use-module + (guix build-system glib-or-gtk) + #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module - ((gnu packages package-management) #:prefix gnu:)) + (gnu packages backup) + #:use-module + (gnu packages base) + #:use-module + (gnu packages bison) + #:use-module + (gnu packages compression) + #:use-module + (gnu packages curl) + #:use-module + (gnu packages freedesktop) + #:use-module + (gnu packages gettext) + #:use-module + (gnu packages glib) + #:use-module + (gnu packages gnome) + #:use-module + (gnu packages gnupg) + #:use-module + (gnu packages gtk) + #:use-module + (gnu packages linux) + #:use-module + (gnu packages networking) + #:use-module + (gnu packages package-management) + #:use-module + (gnu packages pkg-config) + #:use-module + (gnu packages polkit) + #:use-module + (gnu packages python) + #:use-module + (gnu packages python-build) + #:use-module + (gnu packages tls) + #:use-module + (gnu packages virtualization) + #:use-module + (gnu packages xml) + #:use-module + (gnu packages xorg) + ) (define-public process-compose (package @@ -55,9 +100,8 @@ to manage non-containerized applications.") (define-public flatpak (package - (inherit gnu:flatpak) - (name "flatpak") - (version "1.14.5") + (name "flatpak") + (version "1.14.5") (source (origin (method url-fetch) @@ -68,5 +112,101 @@ to manage non-containerized applications.") (base32 "1b7z4wzh2zgphcal95vj4x7wbr9s89p2a4c0l0g4w4xcwx6ccw2v")) (patches - (search-patches "flatpak-fix-path.patch")))))) + (search-patches "flatpak-fix-path.patch")))) + ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to + ;; find the TLS backend in glib-networking. + (build-system glib-or-gtk-build-system) + + (arguments + (list + #:configure-flags + #~(list + "--with-curl" + "--enable-documentation=no" ;; FIXME + "--enable-system-helper=no" + (string-append "--with-system-bubblewrap=" + (assoc-ref %build-inputs "bubblewrap") + "/bin/bwrap") + (string-append "--with-system-dbus-proxy=" + (assoc-ref %build-inputs "xdg-dbus-proxy") + "/bin/xdg-dbus-proxy") + "--localstatedir=/var" + ) + #:phases + #~(modify-phases %standard-phases + (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 "\"))")))))) + ;; Many tests fail for unknown reasons, so we just run a few basic + ;; tests. + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + (invoke "make" "check" + "TESTS=tests/test-basic.sh tests/test-config.sh + testcommon"))))))) + (native-inputs + (list bison + dbus ; for dbus-daemon + gettext-minimal + `(,glib "bin") ; for glib-mkenums + gdbus-codegen + (libc-utf8-locales-for-target) + gobject-introspection + libcap + pkg-config + python + python-pyparsing + socat + which)) + (inputs + (list appstream + appstream-glib + bubblewrap + curl + dconf + fuse + gdk-pixbuf + gpgme + json-glib + libarchive + libcap + libostree + libseccomp + libsoup-minimal-2 + libxau + libxml2 + p11-kit + polkit + util-linux + xdg-dbus-proxy + zstd)) + (propagated-inputs (list glib-networking gnupg gsettings-desktop-schemas)) + (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 +sandboxed desktop applications on GNU/Linux.") + (license license:lgpl2.1+)))