summaryrefslogtreecommitdiff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-02-10 23:11:20 +0100
committerLudovic Courtès <ludo@gnu.org>2019-02-10 23:25:01 +0100
commita76d0f032b6d4148bd36dcb640109fae20922bbc (patch)
treefe73992af0553d0b0fabb972e48e6fab6b9d7068 /gnu/packages/gnome.scm
parent5e6a5aeebd7b735e5d5f2eed496cc1c7e8a5b4c9 (diff)
gnu: gnome-shell: Customize the GDM log-in screen.
* gnu/packages/patches/gnome-shell-theme.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (gnome-shell)[source](patches, modules) (snippet): New fields. [arguments]: Add 'rebuild-css' phase. [native-inputs]: Add RUBY-SASS.
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm34
1 files changed, 32 insertions, 2 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index db10b0a16b..367d5de16c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -126,6 +126,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages samba)
#:use-module (gnu packages scanner)
#:use-module (gnu packages selinux)
@@ -149,6 +150,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xorg)
+ #:use-module (gnu artwork)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@@ -159,6 +161,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
+ #:use-module (guix gexp)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -5570,11 +5573,37 @@ properties, screen resolution, and other GNOME parameters.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))))
+ "1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))
+ (patches (search-patches "gnome-shell-theme.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; CSS files have to be regenerated from the .scss source
+ ;; that 'gnome-shell-theme.patch' modifies.
+ (for-each delete-file
+ (find-files "data/theme"
+ "^gnome-shell.*\\.css$"))
+
+ ;; 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")
+ (invoke #+(file-append inkscape "/bin/inkscape")
+ "--export-png=data/theme/guix-logo.png"
+ #$(file-append %artwork-repository
+ "/logo/Guix-horizontal-white.svg"))
+ #t))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-before 'build 'rebuild-css
+ (lambda _
+ ;; Rebuild the CSS files from the .scss files that our patch
+ ;; modifies.
+ (invoke "make" "-C" "data"
+ "theme/gnome-shell.css"
+ "theme/gnome-shell-high-contrast.css")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -5604,7 +5633,8 @@ properties, screen resolution, and other GNOME parameters.")
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("python" ,python)
- ("xsltproc" ,libxslt)))
+ ("xsltproc" ,libxslt)
+ ("ruby-sass" ,ruby-sass)))
(inputs
`(("accountsservice" ,accountsservice)
("caribou" ,caribou)