diff options
Diffstat (limited to 'community/openexr/APKBUILD')
-rw-r--r-- | community/openexr/APKBUILD | 141 |
1 files changed, 91 insertions, 50 deletions
diff --git a/community/openexr/APKBUILD b/community/openexr/APKBUILD index 77075fd307c..9810a785a4c 100644 --- a/community/openexr/APKBUILD +++ b/community/openexr/APKBUILD @@ -2,34 +2,48 @@ # Contributor: Holger Jaekel <holger.jaekel@gmx.de> # Maintainer: Mark Riedesel <mark+alpine@klowner.com> pkgname=openexr -pkgver=2.5.5 -pkgrel=3 -pkgdesc="A high dynamic-range image file format library" +pkgver=3.1.13 +pkgrel=1 +pkgdesc="High dynamic-range image file format library" url="https://www.openexr.com/" -arch="all !mips !mips64" # py3-numpy +arch="all" license="BSD-3-Clause" makedepends=" boost-dev - boost-python3 chrpath cmake - py3-numpy-dev - python3-dev + imath-dev + samurai zlib-dev " subpackages=" $pkgname-doc $pkgname-tools - py3-$pkgname-dev:py3dev - py3-$pkgname:py3 $pkgname-dev + $pkgname-libiex + $pkgname-libilmthread + $pkgname-libopenexr + $pkgname-libopenexrcore + $pkgname-libopenexrutil " -source=" - $pkgname-$pkgver.tar.gz::https://github.com/openexr/openexr/archive/v$pkgver.tar.gz - " +source="$pkgname-$pkgver.tar.gz::https://github.com/openexr/openexr/archive/v$pkgver.tar.gz" # secfixes: +# 3.1.12-r0: +# - CVE-2023-5841 +# 3.1.4-r0: +# - CVE-2021-45942 +# 3.1.1-r0: +# - CVE-2021-3598 +# - CVE-2021-23169 +# - CVE-2021-23215 +# - CVE-2021-26260 +# - CVE-2021-26945 # 2.5.4-r0: +# - CVE-2021-20296 +# - CVE-2021-3474 +# - CVE-2021-3475 +# - CVE-2021-3476 # - CVE-2021-3477 # - CVE-2021-3478 # - CVE-2021-3479 @@ -37,66 +51,93 @@ source=" # - CVE-2020-15304 # - CVE-2020-15305 # - CVE-2020-15306 +# 2.4.1-r0: +# - CVE-2020-11758 +# - CVE-2020-11759 +# - CVE-2020-11760 +# - CVE-2020-11761 +# - CVE-2020-11762 +# - CVE-2020-11763 +# - CVE-2020-11764 +# - CVE-2020-11765 +# 2.4.0-r0: +# - CVE-2017-12596 +# 2.2.1-r0: +# - CVE-2017-9110 +# - CVE-2017-9111 +# - CVE-2017-9112 +# - CVE-2017-9113 +# - CVE-2017-9114 +# - CVE-2017-9115 +# - CVE-2017-9116 + +case "$CARCH" in +ppc64le|s390x) + # fails a bunch of tests + options="$options !check" + ;; +esac build() { - cmake -B build \ + CFLAGS="$CFLAGS -O2 -flto=auto" \ + CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \ + cmake -B build -G Ninja \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DBUILD_SHARED_LIBS=True \ -DCMAKE_BUILD_TYPE=None \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_C_FLAGS="$CFLAGS" \ - $CMAKE_CROSSOPTS . - make -C build + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \ + $CMAKE_CROSSOPTS + cmake --build build } check() { - cd build - - _exclude_tests="OpenEXR.IlmImf" + local exclude_tests="(OpenEXR.testDeepScanLineBasic|OpenEXR.testCopyMultiPartFile|OpenEXRCore.testDWAACompression|OpenEXRCore.testDWABCompression" case "$CARCH" in - x86) _exclude_tests="($_exclude_tests|IlmBase.Imath)" ;; + arm*) + exclude_tests="$exclude_tests|OpenEXR.testMultiTiledPartThreading|OpenEXR.testRgbaThreading|OpenEXR.testStandardAttributes|OpenEXR.testBackwardCompatibility" + ;; + x86) + exclude_tests="$exclude_tests|OpenEXR.testDwaLookups|OpenEXR.testOptimizedInterleavePatterns" + ;; + riscv64) + exclude_tests="$exclude_tests|OpenEXR.testMultiTiledPartThreading" + ;; esac - ctest -E $_exclude_tests + ctest --test-dir build --output-on-failure -j ${JOBS:-2} \ + -E "$exclude_tests)" } package() { - make DESTDIR="$pkgdir" -C build install + DESTDIR="$pkgdir" cmake --install build } -py3dev() { - pkgdesc="$pkgdesc (Python3 bindings for the Imath vector/matrix classes) (development files)" +tools() { + amove usr/bin +} - depends="openexr-dev=$pkgver-r$pkgrel" - amove /usr/include/OpenEXR/Py* - amove /usr/lib/cmake/PyIlmBase - amove /usr/lib/pkgconfig/PyIlmBase.pc - cd $pkgdir - # move *.so links needed when linking the apps to -dev packages - for i in lib/libPy*.so usr/lib/libPy*.so; do - if [ -L "$i" ]; then - mkdir -p "$subpkgdir"/"${i%/*}" - mv "$i" "$subpkgdir/$i" - fi - done +libiex() { + amove usr/lib/libIex-*.so.* } -py3() { - pkgdesc="$pkgdesc (Python3 bindings for the Imath vector/matrix classes)" +libilmthread() { + amove usr/lib/libIlmThread-*.so.* +} - # Install missing python module - _pythonpath=$(python3 -c "from sysconfig import get_path; print(get_path('platlib'))") - install -Dm755 $builddir/build/python3*/imathnumpy.so -t "$subpkgdir"/$_pythonpath - chrpath -d $subpkgdir/$_pythonpath/imathnumpy.so - mv $pkgdir$_pythonpath/* $subpkgdir$_pythonpath - mv $pkgdir/usr/lib/*Python* $subpkgdir/usr/lib/ - rm -rf $pkgdir/usr/lib/python* +libopenexr() { + amove usr/lib/libOpenEXR-*.so.* } -tools() { - mkdir -p "$subpkgdir"/usr/ - mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ +libopenexrcore() { + amove usr/lib/libOpenEXRCore-*.so.* +} + +libopenexrutil() { + amove usr/lib/libOpenEXRUtil-*.so.* } -sha512sums="e511af26a8fe2175a641fd25d2dcc6ef807e00bee2aff06a4784125f916ffd47fe376fe0621d385b604180a239bbfee063f8ceee3f7b731fde3c38558e9fdcdf openexr-2.5.5.tar.gz" +sha512sums=" +662ebfce32bc56e3b5140e7d1813b8c117ac6e806fe30c996b956465ce20ee43f1f535b97868a87a26d1d7909d7f59acbe383f335ab8d72ad1484408cbabf77b openexr-3.1.13.tar.gz +" |