summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Obermaier2023-01-05 09:19:19 +0100
committerHolger Obermaier2023-01-05 09:19:19 +0100
commitc31415392bd21569d5a148772263d2056555baf4 (patch)
treee9b0e766f11a090608aebd7bf7863d83bcccfe10
downloadaur-c31415392bd21569d5a148772263d2056555baf4.tar.gz
Initial release of handbreake optimized with LLVM
-rw-r--r--.SRCINFO96
-rw-r--r--PKGBUILD121
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: