diff --git a/mingw-w64-bullet/PKGBUILD b/mingw-w64-bullet/PKGBUILD index ce528b06fb..5480b1e61d 100644 --- a/mingw-w64-bullet/PKGBUILD +++ b/mingw-w64-bullet/PKGBUILD @@ -1,56 +1,107 @@ # Maintainer: Alexey Pavlov _realname=bullet -_mingw_suff=mingw-w64-${CARCH} -pkgname=("${_mingw_suff}-${_realname}") -_rev=r2704 -pkgver=2.82 -pkgrel=2 +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-${_realname}-debug") +pkgver=2.83 +pkgrel=1 pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation (mingw-w64)" arch=('any') url="http://www.bulletphysics.com/Bullet/" license=('custom:zlib') -depends=("${_mingw_suff}-gcc-libs") # "${_mingw_suff}-freeglut" -options=('strip' '!buildflags' 'staticlibs') -optdepends=('bullet-docs: documentation') -makedepends=("${_mingw_suff}-cmake") -source=("http://bullet.googlecode.com/files/bullet-${pkgver}-${_rev}.tgz" - dont-try-find-glu.patch - install-pkgconfig-files-mingw.patch) -md5sums=('70b3c8d202dee91a0854b4cbc88173e8' - '53e346560fe8c50834a587bdacf082a7' - 'a888f0a035d6f88ab1fbfd1e40b8b960') +options=('!strip' 'staticlibs') +#optdepends=('bullet-docs: documentation') +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-freeglut") +source=(#"http://bullet.googlecode.com/files/bullet-${pkgver}-${_rev}.tgz" + https://github.com/bulletphysics/bullet3/archive/Bullet-${pkgver}-alpha.tar.gz + remove-absent-demo.patch + install-pkgconfig-files-mingw.patch + cast-error.patch) +md5sums=('f459bb08387eb5696467109f44c1d4fd' + '70eda7f29f87cc3b65b58cb417e14201' + '2c243be67782ceb32a96aad61e668e83' + '8db1300cf01a0fb244cb4b3ea5eb102e') prepare () { - cd ${srcdir}/bullet-${pkgver}-${_rev} - patch -p1 -i ${srcdir}/dont-try-find-glu.patch + cd ${srcdir}/bullet3-Bullet-${pkgver}-alpha + patch -p1 -i ${srcdir}/remove-absent-demo.patch patch -p1 -i ${srcdir}/install-pkgconfig-files-mingw.patch - #sed -i "s|#define SIMD_EPSILON FLT_EPSILON|#define SIMD_EPSILON 1.19209290E-07F|g" src/LinearMath/btScalar.h - rm -f *.dll *.DLL - rm -rf Glut + patch -p1 -i ${srcdir}/cast-error.patch } build() { - mkdir -p ${pkgdir}${MINGW_PREFIX} - pushd ${pkgdir}${MINGW_PREFIX} > /dev/null - export PREFIX_WIN=`pwd -W` - popd > /dev/null + plain "No step" +} + +build_release() { + depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-freeglut") - cd ${srcdir}/bullet-${pkgver}-${_rev} - mkdir -p build-${MINGW_CHOST} && pushd build-${MINGW_CHOST} + cd ${srcdir} + mkdir -p build-release && pushd build-release ${MINGW_PREFIX}/bin/cmake \ -G"MSYS Makefiles" \ - -DCMAKE_INSTALL_PREFIX:PATH=${PREFIX_WIN} \ + -DCMAKE_INSTALL_PREFIX:PATH=${pkgdir}${MINGW_PREFIX} \ -DBUILD_SHARED_LIBS=1 \ - -DBUILD_DEMOS=0 \ -DBUILD_EXTRAS=1 \ -DINSTALL_LIBS=1 \ - -DUSE_GLUT=0 \ + -DUSE_GLUT=1 \ -DCMAKE_CXX_FLAGS_RELEASE="-fpermissive" \ -DINSTALL_EXTRA_LIBS=1 \ -DCMAKE_BUILD_TYPE=Release \ - .. + ../bullet3-Bullet-${pkgver}-alpha make + make install + + mv -f ${pkgdir}${MINGW_PREFIX}/lib/*.dll ${pkgdir}${MINGW_PREFIX}/bin/ + + pushd ${pkgdir}${MINGW_PREFIX} > /dev/null + export PREFIX_WIN=`pwd -W` + popd > /dev/null + sed -s "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" \ + -i ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/bullet.pc +} + +build_debug() { + depends=("${MINGW_PACKAGE_PREFIX}-${_realname}=$pkgver") + + cd ${srcdir} + mkdir -p build-debug && pushd build-debug + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX:PATH=${pkgdir}${MINGW_PREFIX} \ + -DBUILD_SHARED_LIBS=1 \ + -DBUILD_EXTRAS=1 \ + -DINSTALL_LIBS=1 \ + -DUSE_GLUT=1 \ + -DCMAKE_CXX_FLAGS_RELEASE="-fpermissive" \ + -DINSTALL_EXTRA_LIBS=1 \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_DEBUG_POSTFIX="_d" \ + ../bullet3-Bullet-${pkgver}-alpha + make + make install + + mv -f ${pkgdir}${MINGW_PREFIX}/lib/*.dll ${pkgdir}${MINGW_PREFIX}/bin/ + + rm -rf ${pkgdir}${MINGW_PREFIX}/include + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/cmake + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig + +} + +package_mingw-w64-i686-bullet() { + build_release +} + +package_mingw-w64-i686-bullet-debug() { + build_debug +} + +package_mingw-w64-x86_64-bullet() { + build_release +} + +package_mingw-w64-x86_64-bullet-debug() { + build_debug } package() { diff --git a/mingw-w64-bullet/cast-error.patch b/mingw-w64-bullet/cast-error.patch new file mode 100644 index 0000000000..fdfd758a07 --- /dev/null +++ b/mingw-w64-bullet/cast-error.patch @@ -0,0 +1,116 @@ +--- bullet3-Bullet-2.83-alpha/Extras/Serialize/BulletFileLoader/bDNA.cpp.orig 2014-06-08 18:17:06.470800000 +0400 ++++ bullet3-Bullet-2.83-alpha/Extras/Serialize/BulletFileLoader/bDNA.cpp 2014-06-08 18:19:30.583600000 +0400 +@@ -348,7 +348,7 @@ + void bDNA::init(char *data, int len, bool swap) + { + int *intPtr=0;short *shtPtr=0; +- char *cp = 0;int dataLen =0;long nr=0; ++ char *cp = 0;int dataLen =0;intptr_t nr=0; + intPtr = (int*)data; + + /* +@@ -390,7 +390,7 @@ + + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + //long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) +@@ -426,7 +426,7 @@ + } + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + // long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) +--- bullet3-Bullet-2.83-alpha/Extras/Serialize/BulletFileLoader/bFile.cpp.orig 2014-06-08 18:20:54.687600000 +0400 ++++ bullet3-Bullet-2.83-alpha/Extras/Serialize/BulletFileLoader/bFile.cpp 2014-06-08 18:21:47.244000000 +0400 +@@ -391,7 +391,7 @@ + char* data = &ptr[20]; + // void bDNA::init(char *data, int len, bool swap) + int *intPtr=0;short *shtPtr=0; +- char *cp = 0;int dataLen =0;long nr=0; ++ char *cp = 0;int dataLen =0;intptr_t nr=0; + intPtr = (int*)data; + + /* +@@ -441,7 +441,7 @@ + + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + //long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) +@@ -478,7 +478,7 @@ + } + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + // long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) +--- bullet3-Bullet-2.83-alpha/src/Bullet3Serialize/Bullet2FileLoader/b3DNA.cpp.orig 2014-06-08 18:31:01.591200000 +0400 ++++ bullet3-Bullet-2.83-alpha/src/Bullet3Serialize/Bullet2FileLoader/b3DNA.cpp 2014-06-08 18:31:32.994000000 +0400 +@@ -348,7 +348,7 @@ + void bDNA::init(char *data, int len, bool swap) + { + int *intPtr=0;short *shtPtr=0; +- char *cp = 0;int dataLen =0;long nr=0; ++ char *cp = 0;int dataLen =0;intptr_t nr=0; + intPtr = (int*)data; + + /* +@@ -390,7 +390,7 @@ + + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + //long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) +@@ -426,7 +426,7 @@ + } + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + // long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) +--- bullet3-Bullet-2.83-alpha/src/Bullet3Serialize/Bullet2FileLoader/b3File.cpp.orig 2014-06-08 18:32:25.238400000 +0400 ++++ bullet3-Bullet-2.83-alpha/src/Bullet3Serialize/Bullet2FileLoader/b3File.cpp 2014-06-08 18:32:49.168800000 +0400 +@@ -390,7 +390,7 @@ + char* data = &ptr[20]; + // void bDNA::init(char *data, int len, bool swap) + int *intPtr=0;short *shtPtr=0; +- char *cp = 0;int dataLen =0;long nr=0; ++ char *cp = 0;int dataLen =0;intptr_t nr=0; + intPtr = (int*)data; + + /* +@@ -428,7 +428,7 @@ + + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + //long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) +@@ -465,7 +465,7 @@ + } + + { +- nr= (long)cp; ++ nr= (intptr_t)cp; + // long mask=3; + nr= ((nr+3)&~3)-nr; + while (nr--) diff --git a/mingw-w64-bullet/install-pkgconfig-files-mingw.patch b/mingw-w64-bullet/install-pkgconfig-files-mingw.patch index 2a3679fa75..568ed09519 100644 --- a/mingw-w64-bullet/install-pkgconfig-files-mingw.patch +++ b/mingw-w64-bullet/install-pkgconfig-files-mingw.patch @@ -1,6 +1,6 @@ --- a/CMakeLists.txt.orig 2013-10-24 03:35:13.000000000 +0400 +++ b/CMakeLists.txt 2014-04-18 09:03:12.932400000 +0400 -@@ -402,7 +402,7 @@ +@@ -402,14 +402,14 @@ ## the following are directories where stuff will be installed to SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/bullet/" CACHE PATH "The subdirectory to the header prefix") SET(PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files") @@ -9,3 +9,11 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bullet.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/bullet.pc @ONLY) INSTALL( FILES + ${CMAKE_CURRENT_BINARY_DIR}/bullet.pc + DESTINATION + ${PKGCONFIG_INSTALL_PREFIX}) +- ENDIF(NOT WIN32) ++ ENDIF(NOT WIN32 OR MINGW) + ENDIF(INSTALL_LIBS) + + #INSTALL of other files requires CMake 2.6 diff --git a/mingw-w64-bullet/remove-absent-demo.patch b/mingw-w64-bullet/remove-absent-demo.patch new file mode 100644 index 0000000000..6ab740ab13 --- /dev/null +++ b/mingw-w64-bullet/remove-absent-demo.patch @@ -0,0 +1,19 @@ +--- bullet3-Bullet-2.83-alpha/Demos/CMakeLists.txt.orig 2014-06-08 15:30:10.689800000 +0400 ++++ bullet3-Bullet-2.83-alpha/Demos/CMakeLists.txt 2014-06-08 15:30:32.623400000 +0400 +@@ -34,7 +34,7 @@ + ) + + IF(BUILD_MULTITHREADING) +- SUBDIRS( ThreadingDemo VectorAdd_OpenCL ) ++ SUBDIRS( ThreadingDemo ) + ENDIF() + + ENDIF(GLUT_FOUND) +@@ -58,7 +58,6 @@ + GenericJointDemo + SerializeDemo + SoftDemo +- VectorAdd_OpenCL + VoronoiFractureDemo + ) + ENDIF(WIN32)