summaryrefslogtreecommitdiff
path: root/modules/freya/packages
diff options
context:
space:
mode:
Diffstat (limited to 'modules/freya/packages')
-rw-r--r--modules/freya/packages/crates-io.scm181
-rw-r--r--modules/freya/packages/gl.scm217
-rw-r--r--modules/freya/packages/gnome-xyz.scm4
-rw-r--r--modules/freya/packages/networking.scm122
-rw-r--r--modules/freya/packages/patches/overskride-fix-meson.patch67
-rw-r--r--modules/freya/packages/wm.scm78
6 files changed, 417 insertions, 252 deletions
diff --git a/modules/freya/packages/crates-io.scm b/modules/freya/packages/crates-io.scm
new file mode 100644
index 0000000..9c29107
--- /dev/null
+++ b/modules/freya/packages/crates-io.scm
@@ -0,0 +1,181 @@
+(define-module (freya packages crates-io)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system cargo)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages crates-io)
+ #:use-module (freya packages linux)
+ #:use-module (guix utils))
+
+
+(define-public rust-synstructure-0.13
+ (package
+ (inherit rust-synstructure-0.12)
+ (name "rust-synstructure")
+ (version "0.13.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "synstructure" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (sha256
+ (base32
+ "01jvj55fxgqa69sp1j9mma09p9vj6zwcvyvh8am81b1zfc7ahnr8"))))))
+
+
+(define-public rust-libc-0.2.155
+ (package
+ (inherit rust-libc-0.2)
+ (name "rust-libc")
+ (version "0.2.155")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (sha256
+ (base32
+ "0z44c53z54znna8n322k5iwg80arxxpdzjj5260pxxzc9a58icwp"))))))
+
+
+(define-public rust-cfg-aliases-0.2
+ (package
+ (inherit rust-cfg-aliases-0.1)
+ (name "rust-cfg-aliases")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "cfg_aliases" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (sha256
+ (base32
+ "092pxdc1dbgjb6qvh83gk56rkic2n2ybm4yvy76cgynmzi3zwfk1"))))))
+
+
+(define-public rust-nix-0.29
+ (package
+ (inherit rust-nix-0.28)
+ (name "rust-nix")
+ (version "0.29.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nix" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (sha256
+ (base32
+ "0ikvn7s9r2lrfdm3mx1h7nbfjvcc6s9vxdzw7j5xfkd2qdnp9qki"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments rust-nix-0.28)
+ ((#:cargo-inputs inputs ''())
+ `(("rust-bitflags" ,rust-bitflags-2)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-cfg-aliases" ,rust-cfg-aliases-0.2)
+ ("rust-libc" ,rust-libc-0.2.155)
+ ("rust-memoffset" ,rust-memoffset-0.9)
+ ("rust-pin-utils" ,rust-pin-utils-0.1)))))))
+
+
+(define-public rust-custom-debug-derive-0.6
+ (package
+ (name "rust-custom-debug-derive")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "custom_debug_derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (sha256
+ (base32
+ "0sagiyiw5h0yi0wmc8dgqyrk4xy9zb0mwinbagi10ff7745l8cgp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f
+ #:cargo-inputs (("rust-darling" ,rust-darling-0.20)
+ ("rust-itertools" ,rust-itertools-0.12)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote-1" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-2)
+ ("rust-synstructure" ,rust-synstructure-0.13))))
+ (home-page "https://github.com/panicbit/custom_debug")
+ (synopsis "Derive Debug with a custom format per field")
+ (description "todo")
+ (license license:expat)))
+
+
+(define-public rust-custom-debug-0.6
+ (package
+ (name "rust-custom-debug")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "custom_debug" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0mnj2k1k1mjg34f2zcyyiqp205fjkpim5h3nf2f90gjh1szibrql"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f
+ #:cargo-inputs (("rust-custom-debug-derive" ,rust-custom-debug-derive-0.6))))
+ (home-page "https://github.com/panicbit/custom_debug")
+ (synopsis "Derive Debug with a custom format per field")
+ (description "todo")
+ (license license:expat)))
+
+
+(define-public rust-bluer-0.17
+ (package
+ (name "rust-bluer")
+ (version "0.17.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "bluer" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ysgxnkijfly78kf9rxg827a9qbndpfdc65cndybc51cv1f6mvz9"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f
+ #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
+ ("rust-hex" ,rust-hex-0.4)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-macaddr" ,rust-macaddr-1)
+ ("rust-nix" ,rust-nix-0.29)
+ ("rust-num-derive" ,rust-num-derive-0.4)
+ ("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-strum" ,rust-strum-0.26)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-uuid" ,rust-uuid-1)
+ ("rust-custom-debug" ,rust-custom-debug-0.6)
+ ("rust-dbus" ,rust-dbus-0.9)
+ ("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5)
+ ("rust-dbus-tokio" ,rust-dbus-tokio-0.7)
+ ("rust-displaydoc" ,rust-displaydoc-0.2)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-pin-project" ,rust-pin-project-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-tokio-stream" ,rust-tokio-stream-0.1))
+ #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
+ ("rust-env-logger" ,rust-env-logger-0.11)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-tokio" ,rust-tokio-1))))
+ (inputs
+ (list bluez-new))
+ (home-page "https://github.com/bluez/bluer")
+ (synopsis "Official Rust interface to the Linux Bluetooth protocol stack (BlueZ)")
+ (description "todo")
+ (license license:bsd-2)))
diff --git a/modules/freya/packages/gl.scm b/modules/freya/packages/gl.scm
index 8e7aeff..dd5e7c2 100644
--- a/modules/freya/packages/gl.scm
+++ b/modules/freya/packages/gl.scm
@@ -10,213 +10,12 @@
(define-public mesa-libglvnd
(package
(inherit mesa)
- (inputs (modify-inputs (package-inputs mesa) (prepend libglvnd)))
+ (inputs
+ (modify-inputs
+ (package-inputs mesa)
+ (prepend libglvnd)))
(arguments
- (list
- #:configure-flags
- #~(list
- #$@(cond
- ((or (target-aarch64?) (target-arm32?))
- '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,\
-panfrost,r300,r600,svga,swrast,tegra,v3d,vc4,virgl,zink"))
- ((or (target-ppc64le?) (target-ppc32?) (target-riscv64?))
- '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,svga,swrast,virgl,zink"))
- (else
- '("-Dgallium-drivers=crocus,iris,nouveau,r300,r600,radeonsi,\
-svga,swrast,virgl,zink")))
- ;; Enable various optional features. TODO: opencl requires libclc,
- ;; omx requires libomxil-bellagio
- "-Dplatforms=x11,wayland"
- "-Dglx=dri" ;Thread Local Storage, improves performance
- ;; "-Dopencl=true"
- ;; "-Domx=true"
- "-Dosmesa=true"
- "-Dgallium-xa=enabled"
-
- ;; features required by wayland
- "-Dgles2=enabled"
- "-Dgbm=enabled"
- "-Dshared-glapi=enabled"
- "-Dglvnd=true"
-
- ;; Explicitly enable Vulkan on some architectures.
- #$@(cond
- ((or (target-x86-32?) (target-x86-64?))
- '("-Dvulkan-drivers=intel,intel_hasvk,amd,swrast"))
- ((or (target-ppc64le?) (target-ppc32?))
- '("-Dvulkan-drivers=amd,swrast"))
- ((target-aarch64?)
- '("-Dvulkan-drivers=freedreno,amd,broadcom,swrast"))
- ((target-riscv64?)
- '("-Dvulkan-drivers=amd,swrast"))
- (else
- '("-Dvulkan-drivers=auto")))
-
- ;; Enable the Vulkan overlay layer on all architectures.
- "-Dvulkan-layers=device-select,overlay"
-
- ;; Enable all the codecs that were built by default as part of the
- ;; 21.3.x releases to avoid functionality regressions.
- "-Dvideo-codecs=all"
-
- ;; Enable ZSTD compression for shader cache.
- "-Dzstd=enabled"
-
- ;; Also enable the tests.
- "-Dbuild-tests=true"
-
- "-Dllvm=enabled") ; default is x86/x86_64 only
-
- ;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The
- ;; documentation recommends using 'release' for performance anyway.
- #:build-type "release"
-
- #:modules '((ice-9 match)
- (srfi srfi-1)
- (guix build utils)
- (guix build meson-build-system))
- #:phases
- #~(modify-phases %standard-phases
- #$@(if (%current-target-system)
- #~((add-after 'unpack 'fix-cross-compiling
- (lambda* (#:key native-inputs #:allow-other-keys)
- ;; When cross compiling, we use cmake to find llvm, not
- ;; llvm-config, because llvm-config cannot be executed
- ;; see https://github.com/llvm/llvm-project/issues/58984
- (substitute* "meson.build"
- (("method : host_machine\\.system.*")
- "method : 'cmake',\n"))
- (setenv "CMAKE"
- (search-input-file
- native-inputs "/bin/cmake")))))
- #~())
- (add-after 'unpack 'disable-failing-test
- (lambda _
- ;; Disable the intel vulkan (anv_state_pool) tests, as they may
- ;; fail in a nondeterministic fashion (see:
- ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/5446).
- (substitute* "src/intel/vulkan/meson.build"
- (("if with_tests")
- "if false"))
- #$@(match (%current-system)
- ("riscv64-linux"
- ;; According to the test logs the llvm JIT is not designed
- ;; for this architecture and the llvmpipe tests all segfault.
- ;; The same is true for mesa:gallium / osmesa-render.
- `((substitute* '("src/gallium/drivers/llvmpipe/meson.build"
- "src/gallium/targets/osmesa/meson.build")
- (("if with_tests") "if false"))))
- ("powerpc64le-linux"
- ;; Disable some of the llvmpipe tests.
- `((substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c"
- (("0\\.5, ") ""))))
- ("powerpc-linux"
- ;; There are some tests which fail specifically on powerpc.
- `((substitute* '(;; LLVM ERROR: Relocation type not implemented yet!
- "src/gallium/drivers/llvmpipe/meson.build"
- "src/gallium/targets/osmesa/meson.build")
- (("if with_tests") "if not with_tests"))
- ;; This is probably a big-endian test failure.
- (substitute* "src/amd/common/meson.build"
- (("and not with_platform_windows")
- "and with_platform_windows"))))
- ("i686-linux"
- ;; This test is known to fail on i686 (see:
- ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/4091).
- `((substitute* "src/util/meson.build"
- ((".*'tests/u_debug_stack_test.cpp',.*") ""))))
- ("armhf-linux"
- ;; Disable some of the llvmpipe tests.
- `((substitute* "src/gallium/drivers/llvmpipe/meson.build"
- (("'lp_test_arit', ") ""))))
- (_
- '((display "No tests to disable on this architecture.\n"))))))
- (add-before 'configure 'fix-dlopen-libnames
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((out #$output))
- ;; Remain agnostic to .so.X.Y.Z versions while doing
- ;; the substitutions so we're future-safe.
- (substitute* "src/glx/meson.build"
- (("-DGL_LIB_NAME=\"lib@0@\\.so\\.@1@\"")
- (string-append "-DGL_LIB_NAME=\"" out
- "/lib/lib@0@.so.@1@\"")))
- (substitute* "src/gbm/backends/dri/gbm_dri.c"
- (("\"libglapi\\.so")
- (string-append "\"" out "/lib/libglapi.so")))
- (substitute* "src/gbm/main/backend.c"
- ;; No need to patch the gbm_gallium_drm.so reference;
- ;; it's never installed since Mesa removed its
- ;; egl_gallium support.
- (("\"gbm_dri\\.so")
- (string-append "\"" out "/lib/dri/gbm_dri.so")))
- (substitute* "src/gallium/drivers/zink/zink_screen.c"
- (("util_dl_open\\(VK_LIBNAME\\)")
- (format #f "util_dl_open(\"~a\")"
- (search-input-file inputs
- "lib/libvulkan.so.1")))))))
- (add-after 'install 'split-outputs
- (lambda _
- (let ((out #$output)
- (bin #$output:bin))
- ;; Not all architectures have the Vulkan overlay control script.
- (mkdir-p (string-append out "/bin"))
- (call-with-output-file (string-append out "/bin/.empty")
- (const #t))
- (copy-recursively (string-append out "/bin")
- (string-append bin "/bin"))
- (delete-file-recursively (string-append out "/bin")))))
- (add-after 'install 'symlinks-instead-of-hard-links
- (lambda _
- ;; All the drivers and gallium targets create hard links upon
- ;; installation (search for "hardlink each megadriver instance"
- ;; in the makefiles). This is no good for us since we'd produce
- ;; nars that contain several copies of these files. Thus, turn
- ;; them into symlinks, which saves ~124 MiB.
- (let* ((out #$output)
- (lib (string-append out "/lib"))
- (files (find-files lib
- (lambda (file stat)
- (and (string-contains file ".so")
- (eq? 'regular
- (stat:type stat))))))
- (inodes (map (compose stat:ino stat) files)))
- (for-each (lambda (inode)
- (match (filter-map (match-lambda
- ((file ino)
- (and (= ino inode) file)))
- (zip files inodes))
- ((_)
- #f)
- ((reference others ..1)
- (format #t "creating ~a symlinks to '~a'~%"
- (length others) reference)
- (for-each delete-file others)
- (for-each (lambda (file)
- (if (string=? (dirname file)
- (dirname reference))
- (symlink (basename reference)
- file)
- (symlink reference file)))
- others))))
- (delete-duplicates inodes)))))
- (add-after 'install 'set-layer-path-in-manifests
- (lambda _
- (let* ((out #$output)
- (implicit-path (string-append
- out
- "/share/vulkan/implicit_layer.d/"))
- (explicit-path (string-append
- out
- "/share/vulkan/explicit_layer.d/"))
- (fix-layer-path
- (lambda (layer-name)
- (let* ((explicit (string-append explicit-path layer-name ".json"))
- (implicit (string-append implicit-path layer-name ".json"))
- (manifest (if (file-exists? explicit)
- explicit
- implicit)))
- (substitute* manifest
- (((string-append "\"lib" layer-name ".so\""))
- (string-append "\"" out "/lib/lib" layer-name ".so\"")))))))
- (for-each fix-layer-path '("VkLayer_MESA_device_select"
- "VkLayer_MESA_overlay"))))))))))
+ (substitute-keyword-arguments (package-arguments mesa)
+ ((#:configure-flags flags ''())
+ #~(append (list "-Dglvnd=true")
+ #$flags))))))
diff --git a/modules/freya/packages/gnome-xyz.scm b/modules/freya/packages/gnome-xyz.scm
index 6be7624..a4d8732 100644
--- a/modules/freya/packages/gnome-xyz.scm
+++ b/modules/freya/packages/gnome-xyz.scm
@@ -67,7 +67,7 @@
(define-public mint-themes
(package
(name "mint-themes")
- (version "2.1.7")
+ (version "2.1.8")
(source
(origin
(method url-fetch)
@@ -75,7 +75,7 @@
version "_all.deb"))
(sha256
(base32
- "19d6b8pr45ga038cvqisa9hvgd3frys2wf218am3hrmair4r27bf"))
+ "0a1j566a0p0nxmzil5z6qidzqd9dal1r5lv90x2v5s2slm162f3a"))
(file-name "source.deb")))
(build-system trivial-build-system)
(native-inputs
diff --git a/modules/freya/packages/networking.scm b/modules/freya/packages/networking.scm
index 57c1a25..1622b0e 100644
--- a/modules/freya/packages/networking.scm
+++ b/modules/freya/packages/networking.scm
@@ -1,12 +1,132 @@
(define-module (freya packages networking)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system cargo)
+ #:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages networking)
+ #:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-gtk)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages rust)
#:use-module (freya packages linux)
- #:use-module (guix utils))
+ #:use-module (freya packages crates-io)
+ #:use-module (guix utils)
+ #:use-module (guix build utils))
+
+(define overskride-version
+ "0.5.7")
+(define overskride-source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/kaii-lb/overskride"
+ "/archive/refs/tags/v" overskride-version ".tar.gz"))
+ (file-name (string-append "overskride-" overskride-version ".tar.gz"))
+ (patches (list
+ (local-file "patches/overskride-fix-meson.patch")))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively
+ "subprojects")))
+ (sha256
+ (base32
+ "0qncsyapw4fl9zx95i1i62karvrbqj58lrd2difms36wa14ylz2v"))))
+
+
+(define overskride-glib
+ (package
+ (name "overskride-glib")
+ (version overskride-version)
+ (source overskride-source)
+ (build-system meson-build-system)
+ (native-inputs
+ (list rust
+ desktop-file-utils
+ gettext-minimal
+ pkg-config
+ blueprint-compiler
+ gobject-introspection
+ `(,gtk "bin")
+ `(,glib "bin")))
+ (propagated-inputs
+ (list gtk
+ libadwaita))
+ (home-page "https://github.com/kaii-lb/overskride")
+ (synopsis "A simple yet powerful bluetooth client.")
+ (description "Provides the glib components of the overskride pacakge")
+ (license license:gpl3+)))
+
+
+(define-public overskride
+ (package
+ (name "overskride")
+ (version overskride-version)
+ (source overskride-source)
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f
+ #:cargo-inputs (("rust-libadwaita" ,rust-libadwaita-0.5)
+ ("rust-bluer" ,rust-bluer-0.17)
+ ("rust-dbus" ,rust-dbus-0.9)
+ ("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5)
+ ("rust-futures" ,rust-futures-0.3)
+ ("rust-gettext-rs" ,rust-gettext-rs-0.7)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-pnf" ,rust-phf-0.11)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tokio-util" ,rust-tokio-util-0.7)
+ ("rust-uuid" ,rust-uuid-1)
+ ("rust-libpulse-binding" ,rust-libpulse-binding-2))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Cargo.toml"
+ (("0.16.1") "0.17"))
+ (substitute* "src/config.rs"
+ (("\\/usr\\/share\\/overskride")
+ (string-append (assoc-ref outputs "out")
+ "/share/overskride")))))
+ (add-after 'install 'install-glib
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (glib (assoc-ref inputs "overskride-glib")))
+ (copy-recursively glib out))))
+ (add-after 'install-glib 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (wrap-program (string-append (assoc-ref outputs "out")
+ "/bin/overskride")
+ `("GSETTINGS_SCHEMA_DIR" =
+ (,(string-append (assoc-ref outputs "out")
+ "/share/glib-2.0/schemas")))))))))
+ (native-inputs (list gcc-13
+ pkg-config
+ `(,gtk "bin")
+ `(,glib "bin")))
+ (inputs (list overskride-glib
+ gcc-13
+ dbus
+ libadwaita
+ pipewire-new
+ pulseaudio
+ bluez-new))
+ (home-page "https://github.com/kaii-lb/overskride")
+ (synopsis "A simple yet powerful bluetooth client.")
+ (description "todo")
+ (license license:gpl3+)))
+
(define-public blueman-new
(package
diff --git a/modules/freya/packages/patches/overskride-fix-meson.patch b/modules/freya/packages/patches/overskride-fix-meson.patch
new file mode 100644
index 0000000..a57e097
--- /dev/null
+++ b/modules/freya/packages/patches/overskride-fix-meson.patch
@@ -0,0 +1,67 @@
+From fa401fc5082dbf4dc048e05222c752a14b808a53 Mon Sep 17 00:00:00 2001
+From: Freya Murphy <freya@freyacat.org>
+Date: Sat, 10 Aug 2024 15:14:15 -0400
+Subject: [PATCH] fix meson
+
+---
+ src/meson.build | 47 -----------------------------------------------
+ 1 file changed, 47 deletions(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index f64920f..11c45a7 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -25,50 +25,3 @@ gnome.compile_resources('overskride',
+ install: true,
+ install_dir: pkgdatadir,
+ )
+-
+-conf = configuration_data()
+-conf.set_quoted('VERSION', meson.project_version())
+-conf.set_quoted('GETTEXT_PACKAGE', 'overskride')
+-conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
+-conf.set_quoted('PKGDATADIR', pkgdatadir)
+-
+-configure_file(
+- input: 'config.rs.in',
+- output: 'config.rs',
+- configuration: conf
+-)
+-
+-# Copy the config.rs output to the source directory.
+-run_command(
+- 'cp',
+- join_paths(meson.project_build_root(), 'src', 'config.rs'),
+- join_paths(meson.project_source_root(), 'src', 'config.rs'),
+- check: true
+-)
+-
+-cargo_bin = find_program('cargo')
+-cargo_opt = [ '--manifest-path', meson.project_source_root() / 'Cargo.toml' ]
+-cargo_opt += [ '--target-dir', meson.project_build_root() / 'src' ]
+-cargo_env = [ 'CARGO_HOME=' + meson.project_build_root() / 'cargo-home' ]
+-
+-if get_option('buildtype') == 'release'
+- cargo_opt += [ '--release' ]
+- rust_target = 'release'
+-else
+- rust_target = 'debug'
+-endif
+-
+-cargo_build = custom_target(
+- 'cargo-build',
+- build_by_default: true,
+- build_always_stale: true,
+- output: meson.project_name(),
+- console: true,
+- install: true,
+- install_dir: get_option('bindir'),
+- command: [
+- 'env', cargo_env,
+- cargo_bin, 'build',
+- cargo_opt, '&&', 'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@',
+- ]
+-)
+--
+2.45.2
+
diff --git a/modules/freya/packages/wm.scm b/modules/freya/packages/wm.scm
index a4daf59..501bdf0 100644
--- a/modules/freya/packages/wm.scm
+++ b/modules/freya/packages/wm.scm
@@ -610,46 +610,44 @@ extra portals specific to Hyprland, mostly for window sharing.")
(define-syntax hyprland-plugin-impl
(syntax-rules ()
((_ plugin)
- (let ((commit "4fcb4038f23e5273af9a5684f3ee10b0652b3bab")
- (revision "1"))
- (package
- (name (string-append "hyprland-plugin-" plugin))
- (version (git-version "0.42.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hyprwm/hyprland-plugins.git")
- (commit commit)))
- (sha256
- (base32
- "1i1924a2kmjbp6c6y443hdv53nganj4g6dci20v9imrja21vc6s3"))
- (file-name (git-file-name name version))))
- (build-system cmake-build-system)
- (arguments
- (list #:tests? #f
- #:cmake cmake-minimal-3.27.0
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _ (chdir (string-append "../source/" plugin "/")))))))
- (native-inputs
- (list pkg-config
- gcc-13
- hyprwayland-scanner))
- (inputs
- (list gcc-13
- aquamarine
- pango
- hyprland-protocols
- hyprland
- hyprlang
- hyprutils
- libdrm))
- (license license:bsd-3)
- (home-page "https://github.com/hyprwm/hyprland-plugins")
- (synopsis (string-append "official " plugin " plugin for hyprland"))
- (description (string-append "official " plugin " plugin for hyprland")))))))
+ (package
+ (name (string-append "hyprland-plugin-" plugin))
+ (version "0.42.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hyprwm/hyprland-plugins.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1qzi8c29bam3cj1rngw3gidgphldw7q196iwa9ji5jq071nc1z38"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f
+ #:cmake cmake-minimal-3.27.0
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir (string-append "../source/" plugin "/")))))))
+ (native-inputs
+ (list pkg-config
+ gcc-13
+ hyprwayland-scanner))
+ (inputs
+ (list gcc-13
+ aquamarine
+ pango
+ hyprland-protocols
+ hyprland
+ hyprlang
+ hyprutils
+ libdrm))
+ (license license:bsd-3)
+ (home-page "https://github.com/hyprwm/hyprland-plugins")
+ (synopsis (string-append "official " plugin " plugin for hyprland"))
+ (description (string-append "official " plugin " plugin for hyprland"))))))
(define-public hyprland-plugins