[gnome-build-meta/alatiera/3-36-7: 3/4] gnome-shell: add a private version of newer pulseaudio
- From: Jordan Petridis <jpetridis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-build-meta/alatiera/3-36-7: 3/4] gnome-shell: add a private version of newer pulseaudio
- Date: Fri, 9 Oct 2020 11:20:44 +0000 (UTC)
commit 3d6dcbe0bb74c3e515c34fa84dd1711b81f83c7c
Author: Jordan Petridis <jpetridis gnome org>
Date: Fri Oct 9 13:22:52 2020 +0300
gnome-shell: add a private version of newer pulseaudio
3.36.7 bumped the required version of pulseaudio,
from the gvc submodule in order to avoid a deadlock under
Xwayland.
The 19.08 version of fd.o-sdk sadly only inclues v12.2 of pulseaudio,
so we need to bring in a private copy so we can built the shell, as
its not worth reverting the gvc commit as pulse's behavior is
broken.
The pulse elements added are adapted copies from the ones in
fd.o-sdk 20.08. We could have got away with a single element
but its simpler imo to copy-paste. There are only a couple months
left in the supported lifepsan of 3.36 branch.
Thankfully we don't produce a vm image for 3.36, as it would
have been half broken linking half things against pulse v12
and shell against v13. So we can get away with just having
succesful builds. Downstreams are encouraged to upgrade
to pulse 13 or later.
See:
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3250
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/693
elements/core-deps.bst | 2 +
elements/core-deps/libpulse-13.bst | 39 +++++++++++++++++
elements/core-deps/pulseaudio-base-13.bst | 71 +++++++++++++++++++++++++++++++
elements/core/gnome-shell.bst | 1 +
4 files changed, 113 insertions(+)
---
diff --git a/elements/core-deps.bst b/elements/core-deps.bst
index 11b5ced2..321a779b 100644
--- a/elements/core-deps.bst
+++ b/elements/core-deps.bst
@@ -82,6 +82,7 @@ depends:
- core-deps/liboauth.bst
- core-deps/libosinfo.bst
- core-deps/libpeas.bst
+- core-deps/libpulse-13.bst
- core-deps/libqmi.bst
- core-deps/librest.bst
- core-deps/libsigcplusplus-2.0.bst
@@ -111,6 +112,7 @@ depends:
- core-deps/poppler.bst
- core-deps/portablexdr.bst
- core-deps/portaudio.bst
+- core-deps/pulseaudio-base-13.bst
- core-deps/ppp.bst
- core-deps/pyatspi2.bst
- core-deps/rpcsvc-proto.bst
diff --git a/elements/core-deps/libpulse-13.bst b/elements/core-deps/libpulse-13.bst
new file mode 100644
index 00000000..6dfe9822
--- /dev/null
+++ b/elements/core-deps/libpulse-13.bst
@@ -0,0 +1,39 @@
+kind: filter
+
+build-depends:
+- core-deps/pulseaudio-base-13.bst
+
+runtime-depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:components/fftw.bst
+- freedesktop-sdk.bst:components/gdbm.bst
+- freedesktop-sdk.bst:components/libtool.bst
+- freedesktop-sdk.bst:components/orc.bst
+- freedesktop-sdk.bst:components/sndfile.bst
+- freedesktop-sdk.bst:components/speexdsp.bst
+- freedesktop-sdk.bst:components/webrtc-audio-processing.bst
+- freedesktop-sdk.bst:components/xorg-lib-ice.bst
+- freedesktop-sdk.bst:components/xorg-lib-sm.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcb.bst
+- freedesktop-sdk.bst:components/xorg-lib-xtst.bst
+- sdk/glib.bst
+
+public:
+ bst:
+ # allow overlap to avoid rebuilding sdk/canberra and affecting the sdk,
+ # we only want the shell to build
+ overlap-whitelist:
+ - '**'
+ split-rules:
+ devel:
+ (>):
+ - '%{libdir}/libpulse.so'
+ - '%{libdir}/libpulse-simple.so'
+ - '%{libdir}/libpulse-mainloop-glib.so'
+
+config:
+ include:
+ - libpulse
+ include-orphans: False
+
diff --git a/elements/core-deps/pulseaudio-base-13.bst b/elements/core-deps/pulseaudio-base-13.bst
new file mode 100644
index 00000000..1c73a8ae
--- /dev/null
+++ b/elements/core-deps/pulseaudio-base-13.bst
@@ -0,0 +1,71 @@
+kind: meson
+
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
+- freedesktop-sdk.bst:components/git-minimal.bst
+- freedesktop-sdk.bst:components/m4.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:components/systemd.bst
+
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- freedesktop-sdk.bst:components/alsa-lib.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:components/fftw.bst
+- freedesktop-sdk.bst:components/gdbm.bst
+- freedesktop-sdk.bst:components/libtool.bst
+- freedesktop-sdk.bst:components/orc.bst
+- freedesktop-sdk.bst:components/sndfile.bst
+- freedesktop-sdk.bst:components/speexdsp.bst
+- freedesktop-sdk.bst:components/webrtc-audio-processing.bst
+- freedesktop-sdk.bst:components/xorg-lib-ice.bst
+- freedesktop-sdk.bst:components/xorg-lib-sm.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcb.bst
+- freedesktop-sdk.bst:components/xorg-lib-xtst.bst
+- freedesktop-sdk.bst:components/bluez.bst
+- freedesktop-sdk.bst:components/sbc.bst
+- sdk/glib.bst
+- sdk/gtk+-3.bst
+
+variables:
+ meson-local: >-
+ -Dasyncns=disabled
+ -Davahi=disabled
+ -Dbluez5=true
+ -Ddatabase=gdbm
+ -Dfftw=disabled
+ -Dgtk=enabled
+ -Djack=disabled
+ -Dlirc=disabled
+ -Dsoxr=disabled
+ -Dsystemd=enabled
+ -Dtests=false
+ -Dudev=enabled
+ -Dudevrulesdir=$(pkg-config --variable=udevdir udev)/rules.d
+
+public:
+ bst:
+ split-rules:
+ libpulse:
+ - '%{debugdir}/**'
+ - '%{includedir}/**'
+ - '%{libdir}/cmake/**'
+ - '%{libdir}/pkgconfig/**'
+ - '%{libdir}/pulseaudio/lib*.so*'
+ - '%{libdir}/lib*.so*'
+ - '%{bindir}/pacat'
+ - '%{bindir}/pacmd'
+ - '%{bindir}/pactl'
+ - '%{bindir}/padsp'
+ - '%{bindir}/pa-info'
+ - '%{bindir}/pamon'
+ - '%{bindir}/paplay'
+ - '%{bindir}/parec'
+ - '%{bindir}/parecord'
+ - '%{bindir}/pax11publish'
+ - '%{sysconfdir}/pulse/client.conf'
+
+sources:
+- kind: tar
+ url: https://freedesktop.org/software/pulseaudio/releases/pulseaudio-13.0.tar.xz
+ ref: 961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057
diff --git a/elements/core/gnome-shell.bst b/elements/core/gnome-shell.bst
index 39b9aaaf..90139d0f 100644
--- a/elements/core/gnome-shell.bst
+++ b/elements/core/gnome-shell.bst
@@ -35,6 +35,7 @@ depends:
- sdk/gst-plugins-base.bst
- sdk/gtk+-3.bst
- sdk/libsoup.bst
+- core-deps/libpulse-13.bst
- freedesktop-sdk.bst:components/gstreamer.bst
- freedesktop-sdk.bst:bootstrap-import.bst
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]