summaryrefslogtreecommitdiff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm297
1 files changed, 97 insertions, 200 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 08798a6418..73f31f7565 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -117,13 +117,6 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
- #:use-module (gnu packages crates-check)
- #:use-module (gnu packages crates-crypto)
- #:use-module (gnu packages crates-database)
- #:use-module (gnu packages crates-io)
- #:use-module (gnu packages crates-graphics)
- #:use-module (gnu packages crates-gtk)
- #:use-module (gnu packages crates-web)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -3677,68 +3670,38 @@ for dealing with different structured file formats.")
(sha256
(base32
"0ym2yg94sc7ralh1kwqqrhz3wcc51079z90mbx0qrls7wfh36hi2"))))
- (build-system cargo-build-system)
+ (build-system gnu-build-system)
(outputs '("out" "doc" "debug"))
(arguments
(list
- #:install-source? #f
+ #:configure-flags
+ #~(list "--disable-static"
+ #$@(if (%current-target-system)
+ #~(;; g-ir-scanner can't import its modules
+ ;; and vala currently can't be cross-compiled.
+ "--enable-introspection=no"
+ "--enable-vala=no"
+ ;; These two are necessary for cross-compiling.
+ (string-append
+ "--build=" #$(nix-system->gnu-triplet
+ (%current-system)))
+ (string-append
+ "--host=" #$(%current-target-system)))
+ #~("--enable-vala")))
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PKG_CONFIG=" #$(pkg-config-for-target))
+ #$@(if (%current-target-system)
+ #~((string-append "RUST_TARGET="
+ #$(platform-rust-target
+ (lookup-platform-by-target
+ (%current-target-system)))))
+ #~()))
+ #:imported-modules %cargo-build-system-modules
#:modules
- '((guix build cargo-build-system)
- (guix build utils)
- ((guix build gnu-build-system) #:prefix gnu:))
- #:cargo-inputs
- `(("rust-anyhow" ,rust-anyhow-1)
- ("rust-cairo-rs" ,rust-cairo-rs-0.19)
- ("rust-cast" ,rust-cast-0.3)
- ("rust-chrono" ,rust-chrono-0.4)
- ("rust-clap" ,rust-clap-4)
- ("rust-clap-complete" ,rust-clap-complete-4)
- ("rust-cssparser" ,rust-cssparser-0.31)
- ("rust-cstr" ,rust-cstr-0.2)
- ("rust-data-url" ,rust-data-url-0.3)
- ("rust-encoding-rs" ,rust-encoding-rs-0.8)
- ("rust-float-cmp" ,rust-float-cmp-0.9)
- ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.19)
- ("rust-gio" ,rust-gio-0.19)
- ("rust-glib" ,rust-glib-0.19)
- ("rust-image" ,rust-image-0.24)
- ("rust-itertools" ,rust-itertools-0.12)
- ("rust-language-tags" ,rust-language-tags-0.3)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-locale-config" ,rust-locale-config-0.3)
- ("rust-markup5ever" ,rust-markup5ever-0.11)
- ("rust-nalgebra" ,rust-nalgebra-0.32)
- ("rust-num-traits" ,rust-num-traits-0.2)
- ("rust-pango" ,rust-pango-0.19)
- ("rust-pangocairo" ,rust-pangocairo-0.19)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-rctree" ,rust-rctree-0.6)
- ("rust-regex" ,rust-regex-1)
- ("rust-rgb" ,rust-rgb-0.8)
- ("rust-selectors" ,rust-selectors-0.25)
- ("rust-string-cache" ,rust-string-cache-0.8)
- ("rust-system-deps" ,rust-system-deps-6)
- ("rust-thiserror" ,rust-thiserror-1)
- ("rust-tinyvec" ,rust-tinyvec-1)
- ("rust-url" ,rust-url-2)
- ("rust-xml5ever" ,rust-xml5ever-0.17)
- ("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-5))
- #:cargo-development-inputs
- `(("rust-anyhow" ,rust-anyhow-1)
- ("rust-assert-cmd" ,rust-assert-cmd-2)
- ("rust-chrono" ,rust-chrono-0.4)
- ("rust-criterion" ,rust-criterion-0.5)
- ("rust-float-cmp" ,rust-float-cmp-0.9)
- ("rust-lopdf" ,rust-lopdf-0.32)
- ("rust-matches" ,rust-matches-0.1)
- ("rust-png" ,rust-png-0.17)
- ("rust-predicates" ,rust-predicates-3)
- ("rust-proptest" ,rust-proptest-1)
- ("rust-quick-error" ,rust-quick-error-2)
- ("rust-serde" ,rust-serde-1)
- ("rust-serde-json" ,rust-serde-json-1)
- ("rust-tempfile" ,rust-tempfile-3)
- ("rust-url" ,rust-url-2))
+ '(((guix build cargo-build-system) #:prefix cargo:)
+ (guix build gnu-build-system)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-gdk-pixbuf-thumbnailer
@@ -3752,15 +3715,6 @@ for dealing with different structured file formats.")
"/bin/gdk-pixbuf-thumbnailer")))))
(add-after 'unpack 'prepare-for-build
(lambda _
- ;; In lieu of #:make-flags
- (setenv "CC" #$(cc-for-target))
- (setenv "PKG_CONFIG" #$(pkg-config-for-target))
- #$@(if (%current-target-system)
- #~((setenv "RUST_TARGET"
- #$(platform-rust-target
- (lookup-platform-by-target
- (%current-target-system)))))
- #~())
;; Something about the build environment resists building
;; successfully with the '--locked' flag.
(substitute* '("Makefile.am" "Makefile.in")
@@ -3789,40 +3743,37 @@ for dealing with different structured file formats.")
(string-append "gdk_pixbuf_cache_file="
#$output "/"
#$%gdk-pixbuf-loaders-cache-file "\n")))))
- (add-after 'configure 'gnu-configure
- (lambda* (#:key outputs #:allow-other-keys #:rest args)
- (apply (assoc-ref gnu:%standard-phases 'configure)
- #:configure-flags
- (list "--disable-static"
- #$@(if (%current-target-system)
- #~(;; g-ir-scanner can't import its modules
- ;; and vala currently can't be cross-compiled.
- "--enable-introspection=no"
- "--enable-vala=no"
- ;; These two are necessary for cross-compiling.
- (string-append
- "--build=" #$(nix-system->gnu-triplet
- (%current-system)))
- (string-append
- "--host=" #$(%current-target-system)))
- #~("--enable-vala")))
- args)))
- (add-after 'configure 'dont-vendor-self
- (lambda* (#:key vendor-dir #:allow-other-keys)
- ;; Don't keep the whole tarball in the vendor directory
- (delete-file-recursively
- (string-append vendor-dir "/" #$name "-" #$version ".tar.xz"))))
- (replace 'build
- (assoc-ref gnu:%standard-phases 'build))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys #:rest args)
- (when tests?
- ((assoc-ref gnu:%standard-phases 'check)
- #:test-target "check"))))
- (replace 'install
- (assoc-ref gnu:%standard-phases 'install)))))
- (native-inputs (list gdk-pixbuf `(,glib "bin") gobject-introspection pkg-config vala))
- (inputs (list freetype gobject-introspection harfbuzz libxml2 pango))
+ (add-after 'unpack 'prepare-cargo-build-system
+ (lambda args
+ (for-each
+ (lambda (phase)
+ (format #t "Running cargo phase: ~a~%" phase)
+ (apply (assoc-ref cargo:%standard-phases phase)
+ #:cargo-target #$(cargo-triplet)
+ args))
+ '(unpack-rust-crates
+ configure
+ check-for-pregenerated-files
+ patch-cargo-checksums)))))))
+ (native-inputs
+ (append
+ (list gdk-pixbuf
+ `(,glib "bin")
+ gobject-introspection
+ pkg-config
+ rust
+ `(,rust "cargo")
+ vala)
+ (or (and=> (%current-target-system)
+ (compose list make-rust-sysroot))
+ '())))
+ (inputs
+ (cons* freetype
+ gobject-introspection
+ harfbuzz
+ libxml2
+ pango
+ (cargo-inputs 'librsvg)))
(propagated-inputs (list cairo gdk-pixbuf glib))
(synopsis "SVG rendering library")
(description "Librsvg is a library to render SVG images to Cairo surfaces.
@@ -8247,7 +8198,6 @@ to display dialog boxes from the commandline and shell scripts.")
libxkbfile
libxrandr
libxtst
- linux-libre-headers-6.1 ; for dma_buf_export_sync_file
pipewire
startup-notification
sysprof
@@ -10601,61 +10551,16 @@ specified duration and save it as a GIF encoded animated image file.")
(file-name (git-file-name name version))
(sha256
(base32 "0zavax35n048spx097ymiq31s8b879qwbg8xmcxcx73r6m823mic"))))
- (build-system cargo-build-system)
+ (build-system meson-build-system)
(arguments
(list
- #:install-source? #f
- #:vendor-dir "vendor"
- #:cargo-inputs
- (list rust-aes-gcm-0.10
- rust-anyhow-1
- rust-async-std-1
- rust-aperture-0.3
- rust-ashpd-0.6
- rust-data-encoding-2
- rust-diesel-2
- rust-diesel-migrations-2
- rust-futures-channel-0.3
- rust-futures-executor-0.3
- rust-futures-util-0.3
- rust-gettext-rs-0.7
- rust-gtk4-0.7
- rust-hex-0.4
- rust-image-0.24
- rust-libadwaita-0.5
- rust-oo7-0.2
- rust-percent-encoding-2
- rust-prost-0.12
- rust-qrencode-0.14
- rust-quick-xml-0.30
- rust-rand-0.8
- rust-reqwest-0.11
- rust-ring-0.17
- rust-rust-argon2-2
- rust-scrypt-0.11
- rust-search-provider-0.6
- rust-serde-1
- rust-serde-json-1
- rust-svg-metadata-0.4
- rust-tokio-1
- rust-tracing-0.1
- rust-tracing-subscriber-0.3
- rust-url-2
- rust-uuid-1
- rust-zbar-rust-0.0.23 ; any 0.0.*
- rust-zeroize-1)
#:imported-modules `(,@%meson-build-system-modules
- ,@%glib-or-gtk-build-system-modules
,@%cargo-build-system-modules)
- #:modules `((guix build cargo-build-system)
- ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
- ((guix build meson-build-system) #:prefix meson:)
+ #:modules `(((guix build cargo-build-system) #:prefix cargo:)
+ (guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
- (assoc-ref glib-or-gtk:%standard-phases
- 'generate-gdk-pixbuf-loaders-cache-file))
(add-after 'unpack 'prepare-for-build
(lambda _
(substitute* "meson.build"
@@ -10667,51 +10572,43 @@ specified duration and save it as a GIF encoded animated image file.")
(substitute* "src/meson.build"
(("'test'") "'test', cargo_options"))
(delete-file "Cargo.lock")))
- ;; Add meson-configure phase here and not before 'configure because
- ;; the meson 'configure phase changes to a different directory and
+ ;; The meson 'configure phase changes to a different directory and
;; we need it created before unpacking the crates.
- (add-before 'unpack-rust-crates 'meson-configure
- (lambda args
- (apply (assoc-ref meson:%standard-phases 'configure)
- #:build-type "debugoptimized"
- #:configure-flags '()
- args)))
- (replace 'build
- (assoc-ref meson:%standard-phases 'build))
- (replace 'check
+ (add-after 'configure 'prepare-cargo-build-system
(lambda args
- (apply (assoc-ref meson:%standard-phases 'check)
- #:test-options '()
- args)))
- (replace 'install
- (assoc-ref meson:%standard-phases 'install))
- (add-after 'install 'glib-or-gtk-compile-schemas
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
- (add-after 'install 'glib-or-gtk-wrap
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
- (add-after 'glib-or-gtk-wrap 'wrap-extra-paths
- (lambda _
- (let ((gst-plugins-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
- (wrap-program (string-append #$output "/bin/authenticator")
- `("GST_PLUGIN_SYSTEM_PATH" ":" suffix (,gst-plugins-path))))))
- (add-after 'strip 'shrink-runpath
- (assoc-ref meson:%standard-phases 'shrink-runpath)))))
- (native-inputs (list gettext-minimal
- `(,glib "bin") ; for glib-compile-schemas
- meson
- ninja
- pkg-config))
- (inputs (list bash-minimal
- glib
- gstreamer
- gst-plugins-base
- gst-plugins-bad
- gtk
- libadwaita
- openssl
- pipewire ; Needed but not listed
- sqlite
- zbar))
+ (for-each
+ (lambda (phase)
+ (format #t "Running cargo phase: ~a~%" phase)
+ (apply (assoc-ref cargo:%standard-phases phase)
+ #:vendor-dir "vendor"
+ #:cargo-target #$(cargo-triplet)
+ args))
+ '(unpack-rust-crates
+ configure
+ check-for-pregenerated-files
+ patch-cargo-checksums)))))))
+ (native-inputs
+ (append
+ (list gettext-minimal
+ `(,glib "bin") ; for glib-compile-schemas
+ pkg-config
+ rust
+ `(,rust "cargo"))
+ (or (and=> (%current-target-system)
+ (compose list make-rust-sysroot))
+ '())))
+ (inputs (cons* bash-minimal
+ glib
+ gstreamer
+ gst-plugins-base
+ gst-plugins-bad
+ gtk
+ libadwaita
+ openssl
+ pipewire ; Needed but not listed
+ sqlite
+ zbar
+ (cargo-inputs 'gnome-authenticator)))
(home-page "https://apps.gnome.org/Authenticator")
(synopsis "Generate two-factor codes")
(description "Simple application for generating Two-Factor Authentication