summaryrefslogtreecommitdiff
path: root/libre/newton-dynamics-libre
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-06-29 01:11:33 -0300
committerAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-06-29 01:11:33 -0300
commit7ad7c3a0866ffa1e8b40e908c0cf4309a46ebed1 (patch)
tree14f86e2c547e81eff581fb667bc8d72523cf8dc3 /libre/newton-dynamics-libre
parentdd0ca4cf619119415c81395613929ede28021823 (diff)
downloadabslibre-7ad7c3a0866ffa1e8b40e908c0cf4309a46ebed1.tar.gz
abslibre-7ad7c3a0866ffa1e8b40e908c0cf4309a46ebed1.tar.bz2
abslibre-7ad7c3a0866ffa1e8b40e908c0cf4309a46ebed1.zip
newton-dynamics-libre: add new package to libre repo
NOTE: unar can uncompress source code perfectly, but source code is very old to compile against our packages, that package was compiled in Arch around 2011. So is necessary put patches to compile it against our lastest gcc.
Diffstat (limited to 'libre/newton-dynamics-libre')
-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;