commit:     ed3f9f1643b2a79b26f2b13ceadff172e7754cc1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  9 15:49:03 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jan  9 17:28:08 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed3f9f16

media-video/avidemux: Only sed avidemux2.desktop if USE=qt5

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 media-video/avidemux/avidemux-2.6.20-r1.ebuild | 166 +++++++++++++++++++++++++
 1 file changed, 166 insertions(+)

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 00000000000..75412c73705
--- /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
+}

Reply via email to