diff options
author | Mart Raudsepp <leio@gentoo.org> | 2018-12-28 09:47:23 +0200 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2018-12-28 09:48:28 +0200 |
commit | 0dbf02ad82b088f6f71bb8d3dfbeedbf9d0ab85c (patch) | |
tree | 0dea6ebf2d868f381cbe821dc19d5ce579f4c0b4 /media-sound | |
parent | media-sound/paprefs: remove old (diff) | |
download | gentoo-0dbf02ad82b088f6f71bb8d3dfbeedbf9d0ab85c.tar.gz gentoo-0dbf02ad82b088f6f71bb8d3dfbeedbf9d0ab85c.tar.bz2 gentoo-0dbf02ad82b088f6f71bb8d3dfbeedbf9d0ab85c.zip |
media-sound/pulseaudio: remove old
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Package-Manager: Portage-2.3.52, Repoman-2.3.11
Diffstat (limited to 'media-sound')
-rw-r--r-- | media-sound/pulseaudio/Manifest | 1 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio-11.1-glibc-2.27.patch | 59 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-1.patch | 198 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-2.patch | 31 | ||||
-rw-r--r-- | media-sound/pulseaudio/metadata.xml | 14 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-11.1-r1.ebuild | 363 |
6 files changed, 2 insertions, 664 deletions
diff --git a/media-sound/pulseaudio/Manifest b/media-sound/pulseaudio/Manifest index 2dcd18e020a9..51ef3ffb0939 100644 --- a/media-sound/pulseaudio/Manifest +++ b/media-sound/pulseaudio/Manifest @@ -1,2 +1 @@ -DIST pulseaudio-11.1.tar.xz 1648924 BLAKE2B eea767efb6529436a6c2aa7d5ccaccdbda2338ad8db639ad333598b1589d259acf71ef34e904a240710f5343864fa868789eaa7f7cae1b07902ebd989fe83e12 SHA512 8863d8d7aede0d9a4d158e84e7bece91747c335f9ac98c7b21fafe76b762f8817e1125307aa46e561e540d2c40525e91f51a55ec34ac55d58fd5980199856a7a DIST pulseaudio-12.2.tar.xz 1665092 BLAKE2B 2e36efc5142c1e379cc2b135f4126f03a31831b26efe60f7cdf128af6e23fab25706a5609644d0b387530021055f87525fe60d527cd3a087f51bfd58e810644f SHA512 877754c1838b3cb042dbc18a5f1cc3cf313ffcaee7a64703330406d1f86279c34f1107634ac3083b158365e6757fbacf5ec406bc3c5788d291de67b77a561a4e diff --git a/media-sound/pulseaudio/files/pulseaudio-11.1-glibc-2.27.patch b/media-sound/pulseaudio/files/pulseaudio-11.1-glibc-2.27.patch deleted file mode 100644 index a89167b603d0..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-11.1-glibc-2.27.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Tanu Kaskinen <tanuk@iki.fi> -Date: Wed, 24 Jan 2018 03:51:49 +0200 -Subject: memfd-wrappers: only define memfd_create() if not already defined - -glibc 2.27 is to be released soon, and it will provide memfd_create(). -If glibc provides the function, we must not define it ourselves, -otherwise building fails due to conflict between the two implementations -of the same function. - -BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104733 -(cherry picked from commit dfb0460fb4743aec047cdf755a660a9ac2d0f3fb) ---- - configure.ac | 3 +++ - src/pulsecore/memfd-wrappers.h | 7 ++++--- - 2 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 77b5ff5..3a71fd8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -607,6 +607,9 @@ AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"], - [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory. - *** Use linux v3.17 or higher for such a feature.])]) - -+AS_IF([test "x$HAVE_MEMFD" = "x1"], -+ AC_CHECK_FUNCS([memfd_create])) -+ - AC_SUBST(HAVE_MEMFD) - AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1]) - AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.])) -diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h -index 3bed9b2..c7aadfd 100644 ---- a/src/pulsecore/memfd-wrappers.h -+++ b/src/pulsecore/memfd-wrappers.h -@@ -20,13 +20,14 @@ - License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. - ***/ - --#ifdef HAVE_MEMFD -+#if defined(HAVE_MEMFD) && !defined(HAVE_MEMFD_CREATE) - - #include <sys/syscall.h> - #include <fcntl.h> - - /* -- * No glibc wrappers exist for memfd_create(2), so provide our own. -+ * Before glibc version 2.27 there was no wrapper for memfd_create(2), -+ * so we have to provide our own. - * - * Also define memfd fcntl sealing macros. While they are already - * defined in the kernel header file <linux/fcntl.h>, that file as -@@ -63,6 +64,6 @@ static inline int memfd_create(const char *name, unsigned int flags) { - #define F_SEAL_WRITE 0x0008 /* prevent writes */ - #endif - --#endif /* HAVE_MEMFD */ -+#endif /* HAVE_MEMFD && !HAVE_MEMFD_CREATE */ - - #endif diff --git a/media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-1.patch b/media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-1.patch deleted file mode 100644 index 62012c121472..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-1.patch +++ /dev/null @@ -1,198 +0,0 @@ -From: =?utf-8?q?Andrius_=C5=A0tikonas?= <andrius@stikonas.eu> -Date: Mon, 20 Nov 2017 19:56:53 +0000 -Subject: qpaeq: port to PyQt5 - -(cherry picked from commit 480e0e74f43565d7ece72141666961ae8cc2ed75) ---- - src/utils/qpaeq | 68 ++++++++++++++++++++++++++++----------------------------- - 1 file changed, 34 insertions(+), 34 deletions(-) - -diff --git a/src/utils/qpaeq b/src/utils/qpaeq -index ac4b9e4..508b233 100755 ---- a/src/utils/qpaeq -+++ b/src/utils/qpaeq -@@ -18,13 +18,13 @@ - - import os,math,sys - try: -- import PyQt4,sip -- from PyQt4 import QtGui,QtCore -+ import PyQt5,sip -+ from PyQt5 import QtWidgets,QtCore - import dbus.mainloop.qt - import dbus - except ImportError as e: - sys.stderr.write('There was an error importing needed libraries\n' -- 'Make sure you have qt4 and dbus-python installed\n' -+ 'Make sure you have qt5 and dbus-python installed\n' - 'The error that occured was:\n' - '\t%s\n' % (str(e))) - sys.exit(-1) -@@ -62,7 +62,7 @@ def connect(): - prop_iface='org.freedesktop.DBus.Properties' - eq_iface='org.PulseAudio.Ext.Equalizing1.Equalizer' - device_iface='org.PulseAudio.Core1.Device' --class QPaeq(QtGui.QWidget): -+class QPaeq(QtWidgets.QWidget): - manager_path='/org/pulseaudio/equalizing1' - manager_iface='org.PulseAudio.Ext.Equalizing1.Manager' - core_iface='org.PulseAudio.Core1' -@@ -70,7 +70,7 @@ class QPaeq(QtGui.QWidget): - module_name='module-equalizer-sink' - - def __init__(self): -- QtGui.QWidget.__init__(self) -+ QtWidgets.QWidget.__init__(self) - self.setWindowTitle('qpaeq') - self.slider_widget=None - self.sink_name=None -@@ -84,50 +84,50 @@ class QPaeq(QtGui.QWidget): - self.setMinimumSize(self.sizeHint()) - - def create_layout(self): -- self.main_layout=QtGui.QVBoxLayout() -+ self.main_layout=QtWidgets.QVBoxLayout() - self.setLayout(self.main_layout) -- toprow_layout=QtGui.QHBoxLayout() -- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) -+ toprow_layout=QtWidgets.QHBoxLayout() -+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - #sizePolicy.setHeightForWidth(self.profile_box.sizePolicy().hasHeightForWidth()) - -- toprow_layout.addWidget(QtGui.QLabel('Sink')) -- self.sink_box = QtGui.QComboBox() -+ toprow_layout.addWidget(QtWidgets.QLabel('Sink')) -+ self.sink_box = QtWidgets.QComboBox() - self.sink_box.setSizePolicy(sizePolicy) - self.sink_box.setDuplicatesEnabled(False) -- self.sink_box.setInsertPolicy(QtGui.QComboBox.InsertAlphabetically) -- #self.sink_box.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) -+ self.sink_box.setInsertPolicy(QtWidgets.QComboBox.InsertAlphabetically) -+ #self.sink_box.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContents) - toprow_layout.addWidget(self.sink_box) - -- toprow_layout.addWidget(QtGui.QLabel('Channel')) -- self.channel_box = QtGui.QComboBox() -+ toprow_layout.addWidget(QtWidgets.QLabel('Channel')) -+ self.channel_box = QtWidgets.QComboBox() - self.channel_box.setSizePolicy(sizePolicy) - toprow_layout.addWidget(self.channel_box) - -- toprow_layout.addWidget(QtGui.QLabel('Preset')) -- self.profile_box = QtGui.QComboBox() -+ toprow_layout.addWidget(QtWidgets.QLabel('Preset')) -+ self.profile_box = QtWidgets.QComboBox() - self.profile_box.setSizePolicy(sizePolicy) -- self.profile_box.setInsertPolicy(QtGui.QComboBox.InsertAlphabetically) -- #self.profile_box.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) -+ self.profile_box.setInsertPolicy(QtWidgets.QComboBox.InsertAlphabetically) -+ #self.profile_box.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContents) - toprow_layout.addWidget(self.profile_box) - -- large_icon_size=self.style().pixelMetric(QtGui.QStyle.PM_LargeIconSize) -+ large_icon_size=self.style().pixelMetric(QtWidgets.QStyle.PM_LargeIconSize) - large_icon_size=QtCore.QSize(large_icon_size,large_icon_size) -- save_profile=QtGui.QToolButton() -- save_profile.setIcon(self.style().standardIcon(QtGui.QStyle.SP_DriveFDIcon)) -+ save_profile=QtWidgets.QToolButton() -+ save_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.SP_DriveFDIcon)) - save_profile.setIconSize(large_icon_size) - save_profile.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly) - save_profile.clicked.connect(self.save_profile) -- remove_profile=QtGui.QToolButton() -- remove_profile.setIcon(self.style().standardIcon(QtGui.QStyle.SP_TrashIcon)) -+ remove_profile=QtWidgets.QToolButton() -+ remove_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.SP_TrashIcon)) - remove_profile.setIconSize(large_icon_size) - remove_profile.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly) - remove_profile.clicked.connect(self.remove_profile) - toprow_layout.addWidget(save_profile) - toprow_layout.addWidget(remove_profile) - -- reset_button = QtGui.QPushButton('Reset') -+ reset_button = QtWidgets.QPushButton('Reset') - reset_button.clicked.connect(self.reset) - toprow_layout.addStretch() - toprow_layout.addWidget(reset_button) -@@ -192,11 +192,11 @@ class QPaeq(QtGui.QWidget): - def save_profile(self): - #popup dialog box for name - current=self.profile_box.currentIndex() -- profile,ok=QtGui.QInputDialog.getItem(self,'Preset Name','Preset',self.profiles,current) -+ profile,ok=QtWidgets.QInputDialog.getItem(self,'Preset Name','Preset',self.profiles,current) - if not ok or profile=='': - return - if profile in self.profiles: -- mbox=QtGui.QMessageBox(self) -+ mbox=QtWidgets.QMessageBox(self) - mbox.setText('%s preset already exists'%(profile,)) - mbox.setInformativeText('Do you want to save over it?') - mbox.setStandardButtons(mbox.Save|mbox.Discard|mbox.Cancel) -@@ -217,7 +217,7 @@ class QPaeq(QtGui.QWidget): - profile=self.profile_box.itemText(x) - self.filter_state.load_profile(profile) - def select_channel(self,x): -- self.filter_state.channel = self.channel_box.itemData(x).toPyObject() -+ self.filter_state.channel = self.channel_box.itemData(x) - self._set_profile_name() - self.filter_state.readback() - -@@ -295,13 +295,13 @@ class QPaeq(QtGui.QWidget): - self.profile_box.blockSignals(False) - - --class SliderArray(QtGui.QWidget): -+class SliderArray(QtWidgets.QWidget): - def __init__(self,filter_state,parent=None): - super(SliderArray,self).__init__(parent) - #self.setStyleSheet('padding: 0px; border-width: 0px; margin: 0px;') - #self.setStyleSheet('font-family: monospace;'+outline%('blue')) - self.filter_state=filter_state -- self.setLayout(QtGui.QHBoxLayout()) -+ self.setLayout(QtWidgets.QHBoxLayout()) - self.sub_array=None - self.set_sub_array(SliderArraySub(self.filter_state)) - self.inhibit_resize=0 -@@ -359,11 +359,11 @@ class SliderArray(QtGui.QWidget): - self.set_sub_array(SliderArraySub(self.filter_state)) - self.inhibit_resize-=1 - --class SliderArraySub(QtGui.QWidget): -+class SliderArraySub(QtWidgets.QWidget): - def __init__(self,filter_state,parent=None): - super(SliderArraySub,self).__init__(parent) - self.filter_state=filter_state -- self.setLayout(QtGui.QGridLayout()) -+ self.setLayout(QtWidgets.QGridLayout()) - self.slider=[None]*len(self.filter_state.frequencies) - self.label=[None]*len(self.slider) - #self.setStyleSheet('padding: 0px; border-width: 0px; margin: 0px;') -@@ -375,7 +375,7 @@ class SliderArraySub(QtGui.QWidget): - self.layout().addWidget(label,1,c,qt.AlignHCenter) - self.layout().setColumnMinimumWidth(c,max(label.sizeHint().width(),slider.sizeHint().width())) - def create_slider(slider_label): -- slider=QtGui.QSlider(QtCore.Qt.Vertical,self) -+ slider=QtWidgets.QSlider(QtCore.Qt.Vertical,self) - label=SliderLabel(slider_label,filter_state,self) - slider.setRange(-1000,2000) - slider.setSingleStep(1) -@@ -461,7 +461,7 @@ class SliderArraySub(QtGui.QWidget): - return int((x-1.0)*1000) - outline='border-width: 1px; border-style: solid; border-color: %s;' - --class SliderLabel(QtGui.QLabel): -+class SliderLabel(QtWidgets.QLabel): - clicked=QtCore.pyqtSignal() - def __init__(self,label_text,filter_state,parent=None): - super(SliderLabel,self).__init__(parent) -@@ -566,7 +566,7 @@ def subdivide(xs, t_points): - - def main(): - dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True) -- app=QtGui.QApplication(sys.argv) -+ app=QtWidgets.QApplication(sys.argv) - qpaeq_main=QPaeq() - qpaeq_main.show() - sys.exit(app.exec_()) diff --git a/media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-2.patch b/media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-2.patch deleted file mode 100644 index 7706bfb3416a..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-11.1-qpaeq-pyqt5-2.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Felipe Sateler <fsateler@debian.org> -Date: Thu, 5 Apr 2018 15:44:26 -0300 -Subject: Use the pyqt5 dbus mainloop integration - -Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=102572 ---- - src/utils/qpaeq | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/utils/qpaeq b/src/utils/qpaeq -index 508b233..a319dad 100755 ---- a/src/utils/qpaeq -+++ b/src/utils/qpaeq -@@ -20,7 +20,7 @@ import os,math,sys - try: - import PyQt5,sip - from PyQt5 import QtWidgets,QtCore -- import dbus.mainloop.qt -+ import dbus.mainloop.pyqt5 - import dbus - except ImportError as e: - sys.stderr.write('There was an error importing needed libraries\n' -@@ -565,7 +565,7 @@ def subdivide(xs, t_points): - return left+right - - def main(): -- dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True) -+ dbus.mainloop.pyqt5.DBusQtMainLoop(set_as_default=True) - app=QtWidgets.QApplication(sys.argv) - qpaeq_main=QPaeq() - qpaeq_main.show() diff --git a/media-sound/pulseaudio/metadata.xml b/media-sound/pulseaudio/metadata.xml index 25a2d372c613..a0d16e0c7810 100644 --- a/media-sound/pulseaudio/metadata.xml +++ b/media-sound/pulseaudio/metadata.xml @@ -21,28 +21,18 @@ Ensure <pkg>gnome-base/gconf</pkg> is present for pulseaudio GConf to GSettings module automatic migration (keeping the user configuration) </flag> - <flag name="gnome"> - Use GConf to store user preferences on streams and so on. Don't - enable this flag if you want to use a system wide instance. If - unsure, enable this flag. - </flag> <flag name="oss"> Enable OSS sink/source (output/input). Deprecated, upstream does not support this on systems where other sink/source systems are available (i.e.: Linux). The padsp wrapper is now always build if the system supports OSS at all. </flag> - <flag name="glib" restrict="<media-sound/pulseaudio-12.0"> - Add support to <pkg>dev-libs/glib</pkg>-based mainloop for the - libpulse client library, to allow using libpulse on glib-based - programs. - </flag> - <flag name="glib" restrict=">=media-sound/pulseaudio-12.0"> + <flag name="glib"> Add support to <pkg>dev-libs/glib</pkg>-based mainloop for the libpulse client library, to allow using libpulse on glib-based programs. Build the GSettings PA module. </flag> - <flag name="system-wide" restrict=">=media-sound/pulseaudio-0.9.21.1"> + <flag name="system-wide"> Allow preparation and installation of the system-wide init script for PulseAudio. Since this support is only supported for embedded situations, do not enable without reading the upstream diff --git a/media-sound/pulseaudio/pulseaudio-11.1-r1.ebuild b/media-sound/pulseaudio/pulseaudio-11.1-r1.ebuild deleted file mode 100644 index 760c88ca1214..000000000000 --- a/media-sound/pulseaudio/pulseaudio-11.1-r1.ebuild +++ /dev/null @@ -1,363 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools bash-completion-r1 eutils flag-o-matic gnome2-utils linux-info systemd user versionator udev multilib-minimal - -DESCRIPTION="A networked sound server with an advanced plugin system" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/" -SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${P}.tar.xz" - -# libpulse-simple and libpulse link to libpulse-core; this is daemon's -# library and can link to gdbm and other GPL-only libraries. In this -# cases, we have a fully GPL-2 package. Leaving the rest of the -# GPL-forcing USE flags for those who use them. -# qpaeq equalizer pyqt GUI frontend is AGPL-3+ -LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 ) equalizer? ( AGPL-3+ )" - -SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux" - -# +alsa-plugin as discussed in bug #519530 -IUSE="+alsa +alsa-plugin +asyncns bluetooth +caps dbus doc equalizer +gdbm +glib -gnome gtk ipv6 jack libsamplerate libressl lirc native-headset neon ofono-headset -+orc oss qt5 realtime selinux sox ssl systemd system-wide tcpd test +udev -+webrtc-aec +X zeroconf" - -# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac -REQUIRED_USE=" - bluetooth? ( dbus ) - equalizer? ( dbus ) - ofono-headset? ( bluetooth ) - native-headset? ( bluetooth ) - udev? ( || ( alsa oss ) ) -" - -# libpcre needed in some cases, bug #472228 -RDEPEND=" - || ( - elibc_glibc? ( virtual/libc ) - elibc_uclibc? ( virtual/libc ) - dev-libs/libpcre - ) - >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] - x11-libs/libSM[${MULTILIB_USEDEP}] - x11-libs/libICE[${MULTILIB_USEDEP}] - x11-libs/libXtst[${MULTILIB_USEDEP}] - ) - caps? ( >=sys-libs/libcap-2.22-r2[${MULTILIB_USEDEP}] ) - libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) - alsa? ( >=media-libs/alsa-lib-1.0.19 ) - glib? ( >=dev-libs/glib-2.4.0:2[${MULTILIB_USEDEP}] ) - zeroconf? ( >=net-dns/avahi-0.6.12[dbus] ) - jack? ( virtual/jack ) - tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] ) - lirc? ( app-misc/lirc ) - dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] ) - gtk? ( x11-libs/gtk+:3 ) - gnome? ( >=gnome-base/gconf-2.4.0 ) - bluetooth? ( - >=net-wireless/bluez-5 - >=sys-apps/dbus-1.0.0 - media-libs/sbc - ) - asyncns? ( net-libs/libasyncns[${MULTILIB_USEDEP}] ) - udev? ( >=virtual/udev-143[hwdb(+)] ) - realtime? ( sys-auth/rtkit ) - equalizer? ( sci-libs/fftw:3.0 ) - ofono-headset? ( >=net-misc/ofono-1.13 ) - orc? ( >=dev-lang/orc-0.4.15 ) - sox? ( >=media-libs/soxr-0.1.1 ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - media-libs/speexdsp - gdbm? ( sys-libs/gdbm:= ) - webrtc-aec? ( >=media-libs/webrtc-audio-processing-0.2 ) - systemd? ( sys-apps/systemd:0=[${MULTILIB_USEDEP}] ) - dev-libs/libltdl:0 - selinux? ( sec-policy/selinux-pulseaudio ) -" -# it's a valid RDEPEND, libltdl.so is used for native abi - -DEPEND="${RDEPEND} - sys-devel/m4 - doc? ( app-doc/doxygen ) - test? ( >=dev-libs/check-0.9.10 ) - X? ( - x11-base/xorg-proto - >=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}] - ) - dev-libs/libatomic_ops - virtual/pkgconfig - system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) ) - dev-util/intltool - >=sys-devel/gettext-0.18.1 -" -# This is a PDEPEND to avoid a circular dep -PDEPEND=" - alsa? ( alsa-plugin? ( >=media-plugins/alsa-plugins-1.0.27-r1[pulseaudio,${MULTILIB_USEDEP}] ) ) -" - -# alsa-utils dep is for the alsasound init.d script (see bug #155707) -# bluez dep is for the bluetooth init.d script -# PyQt5 dep is for the qpaeq script -RDEPEND="${RDEPEND} - equalizer? ( qt5? ( dev-python/PyQt5[dbus,widgets] ) ) - system-wide? ( - alsa? ( media-sound/alsa-utils ) - bluetooth? ( >=net-wireless/bluez-5 ) - ) -" - -PATCHES=( - "${FILESDIR}/${P}"-qpaeq-pyqt5-{1,2}.patch - "${FILESDIR}/${P}"-glibc-2.27.patch - "${FILESDIR}/${P}"-disable-flat-volumes.patch # bug 627894 -) - -pkg_pretend() { - CONFIG_CHECK="~HIGH_RES_TIMERS" - WARNING_HIGH_RES_TIMERS="CONFIG_HIGH_RES_TIMERS:\tis not set (required for enabling timer-based scheduling in pulseaudio)\n" - check_extra_config - - if linux_config_exists; then - local snd_hda_prealloc_size=$(linux_chkconfig_string SND_HDA_PREALLOC_SIZE) - if [ -n "${snd_hda_prealloc_size}" ] && [ "${snd_hda_prealloc_size}" -lt 2048 ]; then - ewarn "A preallocated buffer-size of 2048 (kB) or higher is recommended for the HD-audio driver!" - ewarn "CONFIG_SND_HDA_PREALLOC_SIZE=${snd_hda_prealloc_size}" - fi - fi -} - -pkg_setup() { - linux-info_pkg_setup - gnome2_environment_reset #543364 - - enewgroup audio 18 # Just make sure it exists - - if use system-wide; then - enewgroup pulse-access - enewgroup pulse - enewuser pulse -1 -1 /var/run/pulse pulse,audio - fi -} - -src_prepare() { - default - - # Skip test that cannot work with sandbox, bug #501846 - sed -i -e '/lock-autospawn-test/d' src/Makefile.am || die - - eautoreconf -} - -multilib_src_configure() { - local myconf=() - - if use gdbm; then - myconf+=( --with-database=gdbm ) - else - myconf+=( --with-database=simple ) - fi - - if use bluetooth; then - if multilib_is_native_abi; then - myconf+=( --enable-bluez5 --disable-bluez4 - $(use_enable native-headset bluez5-native-headset) - $(use_enable ofono-headset bluez5-ofono-headset) ) - fi - else - myconf+=( --disable-bluez5 --disable-bluez4 ) - fi - - myconf+=( - --enable-largefile - $(use_enable glib glib2) - --disable-solaris - $(use_enable asyncns) - $(use_enable oss oss-output) - $(use_enable alsa) - $(use_enable lirc) - $(use_enable neon neon-opt) - $(use_enable tcpd tcpwrap) - $(use_enable jack) - $(use_enable zeroconf avahi) - $(use_enable dbus) - $(use_enable gnome gconf) - $(use_enable gtk gtk3) - $(use_enable libsamplerate samplerate) - $(use_enable orc) - $(use_enable X x11) - $(use_enable test default-build-tests) - $(use_enable udev) - $(use_with sox soxr) - $(use_enable systemd systemd-daemon) - $(use_enable systemd systemd-login) - $(use_enable systemd systemd-journal) - $(use_enable ipv6) - $(use_enable ssl openssl) - $(use_enable webrtc-aec) - $(use_with caps) - $(use_with equalizer fftw) - --disable-adrian-aec - --disable-esound - --localstatedir="${EPREFIX}"/var - --with-udev-rules-dir="${EPREFIX}/$(get_udevdir)"/rules.d - --with-systemduserunitdir=$(systemd_get_userunitdir) - ) - - if ! multilib_is_native_abi; then - # disable all the modules and stuff - myconf+=( - --disable-oss-output - --disable-alsa - --disable-lirc - --disable-jack - --disable-avahi - --disable-gconf - --disable-gtk3 - --disable-samplerate - --disable-bluez4 - --disable-bluez5 - --disable-udev - --disable-openssl - --disable-orc - --disable-webrtc-aec - --without-fftw - --without-soxr - - # tests involve random modules, so just do them for the native - --disable-default-build-tests - - # hack around unnecessary checks - # (results don't matter, we're not building anything using it) - ac_cv_lib_ltdl_lt_dladvise_init=yes - --with-database=simple - LIBSPEEX_CFLAGS=' ' - LIBSPEEX_LIBS=' ' - ) - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi; then - emake - use doc && emake doxygen - else - local targets=( libpulse.la libpulsedsp.la libpulse-simple.la ) - use glib && targets+=( libpulse-mainloop-glib.la ) - emake -C src ${targets[*]} - fi -} - -multilib_src_test() { - # We avoid running the toplevel check target because that will run - # po/'s tests too, and they are broken. Officially, it should work - # with intltool 0.41, but that doesn't look like a stable release. - if multilib_is_native_abi; then - emake -C src check - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - emake -j1 DESTDIR="${D}" bashcompletiondir="$(get_bashcompdir)" install - use doc && dohtml -r doxygen/html/ - else - local targets=( libpulse.la libpulse-simple.la ) - use glib && targets+=( libpulse-mainloop-glib.la ) - emake DESTDIR="${D}" install-pkgconfigDATA - emake DESTDIR="${D}" -C src \ - install-libLTLIBRARIES \ - install-padsplibLTLIBRARIES \ - lib_LTLIBRARIES="${targets[*]}" \ - install-pulseincludeHEADERS - fi -} - -multilib_src_install_all() { - # Drop the script entirely if X is disabled - use X || rm "${ED}"/usr/bin/start-pulseaudio-x11 - - if use system-wide; then - newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio - - use_define() { - local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')} - - use "$1" && echo "-D$define" || echo "-U$define" - } - - unifdef $(use_define zeroconf AVAHI) \ - $(use_define alsa) \ - $(use_define bluetooth) \ - $(use_define udev) \ - "${FILESDIR}/pulseaudio.init.d-5" \ - > "${T}/pulseaudio" - - doinitd "${T}/pulseaudio" - - systemd_dounit "${FILESDIR}/${PN}.service" - fi - - use zeroconf && sed -i -e '/module-zeroconf-publish/s:^#::' "${ED}/etc/pulse/default.pa" - - dodoc NEWS README todo - - # Create the state directory - use prefix || diropts -o pulse -g pulse -m0755 - - # We need /var/run/pulse, bug #442852 - use system-wide && systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles" "${PN}.conf" - - # Prevent warnings when system-wide is not used, bug #447694 - use system-wide || rm "${ED}"/etc/dbus-1/system.d/pulseaudio-system.conf - - prune_libtool_files --all -} - -pkg_postinst() { - if use system-wide; then - elog "You have enabled the 'system-wide' USE flag for pulseaudio." - elog "This mode should only be used on headless servers, embedded systems," - elog "or thin clients. It will usually require manual configuration, and is" - elog "incompatible with many expected pulseaudio features." - elog "On normal desktop systems, system-wide mode is STRONGLY DISCOURAGED." - elog "For more information, see" - elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/" - elog " https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/" - elog " https://wiki.gentoo.org/wiki/PulseAudio#Headless_server" - if use gnome ; then - elog - elog "By enabling gnome USE flag, you enabled gconf support. Please note" - elog "that you might need to remove the gnome USE flag or disable the" - elog "gconf module on /etc/pulse/system.pa to be able to use PulseAudio" - elog "with a system-wide instance." - fi - fi - - if use equalizer && ! use qt5; then - elog "You've enabled the 'equalizer' USE-flag but not the 'qt5' USE-flag." - elog "This will build the equalizer module, but the 'qpaeq' tool" - elog "which is required to set equalizer levels will not work." - fi - - if use native-headset && use ofono-headset; then - elog "You have enabled both native and ofono headset profiles. The runtime decision" - elog "which to use is done via the 'headset' argument of module-bluetooth-discover." - fi - - if use libsamplerate; then - elog "The libsamplerate based resamplers are now deprecated, because they offer no" - elog "particular advantage over speex. Upstream suggests disabling them." - fi -} |