git: 91c0d1793199 - 2025Q4 - science/pcmsolver: Fix build

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 15 Oct 2025 03:42:12 UTC
The branch 2025Q4 has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=91c0d1793199ce7252f19ad42d90bc55db9a1bfb

commit 91c0d1793199ce7252f19ad42d90bc55db9a1bfb
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-10-15 03:05:42 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-10-15 03:42:08 +0000

    science/pcmsolver: Fix build
    
    Fixes:
    - old bundled eigen version wasn't compatible
    - errors due to c++11 were resolved using c++14
    
    Reported by:    fallout
    
    (cherry picked from commit 6af3053952c267f65c4c038b8bdcd1f8566358dd)
---
 science/pcmsolver/Makefile                                 |  6 ++----
 .../files/patch-cmake_custom_compilers_CXXFlags.cmake      |  8 ++++++++
 ...l_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h | 14 ++++++++++++++
 3 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/science/pcmsolver/Makefile b/science/pcmsolver/Makefile
index ff137c88f6ef..0b234b6f90d9 100644
--- a/science/pcmsolver/Makefile
+++ b/science/pcmsolver/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	pcmsolver
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.3.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	science
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -11,9 +11,7 @@ WWW=		https://github.com/PCMSolver/pcmsolver
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN_FreeBSD_15=	compilation is broken with clang-19, see https://github.com/PCMSolver/pcmsolver/issues/208
-
-USES=		cmake compiler:c11 fortran python
+USES=		cmake compiler:c++14-lang fortran python:build
 USE_LDCONFIG=	yes
 
 USE_GITHUB=	yes
diff --git a/science/pcmsolver/files/patch-cmake_custom_compilers_CXXFlags.cmake b/science/pcmsolver/files/patch-cmake_custom_compilers_CXXFlags.cmake
new file mode 100644
index 000000000000..a9bf3aef3f64
--- /dev/null
+++ b/science/pcmsolver/files/patch-cmake_custom_compilers_CXXFlags.cmake
@@ -0,0 +1,8 @@
+--- cmake/custom/compilers/CXXFlags.cmake.orig	2025-10-15 01:10:00 UTC
++++ cmake/custom/compilers/CXXFlags.cmake
+@@ -1,4 +1,4 @@
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 14)
+ set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
+ set(CMAKE_CXX_EXTENSIONS FALSE)
+ 
diff --git a/science/pcmsolver/files/patch-external_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h b/science/pcmsolver/files/patch-external_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h
new file mode 100644
index 000000000000..ada24c1f6175
--- /dev/null
+++ b/science/pcmsolver/files/patch-external_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h
@@ -0,0 +1,14 @@
+- fix build error with Eigen 3.3.2
+
+
+--- external/eigen3/include/eigen3/Eigen/src/Core/Transpositions.h.orig	2025-10-15 01:10:00 UTC
++++ external/eigen3/include/eigen3/Eigen/src/Core/Transpositions.h
+@@ -384,7 +384,7 @@ class Transpose<TranspositionsBase<TranspositionsDeri
+     const Product<OtherDerived, Transpose, AliasFreeProduct>
+     operator*(const MatrixBase<OtherDerived>& matrix, const Transpose& trt)
+     {
+-      return Product<OtherDerived, Transpose, AliasFreeProduct>(matrix.derived(), trt.derived());
++      return Product<OtherDerived, Transpose, AliasFreeProduct>(matrix.derived(), trt);
+     }
+ 
+     /** \returns the \a matrix with the inverse transpositions applied to the rows.