|
| 1 | +# Maintainer: Yao Zi <me@ziyao.cc> |
| 2 | + |
| 3 | +pkgbase=coin |
| 4 | +pkgname=(coin coin-doc) |
| 5 | +pkgver=4.0.7 |
| 6 | +pkgrel=1 |
| 7 | +pkgdesc='Coin3D core library' |
| 8 | +url='https://www.coin3d.org/' |
| 9 | +arch=(x86_64 aarch64 riscv64 loongarch64) |
| 10 | +license=(BSD-3-Clause) |
| 11 | +depends=(musl expat libglvnd llvm-libs) |
| 12 | +# boost is a build-time-only dependency. |
| 13 | +makedepends=(cmake boost) |
| 14 | +# Coin dlopens the dependencies by default |
| 15 | +optdepends=(fontconfig freetype bzip2 openal-soft zlib-ng glu mozjs) |
| 16 | +provides=(libCoin.so) |
| 17 | +# 0001: Should be upstreamed, link to libOpenGL.so instead of libGL.so, since |
| 18 | +# EGL is supported and we don't need GLX API. |
| 19 | +source=("https://github.com/coin3d/coin/releases/download/v$pkgver/coin-$pkgver-src.tar.gz" |
| 20 | + 0001-Link-libOpenGL-instead-of-libGL.patch) |
| 21 | +sha256sums=('a01276052c31e84e4a069ee4452eab3b65a7d101a3fd7a09803be59125616270' |
| 22 | + '01deef30598a2c34ef3d8900e45979c056669e063c5fc3338971aaf47592e9ab') |
| 23 | + |
| 24 | +prepare() { |
| 25 | + _patch_ "$pkgbase" |
| 26 | +} |
| 27 | + |
| 28 | +build() { |
| 29 | + # The testsuite wrongly checks existence for _*_SOURCE to detect the |
| 30 | + # system type, while musl doesn't define them by default. |
| 31 | + CFLAGS="$CFLAGS -D_POSIX_SOURCE" CXXFLAGS="$CXXFLAGS -D_POSIX_SOURCE" \ |
| 32 | + cmake -S "$pkgbase" -B build \ |
| 33 | + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
| 34 | + -DCMAKE_INSTALL_PREFIX=/usr \ |
| 35 | + -DOpenGL_GL_PREFERENCE=GLVND \ |
| 36 | + -DOPENGL_USE_GLES2=ON \ |
| 37 | + -DOPENGL_USE_OPENGL=ON \ |
| 38 | + -DOPENGL_USE_GLX=OFF \ |
| 39 | + -DCOIN_BUILD_SHARED_LIBS=ON \ |
| 40 | + -DCOIN_BUILD_TESTS=ON \ |
| 41 | + -DCOIN_BUILD_DOCUMENTATION=ON \ |
| 42 | + -DCOIN_BUILD_EXAMPLES=OFF \ |
| 43 | + -DCOIN_BUILD_DOCUMENTATION_MAN=ON \ |
| 44 | + -DCOIN_BUILD_DOCUMENTATION_QTHELP=OFF \ |
| 45 | + -DCOIN_BUILD_DOCUMENTATION_CHM=OFF \ |
| 46 | + -DUSE_EXTERNAL_EXPAT=ON \ |
| 47 | + -DUSE_SUPERGLU=OFF \ |
| 48 | + -DCOIN_USE_CPACK=OFF \ |
| 49 | + -DCOIN_BUILD_GLX=OFF \ |
| 50 | + -DCOIN_BUILD_EGL=ON |
| 51 | + |
| 52 | + cmake --build build |
| 53 | + |
| 54 | + DESTDIR="$srcdir/tmpinstall" cmake --install build |
| 55 | + cd tmpinstall |
| 56 | + _pick_ coin-doc usr/share/doc |
| 57 | +} |
| 58 | + |
| 59 | +check() { |
| 60 | + ctest --test-dir build |
| 61 | +} |
| 62 | + |
| 63 | +package_coin() { |
| 64 | + mv tmpinstall/* "$pkgdir" |
| 65 | + _install_license_ "$pkgbase"/COPYING |
| 66 | +} |
| 67 | + |
| 68 | +package_coin-doc() { |
| 69 | + depends=() |
| 70 | + optdepends=() |
| 71 | + pkgdesc+=' (Documentation)' |
| 72 | + |
| 73 | + mv pkgs/coin-doc/* "$pkgdir" |
| 74 | + _install_license_ "$pkgbase"/COPYING |
| 75 | +} |
0 commit comments