diff options
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r-- | gnu/packages/gnome.scm | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a26b609c19..eebb547de3 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -108,6 +108,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages samba) #:use-module (gnu packages readline) + #:use-module (gnu packages fonts) #:use-module (srfi srfi-1)) (define-public brasero @@ -3794,6 +3795,46 @@ such as gzip tarballs.") (sha256 (base32 "0icajbzqf5llvp5s8nafwkhwz6a6jmwn4hhs81bk0bpzawyq4zdk")))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + ;; Use elogind instead of systemd. + (substitute* "configure" + (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal") + "libelogind") + (("systemd") "elogind")) + (substitute* "gnome-session/gsm-systemd.c" + (("#include <systemd/sd-login.h>") + "#include <elogind/sd-login.h>")) + ;; Remove uses of the systemd journal. + (substitute* "gnome-session/main.c" + (("#ifdef HAVE_SYSTEMD") "#if 0")) + (substitute* "gnome-session/gsm-manager.c" + (("#ifdef HAVE_SYSTEMD") "#if 0")) + #t)) + (add-after 'install 'wrap-gnome-session + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Make sure 'gnome-session' finds the 'gsettings' program. + (let ((glib (assoc-ref inputs "glib:bin")) + (out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/gnome-session") + `("PATH" ":" prefix (,(string-append glib "/bin")))) + #t))) + (add-after 'install 'disable-hardware-acceleration-check + (lambda* (#:key outputs #:allow-other-keys) + ;; Do not abort if hardware acceleration is missing. This allows + ;; GNOME to run in QEMU and on low-end devices. + (let ((out (assoc-ref outputs "out"))) + (substitute* (string-append out + "/share/xsessions/gnome.desktop") + (("gnome-session") + "gnome-session --disable-acceleration-check")) + #t)))) + + #:configure-flags + '("--enable-elogind"))) (build-system glib-or-gtk-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. @@ -3801,7 +3842,8 @@ such as gzip tarballs.") ("intltool" ,intltool) ("xsltproc" ,libxslt))) (inputs - `(("gnome-desktop" ,gnome-desktop) + `(("elogind" ,elogind) + ("gnome-desktop" ,gnome-desktop) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+) ("json-glib" ,json-glib) @@ -4803,6 +4845,7 @@ software that do not provide their own configuration interface.") ;; TODO: Add more packages according to: ;; <https://packages.debian.org/jessie/gnome-core>. `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("font-cantarell" ,font-cantarell) ("at-spi2-core" ,at-spi2-core) ("dbus" ,dbus) ("dconf" ,dconf) |