# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Eric BĂ©langer <eric@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - remove --enable-lto from bundled ffmpeg build

pkgbase=avidemux
pkgname=('avidemux-cli' 'avidemux-qt')
pkgver=2.7.8
pkgrel=2
pkgdesc='Graphical tool to edit video (filter/re-encode/split)'
url='http://fixounet.free.fr/avidemux/'
arch=('x86_64')
license=('GPL2')
makedepends=('cmake' 'libxslt' 'qt5-base' 'jack' 'libvorbis' 'libxv' 'opus' 'desktop-file-utils'
             'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'x264' 'x265' 'libsamplerate'
             'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva' 'intltool' 'sqlite'
             'libvdpau' 'libdca' 'fribidi' 'glu' 'qt5-tools' 'twolame' 'libfdk-aac' 'libass')
options=('!emptydirs')
source=(https://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz
        log.diff qt-5.15.diff)
sha256sums=('628a404f521ff2812760700ae3e2aa78e5816b0ff3fb6fd05ac3e75248d97401'
            '8b751d137037f22fd4ae6750709014bcf61269a18f1c32e1a91f481285c807aa'
            '255a2446d493503dc237482f6fe26e2186f0ea0ef43ac9e17b8059fe232aad43')
sha512sums=('d936eb005a8418b8f3081fce599cd04bb1a256bb7cb4bf50bf2ed876658881ca76b8c6f3805da9f05614eea44eaf2d53da0f802b28ce76e754b738f2682df031'
            'bbae5b4a549113b12e728c4c0ac8c1c92a0b7500be8dcecc791c16c9a913406feaa9f7bc477985970a920d2df391cc9392457512d84b9c4b829981cc072f2b2e'
            'ed78c2a3e4ede4fed1d3ea353c7dc350dc73050f76c8112cb24d97b3eda01f7c186d5db199f71f56953c5e5d8104de44dc0e84e1bfa01b6647c050c11fc375f2')

prepare() {
  cd ${pkgbase}_${pkgver}
  patch -Np1 -i ../log.diff  # don't hide the build output
  patch -Np1 -i ../qt-5.15.diff  # fix build against Qt 5.15.0
  sed -i 's|../avidemux/qt4|../avidemux/qt4 -DLRELEASE_EXECUTABLE=/usr/bin/lrelease-qt5|' bootStrap.bash
  sed -e 's|0.19|1.0|' -i avidemux_plugins/ADM_videoFilters6/ass/CMakeLists.txt
  sed -i '/--enable-lto/d' cmake/admFFmpegBuild_native.cmake
}

build() {
  cd ${pkgbase}_${pkgver}
  bash bootStrap.bash --with-core --with-cli --with-plugins
}

package_avidemux-cli() {
  depends=('libxml2' 'fontconfig' 'sqlite' 'libvpx' 'libva' 'libvdpau')
  optdepends=('lame: for the corresponding audio encoder plugin'
              'faac: for the corresponding audio encoder plugin'
              'faad2: for the corresponding audio decoder plugin'
              'opus: 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'
              'x264: for the corresponding video encoder plugin'
              'libx264: for the corresponding video encoder plugin'
              'x265: for the corresponding video encoder plugin'
              'xvidcore: for the corresponding video encoder plugin'
              'qt5-base: for the QtScript scripting support'
              'libdca: for the corresponding audio decoder plugin'
              'libfdk-aac: for the corresponding audio decoder plugin'
              'twolame: for the corresponding audio decoder plugin'
              'libass: for the corresponding video filter plugin'
              'fribidi: for the corresponding video filter plugin')

  cd ${pkgbase}_${pkgver}
  make -C buildCli DESTDIR="${pkgdir}" install
  make -C buildCore DESTDIR="${pkgdir}" install
  make -C buildPluginsCLI DESTDIR="${pkgdir}" install
  make -C buildPluginsCommon DESTDIR="${pkgdir}" install

  install -Dm 644 avidemux_icon.png "${pkgdir}/usr/share/pixmaps/avidemux.png"
  install -Dm 644 man/avidemux.1 -t "${pkgdir}/usr/share/man/man1"
}

package_avidemux-qt() {
  pkgdesc='Graphical tool to edit video (filter/re-encode/split) - Qt GUI'
  depends=("avidemux-cli=${pkgver}" 'qt5-base' 'x264' 'x265' 'glu' 'libxv' 'desktop-file-utils')
  replaces=('avidemux-gtk')

  cd ${pkgbase}_${pkgver}
  make -C buildQt5 DESTDIR="${pkgdir}" install
  make -C buildPluginsQt5 DESTDIR="${pkgdir}" install
}

# vim: ts=2 sw=2 et: