gnu: Add yabridgectl.

  • Open
  • quality assurance status badge
Details
2 participants
  • Sughosha
  • Sughosha
Owner
unassigned
Submitted by
Sughosha
Severity
normal
S
S
Sughosha wrote on 25 Apr 2023 11:22
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
VWgRB1zpMdRgLnGf6j9VnfZnEFKjoZo1_nBc7XWDuIG9dYagF7ODd9j6Knr-RLS5HNOvBGaz7u0yKAFcj49eedZBW_HxKoDvu-ABjWEy6Rg=@proton.me
This series of patches is here to add yabridge and yabridgectl with its
up-to-date dependencies.
S
S
Sughosha wrote on 25 Apr 2023 11:25
[PATCH 01/18] gnu: asio: Update to 1.24.0.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
vhaYFZBncHoRmRfrQnnlzv69kGP1LPM6Z6ulxOPg1QSyLrN0akoNQKQAxkFhGFArXV7GWyceZRzBxFN96x9qVkNuXaNQZX39YKiHA0vbVwc=@proton.me
* gnu/packages/networking.scm (asio): Update to 1.24.0.
---
gnu/packages/networking.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:27
[PATCH 02/18] gnu: Add bitsery.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
lP_IXzJsdLemjFYWXJhdqcDDO8w91YysiNN6bmeaoQYXNu709dVk3hdxzrL9-7HEcY4nGL-_ZpWroxKY0GHAE1bor4iF6oWMCZVrpEBKY8U=@proton.me
* gnu/packages/cpp.scm (bitsery): New variable.
---
gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:27
[PATCH 03/18] gnu: Add function2.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
zS8cOdw49oBhjoMbhbeBvy8HF2hzUQ4rx_ZhoVZaJkyTXoHWsjAF5iGvC_eDx16wrVn2DxHs0KzeEkxdMhXjZHCRkMvsdej9DMHOkBGqMWQ=@proton.me
* gnu/packages/cpp.scm (function2): New variable.
---
gnu/packages/cpp.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:28
[PATCH 04/18] gnu: Add tomlplusplus.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
c1dND4E7PheHrqJKFZpL4P2fqvcJbTyFoxHZdkeytna6iZNs6Pz7lo6PzsRr-ATSzyB2CsqYl1cuQLTMwJ_YE37dMMpjVi2X_i26EHCHvnU=@proton.me
* gnu/packages/cpp.scm (tomlplusplus): New variable.
---
gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (44 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:29
[PATCH 05/18] gnu: Add clap.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
9Sy0dEOx0nL0CzZx5Q_C3PwxMvETav0DJsvf_AapFsvu-d5uTmV_rP47W21D0NME3drR1xhTmXKuYttQ--o8qjHKGYjkhjRZktC75UJQAuw=@proton.me
* gnu/packages/audio.scm (clap): New variable.
---
gnu/packages/audio.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:30
[PATCH 06/18] gnu: Add vst3sdk.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
C1LmYLEAX0doKyopgqvNW7hyTYj63frcyP7k_9FiO2Eom8-5V5uZi_1CGHLgmzCCTpRowDfN9UqBdoU48MO7fBZe5JZ4_Pyj6A-U1SpGi3c=@proton.me
* 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

Toggle diff (266 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:30
[PATCH 07/18] gnu: Add yabridge.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
GbYndPgckH86xp7Vvhx6o_nppxczXkXkVg8umTV378DV0erNJieHXDBp7IYbHJEnvhEi15XSa8UnnN4JJ_wH0Yybyq-iOzBxHfjTB0cZykY=@proton.me
* 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

Toggle diff (205 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:31
[PATCH 08/18] gnu: Add rust-scroll-derive-0.11.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
nVV4mMRyYYdE63h2EGIhKtaf15lKONpHT2fi-6U5xZ1Dw3RjZ8BMPoxVUEZBaB18ocq2XshKpnpVLgy4Ur3rdvmHy2DLWEP7nton3VY4q0E=@proton.me
* gnu/packages/crates-io.scm (rust-scroll-derive-0.11): New variable.
---
gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:31
[PATCH 09/18] gnu: Add rust-scroll-0.11.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
V-VJyOo_i_XDGI_eT5vA0UmVOsuCa_h_aSvYB-Fm__YpgtCzJSrLyV-QMITallkZ5656oI6hV0U0vWkgQq4P9JXgF7ci8oAccwZLabwDyHA=@proton.me
* gnu/packages/crates-io.scm (rust-scroll-0.11): New variable.
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:32
[PATCH 10/18] gnu: Add rust-goblin-0.6.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
no9J_jpMi42LQ9-EKpjEiK-C85GyTs07zHzKmu5Q68XJp2ZIZ9L_a-09nTITZ15CYoqpOgGyPiJebAdhEmhZNG3SLv1hnvRuZv2r0KMUi_g=@proton.me
* gnu/packages/crates-io.scm (rust-goblin-0.6): New variable.
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:33
[PATCH 11/18] gnu: rust-libloading-0.7: Update to 0.7.4.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
jvINsZ57dk5NsN7cUmUxRhlt040Ir6iX8x9ycrGHGPdTzYyUxuWsavyZVfhjeFKHb6KpzTun1ehqEyKHJ4InwYxtJX56HcYntwj1xoIaBC8=@proton.me
* 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(-)

Toggle diff (24 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:33
[PATCH 12/18] gnu: Add rust-rustyline-derive-0.6.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
oSXWjJ5If5ZAidWGXUewaaLe8ir94V8EiVUcpaTt04lrGrR4T4vB9XcLKg1WDdELy7BRaZl6NCclYULL5__gSjSTw3mWwVaCN0W2XwrVWos=@proton.me
* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:34
[PATCH 13/18] gnu: rust-rustyline-9: Update to 9.1.2.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
HQOkZFVn_vG8LwlCdS26sFYX6xC21vpWWpiTYv1hGQlbEha5z7MRIZ9GqJKOUYySLUt3pyn3ZSFec0fCTtg0w_sr1uaFIUTPeeKPc52SZPY=@proton.me
* 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(-)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:35
[PATCH 14/18] gnu: Add rust-promptly-0.3.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
5mintzaqUwIaPYueYhUHPHpdtk3hBgmqvgmmBCyCXUq7Nm7pAqRtSTwxISk9-g2qvG3iniL3cuOJZ1mhr0u8x26kRu4XOnzJEh8sEcS4wLM=@proton.me
* gnu/packages/crates-io.scm (rust-promptly-0.3): New variable.
---
gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:35
[PATCH 15/18] gnu: Add rust-reflink-0.1.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
mHZwM_2RNLsPTNTcCj6D-VUpa-vi7KWvWY0mQ9w7lVu5AII-0mSMjS4Mu_CAmBViDNiqgRKqJb4JNjvF61cOGl82a68EeHXo_OAC7WRrw3A=@proton.me
* gnu/packages/crates-io.scm (rust-reflink-0.1): New variable.
---
gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:36
[PATCH 16/18] gnu: Add rust-ryu-0.2.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
fGVEfDGxdrIFpXt-isnwDGNg5a7AWAxCO_gbJZdzxDCgfsms-gJAa6KbMALFO_0HxHKedPstKK6fu4XoFvv-JHJ2ON-7EMI3df-NAfTCBEE=@proton.me
* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
gnu/packages/crates-io.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:38
[PATCH 17/18] gnu: Add rust-serde-jsonrc-0.1.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
bNiq_XcdCit73HS5aflDgbT08bjVvpyxrVrJa232bGrWj93tzsuLeM1SY8LYkiMCAywweIXOhFTmS1CouEaHGTlNwWND94aLAAEdpZ56b8A=@proton.me
* gnu/packages/crates-io.scm (rust-serde-jsonrc-0.1): New variable.
---
gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
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
S
S
Sughosha wrote on 25 Apr 2023 11:39
[PATCH 18/18] gnu: Add yabridgectl.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
tu6sq34i-0EuGQknHoJoNl5alk_TaYKoJUFMD15xihX5WbZXbrtLnD0zrgUk_1-cFLhsKuPFXMfr4e7zot79VrMGviQHkFoRtS7ZiokeMJc=@proton.me
* 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

Toggle diff (125 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:15
[PATCH v2 00/16] gnu: Add yabridge and yabridgectl.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
Bc5u33-0PakjpzDgWkp3VmGry-_UrDV64qgA6nJn1SmRDdnPgU4bCOKdu9rwUuF4Kquuaj8gLNH3Y7w9R9JxLfXRzjpi2YPwrj4H6dOQ-c4=@proton.me
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
S
S
Sughosha wrote on 29 Jun 2023 12:16
[PATCH v2 01/16] gnu: asio: Update to 1.28.0.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
0s3EqoeHMH-AIssvo57SA6SycqmJ62K-XdGUAAF1SM2l-4_lees3ao0hblEF2LAE-0TLgzVbdzWgbyYJzWe7NmFOuji1x6hpGp8VF_Z8ocQ=@proton.me
* gnu/packages/networking.scm (asio): Update to 1.28.0.
---
gnu/packages/networking.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (24 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:17
[PATCH v2 02/16] gnu: Add bitsery.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
jp6t1GbLslU1eloGCAeb_wzDCxIXzKLN7r4WM4iVKdJ26cjjcwGiWT9mJJIDLyPNfhNc1g6w3AVQWh3L5_LHLjte1aior6D6x4QuOKaYZjo=@proton.me
* gnu/packages/cpp.scm (bitsery): New variable.
---
gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:18
[PATCH v2 03/16] gnu: Add function2.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
zgMER_oEVpxnO_jBXaYIjv91T1eTbNwmrHKNk5eqZrwcV4RthIPUMyVrxNEbznR95Y_DImKCsXC9JBLev5UWK7qYujVHN0-eFtRyKp5haZ4=@proton.me
* gnu/packages/cpp.scm (function2): New variable.
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:19
[PATCH v2 04/16] gnu: Add tomlplusplus.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
_iniWnho7q34WbvcMEyM2UBOzyEyNSUsSy0mlbEuWcp21xnTGwfYD63FrUOWp6uhO2FTtKFUdIAOtJOtJGOs-IAUEvb6QVXdnaDL4bEg_nU=@proton.me
* gnu/packages/cpp.scm (tomlplusplus): New variable.
---
gnu/packages/cpp.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (42 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:19
[PATCH v2 05/16] gnu: Add clap.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
1VvTdQzhiw7ULOmB1blxjDxI25rLmNPJfe8bsU_UdjWevEAcYSJ7qDerTuZx1KQQtdRCLdBCQKUKsCTWIaF67flnPd4iPUxOWwqzj4bKrWI=@proton.me
* gnu/packages/audio.scm (clap): New variable.
---
gnu/packages/audio.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:20
[PATCH v2 06/16] gnu: Add yabridge.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
-4-Qw03sW-iEY2AKTjeoPxFRmvMcn9wIBks9zO73havgvPA6UAihkK59CqWd_tjIBvZYlgjGqmIoAACNdCuutbvWZpA5mbzPS-0GjcY8PG0=@proton.me
* 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

Toggle diff (414 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:22
[PATCH v2 07/16] gnu: Add rust-scroll-derive-0.11.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
w5NEaQhu2iU-Zs5h-O5bgs_Xvu13igegTfraqWFUaNHkR2gytWS4g2CDpY_-R_Ch3PoN_zrljdn0q5ERcrFLdmhlSeQsoPDJi8wD-61yzCM=@proton.me
* gnu/packages/crates-io.scm (rust-scroll-derive-0.11): New variable.
---
gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:22
[PATCH v2 08/16] gnu: Add rust-scroll-0.11.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
n6uF4rz3Oac4XNNxDWJs_Ga12saJMvRfHIx87XfXnrZ8WNZVG-bI0MsPm_2s54DzSLGzlRIAVwr5cA27-_zXkBHvMn01EyxJgNPBMOpN_k4=@proton.me
* gnu/packages/crates-io.scm (rust-scroll-0.11): New variable.
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:23
[PATCH v2 09/16] gnu: Add rust-goblin-0.6.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
IOhfDxatGKGGzjL_nSvKrZPQAt1iV2xc7E-Q-T1qaVF17y0CWhuO1T0iQKg3O2Gx4Occm36DTU8ZJQjO7ha78_9LDkl2Na5EknNJ035CGyM=@proton.me
* gnu/packages/crates-io.scm (rust-goblin-0.6): New variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:23
[PATCH v2 10/16] gnu: Add rust-rustyline-derive-0.6.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
2RQfW0sFgc3x9ZcF-Ob5Tec_eozd7VYZwTlzFY4obHdfy28cd4WRrJnNBwpCUZpp-85YghS4mT644Yk3MpqGc8KhmXkTJIIFOXu7OTGpgo8=@proton.me
* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:24
[PATCH v2 11/16] gnu: rust-rustyline-9: Update to 9.1.2.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
QABYrvweyOtjaCauJk9c993i02wiXdkD8UCV70igPflvihjB2FcApwk-CFDX-oV0DnBW_FCftuqdIXOUhQcU_GrimY_zzUzNFNheD_CA53g=@proton.me
* 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(-)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:24
[PATCH v2 12/16] gnu: Add rust-promptly.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
MDKs_PF9OSX1c7kMIleQHhFsZ2yb0of_5xg117_b0H3BsC4P4hbnU8EgSThVMzf7L3NEmo-3jZ9ovq8kBBX0b2-BB8kVFd-GVrsUu8xRsWY=@proton.me
* gnu/packages/crates-io.scm (rust-promptly-0.3): New variable.
---
gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:25
[PATCH v2 13/16] gnu: Add rust-reflink-0.1.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
XNH5GMgt4nW6fRqeXsLGqPu_Sr7YJo1qu3hPkWsrP0-hI7eL_1lV9g7OWkbz6-SzjOotb3JbDoUfhED5zAOt_nO5j0MFsF9uB88NCBzxOVs=@proton.me
* 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

Toggle diff (80 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:25
[PATCH v2 14/16] gnu: Add rust-ryu-0.2.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
J0D7WLGpfvf8Ys5nU7zdK15V1473RSvw8ET26vxUEi83WdgmAGvhd-6HHuIisOU0_Mm28O7vo_qTnfMT2S8clLVwvhv8brQS3nrjzmjsVq4=@proton.me
* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
gnu/packages/crates-io.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:26
[PATCH v2 15/16] gnu: Add rust-serde-jsonrc-0.1.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
l84Q-8Vszt4Xj5Yu-hw7g2gUlNuWmEHur-Mugu7bVyUUAYJdBrJiEpqkCar2PMDK74ezVKFjQm9fQzWfp3R4nsv5Ge266Q2ED76QAGAb9m4=@proton.me
* gnu/packages/crates-io.scm (rust-serde-jsonrc-0.1): New variable.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 12:27
[PATCH v2 16/16] gnu: Add yabridgectl.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
BJVOiX5nVjzpb_PxA-u-1Yh6swoLT_KNrnxkfwrubkH3mzlFjdL-QO7BUE9YxQciXghEpM6MmKVcGPwOjm8ADlrMJRAcUW1gpxDIYy_IptQ=@proton.me
* 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

Toggle diff (137 lines)
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
S
S
Sughosha wrote on 29 Jun 2023 13:15
[PATCH v3 16/16] gnu: Add yabridgectl.
(name . 63065@debbugs.gnu.org)(address . 63065@debbugs.gnu.org)
bHBn9a8l2nzyb3hURVUtpnr7YhjRnY67fhqZsIi3dF7jRCvOXzZB4uTFMb29uf3W0_bOJnP4139IuO7HplY8Jm0DSHB9T8TzPPaFN9UxrvU=@proton.me
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

Toggle diff (129 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 0/7] gnu: Add yabridgectl
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1698830150.git.sughosha@disroot.org
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 1/7] gnu: Add rust-rustyline-derive-0.6.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
218baa416bbda676f6f2ec6c83c8011e8fbdb93e.1698830150.git.sughosha@disroot.org
* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 2/7] gnu: rust-rustyline-9: Update to 9.1.2.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
41ecf1bfd07cfa6514199058a4761accf45985b3.1698830150.git.sughosha@disroot.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(-)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 3/7] gnu: Add rust-promptly.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
d81c776685643c015e8c9e252ebda3ec21af97b2.1698830150.git.sughosha@disroot.org
* gnu/packages/crates-io.scm (rust-promptly-0.3): New variable.
---
gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 4/7] gnu: Add rust-reflink-0.1.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
3e42668a8161aa060e8d5703577b819c85381af7.1698830150.git.sughosha@disroot.org
* 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

Toggle diff (80 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 5/7] gnu: Add rust-ryu-0.2.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
40bae1b6b544fcc85a6a6dfa034d398399c12541.1698830150.git.sughosha@disroot.org
* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
gnu/packages/crates-io.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 6/7] gnu: Add rust-serde-jsonrc-0.1.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
150327886b83c8ea44c645fe9b981ba02367ad97.1698830150.git.sughosha@disroot.org
* gnu/packages/crates-io.scm (rust-serde-jsonrc-0.1): New variable.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:19
[PATCH v4 7/7] gnu: Add yabridgectl.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cec5f1b122632f1b7e84a55647013d689b0ebcce.1698830150.git.sughosha@disroot.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.

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

Toggle diff (129 lines)
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
S
S
Sughosha wrote on 1 Nov 2023 10:24
(address . control@debbugs.gnu.org)
BC29CF01-11F4-40F4-A32D-7B255814EAD7@disroot.org
merge 66870 63065
quit
Attachment: file
S
S
Sughosha wrote on 1 Nov 2023 10:28
(address . control@debbugs.gnu.org)
DE46F1CE-E15D-424A-BFF8-2FCFD2870356@disroot.org
retitle 63065 [PATCH v4 0/7] gnu: Add yabridgectl.
quit
Attachment: file
S
S
sughosha wrote on 8 Nov 2023 15:22
(address . control@debbugs.gnu.org)
4a157948b5ac0ca4293ff61b80a91ef8@disroot.org
unmerge 63065

quit
Attachment: file
S
S
Sughosha wrote on 30 Nov 2023 11:56
[PATCH v5 0/7] gnu: Add yabridgectl.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1701341706.git.sughosha@disroot.org
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
S
S
Sughosha wrote on 30 Nov 2023 11:57
[PATCH v5 2/7] gnu: rust-rustyline-9: Update to 9.1.2.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
132bdda71ef30aa05f1ed4f2d972ea55685b8f5f.1701341707.git.sughosha@disroot.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(-)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 30 Nov 2023 11:57
[PATCH v5 1/7] gnu: Add rust-rustyline-derive-0.6.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
91c4f9c6b576ef409657c9001fa09b95948100cc.1701341706.git.sughosha@disroot.org
* gnu/packages/crates-io.scm (rust-rustyline-derive-0.6): New variable.
---
gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
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
S
S
Sughosha wrote on 30 Nov 2023 11:57
[PATCH v5 3/7] gnu: Add rust-promptly-0.3.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
2acb59e74c9864411b2ba784d6902f693a770105.1701341707.git.sughosha@disroot.org
* 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(+)

Toggle diff (34 lines)
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
S
S
Sughosha wrote on 30 Nov 2023 11:57
[PATCH v5 4/7] gnu: Add rust-reflink-0.1.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
0dae3d385df35a5e55f64d3b7f89d8e6631671e2.1701341707.git.sughosha@disroot.org
* 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

Toggle diff (80 lines)
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
S
S
Sughosha wrote on 30 Nov 2023 11:57
[PATCH v5 7/7] gnu: Add yabridgectl.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
f782456564b2e1aef78c35f9310279b6ac95ffa0.1701341707.git.sughosha@disroot.org
* gnu/packages/audio.scm (yabridgectl): New variable.

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

Toggle diff (87 lines)
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
S
S
Sughosha wrote on 30 Nov 2023 11:57
[PATCH v5 6/7] gnu: Add rust-serde-jsonrc-0.1.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
a2df22ef2b9fb85dc4b299eaaaf6a7b4a0273e56.1701341707.git.sughosha@disroot.org
* 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(+)

Toggle diff (42 lines)
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
S
S
Sughosha wrote on 30 Nov 2023 11:57
[PATCH v5 5/7] gnu: Add rust-ryu-0.2.
(address . 63065@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
7c4cbea39203cf7201a176fa5a6b350636d62297.1701341707.git.sughosha@disroot.org
* gnu/packages/crates-io.scm (rust-ryu-0.2): New variable.
---
gnu/packages/crates-io.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
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
S
S
Sughosha wrote on 30 Nov 2023 13:06
(address . control@debbugs.gnu.org)
B5CB9402-59BE-475C-AE2D-D33C0DF0741E@disroot.org
retitle 63065 gnu: Add yabridgectl.
quit
Attachment: file
?