%global commit eaf6872f6ad490a4355c5c46279ddb81a9a15f92 %global shortcommit %(c=%{commit}; echo ${c:0:12}) %global commitdate 20130718 %global soname 0.7.0 Name: libqxt-qt5 Version: 0.7.0 Release: 0.30.%{commitdate}git%{shortcommit}%{?dist} Summary: Extended version of the original Qt extension library License: BSD and (CPL or LGPLv2) URL: https://bitbucket.org/libqxt/libqxt/wiki/Home Source0: https://bitbucket.org/libqxt/libqxt/get/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz # Fix DSO linking Patch0: libqxt-linking.patch # Fix build with GCC 6 Patch1: libqxt-gcc6.patch Patch2: libqxt-header-fix.patch #Debian patches Patch3: libqxt-use-system-qdoc3.patch Patch4: libqxt-fix-compiler-flags.patch Patch5: libqxt-qt5-libname.patch Patch6: libqxt-qt5-moc-pre-processing-order.patch BuildRequires: pkgconfig(avahi-compat-libdns_sd) BuildRequires: pkgconfig(avahi-core) BuildRequires: pkgconfig(libssh2) BuildRequires: libdb-devel BuildRequires: pkgconfig(xrandr) # match what openssl version qt5-qtbase uses %if 0%{?fedora} == 26 BuildRequires: compat-openssl10-devel %else BuildRequires: openssl-devel %endif BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Designer) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: qt5-qtbase-private-devel BuildRequires: make %description LibQxt, an extension library for Qt5, provides a suite of cross-platform utility classes to add functionality not readily available in the Qt toolkit. %package devel Summary: Development files for %{name} Requires: %{name} = %{version}-%{release} Requires: pkgconfig(avahi-compat-libdns_sd) Requires: pkgconfig(avahi-core) Requires: libdb-devel %description devel This package contains qt5 libraries and header files for developing applications that use LibQxt. %package doc Summary: Documentation files for %{name} BuildArch: noarch %description doc The %{name}-doc package contains html documentation that use %{name}. %prep %setup -qc -n libqxt-libqxt-%{shortcommit} mv libqxt-libqxt-%{shortcommit} qt5 pushd qt5 %patch0 -p1 -b .linking %patch1 -p1 -b .gcc6 %patch2 -p1 -b .header-fix %patch3 -p1 -b .use-system-qdoc3 %patch4 -p1 -b .fix-compiler-flags %patch5 -p1 -b .libname %patch6 -p1 -b .moc-pre-processing-order # Remove bundled lib rm -rf src/3rdparty/libssh2 # Fix wrong-file-end-of-line-encoding sed -i 's/\r$//' examples/qxtsnapshot/{README,qxtsnapshotpreview.h,qxtsnapshot.h,qxtsnapshottooltip.h} mkdir config.tests/qt5/ cp config.tests/qt4/qt4.pro config.tests/qt5/qt5.pro cp config.tests/qt4/main.cpp config.tests/qt5/main.cpp sed -i -e 's|configtest qt4 QT|configtest qt5 QT|' configure sed -i -e 's|TARGET = qt4|TARGET = qt5|' config.tests/qt5/qt5.pro sed -i -e 's|qt4|qt5|' config.tests/qt5/main.cpp sed -i -e 's|qdoc3|qdoc|' doc/doc.pri sed -i -e 's| -DQXT_DOXYGEN_RUN||' doc/doc.pri # We don't want rpath sed -i '/RPATH/d' src/qxtlibs.pri popd %build ############### QT5 ###################### pushd qt5 ./configure -verbose \ -I %{_includedir}/avahi-compat-libdns_sd \ -qmake-bin %{_qt5_bindir}/qmake \ -prefix %{_prefix} \ -libdir %{_libdir} \ -headerdir %{_qt5_headerdir} \ -docdir %{_datadir}/doc/libqxt-qt5-doc/html \ -debug # manually running qmake here may end up being fragile, if so, # introducing a qmake wrapper is the next best thing -- rex %{qmake_qt5} -r %{_qt5_qmake_flags} \ QMAKE_LFLAGS="${RPM_LD_FLAGS} -Wl,--as-needed" %make_build %make_build docs popd %install ############### QT5 ###################### pushd qt5 # We are installing these to the proper location rm -fr %{buildroot}%{_prefix}/doc/ # Fix pkgconfig includedir qt5 path sed -i -e 's|includedir=${prefix}/include/QxtNetwork|includedir=${prefix}/include/qt5/QxtNetwork|' lib/pkgconfig/QxtNetwork-qt5.pc sed -i -e 's|includedir=${prefix}/include/QxtSql|includedir=${prefix}/include/qt5/QxtSql|' lib/pkgconfig/QxtSql-qt5.pc sed -i -e 's|includedir=${prefix}/include/QxtWeb|includedir=${prefix}/include/qt5/QxtWeb|' lib/pkgconfig/QxtWeb-qt5.pc sed -i -e 's|includedir=${prefix}/include/QxtCore|includedir=${prefix}/include/qt5/QxtCore|' lib/pkgconfig/QxtCore-qt5.pc sed -i -e 's|includedir=${prefix}/include/QxtZeroconf|includedir=${prefix}/include/qt5/QxtZeroconf|' lib/pkgconfig/QxtZeroconf-qt5.pc sed -i -e 's|includedir=${prefix}/include/QxtWidgets|includedir=${prefix}/include/qt5/QxtWidgets|' lib/pkgconfig/QxtWidgets-qt5.pc # Fix pkgconfig files install dependencies sed -i -e 's|Requires: QtCore|Requires: Qt5Core|' lib/pkgconfig/QxtCore-qt5.pc sed -i -e 's|Requires: QxtCore QtNetwork|Requires: QxtCore-qt5 Qt5Network|' lib/pkgconfig/QxtNetwork-qt5.pc sed -i -e 's|Requires: QxtCore QtSql|Requires: QxtCore-qt5 Qt5Sql|' lib/pkgconfig/QxtSql-qt5.pc sed -i -e 's|Requires: QxtCore QxtNetwork|Requires: QxtCore-qt5 QxtNetwork-qt5|' lib/pkgconfig/QxtWeb-qt5.pc sed -i -e 's|Requires: QtCore QxtCore QtGui|Requires: Qt5Core QxtCore-qt5 Qt5Gui|' lib/pkgconfig/QxtWidgets-qt5.pc sed -i -e 's|Requires: QxtCore QxtNetwork|Requires: QxtCore-qt5 QxtNetwork-qt5|' lib/pkgconfig/QxtZeroconf-qt5.pc make install --ignore-errors INSTALL_ROOT=%{buildroot} %ldconfig_scriptlets %files %doc qt5/AUTHORS qt5/CHANGES qt5/README %license qt5/COPYING qt5/*.txt %{_bindir}/qxtjsonrpc %{_qt5_libdir}/*.so.* %files devel %{_qt5_headerdir}/QxtCore/ %{_qt5_headerdir}/QxtNetwork/ %{_qt5_headerdir}/QxtSql/ %{_qt5_headerdir}/QxtWeb/ %{_qt5_headerdir}/QxtWidgets/ %{_qt5_headerdir}/QxtZeroconf/ %{_qt5_libdir}/*.so %{_qt5_plugindir}/designer/*.so %{_qt5_libdir}/libQxt*.prl %{_qt5_libdir}/pkgconfig/*.pc %{_qt5_libdir}/qt5/mkspecs/features/qxt*.prf %dir %{_qt5_libdir}/qt5/plugins/designer/pkgconfig %{_qt5_libdir}/qt5/plugins/designer/pkgconfig/QxtDesignerPlugins-qt5.pc %files doc %doc qt5/examples/ qt5/doc/html/ %{_datadir}/doc/libqxt-qt5-doc/html/ %changelog * Thu Jul 21 2022 Fedora Release Engineering - 0.7.0-0.30.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jul 14 2022 Jan Grulich - 0.7.0-0.29.20130718giteaf6872f6ad4 - Rebuild (qt5) * Tue May 17 2022 Jan Grulich - 0.7.0-0.28.20130718giteaf6872f6ad4 - Rebuild (qt5) * Tue Mar 08 2022 Jan Grulich - 0.7.0-0.27.20130718giteaf6872f6ad4 - Rebuild (qt5) * Thu Jan 20 2022 Fedora Release Engineering - 0.7.0-0.26.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 0.7.0-0.25.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 0.7.0-0.24.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 0.7.0-0.23.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Thu May 14 2020 Martin Gansser - 0.7.0-0.22.20130718giteaf6872f6ad4 - Use RR libdb-devel in subpackage devel * Mon Apr 06 2020 Rex Dieter - 0.7.0-0.21.20130718giteaf6872f6ad4 - cleanup qt5 deps (drop qt5-devel, versioned runtime dep) * Wed Jan 29 2020 Fedora Release Engineering - 0.7.0-0.20.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Tue Oct 01 2019 Martin Gansser - 0.7.0-0.19.20130718giteaf6872f6ad4 - Use BR libdb-devel due EPEL8 dependencies * Thu Sep 26 2019 Martin Gansser - 0.7.0-0.18.20130718giteaf6872f6ad4 - Create EPEL8 package (RHBZ#1755961) * Thu Jul 25 2019 Fedora Release Engineering - 0.7.0-0.17.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Apr 28 2019 Zbigniew Jędrzejewski-Szmek - 0.7.0-0.16.20130718giteaf6872f6ad4 - Rebuild for libQt5.12 * Fri Feb 01 2019 Fedora Release Engineering - 0.7.0-0.15.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sun Oct 21 2018 Robert-André Mauchin - 0.7.0-0.14.20130718giteaf6872f6ad4 - Fix pkgconfig files install dependencies, avoid pulling Qt4 libraries * Fri Jul 13 2018 Fedora Release Engineering - 0.7.0-0.13.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 0.7.0-0.12.20130718giteaf6872f6ad4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Dec 01 2017 Martin Gansser - 0.7.0-0.11.20130718giteaf6872f6ad4 - Rebuilt * Thu Nov 30 2017 Martin Gansser - 0.7.0-0.10.20130718giteaf6872f6ad4 - Add libqxt-qt5-moc-pre-processing-order.patch - Add -lQt5X11Extras flag to libqxt-linking.patch * Mon Nov 27 2017 Leigh Scott - 0.7.0-0.9.20130718giteaf6872f6ad4 - Remove bundled libssh2 * Sun Nov 26 2017 Rex Dieter - 0.7.0-0.8.giteaf6872f6ad4 - use compat-openssl10-devel only on f26 (to match qt5-qtbase usage) * Wed Nov 22 2017 Martin Gansser - 0.7.0-0.7.20130718giteaf6872f6ad4 - Fix pkgconfig files install dependencies * Wed Nov 22 2017 Martin Gansser - 0.7.0-0.6.20130718giteaf6872f6ad4 - Fix pkgconfig includedir qt5 path * Tue Nov 21 2017 Martin Gansser - 0.7.0-0.5.20130718giteaf6872f6ad4 - Add libqxt-qt5-libname.patch * Sat Nov 18 2017 Martin Gansser - 0.7.0-0.4.20130718giteaf6872f6ad4 - Fix Package must own all directories that it creates * Sat Nov 18 2017 Martin Gansser - 0.7.0-0.3.20130718giteaf6872f6ad4 - Add QMAKE_LFLAGS to fix unused-direct-shlib-dependency warnings - Add doc subpkg - Add cpl1.0.txt and lgpl-2.1.txt into %%license section - Add BSD to license tag * Fri Nov 17 2017 Martin Gansser - 0.7.0-0.2.20130718giteaf6872f6ad4 - Correct url address * Tue Nov 14 2017 Martin Gansser - 0.7.0-1 - Build QT5 library