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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 63065@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 63065
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch