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.master
parent
4d0e085bea
commit
2b0c755d19
|
@ -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
|
||||||
|
|
Reference in New Issue