summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregorio Guidi <greg_g@gentoo.org>2005-06-08 09:55:26 +0000
committerGregorio Guidi <greg_g@gentoo.org>2005-06-08 09:55:26 +0000
commitfdeb96ca9f35290a5dcb8584d866501372b24784 (patch)
tree20d18a7f629f33937ee964ed9c6fde7b8f42b0a4 /kde-base/arts
parentfakelog init script (diff)
downloadhistorical-fdeb96ca9f35290a5dcb8584d866501372b24784.tar.gz
historical-fdeb96ca9f35290a5dcb8584d866501372b24784.tar.bz2
historical-fdeb96ca9f35290a5dcb8584d866501372b24784.zip
Add patch to fix amd64 cpu overload (#95356).
Package-Manager: portage-2.0.51.19
Diffstat (limited to 'kde-base/arts')
-rw-r--r--kde-base/arts/ChangeLog8
-rw-r--r--kde-base/arts/Manifest5
-rw-r--r--kde-base/arts/arts-3.4.1-r2.ebuild93
-rw-r--r--kde-base/arts/files/arts-3.4.1-cpu-overload.patch45
-rw-r--r--kde-base/arts/files/digest-arts-3.4.1-r21
5 files changed, 150 insertions, 2 deletions
diff --git a/kde-base/arts/ChangeLog b/kde-base/arts/ChangeLog
index d2ab1e4b189f..695aa3211ee2 100644
--- a/kde-base/arts/ChangeLog
+++ b/kde-base/arts/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for kde-base/arts
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/arts/ChangeLog,v 1.162 2005/06/07 12:57:47 greg_g Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/arts/ChangeLog,v 1.163 2005/06/08 09:55:26 greg_g Exp $
+
+*arts-3.4.1-r2 (08 Jun 2005)
+
+ 08 Jun 2005; Gregorio Guidi <greg_g@gentoo.org>
+ +files/arts-3.4.1-cpu-overload.patch, +arts-3.4.1-r2.ebuild:
+ Add patch to fix amd64 cpu overload (#95356).
*arts-3.4.1-r1 (07 Jun 2005)
diff --git a/kde-base/arts/Manifest b/kde-base/arts/Manifest
index c741d9f305b3..c2193804ef4a 100644
--- a/kde-base/arts/Manifest
+++ b/kde-base/arts/Manifest
@@ -1,7 +1,8 @@
MD5 acc03a4b12bb0433a57e95bd253b9501 metadata.xml 156
MD5 1d102ee708f560ad086a3e162fd71876 arts-1.3.2-r1.ebuild 3059
+MD5 3f640fe62d5bb63d85e0982101e56e79 arts-3.4.1-r2.ebuild 2875
MD5 28e7317bf4a62118bb703e001698fc43 arts-3.4.0.ebuild 2542
-MD5 73c057ac45bc73cb2527340e97ba9539 ChangeLog 20887
+MD5 4778cee71b984a464bcd063dac12475e ChangeLog 21079
MD5 f0db69f7e0bced7371fead1a2cb97d33 arts-3.4.1-r1.ebuild 2766
MD5 bce6432bffc972dcb98de5ebbadf9855 arts-3.4.1.ebuild 2539
MD5 75e0ac21d8f15a07268c3236aad6bba9 arts-1.2.3.ebuild 2821
@@ -18,4 +19,6 @@ MD5 22eaa23f91c114995e7b8ae286c3ac2c files/arts-1.3.2-alsa-bigendian.patch 571
MD5 185a4720c0e94a1546ee383016fc3e3c files/arts-vorbis-fix.dif 1136
MD5 196311c78bda3759d3d92a450fcf12ea files/arts-1.4-mcopidl.patch 448
MD5 2e274d4c1c743a9783cb4ed64910ee64 files/digest-arts-3.4.0 64
+MD5 5fa50e6520e137f4731eea03a5a644ea files/arts-3.4.1-cpu-overload.patch 1371
MD5 0756f4b60219058bac587ef4688d4b11 files/digest-arts-3.4.1-r1 63
+MD5 0756f4b60219058bac587ef4688d4b11 files/digest-arts-3.4.1-r2 63
diff --git a/kde-base/arts/arts-3.4.1-r2.ebuild b/kde-base/arts/arts-3.4.1-r2.ebuild
new file mode 100644
index 000000000000..fe80d76fd4ce
--- /dev/null
+++ b/kde-base/arts/arts-3.4.1-r2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/arts/arts-3.4.1-r2.ebuild,v 1.1 2005/06/08 09:55:26 greg_g Exp $
+
+inherit kde flag-o-matic eutils
+set-qtdir 3
+set-kdedir 3.4
+
+MY_PV=${PV/#3/1}
+S=${WORKDIR}/${PN}-${MY_PV}
+
+DESCRIPTION="aRts, the KDE sound (and all-around multimedia) server/output manager"
+HOMEPAGE="http://multimedia.kde.org/"
+SRC_URI="mirror://kde/stable/${PV}/src/${PN}-${MY_PV}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="3.4"
+KEYWORDS="~x86 ~amd64 ~ia64 ~ppc64 ~ppc ~sparc ~sparc ~ppc ~ppc64 ~ia64"
+IUSE="alsa esd artswrappersuid jack mp3 hardened vorbis"
+
+RDEPEND="alsa? ( media-libs/alsa-lib )
+ vorbis? ( media-libs/libvorbis media-libs/libogg )
+ esd? ( media-sound/esound )
+ jack? ( media-sound/jack-audio-connection-kit )
+ mp3? ( media-libs/libmad )
+ media-libs/audiofile
+ >=dev-libs/glib-2
+ >=x11-libs/qt-3.3"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+src_unpack() {
+ kde_src_unpack
+ epatch "${FILESDIR}/${P}-configure.patch"
+ epatch ${FILESDIR}/arts-1.3.2-alsa-bigendian.patch
+
+ # Fix amd64 cpu overload (kde bug 88474). Applied for 3.4.2.
+ epatch "${FILESDIR}/${P}-cpu-overload.patch"
+
+ if (is-flag -fstack-protector || is-flag -fstack-protector-all || use hardened); then
+ epatch ${FILESDIR}/arts-1.4-mcopidl.patch
+ fi
+
+ # for the configure patch
+ make -f admin/Makefile.common || die
+}
+
+src_compile() {
+ myconf="$(use_enable alsa) $(use_enable vorbis)
+ $(use_enable mp3 libmad) $(use_with jack)
+ $(use_with esd) --with-audiofile
+ --without-nas --without-mas"
+
+ #fix bug 13453
+ filter-flags -foptimize-sibling-calls
+
+ #fix bug 41980
+ use sparc && filter-flags -fomit-frame-pointer
+
+ kde_src_compile
+}
+
+src_install() {
+ kde_src_install
+
+ # moved here from kdelibs so that when arts is installed
+ # without kdelibs it's still in the path.
+ # List all the multilib libdirs
+ local libdirs
+ for libdir in $(get_all_libdirs); do
+ libdirs="${libdirs}:${PREFIX}/${libdir}"
+ done
+
+ dodir /etc/env.d
+echo "PATH=${PREFIX}/bin
+ROOTPATH=${PREFIX}/sbin:${PREFIX}/bin
+LDPATH=${libdirs:1}
+CONFIG_PROTECT=\"${PREFIX}/share/config ${PREFIX}/env ${PREFIX}/shutdown\"" > ${D}/etc/env.d/46kdepaths-3.4 # number goes down with version upgrade
+
+ # used for realtime priority, but off by default as it is a security hazard
+ use artswrappersuid && chmod u+s ${D}/${PREFIX}/bin/artswrapper
+}
+
+pkg_postinst() {
+ if ! use artswrappersuid ; then
+ einfo "Run chmod u+s ${PREFIX}/bin/artswrapper to let artsd use realtime priority"
+ einfo "and so avoid possible skips in sound. However, on untrusted systems this"
+ einfo "creates the possibility of a DoS attack that'll use 100% cpu at realtime"
+ einfo "priority, and so is off by default. See bug #7883."
+ einfo "Or, you can set the local artswrappersuid USE flag to make the ebuild do this."
+ fi
+}
diff --git a/kde-base/arts/files/arts-3.4.1-cpu-overload.patch b/kde-base/arts/files/arts-3.4.1-cpu-overload.patch
new file mode 100644
index 000000000000..6eca5bf467d5
--- /dev/null
+++ b/kde-base/arts/files/arts-3.4.1-cpu-overload.patch
@@ -0,0 +1,45 @@
+--- arts-1.3.2.orig/flow/audioioalsa9.cc 2004-05-26 20:50:18.000000000 +0200
++++ arts-1.3.2/flow/audioioalsa9.cc 2005-05-20 11:08:54.000000000 +0200
+@@ -263,15 +263,40 @@
+
+ int AudioIOALSA::getParam(AudioParam p)
+ {
++ snd_pcm_sframes_t avail;
+ switch(p) {
+
+ case canRead:
+ if (! m_pcm_capture) return -1;
+- return snd_pcm_frames_to_bytes(m_pcm_capture, snd_pcm_avail_update(m_pcm_capture));
++ while ((avail = snd_pcm_avail_update(m_pcm_capture)) < 0) {
++ if (avail == -EPIPE)
++ avail = xrun(m_pcm_capture);
++#ifdef HAVE_SND_PCM_RESUME
++ else if (avail == -ESTRPIPE)
++ avail = resume(m_pcm_capture);
++#endif
++ if (avail < 0) {
++ arts_info("Capture error: %s", snd_strerror(avail));
++ return -1;
++ }
++ }
++ return snd_pcm_frames_to_bytes(m_pcm_capture, avail);
+
+ case canWrite:
+ if (! m_pcm_playback) return -1;
+- return snd_pcm_frames_to_bytes(m_pcm_playback, snd_pcm_avail_update(m_pcm_playback));
++ while ((avail = snd_pcm_avail_update(m_pcm_playback)) < 0) {
++ if (avail == -EPIPE)
++ avail = xrun(m_pcm_playback);
++#ifdef HAVE_SND_PCM_RESUME
++ else if (avail == -ESTRPIPE)
++ avail = resume(m_pcm_playback);
++#endif
++ if (avail < 0) {
++ arts_info("Playback error: %s", snd_strerror(avail));
++ return -1;
++ }
++ }
++ return snd_pcm_frames_to_bytes(m_pcm_playback, avail);
+
+ case selectReadFD:
+ return -1;
diff --git a/kde-base/arts/files/digest-arts-3.4.1-r2 b/kde-base/arts/files/digest-arts-3.4.1-r2
new file mode 100644
index 000000000000..86097731e235
--- /dev/null
+++ b/kde-base/arts/files/digest-arts-3.4.1-r2
@@ -0,0 +1 @@
+MD5 f632984ddc976a1e4243718af54559ee arts-1.4.1.tar.bz2 975066