aports/community/openscad/APKBUILD
2025-05-14 15:03:08 +00:00

168 lines
4.7 KiB
Text

# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
pkgname=openscad
pkgver=2021.01
pkgrel=16
pkgdesc="The programmers solid 3D CAD modeller"
url="http://openscad.org/"
# Glew and GLES on ARM don't play well with each other
# tests fails on s390x
# tests hangs on riscv64
# tests fails on ppc64le
arch="x86_64 x86 loongarch64"
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
samurai
"
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
magick_convert.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
dxfpngtest_polygon-intersect
cgalbinstlcgalpngtest_bad-stl-pcbvicebar
cgalbinstlcgalpngtest_bad-stl-tardis
cgalbinstlcgalpngtest_fn_bug
cgalbinstlcgalpngtest_issue904
cgalbinstlcgalpngtest_issue1215c
cgalbinstlcgalpngtest_issue1225
cgalpngtest_import_3mf-tests
cgalpngtest_intersection_for-tests
cgalpngtest_issue1215b
cgalpngtest_issue1803
cgalpngtest_multiple-layers
cgalpngtest_polygon-overlap
csgpngtest_disable-modifier
csgpngtest_import_3mf-tests
csgpngtest_intersection-tests
csgpngtest_module-recursion
csgpngtest_projection-cut-tests
csgpngtest_scale2D-tests
csgpngtest_rotate_extrude-hole
dxfpngtest_text-font-spacing-tests
opencsgtest_import_3mf-tests
svgpngtest_module_recursion
throwntogethertest_import_3mf-tests
throwntogethertest_issue3262
"
;;
*)
# 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-.*
echotest_issue2342
lazyunion-.*
monotonepngtest_polyhedron-nonplanar-tests
opencsgtest_nef3_broken
pdfexporttest_centered
pdfexporttest_simple-pdf
svgviewbox-*
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 -G Ninja \
-DEXPERIMENTAL=OFF \
.
cmake
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
19ffe0bfff433062ab7a0bd0b9b3c73351c7db2e56e39d38c88d22516249d220d5fe7510fd5bc10d8e4176584b86bb0e695c1a70331d3baf06a3724ad96eac76 magick_convert.patch
"