--- /usr/portage/media-video/smplayer/smplayer-0.6.7_p2872-r1.ebuild 2009-03-14 11:27:55.000000000 +0100 +++ smplayer-0.6.7_p2872-r1.ebuild 2009-04-11 16:10:17.000000000 +0200 @@ -5,12 +5,20 @@ EAPI=2 inherit eutils qt4 -MY_P=${PN}-r${PV##*p} +MY_PV=${PV##*_p} +if [[ "${MY_PV}" != "${PV}" ]]; then + # svn snapshot + MY_PV=r${MY_PV} + MY_P=${PN}-${MY_PV} + S="${WORKDIR}"/${MY_P} + SRC_URI="mirror://gentoo/${MY_P}.tar.bz2" +else + # regular upstream release + SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" +fi DESCRIPTION="Great Qt4 GUI front-end for mplayer" HOMEPAGE="http://smplayer.sourceforge.net" -SRC_URI="mirror://gentoo/${MY_P}.tar.bz2" - LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" @@ -29,24 +37,31 @@ IUSE="${IUSE} linguas_${X%_*}" done -S="${WORKDIR}/${MY_P}" - src_prepare() { - # Fix paths in Makefile + # Upstream Makefile sucks sed -i -e "/^PREFIX=/s:/usr/local:/usr:" \ - -e "/^CONF_PREFIX=/s:\$(PREFIX)::" \ -e "/^DOC_PATH=/s:packages/smplayer:${PF}:" \ + -e '/\.\/get_svn_revision\.sh/,+2c\ + cd src && $(DEFS) $(MAKE)' \ "${S}"/Makefile || die "sed failed" # Turn debug message flooding off if ! use debug ; then - sed -i "s:#DEFINES += NO_DEBUG_ON_CONSOLE:DEFINES += NO_DEBUG_ON_CONSOLE:" \ + sed -i 's:#\(DEFINES += NO_DEBUG_ON_CONSOLE\):\1:' \ "${S}"/src/smplayer.pro || die "sed failed" fi } src_configure() { - eqmake4 src/${PN}.pro -o src/Makefile + cd "${S}"/src + echo "#define SVN_REVISION \"SVN-${MY_PV} (Gentoo)\"" > svn_revision.h + eqmake4 +} + +gen_translation() { + ebegin "Generating $1 translation" + lrelease ${PN}_${1}.ts + eend $? || die "failed to generate $1 translation" } src_compile() { @@ -54,34 +69,30 @@ # Generate translations cd "${S}"/src/translations - local LANG= - for LANG in ${LINGUAS}; do - if has ${LANG} ${LANGS}; then - einfo "Generating ${LANG} translation ..." - lrelease ${PN}_${LANG}.ts || die "Failed to generate ${LANG} translation!" + local lang= nolangs= x= + for lang in ${LINGUAS}; do + if has ${lang} ${LANGS}; then + gen_translation ${lang} continue - elif [[ " ${NOLONGLANGS} " == *" ${LANG}_"* ]]; then - local X= - for X in ${NOLONGLANGS}; do - if [[ "${LANG}" == "${X%_*}" ]]; then - einfo "Generating ${X} translation ..." - lrelease ${PN}_${X}.ts || die "Failed to generate ${X} translation!" + elif [[ " ${NOLONGLANGS} " == *" ${lang}_"* ]]; then + for x in ${NOLONGLANGS}; do + if [[ "${lang}" == "${x%_*}" ]]; then + gen_translation ${x} continue 2 fi done fi - ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA." + nolangs="${nolangs} ${lang}" done + [[ -n ${nolangs} ]] && ewarn "Sorry, but ${PN} does not support the LINGUAS:" ${nolangs} # install fails when no translation is present (bug 244370) - [[ -f *.qm ]] || lrelease ${PN}_en_US.ts + [[ -z $(ls *.qm 2>/dev/null) ]] && gen_translation en_US } src_install() { # remove unneeded copies of GPL - rm Copying.txt docs/cs/gpl.html docs/en/gpl.html docs/ru/gpl.html - for i in de es ja nl ro ; do - rm -rf docs/$i - done + rm -f Copying.txt docs/{cs,en,ja,ru}/gpl.html + rm -rf docs/{de,es,nl,ro} # remove windows-only files rm "${S}"/*.bat