diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-01-09 16:49:03 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-01-09 18:28:08 +0100 |
commit | ed3f9f1643b2a79b26f2b13ceadff172e7754cc1 (patch) | |
tree | 44f91efad1be2925d41118b4a2f86a92e18fa4a2 /media-video/avidemux | |
parent | media-libs/avidemux-plugins: Sorting, style fixes (diff) | |
download | gentoo-ed3f9f1643b2a79b26f2b13ceadff172e7754cc1.tar.gz gentoo-ed3f9f1643b2a79b26f2b13ceadff172e7754cc1.tar.bz2 gentoo-ed3f9f1643b2a79b26f2b13ceadff172e7754cc1.zip |
media-video/avidemux: Only sed avidemux2.desktop if USE=qt5
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'media-video/avidemux')
-rw-r--r-- | media-video/avidemux/avidemux-2.6.20-r1.ebuild | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/media-video/avidemux/avidemux-2.6.20-r1.ebuild b/media-video/avidemux/avidemux-2.6.20-r1.ebuild new file mode 100644 index 000000000000..75412c73705b --- /dev/null +++ b/media-video/avidemux/avidemux-2.6.20-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils qmake-utils xdg-utils + +DESCRIPTION="Video editor designed for simple cutting, filtering and encoding tasks" +HOMEPAGE="http://fixounet.free.fr/${PN}" + +# Multiple licenses because of all the bundled stuff. +LICENSE="GPL-1 GPL-2 MIT PSF-2 public-domain" +SLOT="2.6" +IUSE="debug opengl nls nvenc qt5 sdl vaapi vdpau xv" + +if [[ ${PV} == *9999* ]] ; then + MY_P="${P}" + EGIT_REPO_URI="https://github.com/mean00/avidemux2.git" + + inherit git-r3 +else + MY_P="${PN}_${PV}" + SRC_URI="mirror://sourceforge/${PN}/${PN}/${PV}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +COMMON_DEPEND=" + ~media-libs/avidemux-core-${PV}:${SLOT}[nls?,sdl?,vaapi?,vdpau?,xv?,nvenc?] + opengl? ( virtual/opengl:0 ) + qt5? ( dev-qt/qtgui:5 ) + vaapi? ( x11-libs/libva:0 ) + nvenc? ( amd64? ( media-video/nvidia_video_sdk:0 ) ) +" +DEPEND="${COMMON_DEPEND} + qt5? ( dev-qt/linguist-tools:5 ) +" +RDEPEND="${COMMON_DEPEND} + nls? ( virtual/libintl:0 ) +" +PDEPEND="~media-libs/avidemux-plugins-${PV}:${SLOT}[opengl?,qt5?]" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + default + + processes="buildCli:avidemux/cli" + if use qt5 ; then + processes+=" buildQt4:avidemux/qt4" + fi + + for process in ${processes} ; do + CMAKE_USE_DIR="${S}"/${process#*:} cmake-utils_src_prepare + done + + # Fix icon name -> avidemux-2.6.png + sed -i -e "/^Icon/ s:${PN}:${PN}-2.6:" ${PN}2.desktop || die "Icon name fix failed." + + # 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." + if use qt5; then + sed -i -re '/^Exec/ s:(avidemux3_)gtk:\1qt5:' ${PN}2.desktop || \ + die "Desktop file fix failed." + fi + + # Fix QA warnings that complain a trailing ; is missing and Application is deprecated. + sed -i -e 's/Application;AudioVideo/AudioVideo;/g' ${PN}2.desktop || die "Desktop file fix failed." + + # Now rename the desktop file to not collide with 2.5. + mv ${PN}2.desktop ${PN}-2.6.desktop || die "Collision rename failed." + + # Remove "Build Option" dialog because it doesn't reflect what the GUI can or has been built with. (Bug #463628) + sed -i -e '/Build Option/d' avidemux/common/ADM_commonUI/myOwnMenu.h || die "Couldn't remove \"Build Option\" dialog." +} + +src_configure() { + # 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 + + # The build relies on an avidemux-core header that uses 'nullptr' + # which is from >=C++11. Let's use the GCC-6 default C++ dialect. + append-cxxflags -std=c++14 + + local mycmakeargs=( + -DAVIDEMUX_SOURCE_DIR='${S}' + -DGETTEXT="$(usex nls)" + -DSDL="$(usex sdl)" + -DLIBVA="$(usex vaapi)" + -DVDPAU="$(usex vdpau)" + -DXVIDEO="$(usex xv)" + ) + + if use qt5 ; then + mycmakeargs+=( + -DENABLE_QT5="$(usex qt5)" + -DLRELEASE_EXECUTABLE="$(qt5_get_bindir)/lrelease" + ) + fi + + if use debug ; then + mycmakeargs+=( -DVERBOSE=1 -DADM_DEBUG=1 ) + fi + + for process in ${processes} ; do + local build="${WORKDIR}/${P}_build/${process%%:*}" + CMAKE_USE_DIR="${S}"/${process#*:} BUILD_DIR="${build}" cmake-utils_src_configure + done +} + +src_compile() { + for process in ${processes} ; do + local build="${WORKDIR}/${P}_build/${process%%:*}" + BUILD_DIR="${build}" cmake-utils_src_compile + done +} + +src_test() { + for process in ${processes} ; do + local build="${WORKDIR}/${P}_build/${process%%:*}" + BUILD_DIR="${build}" cmake-utils_src_test + done +} + +src_install() { + for process in ${processes} ; do + local build="${WORKDIR}/${P}_build/${process%%:*}" + BUILD_DIR="${build}" cmake-utils_src_install + done + + if [[ -f "${ED}"/usr/bin/avidemux3_cli ]] ; then + fperms +x /usr/bin/avidemux3_cli + fi + + if [[ -f "${ED}"/usr/bin/avidemux3_jobs ]] ; then + fperms +x /usr/bin/avidemux3_jobs + fi + + cd "${S}" || die "Can't enter source folder." + newicon ${PN}_icon.png ${PN}-2.6.png + + if [[ -f "${ED}"/usr/bin/avidemux3_qt5 ]] ; then + fperms +x /usr/bin/avidemux3_qt5 + fi + + if [[ -f "${ED}"/usr/bin/avidemux3_jobs_qt5 ]] ; then + fperms +x /usr/bin/avidemux3_jobs_qt5 + fi + + if use qt5 ; then + domenu ${PN}-2.6.desktop + fi +} + +pkg_postinst() { + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_desktop_database_update +} |