diff options
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r-- | gnu/packages/gnome.scm | 337 |
1 files changed, 275 insertions, 62 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f51d366f44..cddfd75cc0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -75,6 +75,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) #:use-module (gnu packages cups) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -165,6 +166,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages xorg) #:use-module (gnu artwork) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) @@ -177,6 +179,8 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix gexp) + #:use-module (guix monads) + #:use-module (guix store) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -861,8 +865,21 @@ on the GNOME Desktop with a single simple application.") (base32 "0bshwm49cd01ighsxqlbqn10q0ch71ff99gcrx8pr2gyky2ad3pq")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'set-adwaita-theme-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Provide the correct file name of the default GNOME + ;; background, 'adwaita-timed.xml'. + (let ((theme (assoc-ref inputs "gnome-backgrounds"))) + (substitute* (find-files "schemas" + "\\.gschema\\.xml\\.in$") + (("@datadir@/backgrounds/gnome") + (string-append theme "/share/backgrounds/gnome"))) + #t)))))) (inputs - `(("glib" ,glib))) + `(("glib" ,glib) + ("gnome-backgrounds" ,gnome-backgrounds))) (native-inputs `(("intltool" ,intltool) ("glib" ,glib "bin") ; glib-compile-schemas, etc. @@ -1403,37 +1420,231 @@ dealing with different structured file formats.") library.") (license license:lgpl2.0+))) +(define* (computed-origin-method gexp-promise hash-algo hash + #:optional (name "source") + #:key (system (%current-system)) + (guile (default-guile))) + "Return a derivation that executes the G-expression that results +from forcing GEXP-PROMISE." + (mlet %store-monad ((guile (package->derivation guile system))) + (gexp->derivation (or name "computed-origin") + (force gexp-promise) + #:graft? #f ;nothing to graft + #:system system + #:guile-for-build guile))) + +(define librsvg-next-source + (let* ((version "2.46.3") + (upstream-source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/librsvg/" + (version-major+minor version) "/" + "librsvg-" version ".tar.xz")) + (sha256 + (base32 + "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn"))))) + (origin + (method computed-origin-method) + (file-name (string-append "librsvg-" version ".tar.xz")) + (sha256 #f) + (uri + (delay + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (set-path-environment-variable + "PATH" '("bin") + (list "/tmp" + #+(canonical-package xz) + #+(canonical-package gzip) + #+(canonical-package tar))) + (invoke "tar" "xvf" #+upstream-source) + (with-directory-excursion (string-append "librsvg-" #$version) + (for-each + (lambda (crate) + (delete-file-recursively (string-append "vendor/" (car crate))) + (invoke "tar" "xvf" (cdr crate) "-C" "vendor")) + '( +;; aho-corasick 0.7 +;; alga 0.9 +;; approx 0.3 +;; arrayvec 0.4 + ("atty" . #+(package-source rust-atty-0.2)) + ("autocfg" . #+(package-source rust-autocfg-0.1)) + ("bitflags" . #+(package-source rust-bitflags-1)) +;; block 0.1 +;; bstr 0.2 +;; byteorder 1.3 +;; cairo-rs 0.7 +;; cairo-sys-rs 0.9 +;; cast 0.2 + ("cfg-if" . #+(package-source rust-cfg-if-0.1)) + ("clap" . #+(package-source rust-clap-2)) + ;("cloudabi" . #+(package-source rust-cloudabi-0.0)) +;; criterion 0.2 +;; criterion-plot 0.3 +;; crossbeam-deque 0.7 +;; crossbeam-epoch 0.7 +;; crossbeam-queue 0.1 +;; crossbeam-utils 0.6 +;; cssparser 0.25 +;; cssparser-macros 0.3 +;; csv 1.1 +;; csv-core 0.1 +;; data-url 0.1 +;; downcast-rs 1.0 + ("dtoa" . #+(package-source rust-dtoa-0.4)) +;; dtoa-short 0.3 +;; either 1.5 +;; encoding 0.2 +;; encoding-index-japanese 1.20141219.5 +;; encoding-index-korean 1.20141219.5 +;; encoding-index-simpchinese 1.20141219.5 +;; encoding-index-singlebyte 1.20141219.5 +;; encoding-index-tradchinese 1.20141219.5 +;; encoding_index_tests 0.1 +;; float-cmp 0.5 +;; fragile 0.3 + ;("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1)) +;; futf 0.1 +;; gdk-pixbuf 0.7 +;; gdk-pixbuf-sys 0.9 +;; generic-array 0.12 +;; gio 0.7 +;; gio-sys 0.9 +;; glib 0.8 +;; glib-sys 0.9 +;; gobject-sys 0.9 +;; idna 0.2 +;; itertools 0.8 + ("itoa" . #+(package-source rust-itoa-0.4)) + ;("language-tags" . #+(package-source rust-language-tags-0.2)) + ("lazy_static" . #+(package-source rust-lazy-static-1.3)) + ("libc" . #+(package-source rust-libc-0.2)) +;; libm 0.1 +;; locale_config 0.3 + ("log" . #+(package-source rust-log-0.4)) +;; mac 0.1 +;; malloc_buf 0.0 +;; markup5ever 0.9 + ;("matches" . #+(package-source rust-matches-0.1)) +;; matrixmultiply 0.2 +;; memchr 2.2 +;; memoffset 0.5 +;; nalgebra 0.18 +;; new_debug_unreachable 1.0 + ("nodrop" . #+(package-source rust-nodrop-0.1)) +;; num-complex 0.2 + ("num-integer" . #+(package-source rust-num-integer-0.1)) +;; num-rational 0.2 + ("num-traits" . #+(package-source rust-num-traits-0.2)) + ("num_cpus" . #+(package-source rust-num-cpus-1.10)) +;; objc 0.2 +;; objc-foundation 0.1 +;; objc_id 0.1 +;; pango 0.7 +;; pango-sys 0.9 +;; pangocairo 0.8 +;; pangocairo-sys 0.10 + ("percent-encoding" . #+(package-source rust-percent-encoding-2.1)) +;; phf 0.7.24 +;; phf_codegen 0.7.24 +;; phf_generator 0.7.24 +;; phf_shared 0.7.24 + ;("pkg-config" . #+(package-source rust-pkg-config-0.3)) +;; precomputed-hash 0.1 + ("proc-macro2" . #+(package-source rust-proc-macro2-1.0)) +;; procedural-masquerade 0.1 + ("quote" . #+(package-source rust-quote-1.0)) + ;("rand" . #+(package-source rust-rand-0.6)) + ("rand_chacha" . #+(package-source rust-rand-chacha-0.1)) + ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3)) + ("rand_core" . #+(package-source rust-rand-core-0.4)) + ("rand_hc" . #+(package-source rust-rand-hc-0.1)) + ("rand_isaac" . #+(package-source rust-rand-isaac-0.1)) + ("rand_jitter" . #+(package-source rust-rand-jitter-0.1)) + ("rand_os" . #+(package-source rust-rand-os-0.1)) + ("rand_pcg" . #+(package-source rust-rand-pcg-0.1)) + ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1)) +;; rand_xoshiro 0.1 + ;("rawpointer" . #+(package-source rust-rawpointer-0.1)) +;; rayon 1.2 +;; rayon-core 1.6 +;; rctree 0.3 + ("rdrand" . #+(package-source rust-rdrand-0.4)) +;; regex 1.3 +;; regex-automata 0.1 + ;("regex-syntax" . #+(package-source rust-regex-syntax-0.6)) +;; rustc_version 0.2 + ("ryu" . #+(package-source rust-ryu-1.0)) + ("same-file" . #+(package-source rust-same-file-1.0)) + ("scopeguard" . #+(package-source rust-scopeguard-1.0)) +;; semver 0.9 + ;("semver-parser" . #+(package-source rust-semver-parser-0.7)) + ("serde" . #+(package-source rust-serde-1.0)) + ("serde_derive" . #+(package-source rust-serde-derive-1.0)) + ("serde_json" . #+(package-source rust-serde-json-1.0)) +;; siphasher 0.2 +;; smallvec 0.6 +;; string_cache 0.7 +;; string_cache_codegen 0.4 +;; string_cache_shared 0.3 + ("syn" . #+(package-source rust-syn-1.0)) +;; tendril 0.4 + ("textwrap" . #+(package-source rust-textwrap-0.11)) + ;("thread_local" . #+(package-source rust-thread-local-0.3)) +;; tinytemplate 1.0 + ;("typenum" . #+(package-source rust-typenum-1.10)) +;; unicode-bidi 0.3 +;; unicode-normalization 0.1 + ("unicode-width" . #+(package-source rust-unicode-width-0.1)) + ("unicode-xid" . #+(package-source rust-unicode-xid-0.2)) +;; url 2.1 +;; utf-8 0.7 + ("walkdir" . #+(package-source rust-walkdir-2.2)) + ("winapi" . #+(package-source rust-winapi-0.3)) + ;("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4)) + ("winapi-util" . #+(package-source rust-winapi-util-0.1)) + ;("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4)) +;; xml-rs 0.8 + ))) + (format #t "Replacing vendored crates in the tarball and repacking ...~%") + (force-output) + (invoke "tar" "cfa" #$output + ;; Avoid non-determinism in the archive. We set the + ;; mtime of files in the archive to early 1980 because + ;; the build process fails if the mtime of source + ;; files is pre-1980, due to the creation of zip + ;; archives. + "--mtime=@315619200" ; 1980-01-02 UTC + "--owner=root:0" + "--group=root:0" + "--sort=name" + (string-append "librsvg-" #$version)) + #t))))))) + (define-public librsvg-next (package (name "librsvg") - (version "2.46.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1la3az2af2ccm6rp86b6wh0kq7kxzl4n8pli5qxhyic1rd91xj4n")))) + (version "2.46.3") + (source librsvg-next-source) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--disable-static" "--enable-vala") ; needed for e.g. gnome-mines #:make-flags '("CC=gcc") + #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums' #:phases (modify-phases %standard-phases - ;; Don't patch anything in vendor/ to avoid having to recompute - ;; checksums for the bundled Cargo "crates". TODO: Unbundle those. - (delete 'patch-source-shebangs) - (delete 'patch-generated-file-shebangs) - (delete 'patch-usr-bin-file) - (add-before 'configure 'patch-all-the-things + (add-after 'configure 'patch-cargo-checksums (lambda _ - (for-each patch-shebang '("tap-driver.sh" "tap-test")) - (patch-/usr/bin/file "configure") - (patch-makefile-SHELL "po/Makefile.in.in") - #t)) + (use-modules (guix build cargo-utils)) + (substitute* "librsvg/Cargo.toml" + (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored + (generate-all-checksums "vendor") + (delete-file "Cargo.lock") + (invoke "cargo" "generate-lockfile"))) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) (substitute* "gdk-pixbuf-loader/Makefile.in" @@ -1492,7 +1703,7 @@ library.") (description "Librsvg is a C library to render SVG files using the Cairo 2D graphics library.") - (license license:lgpl2.0+))) + (license license:lgpl2.1+))) (define-public libidl (package @@ -2012,7 +2223,7 @@ since ca. 2006, when GTK+ itself incorporated printing support.") (native-inputs `(("glib" ,glib "bin") ; for glib-genmarshal, etc. ("intltool" ,intltool) - ("xorg-server" ,xorg-server) ; For running the tests + ("xorg-server" ,xorg-server-for-tests) ; For running the tests ("pkg-config" ,pkg-config))) (home-page "https://developer.gnome.org/libbonoboui/") (synopsis "Some user interface controls using Bonobo") @@ -2325,28 +2536,28 @@ libraries written in C.") (define-public vte (package (name "vte") - (version "0.56.3") + (version "0.58.3") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/vte/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "vte-" version ".tar.xz")) (sha256 (base32 - "0j166gic5znssdb9r45qazq4kb4v9fial82czand5wa8i2yd988p")))) - (build-system gnu-build-system) + "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12")))) + (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("vala" ,vala) ("gobject-introspection" ,gobject-introspection) - ("glib" ,glib "bin") ; for glib-genmarshal, etc. + ("glib" ,glib "bin") ; for glib-genmarshal, etc. ("gperf" ,gperf) ("xmllint" ,libxml2))) (propagated-inputs - `(("gtk+" ,gtk+) ;required by vte-2.91.pc - ("gnutls" ,gnutls) ;ditto - ("pcre2" ,pcre2))) ;ditto + `(("gtk+" ,gtk+) ; required by vte-2.91.pc + ("gnutls" ,gnutls) ; ditto + ("pcre2" ,pcre2))) ; ditto (home-page "https://www.gnome.org/") (synopsis "Virtual Terminal Emulator") (description @@ -2418,6 +2629,7 @@ selection and URL hints."))) (patches (search-patches "vte-CVE-2012-2738-pt1.patch" "vte-CVE-2012-2738-pt2.patch")))) + (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-python"))) (native-inputs @@ -4361,7 +4573,7 @@ USB transfers with your high-level application or system daemon.") (define-public simple-scan (package (name "simple-scan") - (version "3.34.1") + (version "3.34.2") (source (origin (method url-fetch) @@ -4369,7 +4581,7 @@ USB transfers with your high-level application or system daemon.") (version-major+minor version) "/" "simple-scan-" version ".tar.xz")) (sha256 - (base32 "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq")))) + (base32 "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp")))) (build-system meson-build-system) ;; TODO: Fix icons in home screen, About dialogue, and scan menu. (arguments @@ -4578,7 +4790,7 @@ principles are simplicity and standards compliance.") ("pkg-config" ,pkg-config) ("python-pep8" ,python-pep8) ("xmllint" ,libxml2) - ("xorg-server" ,xorg-server))) + ("xorg-server" ,xorg-server-for-tests))) (inputs `(("gobject-introspection" ,gobject-introspection) ("gtk+" ,gtk+) @@ -7158,13 +7370,13 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.") (version "4.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/moka-project/" - name "/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/snwh/faba-icon-theme.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "18ln06xl60qzvzz61zq9q72hdbfgjsza3flph8i2asyzx3dffz68")))) + (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n")))) (build-system meson-build-system) (arguments `(#:phases @@ -7189,15 +7401,15 @@ Moka") (inherit faba-icon-theme) (name "moka-icon-theme") (version "5.4.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/moka-project" - "/moka-icon-theme/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1nbwdjj268hxv9lfagd9aylily9f0hhallp841v0i3imljp84bmk")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/snwh/moka-icon-theme.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd")))) (propagated-inputs ;; Moka is based on Faba by using it as a fallback icon set instead of ;; bundling it, so we need to add it as a propagated input. @@ -7212,14 +7424,15 @@ simple and consistent.") (package (name "arc-icon-theme") (version "20161122") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/horst3180/arc-icon-theme" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/horst3180/arc-icon-theme.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd")))) (build-system gnu-build-system) (arguments `(#:phases @@ -7739,7 +7952,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") ;; For tests. ("aspell-dict-en" ,aspell-dict-en) - ("xorg-server" ,xorg-server))) + ("xorg-server" ,xorg-server-for-tests))) (propagated-inputs `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc (home-page "https://wiki.gnome.org/Projects/gspell") @@ -8154,7 +8367,7 @@ hexadecimal or ASCII. It is useful for editing binary files in general.") `(("glib" ,glib "bin") ; glib-compile-resources ("pkg-config" ,pkg-config) ;; For tests. - ("xorg-server" ,xorg-server))) + ("xorg-server" ,xorg-server-for-tests))) (inputs `(("glib" ,glib) ("gobject-introspection" ,gobject-introspection) @@ -8244,7 +8457,7 @@ functionality.") (define-public gthumb (package (name "gthumb") - (version "3.8.1") + (version "3.8.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gthumb/" @@ -8252,7 +8465,7 @@ functionality.") "gthumb-" version ".tar.xz")) (sha256 (base32 - "184zn79w4s9y1zy42ar31p3jsg8rmkxy8k6iry51nz8aizbcs7jb")))) + "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8376,9 +8589,9 @@ advanced image management tool") ("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) - ("xorg-server" ,xorg-server) ;; Test suite dependencies. + ("xorg-server" ,xorg-server-for-tests) ("hicolor-icon-theme" ,hicolor-icon-theme))) (home-page "https://source.puri.sm/Librem5/libhandy") (synopsis "Library full of GTK+ widgets for mobile phones") |