diff --git a/math/pdal/Makefile b/math/pdal/Makefile index c012fa9d834a..9baf0aef3a2e 100644 --- a/math/pdal/Makefile +++ b/math/pdal/Makefile @@ -1,80 +1,78 @@ PORTNAME= pdal DISTVERSION= 2.8.4 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= math databases graphics MASTER_SITES= https://github.com/PDAL/PDAL/releases/download/${DISTVERSION}/ DISTNAME= ${PORTNAME}-${DISTVERSION}-src PATCH_SITES= https://github.com/PDAL/PDAL/commit/ PATCHFILES= eb7220a2447c5b3d208d7ef0a76c61a17a5b21da.patch:-p1 MAINTAINER= lbartoletti@FreeBSD.org COMMENT= Library for translating and manipulating point cloud data WWW= https://www.pdal.io LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= nlohmann-json>0:devel/nlohmann-json LIB_DEPENDS= libgdal.so:graphics/gdal \ libgeos.so:graphics/geos \ libproj.so:graphics/proj \ libboost_thread.so:devel/boost-libs \ libcurl.so:ftp/curl \ libgeotiff.so:graphics/libgeotiff \ liblaszip.so:archivers/laszip \ libzstd.so:archivers/zstd \ ${LIB_DEPENDS_${ARCH}} LIB_DEPENDS_aarch64= libunwind.so:devel/libunwind LIB_DEPENDS_amd64= libunwind.so:devel/libunwind LIB_DEPENDS_armv7= libunwind.so:devel/libunwind LIB_DEPENDS_i386= libunwind.so:devel/libunwind LIB_DEPENDS_powerpc64= libunwind.so:devel/libunwind LIB_DEPENDS_powerpc64le=libunwind.so:devel/libunwind USES= cmake compiler:c++11-lib gnome pathfix pkgconfig ssl tar:bz2 USE_GNOME= libxml2 USE_LDCONFIG= yes WRKSRC= ${WRKDIR}/${PORTNAME:tu}-${DISTVERSION}-src CMAKE_ON= WITH_LASZIP #LASZIP is recommended CMAKE_OFF= WITH_TESTS OPTIONS_DEFINE= BASH \ ICEBRIDGE PGPOINTCLOUD LAZPERF MBIO \ OPTIONS_DEFAULT= BASH \ ICEBRIDGE PGPOINTCLOUD LAZPERF MBIO #Plugins with lib not in port: #RivLib, Matlab, MrSID, CPD, GeoWave, GreyHound, HexBin, NITF (nitro) OPTIONS_SUB= yes BASH_DESC= BASH completion ICEBRIDGE_DESC= Enable Icebridge plugin LAZPERF_DESC= Enable LAZPerf plugin MBIO_DESC= Enable MBIO plugin PGPOINTCLOUD_DESC= Enable Coherent PostgreSQL Point Cloud plugin BASH_CMAKE_BOOL= WITH_COMPLETION BASH_RUN_DEPENDS= bash:shells/bash ICEBRIDGE_CMAKE_BOOL= BUILD_PLUGIN_ICEBRIDGE ICEBRIDGE_LIB_DEPENDS= libhdf5.so:science/hdf5 \ libsz.so:science/libaec LAZPERF_CMAKE_BOOL= WITH_LAZPERF LAZPERF_LIB_DEPENDS= liblazperf.so:archivers/lazperf MBIO_CMAKE_BOOL= BUILD_PLUGIN_MBIO PGPOINTCLOUD_CMAKE_BOOL= BUILD_PLUGIN_PGPOINTCLOUD PGPOINTCLOUD_USES= pgsql -CXXFLAGS_powerpc64= -mvsx - pre-install-BASH-on: ${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions .include diff --git a/math/pdal/files/patch-vendor_eigen_Eigen_Core b/math/pdal/files/patch-vendor_eigen_Eigen_Core new file mode 100644 index 000000000000..c30973fb6011 --- /dev/null +++ b/math/pdal/files/patch-vendor_eigen_Eigen_Core @@ -0,0 +1,11 @@ +--- vendor/eigen/Eigen/Core.orig 2025-02-03 13:42:28 UTC ++++ vendor/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/math/pdal/files/patch-vendor_eigen_Eigen_src_Core_arch_AltiVec_MathFunctions.h b/math/pdal/files/patch-vendor_eigen_Eigen_src_Core_arch_AltiVec_MathFunctions.h new file mode 100644 index 000000000000..db13a06c9ecf --- /dev/null +++ b/math/pdal/files/patch-vendor_eigen_Eigen_src_Core_arch_AltiVec_MathFunctions.h @@ -0,0 +1,23 @@ +--- vendor/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h.orig 2025-02-03 13:42:28 UTC ++++ vendor/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/math/pdal/files/patch-vendor_eigen_Eigen_src_Core_arch_AltiVec_PacketMath.h b/math/pdal/files/patch-vendor_eigen_Eigen_src_Core_arch_AltiVec_PacketMath.h new file mode 100644 index 000000000000..0a76543ce444 --- /dev/null +++ b/math/pdal/files/patch-vendor_eigen_Eigen_src_Core_arch_AltiVec_PacketMath.h @@ -0,0 +1,15 @@ +--- vendor/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h.orig 2025-02-03 13:42:28 UTC ++++ vendor/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);