ayaports/backports/openscad/APKBUILD

143 lines
3.9 KiB
Text

# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=openscad
pkgver=2021.01
pkgrel=11
pkgdesc="The programmers solid 3D CAD modeller"
url="http://openscad.org/"
# Glew and GLES on ARM don't play well with each other
arch="all !armv7 !aarch64 !armhf"
license="GPL-2.0-only"
subpackages="$pkgname-doc"
makedepends="
bison
boost-dev
cairo-dev
cgal-dev
cmake
double-conversion-dev
eigen-dev
flex
glew-dev
gmp-dev
harfbuzz-dev
libxml2-dev
libzip-dev
libspnav-dev
mpfr-dev
opencsg-dev
qscintilla-dev
qt5-qtbase-dev
qt5-qtmultimedia-dev
"
checkdepends="
imagemagick
mesa
mesa-dri-gallium
python3
xvfb-run
"
source="
https://files.openscad.org/openscad-$pkgver.src.tar.gz
0001-fix-CVE-2022-0496.patch
0002-fix-CVE-2022-0497.patch
0003-fix-build-with-cgal-5.3.patch
0004-fix-build-with-cgal-5.4.patch
0005-fix-boost-join.patch
"
# Handle tests failing only on some arch's, or building against libs only
# provided by some arch's.
case "$CARCH" in
x86_64)
makedepends="$makedepends lib3mf-dev"
export LIB3MF_INCLUDEPATH="/usr/include/lib3mf/Bindings/Cpp"
;;
x86)
makedepends="$makedepends lib3mf-dev"
export LIB3MF_INCLUDEPATH="/usr/include/lib3mf/Bindings/Cpp"
_arch_failing_tests="
3mfpngtest_cube10
"
;;
s390x)
_arch_failing_tests="
3mfpngtest_cube10
cgalbinstlcgalpngtest_bad-stl-pcbvicebar
cgalbinstlcgalpngtest_bad-stl-tardis
cgalbinstlcgalpngtest_fn_bug
cgalbinstlcgalpngtest_issue1225
cgalpngtest_import_3mf-tests
csgpngtest_import_3mf-tests
opencsgtest_import_3mf-tests
throwntogethertest_import_3mf-tests
"
;;
*)
# lib3mf is not available on all other archs
_arch_failing_tests="
3mfpngtest_cube10
cgalpngtest_import_3mf-tests
csgpngtest_import_3mf-tests
opencsgtest_import_3mf-tests
throwntogethertest_import_3mf-tests
"
;;
esac
# secfixes:
# 2021.01-r2:
# - CVE-2022-0496
# - CVE-2022-0497
build() {
qmake-qt5 PREFIX="/usr"
make
}
check() {
cd tests
# collect failing tests in a way that creates friendly git diffs
local failing_tests
failing_tests="
3mfexport_3mf-export
astdumptest_allexpressions
cgalbinstlcgalpngtest_polyhedron-nonplanar-tests
cgalpngtest_nef3_broken
cgalpngtest_polyhedron-nonplanar-tests
cgalstlcgalpngtest_polyhedron-nonplanar-tests
csgpngtest_nef3_broken
csgpngtest_polyhedron-nonplanar-tests
echotest_allexpressions
echotest_function-literal-.*
lazyunion-.*
monotonepngtest_polyhedron-nonplanar-tests
opencsgtest_nef3_broken
pdfexporttest_centered
pdfexporttest_simple-pdf
throwntogethertest_nef3_broken
$_arch_failing_tests
"
# trim whitespace before and after list and separate expressions by | (regex or)
failing_tests="$(echo "$failing_tests" | tr -d '\n' | sed -e 's/^\s*//' -e 's/\s*$//' -e 's/\s\+/|/g')"
cmake \
-DEXPERIMENTAL=OFF \
.
make
xvfb-run ctest -E "$failing_tests"
}
package() {
make INSTALL_ROOT="$pkgdir" install
}
sha512sums="
8deaa26bf4c295c12da38f323d2b2e6f827851337f5bc1cc9c79afc083c9f913c19a263086e6e853bf2c8434c1ccc705ea22ddb02dc99d39bb1e5e03fc58d128 openscad-2021.01.src.tar.gz
369353f13bb6d2bf123af1e25b5f264cd757efa5d0cd8c226a3803a41a0fdb74aff7411ddf91cb394f9cd295e10e05159487fb6e9c2d661280bf060e391bc3da 0001-fix-CVE-2022-0496.patch
708a491c5a6166bdf92419bce68dbcb4eccbb97ce1880c5a3c919a90ae5af19aa9092e46b81fe8705e8470189d43c4ecad19dece9f1e405681a186c0bd8f5ca4 0002-fix-CVE-2022-0497.patch
090b8a8e53cc7560695d4065db891a3602923d893d752e3d007a42f2cd32c5f6f444d735d716658fb6f3d979e8cf2489cbff3a58a9070621ab5448a6dbf3372b 0003-fix-build-with-cgal-5.3.patch
7d3067bcadf5a56b3b21b80f36e8d1fd99047029b86db6803b71760d47a8b199d3485c6486767707273aa57f9a83aaafcb763fe7a1ee295b01a776f7e5db038f 0004-fix-build-with-cgal-5.4.patch
f0538eb98543a2a15534794f91c35f10d21fe04a8696639a4f08cd98daf63e6efc855b102f41ecb05a1e1bffeecc7c445fcfad7c3a90f32ec28c5a1646863466 0005-fix-boost-join.patch
"