From 44a06c942c36b75c8aab9761891ca64c1f4ac367 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 10 Feb 2019 15:32:58 +0100 Subject: gnu: gnome: Remove '--disable-acceleration-check' flag from 'gnome.desktop'. With this change the GNOME session is now listed in the log-in screen of GDM. * gnu/packages/gnome.scm (gnome-session)[arguments]: Remove 'disable-hardware-acceleration-check' phase. That phase was apparently no longer needed. Furthermore, GDM expects 'TryExec' to be a file name, not a file name followed by arguments; thus, the option led GDM to discard 'gnome.desktop' with "GdmSession: Command not found: TryExec". --- gnu/packages/gnome.scm | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'gnu/packages/gnome.scm') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 850bfcf5e9..db10b0a16b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014, 2016 Eric Bavier ;;; Copyright © 2014, 2015 Federico Beffa @@ -4572,16 +4572,6 @@ (define-public gnome-session (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 -- cgit v1.2.3 From a76d0f032b6d4148bd36dcb640109fae20922bbc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 10 Feb 2019 23:11:20 +0100 Subject: 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. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 34 ++++++++++++++++-- gnu/packages/patches/gnome-shell-theme.patch | 53 ++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gnome-shell-theme.patch (limited to 'gnu/packages/gnome.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 37083ca916..3bb60d3ade 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -827,6 +827,7 @@ dist_patch_DATA = \ %D%/packages/patches/glog-gcc-5-demangling.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-todo-libical-compat.patch \ %D%/packages/patches/gnome-tweak-tool-search-paths.patch \ %D%/packages/patches/gnucash-fix-test-transaction-failure.patch \ 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 @@ (define-module (gnu packages gnome) #: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 @@ (define-module (gnu packages gnome) #: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 @@ (define-module (gnu packages gnome) #: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 @@ (define-public gnome-shell 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 @@ (define-public gnome-shell ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("python" ,python) - ("xsltproc" ,libxslt))) + ("xsltproc" ,libxslt) + ("ruby-sass" ,ruby-sass))) (inputs `(("accountsservice" ,accountsservice) ("caribou" ,caribou) diff --git a/gnu/packages/patches/gnome-shell-theme.patch b/gnu/packages/patches/gnome-shell-theme.patch new file mode 100644 index 0000000000..fc7f7caf0f --- /dev/null +++ b/gnu/packages/patches/gnome-shell-theme.patch @@ -0,0 +1,53 @@ +Adjust GNOME-Shell so that it uses a Guix theme by default. + +Patch by Ludovic Courtès . + +diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml +index 76aeaa5..8eaf32e 100644 +--- a/data/gnome-shell-theme.gresource.xml ++++ b/data/gnome-shell-theme.gresource.xml +@@ -22,6 +22,8 @@ + no-events.svg + no-notifications.svg + noise-texture.png ++ guix-background.png ++ guix-logo.png + pad-osd.css + page-indicator-active.svg + page-indicator-inactive.svg +diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss +index 54d9f39..b9badd0 100644 +--- a/data/theme/gnome-shell-sass/_common.scss ++++ b/data/theme/gnome-shell-sass/_common.scss +@@ -1742,7 +1742,16 @@ $legacy_icon_size: 24px; + + } + +- .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; } +@@ -1889,9 +1898,10 @@ $legacy_icon_size: 24px; + } + + #lockDialogGroup { +- background: #2e3436 url(resource:///org/gnome/shell/theme/noise-texture.png); +- background-repeat: repeat; +-} ++ background: #2e3436 url(resource:///org/gnome/shell/theme/guix-background.png); ++ background-repeat: no-repeat; ++ background-size: cover; ++ background-position: center; } + + #screenShieldNotifications { + StButton#vhandle, StButton#hhandle { -- cgit v1.2.3 From dd1fcddcb8277fb7c4f8413d20c8f316ebd4a503 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 29 Jan 2019 11:04:39 +0000 Subject: gnu: Add system-config-printer. * gnu/packages/gnome.scm (system-config-printer): New variable. --- gnu/packages/gnome.scm | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) (limited to 'gnu/packages/gnome.scm') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 367d5de16c..76b3a2083d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -975,6 +975,88 @@ (define-public shared-mime-info database is translated at Transifex.") (license license:gpl2+))) +(define-public system-config-printer + (package + (name "system-config-printer") + (version "1.5.11") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/zdohnal/system-config-printer/releases/" + "download/" version + "/system-config-printer-" version ".tar.xz")) + (sha256 + (base32 + "1lq0q51bhanirpjjvvh4xiafi8hgpk8r32h0dj6dn3f32z8pib9q")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:imported-modules ((guix build python-build-system) + ,@%glib-or-gtk-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-Makefile.am + (lambda _ + ;; The Makefile generates some scripts, so set a valid shebang + (substitute* "Makefile.am" + (("/bin/bash") (which "bash"))) + (delete-file "configure") + #t)) + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + ;; Modify the man XML otherwise xmlto tries to access the network + (substitute* "man/system-config-printer.xml" + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/"))) + #t)) + (add-after 'install 'wrap-for-python + (@@ (guix build python-build-system) wrap)) + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (for-each + (lambda (program) + (wrap-program program + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) + (map (lambda (name) + (string-append out "/bin/" name)) + '("system-config-printer" + "system-config-printer-applet" + "install-printerdriver" + "scp-dbus-service")))) + #t))))) + (inputs + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gobject-introspection" ,gobject-introspection) + ("python" ,python) + ("cups" ,cups) + ("python-dbus" ,python-dbus) + ("python-pygobject" ,python-pygobject) + ("python-pycups" ,python-pycups) + ("python-requests" ,python-requests) + ("python-pycairo" ,python-pycairo) + ("libnotify" ,libnotify) + ("packagekit" ,packagekit))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("desktop-file-utils" ,desktop-file-utils) + ("glib" ,glib) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("intltool" ,intltool) + ("xmlto" ,xmlto) + ("docbook-xml" ,docbook-xml-4.1.2) + ("docbook-xsl" ,docbook-xsl) + ("libxml2" ,libxml2))) + (home-page "https://github.com/zdohnal/system-config-printer") + (synopsis "CUPS administration tool") + (description + "system-config-printer is a CUPS administration tool. It's written in +Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when +configuring CUPS.") + (license license:gpl2+))) + (define-public hicolor-icon-theme (package (name "hicolor-icon-theme") -- cgit v1.2.3 From f6f4370feeee27f26f151d47d2568ea144d52d3f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 29 Jan 2019 11:30:46 +0000 Subject: gnu: gnome: Include system-config-printer. This package enables some functionality for printers within the gnome-control-center as well as providing a standalone configuration tool. At the moment, due to the lack of PackageKit support within Guix, the gnome-control-center can't help users through the process of installing this, so make it a default package. * gnu/packages/gnome.scm (gnome)[propagated-inputs]: Add system-config-printer. --- gnu/packages/gnome.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/gnome.scm') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 76b3a2083d..2f99755933 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6150,6 +6150,7 @@ (define-public gnome ("pinentry-gnome3" ,pinentry-gnome3) ("pulseaudio" ,pulseaudio) ("shared-mime-info" ,shared-mime-info) + ("system-config-printer" ,system-config-printer) ("totem" ,totem) ("xdg-user-dirs" ,xdg-user-dirs) ("yelp" ,yelp) -- cgit v1.2.3