Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Re: pipewire/helvum build fails on i386
To:
Antoine Jacoutot <ajacoutot@bsdfrog.org>, ports <ports@openbsd.org>
Date:
Tue, 9 Jan 2024 12:22:12 +0100

Download raw body.

Thread
On Tue, Jan 09, 2024 at 10:59:43AM +0000, Stuart Henderson wrote:
> helvum doesn't build on i386, error below, full log attached.

Could you try this?

https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/commit/ff923ee9dfe05ac50a137252ca45ac4361016360

Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/pipewire/helvum/Makefile,v
diff -u -p -r1.9 Makefile
--- Makefile	12 Nov 2023 16:14:25 -0000	1.9
+++ Makefile	9 Jan 2024 11:20:05 -0000
@@ -2,7 +2,7 @@ COMMENT=		GTK patchbay for pipewire
 
 PW_PROJECT=		helvum
 PW_VERSION=		0.5.1
-REVISION=		2
+REVISION=		3
 
 WANTLIB += ${MODCARGO_WANTLIB} adwaita-1 cairo epoll-shim gio-2.0
 WANTLIB += glib-2.0 gobject-2.0 graphene-1.0 gtk-4 pipewire-0.3
Index: patches/patch-modcargo-crates_libspa-0_7_2_src_pod_parser_rs
===================================================================
RCS file: patches/patch-modcargo-crates_libspa-0_7_2_src_pod_parser_rs
diff -N patches/patch-modcargo-crates_libspa-0_7_2_src_pod_parser_rs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-modcargo-crates_libspa-0_7_2_src_pod_parser_rs	9 Jan 2024 11:19:15 -0000
@@ -0,0 +1,38 @@
+https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/commit/ff923ee9dfe05ac50a137252ca45ac4361016360
+
+Index: modcargo-crates/libspa-0.7.2/src/pod/parser.rs
+--- modcargo-crates/libspa-0.7.2/src/pod/parser.rs.orig
++++ modcargo-crates/libspa-0.7.2/src/pod/parser.rs
+@@ -2,7 +2,7 @@
+ // SPDX-License-Identifier: MIT
+ 
+ use std::{
+-    ffi::{c_char, c_double, c_float, c_int, c_long, c_void, CStr},
++    ffi::{c_char, c_double, c_float, c_void, CStr},
+     marker::PhantomData,
+     mem::MaybeUninit,
+ };
+@@ -162,9 +162,9 @@ impl<'d> Parser<'d> {
+         }
+     }
+ 
+-    pub fn get_int(&mut self) -> Result<c_int, Errno> {
++    pub fn get_int(&mut self) -> Result<i32, Errno> {
+         unsafe {
+-            let mut int: MaybeUninit<c_int> = MaybeUninit::uninit();
++            let mut int: MaybeUninit<i32> = MaybeUninit::uninit();
+             let res = spa_sys::spa_pod_parser_get_int(self.as_raw_ptr(), int.as_mut_ptr());
+             if res >= 0 {
+                 Ok(int.assume_init())
+@@ -174,9 +174,9 @@ impl<'d> Parser<'d> {
+         }
+     }
+ 
+-    pub fn get_long(&mut self) -> Result<c_long, Errno> {
++    pub fn get_long(&mut self) -> Result<i64, Errno> {
+         unsafe {
+-            let mut long: MaybeUninit<c_long> = MaybeUninit::uninit();
++            let mut long: MaybeUninit<i64> = MaybeUninit::uninit();
+             let res = spa_sys::spa_pod_parser_get_long(self.as_raw_ptr(), long.as_mut_ptr());
+             if res >= 0 {
+                 Ok(long.assume_init())