diff --git a/srcpkgs/helvum/patches/i686-pipewire.patch b/srcpkgs/helvum/patches/i686-pipewire.patch new file mode 100644 index 0000000000..17f0f17f88 --- /dev/null +++ b/srcpkgs/helvum/patches/i686-pipewire.patch @@ -0,0 +1,24 @@ +From e8703de1c76f50553cedb7a1601e5b808a227604 Mon Sep 17 00:00:00 2001 +From: "Gabor Kecskemeti (sh)" +Date: Thu, 11 Nov 2021 11:41:09 +0000 +Subject: A possible fix for issue #27 + +--- + pipewire/src/loop_.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/helvum-0.3.4/pipewire/src/loop_.rs b/helvum-0.3.4/pipewire/src/loop_.rs +index 3e0d9bd..353025f 100644 +--- a/helvum-0.3.4/pipewire/src/loop_.rs ++++ b/helvum-0.3.4/pipewire/src/loop_.rs +@@ -411,7 +411,7 @@ where + fn duration_to_timespec(duration: Duration) -> spa_sys::timespec { + spa_sys::timespec { + tv_sec: duration.as_secs().try_into().expect("Duration too long"), +- tv_nsec: duration.subsec_nanos().into(), ++ tv_nsec: duration.subsec_nanos().try_into().unwrap(), + } + } + +-- + diff --git a/srcpkgs/helvum/template b/srcpkgs/helvum/template new file mode 100644 index 0000000000..49ad2dd601 --- /dev/null +++ b/srcpkgs/helvum/template @@ -0,0 +1,46 @@ +# Template file for 'helvum' +pkgname=helvum +version=0.3.4 +revision=1 +create_wrksrc=yes +build_wrksrc="${pkgname}-${version}" +_pipewire_rs_version=0.4.1 +build_style=cargo +build_helper=rust +hostmakedepends="pkg-config clang libclang" +makedepends="gtk4-devel pipewire-devel glib-devel" +depends="pipewire" +short_desc="GTK patchbay for pipewire" +maintainer="classabbyamp " +license="GPL-3.0-only" +homepage="https://gitlab.freedesktop.org/pipewire/helvum" +distfiles="https://gitlab.freedesktop.org/pipewire/helvum/-/archive/${version}/helvum-${version}.tar.gz + https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/archive/v${_pipewire_rs_version}/pipewire-rs-v${_pipewire_rs_version}.tar.gz" +checksum="e19054f3bcd1ba234c451134fe7f4c6afee35f108c122642c1d502fc16785c02 + 7df384c2a98154ae2cea8e14693db92e269437ea60fbcdfb6adb589226d12629" + +# XXX: this should not be necessary once the next version of the pipewire crate has been released +post_extract() { + pushd $build_wrksrc + echo "[patch.crates-io]" >> Cargo.toml + for crate in pipewire pipewire-sys libspa libspa-sys; do + mv ../pipewire-rs-*/$crate $crate + echo "$crate = { path = './$crate' }" >> Cargo.toml + done + popd +} + +post_install() { + # Normally, meson would do this, but it's simpler to use the cargo build style and do this manually + # This also avoids the need for makedeps/build steps that are made unnecessary by xbps' hooks + # On update, all meson.build files should be checked for changes + _app_id='org.pipewire.Helvum' + vinstall data/icons/$_app_id.svg 644 usr/share/icons/hicolor/scalable/apps/ + vinstall data/icons/$_app_id-symbolic.svg 644 usr/share/icons/hicolor/symbolic/apps/ + + vsed -i data/$_app_id.desktop.in -e "s/@icon@/$_app_id/" + vinstall data/$_app_id.desktop.in 644 usr/share/applications/ $_app_id.desktop + + vsed -i data/$_app_id.metainfo.xml.in -e "s/@app-id@/$_app_id/" + vinstall data/$_app_id.metainfo.xml.in 644 usr/share/metainfo/ $_app_id.metainfo.xml +}