summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/newton-dynamics-libre/PKGBUILD50
-rw-r--r--libre/newton-dynamics-libre/assert-fix.patch13
2 files changed, 63 insertions, 0 deletions
diff --git a/libre/newton-dynamics-libre/PKGBUILD b/libre/newton-dynamics-libre/PKGBUILD
new file mode 100644
index 000000000..1702cca70
--- /dev/null
+++ b/libre/newton-dynamics-libre/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 84449 2013-02-19 04:20:15Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Josh Taylor (deficite) <joshtaylor.mail@gmail.com>
+# Contributor: Christophe Robin (bombstrike) <crobin@php.net>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+_pkgname=newton-dynamics
+pkgname=newton-dynamics-libre
+pkgver=2.36
+pkgrel=1
+pkgdesc="A simple physics API"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.newtondynamics.com"
+license=('custom')
+depends=()
+makedepends=('unar')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+source=("http://newton-dynamics.googlecode.com/files/newton-dynamics-${pkgver}.rar")
+noextract=("newton-dynamics-${pkgver}.rar")
+md5sums=('0dffa112d0a6ea39ad9e904e555da69a')
+
+build() {
+ _srcdir="${srcdir}/newton-dynamics-${pkgver}"
+ [[ "$CARCH" = "i686" ]] && platform="linux32"
+ [[ "$CARCH" = "x86_64" ]] && platform="linux64"
+ builddir="${_srcdir}/coreLibrary_200/projets/${platform}"
+
+ # clean build directory
+ [[ -d "${_srcdir}" ]] && rm -Rf "${_srcdir}"
+
+ # decompress package
+ cd "${srcdir}"
+ unar "newton-dynamics-${pkgver}.rar"
+
+ # needed for building
+ mkdir -p "${_srcdir}/packages/${platform}"
+
+ ## build lib
+ cd "${builddir}"
+ sed -i 's/ -o libNewton.so/ -lpthread -lstdc++ -o libNewton.so/' makefile
+ sed -i 's/Debug\.cpp.*$/Debug \\/g' makefile
+ make
+}
+
+package() {
+ install -D -m644 "${builddir}/libNewton.a" "${pkgdir}/usr/lib/libNewton.a"
+ install -D -m755 "${builddir}/libNewton.so" "${pkgdir}/usr/lib/libNewton.so"
+ install -D -m644 "${_srcdir}/coreLibrary_200/source/newton/Newton.h" "${pkgdir}/usr/include/Newton.h"
+}
diff --git a/libre/newton-dynamics-libre/assert-fix.patch b/libre/newton-dynamics-libre/assert-fix.patch
new file mode 100644
index 000000000..83dfdd790
--- /dev/null
+++ b/libre/newton-dynamics-libre/assert-fix.patch
@@ -0,0 +1,13 @@
+Index: source/core/dgTypes.cpp
+===================================================================
+--- source/core/dgTypes.cpp (revision 506)
++++ source/core/dgTypes.cpp (working copy)
+@@ -515,7 +515,7 @@
+ return 0;
+ }
+ _ASSERTE (compareCount <= dgInt32 (strideInBytes / sizeof (dgFloat64)));
+- _ASSERT (strideInBytes == dgInt32 (sizeof (dgFloat64) * (strideInBytes / sizeof (dgFloat64))));
++ _ASSERTE (strideInBytes == dgInt32 (sizeof (dgFloat64) * (strideInBytes / sizeof (dgFloat64))));
+
+ dgInt32 stride = strideInBytes / dgInt32 (sizeof (dgFloat64));
+ dgInt32 stride2 = stride + 2;