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 {

Reply via email to