summaryrefslogtreecommitdiff
path: root/libre/handbrake-svn/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/handbrake-svn/PKGBUILD')
-rw-r--r--libre/handbrake-svn/PKGBUILD168
1 files changed, 168 insertions, 0 deletions
diff --git a/libre/handbrake-svn/PKGBUILD b/libre/handbrake-svn/PKGBUILD
new file mode 100644
index 000000000..19803de3c
--- /dev/null
+++ b/libre/handbrake-svn/PKGBUILD
@@ -0,0 +1,168 @@
+# 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-svn' 'handbrake-cli-svn')
+_pkgver=0.9.9.1
+pkgver=6103
+url="http://handbrake.fr/"
+license=('GPL')
+
+pkgrel=1
+arch=('i686' 'x86_64')
+makedepends=('intltool' 'python2' 'gcc-libs' 'libnotify'
+ 'gst-plugins-base' 'gtk3' 'dbus-glib')
+
+# The format is: handbrake_name:[system_name|tarball]
+# This list should pretty closely correspond to `grep contrib/ make/include/main.defs`
+# _config_loc
+# format: "ignored:pacman_pkgname"
+# For packages that optionally use the system's versions. The
+# build system is not modified, in order that if the module version
+# is used, it fails early (assuming the network is down).
+# _config_mod
+# format: "module_name:file_name"
+# For packages that are built as modules.
+# _config_sys
+# format: "module_name:pacman_pkgname"
+# For modules that we *force* to be the system versions.
+# _config_ign
+# format: "ignored"
+# For modules that are optional, but we don't want to download.
+declare -ag _contrib_{loc,sys,mod,ign}
+_contrib_loc+=('pkgconfig') # FEATURE.local_pkgconfig
+_contrib_loc+=('autoconf' # FEATURE.local_autotools
+ 'automake'
+ 'libtool'
+ 'm4')
+_contrib_loc+=('bzip2') # HAS.bz2
+_contrib_loc+=('fontconfig'
+ 'freetype:freetype2'
+ 'fribidi'
+ 'libxml2'
+ 'libass'
+ 'libogg'
+ 'libvorbis'
+ 'libtheora'
+ 'libsamplerate')
+# XXX: I can't get it to set LDFLAGS right to use system fdk-aac
+_contrib_mod+=('fdk-aac:fdk-aac-v0.1.1-6-gbae4553.tar.bz2') # FEATURE.fdk_aac (sys:libfdk-aac)
+# XXX: I can't get it to set LDFLAGS right to use system mp4v2
+_contrib_mod+=('mp4v2:mp4v2-trunk-r355.tar.bz2') # FEATURE.mp4v2 (sys:libmp4v2)
+# libmkv is patched to add features
+_contrib_mod+=('libmkv:libmkv-0.6.5-0-g82075ae.tar.gz') # FEATURE.libmkv
+_contrib_ign+=('x265') # FEATURE.x265
+_contrib_sys+=('lame') # always
+# Using system ffmpeg will break PGS subtitle processing
+# https://forum.handbrake.fr/viewtopic.php?f=13&t=27581
+_contrib_mod+=('ffmpeg:libav-v10_beta1.tar.bz2') # always
+_contrib_sys+=('libdvdread') # always
+# XXX: I don't even know, but system libdvdnav doesn't work
+_contrib_mod+=('libdvdnav:libdvdnav-a5c1325.tar.bz2') # always
+_contrib_sys+=('libbluray') # always
+_contrib_ign+=('libmfx') # FEATURE.qsv
+_contrib_sys+=('x264') # always
+_contrib_loc+=('zlib') # HAS.libz
+_contrib_loc+=('yasm') # FEATURE.local_yasm
+
+makedepends+=("${_contrib_loc[@]#*:}" "${_contrib_sys[@]#*:}")
+
+source=("https://repo.parabolagnulinux.org/other/handbrake/HandBrake-svn${pkgver}.tar.gz")
+for _f in "${_contrib_mod[@]#*:}"; do
+ source+=("http://download.handbrake.fr/handbrake/contrib/${_f}")
+ noextract+=("${_f}")
+done; unset _f
+sha256sums=('59aac48702c8b55d78e8cba3f94b4cc42f8077bce6d775d1560891628ed532a1'
+ 'f08584d59a02db5facf548ae860c64d2870db63477f605af763c161a1508dcbc'
+ '5b7d4e62df506b1246463da82cc2f02415eb462e6ccd5848f98f5cdcfc1f3d4f'
+ '7314a296c68f42b826164074a96e247e52d8ef9287c21ebc5fe1bf9e73643e97'
+ '41e7b81c4bf49acf4f5e74a61ffe2a593d22df5326997aa4fb253b5de1410773'
+ 'd190ce2ca4d1d9878145acd9c1b8ac76636c3b6d12066e8cc87ee674f943fb2a')
+
+mksource=("HandBrake-svn${pkgver}::svn://svn.handbrake.fr/HandBrake/trunk")
+mkmd5sums=('SKIP')
+
+prepare() {
+ cd "$srcdir/HandBrake-svn$pkgver"
+
+ # Use Python 2
+ sed -i 's/python /python2 /' gtk/src/Makefile.am
+
+ local contrib
+ # Use more system libs
+ for contrib in "${_contrib_sys[@]}"; do
+ sed -i \
+ -e "s/MODULES += contrib\/${contrib%:*}\$/#& # provided by ${contrib#*:}/" \
+ make/include/main.defs
+ done
+ # Use the pre-downloaded files
+ mkdir -p download
+ for contrib in "${_contrib_mod[@]}"; do
+ ln -srf "${srcdir}/${contrib[@]#*:}" download/
+ done
+
+ # Fix libhb to work with the stable release of libmp4v2
+ if in_array libmp4v2 "${makedepends[@]}"; then
+ local arg='\([^,)]*\)'
+ sed -i \
+ -e "s/MP4Close(${arg})/MP4Close(\1, 0)/" \
+ -e "s/MP4Create(${arg},${arg},${arg})/MP4Create(\1,\3)/" \
+ -e "s/MP4Optimize(${arg},${arg},${arg})/MP4Optimize(\1,\2)/" \
+ -e "s/MP4Read(${arg},${arg})/MP4Read(\1)/" \
+ libhb/decmetadata.c libhb/muxmp4.c
+ fi
+
+ # Fix configure.ac to work with automake 1.13
+ if in_array automake "${makedepends[@]}"; then
+ cd gtk
+ sed -i \
+ -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' \
+ -e '/AM_PROG_CC_STDC/d' \
+ -e 's/$pkg_gudev"/gmodule-2.0 $pkg_gudev"/' \
+ configure.ac
+ autoreconf -vi
+ fi
+}
+
+build() {
+ cd "$srcdir/HandBrake-svn$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --force \
+ --disable-gtk-update-checks
+ cd build
+ make -j1
+}
+
+package_handbrake-svn() {
+ pkgdesc="Multithreaded video transcoder"
+ depends=('bzip2' 'gcc-libs' 'gst-plugins-base' 'libnotify' 'dbus-glib'
+ 'fribidi' 'libass' 'gtk3' 'fontconfig' 'freetype2' 'libxml2'
+ 'libogg' 'libvorbis' 'libtheora' 'libsamplerate' 'libbluray'
+ 'x264' 'desktop-file-utils' 'hicolor-icon-theme')
+ optdepends=('gst-plugins-good: for video previews'
+ 'gst-libav: for video previews')
+ install=$pkgname.install
+ provides=("${pkgname%-svn}-${_pkgver}")
+ conflicts=("${pkgname%-svn}")
+
+ cd "$srcdir/HandBrake-svn$pkgver/build"
+
+ make -j1 DESTDIR="$pkgdir" install
+ rm "$pkgdir/usr/bin/HandBrakeCLI"
+}
+
+package_handbrake-cli-svn() {
+ pkgdesc="Multithreaded video transcoder (CLI)"
+ depends=('bzip2' 'gcc-libs' 'zlib' 'fribidi' 'libass' 'libxml2' 'libtheora'
+ 'libsamplerate' 'libbluray' 'x264')
+ provides=("${pkgname%-svn}-${_pkgver}")
+ conflicts=("${pkgname%-svn}")
+
+ cd "$srcdir/HandBrake-svn$pkgver/build"
+ install -D HandBrakeCLI "$pkgdir/usr/bin/HandBrakeCLI"
+}
+
+# vim:set ts=2 sw=2 et: