diff --git a/cad/brlcad/Makefile b/cad/brlcad/Makefile index 414f0a16ec35..dd926475ec3a 100644 --- a/cad/brlcad/Makefile +++ b/cad/brlcad/Makefile @@ -1,65 +1,65 @@ PORTNAME= brlcad PORTVERSION= 7.32.6 +PORTREVISION= 1 CATEGORIES= cad MASTER_SITES= https://github.com/BRL-CAD/brlcad/releases/download/rel-${PORTVERSION:S/./-/g}/ MAINTAINER= ports@freebsd.org COMMENT= CSG modelling system from the US Ballistic Research Laboratory WWW= https://brlcad.org/ LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= xsltproc:textproc/libxslt LIB_DEPENDS= liblz4.so:archivers/liblz4 \ libdrm.so:graphics/libdrm \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig USES= bison:alias cmake:insource cpe gl pkgconfig python:env \ tar:bzip2 tk xorg USE_GL= gl glu USE_LDCONFIG= yes USE_XORG= ice sm x11 xau xcb xdamage xdmcp xext xfixes xft xi \ xorgproto xrender xscrnsaver xt xxf86vm CMAKE_OFF= BRLCAD_ENABLE_STRICT CMAKE_INSTALL_PREFIX= ${PREFIX}/${PORTNAME} -CXXFLAGS_powerpc64= -mvsx TEST_TARGET= check CONFLICTS_INSTALL= py[23][0-9]-epsilon MANDIRS= ${PREFIX}/${PORTNAME}/share/man NO_MTREE= yes WRKSRC=${WRKDIR}/${PORTNAME}-${PORTVERSION} PLIST_SUB+= PORTVERSION=${PORTVERSION} .include .if ${OPSYS} == FreeBSD USES+= llvm:max=14 .endif post-patch: @${REINPLACE_CMD} -e 's+-exact Tcl 8\.6\.10+Tcl 8.6+' \ ${WRKSRC}/src/other/tcl/library/init.tcl pre-install: ${CP} ${FILESDIR}/mged.sh ${WRKSRC} ${REINPLACE_CMD} -e 's+%%BRLCAD_ROOT%%+${PREFIX}/${PORTNAME}+g;' ${WRKSRC}/mged.sh # note that installing outside of PREFIX wigs out package stuff... :/ post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/mged.sh ${STAGEDIR}${PREFIX}/bin/mged.sh regression-test: build @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} test) .include diff --git a/cad/brlcad/files/patch-src_other_Eigen_Eigen_Core b/cad/brlcad/files/patch-src_other_Eigen_Eigen_Core new file mode 100644 index 000000000000..cdc51eddf4dd --- /dev/null +++ b/cad/brlcad/files/patch-src_other_Eigen_Eigen_Core @@ -0,0 +1,11 @@ +--- src/other/Eigen/Eigen/Core.orig 2022-05-09 03:00:08 UTC ++++ src/other/Eigen/Eigen/Core 2026-09-02 17:05:45 UTC +@@ -346,7 +346,7 @@ + #include "src/Core/CoreIterators.h" + #include "src/Core/ConditionEstimator.h" + +-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX) ++#if defined(EIGEN_VECTORIZE_VSX) + #include "src/Core/arch/AltiVec/MatrixProduct.h" + #elif defined EIGEN_VECTORIZE_NEON + #include "src/Core/arch/NEON/GeneralBlockPanelKernel.h" diff --git a/cad/brlcad/files/patch-src_other_Eigen_Eigen_src_Core_arch_AltiVec_MathFunctions.h b/cad/brlcad/files/patch-src_other_Eigen_Eigen_src_Core_arch_AltiVec_MathFunctions.h new file mode 100644 index 000000000000..bb919f464cc1 --- /dev/null +++ b/cad/brlcad/files/patch-src_other_Eigen_Eigen_src_Core_arch_AltiVec_MathFunctions.h @@ -0,0 +1,23 @@ +--- src/other/Eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h.orig 2022-05-09 03:00:08 UTC ++++ src/other/Eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h 2026-09-02 17:05:45 UTC +@@ -76,6 +76,20 @@ + } + #endif + ++#ifndef __VSX__ ++template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED ++Packet4f psqrt(const Packet4f& x) ++{ ++ EIGEN_ALIGN16 float a[4]; ++ pstore(a, x); ++ a[0] = numext::sqrt(a[0]); ++ a[1] = numext::sqrt(a[1]); ++ a[2] = numext::sqrt(a[2]); ++ a[3] = numext::sqrt(a[3]); ++ return pload(a); ++} ++#endif ++ + // Hyperbolic Tangent function. + template <> + EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f diff --git a/cad/brlcad/files/patch-src_other_Eigen_Eigen_src_Core_arch_AltiVec_PacketMath.h b/cad/brlcad/files/patch-src_other_Eigen_Eigen_src_Core_arch_AltiVec_PacketMath.h new file mode 100644 index 000000000000..a1a2cea58b39 --- /dev/null +++ b/cad/brlcad/files/patch-src_other_Eigen_Eigen_src_Core_arch_AltiVec_PacketMath.h @@ -0,0 +1,15 @@ +--- src/other/Eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h.orig 2022-05-09 03:00:08 UTC ++++ src/other/Eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h 2026-09-02 17:05:45 UTC +@@ -1340,9 +1340,11 @@ + template<> EIGEN_STRONG_INLINE Packet8bf psub(const Packet8bf& a, const Packet8bf& b) { + BF16_TO_F32_BINARY_OP_WRAPPER(psub, a, b); + } ++ ++template<> Packet4f psqrt(const Packet4f& x); + + template<> EIGEN_STRONG_INLINE Packet8bf psqrt (const Packet8bf& a){ +- BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a); ++ BF16_TO_F32_UNARY_OP_WRAPPER(psqrt, a); + } + template<> EIGEN_STRONG_INLINE Packet8bf prsqrt (const Packet8bf& a){ + BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt, a);