# Maintainer: Luke Shumaker # Maintainer (Arch): Evangelos Foutras # Contributor (Arch): Giovanni Scafora # Contributor (Arch): Sebastien Piccand pkgname=('handbrake-svn' 'handbrake-cli-svn') _pkgver=0.9.9.1 pkgver=6207 url="http://handbrake.fr/" license=('GPL') pkgrel=1 arch=('i686' 'x86_64' 'mips64el') 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.1.tar.bz2') # always # XXX: I can't get it to set LDFLAGS right to use system libvpx _contrib_mod+=('libvpx:libvpx-v1.3.0.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.parabola.nu/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=('2e9cda0bbfc47252c2ebe70b4faa1b34bc8193077f8c32163c9ed702ac6f99ec' 'f08584d59a02db5facf548ae860c64d2870db63477f605af763c161a1508dcbc' '5b7d4e62df506b1246463da82cc2f02415eb462e6ccd5848f98f5cdcfc1f3d4f' '7314a296c68f42b826164074a96e247e52d8ef9287c21ebc5fe1bf9e73643e97' 'bc3807426d4e73fe8c245730b0df4ba95766cf7e17e47c738ee302f73d066ac9' 'd3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9' '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: