--- /usr/portage/media-sound/ecasound/ecasound-2.4.5.ebuild 2008-01-16 19:36:22.000000000 +0100 +++ ecasound-2.4.6.1.ebuild 2008-05-05 23:23:22.000000000 +0200 @@ -1,21 +1,22 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/media-sound/ecasound/ecasound-2.4.5.ebuild,v 1.4 2008/01/16 18:22:20 grobian Exp $ -inherit multilib eutils +inherit multilib eutils python DESCRIPTION="a package for multitrack audio processing" SRC_URI="http://${PN}.seul.org/download/${P}.tar.gz" -HOMEPAGE="http://eca.cx" +HOMEPAGE="http://ecasound.seul.org/ecasound/" LICENSE="GPL-2" SLOT="1" KEYWORDS="~amd64 ~ppc ~sparc ~x86" IUSE="alsa arts audiofile debug doc jack libsamplerate mikmod ncurses vorbis oss python ruby sndfile" -RDEPEND="jack? ( media-sound/jack-audio-connection-kit ) +RDEPEND="virtual/python + jack? ( media-sound/jack-audio-connection-kit ) media-libs/ladspa-sdk audiofile? ( media-libs/audiofile ) alsa? ( media-libs/alsa-lib ) vorbis? ( media-libs/libvorbis ) arts? ( kde-base/arts ) @@ -38,71 +39,67 @@ eerror "need to have built media-libs/alsa-lib with midi USE flag." die "Missing midi USE flag on media-libs/alsa-lib" fi } -src_compile () { - local myconf - - myconf="${myconf} --enable-shared --with-largefile --enable-sys-readline" +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${P}-gcc43.patch" +} +src_compile() { + local PYConf if use python; then - # ecasound is braindead about finding python includes/libdirs and - # about where to install modules. Luckily, it allows us to specify - # all this. - local python_version python_prefix python_includes python_modules - if use userland_Darwin ; then - myconf="$myconf --enable-pyecasound=python" - else - myconf="$myconf --enable-pyecasound=c" - fi - python_version="`python -c 'import sys; print sys.version[:3]'`" - python_prefix="`python -c 'import sys; print sys.prefix'`" - - python_includes="$python_prefix/include/python$python_version" - python_modules="$python_prefix/$(get_libdir)/python$python_version" - - myconf="$myconf --with-python-includes=$python_includes" - myconf="$myconf --with-python-modules=$python_modules" + python_version + PYConf="--enable-pyecasound=c + --with-python-includes=${ROOT}usr/include/python${PYVER} + --with-python-modules=${ROOT}usr/$(get_libdir)/python${PYVER}" else - myconf="$myconf --disable-pyecasound" + PYConf="$myconf --disable-pyecasound" fi - econf \ - $(use_enable alsa) \ + econf $(use_enable alsa) \ $(use_enable arts) \ $(use_enable audiofile) \ $(use_enable debug) \ $(use_enable jack) \ $(use_enable libsamplerate) \ $(use_enable ncurses) \ $(use_enable oss) \ $(use_enable ruby rubyecasound) \ $(use_enable sndfile) \ - ${myconf} + --enable-shared \ + --with-largefile \ + --enable-sys-readline \ + ${PYConf} || die "econf failed" - emake || die "emake failed." + emake || die "emake failed" } -src_install () { - emake DESTDIR="${D}" install || die "emake install failed." - - if use python; then - cd pyecasound - python -c "import compileall; compileall.compile_dir('.')" || die - python -O -c "import compileall; compileall.compile_dir('.')" || die - python_sitepkgsdir="`python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[:3] + '/site-packages/')"`" - install *.pyc *.pyo "${D}/${python_sitepkgsdir}" - cd .. - fi - +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" dodoc BUGS NEWS README TODO Documentation/*.txt use doc && dohtml Documentation/*.html } pkg_postinst() { + if use python; then + ebegin "Byte-compiling ${CATEGORY}/${PF} python modules" + python_version + local PYMODULE + for PYMODULE in ecacontrol.py pyeca.py eci.py; do + python_mod_compile "${ROOT}usr/$(get_libdir)/python${PYVER}/site-packages/${PYMODULE}" || die "Compiling ${PYMODULE} failed" + done + eend $? + fi if use arts; then ewarn "WARNING: You have requested ecasound ARTS support," ewarn "this is no longer supported and will go away in" ewarn "future releases." fi } + +pkg_postrm() { + python_version + python_mod_cleanup +}