From 89a0a90506c7de8f89b3cdb376fbe838dad5a67d Mon Sep 17 00:00:00 2001 From: Anthony Thompson Date: Sun, 2 Oct 2022 11:42:02 +1100 Subject: [PATCH 1/6] New package: yabridge-4.0.2 --- .../yabridge/patches/wine-version-check.diff | 11 ++++++ srcpkgs/yabridge/template | 39 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 srcpkgs/yabridge/patches/wine-version-check.diff create mode 100644 srcpkgs/yabridge/template 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..1fd9e60bb609 --- /dev/null +++ b/srcpkgs/yabridge/template @@ -0,0 +1,39 @@ +# Template file for 'yabridge' +pkgname=yabridge +version=4.0.2 +revision=1 +archs="x86_64" +build_style=meson +hostmakedepends="ninja 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")" +short_desc="Use Windows 32bit and 64bit VST2 and VST3 plugins in Linux 64bit host" +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="with_32bit" +build_options_default="with_32bit" + +do_configure() { + cd ${wrksrc} + meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000 $(vopt_if with_32bit "-Dbitbridge=true") +} + +do_build() { + ninja -C build/ +} + +do_install() { + cd ${wrksrc}/build + vbin yabridge-host.exe + vbin yabridge-host.exe.so + vopt_if with_32bit vbin yabridge-host-32.exe.so + vopt_if with_32bit vbin yabridge-host-32.exe + 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 +} From cfc120e34a1006515f6e9270fb60e4406c287671 Mon Sep 17 00:00:00 2001 From: Anthony Thompson Date: Mon, 24 Oct 2022 11:14:19 +1100 Subject: [PATCH 2/6] testing musl patches --- srcpkgs/yabridge/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/yabridge/template b/srcpkgs/yabridge/template index 1fd9e60bb609..0a3143e13fdb 100644 --- a/srcpkgs/yabridge/template +++ b/srcpkgs/yabridge/template @@ -2,7 +2,7 @@ pkgname=yabridge version=4.0.2 revision=1 -archs="x86_64" +#archs="" build_style=meson hostmakedepends="ninja 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")" @@ -14,7 +14,7 @@ homepage="https://github.com/robbert-vdh/yabridge" distfiles="https://github.com/robbert-vdh/yabridge/archive/refs/tags/${version}.tar.gz" checksum=86fcd65b6f3dd5cf60c2afa476f63959a2cc4ef4d4629810916739d7af645f01 build_options="with_32bit" -build_options_default="with_32bit" +build_options_default="~wiith_32bit" do_configure() { cd ${wrksrc} From 9de12967f46c396c87e37d8c353646ecf2266213 Mon Sep 17 00:00:00 2001 From: Anthony Thompson Date: Thu, 27 Oct 2022 08:22:07 +1100 Subject: [PATCH 3/6] fixed yabridge-host copying --- .../patches/01-rtlimit_rttime-musl-fix.patch | 39 +++++++++++++++++++ srcpkgs/yabridge/template | 39 ++++++++++++++----- 2 files changed, 69 insertions(+), 9 deletions(-) create mode 100644 srcpkgs/yabridge/patches/01-rtlimit_rttime-musl-fix.patch 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/template b/srcpkgs/yabridge/template index 0a3143e13fdb..21f5e50a15d3 100644 --- a/srcpkgs/yabridge/template +++ b/srcpkgs/yabridge/template @@ -4,9 +4,16 @@ version=4.0.2 revision=1 #archs="" build_style=meson -hostmakedepends="ninja 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")" + +if [ $XBPS_MACHINE = "i686" ]; then + hostmakedepends="ninja pkg-config cmake git" + makedepends="wine-tools wine-devel libxcb-devel libxcb" + depends="wine" + else + hostmakedepends="ninja 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")" +fi short_desc="Use Windows 32bit and 64bit VST2 and VST3 plugins in Linux 64bit host" maintainer="Anthony Thompson " license="GPL-3.0-or-later" @@ -14,11 +21,16 @@ homepage="https://github.com/robbert-vdh/yabridge" distfiles="https://github.com/robbert-vdh/yabridge/archive/refs/tags/${version}.tar.gz" checksum=86fcd65b6f3dd5cf60c2afa476f63959a2cc4ef4d4629810916739d7af645f01 build_options="with_32bit" -build_options_default="~wiith_32bit" +build_options_default="wiith_32bit" + do_configure() { cd ${wrksrc} - meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000 $(vopt_if with_32bit "-Dbitbridge=true") + 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() { @@ -27,10 +39,19 @@ do_build() { do_install() { cd ${wrksrc}/build - vbin yabridge-host.exe - vbin yabridge-host.exe.so - vopt_if with_32bit vbin yabridge-host-32.exe.so - vopt_if with_32bit vbin yabridge-host-32.exe + if [ $XBPS_MACHINE = "x86_64" ]; then + vbin yabridge-host.exe + vbin yabridge-host.exe.so + echo -n "Copied host 64 files" + if [ $(vopt_if with_32bit true false) = "true" ]; then + vbin yabridge-host-32.exe.so + vbin yabridge-host-32.exe + echo -n "copied host 32 files" + 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 From f26cb1a770335b088ad1c8bf3f50f06ad491cea4 Mon Sep 17 00:00:00 2001 From: Anthony Thompson Date: Thu, 27 Oct 2022 19:08:35 +1100 Subject: [PATCH 4/6] Working.. needs subpac --- srcpkgs/yabridge/template | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/srcpkgs/yabridge/template b/srcpkgs/yabridge/template index 21f5e50a15d3..3fa7ee3f1c3e 100644 --- a/srcpkgs/yabridge/template +++ b/srcpkgs/yabridge/template @@ -5,7 +5,7 @@ revision=1 #archs="" build_style=meson -if [ $XBPS_MACHINE = "i686" ]; then +if [ $XBPS_MACHINE = "i686" ] || [ $XBPS_MACHINE = "x86_64-musl" ]; then hostmakedepends="ninja pkg-config cmake git" makedepends="wine-tools wine-devel libxcb-devel libxcb" depends="wine" @@ -21,7 +21,7 @@ homepage="https://github.com/robbert-vdh/yabridge" distfiles="https://github.com/robbert-vdh/yabridge/archive/refs/tags/${version}.tar.gz" checksum=86fcd65b6f3dd5cf60c2afa476f63959a2cc4ef4d4629810916739d7af645f01 build_options="with_32bit" -build_options_default="wiith_32bit" +build_options_default="with_32bit" do_configure() { @@ -39,18 +39,18 @@ do_build() { do_install() { cd ${wrksrc}/build - if [ $XBPS_MACHINE = "x86_64" ]; then + if [ $XBPS_MACHINE = "x86_64-musl" ] || [ $XBPS_MACHINE = "x86_64" ]; then vbin yabridge-host.exe vbin yabridge-host.exe.so - echo -n "Copied host 64 files" - if [ $(vopt_if with_32bit true false) = "true" ]; then + if [ [ $(vopt_if with_32bit true false) = "true" ] && [ $XBPS_LIBC = "glibc"] ]; then + echo -n " GLIBC\***************888" vbin yabridge-host-32.exe.so vbin yabridge-host-32.exe - echo -n "copied host 32 files" fi else vbin yabridge-host-32.exe.so vbin yabridge-host-32.exe + echo -n "Coping 32bit hosts" fi vmkdir usr/lib vcopy libyabridge-chainloader-vst2.so /usr/lib From cf223e763685929093acb04a39aa9bf85f549ee9 Mon Sep 17 00:00:00 2001 From: Anthony Thompson Date: Thu, 27 Oct 2022 19:10:56 +1100 Subject: [PATCH 5/6] more fixes --- srcpkgs/yabridge/template | 35 ++++++++++++++++++++++++++++++----- srcpkgs/yabridgectl | 1 + 2 files changed, 31 insertions(+), 5 deletions(-) create mode 120000 srcpkgs/yabridgectl diff --git a/srcpkgs/yabridge/template b/srcpkgs/yabridge/template index 3fa7ee3f1c3e..6eea56a56ee5 100644 --- a/srcpkgs/yabridge/template +++ b/srcpkgs/yabridge/template @@ -2,17 +2,27 @@ pkgname=yabridge version=4.0.2 revision=1 -#archs="" +archs="i686* x86_64*" build_style=meson +<<<<<<< HEAD if [ $XBPS_MACHINE = "i686" ] || [ $XBPS_MACHINE = "x86_64-musl" ]; then hostmakedepends="ninja pkg-config cmake git" +======= +if [ $XBPS_MACHINE = "i686" ]; then + hostmakedepends="ninja pkg-config cmake git cargo" +>>>>>>> yabridge-sub makedepends="wine-tools wine-devel libxcb-devel libxcb" - depends="wine" - else - hostmakedepends="ninja pkg-config cmake git $(vopt_if with_32bit "gcc-multilib")" + 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")" + depends="wine $(vopt_if with_32bit "wine-32bit") yabridgectl" + else + hostmakedepends="ninja cargo pkg-config cmake git" + makedepends="wine-tools wine-devel libxcb-devel libxcb" + depends="wine yabridgectl" +# fi fi short_desc="Use Windows 32bit and 64bit VST2 and VST3 plugins in Linux 64bit host" maintainer="Anthony Thompson " @@ -23,6 +33,14 @@ checksum=86fcd65b6f3dd5cf60c2afa476f63959a2cc4ef4d4629810916739d7af645f01 build_options="with_32bit" build_options_default="with_32bit" +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} @@ -35,6 +53,8 @@ do_configure() { do_build() { ninja -C build/ + cd ${wrksrc}/tools/yabridgectl + cargo build --release } do_install() { @@ -46,7 +66,12 @@ do_install() { echo -n " GLIBC\***************888" vbin yabridge-host-32.exe.so vbin yabridge-host-32.exe +<<<<<<< HEAD fi +======= + echo -n "copied host 32 files" + fi +>>>>>>> yabridge-sub else vbin yabridge-host-32.exe.so vbin yabridge-host-32.exe 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 From 2aa6aaade8f2c03188cf04b4d92e895e9c209358 Mon Sep 17 00:00:00 2001 From: Anthony Thompson Date: Thu, 27 Oct 2022 19:46:01 +1100 Subject: [PATCH 6/6] sub package added --- srcpkgs/yabridge/template | 43 ++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/srcpkgs/yabridge/template b/srcpkgs/yabridge/template index 6eea56a56ee5..1f35910a3e93 100644 --- a/srcpkgs/yabridge/template +++ b/srcpkgs/yabridge/template @@ -5,25 +5,6 @@ revision=1 archs="i686* x86_64*" build_style=meson -<<<<<<< HEAD -if [ $XBPS_MACHINE = "i686" ] || [ $XBPS_MACHINE = "x86_64-musl" ]; then - hostmakedepends="ninja pkg-config cmake git" -======= -if [ $XBPS_MACHINE = "i686" ]; then - hostmakedepends="ninja pkg-config cmake git cargo" ->>>>>>> yabridge-sub - 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" - else - hostmakedepends="ninja cargo pkg-config cmake git" - makedepends="wine-tools wine-devel libxcb-devel libxcb" - depends="wine yabridgectl" -# fi -fi short_desc="Use Windows 32bit and 64bit VST2 and VST3 plugins in Linux 64bit host" maintainer="Anthony Thompson " license="GPL-3.0-or-later" @@ -33,6 +14,22 @@ checksum=86fcd65b6f3dd5cf60c2afa476f63959a2cc4ef4d4629810916739d7af645f01 build_options="with_32bit" build_options_default="with_32bit" +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" +# else +# hostmakedepends="ninja cargo pkg-config cmake git" +# makedepends="wine-tools wine-devel libxcb-devel libxcb" +# depends="wine yabridgectl" + +fi + yabridgectl_package() { shortdesc+="Utility to setup and manage yabridge" depends="${sourcepkg}" @@ -63,15 +60,9 @@ do_install() { vbin yabridge-host.exe vbin yabridge-host.exe.so if [ [ $(vopt_if with_32bit true false) = "true" ] && [ $XBPS_LIBC = "glibc"] ]; then - echo -n " GLIBC\***************888" vbin yabridge-host-32.exe.so - vbin yabridge-host-32.exe -<<<<<<< HEAD - fi -======= - echo -n "copied host 32 files" + vbin yabridge-host-32.exe fi ->>>>>>> yabridge-sub else vbin yabridge-host-32.exe.so vbin yabridge-host-32.exe