summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorDaniel Bermond2020-12-02 21:20:34 +0000
committerDaniel Bermond2020-12-02 21:20:34 +0000
commit95dfc42fe8bdbd9039c8c0c257529dd7446f7118 (patch)
tree013675ecf80c12701d57cca1cd1dec3997dcaa36 /PKGBUILD
downloadaur-95dfc42fe8bdbd9039c8c0c257529dd7446f7118.tar.gz
Initial commit of libjpeg-xl
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD102
1 files changed, 102 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..07c08ec0b643
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,102 @@
+# Maintainer: Daniel Bermond <dbermond@archlinux.org>
+
+pkgbase=libjpeg-xl
+pkgname=('libjpeg-xl' 'libjpeg-xl-doc')
+pkgver=0.1
+pkgrel=1
+pkgdesc='JPEG XL image format reference implementation'
+arch=('x86_64')
+url='https://jpeg.org/jpegxl/'
+license=('Apache')
+makedepends=('git' 'cmake' 'clang' 'gdk-pixbuf2' 'giflib' 'gimp' 'gperftools'
+ 'libjpeg-turbo' 'libpng' 'openexr' 'zlib' 'libgl' 'freeglut'
+ 'gtest' 'python' 'doxygen' 'graphviz')
+source=("git+https://gitlab.com/wg1/jpeg-xl.git#tag=v${pkgver}"
+ 'git+https://github.com/google/brotli.git'
+ 'git+https://github.com/lvandeve/lodepng.git'
+ 'git+https://github.com/mm2/Little-CMS.git'
+ 'git+https://github.com/google/googletest'
+ 'git+https://github.com/google/brunsli.git'
+ 'git+https://github.com/webmproject/sjpeg.git'
+ 'git+https://skia.googlesource.com/skcms.git'
+ 'git+https://github.com/veluca93/IQA-optimization.git'
+ 'git+https://github.com/Netflix/vmaf.git'
+ 'git+https://github.com/thorfdbg/difftest_ng.git'
+ 'git+https://github.com/google/highway.git'
+ '010-libjpeg-xl-git-fix-highway-build.patch')
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'f783be03afe7094e21281097da0c727a83317dad118f15d36691f7f14163efa5')
+
+prepare() {
+ git -C jpeg-xl submodule init
+ git -C jpeg-xl config --local submodule.third_party/brotli.url "${srcdir}/brotli"
+ git -C jpeg-xl config --local submodule.third_party/lodepng.url "${srcdir}/lodepng"
+ git -C jpeg-xl config --local submodule.third_party/lcms.url "${srcdir}/Little-CMS"
+ git -C jpeg-xl config --local submodule.third_party/googletest.url "${srcdir}/googletest"
+ git -C jpeg-xl config --local submodule.third_party/brunsli.url "${srcdir}/brunsli"
+ git -C jpeg-xl config --local submodule.third_party/sjpeg.url "${srcdir}/sjpeg"
+ git -C jpeg-xl config --local submodule.third_party/skcms.url "${srcdir}/skcms"
+ git -C jpeg-xl config --local submodule.third_party/mingw-std-threads.url "${srcdir}/mingw-std-threads"
+ git -C jpeg-xl config --local submodule.third_party/IQA-optimization.url "${srcdir}/IQA-optimization"
+ git -C jpeg-xl config --local submodule.third_party/vmaf.url "${srcdir}/vmaf"
+ git -C jpeg-xl config --local submodule.third_party/difftest_ng.url "${srcdir}/difftest_ng"
+ git -C jpeg-xl config --local submodule.third_party/highway.url "${srcdir}/highway"
+ git -C jpeg-xl submodule update
+ patch -d jpeg-xl -Np1 -i "${srcdir}/010-libjpeg-xl-git-fix-highway-build.patch"
+}
+
+build() {
+ export CC='clang'
+ export CXX='clang++'
+ cmake -B build -S jpeg-xl \
+ -DCMAKE_BUILD_TYPE:STRING='None' \
+ -DCMAKE_INSTALL_PREFIX:PATH='/usr' \
+ -DJPEGXL_ENABLE_BENCHMARK:BOOL='false' \
+ -DJPEGXL_ENABLE_FUZZERS:BOOL='false' \
+ -DJPEGXL_ENABLE_PLUGINS:BOOL='true' \
+ -DJPEGXL_ENABLE_VIEWERS:BOOL='false' \
+ -DJPEGXL_WARNINGS_AS_ERRORS:BOOL='false' \
+ -DGTEST_LIBRARY:FILEPATH='/usr/lib/libgtest.so' \
+ -DGTEST_MAIN_LIBRARY:FILEPATH='/usr/lib/libgtest_main.so' \
+ -Wno-dev
+ make -C build all doc
+}
+
+check() {
+ make -C build test
+}
+
+package_libjpeg-xl() {
+ depends=('gcc-libs')
+ optdepends=('gdk-pixbuf2: for gdk-pixbuf plugin'
+ 'giflib: for CLI tools'
+ 'gimp: for gimp plugin'
+ 'gperftools: for CLI tools and gdk-pixbuf/gimp plugins'
+ 'libjpeg-turbo: for CLI tools'
+ 'libpng: for CLI tools'
+ 'openexr: for CLI tools')
+
+ make -C build DESTDIR="$pkgdir" install
+ install -D -m644 jpeg-xl/plugins/mime/image-jxl.xml -t "${pkgdir}/usr/share/mime/packages"
+ rm "${pkgdir}/usr/lib/"{libhwy.a,pkgconfig/libhwy{,-test}.pc}
+ rm -r "${pkgdir}/usr/include/hwy"
+}
+
+package_libjpeg-xl-doc() {
+ pkgdesc+=' (documentation)'
+ arch=('any')
+
+ mkdir -p "${pkgdir}/usr/share/doc"
+ cp -a build/html "${pkgdir}/usr/share/doc/libjpeg-xl"
+}