summaryrefslogtreecommitdiff
path: root/extra/avidemux/PKGBUILD
blob: 9e33a4c91a189bdb2b19babaa1cb47e681c7b1d8 (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
# $Id: PKGBUILD 142664 2011-11-12 17:45:03Z ibiru $
# Maintainer: Eric Bélanger <eric@archlinux.org>

pkgbase=avidemux
pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt')
pkgver=2.5.5
pkgrel=6
arch=('i686' 'x86_64' 'mips64el')
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"
}