diff --git a/testing/kicad/APKBUILD b/testing/kicad/APKBUILD index e702ac32874bcee6844e1048001dbb3dc3e2711d..856a37881eaac5adac15ba4ec3f85ca77fe7e3a0 100644 --- a/testing/kicad/APKBUILD +++ b/testing/kicad/APKBUILD @@ -2,10 +2,10 @@ # Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de> pkgname=kicad pkgver=5.1.5 -pkgrel=1 +pkgrel=2 pkgdesc="A Cross Platform and Open Source Electronics Design Automation Suite" url="http://kicad-pcb.org/" -arch="x86_64" # Dependency opencascade is x86_64 only +arch="all !s390x" # No support for s390x in libcontext (shipped with kicad) license="GPL-3.0-or-later" makedepends=" boost-dev @@ -15,11 +15,9 @@ makedepends=" glew-dev glm-dev ngspice-dev - opencascade-dev py3-wxpython python3-dev swig - vtk-dev wxgtk-base-dev wxgtk3-dev zlib-dev @@ -31,15 +29,26 @@ source=" kicad-i18n.$pkgver.tar.gz::https://github.com/KiCad/kicad-i18n/archive/$pkgver.tar.gz " -build() { - mkdir -p build - cd build +case "$CARCH" in + x86_64) + makedepends="$makedepends opencascade-dev vtk-dev" + subpackages="$subpackages kicad-opencascade" + ;; + *) + # Dependency opencascade (needed for STEP file support in 3D preview) + # not available on all other architectures + ;; +esac + +_build_kicad() { + mkdir -p "$1" + cd "$1" cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DKICAD_USE_OCE=OFF \ - -DKICAD_USE_OCC=ON \ + -DKICAD_USE_OCC=$2 \ -DKICAD_SCRIPTING=ON \ -DKICAD_SCRIPTING_PYTHON3=ON \ -DKICAD_SCRIPTING_MODULES=ON \ @@ -50,11 +59,33 @@ build() { -DwxWidgets_INCLUDE_DIRS=/usr/include \ -DBUILD_GITHUB_PLUGIN=ON make + cd "$builddir" +} + +_build_kicad_i18n() { cd "$srcdir"/kicad-i18n-$pkgver mkdir -p build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr make + cd "$builddir" +} + +build() { + # First build without opencascade + _build_kicad "build" "OFF" + _build_kicad_i18n + + # Now build with opencascade, if possible + case "$CARCH" in + x86_64) + _build_kicad "build-occ" "ON" + ;; + *) + # Dependency opencascade (needed for STEP file support in 3D preview) + # not available on all other architectures + ;; + esac } check() { @@ -71,5 +102,14 @@ i18n() { cd "$srcdir"/kicad-i18n-$pkgver/build make DESTDIR="$subpkgdir" install } + +opencascade() { + pkgdesc="kicad with support for STEP file in 3D preview" + replaces="$pkgname" + provides="$pkgname=$pkgver-r$pkgrel" + cd "$builddir/build-occ" + make DESTDIR="$subpkgdir" install +} + sha512sums="5ca19e219da07a906f13e236849eb4497c9f827726a5cd13aceffe1d8c7dee480823bf3e949527f59a805eb3b8176fad51576ae663dd07b10e2822f2b37866a5 kicad-5.1.5.tar.xz 68e6602fcc7e73c22a594b45ecf53a956af8a134e28e86242bfaa4087df21c04b24ae4df9928f00c2cee7eb0631a02a4de1cd09547b36a466fb324f983ea5363 kicad-i18n.5.1.5.tar.gz"