summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorDaniel Bermond2018-07-28 00:23:14 +0000
committerDaniel Bermond2018-07-28 00:23:14 +0000
commit1a1cea3c5fd845438ff7402dc4340971564170c7 (patch)
treee260f22f5e92a640186bd706041f27f309782d23 /PKGBUILD
downloadaur-1a1cea3c5fd845438ff7402dc4340971564170c7.tar.gz
Initial commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD120
1 files changed, 120 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6a2963faafff
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,120 @@
+# Maintainer : Daniel Bermond < yahoo-com: danielbermond >
+
+# NOTE:
+# - 10-bit depth currently fails to build
+# - 10-bit sections are commented out until it works
+
+pkgbase=xavs2-git
+pkgname=('xavs2-git' 'libxavs2-git') #'libxavs2-10bit-git' 'libxavs2-all-git')
+pkgver=1.0.r75.gd5c2ec2
+pkgrel=1
+arch=('i686' 'x86_64')
+url='https://github.com/pkuvcl/xavs2/'
+license=('GPL')
+depends=('glibc')
+makedepends=('git' 'gcc7' 'yasm' 'l-smash')
+source=("$pkgbase"::'git+https://github.com/pkuvcl/xavs2.git')
+sha256sums=('SKIP')
+
+prepare() {
+ cd "$pkgbase"
+
+ # use gcc7 (it does not build with gcc8)
+ sed -i 's/gcc/gcc-7/' build/linux/configure
+
+ # must copy the entire source tree for each build or it will not work
+ cd "$srcdir"
+ cp -af "$pkgbase" build-8bit
+ #cp -af "$pkgbase" build-10bit
+}
+
+pkgver() {
+ cd "$pkgbase"
+
+ # git, tags available
+ git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'
+}
+
+build() {
+ for _depth in 8 #10
+ do
+ msg2 "Building for ${_depth}-bit..."
+
+ cd "build-${_depth}bit/build/linux"
+
+ ./configure \
+ --prefix='/usr' \
+ --enable-shared \
+ --bit-depth="$_depth" \
+ --chroma-format='all' \
+ --enable-lto \
+ --enable-pic \
+ --disable-swscale \
+ --disable-lavf \
+ --disable-ffms \
+ --disable-gpac
+
+ make -j1
+
+ cd "$srcdir"
+ done
+}
+
+package_xavs2-git() {
+ pkgdesc='CLI tool for the open-source encoder of AVS2-P2/IEEE1857.4 video coding standard (git version)'
+ depends+=('l-smash')
+
+ for _depth in 8 #10
+ do
+ provides+=("xavs2-${_depth}bit-git" "xavs2-${_depth}bit")
+ conflicts+=("xavs2-${_depth}bit")
+
+ msg2 "Installing CLI for ${_depth}-bit..."
+
+ make -C "build-${_depth}bit/build/linux" DESTDIR="$pkgdir" install-cli
+
+ mv "$pkgdir"/usr/bin/xavs2 "$pkgdir"/usr/bin/xavs2-${_depth}bit
+ done
+
+ ln -sf xavs2-8bit "${pkgdir}"/usr/bin/xavs2
+}
+
+package_libxavs2-git() {
+ pkgdesc='Library for the open-source encoder of AVS2-P2/IEEE1857.4 video coding standard (8bit depth) (git version)'
+ provides=('libxavs2-8bit-git' 'libxavs2-8bit' 'libxavs2' 'libxavs2.so')
+ conflicts=('libxavs2-8bit' 'libxavs2-10bit' 'libxavs2-10bit-git')
+
+ make -C build-8bit/build/linux DESTDIR="$pkgdir" install-lib-shared
+}
+
+# bash block-comment
+:<<'10-bit-pkgs'
+package_libxavs2-10bit-git() {
+ pkgdesc='Library for the open-source encoder of AVS2-P2/IEEE1857.4 video coding standard (10bit depth) (git version)'
+ provides=('libxavs2-10bit' 'libxavs2' 'libxavs2-git' 'libxavs2.so')
+ conflicts=('libxavs2-10bit' 'libxavs2-8bit' 'libxavs2-8bit-git' 'libxavs2-git')
+
+ make -C build-8bit/build/linux DESTDIR="$pkgdir" install-lib-shared
+}
+
+package_libxavs2-all-git() {
+ pkgdesc="Library for the open-source encoder of AVS2-P2/IEEE1857.4 video coding standard (all depths) (git version)"
+
+ local _ver="$(grep '^api=[0-9]*$' "${pkgbase}/version.sh" | awk -F'=' '{ print $2 }')"
+
+ install -d "${pkgdir}/usr/lib/xavs2"
+
+ for _depth in 8 10
+ do
+ provides+=("libxavs2-${_depth}bit.so")
+
+ make -C build-${_depth}bit/build/linux DESTDIR="$pkgdir" install-lib-shared
+
+ mv "${pkgdir}"/usr/lib/libxavs2.so.${_ver} "${pkgdir}"/usr/lib/xavs2/libxavs2-${_depth}bit.so.${_ver}
+
+ rm -r "${pkgdir}"/usr/{include,lib/libxavs2.so,lib/pkgconfig}
+
+ ln -sfr "${pkgdir}"/usr/lib/xavs2/libxavs2-${_depth}bit.so{.${_ver},}
+ done
+}
+10-bit-pkgs