diff options
author | root <root@rshg054.dnsready.net> | 2011-11-01 23:15:01 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-11-01 23:15:01 +0000 |
commit | 37a1064b8105764414f279ced442e6ba2f63bea1 (patch) | |
tree | 173b87cd6535e622eff464080b398e0330df72bc /staging/avidemux | |
parent | 560562e36a27da267f2f4f7989806790192888ef (diff) |
Tue Nov 1 23:15:01 UTC 2011
Diffstat (limited to 'staging/avidemux')
-rw-r--r-- | staging/avidemux/PKGBUILD | 120 | ||||
-rw-r--r-- | staging/avidemux/avidemux-2.5.4-x264-build115.patch | 45 | ||||
-rw-r--r-- | staging/avidemux/avidemux.install | 11 |
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 +} |