git: 689bc8859e83 - main - devel/gwenhywfar*: Update to 5.12.1

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Tue, 05 Aug 2025 06:50:30 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=689bc8859e83715623cc9af2ec46e143cd3759f6

commit 689bc8859e83715623cc9af2ec46e143cd3759f6
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-08-05 06:31:34 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-08-05 06:50:19 +0000

    devel/gwenhywfar*: Update to 5.12.1
    
    Add Qt6 support library (devel/gwenhywfar-qt6).
---
 devel/Makefile                                   |  1 +
 devel/gwenhywfar-qt6/Makefile                    | 12 ++++
 devel/gwenhywfar-qt6/pkg-plist                   |  9 +++
 devel/gwenhywfar/Makefile                        | 22 +++++--
 devel/gwenhywfar/distinfo                        |  6 +-
 devel/gwenhywfar/files/patch-configure           | 78 +++++++++++++++++-------
 devel/gwenhywfar/files/patch-gui_qt5_Makefile.in | 15 +++++
 7 files changed, 111 insertions(+), 32 deletions(-)

diff --git a/devel/Makefile b/devel/Makefile
index 923fdaf07ae8..3550e7a9c701 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -965,6 +965,7 @@
     SUBDIR += gwenhywfar-gtk2
     SUBDIR += gwenhywfar-gtk3
     SUBDIR += gwenhywfar-qt5
+    SUBDIR += gwenhywfar-qt6
     SUBDIR += gzstream
     SUBDIR += hapy
     SUBDIR += hare
diff --git a/devel/gwenhywfar-qt6/Makefile b/devel/gwenhywfar-qt6/Makefile
new file mode 100644
index 000000000000..664052f200f7
--- /dev/null
+++ b/devel/gwenhywfar-qt6/Makefile
@@ -0,0 +1,12 @@
+PORTREVISION=	0
+PKGNAMESUFFIX=	-${_GWEN_GUI}
+
+MAINTAINER=	jhale@FreeBSD.org
+COMMENT=	Gwenhywfar Qt6 support library
+
+MASTERDIR=	${.CURDIR:H:H}/devel/gwenhywfar
+PLIST=		${.CURDIR}/pkg-plist
+
+_GWEN_GUI=	qt6
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/gwenhywfar-qt6/pkg-plist b/devel/gwenhywfar-qt6/pkg-plist
new file mode 100644
index 000000000000..fc95c8c04db7
--- /dev/null
+++ b/devel/gwenhywfar-qt6/pkg-plist
@@ -0,0 +1,9 @@
+include/gwenhywfar5/gwen-gui-qt6/qt5_gui.hpp
+include/gwenhywfar5/gwen-gui-qt6/qt5_gui_dialog.hpp
+include/gwenhywfar5/gwen-gui-qt6/qt5dialogbox.hpp
+lib/cmake/gwengui-qt6-%%GWEN_MAJ_MIN_VER%%/gwengui-qt6-config-version.cmake
+lib/cmake/gwengui-qt6-%%GWEN_MAJ_MIN_VER%%/gwengui-qt6-config.cmake
+lib/libgwengui-qt6.so
+lib/libgwengui-qt6.so.%%GWEN_SHLIB_VER%%
+lib/libgwengui-qt6.so.%%GWEN_SHLIB_VER%%.%%GWEN_MIN_PATCH_VER%%
+libdata/pkgconfig/gwengui-qt6.pc
diff --git a/devel/gwenhywfar/Makefile b/devel/gwenhywfar/Makefile
index 2a442fd15772..a43ef3eca63a 100644
--- a/devel/gwenhywfar/Makefile
+++ b/devel/gwenhywfar/Makefile
@@ -1,8 +1,8 @@
 PORTNAME=	gwenhywfar
-PORTVERSION=	5.12.0
+PORTVERSION=	5.12.1
 PORTREVISION?=	0
 CATEGORIES=	devel net security
-MASTER_SITES=	https://www.aquamaniac.de/rdm/attachments/download/529/
+MASTER_SITES=	https://www.aquamaniac.de/rdm/attachments/download/533/
 
 MAINTAINER?=	jhale@FreeBSD.org
 COMMENT?=	Multi-platform helper library for networking and security applications
@@ -76,13 +76,20 @@ LIB_DEPENDS+=	libharfbuzz.so:print/harfbuzz
 USES+=		gettext-runtime gnome
 USE_GNOME+=	cairo gdkpixbuf gtk30
 .  elif ${_GWEN_GUI} == "qt5"
-USES+=		compiler:c++11-lang gl qmake:no_env qt:5
+USES+=		compiler:c++11-lang gl qt:5
 USE_GL=		gl
 USE_QT=		core gui widgets \
 		buildtools:build qmake:build
-CONFIGURE_ARGS+=--with-qt5-qmake=${QMAKE} \
-		--with-qt5-moc=${MOC} \
-		--with-qt5-uic=${UIC}
+CONFIGURE_ENV+=	QMAKE=${QMAKE} \
+		QT_MOC=${MOC} \
+		QT_UIC=${UIC}
+.  elif ${_GWEN_GUI} == "qt6"
+USES+=		compiler:c++17-lang gl qt:6
+USE_GL=		opengl
+USE_QT=		base
+CONFIGURE_ENV+=	QMAKE=${QMAKE} \
+		QT_MOC=${MOC} \
+		QT_UIC=${UIC}
 .  endif
 .endif
 
@@ -97,6 +104,9 @@ post-patch:
 			-e 's|[$$][(]builddir[)]/../cpp/libgwengui-cpp.la|-lgwengui-cpp|g' \
 			-e 's|[$$][(]top_builddir[)]/gui/cpp/libgwengui-cpp.la|-lgwengui-cpp|g' \
 			-e '/^SUBDIRS/s|cpp ||g'
+# The qt6 gui source is actually located in the qt5 subdir and needs this
+# symlink to build. This should be fixed in the next release.
+	@(cd ${BUILD_WRKSRC} && ${LN} -sf qt5 qt6)
 .endif
 
 post-build-DOXYGEN-on:
diff --git a/devel/gwenhywfar/distinfo b/devel/gwenhywfar/distinfo
index ea9356eb80e2..c2b8ac010428 100644
--- a/devel/gwenhywfar/distinfo
+++ b/devel/gwenhywfar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735272271
-SHA256 (gwenhywfar-5.12.0.tar.gz) = 0ad5f1447703211f1610053a94bce1e82abceda2222a2ecc9cf45b148395d626
-SIZE (gwenhywfar-5.12.0.tar.gz) = 2721790
+TIMESTAMP = 1754206688
+SHA256 (gwenhywfar-5.12.1.tar.gz) = d188448b9c3a9709721422ee0134b9d0b7790ab7514058d99e04399e39465dda
+SIZE (gwenhywfar-5.12.1.tar.gz) = 2734237
diff --git a/devel/gwenhywfar/files/patch-configure b/devel/gwenhywfar/files/patch-configure
index f97bc90eb9fb..5e331d4ac0d2 100644
--- a/devel/gwenhywfar/files/patch-configure
+++ b/devel/gwenhywfar/files/patch-configure
@@ -1,35 +1,67 @@
-Hunk 1: Fix dectection of fox libs.
-Hunk 2,3: Remove leftover file so temp directory is cleaned.
-Hunk 3: Use pkgconf for QT_LIBS. The other method produces the full path to the
-library which libtool seems to discard.
+Hunk 1: Fix detection of fox libs.
+Hunk 2: Avoid linking to unneeded Qt components (yet again) which were re-added
+        in 5.12.1, and re-add widgets which was removed for some reason. This
+        only needs core, gui, and widgets.
+        Use pkgconf to define QT_LIBS. The other method produces the full path
+        to the libraries which libtool seems to discard.
 
---- configure.orig	2024-12-17 18:57:54 UTC
+--- configure.orig	2025-07-06 17:51:09 UTC
 +++ configure
-@@ -23442,7 +23442,7 @@ if test "${with_fox_libs+set}" = set; then :
- 
+@@ -24831,7 +24831,7 @@ then :
  # Check whether --with-fox-libs was given.
- if test "${with_fox_libs+set}" = set; then :
+ if test ${with_fox_libs+y}
+ then :
 -  withval=$with_fox_libs; fox_libs="$withval"
 +  withval=$with_fox_libs; local_fox_libs="$withval"
- else
+ else $as_nop
  
        ac_ext=cpp
-@@ -25024,6 +25024,7 @@ $as_echo_n "checking for Qt... " >&6; }
-     am_have_qt_dir=`mktemp -d`
-     am_have_qt_pro="$am_have_qt_dir/test.pro"
-     am_have_qt_makefile="$am_have_qt_dir/Makefile"
-+    am_have_qt_stash="$am_have_qt_dir/.qmake.stash"
-     # http://qt-project.org/doc/qt-5/qmake-variable-reference.html#qt
-     cat > $am_have_qt_pro << EOF
- win32 {
-@@ -25039,8 +25040,8 @@ EOF
+@@ -26583,42 +26583,20 @@ win32 {
+     CONFIG -= debug_and_release
+     CONFIG += release
+ }
+-qtHaveModule(axcontainer):       QT += axcontainer
+-qtHaveModule(axserver):          QT += axserver
+-qtHaveModule(concurrent):        QT += concurrent
+ qtHaveModule(core):              QT += core
+-qtHaveModule(dbus):              QT += dbus
+-qtHaveModule(declarative):       QT += declarative
+-qtHaveModule(designer):          QT += designer
+ qtHaveModule(gui):               QT += gui
+-qtHaveModule(help):              QT += help
+-qtHaveModule(multimedia):        QT += multimedia
+-qtHaveModule(multimediawidgets): QT += multimediawidgets
+-qtHaveModule(network):           QT += network
+-qtHaveModule(opengl):            QT += opengl
+-qtHaveModule(printsupport):      QT += printsupport
+-qtHaveModule(qml):               QT += qml
+-qtHaveModule(qmltest):           QT += qmltest
+-qtHaveModule(x11extras):         QT += x11extras
+-qtHaveModule(script):            QT += script
+-qtHaveModule(scripttools):       QT += scripttools
+-qtHaveModule(sensors):           QT += sensors
+-qtHaveModule(serialport):        QT += serialport
+-qtHaveModule(sql):               QT += sql
+-qtHaveModule(svg):               QT += svg
+-qtHaveModule(testlib):           QT += testlib
+-qtHaveModule(uitools):           QT += uitools
+-qtHaveModule(webkit):            QT += webkit
+-qtHaveModule(webkitwidgets):     QT += webkitwidgets
+-qtHaveModule(xml):               QT += xml
+-qtHaveModule(xmlpatterns):       QT += xmlpatterns
++qtHaveModule(widgets):           QT += widgets
+ percent.target = %
+ percent.commands = @echo -n "\$(\$(@))\ "
+ QMAKE_EXTRA_TARGETS += percent
  EOF
-     $QT_QMAKE $am_have_qt_pro -o $am_have_qt_makefile
+     $QMAKE $am_have_qt_pro -o $am_have_qt_makefile
      QT_CXXFLAGS=`cd $am_have_qt_dir; make -s -f $am_have_qt_makefile CXXFLAGS INCPATH`
 -    QT_LIBS=`cd $am_have_qt_dir; make -s -f $am_have_qt_makefile LIBS`
--    rm $am_have_qt_pro $am_have_qt_makefile
-+    QT_LIBS=`pkgconf --libs Qt5Widgets gl`
-+    rm $am_have_qt_pro $am_have_qt_makefile $am_have_qt_stash
++    if test "$ver" ">" "Qt version 5"; then
++      QT_LIBS=`pkgconf --libs Qt6Widgets opengl`
++    else
++      QT_LIBS=`pkgconf --libs Qt5Widgets gl`
++    fi
+     rm $am_have_qt_pro $am_have_qt_stash $am_have_qt_makefile
      rmdir $am_have_qt_dir
  
-     # Look for specific tools in $PATH
diff --git a/devel/gwenhywfar/files/patch-gui_qt5_Makefile.in b/devel/gwenhywfar/files/patch-gui_qt5_Makefile.in
new file mode 100644
index 000000000000..828fab38117e
--- /dev/null
+++ b/devel/gwenhywfar/files/patch-gui_qt5_Makefile.in
@@ -0,0 +1,15 @@
+Install headers for the qt6 flavor in a unique location. It's silly that
+they're still named qt5*.h, but we're trying not to deviate too much from
+upstream and this interfaces's only consumer, kmymoney.
+
+--- gui/qt5/Makefile.in.orig	2025-08-03 09:12:07 UTC
++++ gui/qt5/Makefile.in
+@@ -556,7 +556,7 @@ nodist_noinst_HEADERS = 
+ 
+ nodist_libgwengui_qt@QT_MAJOR_VERSION@_la_SOURCES = 
+ nodist_noinst_HEADERS = 
+-iheaderdir = ${gwenhywfar_headerdir_am}/gwen-gui-qt5
++iheaderdir = ${gwenhywfar_headerdir_am}/gwen-gui-qt@QT_MAJOR_VERSION@
+ iheader_HEADERS = \
+  qt5_gui.hpp \
+  qt5_gui_dialog.hpp \