blob: 8f92b5ed26a512561b7ad3a10fcd11fa2d82aa39 [file] [log] [blame]
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit cmake-utils eutils flag-o-matic
MY_P=${PN}_${PV}
DESCRIPTION="Video editor designed for simple cutting, filtering and encoding tasks"
HOMEPAGE="http://fixounet.free.fr/avidemux"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="2"
KEYWORDS="amd64 x86"
IUSE="aac aften alsa amr gtk jack +mp3 nls opengl oss pulseaudio
qt4 sdl +truetype vorbis vpx +x264 +xv +xvid"
RDEPEND="
dev-libs/libxml2
sys-libs/zlib
aac? (
media-libs/faac
media-libs/faad2
)
aften? ( media-libs/aften[cxx] )
alsa? ( media-libs/alsa-lib )
amr? ( media-libs/opencore-amr )
gtk? ( x11-libs/gtk+:2 )
jack? (
media-libs/libsamplerate
media-sound/jack-audio-connection-kit
)
mp3? ( media-sound/lame )
pulseaudio? ( media-sound/pulseaudio )
qt4? (
>=dev-qt/qtgui-4.6:4
opengl? (
virtual/opengl
>=dev-qt/qtopengl-4.6:4
)
)
sdl? ( media-libs/libsdl )
truetype? (
media-libs/freetype:2
media-libs/fontconfig
)
vorbis? ( media-libs/libvorbis )
vpx? ( media-libs/libvpx )
x264? ( media-libs/x264:= )
xv? (
x11-libs/libX11
x11-libs/libXext
x11-libs/libXv
)
xvid? ( media-libs/xvid )
"
DEPEND="${RDEPEND}
dev-lang/yasm
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
AVIDEMUX_LANGS="bg ca cs de el es fr it ja pt_BR ru sr sr@latin tr zh_TW"
for lang in ${AVIDEMUX_LANGS}; do
IUSE+=" linguas_${lang}"
done
unset lang
S=${WORKDIR}/${MY_P}
BUILD_S=${WORKDIR}/${P}_build
DOCS=( AUTHORS )
PATCHES=(
"${FILESDIR}/${PN}-2.5.4-build-plugins-fix.patch"
"${FILESDIR}/${P}-ffmpeg-symbol-visibility.patch"
)
src_prepare() {
cmake-utils_src_prepare
local lingua= po_files= qt_ts_files= avidemux_ts_files=
for lingua in ${LINGUAS}; do
if has ${lingua} ${AVIDEMUX_LANGS}; then
if [[ -e ${S}/po/${lingua}.po ]]; then
po_files+=" \${po_subdir}/${lingua}.po"
fi
if [[ -e ${S}/po/qt_${lingua}.ts ]]; then
qt_ts_files+=" \${ts_subdir}/qt_${lingua}.ts"
fi
if [[ -e ${S}/po/${PN}_${lingua}.ts ]]; then
avidemux_ts_files+=" \${ts_subdir}/${PN}_${lingua}.ts"
fi
fi
done
sed -i -e "s!FILE(GLOB po_files .*)!SET(po_files ${po_files})!" \
"${S}/cmake/Po.cmake" || die "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"
# fix major issues in desktop files wrt bugs #291453, #316599, #430500
sed -i -re '/^(Exec|Path)/ s:\[\$e\]::' avidemux2-gtk.desktop || die
sed -i -re '/^Exec/ s:(avidemux2_)gtk:\1qt4:' avidemux2.desktop || die
# don't install Windows-only files
sed -i -e '/addons\/avsfilter/d' CMakeLists.txt || die
}
src_configure() {
# 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
local mycmakeargs=(
-DAVIDEMUX_SOURCE_DIR="${S}"
-DAVIDEMUX_INSTALL_PREFIX="${BUILD_S}"
-DAVIDEMUX_CORECONFIG_DIR="${BUILD_S}/config"
-DARTS=OFF
-DESD=OFF
$(cmake-utils_use aac FAAC)
$(cmake-utils_use aac FAAD)
$(cmake-utils_use aften)
$(cmake-utils_use alsa)
$(cmake-utils_use amr OPENCORE_AMRNB)
$(cmake-utils_use amr OPENCORE_AMRWB)
$(cmake-utils_use gtk)
$(cmake-utils_use jack)
$(cmake-utils_use mp3 LAME)
$(cmake-utils_use nls GETTEXT)
$(cmake-utils_use_use opengl)
$(cmake-utils_use oss)
$(cmake-utils_use pulseaudio PULSEAUDIOSIMPLE)
$(cmake-utils_use qt4)
$(cmake-utils_use sdl)
$(cmake-utils_use truetype FREETYPE2)
$(cmake-utils_use truetype FONTCONFIG)
$(cmake-utils_use vorbis)
$(cmake-utils_use vorbis LIBVORBIS)
$(cmake-utils_use vpx VPXDEC)
$(cmake-utils_use x264)
$(cmake-utils_use xv XVIDEO)
$(cmake-utils_use xvid)
)
cmake-utils_src_configure
}
src_compile() {
# first build the application
cmake-utils_src_compile -j1
# and then go on with plugins
emake -C "${CMAKE_BUILD_DIR}/plugins"
}
src_install() {
# install the application
cmake-utils_src_install
# install plugins
emake -C "${CMAKE_BUILD_DIR}/plugins" DESTDIR="${D}" install
newicon ${PN}_icon.png ${PN}.png
use gtk && domenu avidemux2-gtk.desktop
use qt4 && domenu avidemux2.desktop
}