[gnome-build-meta/alatiera/3-36-7: 2/3] gnome-shell: add a private version of newer pulseaudio




commit 7325e59c164901b824a1db791684f6ffc20c0c45
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]