diff options
author | Holger Obermaier | 2023-01-05 09:19:19 +0100 |
---|---|---|
committer | Holger Obermaier | 2023-01-05 09:19:19 +0100 |
commit | c31415392bd21569d5a148772263d2056555baf4 (patch) | |
tree | e9b0e766f11a090608aebd7bf7863d83bcccfe10 | |
download | aur-c31415392bd21569d5a148772263d2056555baf4.tar.gz |
Initial release of handbreake optimized with LLVM
-rw-r--r-- | .SRCINFO | 96 | ||||
-rw-r--r-- | PKGBUILD | 121 |
2 files changed, 217 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..6e54ad5e3d06 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,96 @@ +pkgbase = handbrake-llvm-optimized + pkgver = 1.6.0.r10.gdb0798d91 + pkgrel = 4 + url = https://handbrake.fr/ + arch = x86_64 + license = GPL + makedepends = intltool + makedepends = python + makedepends = nasm + makedepends = wget + makedepends = cmake + makedepends = meson + makedepends = git + makedepends = clang + makedepends = lld + makedepends = llvm + makedepends = libxml2 + makedepends = libass + makedepends = libvorbis + makedepends = opus + makedepends = speex + makedepends = libtheora + makedepends = lame + makedepends = x264 + makedepends = jansson + makedepends = libvpx + makedepends = libva + makedepends = numactl + makedepends = bzip2 + makedepends = gcc-libs + makedepends = zlib + makedepends = xz + makedepends = libjpeg-turbo + makedepends = gst-plugins-base + makedepends = gtk3 + makedepends = librsvg + makedepends = libgudev + options = !lto + source = HandBrake::git+https://github.com/HandBrake/HandBrake.git#branch=master + sha256sums = SKIP + +pkgname = handbrake-llvm-optimized + pkgdesc = Multithreaded video transcoder optimized with LLVM + depends = desktop-file-utils + depends = hicolor-icon-theme + depends = libxml2 + depends = libass + depends = libvorbis + depends = opus + depends = speex + depends = libtheora + depends = lame + depends = x264 + depends = jansson + depends = libvpx + depends = libva + depends = numactl + depends = bzip2 + depends = gcc-libs + depends = zlib + depends = xz + depends = libjpeg-turbo + depends = gst-plugins-base + depends = gtk3 + depends = librsvg + depends = libgudev + optdepends = gst-plugins-good: for video previews + optdepends = gst-libav: for video previews + optdepends = intel-media-sdk: Intel QuickSync support + optdepends = libdvdcss: for decoding encrypted DVDs + provides = handbrake + conflicts = handbrake + +pkgname = handbrake-llvm-optimized-cli + pkgdesc = Multithreaded video transcoder optimized with LLVM (CLI) + depends = libxml2 + depends = libass + depends = libvorbis + depends = opus + depends = speex + depends = libtheora + depends = lame + depends = x264 + depends = jansson + depends = libvpx + depends = libva + depends = numactl + depends = bzip2 + depends = gcc-libs + depends = zlib + depends = xz + depends = libjpeg-turbo + optdepends = intel-media-sdk: Intel QuickSync support + optdepends = libdvdcss: for decoding encrypted DVDs + provides = handbrake-cli + conflicts = handbrake-cli diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f061f0950e98 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,121 @@ +# Maintainer: Holger Obermaier <holgerob@gmx.de> +# Contributor: Evangelos Foutras <evangelos@foutrelis.com> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Sebastien Piccand <sebcactus gmail com> + +pkgname=( + 'handbrake-llvm-optimized' + 'handbrake-llvm-optimized-cli' +) + +function git_version() { + git -C HandBrake/ fetch --prune --prune-tags + git -C HandBrake/ gc --auto --prune=now + git -C HandBrake/ log + git -C HandBrake/ describe | sed -e 's/^v//g' -e 's/^/pkgver=/g' -e 's/-/.r/' -e 's/-/./' +} + +pkgver=1.6.0.r10.gdb0798d91 +pkgrel=4 +arch=('x86_64') +url="https://handbrake.fr/" +license=('GPL') +_commondeps=( + 'libxml2' + 'libass' + 'libvorbis' + 'opus' + 'speex' + 'libtheora' + 'lame' + 'x264' + 'jansson' + 'libvpx' + 'libva' + 'numactl' + 'bzip2' + 'gcc-libs' + 'zlib' + 'xz' + 'libjpeg-turbo' +) +_guideps=( + 'gst-plugins-base' + 'gtk3' + 'librsvg' + 'libgudev' +) +makedepends=('intltool' 'python' 'nasm' 'wget' 'cmake' 'meson' 'git' + 'clang' 'lld' 'llvm' + "${_commondeps[@]}" "${_guideps[@]}") +options=('!lto') # https://bugs.archlinux.org/task/72600 +source=("HandBrake::git+https://github.com/HandBrake/HandBrake.git#branch=master") +sha256sums=('SKIP') + +prepare() { + cd "$srcdir/HandBrake" +} + +build() { + cd "$srcdir/HandBrake" + unset CFLAGS CXXFLAGS LDFLAGS + export CC="/usr/bin/clang" + export CXX="/usr/bin/clang++" + export CPP="/usr/bin/clang-cpp" + export LD="/usr/bin/lld" + export AR="/usr/bin/llvm-ar" + export RANLIB="/usr/bin/llvm-ranlib" + export NM="/usr/bin/llvm-nm" + export ADDR2LINE="/usr/bin/llvm-addr2line" + export OBJCOPY="/usr/bin/llvm-objcopy" + export OBJDUMP="/usr/bin/llvm-objdump" + export READELF="/usr/bin/llvm-readelf" + export STRIP="/usr/bin/llvm-strip" + + export LDFLAGS="-fuse-ld=lld" + + ./configure \ + --launch-jobs=0 \ + --prefix=/usr \ + --cc="${CC}" \ + --ar="${AR}" \ + --ranlib="${RANLIB}" \ + --strip="${STRIP}" \ + --optimize=speed \ + --cpu=native \ + --lto=on \ + --enable-qsv \ + --enable-vce + make -C build +} + +package_handbrake-llvm-optimized() { + pkgdesc="Multithreaded video transcoder optimized with LLVM" + depends=('desktop-file-utils' 'hicolor-icon-theme' + "${_commondeps[@]}" "${_guideps[@]}") + optdepends=('gst-plugins-good: for video previews' + 'gst-libav: for video previews' + 'intel-media-sdk: Intel QuickSync support' + 'libdvdcss: for decoding encrypted DVDs') + provides=(handbrake) + conflicts=(handbrake) + + cd "$srcdir/HandBrake/build" + + make DESTDIR="$pkgdir" install + rm "$pkgdir/usr/bin/HandBrakeCLI" +} + +package_handbrake-llvm-optimized-cli() { + pkgdesc="Multithreaded video transcoder optimized with LLVM (CLI)" + depends=("${_commondeps[@]}") + optdepends=('intel-media-sdk: Intel QuickSync support' + 'libdvdcss: for decoding encrypted DVDs') + provides=(handbrake-cli) + conflicts=(handbrake-cli) + + cd "$srcdir/HandBrake/build" + install -D HandBrakeCLI "$pkgdir/usr/bin/HandBrakeCLI" +} + +# vim:set ts=2 sw=2 et: |