[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