gnu: gnome-shell: Update to 3.28.2.

* gnu/packages/gnome.scm (gnome-shell): Update to 3.28.2.
[source]: Update snippet.
[build-system]: Use meson-build-system.
[arguments]: Disable systemd; add build phases "fix-keysdir" and "pre-check";
remove "rebuild-css" phase; remove custom "install" phase; wrap also with
LD_LIBRARY_PATH.
[native-inputs]: Add desktop-file-utils, sassc, and xorg-server.
[inputs]: Remove readline.
This commit is contained in:
Ricardo Wurmus 2018-08-06 18:56:11 +02:00
parent 4d0e085bea
commit 2b0c755d19
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 49 additions and 40 deletions

View File

@ -5749,7 +5749,7 @@ properties, screen resolution, and other GNOME parameters.")
(define-public gnome-shell (define-public gnome-shell
(package (package
(name "gnome-shell") (name "gnome-shell")
(version "3.24.3") (version "3.28.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -5757,17 +5757,11 @@ properties, screen resolution, and other GNOME parameters.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq")) "1b9n89ij2g5nqaqp7a13jnqcd8qa2v9p55rbi71al3xvqk091ri7"))
(patches (search-patches "gnome-shell-theme.patch")) (patches (search-patches "gnome-shell-theme.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
#~(begin #~(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 images for use on the GDM log-in screen.
(copy-file #$(file-append %artwork-repository (copy-file #$(file-append %artwork-repository
"/slim/0.x/background.png") "/slim/0.x/background.png")
@ -5777,48 +5771,65 @@ properties, screen resolution, and other GNOME parameters.")
#$(file-append %artwork-repository #$(file-append %artwork-repository
"/logo/Guix-horizontal-white.svg")) "/logo/Guix-horizontal-white.svg"))
#t)))) #t))))
(build-system glib-or-gtk-build-system) (build-system meson-build-system)
(arguments (arguments
'(#:phases '(#:glib-or-gtk? #t
#: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"))
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'build 'rebuild-css (add-after 'unpack 'fix-keysdir
(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) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(keysdir (string-append (keysdir (string-append
out "/share/gnome-control-center/keybindings"))) out "/share/gnome-control-center/keybindings")))
(zero? (system* "make" (substitute* "meson.build"
(string-append "keysdir=" keysdir) (("keysdir =.*")
"install"))))) (string-append "keysdir = '" keysdir "'\n")))
(add-after #t)))
'install 'wrap-programs (add-before 'check 'pre-check
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")) ;; Tests require a running X server.
(gi-typelib-path (getenv "GI_TYPELIB_PATH")) (system "Xvfb :1 &")
(python-path (getenv "PYTHONPATH"))) (setenv "DISPLAY" ":1")
(wrap-program (string-append out "/bin/gnome-shell") #t))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))) (add-after 'install 'wrap-programs
(for-each (lambda* (#:key inputs outputs #:allow-other-keys)
(lambda (prog) (let ((out (assoc-ref outputs "out"))
(wrap-program (string-append out "/bin/" prog) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
`("PYTHONPATH" ":" prefix (,python-path)) (python-path (getenv "PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) (wrap-program (string-append out "/bin/gnome-shell")
'("gnome-shell-extension-tool" "gnome-shell-perf-tool")) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
#t)))))) ;; 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"))
'("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))))))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool) ("intltool" ,intltool)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python) ("python" ,python)
("ruby-sass" ,ruby-sass)
("sassc" ,sassc)
("xsltproc" ,libxslt) ("xsltproc" ,libxslt)
("ruby-sass" ,ruby-sass))) ;; For tests
("xorg-server" ,xorg-server)))
(inputs (inputs
`(("accountsservice" ,accountsservice) `(("accountsservice" ,accountsservice)
("caribou" ,caribou) ("caribou" ,caribou)
@ -5849,9 +5860,7 @@ properties, screen resolution, and other GNOME parameters.")
;; XXX: These requirements were added in 3.24, but no mention in NEWS. ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
;; Missing propagation? See also: <https://bugs.gnu.org/27264> ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
("librsvg" ,librsvg) ("librsvg" ,librsvg)
("geoclue" ,geoclue) ("geoclue" ,geoclue)))
;; XXX: required by libgjs.la.
("readline" ,readline)))
(synopsis "Desktop shell for GNOME") (synopsis "Desktop shell for GNOME")
(home-page "https://wiki.gnome.org/Projects/GnomeShell") (home-page "https://wiki.gnome.org/Projects/GnomeShell")
(description (description