summaryrefslogtreecommitdiff
path: root/staging/avidemux
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-11-01 23:15:01 +0000
committerroot <root@rshg054.dnsready.net>2011-11-01 23:15:01 +0000
commit37a1064b8105764414f279ced442e6ba2f63bea1 (patch)
tree173b87cd6535e622eff464080b398e0330df72bc /staging/avidemux
parent560562e36a27da267f2f4f7989806790192888ef (diff)
Tue Nov 1 23:15:01 UTC 2011
Diffstat (limited to 'staging/avidemux')
-rw-r--r--staging/avidemux/PKGBUILD120
-rw-r--r--staging/avidemux/avidemux-2.5.4-x264-build115.patch45
-rw-r--r--staging/avidemux/avidemux.install11
3 files changed, 176 insertions, 0 deletions
diff --git a/staging/avidemux/PKGBUILD b/staging/avidemux/PKGBUILD
new file mode 100644
index 000000000..c8edef3f7
--- /dev/null
+++ b/staging/avidemux/PKGBUILD
@@ -0,0 +1,120 @@
+# $Id: PKGBUILD 141619 2011-10-31 21:13:23Z eric $
+# Maintainer: Eric BĂ©langer <eric@archlinux.org>
+
+pkgbase=avidemux
+pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
+pkgver=2.5.5
+pkgrel=5
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://fixounet.free.fr/avidemux/"
+makedepends=('cmake' 'libxslt' 'gtk2' 'qt' 'jack' 'libvorbis' 'sdl' 'libxv' \
+ 'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'x264' 'libsamplerate' \
+ 'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse')
+source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz
+ avidemux-2.5.4-x264-build115.patch)
+md5sums=('33bbe210c6826cea1987ed18a41d57a7'
+ '24a18b53a58b678b9e87d30566985751')
+
+build() {
+ cd "${srcdir}/${pkgbase}_${pkgver}"
+
+ patch -Np1 -i "${srcdir}/avidemux-2.5.4-x264-build115.patch"
+
+ mkdir build
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_RPATH=ON -D GTK=1 -D QT4=1 ..
+ make
+
+# plugin build expects libraries to be already installed; we fake a prefix
+# in build/ by symlinking all libraries to build/lib/
+ mkdir -p lib
+ cd lib
+ find ../avidemux -name '*.so*' | xargs ln -sft .
+ cd ../../plugins
+ mkdir build
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D AVIDEMUX_SOURCE_DIR="${srcdir}/avidemux_${pkgver}" \
+ -D AVIDEMUX_CORECONFIG_DIR="${srcdir}/avidemux_${pkgver}/build/config" \
+ -D AVIDEMUX_INSTALL_PREFIX="${srcdir}/avidemux_${pkgver}/build" \
+ -D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_RPATH=ON ..
+ make
+}
+
+package_avidemux-cli() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split)"
+ depends=('libxml2' 'sdl' 'fontconfig' 'libvpx')
+ optdepends=('lame: for the corresponding audio encoder plugin'
+ 'faac: for the corresponding audio encoder plugin'
+ 'faad2: for the corresponding audio decoder plugin'
+ 'opencore-amr: for the corresponding audio decoder plugin'
+ 'jack: for the corresponding audio device plugin'
+ 'libpulse: for the corresponding audio device plugin'
+ 'sdl: for the corresponding audio device plugin'
+ 'x264: for the corresponding video encoder plugin'
+ 'xvidcore: for the corresponding video encoder plugin')
+ provides=('avidemux')
+ conflicts=('avidemux')
+ replaces=('avidemux')
+
+ cd "${srcdir}/${pkgbase}_${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+
+ cd "${srcdir}/${pkgbase}_${pkgver}/plugins/build"
+ make DESTDIR="${pkgdir}" install
+ rm -r "${pkgdir}"/usr/share/avidemux
+ rm "${pkgdir}"/usr/bin/avidemux2_{gtk,qt4}
+ rm "${pkgdir}"/usr/lib/*{_gtk,_qt4,Gtk,QT4}.so
+ rm "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/x264/*{Gtk,Qt}.so
+ rm "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/xvid/*{Gtk,Qt}.so
+ rm "${pkgdir}"/usr/lib/ADM_plugins/videoFilter/*{_gtk,_qt4}.so
+
+ ln -s /usr/lib/ADM_plugins/videoEncoder/libADM_vidEnc_xvid.so "${pkgdir}/usr/lib/libADM_vidEnc_xvid.so"
+ ln -s /usr/lib/ADM_plugins/videoEncoder/libADM_vidEnc_x264.so "${pkgdir}/usr/lib/libADM_vidEnc_x264.so"
+
+ install -D -m644 ../../avidemux_icon.png "${pkgdir}/usr/share/pixmaps/avidemux.png"
+ install -D -m644 ../../man/avidemux.1 "${pkgdir}/usr/share/man/man1/avidemux.1"
+}
+
+package_avidemux-gtk() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split) - GTK GUI"
+ depends=("avidemux-cli=${pkgver}" 'gtk2' 'libxv' 'desktop-file-utils')
+ install=avidemux.install
+
+ cd "${srcdir}/${pkgbase}_${pkgver}"
+ install -D -m755 build/avidemux/avidemux2_gtk "${pkgdir}/usr/bin/avidemux2_gtk"
+
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/{x264,xvid}
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoFilter
+
+ install -D -m755 build/lib/*{_gtk,Gtk}.so "${pkgdir}/usr/lib"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_x264/gtk/*Gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/x264"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_xvid/gtk/*Gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/xvid"
+ install -D -m755 plugins/build/ADM_videoFilters/*/*_gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoFilter"
+
+ install -D -m644 avidemux2-gtk.desktop "${pkgdir}/usr/share/applications/avidemux-gtk.desktop"
+ sed -i "s|\[\$e\]||" "${pkgdir}/usr/share/applications/avidemux-gtk.desktop"
+}
+
+package_avidemux-qt() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split) - QT GUI"
+ depends=("avidemux-cli=${pkgver}" 'qt')
+ install=avidemux.install
+
+ cd "${srcdir}/${pkgbase}_${pkgver}"
+ install -D -m755 build/avidemux/avidemux2_qt4 "${pkgdir}/usr/bin/avidemux2_qt4"
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/{x264,xvid}
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoFilter
+
+ install -D -m755 build/lib/*{_qt4,QT4}.so "${pkgdir}/usr/lib"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_x264/qt4/*Qt.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/x264"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_xvid/qt4/*Qt.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/xvid"
+ install -D -m755 plugins/build/ADM_videoFilters/*/*_qt4.so "${pkgdir}/usr/lib/ADM_plugins/videoFilter"
+
+ install -d "${pkgdir}/usr/share/avidemux/i18n"
+ install -D -m644 build/po/*.qm "${pkgdir}/usr/share/avidemux/i18n"
+
+ install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+ sed -i 's/Name=avidemux2/Name=avidemux (QT)/' "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+ sed -i 's/avidemux2_gtk/avidemux2_qt4/' "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+}
diff --git a/staging/avidemux/avidemux-2.5.4-x264-build115.patch b/staging/avidemux/avidemux-2.5.4-x264-build115.patch
new file mode 100644
index 000000000..c627667ec
--- /dev/null
+++ b/staging/avidemux/avidemux-2.5.4-x264-build115.patch
@@ -0,0 +1,45 @@
+diff -ru avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp
+--- avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp 2011-04-28 22:35:36.000000000 +0200
++++ avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp 2011-04-28 22:40:26.000000000 +0200
+@@ -488,8 +488,10 @@
+ printf("[x264] analyse.b_transform_8x8 = %d\n", x264Param->analyse.b_transform_8x8);
+ printf("[x264] analyse.inter = %d\n", x264Param->analyse.inter);
+ printf("[x264] b_cabac = %d\n", x264Param->b_cabac);
+-#if X264_BUILD > 101
++#if X264_BUILD > 101 && X264_BUILD < 115
+ printf("[x264] i_open_gop = %d\n", x264Param->i_open_gop);
++#elif X264_BUILD > 114
++ printf("[x264] b_open_gop = %d\n", x264Param->b_open_gop);
+ #endif
+ printf("[x264] b_interlaced = %d\n", x264Param->b_interlaced);
+ #if X264_BUILD > 88
+diff -ru avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp
+--- avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2011-04-28 22:35:36.000000000 +0200
++++ avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2011-04-28 22:43:36.000000000 +0200
+@@ -417,7 +417,7 @@
+ _param.b_cabac = cabac;
+ }
+
+-#if X264_BUILD > 101
++#if X264_BUILD > 101 && X264_BUILD < 115
+ unsigned int x264Options::getOpenGopMode(void)
+ {
+ return _param.i_open_gop;
+@@ -428,6 +428,17 @@
+ if (openGopMode < 3)
+ _param.i_open_gop = openGopMode;
+ }
++#elif X264_BUILD > 114
++unsigned int x264Options::getOpenGopMode(void)
++{
++ return _param.b_open_gop;
++}
++
++void x264Options::setOpenGopMode(unsigned int openGopMode)
++{
++ if (openGopMode < 3)
++ _param.b_open_gop = openGopMode;
++}
+ #endif
+
+ unsigned int x264Options::getInterlaced(void)
diff --git a/staging/avidemux/avidemux.install b/staging/avidemux/avidemux.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/staging/avidemux/avidemux.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}