On Tue Feb 13, 2024 at 02:34:03PM +0000, Stuart Henderson wrote:
> On 2024/02/12 14:34, Stuart Henderson wrote:
> > On 2024/02/11 14:25, Rafael Sadowski wrote:
> > > On Sat Feb 10, 2024 at 05:39:19PM -0700, phess...@openbsd.org wrote:
> > > > bulk build on arm64.ports.openbsd.org
> > > > started on  Thu Feb 8 00:00:49 MST 2024
> > > > finished at Sat Feb 10 17:37:41 MST 2024
> > > > lasted 2D17h36m
> > > > done with kern.version=OpenBSD 7.4-current (GENERIC.MP) #76: Wed Feb  7 
> > > > 17:33:52 MST 2024
> > > > 
> > > > built packages:12278
> > > > Feb 8:4373
> > > > Feb 9:1234
> > > > Feb 10:6670
> > > > 
> > > > 
> > > > critical path missing pkgs:  
> > > > http://build-failures.rhaalovely.net/aarch64/2024-02-08/summary.log
> > > > 
> > > > build failures: 2
> > > > http://build-failures.rhaalovely.net/aarch64/2024-02-08/graphics/pdfsandwich.log
> > > > http://build-failures.rhaalovely.net/aarch64/2024-02-08/x11/qt6/qt3d.log
> > > > 
> > > 
> > > The following diff works fine both amd64 and aarch64. Does it makes
> > > sense for i386 too?
> > > 
> > > diff --git a/x11/qt6/qt3d/Makefile b/x11/qt6/qt3d/Makefile
> > > index 76da86df196..e8249a2d05a 100644
> > > --- a/x11/qt6/qt3d/Makefile
> > > +++ b/x11/qt6/qt3d/Makefile
> > > @@ -1,6 +1,7 @@
> > >  QT6NAME =        Qt3D
> > >  COMMENT =        Qt6 components for 3D graphics
> > >  PKGSPEC =        qt6-qt3d-${QT6_PKGSPEC}
> > > +REVISION =       0
> > >  
> > >  SHARED_LIBS +=  Qt63DAnimation            1.0 # 6.6
> > >  SHARED_LIBS +=  Qt63DCore                 1.1 # 6.6
> > > @@ -27,7 +28,4 @@ LIB_DEPENDS =   multimedia/assimp \
> > >           x11/qt6/qtdeclarative \
> > >           x11/xkbcommon
> > >  
> > > -CONFIGURE_ARGS = -DQT_FEATURE_qt3d_simd_sse2=OFF \
> > > -                 -DQT_FEATURE_qt3d_simd_avx2=OFF
> > > -
> > 
> > It looks like the port was trying to disable the SSE2/AVX2 stuff -
> > depending on how the software works that might be necessary (i.e.
> > if it enables AVX2 if the build machine supports it, and uses it
> > unconditionally, then it does need disabling - but if it has a
> > runtime check then it doesn't)
> > 
> > >  .include <bsd.port.mk>
> > > diff --git a/x11/qt6/qt3d/pkg/PFRAG.amd64 b/x11/qt6/qt3d/pkg/PFRAG.amd64
> > > new file mode 100644
> > > index 00000000000..4c3913cce2e
> > > --- /dev/null
> > > +++ b/x11/qt6/qt3d/pkg/PFRAG.amd64
> > 
> > These extra PFRAG files are not used unless you set variables via
> > PKG_ARGS to have them pulled in, and reference them via %%varname%% in
> > PLIST.
> > 
> > I'm not sure if it tries to builds these files on i386 or not yet (the
> > machine has been running out of memory and crashing in my current bulk,
> > and the previous one had the old version of qt3d).
> > 
> > If they are amd64-only then I'd use the PKG_ARGS variable "amd64" and do
> > 
> > .if ${MACHINE_ARCH} == "amd64"
> > PKG_ARGS+=      -Damd64=1
> > .else
> > PKG_ARGS+=      -Damd64=0
> > .endif
> > 
> > otherwise
> > 
> > .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
> > PKG_ARGS+=      -Dx86=1
> > .else
> > PKG_ARGS+=      -Dx86=0
> > .endif
> > 
> > I'll let you know when my build finished whether they are produced on
> > i386, it will be at least a day or two away. Looks like qt6/qt3d is only
> > depended on by meta/qt6 so I guess this is not a big rush?
> 
> Those files are built on i386 too. So use the second of those and
> name the file PFRAG.x86 (and add %%x86%% to PLIST).
> 

Thanks for your guidance. OK for the following diff?

diff --git a/x11/qt6/qt3d/Makefile b/x11/qt6/qt3d/Makefile
index 76da86df196..af0097092c7 100644
--- a/x11/qt6/qt3d/Makefile
+++ b/x11/qt6/qt3d/Makefile
@@ -1,6 +1,7 @@
 QT6NAME =      Qt3D
 COMMENT =      Qt6 components for 3D graphics
 PKGSPEC =      qt6-qt3d-${QT6_PKGSPEC}
+REVISION =     0
 
 SHARED_LIBS +=  Qt63DAnimation            1.0 # 6.6
 SHARED_LIBS +=  Qt63DCore                 1.1 # 6.6
@@ -19,6 +20,12 @@ WANTLIB += ${COMPILER_LIBCXX} GL Qt6Concurrent Qt6Core Qt6Gui
 WANTLIB += Qt6Network Qt6OpenGL Qt6Qml Qt6QmlModels Qt6Quick Qt6ShaderTools
 WANTLIB += assimp c m xkbcommon z
 
+.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
+PKG_ARGS+=      -Dx86=1
+.else
+PKG_ARGS+=      -Dx86=0
+.endif
+
 BUILD_DEPENDS =        x11/qt6/qtmultimedia \
                graphics/vulkan-loader
 
@@ -27,7 +34,4 @@ LIB_DEPENDS = multimedia/assimp \
                x11/qt6/qtdeclarative \
                x11/xkbcommon
 
-CONFIGURE_ARGS =       -DQT_FEATURE_qt3d_simd_sse2=OFF \
-                       -DQT_FEATURE_qt3d_simd_avx2=OFF
-
 .include <bsd.port.mk>
diff --git a/x11/qt6/qt3d/pkg/PFRAG.x86 b/x11/qt6/qt3d/pkg/PFRAG.x86
new file mode 100644
index 00000000000..4c3913cce2e
--- /dev/null
+++ b/x11/qt6/qt3d/pkg/PFRAG.x86
@@ -0,0 +1,4 @@
+include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/matrix4x4_avx2_p.h
+include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/matrix4x4_sse_p.h
+include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/vector3d_sse_p.h
+include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/vector4d_sse_p.h
diff --git a/x11/qt6/qt3d/pkg/PLIST b/x11/qt6/qt3d/pkg/PLIST
index 9ca5b38ff0f..4491618d893 100644
--- a/x11/qt6/qt3d/pkg/PLIST
+++ b/x11/qt6/qt3d/pkg/PLIST
@@ -133,9 +133,7 @@ 
include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/calcboundingvolumejob_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/corelogging_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/coresettings_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/job_common_p.h
-include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/matrix4x4_avx2_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/matrix4x4_p.h
-include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/matrix4x4_sse_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/nullservices_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/propertychangehandler_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/qabstractaspect_p.h
@@ -195,10 +193,9 @@ 
include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/qurlhelper_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/sqt_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/task_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/vector3d_p.h
-include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/vector3d_sse_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/vector4d_p.h
-include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/vector4d_sse_p.h
 include/X11/qt6/Qt3DCore/${VERSION}/Qt3DCore/private/vector_helper_p.h
+%%x86%%
 include/X11/qt6/Qt3DCore/QAbstractAspect
 include/X11/qt6/Qt3DCore/QAbstractFunctor
 include/X11/qt6/Qt3DCore/QAbstractSkeleton

Reply via email to