unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl.
@ 2023-04-25  9:22 Sughosha via Guix-patches via
  2023-04-25  9:25 ` [bug#63065] [PATCH 01/18] gnu: asio: Update to 1.24.0 Sughosha via Guix-patches via
                   ` (36 more replies)
  0 siblings, 37 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:22 UTC (permalink / raw)
  To: 63065

This series of patches is here to add yabridge and yabridgectl with its
up-to-date dependencies.




^ permalink raw reply	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 01/18] gnu: asio: Update to 1.24.0.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
@ 2023-04-25  9:25 ` Sughosha via Guix-patches via
  2023-04-25  9:27 ` [bug#63065] [PATCH 02/18] gnu: Add bitsery Sughosha via Guix-patches via
                   ` (35 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:25 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/networking.scm (asio): Update to 1.24.0.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1ba6c5300d..223a772735 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3387,14 +3387,14 @@ (define-public can-utils
 (define-public asio
   (package
     (name "asio")
-    (version "1.22.2")
+    (version "1.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/asio/asio/"
                            version " (Stable)/asio-" version ".tar.bz2"))
        (sha256
-        (base32 "0v5w9j4a02j2rkc7mrdj3ms0kfpqbgq2ipkixlz2l0p8xs0vfsvp"))))
+        (base32 "11f5hbk2i9fyn3ivw2jczsdacc36c0h1l1ygdw7n06514hn82xl9"))))
     (build-system gnu-build-system)
     (inputs
      (list boost openssl))
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 02/18] gnu: Add bitsery.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
  2023-04-25  9:25 ` [bug#63065] [PATCH 01/18] gnu: asio: Update to 1.24.0 Sughosha via Guix-patches via
@ 2023-04-25  9:27 ` Sughosha via Guix-patches via
  2023-04-25  9:27 ` [bug#63065] [PATCH 03/18] gnu: Add function2 Sughosha via Guix-patches via
                   ` (34 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:27 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/cpp.scm (bitsery): New variable.
---
 gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ed6ae69198..699d0cacb1 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1982,6 +1982,30 @@ (define-public gulrak-filesystem
     (home-page "https://github.com/gulrak/filesystem")
     (license license:expat)))
 
+(define-public bitsery
+  (package
+    (name "bitsery")
+    (version "5.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/fraillt/bitsery")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1hv2fya7w53bfhlk79b1qnjg1qy076s8kvg22sfdq05bh0hxqrxf"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-DBITSERY_BUILD_TESTS=ON")))
+    (native-inputs (list googletest))
+    (synopsis "Header only C++ binary serialization library")
+    (description "This package provides header only C++ binary serialization
+library.  It is designed around the networking requirements for real-time data
+delivery, especially for games.")
+    (home-page "https://github.com/fraillt/bitsery")
+    (license license:expat)))
+
 (define-public cpp-mustache
   (package
     (name "cpp-mustache")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 03/18] gnu: Add function2.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
  2023-04-25  9:25 ` [bug#63065] [PATCH 01/18] gnu: asio: Update to 1.24.0 Sughosha via Guix-patches via
  2023-04-25  9:27 ` [bug#63065] [PATCH 02/18] gnu: Add bitsery Sughosha via Guix-patches via
@ 2023-04-25  9:27 ` Sughosha via Guix-patches via
  2023-04-25  9:28 ` [bug#63065] [PATCH 04/18] gnu: Add tomlplusplus Sughosha via Guix-patches via
                   ` (33 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:27 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/cpp.scm (function2): New variable.
---
 gnu/packages/cpp.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 699d0cacb1..44d99b0724 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2006,6 +2006,36 @@ (define-public bitsery
     (home-page "https://github.com/fraillt/bitsery")
     (license license:expat)))
 
+(define-public function2
+  (package
+    (name "function2")
+    (version "4.2.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Naios/function2")
+                    (commit version)))
+              (sha256
+               (base32
+                "1n5cgx3ab5ywad3hb350r6lg6h0sj5qph6r5cvdxmfk638pp3rlb"))))
+    (build-system cmake-build-system)
+    ;; TODO: Patch or substitute to detect system gtest.
+    (arguments
+     (list #:tests? #f ;No SOURCES given to target: gtest
+           #:configure-flags #~(list "-DBUILD_TESTING=OFF")))
+    ;; (native-inputs (list googletest))
+    (synopsis "Improved implementations of std::function")
+    (description "This package provides the following implementations of
+std::function:
+@itemize
+@item copyable fu2::function
+@item move-only fu2::unique_function (capable of holding move only types)
+@item non-owning fu2::function_view (capable of referencing callables in a non
+owning way)
+@end itemize")
+    (home-page "https://naios.github.io/function2/")
+    (license license:boost1.0)))
+
 (define-public cpp-mustache
   (package
     (name "cpp-mustache")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 04/18] gnu: Add tomlplusplus.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (2 preceding siblings ...)
  2023-04-25  9:27 ` [bug#63065] [PATCH 03/18] gnu: Add function2 Sughosha via Guix-patches via
@ 2023-04-25  9:28 ` Sughosha via Guix-patches via
  2023-04-25  9:29 ` [bug#63065] [PATCH 05/18] gnu: Add clap Sughosha via Guix-patches via
                   ` (32 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:28 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/cpp.scm (tomlplusplus): New variable.
---
 gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 44d99b0724..6bb7bc1723 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -71,6 +71,7 @@ (define-module (gnu packages cpp)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -2036,6 +2037,29 @@ (define-public function2
     (home-page "https://naios.github.io/function2/")
     (license license:boost1.0)))
 
+(define-public tomlplusplus
+  (package
+    (name "tomlplusplus")
+    (version "3.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/marzer/tomlplusplus")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0lvv4dq2fhadvb9hbf89nvg5r2pfjlccc4nawl0kx6rfw56grm90"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:meson meson-0.63))
+    (native-inputs (list cmake-minimal))
+    (synopsis "Header-only TOML config file parser and serializer for C++17")
+    (description "This package provides Header-only TOML config file parser and
+serializer for C++17.")
+    (home-page "https://marzer.github.io/tomlplusplus/")
+    (license license:expat)))
+
 (define-public cpp-mustache
   (package
     (name "cpp-mustache")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 05/18] gnu: Add clap.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (3 preceding siblings ...)
  2023-04-25  9:28 ` [bug#63065] [PATCH 04/18] gnu: Add tomlplusplus Sughosha via Guix-patches via
@ 2023-04-25  9:29 ` Sughosha via Guix-patches via
  2023-04-25  9:30 ` [bug#63065] [PATCH 06/18] gnu: Add vst3sdk Sughosha via Guix-patches via
                   ` (31 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:29 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/audio.scm (clap): New variable.
---
 gnu/packages/audio.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index cf7fcd87c8..14c1ebbd92 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2702,6 +2702,27 @@ (define-public jalv
 plugin function as a JACK application.")
     (license license:isc)))
 
+(define-public clap
+  (package
+    (name "clap")
+    (version "1.1.7") ;yabridge requires clap 1.1.7
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/free-audio/clap")
+                    (commit version)))
+              (sha256
+               (base32
+                "1afjvllmzf2xmrpy8mcxk7zhii93b447ciaqw9lkj2wh9z217hsr"))))
+    (build-system cmake-build-system)
+    (synopsis "Audio Plugin API")
+    (description
+     "CLAP stands for CLever Audio Plugin.  It is an audio plugin ABI which
+defines a standard for Digital Audio Workstations and audio plugins to work
+together.")
+    (home-page "https://cleveraudio.org/")
+    (license license:expat)))
+
 (define-public ladspa
   (package
     (name "ladspa")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 06/18] gnu: Add vst3sdk.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (4 preceding siblings ...)
  2023-04-25  9:29 ` [bug#63065] [PATCH 05/18] gnu: Add clap Sughosha via Guix-patches via
@ 2023-04-25  9:30 ` Sughosha via Guix-patches via
  2023-04-25  9:30 ` [bug#63065] [PATCH 07/18] gnu: Add yabridge Sughosha via Guix-patches via
                   ` (30 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:30 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/audio.scm (vst3sdk): New variable.
* gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch:
New file.
* gnu/local.mk: Register the patch file.
---
 gnu/local.mk                                  |   1 +
 gnu/packages/audio.scm                        |  44 ++++
 ...3sdk-3.7.7-allow-winelib-compilation.patch | 191 ++++++++++++++++++
 3 files changed, 236 insertions(+)
 create mode 100644 gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 8088e8170b..b53a04a0cd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2000,6 +2000,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/vtk-7-gcc-10-compat.patch		\
   %D%/packages/patches/vtk-7-hdf5-compat.patch			\
   %D%/packages/patches/vtk-7-python-compat.patch		\
+  %D%/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch	\
   %D%/packages/patches/wacomtablet-add-missing-includes.patch	\
   %D%/packages/patches/wacomtablet-qt5.15.patch			\
   %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 14c1ebbd92..9e111a3b9e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3405,6 +3405,50 @@ (define-public freealut
     (home-page "https://kcat.strangesoft.net/openal.html")
     (license license:lgpl2.0)))
 
+(define-public vst3sdk
+  (package
+    (name "vst3sdk")
+    (version "3.7.7")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/steinbergmedia/vst3sdk")
+                    ;; Should the build number included in version variable?
+                    (commit (string-append "v" version "_build_19"))
+                    ;; Required for vst3_base, vst3_cmake, vst3_doc,
+                    ;; vst3_pluginterfaces, vst3_public_sdk and vstgui.
+                    (recursive? #t)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1a2ph0niyzpsjg765pxjmwhjc7pvcy5rsn4d254hx2b5by4f5cf2"))
+              (patches
+               (search-patches
+                "vst3sdk-3.7.7-allow-winelib-compilation.patch"))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:install-plan
+       `(("." "/share/vst3sdk" #:exclude-regexp ("/cmake/"
+                                                 "/doc/"
+                                                 ".gitmodules"
+                                                 "LICENSE.txt"
+                                                 "README.md"))
+         ("cmake/modules" "/lib/cmake/vst3sdk")
+         ("doc" "/share/doc/vst3sdk"))))
+    (home-page "https://github.com/steinbergmedia/vst3sdk")
+    (synopsis "VST 3 plugin SDK")
+    (description
+     "This package contains:
+@itemize
+@item VST 3 API
+@item VST 3 implementation helper classes
+@item VST 2 wrappers
+@end itemize")
+    (license (list license:gpl3
+                   ;; License used by vst3_base, vst3_cmake, vst3_public_sdk
+                   ;; and vstgui
+                   license:bsd-3))))
+
 (define-public patchage
   (package
     (name "patchage")
diff --git a/gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch b/gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch
new file mode 100644
index 0000000000..43639f978f
--- /dev/null
+++ b/gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch
@@ -0,0 +1,191 @@
+This patch is taken from yabridge project:
+https://github.com/robbert-vdh/yabridge.
+
+Submodule base contains modified content
+diff --git a/base/source/fdebug.cpp b/base/source/fdebug.cpp
+index b1d1dcc..9093022 100644
+--- a/base/source/fdebug.cpp
++++ b/base/source/fdebug.cpp
+@@ -117,8 +117,6 @@ bool AmIBeingDebugged ()
+ #if _MSC_VER
+ #include <intrin.h>
+ #endif
+-#define vsnprintf _vsnprintf
+-#define snprintf _snprintf
+ 
+ #elif SMTG_OS_MACOS
+ #include <errno.h>
+Submodule pluginterfaces contains modified content
+diff --git a/pluginterfaces/base/fstrdefs.h b/pluginterfaces/base/fstrdefs.h
+index 848e8ee..8846d31 100644
+--- a/pluginterfaces/base/fstrdefs.h
++++ b/pluginterfaces/base/fstrdefs.h
+@@ -22,6 +22,16 @@
+ /** string methods defines unicode / ASCII */
+ //----------------------------------------------------------------------------
+ 
++// We can use most of the VST3 SDK's Windows UTF-16 functionality by just
++// creating aliases for equivalent Linux functions
++#if __WINE__
++#define wcsicmp wcscasecmp
++#define wcsnicmp wcsncasecmp
++#define _vsnwprintf vswprintf
++#define stricmp strcasecmp
++#define strnicmp strncasecmp
++#endif
++
+ // 16 bit string operations
+ #if SMTG_CPP11	// if c++11 unicode string literals
+ 	#define SMTG_CPP11_CAT_PRIVATE_DONT_USE(a,b)			a ## b
+diff --git a/pluginterfaces/base/ftypes.h b/pluginterfaces/base/ftypes.h
+index 133dbba..33ecae3 100644
+--- a/pluginterfaces/base/ftypes.h
++++ b/pluginterfaces/base/ftypes.h
+@@ -154,7 +154,7 @@ namespace Steinberg
+ // always inline macros (only when RELEASE is 1)
+ //----------------------------------------------------------------------------
+ #if RELEASE
+-    #if SMTG_OS_MACOS || SMTG_OS_LINUX || defined(__MINGW32__)
++    #if SMTG_OS_MACOS || SMTG_OS_LINUX || defined(__WINE__)
+ 		#define SMTG_ALWAYS_INLINE	__inline__ __attribute__((__always_inline__))
+ 		#define SMTG_NEVER_INLINE __attribute__((noinline))
+ 	#elif SMTG_OS_WINDOWS
+diff --git a/pluginterfaces/base/ustring.cpp b/pluginterfaces/base/ustring.cpp
+index 24a412f..8e631c9 100644
+--- a/pluginterfaces/base/ustring.cpp
++++ b/pluginterfaces/base/ustring.cpp
+@@ -38,6 +38,10 @@
+ 
+ #endif
+ 
++#ifdef __WINE__
++#include <wchar.h>
++#endif
++
+ //------------------------------------------------------------------------
+ namespace Steinberg {
+ 
+@@ -173,7 +177,7 @@ bool UString::scanFloat (double& value) const
+ bool UString::printFloat (double value, int32 precision)
+ {
+ #if SMTG_OS_WINDOWS
+-	return swprintf ((wchar_t*)thisBuffer, L"%.*lf", precision, value) != -1;
++	return swprintf ((wchar_t*)thisBuffer, thisSize, L"%.*lf", precision, value) != -1;
+ #elif SMTG_OS_MACOS
+ 	bool result = false;
+ 	CFStringRef cfStr = CFStringCreateWithFormat (0, 0, CFSTR("%.*lf"), precision, value);
+@@ -238,7 +242,7 @@ bool UString::scanInt (int64& value) const
+ bool UString::printInt (int64 value)
+ {
+ #if SMTG_OS_WINDOWS
+-	return swprintf ((wchar_t*)thisBuffer, L"%I64d", value) != -1;
++	return swprintf ((wchar_t*)thisBuffer, thisSize, L"%I64d", value) != -1;
+ 
+ #elif SMTG_OS_MACOS
+ 	CFStringRef cfStr = CFStringCreateWithFormat (0, 0, CFSTR("%lld"), value);
+Submodule public.sdk contains modified content
+diff --git a/public.sdk/source/common/systemclipboard_win32.cpp b/public.sdk/source/common/systemclipboard_win32.cpp
+index c5cb2b8..2ee3d65 100644
+--- a/public.sdk/source/common/systemclipboard_win32.cpp
++++ b/public.sdk/source/common/systemclipboard_win32.cpp
+@@ -111,7 +111,7 @@ bool copyTextToClipboard (const std::string& text)
+ 	{
+ 		if (auto* data = static_cast<WCHAR*> (GlobalLock (memory)))
+ 		{
+-#if defined(__MINGW32__)
++#if defined(__WINE__)
+ 			memcpy (data, wideStr.data (), byteSize);
+ #else
+ 			memcpy_s (data, byteSize, wideStr.data (), byteSize);
+diff --git a/public.sdk/source/vst/hosting/module_win32.cpp b/public.sdk/source/vst/hosting/module_win32.cpp
+index 2ba9319..ab6d72a 100644
+--- a/public.sdk/source/vst/hosting/module_win32.cpp
++++ b/public.sdk/source/vst/hosting/module_win32.cpp
+@@ -44,35 +44,10 @@
+ #include <algorithm>
+ #include <iostream>
+ 
+-#if SMTG_CPP17
+-
+-#if __has_include(<filesystem>)
+-#define USE_FILESYSTEM 1
+-#elif __has_include(<experimental/filesystem>)
+-#define USE_FILESYSTEM 0
+-#endif
+-
+-#else // !SMTG_CPP17
+-
+-#define USE_FILESYSTEM 0
+-
+-#endif // SMTG_CPP17
+-
+-#if USE_FILESYSTEM == 1
+-
+-#include <filesystem>
+-namespace filesystem = std::filesystem;
+-
+-#else // USE_FILESYSTEM == 0
+-
+-// The <experimental/filesystem> header is deprecated. It is superseded by the C++17 <filesystem>
+-// header. You can define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING to silence the
+-// warning, otherwise the build will fail in VS2019 16.3.0
+-#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING
+-#include <experimental/filesystem>
+-namespace filesystem = std::experimental::filesystem;
+-
+-#endif // USE_FILESYSTEM
++// `std::filesystem` doesn't work correctly with wineg++, resulting in weird
++// memory errors. This library is a drop-in replacement.
++#include <ghc/filesystem.hpp>
++namespace filesystem = ghc::filesystem;
+ 
+ #pragma comment(lib, "Shell32")
+ 
+@@ -320,7 +295,7 @@ VST3::Optional<filesystem::path> resolveShellLink (const filesystem::path& p)
+ #elif USE_OLE
+ 	Ole::instance ();
+ 
+-	IShellLink* shellLink = nullptr;
++	IShellLinkW* shellLink = nullptr;
+ 	if (!SUCCEEDED (CoCreateInstance (CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER,
+ 	                                  IID_IShellLink, reinterpret_cast<LPVOID*> (&shellLink))))
+ 		return {};
+@@ -405,13 +380,13 @@ void findFilesWithExt (const filesystem::path& path, const std::string& ext,
+ 				filesystem::path result;
+ 				if (checkVST3Package (p, &result))
+ 				{
+-					pathList.push_back (result.generic_u8string ());
++					pathList.push_back (result.generic_string ());
+ 					continue;
+ 				}
+ 				findFilesWithExt (cp, ext, pathList, recursive);
+ 			}
+ 			else
+-				pathList.push_back (cp.generic_u8string ());
++				pathList.push_back (cp.generic_string ());
+ 		}
+ 		else if (recursive)
+ 		{
+@@ -431,18 +406,18 @@ void findFilesWithExt (const filesystem::path& path, const std::string& ext,
+ 							filesystem::path result;
+ 							if (checkVST3Package (*resolvedLink, &result))
+ 							{
+-								pathList.push_back (result.generic_u8string ());
++								pathList.push_back (result.generic_string ());
+ 								continue;
+ 							}
+ 							findFilesWithExt (*resolvedLink, ext, pathList, recursive);
+ 						}
+ 						else
+-							pathList.push_back (resolvedLink->generic_u8string ());
++							pathList.push_back (resolvedLink->generic_string ());
+ 					}
+ 					else if (filesystem::is_directory (*resolvedLink))
+ 					{
+-						const auto& str = resolvedLink->generic_u8string ();
+-						if (cp.generic_u8string ().compare (0, str.size (), str.data (),
++						const auto& str = resolvedLink->generic_string ();
++						if (cp.generic_string ().compare (0, str.size (), str.data (),
+ 						                                    str.size ()) != 0)
+ 							findFilesWithExt (*resolvedLink, ext, pathList, recursive);
+ 					}
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 07/18] gnu: Add yabridge.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (5 preceding siblings ...)
  2023-04-25  9:30 ` [bug#63065] [PATCH 06/18] gnu: Add vst3sdk Sughosha via Guix-patches via
@ 2023-04-25  9:30 ` Sughosha via Guix-patches via
  2023-04-25  9:31 ` [bug#63065] [PATCH 08/18] gnu: Add rust-scroll-derive-0.11 Sughosha via Guix-patches via
                   ` (29 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:30 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/audio.scm (yabridge): New variable.
* gnu/packages/patches/yabridge-5.0.4-fix-dependency-search.patch:
New file.
* gnu/local.mk: Register the patch file.
---
 gnu/local.mk                                  |   1 +
 gnu/packages/audio.scm                        | 114 ++++++++++++++++++
 ...yabridge-5.0.4-fix-dependency-search.patch |  45 +++++++
 3 files changed, 160 insertions(+)
 create mode 100644 gnu/packages/patches/yabridge-5.0.4-fix-dependency-search.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index b53a04a0cd..2bafdc7f02 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2038,6 +2038,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xsane-tighten-default-umask.patch	\
   %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/yggdrasil-extra-config.patch	\
   %D%/packages/patches/zig-use-system-paths.patch
 
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9e111a3b9e..551c9193c6 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -70,7 +70,9 @@ (define-module (gnu packages audio)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages documentation)
@@ -129,6 +131,7 @@ (define-module (gnu packages audio)
   #:use-module (gnu packages vim) ;xxd
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
+  #:use-module (gnu packages wine)
   #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
@@ -3449,6 +3452,117 @@ (define-public vst3sdk
                    ;; and vstgui
                    license:bsd-3))))
 
+(define-public yabridge
+  (package
+    (name "yabridge")
+    (version "5.0.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/robbert-vdh/yabridge")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08p92a2qx5k2531wr38mrksn7g16j0mz611rwla1m0igfc4r75fp"))
+              (modules '((guix build utils)))
+              (snippet '(delete-file-recursively "subprojects"))
+              (patches
+               (search-patches
+                "yabridge-5.0.4-fix-dependency-search.patch"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-Dbitbridge=false" ;TODO: enable it
+                                     (string-append "--cross-file="
+                                                    #$source
+                                                    "/cross-wine.conf"))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'link-vst3sdk
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (mkdir-p "subprojects")
+                            (symlink (assoc-ref inputs "vst3sdk")
+                                     "subprojects/vst3")))
+                        (replace 'install
+                          (lambda _
+                            (let ((bin (string-append #$output "/bin"))
+                                  (lib (string-append #$output "/lib")))
+                              (for-each
+                                (lambda (file)
+                                  (install-file file bin))
+                                (find-files "." "-host(|-32)\\.exe(|\\.so)$"))
+                              (for-each
+                                (lambda (file)
+                                  (install-file file lib))
+                                (find-files "." "libyabridge")))))
+                        (add-after 'unpack 'fix-loading-wine-libs
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (let ((wine #$(match (%current-system)
+                                            ((or "x86_64-linux" "aarch64-linux")
+                                             "wine64")
+                                            (_ "wine32")))
+                                  (arch #$(match (%current-system)
+                                            ((or "x86_64-linux" "aarch64-linux")
+                                             "x86_64-unix")
+                                            (_ "i386-unix"))))
+                              (substitute* "meson.build"
+                                (("-lole32")
+                                 (search-input-file inputs
+                                                    (string-append "/lib/"
+                                                     wine "/wine/" arch
+                                                     "/libole32.a")))
+                                (("-lshell32")
+                                 (search-input-file inputs
+                                                    (string-append "/lib/"
+                                                     wine "/wine/" arch
+                                                     "/libshell32.a")))
+                                (("-luuid")
+                                 (search-input-file inputs
+                                                    (string-append "/lib/"
+                                                     wine "/wine/" arch
+                                                     "/libuuid.a"))))))))))
+    (native-inputs
+     `(("clap" ,clap)
+       ("cmake-minimal" ,cmake-minimal)
+       ("function2" ,function2)
+       ("gulrak-filesystem" ,gulrak-filesystem)
+       ("pkg-config" ,pkg-config)
+       ("tomlplusplus" ,tomlplusplus)
+       ;; This is VST3 SDK v3.7.7_build_19 with the documentation and VSTGUI
+       ;; submodules removed and a dummy `meson.build` file that just lists all
+       ;; source files.
+       ("vst3sdk"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/robbert-vdh/vst3sdk")
+                 (commit (string-append "v3.7.7_build_19-patched"))
+                 ;; Required for vst3_base, vst3_pluginterfaces,
+                 ;; and vst3_public_sdk.
+                 (recursive? #t)))
+           (file-name (git-file-name name version))
+           (sha256
+            (base32
+             "09axvpshwbf5061kcbl26v74dcmwxmgmlxb15b75bnqbh0zcghrf"))
+           (patches
+            (search-patches
+             "vst3sdk-3.7.7-allow-winelib-compilation.patch"))))))
+    (inputs (list asio bitsery dbus libxcb
+                  (match (%current-system)
+                    ((or "x86_64-linux" "aarch64") wine64)
+                    (_ wine))))
+    ;; Platforms supported by wine and wine64 should support.
+    (supported-systems
+     (list "i686-linux" "x86_64-linux" "armhf-linux" "aarch64-linux"))
+    (home-page "https://github.com/robbert-vdh/yabridge")
+    (synopsis "Implementation of Windows VST2, VST3 and CLAP plugin APIs")
+    (description
+     "@code{yabridge} is Yet Another way to use Windows audio plugins.  It
+supports using both 32-bit and 64-bit Windows VST2, VST3, and CLAP plugins in
+64-bit Linux plugin hosts as if they were native plugins, with optional support
+for plugin groups to enable inter-plugin communication for VST2 plugins and
+quick startup times.")
+    (license license:gpl3+)))
+
 (define-public patchage
   (package
     (name "patchage")
diff --git a/gnu/packages/patches/yabridge-5.0.4-fix-dependency-search.patch b/gnu/packages/patches/yabridge-5.0.4-fix-dependency-search.patch
new file mode 100644
index 0000000000..a9e1ed1c62
--- /dev/null
+++ b/gnu/packages/patches/yabridge-5.0.4-fix-dependency-search.patch
@@ -0,0 +1,45 @@
+Meson fails to detect bitsery, function2 and gulrak-filesystem.
+https://github.com/robbert-vdh/yabridge/issues/18
+
+From c3cb50cff354c585afc3c94e676ac50a420e871b Mon Sep 17 00:00:00 2001
+From: Sughosha <sughosha@proton.me>
+Date: Sun, 23 Apr 2023 08:44:50 +0200
+Subject: [PATCH] Fix dependency search
+
+---
+ meson.build | 15 +++------------
+ 1 file changed, 3 insertions(+), 12 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index f76f5acf..ca85af68 100644
+--- a/meson.build
++++ b/meson.build
+@@ -248,22 +248,13 @@ else
+   asio_dep = dependency('asio', version : '>=1.22.0')
+ endif
+ 
+-if meson.version().version_compare('>=0.60')
+-  # Bitsery's CMake build definition is capitalized for some reason
+-  bitsery_dep = dependency('bitsery', 'Bitsery', version : '>=5.2.0')
+-else
+-  # Mmeson <=0.6.0 didn't support multiple names for a dependency, and since at
+-  # the moment this is only relevant for packing on Arch btw, it's probably
+-  # better to remove this conditional later than it is to bump the minimum Meson
+-  # version now.
+-  bitsery_dep = dependency('bitsery', version : '>=5.2.0')
+-endif
++bitsery_dep = declare_dependency()
+ 
+ # The D-Bus headers are also only accessed through the include path. We don't
+ # link to libdbus-1 to make soname changes don't completely break yabridge.
+ dbus_dep = dependency('dbus-1').partial_dependency(compile_args : true, includes : true)
+-function2_dep = dependency('function2', version : '>=4.0.0')
+-ghc_filesystem_dep = dependency('ghc_filesystem', modules : 'ghcFilesystem::ghc_filesystem', version : '>=1.5.0')
++function2_dep = declare_dependency()
++ghc_filesystem_dep = declare_dependency()
+ threads_dep = dependency('threads')
+ # Tomlplusplus recently added a shraed library version. We don't want to link to that.
+ tomlplusplus_dep = dependency('tomlplusplus', version : '>=3.3.0', default_options : ['compile_library=false']).partial_dependency(compile_args : true, includes : true)
+-- 
+2.39.2
+
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 08/18] gnu: Add rust-scroll-derive-0.11.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (6 preceding siblings ...)
  2023-04-25  9:30 ` [bug#63065] [PATCH 07/18] gnu: Add yabridge Sughosha via Guix-patches via
@ 2023-04-25  9:31 ` Sughosha via Guix-patches via
  2023-04-25  9:31 ` [bug#63065] [PATCH 09/18] gnu: Add rust-scroll-0.11 Sughosha via Guix-patches via
                   ` (28 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:31 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-scroll-derive-0.11): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6b1f53764f..649b597b71 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -50523,6 +50523,32 @@ (define-public rust-scroll-0.9
 endian-aware Read/Write traits for byte buffers.")
     (license license:expat)))
 
+(define-public rust-scroll-derive-0.11
+  (package
+    (name "rust-scroll-derive")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scroll-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "03i5qn4jfcl2iwxhfvw9kf48a656ycbf5km99xr1wcnibjnadgdx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))
+       #:cargo-development-inputs
+       (("rust-scroll" ,rust-scroll-0.10))))
+    (home-page "https://github.com/m4b/scroll")
+    (synopsis "Pread and Pwrite traits from the scroll crate")
+    (description
+     "This package provides a macros 1.1 derive implementation for Pread and
+Pwrite traits from the scroll crate.")
+    (license license:expat)))
+
 (define-public rust-scroll-derive-0.10
   (package
     (name "rust-scroll-derive")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 09/18] gnu: Add rust-scroll-0.11.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (7 preceding siblings ...)
  2023-04-25  9:31 ` [bug#63065] [PATCH 08/18] gnu: Add rust-scroll-derive-0.11 Sughosha via Guix-patches via
@ 2023-04-25  9:31 ` Sughosha via Guix-patches via
  2023-04-25  9:32 ` [bug#63065] [PATCH 10/18] gnu: Add rust-goblin-0.6 Sughosha via Guix-patches via
                   ` (27 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:31 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-scroll-0.11): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 649b597b71..6757824412 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -50467,6 +50467,31 @@ (define-public rust-scrypt-0.3
         ("rust-sha2" ,rust-sha2-0.9)
         ("rust-subtle" ,rust-subtle-2))))))
 
+(define-public rust-scroll-0.11
+  (package
+    (name "rust-scroll")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scroll" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1nhrhpzf95pxbcjjy222blwf8rl3adws6vsqax0yzyxsa6snbi84"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-scroll-derive" ,rust-scroll-derive-0.11))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-rayon" ,rust-rayon-1))))
+    (home-page "https://github.com/m4b/scroll")
+    (synopsis "Endian-aware Read/Write traits for byte buffers")
+    (description
+     "This package provides a suite of powerful, extensible, generic,
+endian-aware Read/Write traits for byte buffers.")
+    (license license:expat)))
+
 (define-public rust-scroll-0.10
   (package
     (name "rust-scroll")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 10/18] gnu: Add rust-goblin-0.6.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (8 preceding siblings ...)
  2023-04-25  9:31 ` [bug#63065] [PATCH 09/18] gnu: Add rust-scroll-0.11 Sughosha via Guix-patches via
@ 2023-04-25  9:32 ` Sughosha via Guix-patches via
  2023-04-25  9:33 ` [bug#63065] [PATCH 11/18] gnu: rust-libloading-0.7: Update to 0.7.4 Sughosha via Guix-patches via
                   ` (26 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:32 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-goblin-0.6): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6757824412..297721e47e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -24353,6 +24353,29 @@ (define-public rust-gmp-mpfr-sys-1
 libraries GMP, MPFR, and MPC.")
     (license license:lgpl3+)))
 
+(define-public rust-goblin-0.6
+  (package
+    (name "rust-goblin")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "goblin" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0s7zs27b192virbp88y2fgq8p6nb8blkn7byqyl4cv7bm3j4ssqd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-plain" ,rust-plain-0.2)
+        ("rust-scroll" ,rust-scroll-0.11))))
+    (home-page "https://github.com/m4b/goblin")
+    (synopsis "ELF, Mach-o, and PE binary parsing and loading crate")
+    (description "This package provides an ELF, Mach-o, and PE binary parsing
+and loading crate.")
+    (license license:expat)))
+
 (define-public rust-goblin-0.2
   (package
     (name "rust-goblin")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 11/18] gnu: rust-libloading-0.7: Update to 0.7.4.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (9 preceding siblings ...)
  2023-04-25  9:32 ` [bug#63065] [PATCH 10/18] gnu: Add rust-goblin-0.6 Sughosha via Guix-patches via
@ 2023-04-25  9:33 ` Sughosha via Guix-patches via
  2023-04-25  9:33 ` [bug#63065] [PATCH 12/18] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
                   ` (25 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:33 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-libloading-0.7): Update to 0.7.4.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 297721e47e..5c34d1eadf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -30294,7 +30294,7 @@ (define-public rust-libgit2-sys-0.6
 (define-public rust-libloading-0.7
   (package
     (name "rust-libloading")
-    (version "0.7.0")
+    (version "0.7.4")
     (source
      (origin
        (method url-fetch)
@@ -30303,7 +30303,7 @@ (define-public rust-libloading-0.7
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0sidr67nsa693mqrqgk2np3bkqni0778yk147xncspy171jdk13g"))))
+         "17wbccnjvhjd9ibh019xcd8kjvqws8lqgq86lqkpbgig7gyq0wxn"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 12/18] gnu: Add rust-rustyline-derive-0.6.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (10 preceding siblings ...)
  2023-04-25  9:33 ` [bug#63065] [PATCH 11/18] gnu: rust-libloading-0.7: Update to 0.7.4 Sughosha via Guix-patches via
@ 2023-04-25  9:33 ` Sughosha via Guix-patches via
  2023-04-25  9:34 ` [bug#63065] [PATCH 13/18] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
                   ` (24 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:33 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5c34d1eadf..0e35b92493 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49607,6 +49607,28 @@ (define-public rust-rustyline-5
         ("rust-rustyline-derive" ,rust-rustyline-derive-0.2)
         ("rust-tempdir" ,rust-tempdir-0.3))))))
 
+(define-public rust-rustyline-derive-0.6
+  (package
+    (name "rust-rustyline-derive")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustyline-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mw0nfi8xxsm4q80mv4va7ff8m0kgnsfjvv067zc1d8hp1daaddv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/kkawakam/rustyline")
+    (synopsis "Rustyline macros implementation in Rust")
+    (description
+     "This package provides Rustyline macros implementation in Rust.")
+    (license license:expat)))
+
 (define-public rust-rustyline-derive-0.3
   (package
     (name "rust-rustyline-derive")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 13/18] gnu: rust-rustyline-9: Update to 9.1.2.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (11 preceding siblings ...)
  2023-04-25  9:33 ` [bug#63065] [PATCH 12/18] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
@ 2023-04-25  9:34 ` Sughosha via Guix-patches via
  2023-04-25  9:35 ` [bug#63065] [PATCH 14/18] gnu: Add rust-promptly-0.3 Sughosha via Guix-patches via
                   ` (23 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:34 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-rustyline-9): Update to 9.1.2.
[arguments]: Replace rust-nix-0.22 with rust-nix-0.23 in cargo-inputs.
---
 gnu/packages/crates-io.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0e35b92493..c71d5169ce 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49443,14 +49443,14 @@ (define-public rust-rusty-fork-0.2
 (define-public rust-rustyline-9
   (package
     (name "rust-rustyline")
-    (version "9.0.0")
+    (version "9.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustyline" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1mj0cgdyw6gaadsg7yxsnb9n4bdl91qga9kiwyd4hqqsi31qf13r"))))
+        (base32 "0f8069ljhiv9nf97y975wvv9yvx82w3lm9g50d5n298fkiw2cy6v"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -49463,7 +49463,7 @@ (define-public rust-rustyline-9
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-memchr" ,rust-memchr-2)
-        ("rust-nix" ,rust-nix-0.22)
+        ("rust-nix" ,rust-nix-0.23)
         ("rust-radix-trie" ,rust-radix-trie-0.2)
         ("rust-regex" ,rust-regex-1)
         ("rust-scopeguard" ,rust-scopeguard-1)
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 14/18] gnu: Add rust-promptly-0.3.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (12 preceding siblings ...)
  2023-04-25  9:34 ` [bug#63065] [PATCH 13/18] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
@ 2023-04-25  9:35 ` Sughosha via Guix-patches via
  2023-04-25  9:35 ` [bug#63065] [PATCH 15/18] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
                   ` (22 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:35 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-promptly-0.3): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c71d5169ce..ff73f0eb80 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -43072,6 +43072,27 @@ (define-public rust-progressing-3
 progress-bars for Rust.")
     (license license:asl2.0)))
 
+(define-public rust-promptly-0.3
+  (package
+    (name "rust-promptly")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "promptly" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fl0548ww11gpja8hlsfc8jgxk00rdd48n1g6icgwadhlp2wdjws"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rustyline" ,rust-rustyline-9)
+        ("rust-url" ,rust-url-2))))
+    (home-page "https://github.com/anowell/promptly")
+    (synopsis "Opinionated CLI prompting helper")
+    (description "This package provides opinionated CLI prompting helper.")
+    (license license:expat)))
+
 (define-public rust-propfuzz-0.0.1
   (package
     (name "rust-propfuzz")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 15/18] gnu: Add rust-reflink-0.1.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (13 preceding siblings ...)
  2023-04-25  9:35 ` [bug#63065] [PATCH 14/18] gnu: Add rust-promptly-0.3 Sughosha via Guix-patches via
@ 2023-04-25  9:35 ` Sughosha via Guix-patches via
  2023-04-25  9:36 ` [bug#63065] [PATCH 16/18] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
                   ` (21 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:35 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-reflink-0.1): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ff73f0eb80..06cfc1fb26 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -46339,6 +46339,28 @@ (define-public rust-ref-cast-impl-0.2
         (base32
          "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck"))))))
 
+(define-public rust-reflink-0.1
+  (package
+    (name "rust-reflink")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "reflink" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1glcyqvryv2zj6kjbfji0cldrkincqx3ds3wjwl4qnsnig15wn5w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/nicokoch/reflink")
+    (synopsis "Copy-on-write mechanism on supported file systems")
+    (description "This package provides copy-on-write mechanism on supported
+file systems.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-refpool-0.4
   (package
     (name "rust-refpool")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 16/18] gnu: Add rust-ryu-0.2.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (14 preceding siblings ...)
  2023-04-25  9:35 ` [bug#63065] [PATCH 15/18] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
@ 2023-04-25  9:36 ` Sughosha via Guix-patches via
  2023-04-25  9:38 ` [bug#63065] [PATCH 17/18] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
                   ` (20 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:36 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
 gnu/packages/crates-io.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 06cfc1fb26..495072b151 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49786,6 +49786,25 @@ (define-public rust-ryu-1
 quickly convert floating point numbers to decimal strings.")
     (license (list license:asl2.0 license:boost1.0))))
 
+(define-public rust-ryu-0.2
+  (package
+    (inherit rust-ryu-1)
+    (name "rust-ryu")
+    (version "0.2.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ryu" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "13wsi4408qxi9w44pdf5zfds4ym7np2070wkhg1g4j4dvi4rasmr"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-no-panic" ,rust-no-panic-0.1))
+       #:cargo-development-inputs
+       (("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rand" ,rust-rand-0.5))))))
+
 (define-public rust-s3handler-0.7
   (package
     (name "rust-s3handler")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 17/18] gnu: Add rust-serde-jsonrc-0.1.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (15 preceding siblings ...)
  2023-04-25  9:36 ` [bug#63065] [PATCH 16/18] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
@ 2023-04-25  9:38 ` Sughosha via Guix-patches via
  2023-04-25  9:39 ` [bug#63065] [PATCH 18/18] gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (19 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:38 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-serde-jsonrc-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 495072b151..136f35ca75 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -52082,6 +52082,34 @@ (define-public rust-serde-json-0.9
        #:cargo-development-inputs
        (("rust-serde-derive" ,rust-serde-derive-0.9))))))
 
+(define-public rust-serde-jsonrc-0.1
+  (package
+    (name "rust-serde-jsonrc")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde-jsonrc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1a5q0ba7jhgfl63l16plgl7sx1k58l2caxf7z2j5l677rh5yk4dm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-ryu" ,rust-ryu-0.2)
+        ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs
+       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
+        ("rust-serde-bytes" ,rust-serde-bytes-0.10)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "https://github.com/serde-rs/json")
+    (synopsis "JSON serialization file format")
+    (description
+     "This package provides a JSON serialization file format.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-path-to-error-0.1
   (package
     (name "rust-serde-path-to-error")
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH 18/18] gnu: Add yabridgectl.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (16 preceding siblings ...)
  2023-04-25  9:38 ` [bug#63065] [PATCH 17/18] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
@ 2023-04-25  9:39 ` Sughosha via Guix-patches via
  2023-06-29 10:15 ` [bug#63065] [PATCH v2 00/16] gnu: Add yabridge and yabridgectl Sughosha via Guix-patches via
                   ` (18 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-04-25  9:39 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/rust-apps.scm (yabridgectl): New variable.
* gnu/packages/patches/yabridgectl-5.0.4-fix-reflink.patch: New file.
* gnu/local.mk: Register the patch file.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/audio.scm                        | 52 +++++++++++++++++++
 .../yabridgectl-5.0.4-fix-reflink.patch       | 28 ++++++++++
 3 files changed, 81 insertions(+)
 create mode 100644 gnu/packages/patches/yabridgectl-5.0.4-fix-reflink.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2bafdc7f02..e56c1169d2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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
 
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 551c9193c6..9a2735085b 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -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")
diff --git a/gnu/packages/patches/yabridgectl-5.0.4-fix-reflink.patch b/gnu/packages/patches/yabridgectl-5.0.4-fix-reflink.patch
new file mode 100644
index 0000000000..26a82b7c95
--- /dev/null
+++ b/gnu/packages/patches/yabridgectl-5.0.4-fix-reflink.patch
@@ -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
+
-- 
2.39.2





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 00/16] gnu: Add yabridge and yabridgectl.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (17 preceding siblings ...)
  2023-04-25  9:39 ` [bug#63065] [PATCH 18/18] gnu: Add yabridgectl Sughosha via Guix-patches via
@ 2023-06-29 10:15 ` Sughosha via Guix-patches via
  2023-06-29 10:16 ` [bug#63065] [PATCH v2 01/16] gnu: asio: Update to 1.28.0 Sughosha via Guix-patches via
                   ` (17 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:15 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

This series of patches add yabridge and yabridgectl.

Sughosha (16):
  gnu: asio: Update to 1.28.0.
  gnu: Add bitsery.
  gnu: Add function2.
  gnu: Add tomlplusplus.
  gnu: Add clap.
  gnu: Add yabridge.
  gnu: Add rust-scroll-derive-0.11.
  gnu: Add rust-scroll-0.11.
  gnu: Add rust-goblin-0.6.
  gnu: Add rust-rustyline-derive-0.6.
  gnu: rust-rustyline-9: Update to 9.1.2.
  gnu: Add rust-promptly.
  gnu: Add rust-reflink-0.1.
  gnu: Add rust-ryu-0.2.
  gnu: Add rust-serde-jsonrc-0.1.
  gnu: Add yabridgectl.

 gnu/local.mk                                  |   4 +
 gnu/packages/audio.scm                        | 211 ++++++++++++++++++
 gnu/packages/cpp.scm                          |  79 +++++++
 gnu/packages/crates-io.scm                    | 197 +++++++++++++++-
 gnu/packages/networking.scm                   |   6 +-
 ...k-0.1-fix-64bit-toolchain-assumption.patch |  24 ++
 ...3sdk-3.7.7-allow-winelib-compilation.patch | 191 ++++++++++++++++
 .../patches/yabridge-5.0.4-dependencies.patch |  36 +++
 ...yabridgectl-5.0.4-use-system-reflink.patch |  23 ++
 9 files changed, 765 insertions(+), 6 deletions(-)
 create mode 100644 gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
 create mode 100644 gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch
 create mode 100644 gnu/packages/patches/yabridge-5.0.4-dependencies.patch
 create mode 100644 gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch


base-commit: a98126e604b666d08a4c9d838bf9c341acea7f17
-- 
2.40.1





^ permalink raw reply	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 01/16] gnu: asio: Update to 1.28.0.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (18 preceding siblings ...)
  2023-06-29 10:15 ` [bug#63065] [PATCH v2 00/16] gnu: Add yabridge and yabridgectl Sughosha via Guix-patches via
@ 2023-06-29 10:16 ` Sughosha via Guix-patches via
  2023-06-29 10:17 ` [bug#63065] [PATCH v2 02/16] gnu: Add bitsery Sughosha via Guix-patches via
                   ` (16 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:16 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/networking.scm (asio): Update to 1.28.0.
---
 gnu/packages/networking.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 2f118bccb2..cf103f12d8 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3387,14 +3387,14 @@ (define-public can-utils
 (define-public asio
   (package
     (name "asio")
-    (version "1.22.2")
+    (version "1.28.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/asio/asio/"
-                           version " (Stable)/asio-" version ".tar.bz2"))
+                           version " (Stable)/asio-" version ".tar.gz"))
        (sha256
-        (base32 "0v5w9j4a02j2rkc7mrdj3ms0kfpqbgq2ipkixlz2l0p8xs0vfsvp"))))
+        (base32 "15yavn07m6fasf0lrxljx3p79zi23mzn0g0fhggrnngyqqyaam78"))))
     (build-system gnu-build-system)
     (inputs
      (list boost openssl))
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 02/16] gnu: Add bitsery.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (19 preceding siblings ...)
  2023-06-29 10:16 ` [bug#63065] [PATCH v2 01/16] gnu: asio: Update to 1.28.0 Sughosha via Guix-patches via
@ 2023-06-29 10:17 ` Sughosha via Guix-patches via
  2023-06-29 10:18 ` [bug#63065] [PATCH v2 03/16] gnu: Add function2 Sughosha via Guix-patches via
                   ` (15 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:17 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/cpp.scm (bitsery): New variable.
---
 gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index d61bcd25fd..40640202f9 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2094,6 +2094,30 @@ (define-public gulrak-filesystem
     (home-page "https://github.com/gulrak/filesystem")
     (license license:expat)))
 
+(define-public bitsery
+  (package
+    (name "bitsery")
+    (version "5.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/fraillt/bitsery")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1hv2fya7w53bfhlk79b1qnjg1qy076s8kvg22sfdq05bh0hxqrxf"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-DBITSERY_BUILD_TESTS=ON")))
+    (native-inputs (list googletest))
+    (synopsis "Header only C++ binary serialization library")
+    (description "This package provides header only C++ binary serialization
+library.  It is designed around the networking requirements for real-time data
+delivery, especially for games.")
+    (home-page "https://github.com/fraillt/bitsery")
+    (license license:expat)))
+
 (define-public cpp-mustache
   (package
     (name "cpp-mustache")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 03/16] gnu: Add function2.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (20 preceding siblings ...)
  2023-06-29 10:17 ` [bug#63065] [PATCH v2 02/16] gnu: Add bitsery Sughosha via Guix-patches via
@ 2023-06-29 10:18 ` Sughosha via Guix-patches via
  2023-06-29 10:19 ` [bug#63065] [PATCH v2 04/16] gnu: Add tomlplusplus Sughosha via Guix-patches via
                   ` (14 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:18 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/cpp.scm (function2): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 40640202f9..46a7b61021 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2118,6 +2118,39 @@ (define-public bitsery
     (home-page "https://github.com/fraillt/bitsery")
     (license license:expat)))
 
+(define-public function2
+  (package
+    (name "function2")
+    (version "4.2.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Naios/function2")
+                    (commit version)
+                    ;; Tests require to compile googletest with custom
+                    ;; features.
+                    (recursive? #t)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1xayd46d19k2b4q8413kp0453wc2k4jbrq7fq9rilcgmdk9m5bmc"))))
+    (build-system cmake-build-system)
+    ;; The test size_match_layout fails on i586/i686. For more info:
+    ;; https://github.com/Naios/function2/issues/57
+    (arguments
+     (list #:tests? #f))
+    (synopsis "Improved implementations of std::function")
+    (description "This package provides the following implementations of
+std::function:
+@itemize
+@item copyable fu2::function
+@item move-only fu2::unique_function (capable of holding move only types)
+@item non-owning fu2::function_view (capable of referencing callables in a non
+owning way)
+@end itemize")
+    (home-page "https://naios.github.io/function2/")
+    (license license:boost1.0)))
+
 (define-public cpp-mustache
   (package
     (name "cpp-mustache")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 04/16] gnu: Add tomlplusplus.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (21 preceding siblings ...)
  2023-06-29 10:18 ` [bug#63065] [PATCH v2 03/16] gnu: Add function2 Sughosha via Guix-patches via
@ 2023-06-29 10:19 ` Sughosha via Guix-patches via
  2023-06-29 10:19 ` [bug#63065] [PATCH v2 05/16] gnu: Add clap Sughosha via Guix-patches via
                   ` (13 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:19 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/cpp.scm (tomlplusplus): New variable.
---
 gnu/packages/cpp.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 46a7b61021..4b5b0d696c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -75,6 +75,7 @@ (define-module (gnu packages cpp)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -2151,6 +2152,27 @@ (define-public function2
     (home-page "https://naios.github.io/function2/")
     (license license:boost1.0)))
 
+(define-public tomlplusplus
+  (package
+    (name "tomlplusplus")
+    (version "3.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/marzer/tomlplusplus")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0lvv4dq2fhadvb9hbf89nvg5r2pfjlccc4nawl0kx6rfw56grm90"))))
+    (build-system meson-build-system)
+    (native-inputs (list cmake-minimal))
+    (synopsis "Header-only TOML config file parser and serializer for C++17")
+    (description "This package provides Header-only TOML config file parser and
+serializer for C++17.")
+    (home-page "https://marzer.github.io/tomlplusplus/")
+    (license license:expat)))
+
 (define-public cpp-mustache
   (package
     (name "cpp-mustache")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 05/16] gnu: Add clap.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (22 preceding siblings ...)
  2023-06-29 10:19 ` [bug#63065] [PATCH v2 04/16] gnu: Add tomlplusplus Sughosha via Guix-patches via
@ 2023-06-29 10:19 ` Sughosha via Guix-patches via
  2023-06-29 10:20 ` [bug#63065] [PATCH v2 06/16] gnu: Add yabridge Sughosha via Guix-patches via
                   ` (12 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:19 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/audio.scm (clap): New variable.
---
 gnu/packages/audio.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 88dbbbc7a2..0e7a3fa8a5 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2691,6 +2691,28 @@ (define-public jalv
 plugin function as a JACK application.")
     (license license:isc)))
 
+(define-public clap
+  (package
+    (name "clap")
+    (version "1.1.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/free-audio/clap")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08q2w47lqyvmbi2pvzcwknnpvzb1d7drda12gvaybikpv158g3ji"))))
+    (build-system cmake-build-system)
+    (synopsis "Audio Plugin API")
+    (description
+     "CLAP stands for CLever Audio Plugin.  It is an audio plugin ABI which
+defines a standard for Digital Audio Workstations and audio plugins to work
+together.")
+    (home-page "https://cleveraudio.org/")
+    (license license:expat)))
+
 (define-public ladspa
   (package
     (name "ladspa")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 06/16] gnu: Add yabridge.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (23 preceding siblings ...)
  2023-06-29 10:19 ` [bug#63065] [PATCH v2 05/16] gnu: Add clap Sughosha via Guix-patches via
@ 2023-06-29 10:20 ` Sughosha via Guix-patches via
  2023-06-29 10:22 ` [bug#63065] [PATCH v2 07/16] gnu: Add rust-scroll-derive-0.11 Sughosha via Guix-patches via
                   ` (11 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:20 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/audio.scm (yabridge): New variable.
* gnu/packages/patches/yabridge-5.0.4-fix-dependency-search.patch:
New file.
* gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch:
New file.
* gnu/local.mk: Register the patch files.
---
 gnu/local.mk                                  |   2 +
 gnu/packages/audio.scm                        | 127 ++++++++++++
 ...3sdk-3.7.7-allow-winelib-compilation.patch | 191 ++++++++++++++++++
 .../patches/yabridge-5.0.4-dependencies.patch |  36 ++++
 4 files changed, 356 insertions(+)
 create mode 100644 gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch
 create mode 100644 gnu/packages/patches/yabridge-5.0.4-dependencies.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e65888a044..e05602c4e5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2054,6 +2054,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/vinagre-newer-rdp-parameters.patch      \
   %D%/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch	\
   %D%/packages/patches/vsearch-unbundle-cityhash.patch		\
+  %D%/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch	\
   %D%/packages/patches/vte-CVE-2012-2738-pt1.patch			\
   %D%/packages/patches/vte-CVE-2012-2738-pt2.patch			\
   %D%/packages/patches/vtk-7-gcc-10-compat.patch		\
@@ -2096,6 +2097,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xterm-370-explicit-xcursor.patch		\
   %D%/packages/patches/xygrib-fix-finding-data.patch		\
   %D%/packages/patches/xygrib-newer-proj.patch			\
+  %D%/packages/patches/yabridge-5.0.4-fix-dependency-search.patch	\
   %D%/packages/patches/yggdrasil-extra-config.patch	\
   %D%/packages/patches/zig-do-not-link-against-librt.patch	\
   %D%/packages/patches/zig-use-system-paths.patch		\
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0e7a3fa8a5..02d2a68396 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -71,7 +71,9 @@ (define-module (gnu packages audio)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages documentation)
@@ -132,6 +134,7 @@ (define-module (gnu packages audio)
   #:use-module (gnu packages vim) ;xxd
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
+  #:use-module (gnu packages wine)
   #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
@@ -5841,6 +5844,130 @@ (define-public mbelib
       (license (list license:bsd-3      ; test/ framework
                      license:isc)))))   ; the rest
 
+(define-public yabridge
+  (package
+    (name "yabridge")
+    (version "5.0.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/robbert-vdh/yabridge")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ayl706nv67jkixbrh9z7225gdwg2s4rzndx77761x33mk6by7a8"))
+              (patches
+               (search-patches
+                "yabridge-5.0.4-dependencies.patch"))
+              (modules '((guix build utils)))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:configure-flags
+           #~(list (string-append "--cross-file=" #$source "/cross-wine.conf"))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'add-vst3-subproject
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (symlink (assoc-ref inputs "vst3sdk") "subprojects/vst3")))
+               (add-after 'unpack 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "src/chainloader/utils.cpp"
+                     (("\"/usr/local/lib64\",")
+                      (string-append "\"/usr/local/lib64\",\n\""
+                                     #$output "/lib\",")))
+                   (let ((wine
+                          #$(match (%current-system)
+                              ((or "x86_64-linux" "aarch64-linux") "wine64")
+                              (_ "wine32")))
+                         (arch
+                          #$(match (%current-system)
+                              ((or "x86_64-linux" "aarch64-linux")
+                               "x86_64-unix")
+                              (_ "i386-unix"))))
+                     (substitute* "meson.build"
+                       (("-lole32")
+                        (search-input-file inputs
+                         (string-append "/lib/" wine "/wine/"
+                                        arch "/libole32.a")))
+                       (("-lshell32")
+                        (search-input-file inputs
+                         (string-append "/lib/" wine "/wine/"
+                                        arch "/libshell32.a")))
+                       (("-luuid")
+                        (search-input-file inputs
+                         (string-append "/lib/" wine "/wine/"
+                                        arch "/libuuid.a")))))))
+               (replace 'install
+                 (lambda _
+                   (for-each
+                     (lambda (file)
+                       (install-file file (string-append #$output "/bin")))
+                       (find-files "." "-host\\.exe(|\\.so)$"))
+                   (for-each
+                     (lambda (file)
+                       (install-file file (string-append #$output "/lib")))
+                       (find-files "." "libyabridge")))))))
+    (native-inputs
+     `(("clap"
+        ,(let ((version "1.1.7"))
+           (package/inherit clap
+             (version version)
+             (source
+              (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/free-audio/clap")
+                      (commit version)))
+                (file-name (git-file-name "clap" version))
+                (sha256
+                 (base32
+                  "1afjvllmzf2xmrpy8mcxk7zhii93b447ciaqw9lkj2wh9z217hsr")))))))
+       ("cmake-minimal" ,cmake-minimal)
+       ("function2" ,function2)
+       ("gulrak-filesystem" ,gulrak-filesystem)
+       ("pkg-config" ,pkg-config)
+       ("tomlplusplus" ,tomlplusplus)
+       ;; This is VST3 SDK v3.7.7_build_19 with the documentation and VSTGUI
+       ;; submodules removed and a dummy `meson.build` file that just lists all
+       ;; source files.
+       ("vst3sdk"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/robbert-vdh/vst3sdk")
+                 (commit (string-append "v3.7.7_build_19-patched"))
+                 ;; Required for vst3_base, vst3_pluginterfaces,
+                 ;; and vst3_public_sdk.
+                 (recursive? #t)))
+           (file-name (git-file-name name version))
+           (sha256
+            (base32
+             "09axvpshwbf5061kcbl26v74dcmwxmgmlxb15b75bnqbh0zcghrf"))
+           (patches
+            (search-patches
+             "vst3sdk-3.7.7-allow-winelib-compilation.patch"))))))
+    (inputs
+     (list asio
+           bitsery
+           dbus
+           libxcb
+           (match (%current-system)
+             ((or "x86_64-linux" "aarch64") wine64)
+             (_ wine))))
+    ;; Support the platforms that are supported by wine and wine64.
+    (supported-systems
+     (package-supported-systems wine64))
+    (home-page "https://github.com/robbert-vdh/yabridge")
+    (synopsis "Implementation of Windows VST2, VST3 and CLAP plugin APIs")
+    (description
+     "@code{yabridge} is Yet Another way to use Windows audio plugins.  It
+supports using both 32-bit and 64-bit Windows VST2, VST3, and CLAP plugins in
+64-bit Linux plugin hosts as if they were native plugins, with optional support
+for plugin groups to enable inter-plugin communication for VST2 plugins and
+quick startup times.")
+    (license license:gpl3+)))
+
 (define-public ableton-link
   (package
     (name "ableton-link")
diff --git a/gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch b/gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch
new file mode 100644
index 0000000000..43639f978f
--- /dev/null
+++ b/gnu/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch
@@ -0,0 +1,191 @@
+This patch is taken from yabridge project:
+https://github.com/robbert-vdh/yabridge.
+
+Submodule base contains modified content
+diff --git a/base/source/fdebug.cpp b/base/source/fdebug.cpp
+index b1d1dcc..9093022 100644
+--- a/base/source/fdebug.cpp
++++ b/base/source/fdebug.cpp
+@@ -117,8 +117,6 @@ bool AmIBeingDebugged ()
+ #if _MSC_VER
+ #include <intrin.h>
+ #endif
+-#define vsnprintf _vsnprintf
+-#define snprintf _snprintf
+ 
+ #elif SMTG_OS_MACOS
+ #include <errno.h>
+Submodule pluginterfaces contains modified content
+diff --git a/pluginterfaces/base/fstrdefs.h b/pluginterfaces/base/fstrdefs.h
+index 848e8ee..8846d31 100644
+--- a/pluginterfaces/base/fstrdefs.h
++++ b/pluginterfaces/base/fstrdefs.h
+@@ -22,6 +22,16 @@
+ /** string methods defines unicode / ASCII */
+ //----------------------------------------------------------------------------
+ 
++// We can use most of the VST3 SDK's Windows UTF-16 functionality by just
++// creating aliases for equivalent Linux functions
++#if __WINE__
++#define wcsicmp wcscasecmp
++#define wcsnicmp wcsncasecmp
++#define _vsnwprintf vswprintf
++#define stricmp strcasecmp
++#define strnicmp strncasecmp
++#endif
++
+ // 16 bit string operations
+ #if SMTG_CPP11	// if c++11 unicode string literals
+ 	#define SMTG_CPP11_CAT_PRIVATE_DONT_USE(a,b)			a ## b
+diff --git a/pluginterfaces/base/ftypes.h b/pluginterfaces/base/ftypes.h
+index 133dbba..33ecae3 100644
+--- a/pluginterfaces/base/ftypes.h
++++ b/pluginterfaces/base/ftypes.h
+@@ -154,7 +154,7 @@ namespace Steinberg
+ // always inline macros (only when RELEASE is 1)
+ //----------------------------------------------------------------------------
+ #if RELEASE
+-    #if SMTG_OS_MACOS || SMTG_OS_LINUX || defined(__MINGW32__)
++    #if SMTG_OS_MACOS || SMTG_OS_LINUX || defined(__WINE__)
+ 		#define SMTG_ALWAYS_INLINE	__inline__ __attribute__((__always_inline__))
+ 		#define SMTG_NEVER_INLINE __attribute__((noinline))
+ 	#elif SMTG_OS_WINDOWS
+diff --git a/pluginterfaces/base/ustring.cpp b/pluginterfaces/base/ustring.cpp
+index 24a412f..8e631c9 100644
+--- a/pluginterfaces/base/ustring.cpp
++++ b/pluginterfaces/base/ustring.cpp
+@@ -38,6 +38,10 @@
+ 
+ #endif
+ 
++#ifdef __WINE__
++#include <wchar.h>
++#endif
++
+ //------------------------------------------------------------------------
+ namespace Steinberg {
+ 
+@@ -173,7 +177,7 @@ bool UString::scanFloat (double& value) const
+ bool UString::printFloat (double value, int32 precision)
+ {
+ #if SMTG_OS_WINDOWS
+-	return swprintf ((wchar_t*)thisBuffer, L"%.*lf", precision, value) != -1;
++	return swprintf ((wchar_t*)thisBuffer, thisSize, L"%.*lf", precision, value) != -1;
+ #elif SMTG_OS_MACOS
+ 	bool result = false;
+ 	CFStringRef cfStr = CFStringCreateWithFormat (0, 0, CFSTR("%.*lf"), precision, value);
+@@ -238,7 +242,7 @@ bool UString::scanInt (int64& value) const
+ bool UString::printInt (int64 value)
+ {
+ #if SMTG_OS_WINDOWS
+-	return swprintf ((wchar_t*)thisBuffer, L"%I64d", value) != -1;
++	return swprintf ((wchar_t*)thisBuffer, thisSize, L"%I64d", value) != -1;
+ 
+ #elif SMTG_OS_MACOS
+ 	CFStringRef cfStr = CFStringCreateWithFormat (0, 0, CFSTR("%lld"), value);
+Submodule public.sdk contains modified content
+diff --git a/public.sdk/source/common/systemclipboard_win32.cpp b/public.sdk/source/common/systemclipboard_win32.cpp
+index c5cb2b8..2ee3d65 100644
+--- a/public.sdk/source/common/systemclipboard_win32.cpp
++++ b/public.sdk/source/common/systemclipboard_win32.cpp
+@@ -111,7 +111,7 @@ bool copyTextToClipboard (const std::string& text)
+ 	{
+ 		if (auto* data = static_cast<WCHAR*> (GlobalLock (memory)))
+ 		{
+-#if defined(__MINGW32__)
++#if defined(__WINE__)
+ 			memcpy (data, wideStr.data (), byteSize);
+ #else
+ 			memcpy_s (data, byteSize, wideStr.data (), byteSize);
+diff --git a/public.sdk/source/vst/hosting/module_win32.cpp b/public.sdk/source/vst/hosting/module_win32.cpp
+index 2ba9319..ab6d72a 100644
+--- a/public.sdk/source/vst/hosting/module_win32.cpp
++++ b/public.sdk/source/vst/hosting/module_win32.cpp
+@@ -44,35 +44,10 @@
+ #include <algorithm>
+ #include <iostream>
+ 
+-#if SMTG_CPP17
+-
+-#if __has_include(<filesystem>)
+-#define USE_FILESYSTEM 1
+-#elif __has_include(<experimental/filesystem>)
+-#define USE_FILESYSTEM 0
+-#endif
+-
+-#else // !SMTG_CPP17
+-
+-#define USE_FILESYSTEM 0
+-
+-#endif // SMTG_CPP17
+-
+-#if USE_FILESYSTEM == 1
+-
+-#include <filesystem>
+-namespace filesystem = std::filesystem;
+-
+-#else // USE_FILESYSTEM == 0
+-
+-// The <experimental/filesystem> header is deprecated. It is superseded by the C++17 <filesystem>
+-// header. You can define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING to silence the
+-// warning, otherwise the build will fail in VS2019 16.3.0
+-#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING
+-#include <experimental/filesystem>
+-namespace filesystem = std::experimental::filesystem;
+-
+-#endif // USE_FILESYSTEM
++// `std::filesystem` doesn't work correctly with wineg++, resulting in weird
++// memory errors. This library is a drop-in replacement.
++#include <ghc/filesystem.hpp>
++namespace filesystem = ghc::filesystem;
+ 
+ #pragma comment(lib, "Shell32")
+ 
+@@ -320,7 +295,7 @@ VST3::Optional<filesystem::path> resolveShellLink (const filesystem::path& p)
+ #elif USE_OLE
+ 	Ole::instance ();
+ 
+-	IShellLink* shellLink = nullptr;
++	IShellLinkW* shellLink = nullptr;
+ 	if (!SUCCEEDED (CoCreateInstance (CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER,
+ 	                                  IID_IShellLink, reinterpret_cast<LPVOID*> (&shellLink))))
+ 		return {};
+@@ -405,13 +380,13 @@ void findFilesWithExt (const filesystem::path& path, const std::string& ext,
+ 				filesystem::path result;
+ 				if (checkVST3Package (p, &result))
+ 				{
+-					pathList.push_back (result.generic_u8string ());
++					pathList.push_back (result.generic_string ());
+ 					continue;
+ 				}
+ 				findFilesWithExt (cp, ext, pathList, recursive);
+ 			}
+ 			else
+-				pathList.push_back (cp.generic_u8string ());
++				pathList.push_back (cp.generic_string ());
+ 		}
+ 		else if (recursive)
+ 		{
+@@ -431,18 +406,18 @@ void findFilesWithExt (const filesystem::path& path, const std::string& ext,
+ 							filesystem::path result;
+ 							if (checkVST3Package (*resolvedLink, &result))
+ 							{
+-								pathList.push_back (result.generic_u8string ());
++								pathList.push_back (result.generic_string ());
+ 								continue;
+ 							}
+ 							findFilesWithExt (*resolvedLink, ext, pathList, recursive);
+ 						}
+ 						else
+-							pathList.push_back (resolvedLink->generic_u8string ());
++							pathList.push_back (resolvedLink->generic_string ());
+ 					}
+ 					else if (filesystem::is_directory (*resolvedLink))
+ 					{
+-						const auto& str = resolvedLink->generic_u8string ();
+-						if (cp.generic_u8string ().compare (0, str.size (), str.data (),
++						const auto& str = resolvedLink->generic_string ();
++						if (cp.generic_string ().compare (0, str.size (), str.data (),
+ 						                                    str.size ()) != 0)
+ 							findFilesWithExt (*resolvedLink, ext, pathList, recursive);
+ 					}
diff --git a/gnu/packages/patches/yabridge-5.0.4-dependencies.patch b/gnu/packages/patches/yabridge-5.0.4-dependencies.patch
new file mode 100644
index 0000000000..77db050e91
--- /dev/null
+++ b/gnu/packages/patches/yabridge-5.0.4-dependencies.patch
@@ -0,0 +1,36 @@
+Meson fails to detect bitsery, function2 and gulrak-filesystem.
+https://github.com/robbert-vdh/yabridge/issues/18
+
+This patch removes these dependencies in "meson.build".
+
+
+diff --git a/meson.build b/meson.build
+index d8d9135b..b35ebfcd 100644
+--- a/meson.build
++++ b/meson.build
+@@ -248,22 +248,13 @@ else
+   asio_dep = dependency('asio', version : '>=1.22.0')
+ endif
+ 
+-if meson.version().version_compare('>=0.60')
+-  # Bitsery's CMake build definition is capitalized for some reason
+-  bitsery_dep = dependency('bitsery', 'Bitsery', version : '>=5.2.0')
+-else
+-  # Mmeson <=0.6.0 didn't support multiple names for a dependency, and since at
+-  # the moment this is only relevant for packing on Arch btw, it's probably
+-  # better to remove this conditional later than it is to bump the minimum Meson
+-  # version now.
+-  bitsery_dep = dependency('bitsery', version : '>=5.2.0')
+-endif
++bitsery_dep = declare_dependency()
+ 
+ # The D-Bus headers are also only accessed through the include path. We don't
+ # link to libdbus-1 to make soname changes don't completely break yabridge.
+ dbus_dep = dependency('dbus-1').partial_dependency(compile_args : true, includes : true)
+-function2_dep = dependency('function2', version : '>=4.0.0')
+-ghc_filesystem_dep = dependency('ghc_filesystem', modules : 'ghcFilesystem::ghc_filesystem', version : '>=1.5.0')
++function2_dep = declare_dependency()
++ghc_filesystem_dep = declare_dependency()
+ threads_dep = dependency('threads')
+ # Tomlplusplus recently added a shraed library version. We don't want to link to that.
+ tomlplusplus_dep = dependency('tomlplusplus', version : '>=3.3.0', default_options : ['compile_library=false']).partial_dependency(compile_args : true, includes : true)
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 07/16] gnu: Add rust-scroll-derive-0.11.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (24 preceding siblings ...)
  2023-06-29 10:20 ` [bug#63065] [PATCH v2 06/16] gnu: Add yabridge Sughosha via Guix-patches via
@ 2023-06-29 10:22 ` Sughosha via Guix-patches via
  2023-06-29 10:22 ` [bug#63065] [PATCH v2 08/16] gnu: Add rust-scroll-0.11 Sughosha via Guix-patches via
                   ` (10 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:22 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-scroll-derive-0.11): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3877f6c977..d29c7d439f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -54164,6 +54164,32 @@ (define-public rust-scroll-0.9
 endian-aware Read/Write traits for byte buffers.")
     (license license:expat)))
 
+(define-public rust-scroll-derive-0.11
+  (package
+    (name "rust-scroll-derive")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scroll-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "03i5qn4jfcl2iwxhfvw9kf48a656ycbf5km99xr1wcnibjnadgdx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))
+       #:cargo-development-inputs
+       (("rust-scroll" ,rust-scroll-0.10))))
+    (home-page "https://github.com/m4b/scroll")
+    (synopsis "Pread and Pwrite traits from the scroll crate")
+    (description
+     "This package provides a macros 1.1 derive implementation for Pread and
+Pwrite traits from the scroll crate.")
+    (license license:expat)))
+
 (define-public rust-scroll-derive-0.10
   (package
     (name "rust-scroll-derive")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 08/16] gnu: Add rust-scroll-0.11.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (25 preceding siblings ...)
  2023-06-29 10:22 ` [bug#63065] [PATCH v2 07/16] gnu: Add rust-scroll-derive-0.11 Sughosha via Guix-patches via
@ 2023-06-29 10:22 ` Sughosha via Guix-patches via
  2023-06-29 10:23 ` [bug#63065] [PATCH v2 09/16] gnu: Add rust-goblin-0.6 Sughosha via Guix-patches via
                   ` (9 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:22 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-scroll-0.11): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d29c7d439f..336b23e231 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -54108,6 +54108,31 @@ (define-public rust-scrypt-0.3
         ("rust-sha2" ,rust-sha2-0.9)
         ("rust-subtle" ,rust-subtle-2))))))
 
+(define-public rust-scroll-0.11
+  (package
+    (name "rust-scroll")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scroll" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1nhrhpzf95pxbcjjy222blwf8rl3adws6vsqax0yzyxsa6snbi84"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-scroll-derive" ,rust-scroll-derive-0.11))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-rayon" ,rust-rayon-1))))
+    (home-page "https://github.com/m4b/scroll")
+    (synopsis "Endian-aware Read/Write traits for byte buffers")
+    (description
+     "This package provides a suite of powerful, extensible, generic,
+endian-aware Read/Write traits for byte buffers.")
+    (license license:expat)))
+
 (define-public rust-scroll-0.10
   (package
     (name "rust-scroll")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 09/16] gnu: Add rust-goblin-0.6.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (26 preceding siblings ...)
  2023-06-29 10:22 ` [bug#63065] [PATCH v2 08/16] gnu: Add rust-scroll-0.11 Sughosha via Guix-patches via
@ 2023-06-29 10:23 ` Sughosha via Guix-patches via
  2023-06-29 10:23 ` [bug#63065] [PATCH v2 10/16] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
                   ` (8 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:23 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-goblin-0.6): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 336b23e231..c8bbd345e1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25872,6 +25872,30 @@ (define-public rust-gmp-mpfr-sys-1
 libraries GMP, MPFR, and MPC.")
     (license license:lgpl3+)))
 
+(define-public rust-goblin-0.6
+  (package
+    (name "rust-goblin")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "goblin" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0s7zs27b192virbp88y2fgq8p6nb8blkn7byqyl4cv7bm3j4ssqd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-plain" ,rust-plain-0.2)
+        ("rust-scroll" ,rust-scroll-0.11))))
+    (home-page "https://github.com/m4b/goblin")
+    (synopsis "ELF, Mach-o, and PE binary parsing and loading crate")
+    (description "This package provides an ELF, Mach-o, and PE binary parsing
+and loading crate.")
+    (license license:expat)))
+
 (define-public rust-goblin-0.2
   (package
     (name "rust-goblin")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 10/16] gnu: Add rust-rustyline-derive-0.6.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (27 preceding siblings ...)
  2023-06-29 10:23 ` [bug#63065] [PATCH v2 09/16] gnu: Add rust-goblin-0.6 Sughosha via Guix-patches via
@ 2023-06-29 10:23 ` Sughosha via Guix-patches via
  2023-06-29 10:24 ` [bug#63065] [PATCH v2 11/16] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
                   ` (7 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:23 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c8bbd345e1..51fb66fb94 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -53205,6 +53205,28 @@ (define-public rust-rustyline-5
         ("rust-rustyline-derive" ,rust-rustyline-derive-0.2)
         ("rust-tempdir" ,rust-tempdir-0.3))))))
 
+(define-public rust-rustyline-derive-0.6
+  (package
+    (name "rust-rustyline-derive")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustyline-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mw0nfi8xxsm4q80mv4va7ff8m0kgnsfjvv067zc1d8hp1daaddv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/kkawakam/rustyline")
+    (synopsis "Rustyline macros implementation in Rust")
+    (description
+     "This package provides Rustyline macros implementation in Rust.")
+    (license license:expat)))
+
 (define-public rust-rustyline-derive-0.3
   (package
     (name "rust-rustyline-derive")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 11/16] gnu: rust-rustyline-9: Update to 9.1.2.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (28 preceding siblings ...)
  2023-06-29 10:23 ` [bug#63065] [PATCH v2 10/16] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
@ 2023-06-29 10:24 ` Sughosha via Guix-patches via
  2023-06-29 10:24 ` [bug#63065] [PATCH v2 12/16] gnu: Add rust-promptly Sughosha via Guix-patches via
                   ` (6 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:24 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-rustyline-9): Update to 9.1.2.
---
 gnu/packages/crates-io.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 51fb66fb94..e19c1632ff 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -53041,14 +53041,14 @@ (define-public rust-rusty-fork-0.2
 (define-public rust-rustyline-9
   (package
     (name "rust-rustyline")
-    (version "9.0.0")
+    (version "9.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustyline" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1mj0cgdyw6gaadsg7yxsnb9n4bdl91qga9kiwyd4hqqsi31qf13r"))))
+        (base32 "0f8069ljhiv9nf97y975wvv9yvx82w3lm9g50d5n298fkiw2cy6v"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -53061,7 +53061,7 @@ (define-public rust-rustyline-9
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-memchr" ,rust-memchr-2)
-        ("rust-nix" ,rust-nix-0.22)
+        ("rust-nix" ,rust-nix-0.23)
         ("rust-radix-trie" ,rust-radix-trie-0.2)
         ("rust-regex" ,rust-regex-1)
         ("rust-scopeguard" ,rust-scopeguard-1)
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 12/16] gnu: Add rust-promptly.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (29 preceding siblings ...)
  2023-06-29 10:24 ` [bug#63065] [PATCH v2 11/16] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
@ 2023-06-29 10:24 ` Sughosha via Guix-patches via
  2023-06-29 10:25 ` [bug#63065] [PATCH v2 13/16] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
                   ` (5 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:24 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-promptly-0.3): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e19c1632ff..315b1e8656 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -46110,6 +46110,27 @@ (define-public rust-progressing-3
 progress-bars for Rust.")
     (license license:asl2.0)))
 
+(define-public rust-promptly-0.3
+  (package
+    (name "rust-promptly")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "promptly" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fl0548ww11gpja8hlsfc8jgxk00rdd48n1g6icgwadhlp2wdjws"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rustyline" ,rust-rustyline-9)
+        ("rust-url" ,rust-url-2))))
+    (home-page "https://github.com/anowell/promptly")
+    (synopsis "Opinionated CLI prompting helper")
+    (description "This package provides opinionated CLI prompting helper.")
+    (license license:expat)))
+
 (define-public rust-propfuzz-0.0.1
   (package
     (name "rust-propfuzz")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 13/16] gnu: Add rust-reflink-0.1.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (30 preceding siblings ...)
  2023-06-29 10:24 ` [bug#63065] [PATCH v2 12/16] gnu: Add rust-promptly Sughosha via Guix-patches via
@ 2023-06-29 10:25 ` Sughosha via Guix-patches via
  2023-06-29 10:25 ` [bug#63065] [PATCH v2 14/16] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
                   ` (4 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:25 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-reflink-0.1): New variable.
* gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch:
New patch file.
* gnu/local.mk: Register it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/crates-io.scm                    | 25 +++++++++++++++++++
 ...k-0.1-fix-64bit-toolchain-assumption.patch | 24 ++++++++++++++++++
 3 files changed, 50 insertions(+)
 create mode 100644 gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e05602c4e5..dbb2143906 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1895,6 +1895,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
   %D%/packages/patches/rust-nettle-sys-disable-vendor.patch	 \
   %D%/packages/patches/rust-openssl-sys-no-vendor.patch	\
+  %D%/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch	\
   %D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch	\
   %D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch      \
   %D%/packages/patches/rw-igraph-0.10.patch			\
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 315b1e8656..3874fddd09 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49691,6 +49691,31 @@ (define-public rust-ref-cast-impl-0.2
         (base32
          "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck"))))))
 
+(define-public rust-reflink-0.1
+  (package
+    (name "rust-reflink")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "reflink" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1glcyqvryv2zj6kjbfji0cldrkincqx3ds3wjwl4qnsnig15wn5w"))
+       (patches
+        (search-patches
+          "rust-reflink-0.1-fix-64bit-toolchain-assumption.patch"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/nicokoch/reflink")
+    (synopsis "Copy-on-write mechanism on supported file systems")
+    (description "This package provides copy-on-write mechanism on supported
+file systems.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-refpool-0.4
   (package
     (name "rust-refpool")
diff --git a/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
new file mode 100644
index 0000000000..c16e1f720c
--- /dev/null
+++ b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
@@ -0,0 +1,24 @@
+This patch fixes assuming a 64-bit toolchain.
+https://github.com/nicokoch/reflink/pull/5
+
+
+--- reflink-0.1.3/src/sys/unix.rs	2019-04-02 16:13:06.000000000 +0200
++++ "reflink-0.1.3 (Kopie)/src/sys/unix.rs"	2023-06-29 09:47:26.867681403 +0200
+@@ -7,7 +7,7 @@
+     use std::os::unix::io::AsRawFd;
+ 
+     // TODO is this equal on all archs? Just tested on x86_64 and x86.
+-    const IOCTL_FICLONE: u64 = 0x40049409;
++    macro_rules! IOCTL_FICLONE { () => (0x40049409) };
+ 
+     let src = fs::File::open(&from)?;
+ 
+@@ -18,7 +18,7 @@
+         .open(&to)?;
+     let ret = unsafe {
+         // http://man7.org/linux/man-pages/man2/ioctl_ficlonerange.2.html
+-        libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE, src.as_raw_fd())
++        libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE!(), src.as_raw_fd())
+     };
+ 
+     if ret == -1 {
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 14/16] gnu: Add rust-ryu-0.2.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (31 preceding siblings ...)
  2023-06-29 10:25 ` [bug#63065] [PATCH v2 13/16] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
@ 2023-06-29 10:25 ` Sughosha via Guix-patches via
  2023-06-29 10:26 ` [bug#63065] [PATCH v2 15/16] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
                   ` (3 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:25 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
 gnu/packages/crates-io.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3874fddd09..dd023bf474 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -53432,6 +53432,25 @@ (define-public rust-ryu-1
 quickly convert floating point numbers to decimal strings.")
     (license (list license:asl2.0 license:boost1.0))))
 
+(define-public rust-ryu-0.2
+  (package
+    (inherit rust-ryu-1)
+    (name "rust-ryu")
+    (version "0.2.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ryu" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "13wsi4408qxi9w44pdf5zfds4ym7np2070wkhg1g4j4dvi4rasmr"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-no-panic" ,rust-no-panic-0.1))
+       #:cargo-development-inputs
+       (("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rand" ,rust-rand-0.5))))))
+
 (define-public rust-s3handler-0.7
   (package
     (name "rust-s3handler")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 15/16] gnu: Add rust-serde-jsonrc-0.1.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (32 preceding siblings ...)
  2023-06-29 10:25 ` [bug#63065] [PATCH v2 14/16] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
@ 2023-06-29 10:26 ` Sughosha via Guix-patches via
  2023-06-29 10:27 ` [bug#63065] [PATCH v2 16/16] gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (2 subsequent siblings)
  36 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:26 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/crates-io.scm (rust-serde-jsonrc-0.1): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd023bf474..13904a708c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -55802,6 +55802,35 @@ (define-public rust-serde-json-0.9
        #:cargo-development-inputs
        (("rust-serde-derive" ,rust-serde-derive-0.9))))))
 
+(define-public rust-serde-jsonrc-0.1
+  (package
+    (name "rust-serde-jsonrc")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde-jsonrc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1a5q0ba7jhgfl63l16plgl7sx1k58l2caxf7z2j5l677rh5yk4dm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;`Deserialize` and `Serialize` are defined multiple times
+       #:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-ryu" ,rust-ryu-0.2)
+        ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs
+       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
+        ("rust-serde-bytes" ,rust-serde-bytes-0.10)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "https://github.com/serde-rs/json")
+    (synopsis "JSON serialization file format")
+    (description
+     "This package provides a JSON serialization file format.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-path-to-error-0.1
   (package
     (name "rust-serde-path-to-error")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v2 16/16] gnu: Add yabridgectl.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (33 preceding siblings ...)
  2023-06-29 10:26 ` [bug#63065] [PATCH v2 15/16] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
@ 2023-06-29 10:27 ` Sughosha via Guix-patches via
  2023-06-29 11:15   ` [bug#63065] [PATCH v3 " Sughosha via Guix-patches via
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
  36 siblings, 1 reply; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 10:27 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

* gnu/packages/audio.scm (yabridgectl): New variable.
* gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch: New
patch file.
* gnu/local.mk: Register it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/audio.scm                        | 62 +++++++++++++++++++
 ...yabridgectl-5.0.4-use-system-reflink.patch | 23 +++++++
 3 files changed, 86 insertions(+)
 create mode 100644 gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index dbb2143906..29f05ff669 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2099,6 +2099,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xygrib-fix-finding-data.patch		\
   %D%/packages/patches/xygrib-newer-proj.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-do-not-link-against-librt.patch	\
   %D%/packages/patches/zig-use-system-paths.patch		\
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 02d2a68396..3c22ba9ac1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -74,6 +74,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)
@@ -123,6 +124,7 @@ (define-module (gnu packages audio)
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
+  #:use-module (gnu packages rust-apps)
   #:use-module (gnu packages samba)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
@@ -140,6 +142,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)
@@ -5968,6 +5971,65 @@ (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
+                "0ayl706nv67jkixbrh9z7225gdwg2s4rzndx77761x33mk6by7a8"))
+              (patches
+               (search-patches
+                 "yabridgectl-5.0.4-use-system-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 'change-directory 'patch-paths
+                 (lambda _
+                   (with-directory-excursion "src"
+                     (substitute* '("config.rs" "main.rs")
+                       (("/usr") #$yabridge)))))
+               (add-after 'install 'wrap-program
+                (lambda _
+                  (wrap-program (string-append #$output "/bin/yabridgectl")
+                    `("LD_LIBRARY_PATH" ":" prefix
+                      (,(string-append #$yabridge "/lib")
+                       ,(string-append #$dbus "/lib")))))))))
+    (native-inputs '())
+    (inputs
+     (list dbus))
+    (propagated-inputs
+     (list yabridge))
+    (synopsis "Utility to set up and update yabridge")
+    (description
+     "@command{yabridgectl} is a tool to setup and update @code{yabridge}.")))
+
 (define-public ableton-link
   (package
     (name "ableton-link")
diff --git a/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch b/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch
new file mode 100644
index 0000000000..d863f35c2f
--- /dev/null
+++ b/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch
@@ -0,0 +1,23 @@
+rust-reflink version 0.1.3 available in Guix is patched with the fix for
+the assumption of a 64-bit toolchain.
+
+---
+ 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
+
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v3 16/16] gnu: Add yabridgectl.
  2023-06-29 10:27 ` [bug#63065] [PATCH v2 16/16] gnu: Add yabridgectl Sughosha via Guix-patches via
@ 2023-06-29 11:15   ` Sughosha via Guix-patches via
  0 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-06-29 11:15 UTC (permalink / raw)
  To: 63065@debbugs.gnu.org

By mistake I had added "#:use-module (gnu packages rust-apps)"
unnecessarily. In this patch it is removed.

This patch is the replacement of only the last patch, 16/16, from the
v2 series.

Sughosha (1):
  gnu: Add yabridgectl.

 gnu/local.mk                                  |  1 +
 gnu/packages/audio.scm                        | 61 +++++++++++++++++++
 ...yabridgectl-5.0.4-use-system-reflink.patch | 23 +++++++
 3 files changed, 85 insertions(+)
 create mode 100644 gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch


base-commit: a98126e604b666d08a4c9d838bf9c341acea7f17
prerequisite-patch-id: db0f0d6727c1b66cdd07fb37d982d8f48367cb7a
prerequisite-patch-id: 43820360ad84faa7d10d47945d00b038e68524f0
prerequisite-patch-id: 350929f65488a6350bc09a0045e13b0c815eafe5
prerequisite-patch-id: 6e8a93d14aa2798c457057021fc0cb38f58cec7d
prerequisite-patch-id: 129bde8eb27d35d83d411cf49c2f04c57748b89f
prerequisite-patch-id: b4d8b6b7b91d3ee98d2402e144567c078fc9425e
prerequisite-patch-id: be1f9641ea8ec7be12e1e63efcfbb0a9ddf16ce1
prerequisite-patch-id: be8ccdf29fe9659ffe16806ad3c135d6be0f47f3
prerequisite-patch-id: f5ac1f146e42cc0a3be51272a74ad71effc28a82
prerequisite-patch-id: 41ac5a7192eb95f90bb31f69ee1846a18bb908c9
prerequisite-patch-id: 8ed14cb8f75ed3e36fd22aea2b4cf586b864f676
prerequisite-patch-id: e3f51823fdb1fa0838cb40aff2951cf82dac5d4f
prerequisite-patch-id: 227157ad1a0787045c09b7f573c27a7647ab14f5
prerequisite-patch-id: 712cbfaa6bfa223781ee37dc7020b3616666aca2
prerequisite-patch-id: 9ed005354b5adf2d595fe66945f15179496d8a25
--
* gnu/packages/audio.scm (yabridgectl): New variable.
* gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch: New
patch file.
* gnu/local.mk: Register it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/audio.scm                        | 61 +++++++++++++++++++
 ...yabridgectl-5.0.4-use-system-reflink.patch | 23 +++++++
 3 files changed, 85 insertions(+)
 create mode 100644 gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index dbb2143906..29f05ff669 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2099,6 +2099,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xygrib-fix-finding-data.patch		\
   %D%/packages/patches/xygrib-newer-proj.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-do-not-link-against-librt.patch	\
   %D%/packages/patches/zig-use-system-paths.patch		\
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 02d2a68396..7ab3c5f374 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -74,6 +74,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)
@@ -140,6 +141,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)
@@ -5968,6 +5970,65 @@ (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
+                "0ayl706nv67jkixbrh9z7225gdwg2s4rzndx77761x33mk6by7a8"))
+              (patches
+               (search-patches
+                 "yabridgectl-5.0.4-use-system-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 'change-directory 'patch-paths
+                 (lambda _
+                   (with-directory-excursion "src"
+                     (substitute* '("config.rs" "main.rs")
+                       (("/usr") #$yabridge)))))
+               (add-after 'install 'wrap-program
+                (lambda _
+                  (wrap-program (string-append #$output "/bin/yabridgectl")
+                    `("LD_LIBRARY_PATH" ":" prefix
+                      (,(string-append #$yabridge "/lib")
+                       ,(string-append #$dbus "/lib")))))))))
+    (native-inputs '())
+    (inputs
+     (list dbus))
+    (propagated-inputs
+     (list yabridge))
+    (synopsis "Utility to set up and update yabridge")
+    (description
+     "@command{yabridgectl} is a tool to setup and update @code{yabridge}.")))
+
 (define-public ableton-link
   (package
     (name "ableton-link")
diff --git a/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch b/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch
new file mode 100644
index 0000000000..d863f35c2f
--- /dev/null
+++ b/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch
@@ -0,0 +1,23 @@
+rust-reflink version 0.1.3 available in Guix is patched with the fix for
+the assumption of a 64-bit toolchain.
+
+---
+ 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
+
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 0/7] gnu: Add yabridgectl
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (34 preceding siblings ...)
  2023-06-29 10:27 ` [bug#63065] [PATCH v2 16/16] gnu: Add yabridgectl Sughosha via Guix-patches via
@ 2023-11-01  9:19 ` Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
                     ` (6 more replies)
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
  36 siblings, 7 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Gabriel Wicki

In this v4 series, I split yabridge and yabridgectl with two separate issues.
This series is intended to be merged after merging #66870.

Sughosha (7):
  gnu: Add rust-rustyline-derive-0.6.
  gnu: rust-rustyline-9: Update to 9.1.2.
  gnu: Add rust-promptly.
  gnu: Add rust-reflink-0.1.
  gnu: Add rust-ryu-0.2.
  gnu: Add rust-serde-jsonrc-0.1.
  gnu: Add yabridgectl.

 gnu/local.mk                                  |   2 +
 gnu/packages/audio.scm                        |  61 +++++++++
 gnu/packages/crates-io.scm                    | 122 +++++++++++++++++-
 ...k-0.1-fix-64bit-toolchain-assumption.patch |  24 ++++
 ...yabridgectl-5.0.4-use-system-reflink.patch |  23 ++++
 5 files changed, 229 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
 create mode 100644 gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch


base-commit: 16a0c66df80da5013e2d12979b6829e6273338cb
-- 
2.41.0





^ permalink raw reply	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 1/7] gnu: Add rust-rustyline-derive-0.6.
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
@ 2023-11-01  9:19   ` Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 2/7] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fc26147157..7a501f6778 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61521,6 +61521,28 @@ (define-public rust-rustyline-6
         ("rust-rustyline-derive" ,rust-rustyline-derive-0.3)
         ("rust-tempfile" ,rust-tempfile-3))))))
 
+(define-public rust-rustyline-derive-0.6
+  (package
+    (name "rust-rustyline-derive")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustyline-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mw0nfi8xxsm4q80mv4va7ff8m0kgnsfjvv067zc1d8hp1daaddv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/kkawakam/rustyline")
+    (synopsis "Rustyline macros implementation in Rust")
+    (description
+     "This package provides Rustyline macros implementation in Rust.")
+    (license license:expat)))
+
 (define-public rust-rustyline-derive-0.3
   (package
     (name "rust-rustyline-derive")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 2/7] gnu: rust-rustyline-9: Update to 9.1.2.
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
@ 2023-11-01  9:19   ` Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 3/7] gnu: Add rust-promptly Sughosha via Guix-patches via
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-rustyline-9): Update to 9.1.2.
---
 gnu/packages/crates-io.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7a501f6778..6fb2558ff5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61387,14 +61387,14 @@ (define-public rust-rusty-fork-0.2
 (define-public rust-rustyline-9
   (package
     (name "rust-rustyline")
-    (version "9.0.0")
+    (version "9.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustyline" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1mj0cgdyw6gaadsg7yxsnb9n4bdl91qga9kiwyd4hqqsi31qf13r"))))
+        (base32 "0f8069ljhiv9nf97y975wvv9yvx82w3lm9g50d5n298fkiw2cy6v"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -61407,7 +61407,7 @@ (define-public rust-rustyline-9
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-memchr" ,rust-memchr-2)
-        ("rust-nix" ,rust-nix-0.22)
+        ("rust-nix" ,rust-nix-0.23)
         ("rust-radix-trie" ,rust-radix-trie-0.2)
         ("rust-regex" ,rust-regex-1)
         ("rust-scopeguard" ,rust-scopeguard-1)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 3/7] gnu: Add rust-promptly.
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 2/7] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
@ 2023-11-01  9:19   ` Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 4/7] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-promptly-0.3): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6fb2558ff5..a29e676541 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -53336,6 +53336,27 @@ (define-public rust-progressing-3
 progress-bars for Rust.")
     (license license:asl2.0)))
 
+(define-public rust-promptly-0.3
+  (package
+    (name "rust-promptly")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "promptly" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fl0548ww11gpja8hlsfc8jgxk00rdd48n1g6icgwadhlp2wdjws"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rustyline" ,rust-rustyline-9)
+        ("rust-url" ,rust-url-2))))
+    (home-page "https://github.com/anowell/promptly")
+    (synopsis "Opinionated CLI prompting helper")
+    (description "This package provides opinionated CLI prompting helper.")
+    (license license:expat)))
+
 (define-public rust-propfuzz-0.0.1
   (package
     (name "rust-propfuzz")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 4/7] gnu: Add rust-reflink-0.1.
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
                     ` (2 preceding siblings ...)
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 3/7] gnu: Add rust-promptly Sughosha via Guix-patches via
@ 2023-11-01  9:19   ` Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 5/7] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-reflink-0.1): New variable.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/crates-io.scm                    | 25 +++++++++++++++++++
 ...k-0.1-fix-64bit-toolchain-assumption.patch | 24 ++++++++++++++++++
 3 files changed, 50 insertions(+)
 create mode 100644 gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d0867724e1..4718ad49a5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1960,6 +1960,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch	\
   %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch	\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
+  %D%/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch	\
   %D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch	\
   %D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch      \
   %D%/packages/patches/rw-igraph-0.10.patch			\
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a29e676541..4c63f838db 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -57259,6 +57259,31 @@ (define-public rust-ref-cast-test-suite-0.0.0
     (description "Test suite of the ref-cast crate.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-reflink-0.1
+  (package
+    (name "rust-reflink")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "reflink" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1glcyqvryv2zj6kjbfji0cldrkincqx3ds3wjwl4qnsnig15wn5w"))
+       (patches
+        (search-patches
+          "rust-reflink-0.1-fix-64bit-toolchain-assumption.patch"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/nicokoch/reflink")
+    (synopsis "Copy-on-write mechanism on supported file systems")
+    (description "This package provides copy-on-write mechanism on supported
+file systems.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-refpool-0.4
   (package
     (name "rust-refpool")
diff --git a/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
new file mode 100644
index 0000000000..c16e1f720c
--- /dev/null
+++ b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
@@ -0,0 +1,24 @@
+This patch fixes assuming a 64-bit toolchain.
+https://github.com/nicokoch/reflink/pull/5
+
+
+--- reflink-0.1.3/src/sys/unix.rs	2019-04-02 16:13:06.000000000 +0200
++++ "reflink-0.1.3 (Kopie)/src/sys/unix.rs"	2023-06-29 09:47:26.867681403 +0200
+@@ -7,7 +7,7 @@
+     use std::os::unix::io::AsRawFd;
+ 
+     // TODO is this equal on all archs? Just tested on x86_64 and x86.
+-    const IOCTL_FICLONE: u64 = 0x40049409;
++    macro_rules! IOCTL_FICLONE { () => (0x40049409) };
+ 
+     let src = fs::File::open(&from)?;
+ 
+@@ -18,7 +18,7 @@
+         .open(&to)?;
+     let ret = unsafe {
+         // http://man7.org/linux/man-pages/man2/ioctl_ficlonerange.2.html
+-        libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE, src.as_raw_fd())
++        libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE!(), src.as_raw_fd())
+     };
+ 
+     if ret == -1 {
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 5/7] gnu: Add rust-ryu-0.2.
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
                     ` (3 preceding siblings ...)
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 4/7] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
@ 2023-11-01  9:19   ` Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 6/7] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 7/7] gnu: Add yabridgectl Sughosha via Guix-patches via
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
 gnu/packages/crates-io.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4c63f838db..9584f1bf8a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61733,6 +61733,25 @@ (define-public rust-ryu-1
 quickly convert floating point numbers to decimal strings.")
     (license (list license:asl2.0 license:boost1.0))))
 
+(define-public rust-ryu-0.2
+  (package
+    (inherit rust-ryu-1)
+    (name "rust-ryu")
+    (version "0.2.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ryu" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "13wsi4408qxi9w44pdf5zfds4ym7np2070wkhg1g4j4dvi4rasmr"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-no-panic" ,rust-no-panic-0.1))
+       #:cargo-development-inputs
+       (("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rand" ,rust-rand-0.5))))))
+
 (define-public rust-s3handler-0.7
   (package
     (name "rust-s3handler")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 6/7] gnu: Add rust-serde-jsonrc-0.1.
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
                     ` (4 preceding siblings ...)
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 5/7] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
@ 2023-11-01  9:19   ` Sughosha via Guix-patches via
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 7/7] gnu: Add yabridgectl Sughosha via Guix-patches via
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-serde-jsonrc-0.1): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9584f1bf8a..231bee04bb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -64297,6 +64297,35 @@ (define-public rust-serde-json-core-0.5
 programs in rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-jsonrc-0.1
+  (package
+    (name "rust-serde-jsonrc")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde-jsonrc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1a5q0ba7jhgfl63l16plgl7sx1k58l2caxf7z2j5l677rh5yk4dm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;`Deserialize` and `Serialize` are defined multiple times
+       #:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-ryu" ,rust-ryu-0.2)
+        ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs
+       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
+        ("rust-serde-bytes" ,rust-serde-bytes-0.10)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "https://github.com/serde-rs/json")
+    (synopsis "JSON serialization file format")
+    (description
+     "This package provides a JSON serialization file format.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-path-to-error-0.1
   (package
     (name "rust-serde-path-to-error")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v4 7/7] gnu: Add yabridgectl.
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
                     ` (5 preceding siblings ...)
  2023-11-01  9:19   ` [bug#63065] [PATCH v4 6/7] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
@ 2023-11-01  9:19   ` Sughosha via Guix-patches via
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-01  9:19 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Gabriel Wicki

* gnu/packages/audio.scm (yabridgectl): New variable.
* gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch: New
patch file.
* gnu/local.mk: Register it.

Change-Id: I6a7fe3eff7852c60c306c4559cf00a4161ce81e1
---
 gnu/local.mk                                  |  1 +
 gnu/packages/audio.scm                        | 61 +++++++++++++++++++
 ...yabridgectl-5.0.4-use-system-reflink.patch | 23 +++++++
 3 files changed, 85 insertions(+)
 create mode 100644 gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 4718ad49a5..e535a8403e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2168,6 +2168,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xygrib-fix-finding-data.patch		\
   %D%/packages/patches/xygrib-newer-proj.patch			\
   %D%/packages/patches/yabridge-5.0.4-fix-dependency-search.patch	\
+  %D%/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch	\
   %D%/packages/patches/yggdrasil-extra-config.patch	\
   %D%/packages/patches/zig-0.9-riscv-support.patch		\
   %D%/packages/patches/zig-do-not-link-against-librt.patch	\
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index aae97d4169..102d064fb2 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -76,6 +76,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)
@@ -144,6 +145,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)
@@ -6056,6 +6058,65 @@ (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
+                "0ayl706nv67jkixbrh9z7225gdwg2s4rzndx77761x33mk6by7a8"))
+              (patches
+               (search-patches
+                 "yabridgectl-5.0.4-use-system-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 'change-directory 'patch-paths
+                 (lambda _
+                   (with-directory-excursion "src"
+                     (substitute* '("config.rs" "main.rs")
+                       (("/usr") #$yabridge)))))
+               (add-after 'install 'wrap-program
+                (lambda _
+                  (wrap-program (string-append #$output "/bin/yabridgectl")
+                    `("LD_LIBRARY_PATH" ":" prefix
+                      (,(string-append #$yabridge "/lib")
+                       ,(string-append #$dbus "/lib")))))))))
+    (native-inputs '())
+    (inputs
+     (list dbus))
+    (propagated-inputs
+     (list yabridge))
+    (synopsis "Utility to set up and update yabridge")
+    (description
+     "@command{yabridgectl} is a tool to setup and update @code{yabridge}.")))
+
 (define-public ableton-link
   (package
     (name "ableton-link")
diff --git a/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch b/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch
new file mode 100644
index 0000000000..d863f35c2f
--- /dev/null
+++ b/gnu/packages/patches/yabridgectl-5.0.4-use-system-reflink.patch
@@ -0,0 +1,23 @@
+rust-reflink version 0.1.3 available in Guix is patched with the fix for
+the assumption of a 64-bit toolchain.
+
+---
+ 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
+
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 0/7] gnu: Add yabridgectl.
  2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
                   ` (35 preceding siblings ...)
  2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
@ 2023-11-30 10:56 ` Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
                     ` (6 more replies)
  36 siblings, 7 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:56 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Gabriel Wicki

This series is intended to be merged after merging #66870

Sughosha (7):
  gnu: Add rust-rustyline-derive-0.6.
  gnu: rust-rustyline-9: Update to 9.1.2.
  gnu: Add rust-promptly-0.3.
  gnu: Add rust-reflink-0.1.
  gnu: Add rust-ryu-0.2.
  gnu: Add rust-serde-jsonrc-0.1.
  gnu: Add yabridgectl.

 gnu/local.mk                                  |   1 +
 gnu/packages/audio.scm                        |  60 +++++++++
 gnu/packages/crates-io.scm                    | 122 +++++++++++++++++-
 ...k-0.1-fix-64bit-toolchain-assumption.patch |  24 ++++
 4 files changed, 204 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch


base-commit: 0dd723d14d26f8ecb64fe829a046452e2189b69b
-- 
2.41.0





^ permalink raw reply	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 1/7] gnu: Add rust-rustyline-derive-0.6.
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
@ 2023-11-30 10:57   ` Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 2/7] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:57 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d42ff60a20..ee71386634 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61536,6 +61536,28 @@ (define-public rust-rustyline-6
         ("rust-rustyline-derive" ,rust-rustyline-derive-0.3)
         ("rust-tempfile" ,rust-tempfile-3))))))
 
+(define-public rust-rustyline-derive-0.6
+  (package
+    (name "rust-rustyline-derive")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustyline-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mw0nfi8xxsm4q80mv4va7ff8m0kgnsfjvv067zc1d8hp1daaddv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/kkawakam/rustyline")
+    (synopsis "Rustyline macros implementation in Rust")
+    (description
+     "This package provides Rustyline macros implementation in Rust.")
+    (license license:expat)))
+
 (define-public rust-rustyline-derive-0.3
   (package
     (name "rust-rustyline-derive")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 2/7] gnu: rust-rustyline-9: Update to 9.1.2.
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
@ 2023-11-30 10:57   ` Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 3/7] gnu: Add rust-promptly-0.3 Sughosha via Guix-patches via
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:57 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-rustyline-9): Update to 9.1.2.
---
 gnu/packages/crates-io.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ee71386634..48dd8b1e3d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61402,14 +61402,14 @@ (define-public rust-rusty-fork-0.2
 (define-public rust-rustyline-9
   (package
     (name "rust-rustyline")
-    (version "9.0.0")
+    (version "9.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustyline" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1mj0cgdyw6gaadsg7yxsnb9n4bdl91qga9kiwyd4hqqsi31qf13r"))))
+        (base32 "0f8069ljhiv9nf97y975wvv9yvx82w3lm9g50d5n298fkiw2cy6v"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -61422,7 +61422,7 @@ (define-public rust-rustyline-9
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-memchr" ,rust-memchr-2)
-        ("rust-nix" ,rust-nix-0.22)
+        ("rust-nix" ,rust-nix-0.23)
         ("rust-radix-trie" ,rust-radix-trie-0.2)
         ("rust-regex" ,rust-regex-1)
         ("rust-scopeguard" ,rust-scopeguard-1)
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 3/7] gnu: Add rust-promptly-0.3.
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 2/7] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
@ 2023-11-30 10:57   ` Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 4/7] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:57 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-promptly-0.3): New variable.

Change-Id: Ic58dd6b23c8127d768a6a31e4d829ff066cbff54
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 48dd8b1e3d..74332868c4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -53351,6 +53351,27 @@ (define-public rust-progressing-3
 progress-bars for Rust.")
     (license license:asl2.0)))
 
+(define-public rust-promptly-0.3
+  (package
+    (name "rust-promptly")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "promptly" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fl0548ww11gpja8hlsfc8jgxk00rdd48n1g6icgwadhlp2wdjws"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rustyline" ,rust-rustyline-9)
+        ("rust-url" ,rust-url-2))))
+    (home-page "https://github.com/anowell/promptly")
+    (synopsis "Opinionated CLI prompting helper")
+    (description "This package provides opinionated CLI prompting helper.")
+    (license license:expat)))
+
 (define-public rust-propfuzz-0.0.1
   (package
     (name "rust-propfuzz")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 4/7] gnu: Add rust-reflink-0.1.
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
                     ` (2 preceding siblings ...)
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 3/7] gnu: Add rust-promptly-0.3 Sughosha via Guix-patches via
@ 2023-11-30 10:57   ` Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 5/7] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:57 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-reflink-0.1): New variable.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/crates-io.scm                    | 25 +++++++++++++++++++
 ...k-0.1-fix-64bit-toolchain-assumption.patch | 24 ++++++++++++++++++
 3 files changed, 50 insertions(+)
 create mode 100644 gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c93a7b3659..4445d563c8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1965,6 +1965,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch	\
   %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch	\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
+  %D%/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch	\
   %D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch	\
   %D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch      \
   %D%/packages/patches/rw-igraph-0.10.patch			\
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 74332868c4..a67a5e52aa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -57274,6 +57274,31 @@ (define-public rust-ref-cast-test-suite-0.0.0
     (description "Test suite of the ref-cast crate.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-reflink-0.1
+  (package
+    (name "rust-reflink")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "reflink" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1glcyqvryv2zj6kjbfji0cldrkincqx3ds3wjwl4qnsnig15wn5w"))
+       (patches
+        (search-patches
+          "rust-reflink-0.1-fix-64bit-toolchain-assumption.patch"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/nicokoch/reflink")
+    (synopsis "Copy-on-write mechanism on supported file systems")
+    (description "This package provides copy-on-write mechanism on supported
+file systems.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-refpool-0.4
   (package
     (name "rust-refpool")
diff --git a/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
new file mode 100644
index 0000000000..c16e1f720c
--- /dev/null
+++ b/gnu/packages/patches/rust-reflink-0.1-fix-64bit-toolchain-assumption.patch
@@ -0,0 +1,24 @@
+This patch fixes assuming a 64-bit toolchain.
+https://github.com/nicokoch/reflink/pull/5
+
+
+--- reflink-0.1.3/src/sys/unix.rs	2019-04-02 16:13:06.000000000 +0200
++++ "reflink-0.1.3 (Kopie)/src/sys/unix.rs"	2023-06-29 09:47:26.867681403 +0200
+@@ -7,7 +7,7 @@
+     use std::os::unix::io::AsRawFd;
+ 
+     // TODO is this equal on all archs? Just tested on x86_64 and x86.
+-    const IOCTL_FICLONE: u64 = 0x40049409;
++    macro_rules! IOCTL_FICLONE { () => (0x40049409) };
+ 
+     let src = fs::File::open(&from)?;
+ 
+@@ -18,7 +18,7 @@
+         .open(&to)?;
+     let ret = unsafe {
+         // http://man7.org/linux/man-pages/man2/ioctl_ficlonerange.2.html
+-        libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE, src.as_raw_fd())
++        libc::ioctl(dest.as_raw_fd(), IOCTL_FICLONE!(), src.as_raw_fd())
+     };
+ 
+     if ret == -1 {
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 5/7] gnu: Add rust-ryu-0.2.
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
                     ` (3 preceding siblings ...)
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 4/7] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
@ 2023-11-30 10:57   ` Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 6/7] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 7/7] gnu: Add yabridgectl Sughosha via Guix-patches via
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:57 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
 gnu/packages/crates-io.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a67a5e52aa..506f406e9f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61748,6 +61748,25 @@ (define-public rust-ryu-1
 quickly convert floating point numbers to decimal strings.")
     (license (list license:asl2.0 license:boost1.0))))
 
+(define-public rust-ryu-0.2
+  (package
+    (inherit rust-ryu-1)
+    (name "rust-ryu")
+    (version "0.2.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ryu" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "13wsi4408qxi9w44pdf5zfds4ym7np2070wkhg1g4j4dvi4rasmr"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-no-panic" ,rust-no-panic-0.1))
+       #:cargo-development-inputs
+       (("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rand" ,rust-rand-0.5))))))
+
 (define-public rust-s3handler-0.7
   (package
     (name "rust-s3handler")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 6/7] gnu: Add rust-serde-jsonrc-0.1.
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
                     ` (4 preceding siblings ...)
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 5/7] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
@ 2023-11-30 10:57   ` Sughosha via Guix-patches via
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 7/7] gnu: Add yabridgectl Sughosha via Guix-patches via
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:57 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Efraim Flashner

* gnu/packages/crates-io.scm (rust-serde-jsonrc-0.1): New variable.

Change-Id: Ia1da4a61e52f0d70639fdf3d8e27e1356785d404
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 506f406e9f..c6692aa997 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -64312,6 +64312,35 @@ (define-public rust-serde-json-core-0.5
 programs in rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-jsonrc-0.1
+  (package
+    (name "rust-serde-jsonrc")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_jsonrc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1a5q0ba7jhgfl63l16plgl7sx1k58l2caxf7z2j5l677rh5yk4dm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;`Deserialize` and `Serialize` are defined multiple times
+       #:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-ryu" ,rust-ryu-0.2)
+        ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs
+       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
+        ("rust-serde-bytes" ,rust-serde-bytes-0.10)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "https://github.com/serde-rs/json")
+    (synopsis "JSON serialization file format")
+    (description
+     "This package provides a JSON serialization file format.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-path-to-error-0.1
   (package
     (name "rust-serde-path-to-error")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [bug#63065] [PATCH v5 7/7] gnu: Add yabridgectl.
  2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
                     ` (5 preceding siblings ...)
  2023-11-30 10:57   ` [bug#63065] [PATCH v5 6/7] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
@ 2023-11-30 10:57   ` Sughosha via Guix-patches via
  6 siblings, 0 replies; 53+ messages in thread
From: Sughosha via Guix-patches via @ 2023-11-30 10:57 UTC (permalink / raw)
  To: 63065; +Cc: Sughosha, Gabriel Wicki

* gnu/packages/audio.scm (yabridgectl): New variable.

Change-Id: If313e0209c7ecb2e9b0c020d254d790ba5b4bfb9
---
 gnu/packages/audio.scm | 60 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index f842548c93..0ba6914ddd 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -76,6 +76,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)
@@ -144,6 +145,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)
@@ -6029,6 +6031,64 @@ (define-public yabridge
 inter-plugin communication for VST2 plugins and quick startup times.")
     (license license:gpl3+)))
 
+(define-public yabridgectl
+  (package/inherit yabridge
+    (name "yabridgectl")
+    (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 'change-directory 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (with-directory-excursion "src"
+                     (substitute* '("config.rs" "main.rs")
+                       (("/usr") (assoc-ref inputs "yabridge"))))))
+               (add-before 'configure 'patch-rust-reflink-version
+                 (lambda _
+                   (substitute* "Cargo.toml"
+                     (("reflink = .*$")
+                      (string-append "reflink = \""
+                                     #$(package-version rust-reflink-0.1)
+                                     "\"\n")))))
+               (add-after 'install 'wrap-program
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (wrap-program (string-append #$output "/bin/yabridgectl")
+                    `("LD_LIBRARY_PATH" ":" prefix
+                      (,(string-append (assoc-ref inputs "yabridge") "/lib")
+                       ,(string-append (assoc-ref inputs "dbus") "/lib")))
+                    `("PATH" ":" prefix
+                      (,(string-append (assoc-ref inputs "yabridge")
+                                                         "/bin")))))))))
+    (native-inputs '())
+    (inputs
+     (list dbus))
+    (propagated-inputs
+     (list yabridge))
+    (synopsis "Utility to set up and update yabridge")
+    (description
+     "@command{yabridgectl} is a tool to setup and update @code{yabridge}.")))
+
 (define-public ableton-link
   (package
     (name "ableton-link")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 53+ messages in thread

end of thread, other threads:[~2023-11-30 10:59 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-25  9:22 [bug#63065] [PATCH 0/18]: gnu: Add yabridgectl Sughosha via Guix-patches via
2023-04-25  9:25 ` [bug#63065] [PATCH 01/18] gnu: asio: Update to 1.24.0 Sughosha via Guix-patches via
2023-04-25  9:27 ` [bug#63065] [PATCH 02/18] gnu: Add bitsery Sughosha via Guix-patches via
2023-04-25  9:27 ` [bug#63065] [PATCH 03/18] gnu: Add function2 Sughosha via Guix-patches via
2023-04-25  9:28 ` [bug#63065] [PATCH 04/18] gnu: Add tomlplusplus Sughosha via Guix-patches via
2023-04-25  9:29 ` [bug#63065] [PATCH 05/18] gnu: Add clap Sughosha via Guix-patches via
2023-04-25  9:30 ` [bug#63065] [PATCH 06/18] gnu: Add vst3sdk Sughosha via Guix-patches via
2023-04-25  9:30 ` [bug#63065] [PATCH 07/18] gnu: Add yabridge Sughosha via Guix-patches via
2023-04-25  9:31 ` [bug#63065] [PATCH 08/18] gnu: Add rust-scroll-derive-0.11 Sughosha via Guix-patches via
2023-04-25  9:31 ` [bug#63065] [PATCH 09/18] gnu: Add rust-scroll-0.11 Sughosha via Guix-patches via
2023-04-25  9:32 ` [bug#63065] [PATCH 10/18] gnu: Add rust-goblin-0.6 Sughosha via Guix-patches via
2023-04-25  9:33 ` [bug#63065] [PATCH 11/18] gnu: rust-libloading-0.7: Update to 0.7.4 Sughosha via Guix-patches via
2023-04-25  9:33 ` [bug#63065] [PATCH 12/18] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
2023-04-25  9:34 ` [bug#63065] [PATCH 13/18] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
2023-04-25  9:35 ` [bug#63065] [PATCH 14/18] gnu: Add rust-promptly-0.3 Sughosha via Guix-patches via
2023-04-25  9:35 ` [bug#63065] [PATCH 15/18] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
2023-04-25  9:36 ` [bug#63065] [PATCH 16/18] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
2023-04-25  9:38 ` [bug#63065] [PATCH 17/18] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
2023-04-25  9:39 ` [bug#63065] [PATCH 18/18] gnu: Add yabridgectl Sughosha via Guix-patches via
2023-06-29 10:15 ` [bug#63065] [PATCH v2 00/16] gnu: Add yabridge and yabridgectl Sughosha via Guix-patches via
2023-06-29 10:16 ` [bug#63065] [PATCH v2 01/16] gnu: asio: Update to 1.28.0 Sughosha via Guix-patches via
2023-06-29 10:17 ` [bug#63065] [PATCH v2 02/16] gnu: Add bitsery Sughosha via Guix-patches via
2023-06-29 10:18 ` [bug#63065] [PATCH v2 03/16] gnu: Add function2 Sughosha via Guix-patches via
2023-06-29 10:19 ` [bug#63065] [PATCH v2 04/16] gnu: Add tomlplusplus Sughosha via Guix-patches via
2023-06-29 10:19 ` [bug#63065] [PATCH v2 05/16] gnu: Add clap Sughosha via Guix-patches via
2023-06-29 10:20 ` [bug#63065] [PATCH v2 06/16] gnu: Add yabridge Sughosha via Guix-patches via
2023-06-29 10:22 ` [bug#63065] [PATCH v2 07/16] gnu: Add rust-scroll-derive-0.11 Sughosha via Guix-patches via
2023-06-29 10:22 ` [bug#63065] [PATCH v2 08/16] gnu: Add rust-scroll-0.11 Sughosha via Guix-patches via
2023-06-29 10:23 ` [bug#63065] [PATCH v2 09/16] gnu: Add rust-goblin-0.6 Sughosha via Guix-patches via
2023-06-29 10:23 ` [bug#63065] [PATCH v2 10/16] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
2023-06-29 10:24 ` [bug#63065] [PATCH v2 11/16] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
2023-06-29 10:24 ` [bug#63065] [PATCH v2 12/16] gnu: Add rust-promptly Sughosha via Guix-patches via
2023-06-29 10:25 ` [bug#63065] [PATCH v2 13/16] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
2023-06-29 10:25 ` [bug#63065] [PATCH v2 14/16] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
2023-06-29 10:26 ` [bug#63065] [PATCH v2 15/16] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
2023-06-29 10:27 ` [bug#63065] [PATCH v2 16/16] gnu: Add yabridgectl Sughosha via Guix-patches via
2023-06-29 11:15   ` [bug#63065] [PATCH v3 " Sughosha via Guix-patches via
2023-11-01  9:19 ` [bug#63065] [PATCH v4 0/7] " Sughosha via Guix-patches via
2023-11-01  9:19   ` [bug#63065] [PATCH v4 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
2023-11-01  9:19   ` [bug#63065] [PATCH v4 2/7] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
2023-11-01  9:19   ` [bug#63065] [PATCH v4 3/7] gnu: Add rust-promptly Sughosha via Guix-patches via
2023-11-01  9:19   ` [bug#63065] [PATCH v4 4/7] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
2023-11-01  9:19   ` [bug#63065] [PATCH v4 5/7] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
2023-11-01  9:19   ` [bug#63065] [PATCH v4 6/7] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
2023-11-01  9:19   ` [bug#63065] [PATCH v4 7/7] gnu: Add yabridgectl Sughosha via Guix-patches via
2023-11-30 10:56 ` [bug#63065] [PATCH v5 0/7] " Sughosha via Guix-patches via
2023-11-30 10:57   ` [bug#63065] [PATCH v5 1/7] gnu: Add rust-rustyline-derive-0.6 Sughosha via Guix-patches via
2023-11-30 10:57   ` [bug#63065] [PATCH v5 2/7] gnu: rust-rustyline-9: Update to 9.1.2 Sughosha via Guix-patches via
2023-11-30 10:57   ` [bug#63065] [PATCH v5 3/7] gnu: Add rust-promptly-0.3 Sughosha via Guix-patches via
2023-11-30 10:57   ` [bug#63065] [PATCH v5 4/7] gnu: Add rust-reflink-0.1 Sughosha via Guix-patches via
2023-11-30 10:57   ` [bug#63065] [PATCH v5 5/7] gnu: Add rust-ryu-0.2 Sughosha via Guix-patches via
2023-11-30 10:57   ` [bug#63065] [PATCH v5 6/7] gnu: Add rust-serde-jsonrc-0.1 Sughosha via Guix-patches via
2023-11-30 10:57   ` [bug#63065] [PATCH v5 7/7] gnu: Add yabridgectl Sughosha via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).