;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2019, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019, 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
(define-public mm-common
(package
(name "mm-common")
- (version "1.0.0")
+ (version "1.0.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
+ (uri (string-append "mirror://gnome/sources/mm-common/"
(version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ "mm-common-" version ".tar.xz"))
(sha256
(base32
- "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
+ "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
(build-system meson-build-system)
(arguments
`(#:phases
(("\"locale\"")
(string-append "\"" libc "/bin/locale\"")))
#t)))
+ (add-before 'configure 'patch-bubblewrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
+ (("\"bwrap\",")
+ (string-append "\"" (which "bwrap") "\","))
+ (("\"--ro-bind\", \"/usr\", \"/usr\",")
+ (string-append "\"--ro-bind\", \""
+ (%store-directory)
+ "\", \""
+ (%store-directory)
+ "\","))
+ (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
+ #t))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server and locales.
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
+ ("bubblewrap" ,bubblewrap)
("libxext" ,libxext)
("libxkbfile" ,libxkbfile)
("libxrandr" ,libxrandr)))
(define-public evince
(package
(name "evince")
- (version "3.36.1")
+ (version "3.36.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/evince/"
"evince-" version ".tar.xz"))
(sha256
(base32
- "1msbb66lasikpfjpkwsvi7h22hqmk275850ilpdqwbd0b39vzf4c"))))
+ "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus" "--enable-introspection")
"023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
(build-system glib-or-gtk-build-system)
(arguments
- `(#:tests? #f ; needs X, GL, and software rendering
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-docbook
(lambda* (#:key inputs #:allow-other-keys)
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl)
"/manpages/docbook.xsl")))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" "/tmp")
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
#t)))))
(inputs
`(("gtk+" ,gtk+)
("libxml2" ,libxml2)))
(native-inputs
- `(("intltool" ,intltool)
+ `(("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("intltool" ,intltool)
("itstool" ,itstool)
("libxslt" ,libxslt) ;for xsltproc
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("python" ,python-2)
- ("pkg-config" ,pkg-config)))
+ ("pkg-config" ,pkg-config)
+ ("xorg-server" ,xorg-server-for-tests)))
(home-page "https://glade.gnome.org")
(synopsis "GTK+ rapid application development tool")
(description "Glade is a rapid application development (RAD) tool to
(package
(inherit librsvg)
(name "librsvg")
- (version "2.46.4")
+ (version "2.48.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/librsvg/"
"librsvg-" version ".tar.xz"))
(sha256
(base32
- "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
+ "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "vendor")
- ;; Don't demand an exact version for string_cache
- (substitute* "rsvg_internals/Cargo.toml"
- (("\"=") "\""))
#t))))
(build-system cargo-build-system)
(arguments
#:vendor-dir "vendor"
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
- ("rust-cairo-rs" ,rust-cairo-rs-0.7)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.8)
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
- ("rust-cssparser" ,rust-cssparser-0.25)
+ ("rust-cast" ,rust-cast-0.2)
+ ("rust-cssparser" ,rust-cssparser-0.27)
("rust-data-url" ,rust-data-url-0.1)
("rust-downcast-rs" ,rust-downcast-rs-1.1)
("rust-encoding" ,rust-encoding-0.2)
- ("rust-float-cmp" ,rust-float-cmp-0.5)
- ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
+ ("rust-float-cmp" ,rust-float-cmp-0.6)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
- ("rust-gio" ,rust-gio-0.7)
+ ("rust-gio" ,rust-gio-0.8)
("rust-gio-sys" ,rust-gio-sys-0.9)
- ("rust-glib" ,rust-glib-0.8)
+ ("rust-glib" ,rust-glib-0.9)
("rust-glib-sys" ,rust-glib-sys-0.9)
("rust-gobject-sys" ,rust-gobject-sys-0.9)
("rust-itertools" ,rust-itertools-0.8)
("rust-language-tags" ,rust-language-tags-0.2)
- ("rust-lazy-static" ,rust-lazy-static-1)
("rust-libc" ,rust-libc-0.2)
("rust-locale-config" ,rust-locale-config-0.3)
- ("rust-markup5ever" ,rust-markup5ever-0.9)
- ("rust-nalgebra" ,rust-nalgebra-0.18)
+ ("rust-markup5ever" ,rust-markup5ever-0.10)
+ ("rust-nalgebra" ,rust-nalgebra-0.19)
("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-once-cell" ,rust-once-cell-1.2)
("rust-pkg-config" ,rust-pkg-config-0.3)
- ("rust-pango" ,rust-pango-0.7)
+ ("rust-pango" ,rust-pango-0.8)
("rust-pango-sys" ,rust-pango-sys-0.9)
- ("rust-pangocairo" ,rust-pangocairo-0.8)
- ("rust-phf" ,rust-phf-0.7)
- ("rust-rayon" ,rust-rayon-1.3)
+ ("rust-pangocairo" ,rust-pangocairo-0.9)
+ ("rust-rayon" ,rust-rayon-1)
("rust-rctree" ,rust-rctree-0.3)
- ("rust-string-cache" ,rust-string-cache-0.7)
- ("rust-regex" ,rust-regex-1.3)
+ ("rust-rgb" ,rust-rgb-0.8)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-selectors" ,rust-selectors-0.22)
("rust-url" ,rust-url-2.1)
- ("rust-xml-rs" ,rust-xml-rs-0.8))
+ ("rust-xml5ever" ,rust-xml5ever-0.16))
#:cargo-development-inputs
- (("rust-cairo-rs" ,rust-cairo-rs-0.7)
- ("rust-criterion" ,rust-criterion-0.2))
+ (("rust-cairo-rs" ,rust-cairo-rs-0.8)
+ ("rust-criterion" ,rust-criterion-0.3))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda _
;; In lieu of #:make-flags
- (setenv "CC" "gcc")
+ (setenv "CC" ,(cc-for-target))
;; Something about the build environment resists building
;; successfully with the '--locked' flag.
(substitute* '("Makefile.am"
"gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
#t))
(add-after 'configure 'gnu-configure
- (assoc-ref gnu:%standard-phases 'configure))
- ;(lambda* (#:key outputs #:allow-other-keys)
- ; ((assoc-ref gnu:%standard-phases 'configure)
- ; #:outputs outputs
- ; #:configure-flags ("--disable-static"
- ; "--enable-vala"))))
+ (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
+ ((assoc-ref gnu:%standard-phases 'configure)
+ #:native-inputs native-inputs
+ #:inputs inputs
+ #:outputs outputs
+ #:configure-flags (list "--disable-static"
+ "--enable-vala"))))
(add-after 'configure 'dont-vendor-self
(lambda* (#:key vendor-dir #:allow-other-keys)
;; Don't keep the whole tarball in the vendor directory
((assoc-ref gnu:%standard-phases 'check)
#:test-target "check")))
(replace 'install
- (assoc-ref gnu:%standard-phases 'install))
- (add-before 'check 'remove-failing-tests
- (lambda _
- (with-directory-excursion "tests/fixtures/reftests"
- (for-each delete-file
- '(;; The images produced by these tests differ slightly
- ;; from their reference counterparts due to differences
- ;; in the build environment (missing fonts, etc). See
- ;; <tests/README.md> for details.
- ;; These fail on x86_64.
- "svg1.1/coords-viewattr-02-b.svg"
- "svg1.1/filters-composite-04-f.svg"
- "svg1.1/filters-image-01-b.svg"
- "svg1.1/filters-conv-02-f.svg"
- "svg1.1/filters-conv-04-f.svg"
- ;; This test fails on i686:
- "svg1.1/masking-path-04-b.svg"
- ;; This test fails on armhf:
- "svg1.1/masking-mask-01-b.svg"
- ;; This test fails on aarch64:
- "bugs/777834-empty-text-children.svg")))
- #t)))))
+ (assoc-ref gnu:%standard-phases 'install)))))
+ (inputs
+ `(("pango" ,pango)
+ ,@(alist-delete "pango" (package-inputs librsvg))))
(license license:lgpl2.1+)))
(define-public libidl
(define-public cogl
(package
(name "cogl")
- (version "1.22.6")
+ (version "1.22.8")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"cogl-" version ".tar.xz"))
(sha256
- (base32 "0x8v4n61q89qy27v824bqswpz6bmn801403w2q3pa1lcwk9ln4vd"))))
+ (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
;; cogl, corresponding changes may be appropriate in mutter as well.
(build-system gnu-build-system)
"/lib/libGL.so"))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-with-mesa-20
+ (lambda _
+ ;; Work around a problem with Mesa 20 where some macros used by
+ ;; Cogl went missing from eglext.h. This can likely be removed
+ ;; for newer versions of Cogl or Mesa.
+ ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
+ (substitute* '("configure"
+ "cogl/winsys/cogl-winsys-egl-kms.c")
+ (("#include <EGL/eglext.h>" all)
+ (string-append all "\n#include <EGL/eglmesaext.h>\n")))
+ #t))
(add-before 'check 'start-xorg-server
(lambda* (#:key tests? inputs #:allow-other-keys)
(if tests?
(define-public gexiv2
(package
(name "gexiv2")
- (version "0.12.0")
+ (version "0.12.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
+ "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
(build-system meson-build-system)
(native-inputs
`(("gcr" ,gcr)
;; the remaining flags are needed for the bundled cogl
(string-append "-Dopengl_libname="
(assoc-ref %build-inputs "mesa")
- "/lib/libGL.so"))))
+ "/lib/libGL.so"))
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-with-mesa-20
+ (lambda _
+ ;; Mimic upstream commit a444a4c5f58ea516ad for
+ ;; compatibility with Mesa 20. Remove for 3.36.
+ (substitute* '("src/backends/meta-egl-ext.h"
+ "src/backends/meta-egl.c"
+ "src/backends/meta-egl.h")
+ (("#include <EGL/eglext\\.h>" all)
+ (string-append all "\n#include <EGL/eglmesaext.h>")))
+ (substitute* "cogl/cogl/meson.build"
+ (("#include <EGL/eglext\\.h>" all)
+ (string-append all "\\n#include <EGL/eglmesaext.h>")))
+ #t)))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
"/bin/modprobe"))
(pretty-ovpn (string-append "\"" openconnect "\"")))
(substitute* "src/nm-openconnect-service.c"
- (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
- (("\"/usr/sbin/openconnect\"") pretty-ovpn)
+ (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
(("/sbin/modprobe") modprobe)))
#t)))))
(native-inputs
(define-public gnome-boxes
(package
(name "gnome-boxes")
- (version "3.36.4")
+ (version "3.36.5")
(source
(origin
(method url-fetch)
(version-major+minor version) "/"
"gnome-boxes-" version ".tar.xz"))
(sha256
- (base32 "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03"))))
+ (base32 "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
both peers support it. You might want that when communicating on a single
host to avoid parser overhead and memory-allocator fragmentation.")
(license license:lgpl2.1+)))
+
+(define-public feedbackd
+ (package
+ (name "feedbackd")
+ (version "0.0.0+git20200527")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://source.puri.sm/Librem5/feedbackd.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (inputs
+ `(("dbus" ,dbus)
+ ("gsound" ,gsound)
+ ("json-glib" ,json-glib)
+ ("libgudev" ,libgudev)))
+ (propagated-inputs
+ `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
+ (synopsis "Haptic/visual/audio feedback via DBus")
+ (description "Feedbackd provides a DBus daemon to act on events to provide
+haptic, visual and audio feedback. It offers the libfeedbackd library and
+GObject introspection bindings.")
+ (home-page "https://source.puri.sm/Librem5/feedbackd")
+ (license (list license:lgpl2.1+ ; libfeedbackd
+ license:lgpl3+)))) ; the rest
+
+(define-public sysprof
+ (package
+ (name "sysprof")
+ (version "3.34.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1l4kr1av7933vb4zql9c5lgzivlw64hyky4nr8xin1v5if6vnjw4"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-Dsystemdunitdir="
+ %output
+ "/share/systemd"))
+ #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-install-script
+ (lambda _
+ (substitute* "build-aux/meson/post_install.sh"
+ (("gtk-update-icon-cache") "true")
+ (("update-desktop-database") "true"))
+ #t)))))
+ (inputs
+ `(("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("libdazzle" ,libdazzle)
+ ("polkit" ,polkit)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)
+ ("xmllint" ,libxml2)))
+ (home-page "http://www.sysprof.com/")
+ (synopsis "System-wide performance profiler")
+ (description "Sysprof is a sampling profiler that uses a kernel module
+to generate stacktraces which are then interpreted by the userspace program
+@command{sysprof}.")
+ (license license:gpl3+)))
+
+(define-public gnome-builder
+ (package
+ (name "gnome-builder")
+ (version "3.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags (list "-Dnetwork_tests=false"
+ ;; TODO: Enable all plugins...
+ "-Dplugin_clang=false"
+ "-Dplugin_flatpak=false"
+ "-Dplugin_glade=false"
+ ;; ... except this one.
+ "-Dplugin_update_manager=false")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-meson
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build-aux/meson/post_install.py"
+ (("gtk-update-icon-cache") "true")
+ (("update-desktop-database") "true"))
+ (substitute* "src/libide/meson.build"
+ (("/usr/lib")
+ (string-append (assoc-ref inputs "python-pygobject")
+ "/lib")))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (inputs
+ `(("devhelp" ,devhelp)
+ ("gspell" ,gspell)
+ ("gtk+" ,gtk+)
+ ("json-glib" ,json-glib)
+ ("jsonrpc-glib" ,jsonrpc-glib)
+ ("libdazzle" ,libdazzle)
+ ("libgit2-glib" ,libgit2-glib)
+ ("libpeas" ,libpeas)
+ ("python-pygobject" ,python-pygobject)
+ ("sysprof" ,sysprof)
+ ("template-glib" ,template-glib)
+ ("vte" ,vte)
+ ("webkitgtk" ,webkitgtk)))
+ (propagated-inputs
+ `(("gtksourceview" ,gtksourceview))) ;needed for settings
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
+ ("glib:bin" ,glib "bin")
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (home-page "https://wiki.gnome.org/Apps/Builder")
+ (synopsis "Toolsmith for GNOME-based applications")
+ (description "Builder aims to be an integrated development
+environment (IDE) for writing GNOME-based software. It features fuzzy search,
+auto-completion, a mini code map, documentation browsing, Git integration, an
+integrated profiler via Sysprof, debugging support, and more.")
+ (license license:gpl3+)))