148 lines
4.7 KiB
Bash
148 lines
4.7 KiB
Bash
#!/usr/bin/bash
|
|
# JOBoRun : Jwm OpenBox Obarun RUNit
|
|
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
|
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
|
|
# Website : https://pozol.eu
|
|
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
|
|
|
pkgbase=bullet
|
|
pkgname=('bullet' 'bullet-dp' 'bullet-docs' 'python-pybullet')
|
|
pkgver=3.24
|
|
_pkgver=3.24
|
|
pkgrel=02
|
|
pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation"
|
|
arch=('x86_64')
|
|
url="http://www.bulletphysics.com/Bullet/"
|
|
makedepends=('cmake' 'doxygen' 'graphviz' 'ttf-dejavu' 'mesa' 'glu' 'python' 'python-numpy' 'python-setuptools' 'ninja')
|
|
#source=("$pkgname-$pkgver.tar.gz::https://github.com/bulletphysics/bullet3/archive/${_commit}.tar.gz"
|
|
source=("$pkgname-$pkgver.tar.gz::https://github.com/bulletphysics/bullet3/archive/refs/tags/${_pkgver}.tar.gz"
|
|
bullet3_examplebrowser.sh)
|
|
|
|
prepare() {
|
|
cd bullet3-${_pkgver}
|
|
sed -i '/SET_TARGET_PROPERTIES(pybullet PROPERTIES PREFIX/d' examples/pybullet/CMakeLists.txt
|
|
}
|
|
|
|
build() {
|
|
cp -r bullet3-${_pkgver} bullet3-${_pkgver}-dp
|
|
|
|
cd bullet3-${_pkgver}
|
|
cmake \
|
|
-Bbuild \
|
|
-GNinja \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DBUILD_SHARED_LIBS=1 \
|
|
-DINSTALL_LIBS=1 \
|
|
-DINSTALL_EXTRA_LIBS=1 \
|
|
-DBUILD_PYBULLET=ON \
|
|
-DBUILD_PYBULLET_NUMPY=ON \
|
|
-DBUILD_OPENGL3_DEMOS=ON \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBULLET2_MULTITHREADING=ON \
|
|
-DCMAKE_SKIP_RPATH=YES
|
|
ninja -C build
|
|
|
|
# For Python and docs it doesn't matter whether we build multithreaded or not.
|
|
python setup.py build
|
|
doxygen
|
|
|
|
cd ../bullet3-${_pkgver}-dp
|
|
cmake \
|
|
-Bbuild \
|
|
-GNinja \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DBUILD_SHARED_LIBS=1 \
|
|
-DINSTALL_LIBS=1 \
|
|
-DINSTALL_EXTRA_LIBS=1 \
|
|
-DBUILD_PYBULLET=ON \
|
|
-DBUILD_PYBULLET_NUMPY=ON \
|
|
-DBUILD_OPENGL3_DEMOS=ON \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBULLET2_MULTITHREADING=ON \
|
|
-DUSE_DOUBLE_PRECISION=ON \
|
|
-DCMAKE_SKIP_RPATH=YES
|
|
ninja -C build
|
|
}
|
|
|
|
_package() {
|
|
DESTDIR="${pkgdir}" ninja -C build install
|
|
|
|
cd build
|
|
|
|
install -Dm755 examples/ExampleBrowser/libBulletExampleBrowserLib.so.${pkgver} "${pkgdir}"/usr/lib/libBulletExampleBrowserLib.so.${pkgver}
|
|
install -Dm755 examples/OpenGLWindow/libOpenGLWindow.so "${pkgdir}"/usr/lib/libOpenGLWindow.so
|
|
install -Dm755 examples/ThirdPartyLibs/Gwen/libgwen.so "${pkgdir}"/usr/lib/libgwen.so
|
|
install -Dm755 examples/ThirdPartyLibs/BussIK/libBussIK.so "${pkgdir}"/usr/lib/libBussIK.so
|
|
install -Dm755 "${srcdir}"/bullet3_examplebrowser.sh "${pkgdir}"/usr/bin/bullet3_examplebrowser
|
|
install -Dm755 examples/ExampleBrowser/App_ExampleBrowser "${pkgdir}"/opt/bullet/App_ExampleBrowser
|
|
cp -r data "${pkgdir}"/opt/bullet/
|
|
|
|
install -Dm644 ../LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
|
|
}
|
|
|
|
package_bullet() {
|
|
optdepends=('glu: for the example browser'
|
|
'python: python bindings'
|
|
'python-numpy: python bindings'
|
|
'bullet-docs: documentation')
|
|
|
|
cd bullet3-${_pkgver}
|
|
|
|
_package
|
|
}
|
|
|
|
package_bullet-dp() {
|
|
pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation (double precision)"
|
|
conflicts=("bullet")
|
|
provides=("bullet")
|
|
optdepends=('glu: for the example browser'
|
|
'python: python bindings'
|
|
'python-numpy: python bindings'
|
|
'bullet-docs: documentation')
|
|
|
|
cd bullet3-${_pkgver}-dp
|
|
|
|
_package
|
|
}
|
|
|
|
package_python-pybullet() {
|
|
pkgdesc="Bullet Python bindings"
|
|
depends+=('bullet' 'gcc-libs')
|
|
|
|
cd bullet3-${_pkgver}
|
|
|
|
install -Dm755 build/examples/pybullet/libpybullet.so.${pkgver} "${pkgdir}"/usr/lib/libpybullet.so.${pkgver}
|
|
python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
|
|
|
|
install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
|
|
}
|
|
|
|
package_bullet-docs() {
|
|
pkgdesc="Documentation for bullet"
|
|
|
|
cd bullet3-${_pkgver}
|
|
|
|
# install docs
|
|
install -Dm644 docs/GPU_rigidbody_using_OpenCL.pdf "${pkgdir}"/usr/share/doc/bullet/GPU_rigidbody_using_OpenCL.pdf
|
|
install -Dm644 docs/Bullet_User_Manual.pdf "${pkgdir}"/usr/share/doc/bullet/Bullet_User_Manual.pdf
|
|
install -Dm644 docs/BulletQuickstart.pdf "${pkgdir}"/usr/share/doc/bullet/BulletQuickstart.pdf
|
|
cp -r html "${pkgdir}"/usr/share/doc/bullet/html
|
|
}
|
|
|
|
#---- license gpg-key sha256sums ----
|
|
|
|
license=('custom:zlib')
|
|
|
|
sha256sums=(6b1e987d6f8156fa8a6468652f4eaad17b3e11252c9870359e5bca693e35780b # bullet-3.24.tar.gz
|
|
68ca940af489f7e9718fe9199cf0c3428c8e4d2b4ae1576847fffe56c0da50f7) # bullet3_examplebrowser.sh
|
|
|
|
|
|
|
|
|
|
####### diffs between old and new Arch PKGBUILD
|
|
|
|
|
|
|
|
|
|
#### systemd crap in new PKGBUILD
|
|
scan for systemd ipv6 service & socket
|