-after updating to poky master i get issues picking the right udev provider
-add a backport patch to fix libsdl2 build with pipewire enabled
-allow native/nativesdk build

Signed-off-by: Markus Volk <f_...@t-online.de>
---
 .../0001-spa-fix-c90-header-include.patch     | 47 +++++++++++++++++++
 .../pipewire/pipewire_0.3.50.bb               | 16 +++++--
 2 files changed, 58 insertions(+), 5 deletions(-)
 create mode 100644 
meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch

diff --git 
a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch
 
b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch
new file mode 100644
index 000000000..ad6448a10
--- /dev/null
+++ 
b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch
@@ -0,0 +1,47 @@
+From d3ea3142e1a4de206e616bc18f63a529e6b4986a Mon Sep 17 00:00:00 2001
+From: psykose <al...@ayaya.dev>
+Date: Wed, 13 Apr 2022 21:57:49 +0000
+Subject: [PATCH 001/154] spa: fix c90 header include
+
+placing declarations after code is invalid under ISO c90
+
+Fixes !1211
+
+Patch-Status: Backport
+---
+ spa/include/spa/utils/string.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/spa/include/spa/utils/string.h b/spa/include/spa/utils/string.h
+index e80434537..43d19616c 100644
+--- a/spa/include/spa/utils/string.h
++++ b/spa/include/spa/utils/string.h
+@@ -276,10 +276,11 @@ static inline int spa_scnprintf(char *buffer, size_t 
size, const char *format, .
+ static inline float spa_strtof(const char *str, char **endptr)
+ {
+       static locale_t locale = NULL;
++      locale_t prev;
+       float v;
+       if (SPA_UNLIKELY(locale == NULL))
+               locale = newlocale(LC_ALL_MASK, "C", NULL);
+-      locale_t prev = uselocale(locale);
++      prev = uselocale(locale);
+       v = strtof(str, endptr);
+       uselocale(prev);
+       return v;
+@@ -319,10 +320,11 @@ static inline bool spa_atof(const char *str, float *val)
+ static inline double spa_strtod(const char *str, char **endptr)
+ {
+       static locale_t locale = NULL;
++      locale_t prev;
+       double v;
+       if (SPA_UNLIKELY(locale == NULL))
+               locale = newlocale(LC_ALL_MASK, "C", NULL);
+-      locale_t prev = uselocale(locale);
++      prev = uselocale(locale);
+       v = strtod(str, endptr);
+       uselocale(prev);
+       return v;
+-- 
+2.25.1
+
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb 
b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
index 0d725b9ee..850c5a7c8 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
@@ -14,7 +14,10 @@ LIC_FILES_CHKSUM = " \
 DEPENDS = "dbus ncurses"
 
 SRCREV = "64cf5e80e6240284e6b757907b900507fe56f1b5"
-SRC_URI = 
"git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
+SRC_URI = " \
+       
git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https 
\
+       file://0001-spa-fix-c90-header-include.patch \
+"
 
 S = "${WORKDIR}/git"
 
@@ -76,13 +79,14 @@ PACKAGECONFIG ??= "\
     ${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)} \
     gstreamer jack libusb pw-cat raop sndfile v4l2 \
 "
+UDEV_PROVIDER = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 
'eudev', d)}"
 
 # "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
 # since "jack" imports libjack, and "pipewire-jack" generates
 # libjack.so* files, thus colliding with the libpack package. This
 # is why these two are marked in their respective packageconfigs
 # as being in conflict.
-PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev"
+PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib 
${UDEV_PROVIDER}"
 PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
 PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
 PACKAGECONFIG[bluez-aac] = 
"-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
@@ -100,13 +104,13 @@ PACKAGECONFIG[raop] = 
"-Draop=enabled,-Draop=disabled,openssl"
 PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
 PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
 PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
-PACKAGECONFIG[systemd-system-service] = 
"-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
+PACKAGECONFIG[systemd-system-service] = 
"-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled"
 # "systemd-user-service" packageconfig will only install service
 # files to rootfs but not enable them as systemd.bbclass
 # currently lacks the feature of enabling user services.
-PACKAGECONFIG[systemd-user-service] = 
"-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd"
+PACKAGECONFIG[systemd-user-service] = 
"-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled"
 # pw-cat needs sndfile packageconfig to be enabled
-PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
+PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,${UDEV_PROVIDER}"
 PACKAGECONFIG[webrtc-echo-cancelling] = 
"-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing"
 
 PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
@@ -335,3 +339,5 @@ FILES:${PN}-v4l2 += " \
 FILES:gstreamer1.0-pipewire = " \
     ${libdir}/gstreamer-1.0/* \
 "
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.25.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#97212): 
https://lists.openembedded.org/g/openembedded-devel/message/97212
Mute This Topic: https://lists.openembedded.org/mt/91230094/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to