[packages/gwenhywfar] - updated to 4.15.3 - added qt5 patch (fix qt5 detection with non-bash sh, check only for used libs,

qboosh qboosh at pld-linux.org
Mon Feb 6 20:27:59 CET 2017


commit 4a25ca26995de32583f065bcf975c98f1729def3
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Feb 6 20:29:38 2017 +0100

    - updated to 4.15.3
    - added qt5 patch (fix qt5 detection with non-bash sh, check only for used libs, i.e. Qt5{Core,Gui,Widgets})
    - added -gui-cpp* subpackages (now shared library is built, not just headers)
    - -qt* subpackages renamed to -gui-qt4*, added -gui-qt5* subpackages
    - added qt4,qt5,static_libs bconds

 gwenhywfar-qt5.patch |  48 ++++++++++
 gwenhywfar.spec      | 252 ++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 259 insertions(+), 41 deletions(-)
---
diff --git a/gwenhywfar.spec b/gwenhywfar.spec
index 91fd013..472e9a7 100644
--- a/gwenhywfar.spec
+++ b/gwenhywfar.spec
@@ -2,35 +2,60 @@
 # TODO: - define _one_, system-wide place for ca-bundle.crt and use one, up-to-date file
 #
 # Conditional build:
-%bcond_without	fox	# FOX 1.6 GUI
+%bcond_without	fox		# FOX 1.6 GUI
+%bcond_without	qt		# any Qt GUI (convenience)
+%bcond_without	qt4		# Qt 4 GUI
+%bcond_without	qt5		# Qt 5 GUI
+%bcond_without	static_libs	# static libraries
 #
+%if %{without qt}
+%undefine	with_qt4
+%undefine	with_qt5
+%endif
 Summary:	Gwenhywfar - a multi-platform helper library for networking and security
 Summary(pl.UTF-8):	Gwenhywfar - wieloplatformowa biblioteka pomocnicza do sieci i bezpieczeństwa
 Name:		gwenhywfar
-Version:	4.3.3
-Release:	2
+Version:	4.15.3
+Release:	1
 License:	LGPL v2.1+ with OpenSSL linking exception
 Group:		Libraries
 # http://www2.aquamaniac.de/sites/download/packages.php
-Source0:	http://www2.aquamaniac.de/sites/download/download.php?package=01&release=67&file=01&dummy=%{name}-%{version}.tar.gz?/%{name}-%{version}.tar.gz
-# Source0-md5:	c5b9d52a25960f84f9264a5a5dd484d1
+Source0:	https://www2.aquamaniac.de/sites/download/download.php?package=01&release=201&file=01&dummy=/%{name}-%{version}.tar.gz
+# Source0-md5:	4e96e68482a3cf1cfc00bd3645684c82
+#?/%{name}-%{version}.tar.gz
 Patch0:		gcc.patch
-URL:		http://www.aquamaniac.de/aqbanking/
-BuildRequires:	QtGui-devel >= 4
+Patch1:		%{name}-qt5.patch
+URL:		https://www.aquamaniac.de/sites/aqbanking/
 BuildRequires:	autoconf >= 2.60
 BuildRequires:	automake
 %{?with_fox:BuildRequires:	fox16-devel >= 1.6}
 BuildRequires:	gettext-tools
-BuildRequires:	gnutls-devel >= 1.6.1
+BuildRequires:	gnutls-devel >= 2.9.8
 BuildRequires:	gtk+2-devel >= 2:2.17.5
 BuildRequires:	libgcrypt-devel >= 1.2.0
-BuildRequires:	libtool
+BuildRequires:	libgpg-error-devel
+BuildRequires:	libstdc++-devel
+BuildRequires:	libtool >= 2:1.5
 BuildRequires:	openssl-devel
 BuildRequires:	pkgconfig
+%if %{with qt4}
+BuildRequires:	QtCore-devel >= 4
+BuildRequires:	QtGui-devel >= 4
 BuildRequires:	qt4-build
+%endif
+%if %{with qt5}
+BuildRequires:	Qt5Core-devel >= 5
+BuildRequires:	Qt5Gui-devel >= 5
+BuildRequires:	Qt5Widgets-devel >= 5
+BuildRequires:	qt5-build >= 5
+BuildRequires:	qt5-qmake >= 5
+%endif
+Requires:	gnutls-libs >= 2.9.8
 Requires:	libgcrypt >= 1.2.0
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define		ver_cmake	%(echo %{version} | cut -d. -f 1-2)
+
 %description
 This is Gwenhywfar, a multi-platform helper library for networking and
 security applications and libraries. It is used by:
@@ -53,7 +78,7 @@ Summary:	Header files for Gwenhywfar library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki Gwenhywfar
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	gnutls-devel >= 1.6.1
+Requires:	gnutls-devel >= 2.9.8
 Requires:	libgcrypt-devel >= 1.2.0
 
 %description devel
@@ -74,26 +99,65 @@ Static Gwenhywfar library.
 %description static -l pl.UTF-8
 Statyczna biblioteka Gwenhywfar.
 
+%package gui-cpp
+Summary:	C++ wrapper classes for Gwenhywfar GUI functions
+Summary(pl.UTF-8):	Klasy C++ obudowujące funkcje GUI biblioteki Gwenhywfar
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description gui-cpp
+C++ wrapper classes for Gwenhywfar GUI functions.
+
+%description gui-cpp -l pl.UTF-8
+Klasy C++ obudowujące funkcje GUI biblioteki Gwenhywfar.
+
+%package gui-cpp-devel
+Summary:	Header files for Gwenhywfar GUI C++ library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki Gwenhywfar GUI C++
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-gui-cpp = %{version}-%{release}
+Requires:	libstdc++-devel
+
+%description gui-cpp-devel
+Header files for Gwenhywfar GUI C++ library.
+
+%description gui-cpp-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki Gwenhywfar GUI C++.
+
+%package gui-cpp-static
+Summary:	Static Gwenhywfar GUI C++ library
+Summary(pl.UTF-8):	Statyczna biblioteka Gwenhywfar GUI C++
+Group:		Development/Libraries
+Requires:	%{name}-gui-cpp-devel = %{version}-%{release}
+
+%description gui-cpp-static
+Static Gwenhywfar GUI C++ library.
+
+%description gui-cpp-static -l pl.UTF-8
+Statyczna biblioteka Gwenhywfar GUI C++.
+
+# TODO: rename to gui-fox[16] when something changes
 %package fox
-Summary:	GTK+ 2 Gwenhywfar GUI library implementation of the GWEN_DIALOG framework
-Summary(pl.UTF-8):	Biblioteka graficznego interfejsu GTK+ 2 do Gwenhywfar
+Summary:	FOX 1.6 Gwenhywfar GUI library implementation of the GWEN_DIALOG framework
+Summary(pl.UTF-8):	Biblioteka graficznego interfejsu FOX 1.6 do Gwenhywfar
 Group:		X11/Libraries
-Requires:	%{name} = %{version}-%{release}
+Requires:	%{name}-gui-cpp = %{version}-%{release}
 
 %description fox
-GTK+ 2 Gwenhywfar GUI library, containing GTK+ 2 implementation of the
+FOX 1.6 Gwenhywfar GUI library, containing FOX implementation of the
 GWEN_DIALOG framework.
 
 %description fox
-Biblioteka graficznego interfejsu GTK+ 2 do Gwenhywfar, zawierająca
-implementację GTK+2 szkieletu GWEN_DIALOG.
+Biblioteka graficznego interfejsu FOX 1.6 do Gwenhywfar, zawierająca
+implementację FOX szkieletu GWEN_DIALOG.
 
 %package fox-devel
 Summary:	Header files for FOX 1.6 Gwenhywfar GUI library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki graficznego interfejsu FOX 1.6 do Gwenhywfar
 Group:		X11/Development/Libraries
-Requires:	%{name}-devel = %{version}-%{release}
 Requires:	%{name}-fox = %{version}-%{release}
+Requires:	%{name}-gui-cpp-devel = %{version}-%{release}
 Requires:	fox16-devel >= 1.6
 
 %description fox-devel
@@ -128,8 +192,9 @@ GWEN_DIALOG framework.
 
 %description gtk
 Biblioteka graficznego interfejsu GTK+ 2 do Gwenhywfar, zawierająca
-implementację GTK+2 szkieletu GWEN_DIALOG.
+implementację GTK+ 2 szkieletu GWEN_DIALOG.
 
+# TODO: rename to -gui-gtk2 when something changes (e.g. when introducing gtk3 library)
 %package gtk-devel
 Summary:	Header files for GTK+ 2 Gwenhywfar GUI library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki graficznego interfejsu GTK+ 2 do Gwenhywfar
@@ -157,49 +222,96 @@ Static GTK+ 2 Gwenhywfar GUI library.
 %description gtk-static -l pl.UTF-8
 Statyczna biblioteka graficznego interfejsu GTK+ 2 do Gwenhywfar.
 
-%package qt
+%package gui-qt4
 Summary:	Qt 4 Gwenhywfar GUI library implementation of the GWEN_DIALOG framework
 Summary(pl.UTF-8):	Biblioteka graficznego interfejsu Qt 4 do Gwenhywfar
 Group:		X11/Libraries
-Requires:	%{name} = %{version}-%{release}
+Requires:	%{name}-gui-cpp = %{version}-%{release}
+Obsoletes:	gwenhywfar-qt < 4.15
 
-%description qt
+%description gui-qt4
 Qt 4 Gwenhywfar GUI library, containing Qt 4 implementation of the
 GWEN_DIALOG framework.
 
-%description qt
+%description gui-qt4
 Biblioteka graficznego interfejsu Qt 4 do Gwenhywfar, zawierająca
-implementację GTK+2 szkieletu GWEN_DIALOG.
+implementację Qt 4 szkieletu GWEN_DIALOG.
 
-%package qt-devel
+%package gui-qt4-devel
 Summary:	Header files for Qt 4 Gwenhywfar GUI library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki graficznego interfejsu Qt 4 do Gwenhywfar
 Group:		X11/Development/Libraries
-Requires:	%{name}-devel = %{version}-%{release}
-Requires:	%{name}-qt = %{version}-%{release}
+Requires:	%{name}-gui-cpp-devel = %{version}-%{release}
+Requires:	%{name}-gui-qt4 = %{version}-%{release}
+Requires:	QtCore-devel >= 4
 Requires:	QtGui-devel >= 4
+Obsoletes:	gwenhywfar-qt-devel < 4.15
 
-%description qt-devel
+%description gui-qt4-devel
 Header files for Qt 4 Gwenhywfar GUI library
 
-%description qt-devel -l pl.UTF-8
+%description gui-qt4-devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki graficznego interfejsu Qt 4 do Gwenhywfar.
 
-%package qt-static
+%package gui-qt4-static
 Summary:	Static Qt 4 Gwenhywfar GUI library
 Summary(pl.UTF-8):	Statyczna biblioteka graficznego interfejsu Qt 4 do Gwenhywfar
 Group:		X11/Development/Libraries
-Requires:	%{name}-qt-devel = %{version}-%{release}
+Requires:	%{name}-gui-qt4-devel = %{version}-%{release}
+Obsoletes:	gwenhywfar-qt-static < 4.15
 
-%description qt-static
+%description gui-qt4-static
 Static Qt 4 Gwenhywfar GUI library.
 
-%description qt-static -l pl.UTF-8
+%description gui-qt4-static -l pl.UTF-8
 Statyczna biblioteka graficznego interfejsu Qt 4 do Gwenhywfar.
 
+%package gui-qt5
+Summary:	Qt 5 Gwenhywfar GUI library implementation of the GWEN_DIALOG framework
+Summary(pl.UTF-8):	Biblioteka graficznego interfejsu Qt 5 do Gwenhywfar
+Group:		X11/Libraries
+Requires:	%{name}-gui-cpp = %{version}-%{release}
+
+%description gui-qt5
+Qt 5 Gwenhywfar GUI library, containing Qt 5 implementation of the
+GWEN_DIALOG framework.
+
+%description gui-qt5
+Biblioteka graficznego interfejsu Qt 5 do Gwenhywfar, zawierająca
+implementację Qt 5 szkieletu GWEN_DIALOG.
+
+%package gui-qt5-devel
+Summary:	Header files for Qt 5 Gwenhywfar GUI library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki graficznego interfejsu Qt 5 do Gwenhywfar
+Group:		X11/Development/Libraries
+Requires:	%{name}-gui-cpp-devel = %{version}-%{release}
+Requires:	%{name}-gui-qt5 = %{version}-%{release}
+Requires:	Qt5Core-devel >= 5
+Requires:	Qt5Gui-devel >= 5
+Requires:	Qt5Widgets-devel >= 5
+
+%description gui-qt5-devel
+Header files for Qt 5 Gwenhywfar GUI library
+
+%description gui-qt5-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki graficznego interfejsu Qt 5 do Gwenhywfar.
+
+%package gui-qt5-static
+Summary:	Static Qt 5 Gwenhywfar GUI library
+Summary(pl.UTF-8):	Statyczna biblioteka graficznego interfejsu Qt 5 do Gwenhywfar
+Group:		X11/Development/Libraries
+Requires:	%{name}-gui-qt5-devel = %{version}-%{release}
+
+%description gui-qt5-static
+Static Qt 5 Gwenhywfar GUI library.
+
+%description gui-qt5-static -l pl.UTF-8
+Statyczna biblioteka graficznego interfejsu Qt 5 do Gwenhywfar.
+
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 # gettextize not used (custom support instead of AM_GNU_GETTEXT)
@@ -210,10 +322,14 @@ touch config.rpath
 %{__autoheader}
 %{__automake}
 %configure \
-	--enable-static \
-	--with-guis="%{?with_fox:fox16 }gtk2 qt4" \
+	--disable-network-checks \
+	%{?with_static_libs:--enable-static} \
+	--with-guis="%{?with_fox:fox16 }gtk2%{?with_qt4: qt4}%{?with_qt5: qt5}" \
 	--with-openssl-libs=%{_libdir} \
-	--with-qt4-libs=%{_libdir}
+	--with-qt4-libs=%{_libdir} \
+	--with-qt5-moc=%{_bindir}/moc-qt5 \
+	--with-qt5-qmake=%{_bindir}/qmake-qt5 \
+	--with-qt5-uic=%{_bindir}/uic-qt5
 
 %{__make}
 
@@ -234,14 +350,20 @@ rm -rf $RPM_BUILD_ROOT
 %post	-p /sbin/ldconfig
 %postun	-p /sbin/ldconfig
 
+%post	gui-cpp -p /sbin/ldconfig
+%postun	gui-cpp -p /sbin/ldconfig
+
 %post	fox -p /sbin/ldconfig
 %postun	fox -p /sbin/ldconfig
 
 %post	gtk -p /sbin/ldconfig
 %postun	gtk -p /sbin/ldconfig
 
-%post	qt -p /sbin/ldconfig
-%postun	qt -p /sbin/ldconfig
+%post	gui-qt4 -p /sbin/ldconfig
+%postun	gui-qt4 -p /sbin/ldconfig
+
+%post	gui-qt5 -p /sbin/ldconfig
+%postun	gui-qt5 -p /sbin/ldconfig
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
@@ -274,14 +396,33 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/gwenhywfar-config
 %attr(755,root,root) %{_libdir}/libgwenhywfar.so
 %dir %{_includedir}/gwenhywfar4
-%{_includedir}/gwenhywfar4/gwen-gui-cpp
 %{_includedir}/gwenhywfar4/gwenhywfar
 %{_aclocaldir}/gwenhywfar.m4
 %{_pkgconfigdir}/gwenhywfar.pc
+%{_libdir}/cmake/gwenhywfar-%{ver_cmake}
 
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libgwenhywfar.a
+%endif
+
+%files gui-cpp
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgwengui-cpp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgwengui-cpp.so.0
+
+%files gui-cpp-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgwengui-cpp.so
+%{_includedir}/gwenhywfar4/gwen-gui-cpp
+%{_libdir}/cmake/gwengui-cpp-%{ver_cmake}
+
+%if %{with static_libs}
+%files gui-cpp-static
+%defattr(644,root,root,755)
+%{_libdir}/libgwengui-cpp.a
+%endif
 
 %if %{with fox}
 %files fox
@@ -295,10 +436,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/gwenhywfar4/gwen-gui-fox16
 %{_pkgconfigdir}/gwengui-fox16.pc
 
+%if %{with static_libs}
 %files fox-static
 %defattr(644,root,root,755)
 %{_libdir}/libgwengui-fox16.a
 %endif
+%endif
 
 %files gtk
 %defattr(644,root,root,755)
@@ -311,21 +454,48 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/gwenhywfar4/gwen-gui-gtk2
 %{_pkgconfigdir}/gwengui-gtk2.pc
 
+%if %{with static_libs}
 %files gtk-static
 %defattr(644,root,root,755)
 %{_libdir}/libgwengui-gtk2.a
+%endif
 
-%files qt
+%if %{with qt4}
+%files gui-qt4
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libgwengui-qt4.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libgwengui-qt4.so.0
 
-%files qt-devel
+%files gui-qt4-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libgwengui-qt4.so
 %{_includedir}/gwenhywfar4/gwen-gui-qt4
 %{_pkgconfigdir}/gwengui-qt4.pc
+%{_libdir}/cmake/gwengui-qt4-%{ver_cmake}
 
-%files qt-static
+%if %{with static_libs}
+%files gui-qt4-static
 %defattr(644,root,root,755)
 %{_libdir}/libgwengui-qt4.a
+%endif
+%endif
+
+%if %{with qt5}
+%files gui-qt5
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgwengui-qt5.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgwengui-qt5.so.0
+
+%files gui-qt5-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgwengui-qt5.so
+%{_includedir}/gwenhywfar4/gwen-gui-qt5
+%{_pkgconfigdir}/gwengui-qt5.pc
+%{_libdir}/cmake/gwengui-qt5-%{ver_cmake}
+
+%if %{with static_libs}
+%files gui-qt5-static
+%defattr(644,root,root,755)
+%{_libdir}/libgwengui-qt5.a
+%endif
+%endif
diff --git a/gwenhywfar-qt5.patch b/gwenhywfar-qt5.patch
new file mode 100644
index 0000000..c426f20
--- /dev/null
+++ b/gwenhywfar-qt5.patch
@@ -0,0 +1,48 @@
+--- gwenhywfar-4.15.3/m4/ax_have_qt.m4.orig	2016-01-15 21:09:17.000000000 +0100
++++ gwenhywfar-4.15.3/m4/ax_have_qt.m4	2017-02-06 18:49:26.285916677 +0100
+@@ -76,43 +76,16 @@
+ 
+   AC_MSG_CHECKING(for Qt)
+   # If we have Qt5 or later in the path, we're golden
+-  ver=`$QT_QMAKE --version | grep -o "Qt version ."`
+-  if test "$ver" ">" "Qt version 4"; then
++  ver="$($QT_QMAKE --version | sed -ne 's/.*Qt version \([[0-9]]\).*/\1/p')"
++  if test "$ver" -gt 4; then
+     have_qt=yes
+     # This pro file dumps qmake's variables, but it only works on Qt 5 or later
+     am_have_qt_pro=`mktemp`
+     am_have_qt_makefile=`mktemp`
+     # http://qt-project.org/doc/qt-5/qmake-variable-reference.html#qt
+     cat > $am_have_qt_pro << EOF
+-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 "\$(\$(@))\ "
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gwenhywfar.git/commitdiff/4a25ca26995de32583f065bcf975c98f1729def3



More information about the pld-cvs-commit mailing list