summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-video/avidemux/Manifest2
-rw-r--r--media-video/avidemux/avidemux-2.7.8.ebuild139
2 files changed, 141 insertions, 0 deletions
diff --git a/media-video/avidemux/Manifest b/media-video/avidemux/Manifest
index 1024821da922..48945364b673 100644
--- a/media-video/avidemux/Manifest
+++ b/media-video/avidemux/Manifest
@@ -1,2 +1,4 @@
DIST avidemux-2.7.6.tar.gz 21963753 BLAKE2B 6ca343f90c37844ebfd61123badccefb7327cbf500723c031257cf26500a5b6d98955568c2a9c0d182af68f162e878459a51e6049485937f9b01b4439b32e5e0 SHA512 bc60c733168d40d5b39cc7dd1f74b3f1315e9727302478ef1621e18748bad3400bcfd4d5199862c3093ad9df51385b6b2a96f0f8fedf9bf1c00060327545fb0f
+DIST avidemux-2.7.8.tar.gz 22080267 BLAKE2B a1e56856f44d56afac6ea4015f206a3f9301c025b3c8da1528165bd4c139ccc971074ac21aa05b9b3dfd6d514eabcbb375e671c8df9c9e5cae74a0a6597577c4 SHA512 6cd5527ab34517a07bf73e46d01f15b7ff023ff34ed70ee54f1d7dbfb6cf57364a323b4ecb89bb9aadeb9bc05473aacb40d8c4eecc522840a3c1c4b3a8756d82
DIST avidemux-i18n-2.7.6.tar.gz 2268693 BLAKE2B dedf6d015e6bbd58f432e05e72c4d8d175ce4f5567331b5e51e7a14d2a8180e92211efc172a4d7001a2947f46c2e910a485d42970b99df05c1ba12002974cfbf SHA512 26ada29c4b7c23739ddcc4ca1dc9819bbc64fa2b6472fd7ff5706905dbd9b382e7a7d69ba78f72afa6f3db55cf3c5373a5e2d244f1cf189aeb187984dd1f4187
+DIST avidemux-i18n-2.7.8.tar.gz 2488165 BLAKE2B 9e6bfb10e938c880d372570cfe35ba9422a8c0081b116230d831bd421b205a555415350be96b0e3149beb164a0151e04205bded403354d7052aa24884a068407 SHA512 a62b06a3d95577cf805be36f991ccb63d044b7c3633ada65bd5810f0e7d8eb41aa874ef5dd63de4fcacc0be073935bed827b2f0bceba77ab735ac8673c1ad39f
diff --git a/media-video/avidemux/avidemux-2.7.8.ebuild b/media-video/avidemux/avidemux-2.7.8.ebuild
new file mode 100644
index 000000000000..b251f2f04609
--- /dev/null
+++ b/media-video/avidemux/avidemux-2.7.8.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+inherit cmake desktop flag-o-matic qmake-utils xdg
+
+DESCRIPTION="Video editor designed for simple cutting, filtering and encoding tasks"
+HOMEPAGE="http://fixounet.free.fr/avidemux"
+SRC_URI="
+ https://github.com/mean00/avidemux2/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/mean00/avidemux2_i18n/archive/${PV}.tar.gz -> ${PN}-i18n-${PV}.tar.gz
+"
+
+# Multiple licenses because of all the bundled stuff.
+LICENSE="GPL-1 GPL-2 MIT PSF-2 public-domain"
+SLOT="2.7"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug nls nvenc opengl qt5 sdl vaapi vdpau xv"
+
+BDEPEND="
+ dev-lang/yasm
+ qt5? ( dev-qt/linguist-tools:5 )
+"
+DEPEND="
+ ~media-libs/avidemux-core-${PV}:${SLOT}[nls?,sdl?,vaapi?,vdpau?,xv?,nvenc?]
+ nvenc? ( amd64? ( media-video/nvidia_video_sdk:0 ) )
+ opengl? ( virtual/opengl:0 )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtwidgets:5
+ )
+ vaapi? ( x11-libs/libva:0= )
+"
+RDEPEND="
+ ${DEPEND}
+ nls? ( virtual/libintl:0 )
+ !<media-video/avidemux-${PV}
+"
+
+PDEPEND="~media-libs/avidemux-plugins-${PV}:${SLOT}[opengl?,qt5?]"
+
+S="${WORKDIR}/avidemux2-${PV}"
+
+src_unpack() {
+ default
+ mv -f -T avidemux2_i18n-"${PV}" "${S}"/avidemux/qt4/i18n >/dev/null || die
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-2.7.4-qt-5.15.patch"
+
+ processes="buildCli:avidemux/cli"
+ use qt5 && processes+=" buildQt4:avidemux/qt4"
+
+ for process in ${processes} ; do
+ CMAKE_USE_DIR="${S}"/${process#*:} cmake_src_prepare
+ done
+
+ if use qt5; then
+ # Fix icon name -> avidemux-2.7
+ sed -i -e "/^Icon/ s:${PN}\.png:${PN}-${SLOT}:" appImage/"${PN}".desktop || die "Icon name fix failed."
+
+ # The desktop file is broken. It uses avidemux3_portable instead of avidemux3_qt5
+ sed -i -re '/^Exec/ s:(avidemux3_)portable:\1qt5:' appImage/"${PN}".desktop || die "Desktop file fix failed."
+
+ # QA warnings: missing trailing ';' and 'Application' is deprecated.
+ sed -i -e 's/Application;AudioVideo/AudioVideo;/g' appImage/"${PN}".desktop || die "Desktop file fix failed."
+
+ # Now rename the desktop file to not collide with 2.6.
+ mv appImage/"${PN}".desktop "${PN}-${SLOT}".desktop || die "Collision rename failed."
+ fi
+
+ # 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() {
+ # 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=(
+ -DGETTEXT="$(usex nls)"
+ -DSDL="$(usex sdl)"
+ -DLibVA="$(usex vaapi)"
+ -DOPENGL="$(usex opengl)"
+ -DVDPAU="$(usex vdpau)"
+ -DXVIDEO="$(usex xv)"
+ )
+
+ use qt5 && mycmakeargs+=(
+ -DENABLE_QT5="$(usex qt5)"
+ -DLRELEASE_EXECUTABLE="$(qt5_get_bindir)/lrelease"
+ )
+
+ use debug && mycmakeargs+=( -DVERBOSE=1 -DADM_DEBUG=1 )
+
+ for process in ${processes} ; do
+ local build="${WORKDIR}/${P}_build/${process%%:*}"
+ CMAKE_USE_DIR="${S}"/${process#*:} BUILD_DIR="${build}" cmake_src_configure
+ done
+}
+
+src_compile() {
+ for process in ${processes} ; do
+ local build="${WORKDIR}/${P}_build/${process%%:*}"
+ BUILD_DIR="${build}" cmake_src_compile
+ done
+}
+
+src_test() {
+ for process in ${processes} ; do
+ local build="${WORKDIR}/${P}_build/${process%%:*}"
+ BUILD_DIR="${build}" cmake_src_test
+ done
+}
+
+src_install() {
+ for process in ${processes} ; do
+ local build="${WORKDIR}/${P}_build/${process%%:*}"
+ BUILD_DIR="${build}" cmake_src_install
+ done
+
+ if use qt5; then
+ cd "${S}" || die "Can't enter source folder"
+ newicon "${PN}"_icon.png "${PN}-${SLOT}".png
+ domenu "${PN}-${SLOT}".desktop
+ fi
+}