aboutsummaryrefslogtreecommitdiffstats
path: root/community/openexr/APKBUILD
blob: b712aaa51934d11e5edd909370efad09a9fd78a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# 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"
url="https://www.openexr.com/"
arch="all !mips !mips64" # py3-numpy
license="BSD-3-Clause"
makedepends="
	boost-dev
	boost-python3
	chrpath
	cmake
	py3-numpy-dev
	python3-dev
	zlib-dev
	"
subpackages="
	$pkgname-doc
	$pkgname-tools
	py3-$pkgname-dev:py3dev
	py3-$pkgname:py3
	$pkgname-dev
	"
source="
	$pkgname-$pkgver.tar.gz::https://github.com/openexr/openexr/archive/v$pkgver.tar.gz
	"

# secfixes:
#   2.5.2-r0:
#     - CVE-2020-15304
#     - CVE-2020-15305
#     - CVE-2020-15306

build() {
	cmake -B build \
		-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
}

check() {
	cd build

	_exclude_tests="OpenEXR.IlmImf"
	case "$CARCH" in
		x86) _exclude_tests="($_exclude_tests|IlmBase.Imath)" ;;
	esac

	ctest -E $_exclude_tests
}

package() {
	make DESTDIR="$pkgdir" -C build install
}

py3dev() {
	pkgdesc="$pkgdesc (Python3 bindings for the Imath vector/matrix classes) (development files)"

	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
}

py3() {
	pkgdesc="$pkgdesc (Python3 bindings for the Imath vector/matrix classes)"

	# 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*
}

tools() {
	mkdir -p "$subpkgdir"/usr/
	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}

sha512sums="e511af26a8fe2175a641fd25d2dcc6ef807e00bee2aff06a4784125f916ffd47fe376fe0621d385b604180a239bbfee063f8ceee3f7b731fde3c38558e9fdcdf  openexr-2.5.5.tar.gz"