commit 4a25ca26995de32583f065bcf975c98f1729def3 Author: Jakub Bogusz <qbo...@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 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit