diff options
author | Gregorio Guidi <greg_g@gentoo.org> | 2005-06-08 09:55:26 +0000 |
---|---|---|
committer | Gregorio Guidi <greg_g@gentoo.org> | 2005-06-08 09:55:26 +0000 |
commit | fdeb96ca9f35290a5dcb8584d866501372b24784 (patch) | |
tree | 20d18a7f629f33937ee964ed9c6fde7b8f42b0a4 /kde-base/arts | |
parent | fakelog init script (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | kde-base/arts/Manifest | 5 | ||||
-rw-r--r-- | kde-base/arts/arts-3.4.1-r2.ebuild | 93 | ||||
-rw-r--r-- | kde-base/arts/files/arts-3.4.1-cpu-overload.patch | 45 | ||||
-rw-r--r-- | kde-base/arts/files/digest-arts-3.4.1-r2 | 1 |
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 |