[arch-commits] Commit in avidemux/repos (12 files)

Bartłomiej Piotrowski bpiotrowski at archlinux.org
Thu Aug 4 21:00:04 UTC 2016


    Date: Thursday, August 4, 2016 @ 21:00:03
  Author: bpiotrowski
Revision: 273050

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  avidemux/repos/testing-i686/
  avidemux/repos/testing-i686/PKGBUILD
    (from rev 273049, avidemux/trunk/PKGBUILD)
  avidemux/repos/testing-i686/PKGBUILD.WIP
    (from rev 273049, avidemux/trunk/PKGBUILD.WIP)
  avidemux/repos/testing-i686/avidemux.install
    (from rev 273049, avidemux/trunk/avidemux.install)
  avidemux/repos/testing-i686/buildfix.patch
    (from rev 273049, avidemux/trunk/buildfix.patch)
  avidemux/repos/testing-i686/mangled-variables-used-attribute.patch
    (from rev 273049, avidemux/trunk/mangled-variables-used-attribute.patch)
  avidemux/repos/testing-x86_64/
  avidemux/repos/testing-x86_64/PKGBUILD
    (from rev 273049, avidemux/trunk/PKGBUILD)
  avidemux/repos/testing-x86_64/PKGBUILD.WIP
    (from rev 273049, avidemux/trunk/PKGBUILD.WIP)
  avidemux/repos/testing-x86_64/avidemux.install
    (from rev 273049, avidemux/trunk/avidemux.install)
  avidemux/repos/testing-x86_64/buildfix.patch
    (from rev 273049, avidemux/trunk/buildfix.patch)
  avidemux/repos/testing-x86_64/mangled-variables-used-attribute.patch
    (from rev 273049, avidemux/trunk/mangled-variables-used-attribute.patch)

-------------------------------------------------------+
 testing-i686/PKGBUILD                                 |  133 ++++++++++++++++
 testing-i686/PKGBUILD.WIP                             |   84 ++++++++++
 testing-i686/avidemux.install                         |   11 +
 testing-i686/buildfix.patch                           |   63 +++++++
 testing-i686/mangled-variables-used-attribute.patch   |   12 +
 testing-x86_64/PKGBUILD                               |  133 ++++++++++++++++
 testing-x86_64/PKGBUILD.WIP                           |   84 ++++++++++
 testing-x86_64/avidemux.install                       |   11 +
 testing-x86_64/buildfix.patch                         |   63 +++++++
 testing-x86_64/mangled-variables-used-attribute.patch |   12 +
 10 files changed, 606 insertions(+)

Copied: avidemux/repos/testing-i686/PKGBUILD (from rev 273049, avidemux/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,133 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgbase=avidemux
+pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
+pkgver=2.5.6
+pkgrel=15
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://fixounet.free.fr/avidemux/"
+makedepends=('cmake' 'libxslt' 'gtk2' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv'
+             'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'libx264' 'libsamplerate'
+             'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva')
+options=('!makeflags' '!emptydirs')
+source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz
+        mangled-variables-used-attribute.patch
+        buildfix.patch)
+sha1sums=('47205c236bf6a4435b9d4dd944493c7b7e2752f5'
+          'da66b69593da62373f2309f88a284145fbfd99ac'
+          '8b4b45627a8ed4409e32ac2ece361a0cf935e9d4')
+
+prepare() {
+  cd ${pkgbase}_${pkgver}
+
+  # Fix build on i686 when using GCC 5.1
+  # https://bugs.archlinux.org/task/45361
+  patch -Np1 -i ../mangled-variables-used-attribute.patch
+
+  # Fix build with gcc 6.1 and libvpx 1.6.0
+  patch -Np1 -i ../buildfix.patch
+}
+
+build() {
+  cd ${pkgbase}_${pkgver}
+  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 \
+    -D LRELEASE_EXECUTABLE=/usr/lib/qt4/bin/lrelease ..
+  make
+
+# plugin build expects libraries to be already installed; we fake a prefix
+# in build/ by symlinking all libraries to build/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' 'libva')
+  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'
+              'libx264: for the corresponding video encoder plugin'
+              'xvidcore: for the corresponding video encoder plugin')
+  provides=('avidemux')
+  conflicts=('avidemux')
+  replaces=('avidemux')
+
+  cd ${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/share/ADM_addons/avsfilter/{avsload.exe,pipe_source.dll}
+  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 ${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}" 'qt4')
+  install=avidemux.install
+
+  cd ${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"
+}

Copied: avidemux/repos/testing-i686/PKGBUILD.WIP (from rev 273049, avidemux/trunk/PKGBUILD.WIP)
===================================================================
--- testing-i686/PKGBUILD.WIP	                        (rev 0)
+++ testing-i686/PKGBUILD.WIP	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 160693 2012-06-03 22:00:17Z eric $
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgbase=avidemux
+pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
+pkgver=2.6.8
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://fixounet.free.fr/avidemux/"
+makedepends=('cmake' 'libxslt' 'gtk3' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv' \
+             'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'x264' 'libsamplerate' \
+             'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva' \
+             'libvdpau' 'libdca' 'fribidi' 'glu')
+options=('!makeflags' '!emptydirs')
+source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz)
+sha1sums=('50f3dfe270e6272fce46d725b198b9d0dd95664b')
+#source=(http://www.avidemux.org/nightly/snapshot/source_r8810.tar.gz)
+#sha1sums=('8c27d54e2b0655a8b8a3adfde1c0308ffedfec0c')
+
+prepare() {
+#  mv 2.6_snapshot ${pkgbase}_${pkgver}
+  cd ${pkgbase}_${pkgver}
+  sed -i 's|avidemux2|avidemux3|' avidemux2.desktop
+  sed -i 's|../avidemux/qt4|../avidemux/qt4 -DLRELEASE_EXECUTABLE=/usr/bin/lrelease-qt4|' bootStrap.bash
+  sed -i 's|#include "ADM_files.h"|#include "ADM_files.h"\n#include "ADM_toolkitGtk.h"|' avidemux/gtk/ADM_userInterfaces/ui_support.cpp
+}
+
+build() {
+  cd ${pkgbase}_${pkgver}
+  bash bootStrap.bash --with-core --with-cli --with-gtk --with-qt4 --with-plugins
+}
+
+package_avidemux-cli() {
+  pkgdesc="A graphical tool to edit video (filter/re-encode/split)"
+  depends=('libxml2' 'sdl' 'fontconfig' 'libvpx' 'libva')
+  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'
+              'qt4: for the QtScript scripting support'
+              'libdca: for the corresponding audio decoder plugin'
+              'fribidi: for the corresponding video filter plugin')
+
+  cd ${pkgbase}_${pkgver}
+  (cd buildCli; make DESTDIR="${pkgdir}" install)
+  (cd buildCore; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsCLI; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsCommon; make DESTDIR="${pkgdir}" install)
+
+  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}" 'gtk3' 'libxv' 'desktop-file-utils')
+  install=avidemux.install
+
+  cd ${pkgbase}_${pkgver}
+  (cd buildGtk; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsGtk; make DESTDIR="${pkgdir}" install)
+  install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-gtk.desktop"
+
+  rm "${pkgdir}/usr/lib/ADM_plugins6/videoEncoders/libADM_ve_x264_other.so"
+}
+
+package_avidemux-qt() {
+  pkgdesc="A graphical tool to edit video (filter/re-encode/split) - Qt GUI"
+  depends=("avidemux-cli=${pkgver}" 'qt4' 'x264' 'glu')
+  install=avidemux.install
+
+  cd ${pkgbase}_${pkgver}
+  (cd buildQt4; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsQt4; make DESTDIR="${pkgdir}" install)
+
+  install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+  sed -i 's|gtk|qt4|' "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+}

Copied: avidemux/repos/testing-i686/avidemux.install (from rev 273049, avidemux/trunk/avidemux.install)
===================================================================
--- testing-i686/avidemux.install	                        (rev 0)
+++ testing-i686/avidemux.install	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,11 @@
+post_install() {
+  update-desktop-database -q
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: avidemux/repos/testing-i686/buildfix.patch (from rev 273049, avidemux/trunk/buildfix.patch)
===================================================================
--- testing-i686/buildfix.patch	                        (rev 0)
+++ testing-i686/buildfix.patch	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,63 @@
+diff --git a/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp b/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp
+index 9d11e5d..8f6ac7f 100644
+--- a/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp
++++ b/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp
+@@ -70,8 +70,8 @@ cb cb_decode[]={
+ 
+ };
+ 
+-#define ONEOPT(x) {if(parser->read1bit()) printf("\t"x"\n");			}
+-#define NOT_ONEOPT(x) {if(!parser->read1bit()) printf("\t"x"\n");			}
++#define ONEOPT(x) {if(parser->read1bit()) printf("\t" x "\n");			}
++#define NOT_ONEOPT(x) {if(!parser->read1bit()) printf("\t" x "\n");			}
+ #define TWOPT(x,y) {if(parser->read1bit()) printf(x);	else printf(y);		}
+ 
+ //_________________________________
+diff --git a/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp b/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp
+index 944d0bf..3763dd0 100644
+--- a/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp
++++ b/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp
+@@ -402,7 +402,7 @@ static WAVHeader hdr;
+ 			// Now we forward till the next header is > value
+ 			while(_demuxer->readHeaderOfType(_currentTrack->audioTrack,&cursize,&flags,&f))
+ 			{
+-				if(f>val || abs(f-val)<CLOSE_ENOUGH)
++				if(f>val || abs(static_cast<int64_t>(f-val))<CLOSE_ENOUGH)
+ 				{
+ 					aprintf("Wanted %llu",val);
+ 					aprintf(" got %llu\n",f);					
+diff --git a/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc b/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc
+index 43d40cc..e855d4f 100644
+--- a/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc
++++ b/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc
+@@ -30,7 +30,7 @@ void find_best_one_pel_mmxe( me_result_set *sub22set,
+                 int x;
+ 		matchrec = sub22set->mests[k];
+ 		orgblk = org + (i0+matchrec.x)+rowstride*(j0+matchrec.y);
+-		penalty = (abs(matchrec.x) + abs(matchrec.y))<<3;
++		penalty = (abs(static_cast<int32_t>(matchrec.x)) + abs(static_cast<int32_t>(matchrec.y)))<<3;
+ 		
+ 		/* Get SAD for macroblocks: 	orgblk,orgblk(+1,0),
+ 		   orgblk(0,+1), and orgblk(+1,+1)
+diff --git a/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp b/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp
+index c0cabbe..3a8f699 100644
+--- a/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp
++++ b/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp
+@@ -690,7 +690,7 @@ uint8_t *finalpU,*finalpV;
+                         {
+                                 // The chosen frame doesn't match the prediction.
+                                 if (predicted_metric == 0) mismatch = 0.0;
+-                                else mismatch = (100.0*abs(predicted_metric - lowest))/predicted_metric;
++                                else mismatch = (100.0*abs(static_cast<int>(predicted_metric - lowest)))/predicted_metric;
+                                 if (mismatch < gthresh)
+                                 {
+                                         // It's close enough, so use the predicted one.
+@@ -732,7 +732,7 @@ uint8_t *finalpU,*finalpV;
+                                         {
+                                                 // The chosen frame doesn't match the prediction.
+                                                 if (predicted_metric == 0) mismatch = 0.0;
+-                                                else mismatch = (100.0*abs(predicted_metric - lowest))/predicted_metric;
++                                                else mismatch = (100.0*abs(static_cast<int>(predicted_metric - lowest)))/predicted_metric;
+                                                 if ((int) mismatch <= gthresh)
+                                                 {
+                                                         // It's close enough, so use the predicted one.

Copied: avidemux/repos/testing-i686/mangled-variables-used-attribute.patch (from rev 273049, avidemux/trunk/mangled-variables-used-attribute.patch)
===================================================================
--- testing-i686/mangled-variables-used-attribute.patch	                        (rev 0)
+++ testing-i686/mangled-variables-used-attribute.patch	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,12 @@
+diff -uprw avidemux_2.5.6.orig/avidemux/ADM_core/include/ADM_mangle.h avidemux_2.5.6/avidemux/ADM_core/include/ADM_mangle.h
+--- avidemux_2.5.6.orig/avidemux/ADM_core/include/ADM_mangle.h	2011-12-29 02:32:37.000000000 +0200
++++ avidemux_2.5.6/avidemux/ADM_core/include/ADM_mangle.h	2015-06-19 07:35:59.554911423 +0300
+@@ -35,7 +35,7 @@
+ #        define FUNNY_MANGLE_ARRAY(x, y) __attribute__((used)) x[y] asm(#x)
+ #    else
+ #        define MANGLE(a) #a
+-#        define FUNNY_MANGLE(x) x asm(MANGLE(x))
++#        define FUNNY_MANGLE(x) __attribute__((used)) x asm(MANGLE(x))
+ #        define FUNNY_MANGLE_ARRAY(x, y) x[y] asm(MANGLE(x))
+ #    endif
+ #endif

Copied: avidemux/repos/testing-x86_64/PKGBUILD (from rev 273049, avidemux/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,133 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgbase=avidemux
+pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
+pkgver=2.5.6
+pkgrel=15
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://fixounet.free.fr/avidemux/"
+makedepends=('cmake' 'libxslt' 'gtk2' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv'
+             'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'libx264' 'libsamplerate'
+             'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva')
+options=('!makeflags' '!emptydirs')
+source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz
+        mangled-variables-used-attribute.patch
+        buildfix.patch)
+sha1sums=('47205c236bf6a4435b9d4dd944493c7b7e2752f5'
+          'da66b69593da62373f2309f88a284145fbfd99ac'
+          '8b4b45627a8ed4409e32ac2ece361a0cf935e9d4')
+
+prepare() {
+  cd ${pkgbase}_${pkgver}
+
+  # Fix build on i686 when using GCC 5.1
+  # https://bugs.archlinux.org/task/45361
+  patch -Np1 -i ../mangled-variables-used-attribute.patch
+
+  # Fix build with gcc 6.1 and libvpx 1.6.0
+  patch -Np1 -i ../buildfix.patch
+}
+
+build() {
+  cd ${pkgbase}_${pkgver}
+  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 \
+    -D LRELEASE_EXECUTABLE=/usr/lib/qt4/bin/lrelease ..
+  make
+
+# plugin build expects libraries to be already installed; we fake a prefix
+# in build/ by symlinking all libraries to build/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' 'libva')
+  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'
+              'libx264: for the corresponding video encoder plugin'
+              'xvidcore: for the corresponding video encoder plugin')
+  provides=('avidemux')
+  conflicts=('avidemux')
+  replaces=('avidemux')
+
+  cd ${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/share/ADM_addons/avsfilter/{avsload.exe,pipe_source.dll}
+  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 ${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}" 'qt4')
+  install=avidemux.install
+
+  cd ${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"
+}

Copied: avidemux/repos/testing-x86_64/PKGBUILD.WIP (from rev 273049, avidemux/trunk/PKGBUILD.WIP)
===================================================================
--- testing-x86_64/PKGBUILD.WIP	                        (rev 0)
+++ testing-x86_64/PKGBUILD.WIP	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 160693 2012-06-03 22:00:17Z eric $
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgbase=avidemux
+pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
+pkgver=2.6.8
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://fixounet.free.fr/avidemux/"
+makedepends=('cmake' 'libxslt' 'gtk3' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv' \
+             'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'x264' 'libsamplerate' \
+             'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva' \
+             'libvdpau' 'libdca' 'fribidi' 'glu')
+options=('!makeflags' '!emptydirs')
+source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz)
+sha1sums=('50f3dfe270e6272fce46d725b198b9d0dd95664b')
+#source=(http://www.avidemux.org/nightly/snapshot/source_r8810.tar.gz)
+#sha1sums=('8c27d54e2b0655a8b8a3adfde1c0308ffedfec0c')
+
+prepare() {
+#  mv 2.6_snapshot ${pkgbase}_${pkgver}
+  cd ${pkgbase}_${pkgver}
+  sed -i 's|avidemux2|avidemux3|' avidemux2.desktop
+  sed -i 's|../avidemux/qt4|../avidemux/qt4 -DLRELEASE_EXECUTABLE=/usr/bin/lrelease-qt4|' bootStrap.bash
+  sed -i 's|#include "ADM_files.h"|#include "ADM_files.h"\n#include "ADM_toolkitGtk.h"|' avidemux/gtk/ADM_userInterfaces/ui_support.cpp
+}
+
+build() {
+  cd ${pkgbase}_${pkgver}
+  bash bootStrap.bash --with-core --with-cli --with-gtk --with-qt4 --with-plugins
+}
+
+package_avidemux-cli() {
+  pkgdesc="A graphical tool to edit video (filter/re-encode/split)"
+  depends=('libxml2' 'sdl' 'fontconfig' 'libvpx' 'libva')
+  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'
+              'qt4: for the QtScript scripting support'
+              'libdca: for the corresponding audio decoder plugin'
+              'fribidi: for the corresponding video filter plugin')
+
+  cd ${pkgbase}_${pkgver}
+  (cd buildCli; make DESTDIR="${pkgdir}" install)
+  (cd buildCore; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsCLI; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsCommon; make DESTDIR="${pkgdir}" install)
+
+  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}" 'gtk3' 'libxv' 'desktop-file-utils')
+  install=avidemux.install
+
+  cd ${pkgbase}_${pkgver}
+  (cd buildGtk; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsGtk; make DESTDIR="${pkgdir}" install)
+  install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-gtk.desktop"
+
+  rm "${pkgdir}/usr/lib/ADM_plugins6/videoEncoders/libADM_ve_x264_other.so"
+}
+
+package_avidemux-qt() {
+  pkgdesc="A graphical tool to edit video (filter/re-encode/split) - Qt GUI"
+  depends=("avidemux-cli=${pkgver}" 'qt4' 'x264' 'glu')
+  install=avidemux.install
+
+  cd ${pkgbase}_${pkgver}
+  (cd buildQt4; make DESTDIR="${pkgdir}" install)
+  (cd buildPluginsQt4; make DESTDIR="${pkgdir}" install)
+
+  install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+  sed -i 's|gtk|qt4|' "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+}

Copied: avidemux/repos/testing-x86_64/avidemux.install (from rev 273049, avidemux/trunk/avidemux.install)
===================================================================
--- testing-x86_64/avidemux.install	                        (rev 0)
+++ testing-x86_64/avidemux.install	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,11 @@
+post_install() {
+  update-desktop-database -q
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: avidemux/repos/testing-x86_64/buildfix.patch (from rev 273049, avidemux/trunk/buildfix.patch)
===================================================================
--- testing-x86_64/buildfix.patch	                        (rev 0)
+++ testing-x86_64/buildfix.patch	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,63 @@
+diff --git a/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp b/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp
+index 9d11e5d..8f6ac7f 100644
+--- a/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp
++++ b/avidemux/ADM_inputs/ADM_h263/ADM_mp4.cpp
+@@ -70,8 +70,8 @@ cb cb_decode[]={
+ 
+ };
+ 
+-#define ONEOPT(x) {if(parser->read1bit()) printf("\t"x"\n");			}
+-#define NOT_ONEOPT(x) {if(!parser->read1bit()) printf("\t"x"\n");			}
++#define ONEOPT(x) {if(parser->read1bit()) printf("\t" x "\n");			}
++#define NOT_ONEOPT(x) {if(!parser->read1bit()) printf("\t" x "\n");			}
+ #define TWOPT(x,y) {if(parser->read1bit()) printf(x);	else printf(y);		}
+ 
+ //_________________________________
+diff --git a/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp b/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp
+index 944d0bf..3763dd0 100644
+--- a/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp
++++ b/avidemux/ADM_inputs/ADM_ogm/ADM_ogmAudio.cpp
+@@ -402,7 +402,7 @@ static WAVHeader hdr;
+ 			// Now we forward till the next header is > value
+ 			while(_demuxer->readHeaderOfType(_currentTrack->audioTrack,&cursize,&flags,&f))
+ 			{
+-				if(f>val || abs(f-val)<CLOSE_ENOUGH)
++				if(f>val || abs(static_cast<int64_t>(f-val))<CLOSE_ENOUGH)
+ 				{
+ 					aprintf("Wanted %llu",val);
+ 					aprintf(" got %llu\n",f);					
+diff --git a/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc b/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc
+index 43d40cc..e855d4f 100644
+--- a/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc
++++ b/plugins/ADM_videoEncoder/ADM_vidEnc_mpeg2enc/mpeg2enc/find_best_one_pel.cc
+@@ -30,7 +30,7 @@ void find_best_one_pel_mmxe( me_result_set *sub22set,
+                 int x;
+ 		matchrec = sub22set->mests[k];
+ 		orgblk = org + (i0+matchrec.x)+rowstride*(j0+matchrec.y);
+-		penalty = (abs(matchrec.x) + abs(matchrec.y))<<3;
++		penalty = (abs(static_cast<int32_t>(matchrec.x)) + abs(static_cast<int32_t>(matchrec.y)))<<3;
+ 		
+ 		/* Get SAD for macroblocks: 	orgblk,orgblk(+1,0),
+ 		   orgblk(0,+1), and orgblk(+1,+1)
+diff --git a/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp b/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp
+index c0cabbe..3a8f699 100644
+--- a/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp
++++ b/plugins/ADM_videoFilters/Telecide/ADM_vidDecTelecide.cpp
+@@ -690,7 +690,7 @@ uint8_t *finalpU,*finalpV;
+                         {
+                                 // The chosen frame doesn't match the prediction.
+                                 if (predicted_metric == 0) mismatch = 0.0;
+-                                else mismatch = (100.0*abs(predicted_metric - lowest))/predicted_metric;
++                                else mismatch = (100.0*abs(static_cast<int>(predicted_metric - lowest)))/predicted_metric;
+                                 if (mismatch < gthresh)
+                                 {
+                                         // It's close enough, so use the predicted one.
+@@ -732,7 +732,7 @@ uint8_t *finalpU,*finalpV;
+                                         {
+                                                 // The chosen frame doesn't match the prediction.
+                                                 if (predicted_metric == 0) mismatch = 0.0;
+-                                                else mismatch = (100.0*abs(predicted_metric - lowest))/predicted_metric;
++                                                else mismatch = (100.0*abs(static_cast<int>(predicted_metric - lowest)))/predicted_metric;
+                                                 if ((int) mismatch <= gthresh)
+                                                 {
+                                                         // It's close enough, so use the predicted one.

Copied: avidemux/repos/testing-x86_64/mangled-variables-used-attribute.patch (from rev 273049, avidemux/trunk/mangled-variables-used-attribute.patch)
===================================================================
--- testing-x86_64/mangled-variables-used-attribute.patch	                        (rev 0)
+++ testing-x86_64/mangled-variables-used-attribute.patch	2016-08-04 21:00:03 UTC (rev 273050)
@@ -0,0 +1,12 @@
+diff -uprw avidemux_2.5.6.orig/avidemux/ADM_core/include/ADM_mangle.h avidemux_2.5.6/avidemux/ADM_core/include/ADM_mangle.h
+--- avidemux_2.5.6.orig/avidemux/ADM_core/include/ADM_mangle.h	2011-12-29 02:32:37.000000000 +0200
++++ avidemux_2.5.6/avidemux/ADM_core/include/ADM_mangle.h	2015-06-19 07:35:59.554911423 +0300
+@@ -35,7 +35,7 @@
+ #        define FUNNY_MANGLE_ARRAY(x, y) __attribute__((used)) x[y] asm(#x)
+ #    else
+ #        define MANGLE(a) #a
+-#        define FUNNY_MANGLE(x) x asm(MANGLE(x))
++#        define FUNNY_MANGLE(x) __attribute__((used)) x asm(MANGLE(x))
+ #        define FUNNY_MANGLE_ARRAY(x, y) x[y] asm(MANGLE(x))
+ #    endif
+ #endif



More information about the arch-commits mailing list