From: Raghav Gururajan <raghavgururajan@disroot.org>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix
Date: Wed, 12 Aug 2020 00:11:50 -0400 [thread overview]
Message-ID: <51b32cc8-6170-095d-6545-fd39fabe1343@disroot.org> (raw)
In-Reply-To: <1fbcd66c-3534-e69d-ef3b-dddf12a1e417@disroot.org>
[-- Attachment #1.1.1: Type: text/plain, Size: 201 bytes --]
@Danny
> Please find the attached patch for gnome-shell. Also I have attached
> revised patches for mutter and gdm.
OOPS! Sent you the wrong ones. Here are the correct ones.
Regards,
RG.
[-- Attachment #1.1.2: 0064-gnu-mutter-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 11901 bytes --]
From 4956005520e03defb583fbad14c307c552b59d12 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 10 Aug 2020 02:07:39 -0400
Subject: [PATCH 64/66] gnu: mutter: Update package definition.
* gnu/packages/gnome.scm (mutter) [version]: Update to 3.36.5.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flags>[-Dgles2_libname]: New flag.
[-Degl_device]: New flag.
[-Dwayland_eglstream]: New flag.
[-Dinstalled_tests]: New flag.
[-Dxwayland_grab_default_access_rules]: New flag.
[-Dc_link_args]: Modify flag.
<#:tests?>: Remove argument.
<#:phases>['fix-build-with-mesa-20]: Remove phase.
['check]: Remove phase.
['custom-check]: New phase.
[native-inputs]: Add adwaita-icon-theme, python-wrapper and ruby.
Remove autoconf, automake and libtool.
[propagated-inputs]: Add graphene, wayland and libxi. Remove xinput.
Move gdk-pixbuf+svg, libinput, eudev, libxcomposite, libxdamage, libxext,
libxkbcommon and libxrandr to ...
[inputs]: ... here. Add dbus, freetype, fribidi, libdrm, sysprof, egl-wayland,
wayland-protocols, libxau, libxcb, libxcursor, libxinerama and libxrender.
Remove zenity.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
gnu/packages/gnome.scm | 215 +++++++++++++++++++++++------------------
1 file changed, 120 insertions(+), 95 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index dfb65826fc..81e0cce794 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -118,6 +118,7 @@
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages geo)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gstreamer)
@@ -8618,114 +8619,138 @@ in commandline and shell scripts.")
(define-public mutter
(package
(name "mutter")
- (version "3.34.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
- ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
- ;; versions of cogl and clutter. As a result, many of the inputs,
- ;; propagated-inputs, and configure flags used in cogl and clutter are
- ;; needed here as well.
+ (version "3.36.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1py7sqrpvg2qvswxclshysx7hd9jk65i6cwqsagd6rg6rnjhblp0"))))
(build-system meson-build-system)
(arguments
- '(;; XXX: All mutter tests fail with the following error:
- ;; Settings schema 'org.gnome.mutter' is not installed
- #:tests? #f
- #:glib-or-gtk? #t
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags
- ;; TODO: Enable profiler when Sysprof is packaged.
- (list "-Dprofiler=false"
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib:"
- (assoc-ref %outputs "out") "/lib/mutter-5")
-
- ;; The following flags are needed for the bundled clutter
- (string-append "-Dxwayland_path="
- (assoc-ref %build-inputs "xorg-server-xwayland")
- "/bin/Xwayland")
-
- ;; the remaining flags are needed for the bundled cogl
- (string-append "-Dopengl_libname="
- (assoc-ref %build-inputs "mesa")
- "/lib/libGL.so"))
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'fix-build-with-mesa-20
- (lambda _
- ;; Mimic upstream commit a444a4c5f58ea516ad for
- ;; compatibility with Mesa 20. Remove for 3.36.
- (substitute* '("src/backends/meta-egl-ext.h"
- "src/backends/meta-egl.c"
- "src/backends/meta-egl.h")
- (("#include <EGL/eglext\\.h>" all)
- (string-append all "\n#include <EGL/eglmesaext.h>")))
- (substitute* "cogl/cogl/meson.build"
- (("#include <EGL/eglext\\.h>" all)
- (string-append all "\\n#include <EGL/eglmesaext.h>")))
- #t)))))
+ (list
+ (string-append "-Dopengl_libname="
+ (assoc-ref %build-inputs "mesa")
+ "/lib/libGL.so")
+ (string-append "-Dgles2_libname="
+ (assoc-ref %build-inputs "mesa")
+ "/lib/libGLESv2.so")
+ "-Degl_device=true"
+ "-Dwayland_eglstream=true"
+ "-Dinstalled_tests=false"
+ (string-append "-Dxwayland_path="
+ (assoc-ref %build-inputs "xorg-server-xwayland")
+ "/bin/Xwayland")
+ "-Dxwayland_grab_default_access_rules=gnome-boxes"
+ ;; Otherwise, the RUNPATH will lack the final path component.
+ (string-append "-Dc_link_args=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"
+ ":"
+ (assoc-ref %outputs "out")
+ "/lib/mutter-6"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'custom-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 +extension GLX &")
+ (setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; Tests look for $XDG_DATA_DIRS.
+ (setenv "XDG_DATA_DIRS"
+ (string-append (getenv "XDG_DATA_DIRS")
+ ":"
+ (assoc-ref %outputs "out")
+ "/share"))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ ;; Tests look for cursors.
+ (setenv "XCURSOR_PATH"
+ (string-append (assoc-ref %build-inputs "adwaita-icon-theme")
+ "/share/icons"))
+ (invoke "dbus-launch" "ninja" "test")
+ #t)))))
(native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ `(("adwaita-icon-theme" ,adwaita-icon-theme)
+ ("desktop-file-utils" ,desktop-file-utils)
+ ("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server-for-tests)
- ;; For git build
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
- (propagated-inputs
- `(;; libmutter.pc refers to these:
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gtk+" ,gtk+)
- ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
- ("atk" ,atk)
- ("cairo" ,cairo)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("glib" ,glib)
- ("json-glib" ,json-glib)
- ("libinput" ,libinput)
- ("libx11" ,libx11)
- ("libxcomposite" ,libxcomposite)
- ("libxdamage" ,libxdamage)
- ("libxext" ,libxext)
- ("libxfixes" ,libxfixes)
- ("libxkbcommon" ,libxkbcommon)
- ("libxrandr" ,libxrandr)
- ("mesa" ,mesa)
- ("pango" ,pango)
- ("udev" ,eudev)
- ("xinput" ,xinput)))
+ ("python" ,python-wrapper)
+ ("ruby" ,ruby)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
- `(("elogind" ,elogind)
+ `(("dbus" ,dbus)
+ ("freetype" ,freetype)
+ ("fribidi" ,fribidi)
+ ("gdk-pixbuf" ,gdk-pixbuf+svg)
("gnome-desktop" ,gnome-desktop)
("gnome-settings-daemon" ,gnome-settings-daemon)
- ("libcanberra-gtk" ,libcanberra)
- ("libgudev" ,libgudev)
- ("libice" ,libice)
- ("libsm" ,libsm)
+ ("gudev" ,libgudev)
+ ("ice" ,libice)
+ ("libcanberra" ,libcanberra)
+ ("libdrm" ,libdrm)
+ ("libelogind" ,elogind)
+ ("libinput" ,libinput)
+ ("libpipewire" ,pipewire)
+ ("libstartup-notification" ,startup-notification)
+ ("libudev" ,eudev)
("libwacom" ,libwacom)
- ("libxkbfile" ,libxkbfile)
- ("libxrandr" ,libxrandr)
- ("libxtst" ,libxtst)
- ("pipewire" ,pipewire)
- ("startup-notification" ,startup-notification)
- ("upower-glib" ,upower)
+ ("sm" ,libsm)
+ ("sysprof" ,sysprof)
+ ("upower" ,upower)
+ ("wayland-eglstream-protocols" ,egl-wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("xau" ,libxau)
+ ("xcb" ,libxcb)
+ ("xcomposite" ,libxcomposite)
+ ("xcursor" ,libxcursor)
+ ("xdamage" ,libxdamage)
+ ("xext" ,libxext)
+ ("xinerama" ,libxinerama)
+ ("xkbcommon" ,libxkbcommon)
+ ("xkbfile" ,libxkbfile)
("xkeyboard-config" ,xkeyboard-config)
("xorg-server-xwayland" ,xorg-server-xwayland)
- ("zenity" ,zenity)))
- (synopsis "Window and compositing manager")
- (home-page "https://www.gnome.org")
- (description
- "Mutter is a window and compositing manager that displays and manages your
-desktop via OpenGL. Mutter combines a sophisticated display engine using the
-Clutter toolkit with solid window-management logic inherited from the Metacity
-window manager.")
+ ("xrandr" ,libxrandr)
+ ("xrender" ,libxrender)
+ ("xtst" ,libxtst)))
+ (propagated-inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("graphene" ,graphene)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
+ ("json-glib" ,json-glib)
+ ("mesa" ,mesa)
+ ("pango" ,pango)
+ ("wayland" ,wayland)
+ ("x11" ,libx11)
+ ("xfixes" ,libxfixes)
+ ("xi" ,libxi)))
+ (synopsis "Wayland display server and X11 window manager and compositor library")
+ (description "Mutter, when used as a Wayland display server, it runs on top
+of KMS and libinput. It implements the compositor side of the Wayland core
+protocol as well as various protocol extensions. It also has functionality
+related to running X11 applications using Xwayland.
+Mutter, when used on top of Xorg, it acts as a X11 window manager and
+compositing manager.
+Mutter contains functionality related to, among other things, window management,
+window compositing, focus tracking, workspace management, keybindings and
+monitor configuration.")
+ (home-page "https://wiki.gnome.org/Projects/Mutter")
(license license:gpl2+)))
(define-public gnome-online-accounts
--
2.28.0
[-- Attachment #1.1.3: 0065-gnu-gdm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 19315 bytes --]
From 4b0704166c3ba4555752e57a698fec8b5dae2bcb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 11 Aug 2020 04:36:54 -0400
Subject: [PATCH 65/66] gnu: gdm: Update package definition.
* gnu/packages/gnome.scm (gdm) [version]: Update to 3.36.3.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[gdm-default-session.patch]: Remove patch.
[outputs]: New output "help".
[arguments]<#:configure-flags>[--disable-static]: New flag.
[--enable-gdm-xsession]: New flag.
[--enable-ipv6]: New flag.
[--with-help-dir]: New flag.
[--with-systemdsystemunitdir]: New flag.
[--with-default-path]: Modify flag.
[--with-xevie]: New flag.
[--without-plymouth]: Remove flag.
[--localstatedir]: Remove flag.
[--sbindir]: Remove flag.
<#:phases>['pre-configure]: Modify phase.
['install-placeholder-desktop-entry]: Remove phase.
['link-autostart-files]: Remove phase.
[native-inputs]: Add check.
[inputs]: Add glib, audit, keyutils, libice, libselinux, plymouth,
tcp-wrappers, libx11, libxau, libxcb, libxdmcp, libext and libxinerama.
Remove check.
[synopsis]: Modify.
[description]: Modify.
* gnu/packages/patches/gdm-default-session.patch: Remove file.
* gnu/local.mk (gdm-default-session.patch): Remove reference.
---
gnu/local.mk | 1 -
gnu/packages/gnome.scm | 241 ++++++------------
.../patches/gdm-default-session.patch | 89 -------
3 files changed, 75 insertions(+), 256 deletions(-)
delete mode 100644 gnu/packages/patches/gdm-default-session.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 9ff617a1ac..ec0b6defa8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -973,7 +973,6 @@ dist_patch_DATA = \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
%D%/packages/patches/gdb-hurd.patch \
- %D%/packages/patches/gdm-default-session.patch \
%D%/packages/patches/gegl-mrg.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 81e0cce794..83a6689b7c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -92,6 +92,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -9543,172 +9544,69 @@ libxml2.")
(define-public gdm
(package
(name "gdm")
- (version "3.34.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
- (patches (search-patches "gdm-default-session.patch"))))
+ (version "3.36.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "10byz8jwqv1qpvjj8wd36vfb8pbh9g7pchsc1gbwplf0rchbdyrv"))))
(build-system glib-or-gtk-build-system)
+ (outputs '("out" "help"))
(arguments
- '(#:configure-flags
- `("--without-plymouth"
- "--disable-systemd-journal"
-
- ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
- ;; instead of having to replace it (i.e., stopping the mingetty
- ;; service for TTY 1 before starting GDM).
- "--with-initial-vt=7"
-
- ;; Use '/etc/environment' for locale settings instead of the
- ;; systemd-specific '/etc/locale.conf'.
- "--with-lang-file=/etc/environment"
-
- ,(string-append "--with-udevdir="
- (assoc-ref %outputs "out") "/lib/udev")
-
- "--localstatedir=/var"
- ,(string-append "--with-default-path="
- (string-join '("/run/setuid-programs"
- "/run/current-system/profile/bin"
- "/run/current-system/profile/sbin")
- ":"))
- ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
- ;; XDG_DATA_DIRS so that it finds its schemas.
- "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--enable-gdm-xsession"
+ "--disable-systemd-journal"
+ "--enable-ipv6"
+ (string-append "--with-help-dir="
+ (assoc-ref %outputs "help")
+ "/share/help")
+ (string-append "--with-udevdir="
+ (assoc-ref %outputs "out")
+ "/lib/udev")
+ (string-append "--with-systemdsystemunitdir="
+ (getcwd))
+ (string-append "--with-default-path="
+ "/run/setuid-programs"
+ ":"
+ "/run/current-system/profile/bin"
+ ":"
+ "/run/current-system/profile/sbin")
+ "--with-lang-file=/etc/environment"
+ "--with-xevie"
+ "--with-initial-vt=7")
#:phases
(modify-phases %standard-phases
- (add-before
- 'configure 'pre-configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; We don't have <systemd/sd-daemon.h>.
- (substitute* '("common/gdm-log.c"
- "daemon/gdm-server.c"
- "daemon/gdm-session-worker.c"
- "daemon/gdm-session-worker-job.c")
- (("#include <systemd/sd-daemon\\.h>") ""))
- ;; Use elogind for sd-login.
- (substitute* '("common/gdm-common.c"
- "daemon/gdm-local-display-factory.c"
- "daemon/gdm-manager.c"
- "libgdm/gdm-user-switching.c")
- (("#include <systemd/sd-login\\.h>")
- "#include <elogind/sd-login.h>"))
- ;; Check for elogind.
- (substitute* '("configure")
- (("libsystemd")
- "libelogind"))
- ;; Look for system-installed sessions in
- ;; /run/current-system/profile/share.
- (substitute* '("libgdm/gdm-sessions.c"
- "daemon/gdm-session.c"
- "daemon/gdm-display.c"
- "daemon/gdm-launch-environment.c")
- (("DATADIR \"/x")
- "\"/run/current-system/profile/share/x")
- (("DATADIR \"/wayland")
- "\"/run/current-system/profile/share/wayland")
- (("DATADIR \"/gnome")
- "\"/run/current-system/profile/share/gnome"))
- (let ((propagate '("GDM_CUSTOM_CONF"
- "GDM_DBUS_DAEMON"
- "GDM_X_SERVER"
- "GDM_X_SESSION"
- ;; XXX: Remove this once GNOME Shell is
- ;; a dependency of GDM.
- "XDG_DATA_DIRS")))
- (substitute* "daemon/gdm-session.c"
- (("set_up_session_environment \\(self\\);")
- (apply string-append
- "set_up_session_environment (self);\n"
- (map (lambda (name)
- (string-append
- "gdm_session_set_environment_variable "
- "(self, \"" name "\","
- "g_getenv (\"" name "\"));\n"))
- propagate)))))
- ;; Find the configuration file using an environment variable.
- (substitute* '("common/gdm-settings.c")
- (("GDM_CUSTOM_CONF")
- (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
- " ? g_getenv(\"GDM_CUSTOM_CONF\")"
- " : GDM_CUSTOM_CONF)")))
- ;; Use service-supplied path to X.
- (substitute* '("daemon/gdm-server.c")
- (("\\(X_SERVER X_SERVER_ARG_FORMAT")
- "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
- (substitute* '("daemon/gdm-wayland-session.c"
- "daemon/gdm-x-session.c")
- (("\"dbus-daemon\"")
- "g_getenv (\"GDM_DBUS_DAEMON\")")
- (("X_SERVER")
- "g_getenv (\"GDM_X_SERVER\")")
- (("GDMCONFDIR \"/Xsession\"")
- "g_getenv (\"GDM_X_SESSION\")"))
- ;; Use an absolute path for GNOME Session.
- (substitute* "daemon/gdm-launch-environment.c"
- (("\"gnome-session\"")
- (string-append "\"" (assoc-ref inputs "gnome-session")
- "/bin/gnome-session\"")))
- ;; Do not automatically select the placeholder session.
- (substitute* "daemon/gdm-session.c"
- (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
- (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
- "(g_strcmp0(search_dirs[i], \""
- (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
- "\") == 0 && "
- "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
- (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
- "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
- #t))
- ;; GDM requires that there be at least one desktop entry
- ;; file. This phase installs a hidden one that simply
- ;; fails. This enables users to use GDM with a
- ;; '~/.xsession' script with no other desktop entry files.
- ;; See <https://bugs.gnu.org/35068>.
- (add-after 'install 'install-placeholder-desktop-entry
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (sessions (string-append out "/share/gdm/BuiltInSessions"))
- (fail (string-append sessions "/fail.desktop")))
- (mkdir-p sessions)
- (with-output-to-file fail
- (lambda ()
- (for-each
- display
- '("[Desktop Entry]\n"
- "Encoding=UTF-8\n"
- "Type=Application\n"
- "Name=Fail\n"
- "Comment=This session fails immediately.\n"
- "NoDisplay=true\n"
- "Exec=false\n"))))
- #t)))
- ;; GDM needs GNOME Session to run these applications. We link
- ;; their autostart files in `share/gdm/greeter/autostart'
- ;; because GDM explicitly tells GNOME Session to look there.
- ;;
- ;; XXX: GNOME Shell should be linked here too, but currently
- ;; GNOME Shell depends on GDM.
- (add-after 'install 'link-autostart-files
+ (add-before 'configure 'pre-configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (autostart (string-append out "/share/gdm/"
- "greeter/autostart"))
- (settings (assoc-ref inputs "gnome-settings-daemon")))
- (mkdir-p autostart)
- (with-directory-excursion autostart
- (for-each (lambda (desktop)
- (symlink desktop (basename desktop)))
- (find-files (string-append settings "/etc/xdg"))))
- #t))))))
+ ;; We don't have <systemd/sd-daemon.h>.
+ (substitute* '("common/gdm-log.c"
+ "daemon/gdm-server.c"
+ "daemon/gdm-session-worker.c"
+ "daemon/gdm-session-worker-job.c")
+ (("#include <systemd/sd-daemon\\.h>")
+ ""))
+ ;; Use elogind for sd-login.
+ (substitute* '("common/gdm-common.c"
+ "daemon/gdm-local-display-factory.c"
+ "daemon/gdm-manager.c"
+ "libgdm/gdm-user-switching.c")
+ (("#include <systemd/sd-login\\.h>")
+ "#include <elogind/sd-login.h>"))
+ ;; Check for elogind.
+ (substitute* '("configure")
+ (("libsystemd")
+ "libelogind"))
+ #t)))))
(native-inputs
- `(("dconf" ,dconf)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ `(("check" ,check)
+ ("dconf" ,dconf)
+ ("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("itstool" ,itstool)
@@ -9716,19 +9614,30 @@ libxml2.")
("xmllint" ,libxml2)))
(inputs
`(("accountsservice" ,accountsservice)
- ("check" ,check) ; for testing
("elogind" ,elogind)
+ ("glib" ,glib)
("gnome-session" ,gnome-session)
("gnome-settings-daemon" ,gnome-settings-daemon)
("gtk+" ,gtk+)
+ ("ice" ,libice)
("iso-codes" ,iso-codes)
+ ("libaudit" ,audit)
("libcanberra" ,libcanberra)
- ("linux-pam" ,linux-pam)))
- (synopsis "Display manager for GNOME")
+ ("libkeyutils" ,keyutils)
+ ("libselinux" ,libselinux)
+ ("linux-pam" ,linux-pam)
+ ("plymouth" ,plymouth)
+ ("tcp-wrappers" ,tcp-wrappers)
+ ("x11" ,libx11)
+ ("xau" ,libxau)
+ ("xcb" ,libxcb)
+ ("xdmcp" ,libxdmcp)
+ ("xext" ,libxext)
+ ("xinerama" ,libxinerama)))
+ (synopsis "GNOME Display Manager")
+ (description "GDM is a program that manages graphical display servers and
+handles graphical user logins.")
(home-page "https://wiki.gnome.org/Projects/GDM/")
- (description
- "GNOME Display Manager is a system service that is responsible for
-providing graphical log-ins and managing local and remote displays.")
(license license:gpl2+)))
(define-public libgtop
diff --git a/gnu/packages/patches/gdm-default-session.patch b/gnu/packages/patches/gdm-default-session.patch
deleted file mode 100644
index 9ab2829cdb..0000000000
--- a/gnu/packages/patches/gdm-default-session.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-This patch ensures '.desktop' files are picked up in the system profile
-and not in the directories listed in $XDG_DATA_DIRS. The latter includes
-'gnome-session.desktop', which should be used if it's in
-/run/current-system/profile, and only then.
-
-Fixes <https://bugs.gnu.org/37831>.
-
-diff -ur a/daemon/gdm-session.c b/daemon/gdm-session.c
---- a/daemon/gdm-session.c 2019-09-25 10:40:24.000000000 -0400
-+++ b/daemon/gdm-session.c 2020-04-18 18:30:02.671856808 -0400
-@@ -348,24 +348,18 @@
- GArray *search_array = NULL;
- char **search_dirs;
- int i;
-- const gchar * const *system_data_dirs = g_get_system_data_dirs ();
-
- static const char *x_search_dirs[] = {
- "/etc/X11/sessions/",
- DMCONFDIR "/Sessions/",
- DATADIR "/gdm/BuiltInSessions/",
-- DATADIR "/xsessions/",
-+ "/run/current-system/profile/share/xsessions/"
- };
-
- static const char *wayland_search_dir = DATADIR "/wayland-sessions/";
-
- search_array = g_array_new (TRUE, TRUE, sizeof (char *));
-
-- for (i = 0; system_data_dirs[i]; i++) {
-- gchar *dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
-- g_array_append_val (search_array, dir);
-- }
--
- g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs));
-
- #ifdef ENABLE_WAYLAND_SUPPORT
-@@ -373,16 +367,7 @@
- #ifdef ENABLE_USER_DISPLAY_SERVER
- g_array_prepend_val (search_array, wayland_search_dir);
-
-- for (i = 0; system_data_dirs[i]; i++) {
-- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
-- g_array_insert_val (search_array, i, dir);
-- }
- #else
-- for (i = 0; system_data_dirs[i]; i++) {
-- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
-- g_array_append_val (search_array, dir);
-- }
--
- g_array_append_val (search_array, wayland_search_dir);
- #endif
- }
-diff -ur a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
---- a/libgdm/gdm-sessions.c 2019-10-07 04:53:35.000000000 -0400
-+++ b/libgdm/gdm-sessions.c 2020-04-18 18:31:42.491348691 -0400
-@@ -245,19 +245,12 @@
- "/etc/X11/sessions/",
- DMCONFDIR "/Sessions/",
- DATADIR "/gdm/BuiltInSessions/",
-- DATADIR "/xsessions/",
-+ "/run/current-system/profile/share/xsessions/"
- };
-
- names_seen_before = g_hash_table_new (g_str_hash, g_str_equal);
- xorg_search_array = g_ptr_array_new_with_free_func (g_free);
-
-- const gchar * const *system_data_dirs = g_get_system_data_dirs ();
--
-- for (i = 0; system_data_dirs[i]; i++) {
-- session_dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
-- g_ptr_array_add (xorg_search_array, session_dir);
-- }
--
- for (i = 0; i < G_N_ELEMENTS (xorg_search_dirs); i++) {
- g_ptr_array_add (xorg_search_array, g_strdup (xorg_search_dirs[i]));
- }
-@@ -269,11 +262,6 @@
-
- wayland_search_array = g_ptr_array_new_with_free_func (g_free);
-
-- for (i = 0; system_data_dirs[i]; i++) {
-- session_dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
-- g_ptr_array_add (wayland_search_array, session_dir);
-- }
--
- for (i = 0; i < G_N_ELEMENTS (wayland_search_dirs); i++) {
- g_ptr_array_add (wayland_search_array, g_strdup (wayland_search_dirs[i]));
- }
--
2.28.0
[-- Attachment #1.1.4: 0066-gnu-gnome-shell-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 19889 bytes --]
From dc5e529d654523e620012a6d7ab232c552adf17b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 11 Aug 2020 08:51:31 -0400
Subject: [PATCH 66/66] gnu: gnome-shell: Update package definition.
* gnu/packages/gnome.scm (gnome-shell) [version]: Update to 3.36.5.
[source]<origin>[sha256]: Modify base32.
[patches]: Remove field.
[snippet]: Remove field.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dgtk_doc]: New flag.
<#:disallowed-references>: Remove argument.
<#:modules>: Remove argument.
<#:phases>['patch-docbook]: New phase.
['patch-install-paths]: New phase.
['skip-gtk-update-icon-cache]: New phase.
['check]: Replace phase.
['no-meson-shenanigan]: New phase.
['move-doc]: New phase.
['fix-keysdir]: Remove phase.
['convert-logo-to-png]: Remove phase.
['record-absolute-file-names]: Remove phase.
['pre-check]: Remove phase.
['wrap-programs]: Remove phase.
[native-inputs]: Add dbus, docbook-xml, docbook-xsl and gtk-doc.
Remove inkscape and ruby-sassc. Replace python with python-wrapper.
[inputs]: Add appstream-glib, at-spi2-atk, bash-completion, clutter,
cogl, glib, gnome-control-center, gsettings-desktop-schemas, gstreamer,
gtk+, json-glib, network-manager, libsecret, libxml2, pango and libx11.
Remove caribou, docbook-xsl, libcanberra, libcroco, libgnomekbd, libnma,
libsoup, mesa-headers, network-manager-applet, python-pygobject,
telepathy-logger and upower.
[synopsis]: Modify.
[description]: Modify.
* gnu/packages/patches/gnome-shell-disable-test.patch: Remove file.
* gnu/packages/patches/gnome-shell-theme.patch: Remove file.
* gnu/local.mk (gnome-shell-disable-test.patch): Remove reference.
* gnu/local.mk (gnome-shell-theme.patch): Remove reference.
---
gnu/local.mk | 2 -
gnu/packages/gnome.scm | 241 +++++++++---------
.../patches/gnome-shell-disable-test.patch | 25 --
gnu/packages/patches/gnome-shell-theme.patch | 51 ----
4 files changed, 118 insertions(+), 201 deletions(-)
delete mode 100644 gnu/packages/patches/gnome-shell-disable-test.patch
delete mode 100644 gnu/packages/patches/gnome-shell-theme.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index ec0b6defa8..4cd240d432 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1030,8 +1030,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
- %D%/packages/patches/gnome-shell-theme.patch \
- %D%/packages/patches/gnome-shell-disable-test.patch \
%D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 83a6689b7c..2d0cb89af1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9889,162 +9889,157 @@ configuration of various aspects of your desktop.")
(define-public gnome-shell
(package
(name "gnome-shell")
- (version "3.34.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
- (patches (search-patches "gnome-shell-theme.patch"
- "gnome-shell-disable-test.patch"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- ;; Copy images for use on the GDM log-in screen.
- (copy-file #$(file-append %artwork-repository
- "/slim/0.x/background.png")
- "data/theme/guix-background.png")
- (copy-file #$(file-append %artwork-repository
- "/logo/Guix-horizontal-white.svg")
- "data/theme/guix-logo.svg")
- #t))))
+ (version "3.36.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1hj7gmjmy92xndlgw7pzk5m6j2fbzcgfd1pxc32k38gml8qg19d4"))))
(build-system meson-build-system)
+ (outputs '("out" "doc"))
(arguments
- `(#:glib-or-gtk? #t
- #:disallowed-references ((,glib "bin")
- ,inkscape ,libxslt
- ,ruby-sass)
+ `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags
- (list "-Dsystemd=false"
- ;; Otherwise, the RUNPATH will lack the final path component.
- (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gnome-shell"))
-
- #:modules ((guix build meson-build-system)
- (guix build utils)
- (srfi srfi-1))
-
+ (list
+ "-Dgtk_doc=true"
+ "-Dsystemd=false"
+ ;; Otherwise, the RUNPATH will lack the final path component.
+ (string-append "-Dc_link_args=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib/gnome-shell"))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-keysdir
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (keysdir (string-append
- out "/share/gnome-control-center/keybindings")))
- (substitute* "meson.build"
- (("keysdir =.*")
- (string-append "keysdir = '" keysdir "'\n")))
- #t)))
- (add-before 'configure 'convert-logo-to-png
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Convert the logo from SVG to PNG.
- (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
- "data/theme/guix-logo.svg")))
- (add-before 'configure 'record-absolute-file-names
+ (add-after 'unpack 'patch-docbook
(lambda* (#:key inputs #:allow-other-keys)
- (substitute* "js/misc/ibusManager.js"
- (("'ibus-daemon'")
- (string-append "'" (assoc-ref inputs "ibus")
- "/bin/ibus-daemon'")))
- (substitute* "js/ui/status/keyboard.js"
- (("'gkbd-keyboard-display'")
- (string-append "'" (assoc-ref inputs "libgnomekbd")
- "/bin/gkbd-keyboard-display'")))
+ (substitute* '("man/gnome-shell.xml" "man/meson.build"
+ "docs/reference/shell/shell-docs.sgml"
+ "docs/reference/st/st-docs.sgml")
+ (("http://docbook.sourceforge.net/release/xsl/current")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)))
+ (("http://www.oasis-open.org/docbook/xml/4.3/")
+ (string-append (assoc-ref inputs "docbook-xml-4.3")
+ "/xml/dtd/docbook/"))
+ (("http://www.oasis-open.org/docbook/xml/4.2/")
+ (string-append (assoc-ref inputs "docbook-xml-4.2")
+ "/xml/dtd/docbook/")))
#t))
- (add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
+ (add-after 'patch-docbook 'patch-install-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "meson.build"
+ (("keybindings_dep\\.get_pkgconfig_variable\\('keysdir'\\)")
+ "join_paths(datadir, 'gnome-control-center', 'keybindings')"))
+ (substitute* '("src/meson.build" "src/st/meson.build"
+ "subprojects/gvc/meson.build")
+ (("install_dir_gir: pkgdatadir,")
+ "install_dir_gir: join_paths(pkgdatadir, 'gir-1.0'),")
+ (("install_dir_typelib: pkglibdir,")
+ "install_dir_typelib: join_paths(pkglibdir, 'girepository-1.0'),"))
+ (substitute* "subprojects/extensions-tool/meson.build"
+ (("bash_completion\\.get_pkgconfig_variable\\('completionsdir'\\)")
+ (string-append "'"
+ (assoc-ref outputs "out")
+ "/share/bash-completion/completions"
+ "'")))
+ #t))
+ (add-before 'configure 'skip-gtk-update-icon-cache
+ (lambda _
+ (substitute* "meson/postinstall.py"
+ (("gtk-update-icon-cache")
+ "true"))
+ #t))
+ (replace 'check
+ (lambda _
;; Tests require a running X server.
- (system "Xvfb :1 &")
+ (system "Xvfb :1 +extension GLX &")
(setenv "DISPLAY" ":1")
+ ;; Tests write to $HOME.
+ (setenv "HOME" (getcwd))
+ ;; Tests look for $XDG_RUNTIME_DIR.
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ ;; For missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (invoke "dbus-launch" "ninja" "test")
#t))
- (add-after 'install 'wrap-programs
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
- (python-path (getenv "PYTHONPATH")))
- (wrap-program (string-append out "/bin/gnome-shell")
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- ;; FIXME: gnome-shell loads these libraries with unqualified
- ;; names only, so they need to be on LD_LIBRARY_PATH. The
- ;; alternative might be to patch gnome-shell.
- `("LD_LIBRARY_PATH" ":" prefix
- ,(map (lambda (pkg)
- (string-append (assoc-ref inputs pkg) "/lib"))
- '("gdk-pixbuf"
- "gnome-bluetooth" "librsvg" "libgweather"))))
- (for-each
- (lambda (prog)
- (wrap-program (string-append out "/bin/" prog)
- `("PYTHONPATH" ":" prefix (,python-path))
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
- '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
- #t)))
- (replace 'glib-or-gtk-wrap
- (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
- ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
- ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
- ;; phase. Fix that since we don't need these.
- (wrap #:inputs (fold alist-delete inputs
- '("inkscape" "intltool" "glib:bin"))
- #:outputs outputs)))))))
+ (add-before 'install 'no-meson-shenanigan
+ ;; Meson automagically invokes pkexec,
+ ;; which fails without setuid root.
+ (lambda _
+ (setenv "PKEXEC_UID" "whatever")
+ #t))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/gtk-doc")
+ (string-append doc "/share/gtk-doc"))
+ #t))))))
(native-inputs
`(("asciidoc" ,asciidoc)
- ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
- ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
+ ("dbus" ,dbus)
+ ("docbook-xml-4.2" ,docbook-xml-4.2)
+ ("docbook-xml-4.3" ,docbook-xml-4.3)
+ ("docbook-xsl" ,docbook-xsl)
+ ("glib:bin" ,glib "bin")
+ ("desktop-file-utils" ,desktop-file-utils)
("gobject-introspection" ,gobject-introspection)
- ("inkscape" ,inkscape)
+ ("gtk-doc" ,gtk-doc)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
- ("python" ,python)
- ("ruby-sass" ,ruby-sass)
+ ("python" ,python-wrapper)
("sassc" ,sassc)
("xsltproc" ,libxslt)
- ;; For tests
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("accountsservice" ,accountsservice)
- ("caribou" ,caribou)
- ("docbook-xsl" ,docbook-xsl)
+ ("appstream-util" ,appstream-glib)
+ ("atk-bridge" ,at-spi2-atk)
+ ("bash-completion" ,bash-completion)
+ ("clutter" ,clutter)
+ ("cogl" ,cogl)
("evolution-data-server" ,evolution-data-server)
("gcr" ,gcr)
("gdm" ,gdm)
("gdk-pixbuf" ,gdk-pixbuf+svg)
+ ("geoclue" ,geoclue)
("gjs" ,gjs)
+ ("glib" ,glib)
("gnome-autoar" ,gnome-autoar)
("gnome-bluetooth" ,gnome-bluetooth)
("gnome-desktop" ,gnome-desktop)
+ ("gnome-keybindings" ,gnome-control-center)
("gnome-settings-daemon" ,gnome-settings-daemon)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
+ ("gtk+" ,gtk+)
+ ("gweather" ,libgweather)
("ibus" ,ibus)
- ("libcanberra" ,libcanberra)
- ("libcroco" ,libcroco)
- ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
- ("libgweather" ,libgweather)
- ("libnma" ,libnma)
- ("libsoup" ,libsoup)
- ("mesa-headers" ,mesa-headers)
- ("mutter" ,mutter)
- ("network-manager-applet" ,network-manager-applet)
- ("polkit" ,polkit)
- ("pulseaudio" ,pulseaudio)
- ("python-pygobject" ,python-pygobject)
- ("startup-notification" ,startup-notification)
- ("telepathy-logger" ,telepathy-logger)
- ("upower" ,upower)
- ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
- ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
+ ("json-glib" ,json-glib)
+ ("libnm" ,network-manager)
+ ("libpulse" ,pulseaudio)
("librsvg" ,librsvg)
- ("geoclue" ,geoclue)))
- (synopsis "Desktop shell for GNOME")
+ ("libsecret" ,libsecret)
+ ("libstartup-notification" ,startup-notification)
+ ("libxml2" ,libxml2)
+ ("mutter" ,mutter)
+ ("pango" ,pango)
+ ("polkit-agent" ,polkit)
+ ("x11" ,libx11)))
+ (synopsis "Next generation desktop shell")
+ (description "GNOME-Shell provides core user interface functions for the
+GNOME desktop, like switching to windows and launching applications. It takes
+advantage of the capabilities of modern graphics hardware and introduces
+innovative user interface concepts to provide a visually attractive and easy to
+use experience.")
(home-page "https://wiki.gnome.org/Projects/GnomeShell")
- (description
- "GNOME Shell provides core user interface functions for the GNOME desktop,
-like switching to windows and launching applications.")
(license license:gpl2+)))
(define-public gtk-vnc
diff --git a/gnu/packages/patches/gnome-shell-disable-test.patch b/gnu/packages/patches/gnome-shell-disable-test.patch
deleted file mode 100644
index b4c7e73cd7..0000000000
--- a/gnu/packages/patches/gnome-shell-disable-test.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This test seems to require a D-Bus connection not available in the build
-environment.
-
-diff -ur /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src/st/meson.build b/src/st/meson.build
---- /tmp/guix-build-gnome-shell-3.34.2.drv-0/gnome-shell-3.34.2/src/st/meson.build 1969-12-31 19:00:00.000000000 -0500
-+++ b/src/st/meson.build 2019-12-23 00:46:14.721198022 -0500
-@@ -132,18 +132,6 @@
- sources: st_enums[1]
- )
-
--test_theme = executable('test-theme',
-- sources: 'test-theme.c',
-- c_args: st_cflags,
-- dependencies: [mutter_dep, gtk_dep],
-- build_rpath: mutter_typelibdir,
-- link_with: libst
--)
--
--test('CSS styling support', test_theme,
-- workdir: meson.current_source_dir()
--)
--
- libst_gir = gnome.generate_gir(libst,
- sources: st_gir_sources,
- nsversion: '1.0',
diff --git a/gnu/packages/patches/gnome-shell-theme.patch b/gnu/packages/patches/gnome-shell-theme.patch
deleted file mode 100644
index 3fa0670c43..0000000000
--- a/gnu/packages/patches/gnome-shell-theme.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Adjust GNOME-Shell so that it uses a Guix theme by default.
-
-Patch by Ludovic Courtès <ludo@gnu.org>.
-
-diff -ur a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml
---- a/data/gnome-shell-theme.gresource.xml 2019-12-11 15:06:31.000000000 -0500
-+++ b/data/gnome-shell-theme.gresource.xml 2019-12-21 00:31:55.895866241 -0500
-@@ -19,6 +19,8 @@
- <file>no-events.svg</file>
- <file>no-notifications.svg</file>
- <file>noise-texture.png</file>
-+ <file>guix-background.png</file>
-+ <file>guix-logo.png</file>
- <file>pad-osd.css</file>
- <file alias="icons/pointer-double-click-symbolic.svg">pointer-double-click-symbolic.svg</file>
- <file alias="icons/pointer-drag-symbolic.svg">pointer-drag-symbolic.svg</file>
-diff -ur a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss
---- a/data/theme/gnome-shell-sass/_common.scss 2019-12-11 15:06:31.000000000 -0500
-+++ b/data/theme/gnome-shell-sass/_common.scss 2019-12-21 00:33:49.495832135 -0500
-@@ -1994,7 +1994,16 @@
- }
- }
-
-- .login-dialog-logo-bin { padding: 24px 0px; }
-+ .login-dialog-logo-bin {
-+ /* Make it a bit narrower than .login-dialog-user-list. */
-+ width: 12em;
-+ height: 8em;
-+ background: url(resource:///org/gnome/shell/theme/guix-logo.png);
-+ background-color: transparent;
-+ background-repeat: no-repeat;
-+ background-size: contain;
-+ background-position: center; }
-+
- .login-dialog-banner { color: darken($osd_fg_color,10%); }
- .login-dialog-button-box { spacing: 5px; }
- .login-dialog-message-warning { color: $warning_color; }
-@@ -2143,9 +2152,10 @@
- }
-
- #lockDialogGroup {
-- background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png);
-- background-repeat: repeat;
--}
-+ background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/guix-background.png);
-+ background-repeat: no-repeat;
-+ background-size: cover;
-+ background-position: center; }
-
- #screenShieldNotifications {
- StButton#vhandle, StButton#hhandle {
--
2.28.0
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2020-08-12 4:14 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-06 9:13 [OUTREACHY]: Integration of desktop environments into GNU Guix Raghav Gururajan
2020-05-06 14:19 ` Ludovic Courtès
2020-05-06 15:05 ` Gábor Boskovits
2020-05-06 15:49 ` Ricardo Wurmus
2020-05-06 16:03 ` Raghav Gururajan
2020-05-06 15:52 ` sirgazil
2020-05-06 16:04 ` Raghav Gururajan
2020-05-06 17:22 ` Jan Nieuwenhuizen
2020-05-06 17:23 ` Raghav Gururajan
2020-05-20 13:34 ` Raghav Gururajan
2020-05-20 13:51 ` Pierre Neidhardt
2020-05-20 13:57 ` Raghav Gururajan
2020-05-20 14:06 ` Pierre Neidhardt
2020-05-21 9:08 ` Efraim Flashner
2020-05-22 11:18 ` Raghav Gururajan
2020-05-22 11:25 ` Raghav Gururajan
2020-05-23 14:26 ` Raghav Gururajan
2020-05-25 20:08 ` Danny Milosavljevic
2020-05-28 17:11 ` Raghav Gururajan
2020-05-28 17:10 ` Raghav Gururajan
2020-05-28 18:23 ` Danny Milosavljevic
2020-05-29 21:01 ` Raghav Gururajan
2020-05-29 23:02 ` Danny Milosavljevic
2020-05-29 20:54 ` Raghav Gururajan
2020-05-29 21:08 ` Raghav Gururajan
2020-05-30 20:30 ` Raghav Gururajan
2020-05-31 13:31 ` Danny Milosavljevic
2020-06-10 13:12 ` Raghav Gururajan
2020-06-04 18:31 ` Raghav Gururajan
2020-06-04 18:52 ` Vincent Legoll
2020-06-10 13:06 ` Raghav Gururajan
2020-06-04 18:57 ` Danny Milosavljevic
2020-06-14 13:31 ` Raghav Gururajan
2020-06-19 23:37 ` Raghav Gururajan
2020-06-24 22:40 ` Danny Milosavljevic
2020-07-04 10:37 ` Raghav Gururajan
2020-07-04 11:14 ` Raghav Gururajan
2020-07-06 1:36 ` Raghav Gururajan
2020-07-06 19:24 ` Danny Milosavljevic
2020-07-06 19:56 ` Efraim Flashner
2020-07-05 19:25 ` Danny Milosavljevic
2020-07-06 5:05 ` Raghav Gururajan
2020-07-13 13:45 ` Ludovic Courtès
2020-07-13 13:50 ` Raghav Gururajan
2020-07-16 1:21 ` Raghav Gururajan
2020-07-17 12:38 ` Danny Milosavljevic
2020-07-18 13:29 ` Raghav Gururajan
2020-07-18 14:12 ` Danny Milosavljevic
2020-07-18 19:27 ` Raghav Gururajan
2020-07-18 20:18 ` Raghav Gururajan
2020-07-19 11:43 ` Danny Milosavljevic
2020-07-19 19:21 ` Danny Milosavljevic
2020-07-19 19:22 ` Danny Milosavljevic
2020-07-20 1:54 ` Raghav Gururajan
2020-07-24 18:29 ` Raghav Gururajan
2020-07-25 8:15 ` Raghav Gururajan
2020-07-25 8:18 ` Raghav Gururajan
2020-07-25 8:24 ` Raghav Gururajan
2020-07-25 9:12 ` Raghav Gururajan
2020-07-27 16:11 ` Raghav Gururajan
2020-07-30 23:51 ` Raghav Gururajan
2020-08-02 7:32 ` Raghav Gururajan
2020-08-03 22:29 ` Danny Milosavljevic
2020-08-04 10:22 ` Raghav Gururajan
2020-08-04 22:50 ` Raghav Gururajan
2020-08-05 15:14 ` Danny Milosavljevic
2020-08-07 2:14 ` Raghav Gururajan
2020-08-09 22:28 ` Danny Milosavljevic
2020-08-11 10:38 ` Raghav Gururajan
2020-08-12 4:05 ` Raghav Gururajan
2020-08-12 4:11 ` Raghav Gururajan [this message]
2020-08-12 8:02 ` Danny Milosavljevic
2020-08-19 15:06 ` Raghav Gururajan
2020-08-22 14:48 ` Pierre Neidhardt
2020-08-24 3:18 ` Maxim Cournoyer
2020-08-14 14:24 ` [20.08.2020 Hartmut Goebel
2020-08-14 14:28 ` [20.08.2020 Raghav Gururajan
2020-06-24 11:37 ` [OUTREACHY]: Integration of desktop environments into GNU Guix Danny Milosavljevic
2020-06-25 4:04 ` Raghav Gururajan
2020-06-25 11:47 ` Danny Milosavljevic
2020-06-28 5:56 ` Raghav Gururajan
2020-06-25 11:52 ` Danny Milosavljevic
2020-05-25 19:58 ` Danny Milosavljevic
2020-05-25 20:00 ` Danny Milosavljevic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51b32cc8-6170-095d-6545-fd39fabe1343@disroot.org \
--to=raghavgururajan@disroot.org \
--cc=dannym@scratchpost.org \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).