summaryrefslogtreecommitdiff
path: root/libre/avidemux/PKGBUILD
blob: fe1a6598844446eb7458dc1be56beb941615c905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# $Id: PKGBUILD 233096 2015-03-09 01:43:05Z eric $
# Maintainer (Arch): Eric Bélanger <eric@archlinux.org>
# Maintainer: André Silva <emulatorman@parabola.nu>

pkgbase=avidemux
pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
pkgver=2.5.6
pkgrel=10.parabola1
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://fixounet.free.fr/avidemux/"
makedepends=('cmake' 'libxslt' 'gtk2' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv'
             'alsa-lib' 'lame' 'xvidcore' 'faad2' 'x264-dev' 'libsamplerate'
             'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva')
options=('!makeflags' '!emptydirs')
source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz)
sha1sums=('47205c236bf6a4435b9d4dd944493c7b7e2752f5')

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), without nonfree faac support"
  depends=('libxml2' 'sdl' 'fontconfig' 'libvpx' 'libva')
  optdepends=('lame: 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' 'avidemux-libre-cli' 'avidemux-cli-parabola')
  replaces=('avidemux' 'avidemux-libre-cli' 'avidemux-cli-parabola')

  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, without nonfree faac support"
  depends=("avidemux-cli=${pkgver}" 'gtk2' 'libxv' 'desktop-file-utils')
  replaces=('avidemux-libre-gtk' 'avidemux-gtk-parabola')
  conflicts=('avidemux-libre-gtk' 'avidemux-gtk-parabola')
  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, without nonfree faac support"
  depends=("avidemux-cli=${pkgver}" 'qt4')
  replaces=('avidemux-libre-qt' 'avidemux-qt-parabola')
  conflicts=('avidemux-libre-qt' 'avidemux-qt-parabola')
  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"
}