On Sun Feb 23, 2020 at 12:56:09AM +0100, Charlene Wendling wrote:
> Hi,
>
> > http://build-failures.rhaalovely.net/aarch64/2020-02-12/x11/qt5/qt3d.log
>
> The old, bundled assimp is causing narrowing issues, that are fixed in
> recent versions of it.
>
> Because arm* and macppc have such narrowing issues in common, i tried
> to fix it through ports-clang on macppc, and that required even more
> patches. So, i have:
>
> - added system assimp to LIB_DEPENDS, updated WANTLIB and added proper
> CONFIGURE_ARGS
> - dropped all bundled assimp patches indeed
>
> Testing:
>
> - amd64 builds and works fine, i've built the only consumer geo/qgis
> without issues
> - it builds on macppc with ports-gcc, its CHOSEN_COMPILER, qgis is
> BROKEN on this arch
> - i don't have an arm machine, but i'm 99% sure it will fix the build :)
I did the same thing for the upcoming Qt update. Yes please, OK
rsadowski@
>
> Comments and feedback are welcome,
>
> Charlène.
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/qt5/qt3d/Makefile,v
> retrieving revision 1.13
> diff -u -p -u -p -r1.13 Makefile
> --- Makefile 7 Jan 2020 20:22:07 -0000 1.13
> +++ Makefile 22 Feb 2020 21:35:57 -0000
> @@ -1,11 +1,8 @@
> # $OpenBSD: Makefile,v 1.13 2020/01/07 20:22:07 zhuk Exp $
>
> -# TODO: port Assimp and switch qt3d to it after Assimp >3.3.1 gets
> -# released.
> -
> QT5NAME = Qt3D
> COMMENT-main = Qt5 components for 3D graphics
> -REVISION-main = 0
> +REVISION-main = 1
>
> MULTI_PACKAGES = -main -examples
>
> @@ -23,13 +20,16 @@ SHARED_LIBS += Qt53DQuickExtras 0.1
> SHARED_LIBS += Qt53DQuickScene2D 0.1
>
> WANTLIB += ${COMPILER_LIBCXX} GL Qt5Concurrent Qt5Core Qt5Gamepad
> -WANTLIB += Qt5Gui Qt5Network Qt5Qml Qt5Quick c m z
> +WANTLIB += Qt5Gui Qt5Network Qt5Qml Qt5Quick assimp c m
>
> BUILD_DEPENDS =
> x11/qt5/qtmultimedia>=${QT5_VERSION:R},<${QT5_NEXT_VERSION}
> RUN_DEPENDS-examples =
> x11/qt5/qtmultimedia>=${QT5_VERSION:R},<${QT5_NEXT_VERSION}
>
> -LIB_DEPENDS =
> x11/qt5/qtdeclarative>=${QT5_VERSION},<${QT5_NEXT_VERSION} \
> +LIB_DEPENDS = multimedia/assimp>=3.3.2 \
> +
> x11/qt5/qtdeclarative>=${QT5_VERSION},<${QT5_NEXT_VERSION} \
> x11/qt5/qtgamepad>=${QT5_VERSION},<${QT5_NEXT_VERSION}
> +
> +CONFIGURE_ARGS += -assimp=system
>
> FLAVORS = debug
>
> Index: patches/patch-src_3rdparty_assimp_code_glTFAssetWriter_inl
> ===================================================================
> RCS file: patches/patch-src_3rdparty_assimp_code_glTFAssetWriter_inl
> diff -N patches/patch-src_3rdparty_assimp_code_glTFAssetWriter_inl
> --- patches/patch-src_3rdparty_assimp_code_glTFAssetWriter_inl 17 Jul
> 2017 08:34:37 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,26 +0,0 @@
> -$OpenBSD: patch-src_3rdparty_assimp_code_glTFAssetWriter_inl,v 1.1
> 2017/07/17 08:34:37 zhuk Exp $
> -Unbreak build.
> -
> -Index: src/3rdparty/assimp/code/glTFAssetWriter.inl
> ---- src/3rdparty/assimp/code/glTFAssetWriter.inl.orig
> -+++ src/3rdparty/assimp/code/glTFAssetWriter.inl
> -@@ -105,7 +105,7 @@ namespace glTF {
> - type = "arraybuffer";
> - }
> -
> -- obj.AddMember("byteLength", b.byteLength, w.mAl);
> -+ obj.AddMember("byteLength", (uint64_t)b.byteLength, w.mAl);
> - obj.AddMember("type", StringRef(type), w.mAl);
> - obj.AddMember("uri", Value(dataURI, w.mAl).Move(), w.mAl);
> - }
> -@@ -113,8 +113,8 @@ namespace glTF {
> - inline void Write(Value& obj, BufferView& bv, AssetWriter& w)
> - {
> - obj.AddMember("buffer", Value(bv.buffer->id, w.mAl).Move(), w.mAl);
> -- obj.AddMember("byteOffset", bv.byteOffset, w.mAl);
> -- obj.AddMember("byteLength", bv.byteLength, w.mAl);
> -+ obj.AddMember("byteOffset", (uint64_t)bv.byteOffset, w.mAl);
> -+ obj.AddMember("byteLength", (uint64_t)bv.byteLength, w.mAl);
> - obj.AddMember("target", int(bv.target), w.mAl);
> - }
> -
> Index: patches/patch-src_3rdparty_assimp_code_glTFAsset_inl
> ===================================================================
> RCS file: patches/patch-src_3rdparty_assimp_code_glTFAsset_inl
> diff -N patches/patch-src_3rdparty_assimp_code_glTFAsset_inl
> --- patches/patch-src_3rdparty_assimp_code_glTFAsset_inl 25 Aug 2019
> 20:10:37 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,17 +0,0 @@
> -$OpenBSD: patch-src_3rdparty_assimp_code_glTFAsset_inl,v 1.1 2019/08/25
> 20:10:37 cwen Exp $
> -
> -Fix the build on big endian archs. From:
> -https://github.com/assimp/assimp/pull/986/commits/c2c12c1db5c8d7610ad46b1970aabf4afde0eef4
> -
> -Index: src/3rdparty/assimp/code/glTFAsset.inl
> ---- src/3rdparty/assimp/code/glTFAsset.inl.orig
> -+++ src/3rdparty/assimp/code/glTFAsset.inl
> -@@ -40,6 +40,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O
> -
> - #include "StringUtils.h"
> -
> -+using namespace Assimp;
> -+
> - namespace glTF {
> -
> - namespace {