"/logo/Guix-horizontal-white.svg")
"data/theme/guix-logo.svg")
#t))))
- (build-system glib-or-gtk-build-system)
+ (build-system meson-build-system)
(arguments
- '(#:glib-or-gtk? #t
- `(#:disallowed-references ((,glib "bin")
++ `(#:glib-or-gtk? #t
++ #:disallowed-references ((,glib "bin")
+ ,inkscape ,libxslt
+ ,ruby-sass)
+ #: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 glib-or-gtk-build-system)
++ #:modules ((guix build meson-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+
#: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")))
- (add-before 'build '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")))
- (replace 'install
+ (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")))
- (zero? (system* "make"
- (string-append "keysdir=" keysdir)
- "install")))))
- (add-after
- 'install 'wrap-programs
- (lambda* (#:key 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)))
- (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)))
+ (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 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #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"))
+ '("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))))))
++ #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)))))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+ ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("gobject-introspection" ,gobject-introspection)
+ ("inkscape" ,inkscape)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("python" ,python)
(define-public gtksourceview
(package
(name "gtksourceview")
- (version "3.24.10")
+ (version "4.0.2")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
+ (uri (string-append "mirror://gnome/sources/gtksourceview/"
(version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ "gtksourceview-" version ".tar.xz"))
(sha256
(base32
- "16ym7jwiki4s1pilwr4incx0yg7ll94f1cajrnpndkxxs36hcm5b"))))
+ "1b2z9c0skxrgw2vh08hv6qxky8jbvamc4rgww82j0kpp533rz0hm"))))
(build-system gnu-build-system)
(arguments
'(#:phases
highlighting and other features typical of a source code editor.")
(license license:lgpl2.1+)))
- (version "3.24.7")
+(define-public gtksourceview-3
+ (package (inherit gtksourceview)
+ (name "gtksourceview")
- "1rp8zspwyw3mmdgccsas3pa6v7s0hqjaaglg6n4kcls7ccx0vhm5"))))))
++ (version "3.24.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
++ "16ym7jwiki4s1pilwr4incx0yg7ll94f1cajrnpndkxxs36hcm5b"))))))
+
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
- ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
+ ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>