From e82169a81fa5f2df42ca867cff2db47b50934515 Mon Sep 17 00:00:00 2001 From: Anthony Thompson Date: Sun, 2 Oct 2022 11:42:02 +1100 Subject: [PATCH] New package: yabridge-4.0.2 --- .../patches/01-rtlimit_rttime-musl-fix.patch | 39 ++++++++++ .../yabridge/patches/wine-version-check.diff | 11 +++ srcpkgs/yabridge/template | 75 +++++++++++++++++++ srcpkgs/yabridgectl | 1 + 4 files changed, 126 insertions(+) create mode 100644 srcpkgs/yabridge/patches/01-rtlimit_rttime-musl-fix.patch create mode 100644 srcpkgs/yabridge/patches/wine-version-check.diff create mode 100644 srcpkgs/yabridge/template create mode 120000 srcpkgs/yabridgectl diff --git a/srcpkgs/yabridge/patches/01-rtlimit_rttime-musl-fix.patch b/srcpkgs/yabridge/patches/01-rtlimit_rttime-musl-fix.patch new file mode 100644 index 000000000000..f8916369060b --- /dev/null +++ b/srcpkgs/yabridge/patches/01-rtlimit_rttime-musl-fix.patch @@ -0,0 +1,39 @@ +From 616df46cb6f4e73efa9db524957765f28a6b713d Mon Sep 17 00:00:00 2001 +From: Anthony Thompson +Date: Mon, 24 Oct 2022 11:37:59 +1100 +Subject: [PATCH] fix RTLIMIT_RTTIME not in scope for musl + +--- + src/common/utils.cpp | 2 +- + src/wine-host/utils.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/common/utils.cpp b/src/common/utils.cpp +index c98e0d27..0de4c793 100644 +--- a/src/common/utils.cpp ++++ b/src/common/utils.cpp +@@ -17,7 +17,7 @@ + #include "utils.h" + + #include +- ++#include + #include + #include + +diff --git a/src/wine-host/utils.cpp b/src/wine-host/utils.cpp +index f1038174..d415ccde 100644 +--- a/src/wine-host/utils.cpp ++++ b/src/wine-host/utils.cpp +@@ -17,7 +17,7 @@ + #include "utils.h" + + #include +- ++#include + #include "bridges/common.h" + + using namespace std::literals::chrono_literals; +-- +2.38.1 + diff --git a/srcpkgs/yabridge/patches/wine-version-check.diff b/srcpkgs/yabridge/patches/wine-version-check.diff new file mode 100644 index 000000000000..86fae294d6c2 --- /dev/null +++ b/srcpkgs/yabridge/patches/wine-version-check.diff @@ -0,0 +1,11 @@ +--- a/meson.build 2022-06-27 23:54:16.000000000 +1000 ++++ b/meson.build 2022-10-03 11:53:08.442051982 +1100 +@@ -135,7 +135,7 @@ + # + # https://bugs.winehq.org/show_bug.cgi?id=49138 + wine_version = run_command( +- 'sh', '-c', '''wine --version | grep --only-matching -P '[0-9]+\.[0-9]+' | head -n1''', ++ 'sh', '-c', '''wine --version | grep --only-matching -E '[0-9]+\.[0-9]+' | head -n1''', + check : false + ) + if wine_version.returncode() == 0 diff --git a/srcpkgs/yabridge/template b/srcpkgs/yabridge/template new file mode 100644 index 000000000000..d44bd4be5b95 --- /dev/null +++ b/srcpkgs/yabridge/template @@ -0,0 +1,75 @@ +# Template file for 'yabridge' +pkgname=yabridge +version=4.0.2 +revision=1 +archs="i686* x86_64*" +build_style=meson + +short_desc="Use Windows 32bit and 64bit VST2 and VST3 plugins in Linux" +maintainer="Anthony Thompson " +license="GPL-3.0-or-later" +homepage="https://github.com/robbert-vdh/yabridge" +distfiles="https://github.com/robbert-vdh/yabridge/archive/refs/tags/${version}.tar.gz" +checksum=86fcd65b6f3dd5cf60c2afa476f63959a2cc4ef4d4629810916739d7af645f01 +build_options_default="with_32bit" +build_options="with_32bit" + +if [ $XBPS_MACHINE = "x86_64-musl" ]; then + build_options="~with_32bit" +fi + +if [ $XBPS_MACHINE = "i686" ] || [ $XBPS_MACHINE = "x86_64-musl" ]; then + hostmakedepends="ninja pkg-config cmake git cargo" + makedepends="wine-tools wine-devel libxcb-devel libxcb" + depends="wine yabridgectl" + + elif [ $XBPS_LIBC = "glibc" ]; then + hostmakedepends="ninja cargo pkg-config cmake git $(vopt_if with_32bit "gcc-multilib")" + makedepends="wine-tools wine-devel libxcb-devel libxcb $(vopt_if with_32bit "wine-devel-32bit") $(vopt_if with_32bit "libxcb-devel-32bit")" + depends="wine $(vopt_if with_32bit "wine-32bit") yabridgectl" + +fi + +yabridgectl_package() { + shortdesc+="Utility to setup and manage yabridge" + depends="${sourcepkg}" + pkg_install() { + cd ${wrksrc}/tools/yabridgectl/target/release + vbin yabridgectl + } +} + +do_configure() { + cd ${wrksrc} + if [ $XBPS_MACHINE = "i686" ]; then + meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000 -Dbitbridge=true -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32' + else + meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000 $(vopt_if with_32bit "-Dbitbridge=true") + fi +} + +do_build() { + ninja -C build/ + cd ${wrksrc}/tools/yabridgectl + cargo build --release +} + +do_install() { + cd ${wrksrc}/build + if [ $XBPS_MACHINE = "x86_64-musl" ] || [ $XBPS_MACHINE = "x86_64" ]; then + vbin yabridge-host.exe + vbin yabridge-host.exe.so + if [ [ $(vopt_if with_32bit true false) = "true" ] && [ $XBPS_LIBC = "glibc"] ]; then + vbin yabridge-host-32.exe.so + vbin yabridge-host-32.exe + fi + else + vbin yabridge-host-32.exe.so + vbin yabridge-host-32.exe + fi + vmkdir usr/lib + vcopy libyabridge-chainloader-vst2.so /usr/lib + vcopy libyabridge-vst2.so /usr/lib + vcopy libyabridge-chainloader-vst3.so /usr/lib + vcopy libyabridge-vst3.so /usr/lib +} diff --git a/srcpkgs/yabridgectl b/srcpkgs/yabridgectl new file mode 120000 index 000000000000..142ce41a5d93 --- /dev/null +++ b/srcpkgs/yabridgectl @@ -0,0 +1 @@ +yabridge/ \ No newline at end of file