diff options
author | Tom Wijsman <tomwij@gentoo.org> | 2013-03-04 16:34:51 +0000 |
---|---|---|
committer | Tom Wijsman <tomwij@gentoo.org> | 2013-03-04 16:34:51 +0000 |
commit | 1fc44bc0f133f2efc907768e0976cb190d86317e (patch) | |
tree | ed7ce0a17ad48f48fa1442afaa1cdc911e400e9d /media-video/avidemux | |
parent | version bump (diff) | |
download | gentoo-2-1fc44bc0f133f2efc907768e0976cb190d86317e.tar.gz gentoo-2-1fc44bc0f133f2efc907768e0976cb190d86317e.tar.bz2 gentoo-2-1fc44bc0f133f2efc907768e0976cb190d86317e.zip |
Split magic powder function into EAPI 5 appropriate src_configure, src_compile and src_install functions; cleaned up the ebuild as a first step in preparation of unmasking it.
(Portage version: 2.1.11.52/cvs/Linux x86_64, signed Manifest commit with key 6D34E57D)
Diffstat (limited to 'media-video/avidemux')
-rw-r--r-- | media-video/avidemux/ChangeLog | 7 | ||||
-rw-r--r-- | media-video/avidemux/avidemux-2.6.1.ebuild | 232 |
2 files changed, 127 insertions, 112 deletions
diff --git a/media-video/avidemux/ChangeLog b/media-video/avidemux/ChangeLog index 348f75794f3c..96fda73d2a4f 100644 --- a/media-video/avidemux/ChangeLog +++ b/media-video/avidemux/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-video/avidemux # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/ChangeLog,v 1.205 2013/03/02 22:06:56 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/ChangeLog,v 1.206 2013/03/04 16:34:51 tomwij Exp $ + + 04 Mar 2013; Tom Wijsman <TomWij@gentoo.org> avidemux-2.6.1.ebuild: + Split magic powder function into EAPI 5 appropriate src_configure, src_compile + and src_install functions; cleaned up the ebuild as a first step in + preparation of unmasking it. 02 Mar 2013; Markos Chandras <hwoarang@gentoo.org> avidemux-2.5.6-r2.ebuild, avidemux-2.6.0.ebuild, avidemux-2.6.1.ebuild: diff --git a/media-video/avidemux/avidemux-2.6.1.ebuild b/media-video/avidemux/avidemux-2.6.1.ebuild index f226c2a791b3..d71521f3469a 100644 --- a/media-video/avidemux/avidemux-2.6.1.ebuild +++ b/media-video/avidemux/avidemux-2.6.1.ebuild @@ -1,89 +1,71 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/avidemux-2.6.1.ebuild,v 1.2 2013/03/02 22:06:56 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/avidemux-2.6.1.ebuild,v 1.3 2013/03/04 16:34:51 tomwij Exp $ + +EAPI="5" -EAPI=4 PLOCALES="ca cs de el es fr it ja pt_BR ru sr sr@latin tr" inherit cmake-utils eutils flag-o-matic l10n toolchain-funcs -MY_P=${PN}_${PV} +SLOT="2.6" +MY_P="${PN}_${PV}" DESCRIPTION="Video editor designed for simple cutting, filtering and encoding tasks" -HOMEPAGE="http://fixounet.free.fr/avidemux" +HOMEPAGE="http://fixounet.free.fr/${PN}" SRC_URI="mirror://sourceforge/${PN}/${PV}/${MY_P}.tar.gz" -# Multiple licenses because of all the bundled stuff -LICENSE="GPL-2 MIT GPL-1 public-domain PSF-2" -SLOT="2.6" +# Multiple licenses because of all the bundled stuff. +LICENSE="GPL-1 GPL-2 MIT PSF-2 public-domain" KEYWORDS="~amd64 ~x86" -IUSE="aften a52 alsa amr debug dts fontconfig gtk jack - lame libsamplerate mmx nls qt4 sdl vorbis truetype xvid xv oss x264" +IUSE="aften a52 alsa amr debug dts fontconfig gtk jack lame libsamplerate mmx nls qt4 sdl vorbis truetype xvid xv oss x264" RDEPEND=" - virtual/libiconv + >=dev-lang/spidermonkey-1.5-r2 dev-libs/libxml2 media-libs/libpng - >=dev-lang/spidermonkey-1.5-r2 - gtk? ( >=x11-libs/gtk+-2.6.0:2 ) - qt4? ( >=dev-qt/qtgui-4.8.3:4 ) - x264? ( media-libs/x264 ) - xvid? ( media-libs/xvid ) + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrender + virtual/libiconv aften? ( media-libs/aften ) + alsa? ( >=media-libs/alsa-lib-1.0.3b-r2 ) amr? ( media-libs/opencore-amr ) - lame? ( media-sound/lame ) dts? ( media-libs/libdca ) - vorbis? ( media-libs/libvorbis ) - alsa? ( >=media-libs/alsa-lib-1.0.3b-r2 ) + fontconfig? ( media-libs/fontconfig ) + gtk? ( >=x11-libs/gtk+-2.6.0:2 ) jack? ( media-sound/jack-audio-connection-kit libsamplerate? ( media-libs/libsamplerate ) ) - truetype? ( >=media-libs/freetype-2.1.5 ) - fontconfig? ( media-libs/fontconfig ) + lame? ( media-sound/lame ) + qt4? ( >=dev-qt/qtgui-4.8.3:4 ) sdl? ( media-libs/libsdl ) + truetype? ( >=media-libs/freetype-2.1.5 ) + x264? ( media-libs/x264 ) xv? ( x11-libs/libXv ) - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXrender + xvid? ( media-libs/xvid ) + vorbis? ( media-libs/libvorbis ) " DEPEND=" $RDEPEND oss? ( virtual/os-headers ) - virtual/pkgconfig nls? ( sys-devel/gettext ) + virtual/pkgconfig " -S=${WORKDIR}/${MY_P} -BUILD_S=${WORKDIR}/${P}_build - -avidemux_build_process() { - local BUILDDIR="${1}" - local SOURCEDIR="${2}" - local mycmakeargs="${3}" - EXTRA="${mycmakeargs}" - BUILDER="Unix Makefiles" - FAKEROOT_DIR="${S}"/gentoo-install - SOURCEDIR="${2}" - mkdir ${BUILDDIR} && cd "${BUILDDIR}" - einfo "Configuring: ${BUILDDIR}" - cmake -DFAKEROOT="${FAKEROOT_DIR}" -DAVIDEMUX_SOURCE_DIR="${S}" \ - -DCMAKE_INSTALL_PREFIX="/usr" \ - ${EXTRA} -G "${BUILDER}" ../"${SOURCEDIR}/" - # for some reason, core needs -j1. That's what they do in their - # script as well - if [[ ${BUILDDIR} == "buildCore" ]]; then - extra_opts="-j1" - else - unset extra_opts - fi - einfo "Building: ${BUILDDIR}" - emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${extra_opts} - einfo "Fake install: ${BUILDDIR}" - # pretend that you installed it somewhere - emake DESTDIR="${FAKEROOT_DIR}" ${extra_opts} install +S="${WORKDIR}/${MY_P}" +BUILD_S="${WORKDIR}/${P}_build" - cd .. -} +PROCESSES="buildCore:avidemux_core${POSTFIX} + buildCli:avidemux/cli${POSTFIX} + buildPluginsCommon:avidemux_plugins${POSTFIX} + buildPluginsCLI:avidemux_plugins${POSTFIX}" + +use qt4 && PROCESSES+=" buildQt4:avidemux/qt4${POSTFIX} + buildPluginsQt4:avidemux_plugins${POSTFIX}" + +use gtk && PROCESSES+=" buildGtk:avidemux/gtk${POSTFIX} + buildPluginsGtk:avidemux_plugins${POSTFIX}" src_prepare() { base_src_prepare @@ -105,43 +87,33 @@ src_prepare() { done sed -i -e "s!FILE(GLOB po_files .*)!SET(po_files ${po_files})!" \ - "${S}/cmake/Po.cmake" || die "sed failed" + "${S}/cmake/Po.cmake" || die "po_files sed failed" + sed -i -e "s!FILE(GLOB.*qt.*)!SET(ts_files ${qt_ts_files})!" \ -e "s!FILE(GLOB.*avidemux.*)!SET(ts_files ${avidemux_ts_files})!" \ - "${S}/cmake/Ts.cmake" || die "sed failed" + "${S}/cmake/Ts.cmake" || die "ts_files sed failed" # Fix icon name -> avidemux-2.6.png - sed -i -e "/^Icon/ s:${PN}:${PN}-2.6:" ${PN}2.desktop || die - # the desktop file is broken. It uses avidemux2 instead of avidemux3 - # so it will actually launch avidemux-2.5 if it is installed - sed -i -e "/^Exec/ s:${PN}2:${PN}3:" ${PN}2.desktop || die - # Now rename to not collide with 2.5 - mv ${PN}2.desktop ${PN}-2.6.desktop - # fix major issues in desktop files wrt bugs #291453, #316599, #430500 - # duplicate desktop file - cp ${PN}-2.6.desktop ${PN}-2.6-gtk.desktop || die - # the desktop file is broken. It uses avidemux2 instead of avidemux3 - # so it will actually launch avidemux-2.5 if it is installed - sed -i -re '/^Exec/ s:(avidemux3_)gtk:\1qt4:' ${PN}-2.6.desktop || die -} + sed -i -e "/^Icon/ s:${PN}:${PN}-2.6:" ${PN}2.desktop || die "Icon name fix failed." -src_configure() { - true; -} + # The desktop file is broken. It uses avidemux2 instead of avidemux3 + # so it will actually launch avidemux-2.5 if it is installed. + sed -i -e "/^Exec/ s:${PN}2:${PN}3:" ${PN}2.desktop || die "Desktop file fix failed." -src_compile() { - # add lax vector typing for PowerPC - if use ppc || use ppc64; then - append-cflags -flax-vector-conversions - fi - # bug 432322 - use x86 && replace-flags -O0 -O1 + # Now rename the desktop file to not collide with 2.5. + mv ${PN}2.desktop ${PN}-2.6.desktop || die "Collision rename failed." + + # Fix major issues in desktop files wrt bugs #291453, #316599, #430500 + # duplicate desktop file. + cp ${PN}-2.6.desktop ${PN}-2.6-gtk.desktop || die "Desktop file copy failed." - local x mycmakeargs - # default args - use debug \ - && POSTFIX="_debug" \ - && mycmakeargs+="-DVERBOSE=1 -DCMAKE_BUILD_TYPE=Debug" + # The desktop file is broken. It uses avidemux2 instead of avidemux3 + # so it will actually launch avidemux-2.5 if it is installed. + sed -i -re '/^Exec/ s:(avidemux3_)gtk:\1qt4:' ${PN}-2.6.desktop || die "Desktop file fix failed." +} + +src_configure() { + local x mycmakeargs plugin_ui mycmakeargs=" $(for x in ${IUSE}; do cmake-utils_use $x; done) @@ -152,41 +124,79 @@ src_compile() { $(cmake-utils_use amr OPENCORE_AMRWB) $(cmake-utils_use amr OPENCORE_AMRNB) " + use debug && POSTFIX="_debug" && mycmakeargs+="-DVERBOSE=1 -DCMAKE_BUILD_TYPE=Debug" + + for PROCESS in ${PROCESSES} ; do + SOURCE="${PROCESS%%:*}" + DEST="${PROCESS#*:}" + + cd "${S}" || die "Can't enter source folder." + mkdir "${SOURCE}" || die "Can't create build folder." + cd "${SOURCE}" || die "Can't enter build folder." + + if [[ "${SOURCE}" == "buildPluginsCommon" ]] ; then + plugin_ui="-DPLUGIN_UI=COMMON" + elif [[ "${SOURCE}" == "buildPluginsCLI" ]] ; then + plugin_ui="-DPLUGIN_UI=CLI" + elif [[ "${SOURCE}" == "buildPluginsQt4" ]] ; then + plugin_ui="-DPLUGIN_UI=QT4" + elif [[ "${SOURCE}" == "buildPluginsGtk" ]]; then + plugin_ui="-DPLUGIN_UI=GTK" + fi - # Lets try to do all the s**t that bootStrap.bash is - # trying to do - use qt4 && with_qt4=1 - use gtk && with_gtk=1 - - avidemux_build_process buildCore avidemux_core${POSTFIX} "${mycmakeargs}" - avidemux_build_process buildCli avidemux/cli${POSTFIX} "${mycmakeargs}" - mycmakeargs+="-DPLUGIN_UI=COMMON " - avidemux_build_process buildPluginsCommon avidemux_plugins${POSTFIX} "${mycmakeargs}" - mycmakeargs+="-DPLUGIN_UI=CLI " - avidemux_build_process buildPluginsCLI avidemux_plugins${POSTFIX} "${mycmakeargs}" - - if use qt4; then - avidemux_build_process buildQt4 avidemux/qt4${POSTFIX} "${mycmakeargs}" - mycmakeargs+="-DPLUGIN_UI=QT4 " - avidemux_build_process buildPluginsQt4 avidemux_plugins${POSTFIX} "${mycmakeargs}" - fi - if use gtk; then - avidemux_build_process buildGtk avidemux/gtk${POSTFIX} "${mycmakeargs}" - mycmakeargs+="-DPLUGIN_UI=GTK " - avidemux_build_process buildPluginsGtk avidemux_plugins${POSTFIX} "${mycmakeargs}" + cmake -DAVIDEMUX_SOURCE_DIR="${S}" \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + ${mycmakeargs} ${plugin_ui} -G "Unix Makefiles" ../"${DEST}/" + done +} + +src_compile() { + # Add lax vector typing for PowerPC. + if use ppc || use ppc64 ; then + append-cflags -flax-vector-conversions fi + + # See bug 432322. + use x86 && replace-flags -O0 -O1 + + for PROCESS in ${PROCESSES} ; do + SOURCE="${PROCESS%%:*}" + + cd "${S}/${SOURCE}" || die "Can't enter build folder." + + if [[ "${SOURCE}" == "buildCore" ]] ; then + # TODO: Report this upstream, seems to be within ffmpeg code. + emake -j1 CC="$(tc-getCC)" CXX="$(tc-getCXX)" + else + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" + fi + done } src_install() { - # everything is installed(?) in ${S}/gentoo-install. - # Move it to ${D}. - insinto / - doins -r "${S}"/gentoo-install/* - # Mark executables with +x - find "${ED}"/usr/bin -exec chmod a+x {} \; + for PROCESS in ${PROCESSES} ; do + SOURCE="${PROCESS%%:*}" + + cd "${S}/${SOURCE}" || die "Can't enter build folder." + + if [[ "${SOURCE}" == "buildCore" ]] ; then + # TODO: Report this upstream, seems to be within ffmpeg code. + emake DESTDIR="${ED}" -j1 install + else + emake DESTDIR="${ED}" install + fi + done + + cd "${S}" || die "Can't enter source folder." + + fperms +x /usr/bin/avidemux3_cli + fperms +x /usr/bin/avidemux3_jobs + use gtk && fperms +x /usr/bin/avidemux3_gtk + use qt4 && fperms +x /usr/bin/avidemux3_qt4 newicon ${PN}_icon.png ${PN}-2.6.png use gtk && domenu ${PN}-2.6-gtk.desktop use qt4 && domenu ${PN}-2.6.desktop + dodoc AUTHORS README } |