Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gwenhywfar for openSUSE:Factory checked in at 2025-06-27 23:02:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gwenhywfar (Old) and /work/SRC/openSUSE:Factory/.gwenhywfar.new.7067 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gwenhywfar" Fri Jun 27 23:02:03 2025 rev:86 rq:1288808 version:5.12.0 Changes: -------- --- /work/SRC/openSUSE:Factory/gwenhywfar/gwenhywfar.changes 2025-01-25 19:14:06.028645962 +0100 +++ /work/SRC/openSUSE:Factory/.gwenhywfar.new.7067/gwenhywfar.changes 2025-06-27 23:09:16.681067130 +0200 @@ -1,0 +2,19 @@ +Tue Jun 24 22:33:43 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Add patches for Qt 6 support: + * 0001-Fix-name-of-output-variable.patch + * 0002-Support-building-for-Qt6.patch + * 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch + * 0004-Add-missing-files-to-AC_CONFIG_FILES.patch + * 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch + * 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch + * 0007-Remove-debug-output.patch +- Spec cleanup + +------------------------------------------------------------------- +Tue Jun 24 11:57:06 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Add patch: + * gwenhywfar-gcc15.patch + +------------------------------------------------------------------- New: ---- 0001-Fix-name-of-output-variable.patch 0002-Support-building-for-Qt6.patch 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch 0004-Add-missing-files-to-AC_CONFIG_FILES.patch 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch 0007-Remove-debug-output.patch _multibuild gwenhywfar-gcc15.patch gwenhywfar-qt6.spec ----------(New B)---------- New:- Add patches for Qt 6 support: * 0001-Fix-name-of-output-variable.patch * 0002-Support-building-for-Qt6.patch New: * 0001-Fix-name-of-output-variable.patch * 0002-Support-building-for-Qt6.patch * 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch New: * 0002-Support-building-for-Qt6.patch * 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch * 0004-Add-missing-files-to-AC_CONFIG_FILES.patch New: * 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch * 0004-Add-missing-files-to-AC_CONFIG_FILES.patch * 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch New: * 0004-Add-missing-files-to-AC_CONFIG_FILES.patch * 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch * 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch New: * 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch * 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch * 0007-Remove-debug-output.patch New: * 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch * 0007-Remove-debug-output.patch - Spec cleanup New:- Add patch: * gwenhywfar-gcc15.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gwenhywfar-qt6.spec ++++++ # # spec file for package gwenhywfar-qt6 # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define libversion 79 %define devversion 5 %define devrelease 5.12 # Beta does not mean "before release" but a release that is considered as beta: %define _version %{version} %define _name gwenhywfar %define releasenumber 529 %define checksumreleasenumber 528 %bcond_without configure Name: gwenhywfar-qt6 Version: 5.12.0 Release: 0 Summary: Multiplatform helper library for other libraries License: LGPL-2.1-or-later URL: https://www.aquamaniac.de/rdm/projects/gwenhywfar Source: https://www.aquamaniac.de/rdm/attachments/download/%{releasenumber}/%{_name}-%{_version}.tar.gz Source1: https://www.aquamaniac.de/rdm/attachments/download/%{checksumreleasenumber}/%{_name}-%{_version}.tar.gz.asc # PATCH-FIX-UPSTREAM -- gcc 15 build fix Patch0: gwenhywfar-gcc15.patch # PATCH-FEATURE-UPSTREAM -- Qt 6 support needed by KMyMoney Patch1: 0001-Fix-name-of-output-variable.patch Patch2: 0002-Support-building-for-Qt6.patch Patch3: 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch Patch4: 0004-Add-missing-files-to-AC_CONFIG_FILES.patch Patch5: 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch Patch6: 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch Patch7: 0007-Remove-debug-output.patch BuildRequires: fdupes %if 0%{?suse_version} < 1600 BuildRequires: gcc13 BuildRequires: gcc13-PIE %endif BuildRequires: pkgconfig BuildRequires: cmake(Qt6Concurrent) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6DBus) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6LinguistTools) BuildRequires: cmake(Qt6Network) BuildRequires: cmake(Qt6PrintSupport) BuildRequires: cmake(Qt6Widgets) BuildRequires: pkgconfig(gnutls) >= 2.9.8 BuildRequires: pkgconfig(gpg-error) BuildRequires: pkgconfig(libgcrypt) >= 1.2.0 BuildRequires: pkgconfig(opengl) BuildRequires: pkgconfig(openssl) %if %{with configure} BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool %endif %description Gwenhywfar is a base library used to provide OS abstraction functions for Linux, FreeBSD, OpenBSD, NetBSD, and Windows. It also includes some often needed functions (for example, handling and parsing of configuration files, reading and writingof XML files, and interprocess communication). %package -n libgwengui-qt6-%{libversion} Summary: Qt6 UI backend for the gwenhywfar multi-platform helper library %description -n libgwengui-qt6-%{libversion} Gwenhywfar is a base library used to provide OS abstraction functions for Linux, FreeBSD, OpenBSD, NetBSD, and Windows. It also includes some often needed functions (for example, for handling and parsing of configuration files, reading and writing of XML files, and interprocess communication). This package provides the Qt6 implementation of the generic UI toolkit. %package devel Summary: Header files for the Gwenhywfar multi-platform helper library Requires: glibc-devel Requires: gwenhywfar-devel = %{version} Requires: libgwengui-qt6-%{libversion} = %{version} Requires: cmake(Qt6Core) Requires: cmake(Qt6Widgets) %description devel Gwenhywfar is a base library used to provide OS abstraction functions for Linux, FreeBSD, OpenBSD, NetBSD, and Windows. It also includes some often needed functions (e.g. for handling and parsing of configuration files, reading/writing of XML files, interprocess communication etc). %lang_package %prep %autosetup -p1 -n %{_name}-%{_version} %build %if 0%{?suse_version} < 1600 export CC=gcc-13 CXX=g++-13 %endif export PATH=%{_qt6_bindir}:$PATH %if %{with configure} autoreconf -ifv %endif # with-guis=qt5 will build with Qt 6 %configure\ --enable-release\ --disable-static \ --with-guis="qt5" \ --with-plugins-ct= \ --with-plugins-cfgmgr= \ --with-plugins-dbio= %make_jobs %install %make_install find %{buildroot} -type f -name "*.la" -delete -print # Cleanup, we only want Qt 6 related files rm -r %{buildroot}%{_bindir} rm -r %{buildroot}%{_datadir} # Headers are identical for both Qt 5 and 6 and we can't have 'Conflicts' rm -r %{buildroot}%{_includedir} rm -r %{buildroot}%{_libdir}/cmake/{gwengui-cpp,gwenhywfar}* rm %{buildroot}%{_libdir}/{libgwengui-cpp,libgwenhywfar}.* rm %{buildroot}%{_libdir}/pkgconfig/gwenhywfar.pc %fdupes %{buildroot}%{_libdir}/cmake %ldconfig_scriptlets -n libgwengui-qt6-%{libversion} %files -n libgwengui-qt6-%{libversion} %license COPYING %{_libdir}/libgwengui-qt6.so.* %files devel %{_libdir}/libgwengui-qt6.so %{_libdir}/pkgconfig/gwengui-qt6.pc %dir %{_libdir}/cmake %{_libdir}/cmake/gwengui-qt6-%{devrelease} %changelog ++++++ gwenhywfar.spec ++++++ --- /var/tmp/diff_new_pack.vekdCn/_old 2025-06-27 23:09:19.057165746 +0200 +++ /var/tmp/diff_new_pack.vekdCn/_new 2025-06-27 23:09:19.061165912 +0200 @@ -24,23 +24,32 @@ %define _name gwenhywfar %define releasenumber 529 %define checksumreleasenumber 528 -%bcond_with configure +%bcond_without configure Name: gwenhywfar Version: 5.12.0 Release: 0 Summary: Multiplatform helper library for other libraries License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries URL: https://www.aquamaniac.de/rdm/projects/gwenhywfar Source: https://www.aquamaniac.de/rdm/attachments/download/%{releasenumber}/%{_name}-%{_version}.tar.gz Source1: https://www.aquamaniac.de/rdm/attachments/download/%{checksumreleasenumber}/%{_name}-%{_version}.tar.gz.asc +# PATCH-FIX-UPSTREAM -- gcc 15 build fix +Patch0: gwenhywfar-gcc15.patch +# PATCH-FEATURE-UPSTREAM -- Qt 6 support +Patch1: 0001-Fix-name-of-output-variable.patch +Patch2: 0002-Support-building-for-Qt6.patch +Patch3: 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch +Patch4: 0004-Add-missing-files-to-AC_CONFIG_FILES.patch +Patch5: 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch +Patch6: 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch +Patch7: 0007-Remove-debug-output.patch BuildRequires: doxygen BuildRequires: fdupes +# graphviz wants a URW font +BuildRequires: ghostscript-fonts-std-converted # For doc graphs BuildRequires: graphviz BuildRequires: graphviz-gd -BuildRequires: libgcrypt-devel >= 1.2.0 -BuildRequires: libopenssl-devel BuildRequires: pkgconfig BuildRequires: xorg-x11-fonts BuildRequires: cmake(Qt5Concurrent) @@ -53,13 +62,17 @@ BuildRequires: cmake(Qt5PrintSupport) BuildRequires: cmake(Qt5Sql) BuildRequires: cmake(Qt5Test) -BuildRequires: cmake(Qt5Widgets) BuildRequires: cmake(Qt5Xml) +BuildRequires: cmake(Qt5Widgets) BuildRequires: pkgconfig(gnutls) >= 2.9.8 +BuildRequires: pkgconfig(gpg-error) BuildRequires: pkgconfig(gtk+-2.0) >= 2.17.5 BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 +BuildRequires: pkgconfig(libgcrypt) >= 1.2.0 +BuildRequires: pkgconfig(opengl) +BuildRequires: pkgconfig(openssl) Recommends: libgwenhywfar%{libversion} -%if !%{with configure} +%if %{with configure} BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool @@ -80,7 +93,6 @@ %package tools Summary: Tools for the gwenhywfar multi-platform helper library License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries Requires: libgwenhywfar%{libversion} = %{version} %description tools @@ -93,7 +105,6 @@ %package -n libgwenhywfar%{libversion}-plugins Summary: Plugins for the gwenhywfar multi-platform helper library License: LGPL-2.1-or-later -Group: System/Libraries Requires: %{name} = %{version} %description -n libgwenhywfar%{libversion}-plugins @@ -106,7 +117,6 @@ %package -n libgwenhywfar%{libversion} Summary: Multiplatform Helper Library for Other Libraries License: LGPL-2.1-or-later -Group: System/Libraries Recommends: %{name}-lang Recommends: libgwenhywfar%{libversion}-plugins = %{version} @@ -120,7 +130,6 @@ %package -n libgwengui-cpp%{libversion} Summary: C++ interface for Gwenhywfar License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries %description -n libgwengui-cpp%{libversion} This package contains the C++ GUI interface for Gwenhywfar. @@ -128,7 +137,6 @@ %package -n libgwengui-gtk2-%{libversion} Summary: GTK+ 2 UI backend for Gwenhywfar License: LGPL-2.1-or-later -Group: System/Libraries %description -n libgwengui-gtk2-%{libversion} Gwenhywfar is a base library used to provide OS abstraction functions @@ -142,7 +150,6 @@ %package -n libgwengui-gtk3-%{libversion} Summary: GTK+ 3 UI backend for Gwenhywfar License: LGPL-2.1-or-later -Group: System/Libraries %description -n libgwengui-gtk3-%{libversion} Gwenhywfar is a base library used to provide OS abstraction functions @@ -156,7 +163,6 @@ %package -n libgwengui-qt5-%{libversion} Summary: Qt5 UI backend for the gwenhywfar multi-platform helper library License: LGPL-2.1-or-later -Group: System/Libraries Provides: libgwengui-qt4-0 = %{version} Obsoletes: libgwengui-qt4-0 < %{version} @@ -172,7 +178,6 @@ %package -n libgwengui-fox16-%{libversion} Summary: FOX interface for Gwenhywfar License: GPL-2.0-or-later AND LGPL-2.1-or-later -Group: System/Libraries %description -n libgwengui-fox16-%{libversion} This package contains the interface to the FOX toolkit @@ -181,7 +186,6 @@ %package devel Summary: Header files for the Gwenhywfar multi-platform helper library License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libgwengui-cpp%{libversion} >= %{version} Requires: libgwengui-fox16-%{libversion} >= %{version} @@ -200,7 +204,6 @@ %package gwenbuild Summary: Specific build system for the aqbanking universe License: LGPL-2.1-or-later -Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} %description gwenbuild @@ -210,14 +213,15 @@ %lang_package %prep -%setup -q -n %{_name}-%{_version} +%autosetup -p1 -n %{_name}-%{_version} %build +# Fix warnings +doxygen -u Doxyfile.in + export PATH=%{_libqt5_bindir}:$PATH -# quick fix for $CPP being unset and configure failing to handle include dirs properly -CPP=`which cpp` -export CPP -%if !%{with configure} + +%if %{with configure} autoreconf -ifv %endif %configure\ @@ -227,6 +231,7 @@ --disable-static \ --with-guis="fox16 qt5 gtk2 gtk3" \ --with-plugins-cfgmgr=all + %make_jobs %make_build srcdoc @@ -240,24 +245,21 @@ # remove empty files `find -maxdepth 1 -type f -empty -print0 | xargs -0 echo rm -f` popd + find %{buildroot} -type f -name "*.la" -delete -print + %find_lang %{_name} + %fdupes %{buildroot}%{_datadir}/%{_name}/apidoc %fdupes %{buildroot}%{_libdir}/cmake %fdupes %{buildroot}%{_docdir} -%post -n libgwenhywfar%{libversion} -p /sbin/ldconfig -%postun -n libgwenhywfar%{libversion} -p /sbin/ldconfig -%post -n libgwengui-cpp%{libversion} -p /sbin/ldconfig -%postun -n libgwengui-cpp%{libversion} -p /sbin/ldconfig -%post -n libgwengui-gtk2-%{libversion} -p /sbin/ldconfig -%postun -n libgwengui-gtk2-%{libversion} -p /sbin/ldconfig -%post -n libgwengui-gtk3-%{libversion} -p /sbin/ldconfig -%postun -n libgwengui-gtk3-%{libversion} -p /sbin/ldconfig -%post -n libgwengui-qt5-%{libversion} -p /sbin/ldconfig -%postun -n libgwengui-qt5-%{libversion} -p /sbin/ldconfig -%post -n libgwengui-fox16-%{libversion} -p /sbin/ldconfig -%postun -n libgwengui-fox16-%{libversion} -p /sbin/ldconfig +%ldconfig_scriptlets -n libgwenhywfar%{libversion} +%ldconfig_scriptlets -n libgwengui-cpp%{libversion} +%ldconfig_scriptlets -n libgwengui-gtk2-%{libversion} +%ldconfig_scriptlets -n libgwengui-gtk3-%{libversion} +%ldconfig_scriptlets -n libgwengui-qt5-%{libversion} +%ldconfig_scriptlets -n libgwengui-fox16-%{libversion} %files %license COPYING ++++++ 0001-Fix-name-of-output-variable.patch ++++++ >From f6e4f9e39a0b9aaafdf523a73bb96bf48ba5c7a3 Mon Sep 17 00:00:00 2001 From: Thomas Baumgart <t...@net-bembel.de> Date: Mon, 16 Jun 2025 19:59:53 +0200 Subject: [PATCH 1/7] Fix name of output variable --- gwenhywfar-config.cmake.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gwenhywfar-config.cmake.in b/gwenhywfar-config.cmake.in index 55152a5..f5f0944 100644 --- a/gwenhywfar-config.cmake.in +++ b/gwenhywfar-config.cmake.in @@ -58,7 +58,7 @@ if ( NOT ${FIND_GWEN_COMPONENT_QT4} EQUAL -1 ) endif() endif() -list(FIND GWENHYWFAR_FIND_COMPONENTS "qt5" FIND_GWEN_COMPONENT_QT4) +list(FIND GWENHYWFAR_FIND_COMPONENTS "qt5" FIND_GWEN_COMPONENT_QT5) if ( NOT ${FIND_GWEN_COMPONENT_QT5} EQUAL -1 ) find_package(gwengui-qt5 "@GWENHYWFAR_VERSION_STRING@" EXACT) if ( gwengui-qt5_FOUND ) -- 2.50.0 ++++++ 0002-Support-building-for-Qt6.patch ++++++ >From 19643821b41833544cbe2822e18da589673f1b24 Mon Sep 17 00:00:00 2001 From: Thomas Baumgart <t...@net-bembel.de> Date: Mon, 16 Jun 2025 20:12:10 +0200 Subject: [PATCH 2/7] Support building for Qt6 --- gui/qt5/Makefile.am | 22 ++-- gui/qt5/gwengui-qt5-config.cmake.in | 18 +-- gui/qt5/gwengui-qt5.pc.in | 8 +- gui/qt5/gwengui-qt6-config-version.cmake.in | 1 + gui/qt5/gwengui-qt6-config.cmake.in | 1 + gui/qt5/gwengui-qt6.pc.in | 1 + gwenhywfar-config.cmake.in | 10 ++ m4/ax_have_qt.m4 | 128 ++++++++++++++------ 8 files changed, 129 insertions(+), 60 deletions(-) create mode 120000 gui/qt5/gwengui-qt6-config-version.cmake.in create mode 120000 gui/qt5/gwengui-qt6-config.cmake.in create mode 120000 gui/qt5/gwengui-qt6.pc.in diff --git a/gui/qt5/Makefile.am b/gui/qt5/Makefile.am index 96787b2..f7462a3 100644 --- a/gui/qt5/Makefile.am +++ b/gui/qt5/Makefile.am @@ -5,26 +5,26 @@ qt5_moc = @QT_MOC@ qt5_uic = @QT_UIC@ pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = gwengui-qt5.pc +pkgconfig_DATA = gwengui-qt@QT_MAJOR_VERSION@.pc -cmakeconfigdir = $(libdir)/cmake/gwengui-qt5-@GWENHYWFAR_VERSION_MAJOR@.@GWENHYWFAR_VERSION_MINOR@ -cmakeconfig_DATA = gwengui-qt5-config.cmake gwengui-qt5-config-version.cmake +cmakeconfigdir = $(libdir)/cmake/gwengui-qt@QT_MAJOR_VERSION@-@GWENHYWFAR_VERSION_MAJOR@.@GWENHYWFAR_VERSION_MINOR@ +cmakeconfig_DATA = gwengui-qt@QT_MAJOR_VERSION@-config.cmake gwengui-qt@QT_MAJOR_VERSION@-config-version.cmake -lib_LTLIBRARIES=libgwengui-qt5.la +lib_LTLIBRARIES=libgwengui-qt@QT_MAJOR_VERSION@.la noinst_PROGRAMS=libtest noinst_HEADERS= -libgwengui_qt5_la_LIBADD=$(QT_LIBS) $(top_builddir)/src/$(gwenhywfar_internal_libname) $(builddir)/../cpp/libgwengui-cpp.la -libgwengui_qt5_la_LDFLAGS=-no-undefined -version-info \ +libgwengui_qt@QT_MAJOR_VERSION@_la_LIBADD=$(QT_LIBS) $(top_builddir)/src/$(gwenhywfar_internal_libname) $(builddir)/../cpp/libgwengui-cpp.la +libgwengui_qt@QT_MAJOR_VERSION@_la_LDFLAGS=-no-undefined -version-info \ $(GWENHYWFAR_SO_CURRENT):$(GWENHYWFAR_SO_REVISION):$(GWENHYWFAR_SO_AGE) -libgwengui_qt5_la_SOURCES=\ +libgwengui_qt@QT_MAJOR_VERSION@_la_SOURCES=\ qt5dialogbox.cpp \ qt5_gui.cpp \ qt5_gui_dialog.cpp -nodist_libgwengui_qt5_la_SOURCES= +nodist_libgwengui_qt@QT_MAJOR_VERSION@_la_SOURCES= nodist_noinst_HEADERS= @@ -67,7 +67,7 @@ EXTRA_DIST=$(UI_FILES) \ w_spinbox.cpp libtest_SOURCES=libtest.cpp -libtest_LDADD=libgwengui-qt5.la $(top_builddir)/src/$(gwenhywfar_internal_libname) $(QT_LIBS) \ +libtest_LDADD=libgwengui-qt@QT_MAJOR_VERSION@.la $(top_builddir)/src/$(gwenhywfar_internal_libname) $(QT_LIBS) \ $(top_builddir)/gui/cpp/libgwengui-cpp.la \ $(builddir)/../testdialogs/libgwengui-test.la @@ -82,7 +82,7 @@ SUFFIXES = .ui .ui.hpp .ui.cpp .moc sources: - for f in $(libgwengui_qt5_la_SOURCES) $(foreach uifile,$(UI_FILES),$(uifile).cpp); do \ + for f in $(libgwengui_qt@QT_MAJOR_VERSION@_la_SOURCES) $(foreach uifile,$(UI_FILES),$(uifile).cpp); do \ echo $(subdir)/$$f >>$(top_srcdir)/qtsources; \ done for d in $(SUBDIRS); do \ @@ -95,5 +95,5 @@ built_sources: $(BUILT_SOURCES) done ; -BUILT_SOURCES = $(MOC_FILES) $(nodist_libgwengui_qt5_la_SOURCES) +BUILT_SOURCES = $(MOC_FILES) $(nodist_libgwengui_qt@QT_MAJOR_VERSION@_la_SOURCES) CLEANFILES = $(BUILT_SOURCES) diff --git a/gui/qt5/gwengui-qt5-config.cmake.in b/gui/qt5/gwengui-qt5-config.cmake.in index 98375ac..8cfebd1 100644 --- a/gui/qt5/gwengui-qt5-config.cmake.in +++ b/gui/qt5/gwengui-qt5-config.cmake.in @@ -20,8 +20,8 @@ endmacro() include(CMakeFindDependencyMacro) find_dependency(gwengui-cpp "@GWENHYWFAR_VERSION_STRING@") -find_dependency(Qt5Core) -find_dependency(Qt5Widgets) +find_dependency(Qt@QT_MAJOR_VERSION@Core) +find_dependency(Qt@QT_MAJOR_VERSION@Widgets) set_and_check(prefix "@prefix@") @@ -29,21 +29,21 @@ set_and_check(exec_prefix "@exec_prefix@") set_and_check(includedir "@includedir@") set_and_check(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIRS "@gwenhywfar_headerdir@") if(WIN32) - set_and_check(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES "@libdir@/libgwengui-qt5.dll.a") + set_and_check(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES "@libdir@/libgwengui-qt@QT_MAJOR_VERSION@.dll.a") elseif(APPLE) - set_and_check(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES "@libdir@/libgwengui-qt5.dylib") + set_and_check(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES "@libdir@/libgwengui-qt@QT_MAJOR_VERSION@.dylib") else() - set_and_check(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES "@libdir@/libgwengui-qt5.so") + set_and_check(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES "@libdir@/libgwengui-qt@QT_MAJOR_VERSION@.so") endif() set(${CMAKE_FIND_PACKAGE_NAME}_FOUND true) -if(NOT TARGET gwenhywfar::gui-qt5) - add_library(gwenhywfar::gui-qt5 UNKNOWN IMPORTED) - set_target_properties(gwenhywfar::gui-qt5 PROPERTIES +if(NOT TARGET gwenhywfar::gui-qt@QT_MAJOR_VERSION@) + add_library(gwenhywfar::gui-qt@QT_MAJOR_VERSION@ UNKNOWN IMPORTED) + set_target_properties(gwenhywfar::gui-qt@QT_MAJOR_VERSION@ PROPERTIES IMPORTED_LOCATION "${${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIRS}" - INTERFACE_LINK_LIBRARIES "gwenhywfar::core;gwenhywfar::gui-cpp;Qt5::Core;Qt5::Widgets" + INTERFACE_LINK_LIBRARIES "gwenhywfar::core;gwenhywfar::gui-cpp;Qt@QT_MAJOR_VERSION@::Core;Qt@QT_MAJOR_VERSION@::Widgets" ) endif() diff --git a/gui/qt5/gwengui-qt5.pc.in b/gui/qt5/gwengui-qt5.pc.in index b514a6a..ec0ed8e 100644 --- a/gui/qt5/gwengui-qt5.pc.in +++ b/gui/qt5/gwengui-qt5.pc.in @@ -1,4 +1,4 @@ -# pkg-config configuration for gwengui_qt5 +# pkg-config configuration for gwengui_qt@QT_MAJOR_VERSION@ # For information about the syntax, see pkg-config(1) # General installation directories @@ -13,11 +13,11 @@ bindir=@bindir@ sysconfdir=@sysconfdir@ # Human-readable name -Name: gwengui-qt5 +Name: gwengui-qt@QT_MAJOR_VERSION@ # Human-readable description -Description: QT5 Implementation of the GWEN_DIALOG framework. +Description: Qt@QT_MAJOR_VERSION@ Implementation of the GWEN_DIALOG framework. Version: @VERSION@ -Libs: -L@libdir@ -lgwengui-qt5 -lgwengui-cpp +Libs: -L@libdir@ -lgwengui-qt@QT_MAJOR_VERSION@ -lgwengui-cpp Cflags: -I@includedir@ diff --git a/gui/qt5/gwengui-qt6-config-version.cmake.in b/gui/qt5/gwengui-qt6-config-version.cmake.in new file mode 120000 index 0000000..f834d96 --- /dev/null +++ b/gui/qt5/gwengui-qt6-config-version.cmake.in @@ -0,0 +1 @@ +gwengui-qt5-config-version.cmake.in \ No newline at end of file diff --git a/gui/qt5/gwengui-qt6-config.cmake.in b/gui/qt5/gwengui-qt6-config.cmake.in new file mode 120000 index 0000000..906db7d --- /dev/null +++ b/gui/qt5/gwengui-qt6-config.cmake.in @@ -0,0 +1 @@ +gwengui-qt5-config.cmake.in \ No newline at end of file diff --git a/gui/qt5/gwengui-qt6.pc.in b/gui/qt5/gwengui-qt6.pc.in new file mode 120000 index 0000000..c9e883f --- /dev/null +++ b/gui/qt5/gwengui-qt6.pc.in @@ -0,0 +1 @@ +gwengui-qt5.pc.in \ No newline at end of file diff --git a/gwenhywfar-config.cmake.in b/gwenhywfar-config.cmake.in index f5f0944..4913738 100644 --- a/gwenhywfar-config.cmake.in +++ b/gwenhywfar-config.cmake.in @@ -68,6 +68,16 @@ if ( NOT ${FIND_GWEN_COMPONENT_QT5} EQUAL -1 ) endif() endif() +list(FIND GWENHYWFAR_FIND_COMPONENTS "qt6" FIND_GWEN_COMPONENT_QT6) +if ( NOT ${FIND_GWEN_COMPONENT_QT6} EQUAL -1 ) + find_package(gwengui-qt6 "@GWENHYWFAR_VERSION_STRING@" EXACT) + if ( gwengui-qt6_FOUND ) + set( GWENHYWFAR_INCLUDE_DIRS ${GWENHYWFAR_INCLUDE_DIRS} ${gwengui-qt6_INCLUDE_DIRS} ) + set( GWENHYWFAR_LIBRARIES ${GWENHYWFAR_LIBRARIES} ${gwengui-qt6_LIBRARIES} ) + set( GWENHYWFAR_qt6_FOUND true ) + endif() +endif() + check_required_components(GWENHYWFAR) # The target is available since gwenhywfar 4.15.3 diff --git a/m4/ax_have_qt.m4 b/m4/ax_have_qt.m4 index f035a81..88075fa 100644 --- a/m4/ax_have_qt.m4 +++ b/m4/ax_have_qt.m4 @@ -25,18 +25,13 @@ # QT_LRELEASE # QT_LUPDATE # QT_DIR +# QMAKE # # which respectively contain an "-I" flag pointing to the Qt include # directory, link flags necessary to link with Qt and X, the full path to # the meta object compiler and the user interface compiler both, and # finally the variable QTDIR as Qt likes to see it defined. # -# Also the usually unneeded var -# -# QT_QMAKE -# -# to qmake is defined. -# # Example lines for Makefile.in: # # CXXFLAGS = @QT_CXXFLAGS@ @@ -60,7 +55,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 17 +#serial 27 AU_ALIAS([BNV_HAVE_QT], [AX_HAVE_QT]) AC_DEFUN([AX_HAVE_QT], @@ -69,19 +64,32 @@ AC_DEFUN([AX_HAVE_QT], AC_REQUIRE([AC_PATH_X]) AC_REQUIRE([AC_PATH_XTRA]) - AC_ARG_WITH(qt5-qmake, - [ --with-qt5-qmake=FILE uses given qmake], - [QT_QMAKE="$withval"], - [QT_QMAKE="qmake"] + # openSUSE leap 15.3 installs qmake-qt5, not qmake, for example. + # Store the full name (like qmake-qt5) into QMAKE + # and the specifier (like -qt5 or empty) into am_have_qt_qmexe_suff. + AC_ARG_VAR([QMAKE],[Qt make tool]) + AC_CHECK_TOOLS([QMAKE],[qmake qmake-qt6 qmake6 qmake-qt5],[false]) + + AC_ARG_WITH(qmake, + [ --with-qmake=FILE uses given qmake], + [QMAKE="$withval"], + [] ) + + AC_CHECK_TOOLS([QTPATHS],[qtpaths qtpaths-qt6 qtpaths6 qtpaths-qt5 qtpaths5],[false]) + AC_MSG_CHECKING(for Qt) + am_have_qt_qmexe_suff=`echo $QMAKE | sed 's,^.*qmake,,'` # If we have Qt5 or later in the path, we're golden - ver=`$QT_QMAKE --version | grep -o "Qt version ."` + ver=`$QMAKE --version | grep -o "Qt version ."` + if test "$ver" ">" "Qt version 4"; then + QT_MAJOR_VERSION="5" have_qt=yes # This pro file dumps qmake's variables, but it only works on Qt 5 or later am_have_qt_dir=`mktemp -d` am_have_qt_pro="$am_have_qt_dir/test.pro" + am_have_qt_stash="$am_have_qt_dir/.qmake.stash" am_have_qt_makefile="$am_have_qt_dir/Makefile" # http://qt-project.org/doc/qt-5/qmake-variable-reference.html#qt cat > $am_have_qt_pro << EOF @@ -89,37 +97,87 @@ 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(widgets): QT += widgets +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 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 + rm $am_have_qt_pro $am_have_qt_stash $am_have_qt_makefile rmdir $am_have_qt_dir + ver=`$QTPATHS --version | cut -d' ' -f 2` + if test "$ver" '>' "1"; then + QT_MAJOR_VERSION="6" + # Add QT_HOST_BINS and QT_HOST_LIBEXECS paths to PATH + for var in QT_HOST_BINS QT_HOST_LIBEXECS; do + PATH=$PATH:`$QTPATHS --query $var` + done + fi + # Look for specific tools in $PATH - AC_ARG_WITH(qt5-moc, - [ --with-qt5-moc=FILE uses given qt moc], - [QT_MOC="$withval"], - [QT_MOC=`which moc`] - ) - AC_ARG_WITH(qt5-uic, - [ --with-qt5-uic=FILE uses given qt uic], - [QT_UIC="$withval"], - [QT_UIC=`which uic`] - ) - - QT_RCC=`which rcc` - QT_LRELEASE=`which lrelease` - QT_LUPDATE=`which lupdate` + AC_ARG_VAR([QT_MOC],[Qt moc tool]) + AC_PATH_PROG([QT_MOC],[moc$am_have_qt_qmexe_suff]) + if test "$QT_MOC" = ""; then + AC_PATH_PROG([QT_MOC],[moc]) + fi + + AC_ARG_VAR([QT_UIC],[Qt uic tool]) + AC_PATH_PROG([QT_UIC],[uic$am_have_qt_qmexe_suff]) + if test "$QT_UIC" = ""; then + AC_PATH_PROG([QT_UIC],[uic]) + fi + + AC_ARG_VAR([QT_RCC],[Qt rcc tool]) + AC_PATH_PROG([QT_RCC],[rcc$am_have_qt_qmexe_suff]) + if test "$QT_RCC" = ""; then + AC_PATH_PROG([QT_RCC],[rcc]) + fi + + AC_ARG_VAR([QT_LRELEASE],[Qt lrelease tool]) + AC_PATH_PROG([QT_LRELEASE],[lrelease$am_have_qt_qmexe_suff]) + if test "$QT_LRELEASE" = ""; then + AC_PATH_PROG([QT_LRELEASE],[lrelease]) + fi + + AC_ARG_VAR([QT_LUPDATE],[Qt lupdate tool]) + AC_PATH_PROG([QT_LUPDATE],[lupdate$am_have_qt_qmexe_suff]) + if test "$QT_LUPDATE" = ""; then + AC_PATH_PROG([QT_LUPDATE],[lupdate]) + fi # Get Qt version from qmake - QT_DIR=`$QT_QMAKE --version | grep -o -E /.+` + QT_DIR=`$QMAKE --version | grep -o -E /.+` # All variables are defined, report the result AC_MSG_RESULT([$have_qt: @@ -130,7 +188,8 @@ EOF QT_MOC=$QT_MOC QT_RCC=$QT_RCC QT_LRELEASE=$QT_LRELEASE - QT_LUPDATE=$QT_LUPDATE]) + QT_LUPDATE=$QT_LUPDATE + QT_MAJOR_VERSION=$QT_MAJOR_VERSION]) else # Qt was not found have_qt=no @@ -142,16 +201,13 @@ EOF QT_RCC= QT_LRELEASE= QT_LUPDATE= + QT_MAJOR_VERSION= AC_MSG_RESULT($have_qt) fi AC_SUBST(QT_CXXFLAGS) AC_SUBST(QT_DIR) AC_SUBST(QT_LIBS) - AC_SUBST(QT_UIC) - AC_SUBST(QT_MOC) - AC_SUBST(QT_RCC) - AC_SUBST(QT_LRELEASE) - AC_SUBST(QT_LUPDATE) + AC_SUBST(QT_MAJOR_VERSION) #### Being paranoid: if test x"$have_qt" = xyes; then -- 2.50.0 ++++++ 0003-Adjusted-expression-to-work-correclty-using-Qt5-and-.patch ++++++ >From 77db6dc15d60f18bcf8ca934ee698db028264518 Mon Sep 17 00:00:00 2001 From: Thomas Baumgart <t...@net-bembel.de> Date: Thu, 19 Jun 2025 09:07:36 +0200 Subject: [PATCH 3/7] Adjusted expression to work correclty using Qt5 and Qt6 --- m4/ax_have_qt.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m4/ax_have_qt.m4 b/m4/ax_have_qt.m4 index 88075fa..51bb0d2 100644 --- a/m4/ax_have_qt.m4 +++ b/m4/ax_have_qt.m4 @@ -137,7 +137,7 @@ EOF rmdir $am_have_qt_dir ver=`$QTPATHS --version | cut -d' ' -f 2` - if test "$ver" '>' "1"; then + if test "$ver" = "2.0"; then QT_MAJOR_VERSION="6" # Add QT_HOST_BINS and QT_HOST_LIBEXECS paths to PATH for var in QT_HOST_BINS QT_HOST_LIBEXECS; do -- 2.50.0 ++++++ 0004-Add-missing-files-to-AC_CONFIG_FILES.patch ++++++ >From 3c79c27fea411d45fc4489c570b107dc4633434b Mon Sep 17 00:00:00 2001 From: Thomas Baumgart <t...@net-bembel.de> Date: Fri, 20 Jun 2025 08:38:10 +0200 Subject: [PATCH 4/7] Add missing files to AC_CONFIG_FILES --- configure.ac | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configure.ac b/configure.ac index 4e43f5c..edcf131 100644 --- a/configure.ac +++ b/configure.ac @@ -1460,6 +1460,9 @@ AC_CONFIG_FILES([Doxyfile gui/qt5/gwengui-qt5.pc gui/qt5/gwengui-qt5-config.cmake gui/qt5/gwengui-qt5-config-version.cmake + gui/qt5/gwengui-qt6.pc + gui/qt5/gwengui-qt6-config.cmake + gui/qt5/gwengui-qt6-config-version.cmake gui/fox16/Makefile gui/fox16/gwengui-fox16.pc gui/gtk2/Makefile -- 2.50.0 ++++++ 0005-Prevent-configuration-for-Qt5-and-Qt6-at-the-same-ti.patch ++++++ >From 7cd1c0667e248eec558fb2a10270a593184396f1 Mon Sep 17 00:00:00 2001 From: Thomas Baumgart <t...@net-bembel.de> Date: Fri, 20 Jun 2025 08:38:56 +0200 Subject: [PATCH 5/7] Prevent configuration for Qt5 and Qt6 at the same time --- configure.ac | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index edcf131..0f4423f 100644 --- a/configure.ac +++ b/configure.ac @@ -436,7 +436,7 @@ case "$OS_TYPE" in all_libraries="${all_libraries} -framework CoreFoundation" fi fi - + gwenbuild_tool="gwenbuild" ;; windows) @@ -1000,8 +1000,12 @@ AM_CONDITIONAL(WITH_GUI_QT4, [test "$with_gui_qt4" = "yes"]) # case "$gwenhywfar_guis" in - *qt5*) - AX_HAVE_QT + *qt5*qt6* | *qt6*qt5*) + AC_MSG_ERROR(**** Configuring for Qt5 and Qt6 at the same time is not supported) + ;; + *qt5* | *qt6*) + AX_HAVE_QT + ;; esac -- 2.50.0 ++++++ 0006-Improve-configuration-on-systems-with-Qt5-and-Qt6-in.patch ++++++ >From 524dc0f16fc6599915ebe72cae6f5bd329a0969e Mon Sep 17 00:00:00 2001 From: Thomas Baumgart <t...@net-bembel.de> Date: Sat, 21 Jun 2025 15:10:24 +0200 Subject: [PATCH 6/7] Improve configuration on systems with Qt5 and Qt6 installed --- m4/ax_have_qt.m4 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/m4/ax_have_qt.m4 b/m4/ax_have_qt.m4 index 51bb0d2..487059e 100644 --- a/m4/ax_have_qt.m4 +++ b/m4/ax_have_qt.m4 @@ -76,7 +76,6 @@ AC_DEFUN([AX_HAVE_QT], [] ) - AC_CHECK_TOOLS([QTPATHS],[qtpaths qtpaths-qt6 qtpaths6 qtpaths-qt5 qtpaths5],[false]) AC_MSG_CHECKING(for Qt) am_have_qt_qmexe_suff=`echo $QMAKE | sed 's,^.*qmake,,'` @@ -136,9 +135,16 @@ EOF rm $am_have_qt_pro $am_have_qt_stash $am_have_qt_makefile rmdir $am_have_qt_dir + if test "$ver" ">" "Qt version 5"; then + QT_MAJOR_VERSION="6" + AC_CHECK_TOOLS([QTPATHS],[qtpaths-qt6 qtpaths6 qtpaths],[false]) + else + AC_CHECK_TOOLS([QTPATHS],[qtpaths-qt5 qtpaths5 qtpaths],[false]) + fi + ver=`$QTPATHS --version | cut -d' ' -f 2` + echo "QTPATH version: $ver" >&AS_MESSAGE_LOG_FD if test "$ver" = "2.0"; then - QT_MAJOR_VERSION="6" # Add QT_HOST_BINS and QT_HOST_LIBEXECS paths to PATH for var in QT_HOST_BINS QT_HOST_LIBEXECS; do PATH=$PATH:`$QTPATHS --query $var` -- 2.50.0 ++++++ 0007-Remove-debug-output.patch ++++++ >From d69af00e9dec30c90cd8b4adb8bd3e3e5e4c05f0 Mon Sep 17 00:00:00 2001 From: Thomas Baumgart <t...@net-bembel.de> Date: Sat, 21 Jun 2025 15:42:33 +0200 Subject: [PATCH 7/7] Remove debug output --- m4/ax_have_qt.m4 | 1 - 1 file changed, 1 deletion(-) diff --git a/m4/ax_have_qt.m4 b/m4/ax_have_qt.m4 index 487059e..559cbfc 100644 --- a/m4/ax_have_qt.m4 +++ b/m4/ax_have_qt.m4 @@ -143,7 +143,6 @@ EOF fi ver=`$QTPATHS --version | cut -d' ' -f 2` - echo "QTPATH version: $ver" >&AS_MESSAGE_LOG_FD if test "$ver" = "2.0"; then # Add QT_HOST_BINS and QT_HOST_LIBEXECS paths to PATH for var in QT_HOST_BINS QT_HOST_LIBEXECS; do -- 2.50.0 ++++++ _multibuild ++++++ <multibuild> <package>gwenhywfar-qt6</package> </multibuild> ++++++ gwenhywfar-gcc15.patch ++++++ >From 3a31e47cf14a4683c13ad81b57af0dd8b56d5353 Mon Sep 17 00:00:00 2001 From: Micha Lenk <mi...@lenk.info> Date: Sun, 23 Feb 2025 21:44:55 +0100 Subject: [PATCH] Remove double declaration of HtmlObject_Grid_new This fixes a build failure when compiling with GCC 15 due to conflicting declarations of HtmlObject_Grid_new. The build failure was initially reported by Matthias Klose <d...@debian.org> as Debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1097194 --- src/html/o_grid_p.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/html/o_grid_p.h b/src/html/o_grid_p.h index 33f218be..7c2ebd18 100644 --- a/src/html/o_grid_p.h +++ b/src/html/o_grid_p.h @@ -15,9 +15,6 @@ #include "o_grid_l.h" -HTML_OBJECT *HtmlObject_Grid_new(); - - typedef struct OBJECT_GRID OBJECT_GRID; struct OBJECT_GRID { int rows; -- 2.50.0