summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Holmer2022-03-18 00:15:40 -0400
committerJosh Holmer2022-03-18 00:31:21 -0400
commit025c01302692aa00169dfc0f8fe6248548bba254 (patch)
tree3796aa5abb1438dc90f46dcc0ba235f22f93cee8
parentfa0445b00d59dd2876e85dee39379dbd90caf7f4 (diff)
downloadaur-025c01302692aa00169dfc0f8fe6248548bba254.tar.gz
Make this replace libjxl-full-git to fix segfaulting issue
-rw-r--r--.SRCINFO67
-rw-r--r--PKGBUILD120
2 files changed, 145 insertions, 42 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e5126f8ca399..39805591768b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index a830bdd3db2a..0b44f888b72d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"
}