git: 96f00e4be8f1 - 2026Q4 - science/iboview: Update to 20260917 and migrate to Qt6

From: Kenneth Raplee <kenrap_at_FreeBSD.org>
Date: Mon, 02 Nov 2026 21:15:13 UTC
The branch 2026Q4 has been updated by kenrap:

URL: https://cgit.FreeBSD.org/ports/commit/?id=96f00e4be8f1dc0c53f7da966e9c4a8d3c14f24a

commit 96f00e4be8f1dc0c53f7da966e9c4a8d3c14f24a
Author:     Kenneth Raplee <kenrap@FreeBSD.org>
AuthorDate: 2026-11-02 03:55:27 +0000
Commit:     Kenneth Raplee <kenrap@FreeBSD.org>
CommitDate: 2026-11-02 21:14:22 +0000

    science/iboview: Update to 20260917 and migrate to Qt6
    
    Approved by:    arrowd (co-mentor)
    Approved by:    makc (mentor)
    
    (cherry picked from commit 3ffde00cb8eb21c41301fdcc808dfebe846d2b17)
---
 science/iboview/Makefile                            | 13 +++++++++----
 science/iboview/distinfo                            |  6 +++---
 science/iboview/files/patch-main.pro                |  4 ++--
 science/iboview/files/patch-src_Common_CxParse1.cpp | 18 ++++++++++++++++++
 4 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/science/iboview/Makefile b/science/iboview/Makefile
index 7f62dc2c91b6..755e06faf597 100644
--- a/science/iboview/Makefile
+++ b/science/iboview/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	iboview
-PORTVERSION=	20211019a
+DISTVERSION=	20260917
 CATEGORIES=	science
 MASTER_SITES=	http://www.iboview.org/bin/
 DISTNAME=	ibo-view.20211019-RevA
@@ -16,10 +16,15 @@ ONLY_FOR_ARCHS=	amd64 powerpc64 powerpc64le
 BUILD_DEPENDS=	boost-libs>=0:devel/boost-libs
 RUN_DEPENDS=	boost-libs>=0:devel/boost-libs
 
-USES=		blaslapack:openblas fortran gl qmake:outsource qt:5 zip
-USE_CXXSTD=	c++14
+USES=		blaslapack:openblas fortran gl qmake:outsource qt:6
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KoehnLab
+GH_TAGNAME=	500054ed80d12aa1f52f498520e543c5c837e26c
+
+USE_CXXSTD=	c++20
 USE_GL=		gl
-USE_QT=		buildtools:build core gui widgets opengl script svg
+USE_QT=		base declarative svg
 
 CONFIGURE_ENV=	BLASLIB="${BLASLIB}" \
 		BOOST_ROOT=${LOCALBASE}/include
diff --git a/science/iboview/distinfo b/science/iboview/distinfo
index ce1099776add..fbb02f50ce0b 100644
--- a/science/iboview/distinfo
+++ b/science/iboview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1788430623
-SHA256 (ibo-view.20211019-RevA.zip) = 48aea36f89996631b621c571ec56a73ef1b9bd70018f113685bd461eb1c79105
-SIZE (ibo-view.20211019-RevA.zip) = 34343464
+TIMESTAMP = 1793645806
+SHA256 (KoehnLab-iboview-20260917-500054ed80d12aa1f52f498520e543c5c837e26c_GH0.tar.gz) = cd509b1f9d01a3900fd6c15112d75517c24e105a252d528b01e6fa66e1ea1a5a
+SIZE (KoehnLab-iboview-20260917-500054ed80d12aa1f52f498520e543c5c837e26c_GH0.tar.gz) = 11015164
diff --git a/science/iboview/files/patch-main.pro b/science/iboview/files/patch-main.pro
index b950cc6caf10..cfd4d7acd7b8 100644
--- a/science/iboview/files/patch-main.pro
+++ b/science/iboview/files/patch-main.pro
@@ -1,6 +1,6 @@
---- main.pro.orig	2026-09-03 10:18:30 UTC
+--- main.pro.orig	2026-09-17 12:05:47 UTC
 +++ main.pro
-@@ -183,8 +183,8 @@ win32 {
+@@ -184,8 +184,8 @@ win32 {
  !win32 {
     # Flags for g++ or clang (in g++ emulation mode on linux)
     OPTFLAGS_OFF = -O2
diff --git a/science/iboview/files/patch-src_Common_CxParse1.cpp b/science/iboview/files/patch-src_Common_CxParse1.cpp
new file mode 100644
index 000000000000..80e801db159d
--- /dev/null
+++ b/science/iboview/files/patch-src_Common_CxParse1.cpp
@@ -0,0 +1,18 @@
+--- src/Common/CxParse1.cpp.orig	2026-11-02 03:17:42 UTC
++++ src/Common/CxParse1.cpp
+@@ -1410,12 +1410,13 @@ namespace ct {
+ 
+ // trim from left
+ void TrimLeft(std::string &s) {
+-   s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
++   // std::not1/std::ptr_fun are gone from <functional> in C++17 and later, and libc++ enforces that.
++   s.erase(s.begin(), std::find_if_not(s.begin(), s.end(), [](unsigned char c) { return std::isspace(c); }));
+ }
+ 
+ // trim from right
+ void TrimRight(std::string &s) {
+-   s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
++   s.erase(std::find_if_not(s.rbegin(), s.rend(), [](unsigned char c) { return std::isspace(c); }).base(), s.end());
+ }
+ 
+ // trim from both ends