[Buildroot] [PATCH 1/1] package/assimp: bump version to 5.0.0
Bernd Kuhls
bernd.kuhls at t-online.de
Sat Oct 26 18:22:48 UTC 2019
Rebased patch and added link to upstream pull request.
Added dependency to host-pkgconf because the CMake function
FIND_PACKAGE is used to detect zlib:
https://github.com/assimp/assimp/blob/master/CMakeLists.txt#L440
Quoting configure output:
-- Looking for ZLIB...
-- Found PkgConfig: /home/buildroot/br/output/host/bin/pkg-config (found version "1.6.1")
mips64el also needs -mxgot which fixes an error at linking stage.
Upstream commit added a check for ssize_t
https://github.com/assimp/assimp/commit/bb11f90983c866760a22f11c26717ea2cc03505d#diff-6d654ad76d625ddbefeb15aeaf7853d8
based on various defines which are all not provided by musl causing a
build error:
/home/buildroot/br/output/build/assimp-5.0.0/contrib/zip/src/zip.h:30:15:
error: conflicting declaration ‘typedef long int ssize_t’
typedef long ssize_t; /* byte count or error */
To fix the problem we add the appropriate define to cflags and cxxflags
to fix the build of FBXConverter.cpp and zip.c.
Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
---
Build-tested using this defconfig:
BR2_PACKAGE_ASSIMP=y
andes-nds32 [ 1/44]: SKIPPED
arm-aarch64 [ 2/44]: OK
br-aarch64-glibc [ 3/44]: OK
br-arcle-hs38 [ 4/44]: OK
br-arm-basic [ 5/44]: SKIPPED
br-arm-cortex-a9-glibc [ 6/44]: OK
br-arm-cortex-a9-musl [ 7/44]: OK
br-arm-cortex-m4-full [ 8/44]: OK
br-arm-full [ 9/44]: OK
br-arm-full-nothread [10/44]: OK
br-arm-full-static [11/44]: OK
br-i386-pentium4-full [12/44]: OK
br-i386-pentium-mmx-musl [13/44]: OK
br-m68k-5208-full [14/44]: OK
br-m68k-68040-full [15/44]: OK
br-microblazeel-full [16/44]: OK
br-mips32r6-el-hf-glibc [17/44]: OK
br-mips64-n64-full [18/44]: OK
br-mips64r6-el-hf-glibc [19/44]: OK
br-mipsel-o32-full [20/44]: OK
br-nios2-glibc [21/44]: OK
br-openrisc-uclibc [22/44]: OK
br-powerpc-603e-basic-cpp [23/44]: SKIPPED
br-powerpc64le-power8-glibc [24/44]: OK
br-powerpc64-power7-glibc [25/44]: OK
br-powerpc-e500mc-full [26/44]: OK
br-riscv32 [27/44]: OK
br-riscv64 [28/44]: OK
br-sh4-full [29/44]: OK
br-sparc64-glibc [30/44]: OK
br-sparc-uclibc [31/44]: OK
br-x86-64-core2-full [32/44]: OK
br-x86-64-musl [33/44]: OK
br-xtensa-full [34/44]: OK
linaro-aarch64-be [35/44]: OK
linaro-aarch64 [36/44]: OK
linaro-arm [37/44]: OK
sourcery-arm-armv4t [38/44]: OK
sourcery-arm [39/44]: OK
sourcery-arm-thumb2 [40/44]: OK
sourcery-mips64 [41/44]: OK
sourcery-mips [42/44]: OK
sourcery-nios2 [43/44]: OK
sourcery-x86-64 [44/44]: OK
44 builds, 3 skipped, 0 build failed, 0 legal-info failed
Also build-tested qt53d based on br-x86-64-core2-full.config.
...BXConverter-use-proper-64-bit-constant.patch | 15 ++++++++++-----
package/assimp/assimp.hash | 2 +-
package/assimp/assimp.mk | 17 ++++++++++++-----
3 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch b/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch
index bfcbeb55e3..df8a64f7a4 100644
--- a/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch
+++ b/package/assimp/0001-Fix-FBXConverter-use-proper-64-bit-constant.patch
@@ -12,24 +12,29 @@ Use proper 64-bit constant for CONVERT_FBX_TIME(time) conversion, fixes:
code/FBXConverter.cpp:2878: error: integer constant is too large for 'long' type
code/FBXConverter.cpp:2888: error: integer constant is too large for 'long' type
+Patch sent upstream: https://github.com/assimp/assimp/pull/2697
+
+[Bernd: rebase for version 5.0.0]
Signed-off-by: Peter Seiderer <ps.report at gmx.net>
+Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
---
code/FBXConverter.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/FBXConverter.cpp b/code/FBXConverter.cpp
index e0c6b9c..b1e9a71 100644
---- a/code/FBXConverter.cpp
-+++ b/code/FBXConverter.cpp
-@@ -67,7 +67,7 @@ namespace FBX {
+--- a/code/FBX/FBXConverter.cpp
++++ b/code/FBX/FBXConverter.cpp
+@@ -77,7 +77,7 @@
#define MAGIC_NODE_TAG "_$AssimpFbx$"
-#define CONVERT_FBX_TIME(time) static_cast<double>(time) / 46186158000L
+#define CONVERT_FBX_TIME(time) static_cast<double>(time) / 46186158000LL
- // XXX vc9's debugger won't step into anonymous namespaces
- //namespace {
+ FBXConverter::FBXConverter(aiScene* out, const Document& doc, bool removeEmptyBones )
+ : defaultMaterialIndex()
+
--
2.1.4
diff --git a/package/assimp/assimp.hash b/package/assimp/assimp.hash
index 72d367ac43..2296382d91 100644
--- a/package/assimp/assimp.hash
+++ b/package/assimp/assimp.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 3520b1e9793b93a2ca3b797199e16f40d61762617e072f2d525fad70f9678a71 assimp-4.1.0.tar.gz
+sha256 b0110a91650d6bb4000e3d5c2185bf77b0ff0a2e7a284bc2c4af81b33988b63c assimp-5.0.0.tar.gz
sha256 a26ccc3dbf2f58ea99c100945a8a126fa0f9f4d7fd2b49aa8bdb8e09355864d8 LICENSE
diff --git a/package/assimp/assimp.mk b/package/assimp/assimp.mk
index ce02ef300c..595e5514fe 100644
--- a/package/assimp/assimp.mk
+++ b/package/assimp/assimp.mk
@@ -4,15 +4,16 @@
#
################################################################################
-ASSIMP_VERSION = 4.1.0
+ASSIMP_VERSION = 5.0.0
ASSIMP_SITE = $(call github,assimp,assimp,v$(ASSIMP_VERSION))
ASSIMP_LICENSE = BSD-3-Clause
ASSIMP_LICENSE_FILES = LICENSE
-ASSIMP_DEPENDENCIES = zlib
+ASSIMP_DEPENDENCIES = host-pkgconf zlib
ASSIMP_INSTALL_STAGING = YES
-# relocation truncated to fit: R_68K_GOT16O
-ifeq ($(BR2_m68k),y)
+# m68k: relocation truncated to fit: R_68K_GOT16O
+# mips64el: relocation truncated to fit: R_MIPS_CALL16
+ifeq ($(BR2_m68k)$(BR2_mips64el),y)
ASSIMP_CXXFLAGS += -mxgot
endif
@@ -28,7 +29,13 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
ASSIMP_CXXFLAGS += -O0
endif
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+ASSIMP_CXXFLAGS += -D__ssize_t_defined
+ASSIMP_CFLAGS += -D__ssize_t_defined
+endif
+
ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \
- -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)"
+ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)" \
+ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(ASSIMP_CFLAGS)"
$(eval $(cmake-package))
--
2.20.1
More information about the buildroot
mailing list