@@ -2039,6 +2039,7 @@ dist_patch_DATA = \
%D%/packages/patches/xterm-370-explicit-xcursor.patch \
%D%/packages/patches/xygrib-fix-finding-data.patch \
%D%/packages/patches/yabridge-5.0.4-fix-dependency-search.patch \
+ %D%/packages/patches/yabridgectl-5.0.4-fix-reflink.patch \
%D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/zig-use-system-paths.patch
@@ -73,6 +73,7 @@ (define-module (gnu packages audio)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages curl)
#:use-module (gnu packages dbm)
#:use-module (gnu packages documentation)
@@ -137,6 +138,7 @@ (define-module (gnu packages audio)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
@@ -3563,6 +3565,56 @@ (define-public yabridge
quick startup times.")
(license license:gpl3+)))
+(define-public yabridgectl
+ (package
+ (inherit yabridge)
+ (name "yabridgectl")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robbert-vdh/yabridge")
+ (commit (package-version yabridge))))
+ (sha256
+ (base32
+ "08p92a2qx5k2531wr38mrksn7g16j0mz611rwla1m0igfc4r75fp"))
+ (patches
+ (search-patches "yabridgectl-5.0.4-fix-reflink.patch"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-anyhow" ,rust-anyhow-1)
+ ("rust-clap" ,rust-clap-3)
+ ("rust-colored" ,rust-colored-2)
+ ("rust-is-executable" ,rust-is-executable-1)
+ ("rust-goblin" ,rust-goblin-0.6)
+ ("rust-libloading" ,rust-libloading-0.7)
+ ("rust-promptly" ,rust-promptly-0.3)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-reflink" ,rust-reflink-0.1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-derive" ,rust-serde-derive-1)
+ ("rust-serde-jsonrc" ,rust-serde-jsonrc-0.1)
+ ("rust-textwrap" ,rust-textwrap-0.11)
+ ("rust-toml" ,rust-toml-0.5)
+ ("rust-walkdir" ,rust-walkdir-2)
+ ("rust-which" ,rust-which-4)
+ ("rust-xdg" ,rust-xdg-2))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "tools/yabridgectl")))
+ (add-after 'install 'wrap-program
+ (lambda _
+ (wrap-program (string-append #$output "/bin/yabridgectl")
+ `("LD_LIBRARY_PATH" ":" prefix
+ (,(string-append #$output "/lib")))))))))
+ (native-inputs '())
+ (inputs (list dbus))
+ (synopsis "Utility to set up and update yabridge")
+ (description
+ "@command{yabridgectl} is a tool to setup and update @code{yabridge}.")))
+
(define-public patchage
(package
(name "patchage")
new file mode 100644
@@ -0,0 +1,28 @@
+Guix does not allow fetching from remote git repository within build phase.
+This patch refers the packaged reflink.
+
+From 434d15bab0f7df8848be06633e2c0ec1ef91f9f1 Mon Sep 17 00:00:00 2001
+From: Sughosha <sughosha@proton.me>
+Date: Sun, 23 Apr 2023 10:02:26 +0200
+Subject: [PATCH] Fix reflink.
+
+---
+ tools/yabridgectl/Cargo.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/yabridgectl/Cargo.toml b/tools/yabridgectl/Cargo.toml
+index f2ea73fb..09490e43 100644
+--- a/tools/yabridgectl/Cargo.toml
++++ b/tools/yabridgectl/Cargo.toml
+@@ -18,7 +18,7 @@ goblin = { version = "0.6", default_features = false, features = ["std", "pe32",
+ libloading = "0.7.3"
+ promptly = "0.3.1"
+ # Version 0.1.3 from crates.io assumes a 64-bit toolchain
+-reflink = { git = "https://github.com/nicokoch/reflink", rev = "e8d93b465f5d9ad340cd052b64bbc77b8ee107e2" }
++reflink = "0.1.3"
+ rayon = "1.5.1"
+ serde = "1.0.133"
+ serde_derive = "1.0.133"
+--
+2.39.2
+