diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-02 01:41:38 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-02 01:41:38 -0600 |
commit | 1571e8281df55e566abfeab9ddc8b9b6a71d5f50 (patch) | |
tree | cfcb8d5f5b6de4dfde2edc31134581def86677de /libre/handbrake/PKGBUILD | |
parent | d27fff697b1008ed25a1f76082e4d40567138574 (diff) | |
download | abslibre-1571e8281df55e566abfeab9ddc8b9b6a71d5f50.tar.gz abslibre-1571e8281df55e566abfeab9ddc8b9b6a71d5f50.tar.bz2 abslibre-1571e8281df55e566abfeab9ddc8b9b6a71d5f50.zip |
update HandBrake; mv libre/handbrake{-svn,}
Diffstat (limited to 'libre/handbrake/PKGBUILD')
-rw-r--r-- | libre/handbrake/PKGBUILD | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/libre/handbrake/PKGBUILD b/libre/handbrake/PKGBUILD new file mode 100644 index 000000000..61211f85a --- /dev/null +++ b/libre/handbrake/PKGBUILD @@ -0,0 +1,136 @@ +# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> +# Maintainer (Arch): Evangelos Foutras <evangelos@foutrelis.com> +# Contributor (Arch): Giovanni Scafora <giovanni@archlinux.org> +# Contributor (Arch): Sebastien Piccand <sebcactus gmail com> + +pkgname=('handbrake' 'handbrake-cli') +pkgver=0.10.1 +pkgrel=2.parabola +url="http://handbrake.fr/" +license=('GPL') + +pkgrel=1 +arch=('i686' 'x86_64') +depends=('gcc-libs') +_gui_depends=('libnotify' 'dbus-glib' 'gtk3' 'gst-plugins-base') +makedepends=('intltool' 'python2' "${_gui_depends[@]}") +source=(https://handbrake.fr/mirror/HandBrake-$pkgver.tar.bz2 + standard-presets-fix-type.patch) + +# HandBrake has a bunch of dependencies that may be either pacman +# packages, or built in the contrib/ directory as "modules". This is +# a big config section to decide which dependencies are going to be +# pacman packages, and which dependencies are going to be modules. +# +# This list should pretty closely correspond to +# `grep contrib/ make/include/main.defs` +# +# The format for _depends[n] is: handbrake_name[:pacman_name] +# The format for _modules[n] is: handbrake_name:tarball_name +makedepends+=('pkgconfig') # module if FEATURE.local_pkgconfig +makedepends+=('cmake') # module if FEATURE.local_cmake +makedepends+=('autoconf') # module if FEATURE.local_autotools +makedepends+=('automake') # module if FEATURE.local_autotools +makedepends+=('libtool') # module if FEATURE.local_autotools +makedepends+=('m4') # module if FEATURE.local_autotools +depends+=('bzip2') # module if !HAS.bz2 +depends+=('fontconfig') # module if on darwin, cygwin, or mingw +depends+=('freetype2') # module if on darwin, cygwin, or mingw +depends+=('fribidi') # module if on darwin, cygwin, or mingw +depends+=('libxml2') # module if on darwin, cygwin, or mingw +depends+=('libass') # module if on darwin, cygwin, or mingw +depends+=('libogg') # module if on darwin, cygwin, or mingw +depends+=('libvorbis') # module if on darwin, cygwin, or mingw +depends+=('libtheora') # module if on darwin, cygwin, or mingw +depends+=('libsamplerate') # module if on darwin, cygwin, or mingw +depends+=('lame') # module if on darwin, cygwin, or mingw +depends+=('libx264') # module if on darwin, cygwin, or mingw +_depends+=('fdk-aac:libfdk-aac') # enable as module if FEATURE.fdk_aac +_depends+=('x265') # enable as module if FEATURE.x265 +# Using system ffmpeg will break PGS subtitle processing +# https://forum.handbrake.fr/viewtopic.php?f=13&t=27581 +_modules+=('ffmpeg:libav-v10.1.tar.bz2') # always a module +_depends+=('libvpx') # always a module +_depends+=('libdvdread') # always a module; also forced in Arch +_depends+=('libdvdnav') # always a module; also forced in Arch +_depends+=('libbluray') # always a module; also forced in Arch +#_depends+=('pthreadw32') # module if !HAS.pthread (glibc) +#_depends+=('libmfx') # enable as module if FEATURE.qsv +#_depends+=('libiconv') # module if !HAS.iconv (glibc) +depends+=('zlib') # module if !HAS.libz +#_depends+=('libgnurx') # module if !HAS.regex (glibc) +makedepends+=('yasm') # module if FEATURE.local_yasm + +depends+=("${_depends[@]#*:}") +source+=("${_modules[@]/#*:/http://download.handbrake.fr/handbrake/contrib/}") +noextract+=("${_modules[@]#*:}") + +# Lock the specific version of libx264, as it changes often. +depends+=('libx264.so') + +sha256sums=('7ea42031fd4d5efd04903a9aae79c952c50fd43b6f7bf08fd1a93f6b358a23f5' + 'dce9dc044321b26a9022b1a4d23950c781c51c8c07653ba19c3eedf30f1d54d4' + 'bc3807426d4e73fe8c245730b0df4ba95766cf7e17e47c738ee302f73d066ac9') + +prepare() { + cd "$srcdir/HandBrake-$pkgver" + + local dep + + # Use more system libraries + for dep in "${_depends[@]}"; do + sed -i \ + -e "s/MODULES += contrib\/${dep%:*}\$/#& # provided by ${dep#*:}/" \ + make/include/main.defs + done + echo 'TEST.GCC.l += fdk-aac x265' >> test/module.defs + + # Use the pre-downloaded files + mkdir -p download + for dep in "${_modules[@]}"; do + ln -srf "${srcdir}/${dep[@]#*:}" download/ + done + + # Fix crash while adding job (FS#43060) + # https://forum.handbrake.fr/viewtopic.php?f=12&t=32090 + # https://trac.handbrake.fr/changeset/7008/branches/0.10.x + patch -Np2 -i ../standard-presets-fix-type.patch +} + +build() { + cd "$srcdir/HandBrake-$pkgver" + + ./configure \ + --prefix=/usr \ + --force \ + --disable-gtk-update-checks + cd build + make +} + +package_handbrake() { + pkgdesc="Multithreaded video transcoder" + depends+=("${_gui_depends[@]}" 'hicolor-icon-theme' 'desktop-file-utils') + optdepends=('gst-plugins-good: for video previews' + 'gst-libav: for video previews') + install=$pkgname.install + + conflicts=("$pkgname-svn") + replaces=("$pkgname-svn") + + cd "$srcdir/HandBrake-$pkgver/build" + make DESTDIR="$pkgdir" install + rm "$pkgdir/usr/bin/HandBrakeCLI" +} + +package_handbrake-cli() { + pkgdesc+="Multithreaded video transcoder (CLI)" + + conflicts=("$pkgname-svn") + replaces=("$pkgname-svn") + + cd "$srcdir/HandBrake-$pkgver/build" + install -D HandBrakeCLI "$pkgdir/usr/bin/HandBrakeCLI" +} + +# vim:set ts=2 sw=2 et: |