diff options
author | Josh Holmer | 2022-03-18 00:15:40 -0400 |
---|---|---|
committer | Josh Holmer | 2022-03-18 00:31:21 -0400 |
commit | 025c01302692aa00169dfc0f8fe6248548bba254 (patch) | |
tree | 3796aa5abb1438dc90f46dcc0ba235f22f93cee8 | |
parent | fa0445b00d59dd2876e85dee39379dbd90caf7f4 (diff) | |
download | aur-025c01302692aa00169dfc0f8fe6248548bba254.tar.gz |
Make this replace libjxl-full-git to fix segfaulting issue
-rw-r--r-- | .SRCINFO | 67 | ||||
-rw-r--r-- | PKGBUILD | 120 |
2 files changed, 145 insertions, 42 deletions
@@ -1,15 +1,64 @@ pkgbase = libjxl-metrics-git - pkgdesc = Image metrics (butteraugli and ssimulacra) maintained as libjxl tools - pkgver = v0.3.7.777.g36ece47 - pkgrel = 1 - url = https://github.com/libjxl/libjxl - arch = any - license = BSD-3 + pkgdesc = JPEG XL image format reference implementation with butteraugli and ssimulacra (git version) + pkgver = v0.3.7.870.g373c5928 + pkgrel = 2 + url = https://jpeg.org/jpegxl/ + arch = x86_64 + license = BSD makedepends = git makedepends = cmake - provides = libjxl-metrics - conflicts = libjxl-metrics - source = libjxl-metrics-git::git+https://github.com/libjxl/libjxl.git + makedepends = clang + makedepends = brotli + makedepends = gdk-pixbuf2 + makedepends = giflib + makedepends = gimp + makedepends = gperftools + makedepends = libjpeg-turbo + makedepends = libpng + makedepends = openexr + makedepends = gflags + makedepends = gtest + makedepends = java-environment + makedepends = python + makedepends = asciidoc + makedepends = doxygen + makedepends = graphviz + makedepends = xdg-utils + makedepends = highway + optdepends = gdk-pixbuf2: for gdk-pixbuf loader + optdepends = gimp: for gimp plugin + provides = libjxl + provides = libjpeg-xl-git + provides = libjxl.so + provides = libjxl_threads.so + provides = libjxl-doc + provides = libjpeg-xl-doc-git + conflicts = libjxl + conflicts = libjpeg-xl-git + conflicts = libjxl-doc + conflicts = libjpeg-xl-doc-git + replaces = libjpeg-xl-git + replaces = libjpeg-xl-doc-git + options = !lto + source = git+https://github.com/libjxl/libjxl.git + source = git+https://github.com/google/brotli.git + source = git+https://github.com/mm2/Little-CMS.git + source = git+https://github.com/google/googletest.git + source = git+https://github.com/webmproject/sjpeg.git + source = git+https://skia.googlesource.com/skcms.git + source = git+https://github.com/google/highway.git + source = git+https://github.com/glennrp/libpng.git + source = git+https://github.com/madler/zlib.git + source = git+https://github.com/gflags/gflags.git + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP sha256sums = SKIP pkgname = libjxl-metrics-git @@ -1,47 +1,101 @@ # Maintainer: Joshua Holmer <jholmer.in@gmail.com> pkgname=libjxl-metrics-git -pkgver=v0.3.7.777.g36ece47 -pkgrel=1 -pkgdesc="Image metrics (butteraugli and ssimulacra) maintained as libjxl tools" -arch=('any') -url='https://github.com/libjxl/libjxl' -license=('BSD-3') -depends=( -) -makedepends=('git' -'cmake' -) -provides=("libjxl-metrics") -conflicts=("libjxl-metrics") -source=("${pkgname}::git+https://github.com/libjxl/libjxl.git") -sha256sums=('SKIP') +pkgver=v0.3.7.870.g373c5928 +pkgrel=2 +pkgdesc="JPEG XL image format reference implementation with butteraugli and ssimulacra (git version)" +arch=('x86_64') +url='https://jpeg.org/jpegxl/' +license=('BSD') +makedepends=('git' 'cmake' 'clang' 'brotli' 'gdk-pixbuf2' 'giflib' 'gimp' + 'gperftools' 'libjpeg-turbo' 'libpng' 'openexr' 'gflags' + 'gtest' 'java-environment' 'python' 'asciidoc' 'doxygen' + 'graphviz' 'xdg-utils' 'highway') +provides=('libjxl' 'libjpeg-xl-git' 'libjxl.so' 'libjxl_threads.so' 'libjxl-doc' 'libjpeg-xl-doc-git') +conflicts=('libjxl' 'libjpeg-xl-git' 'libjxl-doc' 'libjpeg-xl-doc-git') +replaces=('libjpeg-xl-git' 'libjpeg-xl-doc-git') +optdepends=('gdk-pixbuf2: for gdk-pixbuf loader' + 'gimp: for gimp plugin') +options=('!lto') +source=('git+https://github.com/libjxl/libjxl.git' + 'git+https://github.com/google/brotli.git' + 'git+https://github.com/mm2/Little-CMS.git' + 'git+https://github.com/google/googletest.git' + 'git+https://github.com/webmproject/sjpeg.git' + 'git+https://skia.googlesource.com/skcms.git' + 'git+https://github.com/google/highway.git' + 'git+https://github.com/glennrp/libpng.git' + 'git+https://github.com/madler/zlib.git' + 'git+https://github.com/gflags/gflags.git') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +prepare() { + git -C libjxl submodule init + git -C libjxl config --local submodule.third_party/brotli.url "${srcdir}/brotli" + git -C libjxl config --local submodule.third_party/lcms.url "${srcdir}/Little-CMS" + git -C libjxl config --local submodule.third_party/googletest.url "${srcdir}/googletest" + git -C libjxl config --local submodule.third_party/sjpeg.url "${srcdir}/sjpeg" + git -C libjxl config --local submodule.third_party/skcms.url "${srcdir}/skcms" + git -C libjxl config --local submodule.third_party/highway.url "${srcdir}/highway" + git -C libjxl config --local submodule.third_party/libpng.url "${srcdir}/libpng" + git -C libjxl config --local submodule.third_party/zlib.url "${srcdir}/zlib" + git -C libjxl config --local submodule.third_party/gflags.url "${srcdir}/gflags" + git -C libjxl submodule update +} pkgver() { - cd ${pkgname} + cd libjxl echo "$(git describe --long --tags | tr - .)" } -prepare() { - cd ${pkgname} - git submodule update --init --recursive --depth 1 --recommend-shallow - mkdir -p build +build() { + export CC='clang -flto=thin' + export CXX='clang++ -flto=thin' + export CFLAGS+=' -DNDEBUG' + export CXXFLAGS+=' -DNDEBUG' + cmake -B build -S libjxl \ + -DCMAKE_BUILD_TYPE:STRING='None' \ + -DCMAKE_INSTALL_PREFIX:PATH='/usr' \ + -DBUILD_TESTING=false \ + -DJPEGXL_ENABLE_DEVTOOLS:BOOL='true' \ + -DJPEGXL_ENABLE_BENCHMARK:BOOL='false' \ + -DJPEGXL_ENABLE_EXAMPLES:BOOL='false' \ + -DJPEGXL_ENABLE_FUZZERS:BOOL='false' \ + -DJPEGXL_ENABLE_PLUGINS:BOOL='true' \ + -DJPEGXL_ENABLE_VIEWERS:BOOL='false' \ + -DJPEGXL_FORCE_SYSTEM_BROTLI:BOOL='true' \ + -DJPEGXL_FORCE_SYSTEM_GTEST:BOOL='true' \ + -DJPEGXL_FORCE_SYSTEM_HWY:BOOL='true' \ + -DJPEGXL_BUNDLE_LIBPNG:BOOL='NO' \ + -DJPEGXL_BUNDLE_GFLAGS='NO' \ + -Wno-dev + make -C build all doc -j$(nproc) } -build() { - cd ${pkgname} - cd build - cmake -DCMAKE_BUILD_TYPE=Release -DJPEGXL_ENABLE_DEVTOOLS=true -DJPEGXL_ENABLE_TOOLS=false \ - -DJPEGXL_ENABLE_BENCHMARK=false -DJPEGXL_ENABLE_FUZZERS=false -DJPEGXL_ENABLE_MANPAGES=false \ - -DJPEGXL_ENABLE_EXAMPLES=false -DJPEGXL_ENABLE_JNI=false -DJPEGXL_ENABLE_SJPEG=false \ - -DJPEGXL_ENABLE_OPENEXR=false -DJPEGXL_ENABLE_SKCMS=false -DJPEGXL_BUNDLE_SKCMS=false \ - -DJPEGXL_STATIC=true -DJPEGXL_ENABLE_TCMALLOC=false -DBUILD_TESTING=false .. - cmake --build . -- -j$(nproc) +check() { + make -C build test } package() { - cd ${pkgname} - install -D -m755 "build/tools/butteraugli_main" "$pkgdir/usr/bin/butteraugli" - install -D -m755 "build/tools/ssimulacra_main" "$pkgdir/usr/bin/ssimulacra" - install -D -m644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + # libjxl main + make -C build DESTDIR="$pkgdir" install + install -D -m644 libjxl/{LICENSE,PATENTS} -t "${pkgdir}/usr/share/licenses/${pkgname}" + + # Docs + install -d -m755 "${pkgdir}/usr/share/doc" + install -D -m644 libjxl/{LICENSE,PATENTS} -t "${pkgdir}/usr/share/licenses/${pkgname}" + cp -dr --no-preserve='ownership' build/html "${pkgdir}/usr/share/doc/libjxl" + + # Metrics + ln -s "/usr/bin/butteraugli_main" "$pkgdir/usr/bin/butteraugli" + ln -s "/usr/bin/ssimulacra_main" "$pkgdir/usr/bin/ssimulacra" } |