diff --git a/qt5-qttools.spec b/qt5-qttools.spec index 310acbe4739a0f292ab066798ed4b99c0f44c6af..cdc7a8402164267c7ffe80cd7fe72c134bc92454 100644 --- a/qt5-qttools.spec +++ b/qt5-qttools.spec @@ -1,7 +1,6 @@ -%define anolis_release 3 +%define anolis_release 4 %global qt_module qttools -# Disable automatic .la file removal %global __brp_remove_la_files %nil Summary: Qt5 - QtTool components @@ -14,50 +13,45 @@ Url: http://www.qt.io %global majmin %(echo %{version} | cut -d. -f1-2) Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-opensource-src-%{version}.tar.xz -# help lrelease/lupdate use/prefer qmake-qt5 Patch2: qttools-opensource-src-5.13.2-runqttools-with-qt5-suffix.patch - -# Link against libclang-cpp.so Patch5: 0001-Link-against-libclang-cpp.so-instead-of-the-clang-co.patch -## upstream patches - Source20: assistant.desktop Source21: designer.desktop Source22: linguist.desktop Source23: qdbusviewer.desktop -BuildRequires: make -# %%check needs cmake (and don't want to mess with cmake28) -BuildRequires: cmake -BuildRequires: desktop-file-utils -BuildRequires: /usr/bin/file -BuildRequires: qt5-rpm-macros +BuildRequires: qt5-rpm-macros /usr/bin/file desktop-file-utils cmake make BuildRequires: qt5-qtbase-private-devel BuildRequires: qt5-qtbase-static >= %{version} BuildRequires: qt5-qtdeclarative-static >= %{version} BuildRequires: pkgconfig(Qt5Qml) -# libQt5DBus.so.5(Qt_5_PRIVATE_API) %{?_qt5:Requires: %{_qt5} = %{_qt5_version}} %if 0%{?bootstrap} %global no_examples CONFIG-=compile_examples -Obsoletes: %{name}-examples < %{version}-%{release} +Obsoletes: %{name}-examples < %{EVR} %else -# for qdoc BuildRequires: clang-devel llvm-devel %endif -Requires: %{name}-common = %{version}-%{release} +Requires: %{name}-common = %{EVR} %description %{summary}. +%{name} is an open-source package that contains a set of applications to +browse the documentation, translate applications, generate help files and other +stuff that helps in Qt development. These tools include QtAssistant (help +browser), QtDesigner (GUI design), QDbusViewer and several more. It is part of +the QtTools modules which contains some tools mostly useful for application +development. + %package common Summary: Common files for %{name} BuildArch: noarch -Obsoletes: qt5-qttools-libs-clucene < 5.9.0 +Obsoletes: %{name}-libs-clucene < 5.9.0 %if ! 0%{?webkit} Obsoletes: qt5-designer-plugin-webkit < 5.9.0 %endif @@ -66,78 +60,47 @@ Obsoletes: qt5-designer-plugin-webkit < 5.9.0 %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs-designer = %{version}-%{release} -Requires: %{name}-libs-designercomponents = %{version}-%{release} -Requires: %{name}-libs-help = %{version}-%{release} -Requires: qt5-doctools = %{version}-%{release} -Requires: qt5-designer = %{version}-%{release} -Requires: qt5-linguist = %{version}-%{release} +Requires: %{name} = %{EVR} +Requires: %{name}-libs-designer = %{EVR} +Requires: %{name}-libs-designercomponents = %{EVR} +Requires: %{name}-libs-help = %{EVR} +Requires: qt5-doctools = %{EVR} +Requires: qt5-designer = %{EVR} +Requires: qt5-linguist = %{EVR} Requires: qt5-qtbase-devel %description devel %{summary}. %package static Summary: Static library files for %{name} -Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-devel = %{EVR} %description static %{summary}. %package libs-designer Summary: Qt5 Designer runtime library -Requires: %{name}-common = %{version}-%{release} +Requires: %{name}-common = %{EVR} %description libs-designer %{summary}. %package libs-designercomponents Summary: Qt5 Designer Components runtime library -Requires: %{name}-common = %{version}-%{release} +Requires: %{name}-common = %{EVR} %description libs-designercomponents %{summary}. %package libs-help Summary: Qt5 Help runtime library -Requires: %{name}-common = %{version}-%{release} -# when split happened +Requires: %{name}-common = %{EVR} Conflicts: qt5-tools < 5.4.0-0.2 %description libs-help %{summary}. -%package -n qt5-assistant -Summary: Documentation browser for Qt5 -Requires: %{name}-common = %{version}-%{release} -%description -n qt5-assistant -%{summary}. - -%package -n qt5-designer -Summary: Design GUIs for Qt5 applications -Requires: %{name}-libs-designer = %{version}-%{release} -Requires: %{name}-libs-designercomponents = %{version}-%{release} -%description -n qt5-designer -%{summary}. - -%if 0%{?webkit} -%package -n qt5-designer-plugin-webkit -Summary: Qt5 designer plugin for WebKit -BuildRequires: pkgconfig(Qt5WebKitWidgets) -Requires: %{name}-libs-designer = %{version}-%{release} -%description -n qt5-designer-plugin-webkit +%package examples +Summary: Programming examples for %{name} +Requires: %{name}-common = %{EVR} +%description examples %{summary}. -%endif - -%package -n qt5-linguist -Summary: Qt5 Linguist Tools -Requires: %{name}-common = %{version}-%{release} -%description -n qt5-linguist -Tools to add translations to Qt5 applications. - -%package -n qt5-qdbusviewer -Summary: D-Bus debugger and viewer -Requires: %{name}-common = %{version}-%{release} -%{?_qt5:Requires: %{_qt5} >= %{_qt5_version}} -%description -n qt5-qdbusviewer -QDbusviewer can be used to inspect D-Bus objects of running programs -and invoke methods on those objects. %package -n qt5-doctools Summary: Qt5 doc tools package @@ -148,16 +111,44 @@ Obsoletes: qt5-qhelpgenerator < 5.8.0 Provides: qt5-qtattributionsscanner = %{version} Obsoletes: qt5-qtattributionsscanner < 5.8.0 Requires: qt5-qtattributionsscanner = %{version} - %description -n qt5-doctools %{summary}. -%package examples -Summary: Programming examples for %{name} -Requires: %{name}-common = %{version}-%{release} -%description examples +%package -n qt5-qdbusviewer +Summary: D-Bus debugger and viewer +Requires: %{name}-common = %{EVR} +%{?_qt5:Requires: %{_qt5} >= %{_qt5_version}} +%description -n qt5-qdbusviewer +QDbusviewer can be used to inspect D-Bus objects of running programs +and invoke methods on those objects. + +%package -n qt5-linguist +Summary: Qt5 Linguist Tools +Requires: %{name}-common = %{EVR} +%description -n qt5-linguist +qt5-linguist contains tools to add translations to Qt5 applications. + +%package -n qt5-designer +Summary: Design GUIs for Qt5 applications +Requires: %{name}-libs-designer = %{EVR} +Requires: %{name}-libs-designercomponents = %{EVR} +%description -n qt5-designer %{summary}. +%package -n qt5-assistant +Summary: Documentation browser for Qt5 +Requires: %{name}-common = %{EVR} +%description -n qt5-assistant +%{summary}. + +%if 0%{?webkit} +%package -n qt5-designer-plugin-webkit +Summary: Qt5 designer plugin for WebKit +BuildRequires: pkgconfig(Qt5WebKitWidgets) +Requires: %{name}-libs-designer = %{EVR} +%description -n qt5-designer-plugin-webkit +%{summary}. +%endif %prep %setup -q -n %{qt_module}-everywhere-src-%{version} @@ -174,26 +165,20 @@ Requires: %{name}-common = %{version}-%{release} %install make install INSTALL_ROOT=%{buildroot} - -# Add desktop files, --vendor=... helps avoid possible conflicts with qt3/qt4 desktop-file-install \ --dir=%{buildroot}%{_datadir}/applications \ --vendor="qt5" \ %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} - -# icons +for icon in src/linguist/linguist/images/icons/linguist-*-32.png ; do + size=$(echo $(basename ${icon}) | cut -d- -f2) + install -p -m644 -D ${icon} %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/linguist-qt5.png +done install -m644 -p -D src/assistant/assistant/images/assistant.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/assistant-qt5.png install -m644 -p -D src/assistant/assistant/images/assistant-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/assistant-qt5.png install -m644 -p -D src/designer/src/designer/images/designer.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/designer-qt5.png install -m644 -p -D src/qdbus/qdbusviewer/images/qdbusviewer.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/qdbusviewer-qt5.png install -m644 -p -D src/qdbus/qdbusviewer/images/qdbusviewer-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/qdbusviewer-qt5.png -# linguist icons -for icon in src/linguist/linguist/images/icons/linguist-*-32.png ; do - size=$(echo $(basename ${icon}) | cut -d- -f2) - install -p -m644 -D ${icon} %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/linguist-qt5.png -done -# hardlink files to {_bindir}, add -qt5 postfix to not conflict mkdir %{buildroot}%{_bindir} pushd %{buildroot}%{_qt5_bindir} for i in * ; do @@ -209,8 +194,6 @@ for i in * ; do done popd -## .prl/.la file love -# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs pushd %{buildroot}%{_qt5_libdir} for prl_file in libQt5*.prl ; do sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file} @@ -221,26 +204,20 @@ for prl_file in libQt5*.prl ; do done popd -## Qt5Designer.pc references non-existent Qt5UiPlugin.pc, remove the reference for now sed -i -e 's| Qt5UiPlugin||g' %{buildroot}%{_qt5_libdir}/pkgconfig/Qt5Designer.pc - -## work-in-progress... -- rex %check -# verify validity of Qt5Designer.pc -export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig -pkg-config --print-requires --print-requires-private Qt5Designer export CMAKE_PREFIX_PATH=%{buildroot}%{_qt5_prefix}:%{buildroot}%{_prefix} export PATH=%{buildroot}%{_qt5_bindir}:%{_qt5_bindir}:$PATH export LD_LIBRARY_PATH=%{buildroot}%{_qt5_libdir} +export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig +pkg-config --print-requires --print-requires-private Qt5Designer mkdir tests/auto/cmake/%{_target_platform} pushd tests/auto/cmake/%{_target_platform} cmake .. ctest --output-on-failure ||: popd - -# check icon resolutions pushd %{buildroot}%{_datadir}/icons for RES in $(ls hicolor); do for APP in designer assistant linguist qdbusviewer; do @@ -272,124 +249,115 @@ popd %files libs-help %{_qt5_libdir}/libQt5Help.so.5* +%if ! 0%{?no_examples:1} +%files examples +%{_qt5_examplesdir}/ +%{_qt5_plugindir}/designer/* +%dir %{_qt5_libdir}/cmake/Qt5Designer +%{_qt5_libdir}/cmake/Qt5Designer/Qt5Designer_* +%endif -%files -n qt5-assistant -%{_bindir}/assistant-qt5 -%{_qt5_bindir}/assistant* -%{_datadir}/applications/*assistant.desktop -%{_datadir}/icons/hicolor/*/apps/assistant*.* - +%files -n qt5-qdbusviewer +%{_bindir}/qdbusviewer* +%{_qt5_bindir}/qdbusviewer* +%{_datadir}/applications/*qdbusviewer.desktop +%{_datadir}/icons/hicolor/*/apps/qdbusviewer*.* %files -n qt5-doctools -%{_bindir}/qdoc* %{_qt5_bindir}/qdoc* -%{_bindir}/qdistancefieldgenerator* -%{_bindir}/qhelpgenerator* -%{_qt5_bindir}/qdistancefieldgenerator* +%{_qt5_bindir}/qtattributionsscanner* %{_qt5_bindir}/qhelpgenerator* +%{_qt5_bindir}/qdistancefieldgenerator* +%{_bindir}/qdoc* %{_bindir}/qtattributionsscanner-qt5 -%{_qt5_bindir}/qtattributionsscanner* - - -%files -n qt5-designer -%{_bindir}/designer* -%{_qt5_bindir}/designer* -%{_datadir}/applications/*designer.desktop -%{_datadir}/icons/hicolor/*/apps/designer*.* -%{_qt5_libdir}/cmake/Qt5DesignerComponents/Qt5DesignerComponentsConfig*.cmake - -%if 0%{?webkit} -%files -n qt5-designer-plugin-webkit -%{_qt5_plugindir}/designer/libqwebview.so -%{_qt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebViewPlugin.cmake -%endif - +%{_bindir}/qhelpgenerator* +%{_bindir}/qdistancefieldgenerator* %files -n qt5-linguist %{_bindir}/linguist* -%{_qt5_bindir}/linguist* -# phrasebooks used by linguist -%{_qt5_datadir}/phrasebooks/ -%{_datadir}/applications/*linguist.desktop -%{_datadir}/icons/hicolor/*/apps/linguist*.* -# linguist friends %{_bindir}/lconvert* %{_bindir}/lrelease* %{_bindir}/lupdate* %{_bindir}/lprodump* +%{_datadir}/applications/*linguist.desktop +%{_datadir}/icons/hicolor/*/apps/linguist*.* +%{_qt5_bindir}/linguist* +%{_qt5_datadir}/phrasebooks/ %{_qt5_bindir}/lconvert* %{_qt5_bindir}/lrelease* %{_qt5_bindir}/lupdate* %{_qt5_bindir}/lprodump* -# cmake config %dir %{_qt5_libdir}/cmake/Qt5LinguistTools/ %{_qt5_libdir}/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig*.cmake %{_qt5_libdir}/cmake/Qt5LinguistTools/Qt5LinguistToolsMacros.cmake +%files -n qt5-designer +%{_bindir}/designer* +%{_datadir}/applications/*designer.desktop +%{_datadir}/icons/hicolor/*/apps/designer*.* +%{_qt5_bindir}/designer* +%{_qt5_libdir}/cmake/Qt5DesignerComponents/Qt5DesignerComponentsConfig*.cmake -%files -n qt5-qdbusviewer -%{_bindir}/qdbusviewer* -%{_qt5_bindir}/qdbusviewer* -%{_datadir}/applications/*qdbusviewer.desktop -%{_datadir}/icons/hicolor/*/apps/qdbusviewer*.* +%files -n qt5-assistant +%{_bindir}/assistant-qt5 +%{_qt5_bindir}/assistant* +%{_datadir}/applications/*assistant.desktop +%{_datadir}/icons/hicolor/*/apps/assistant*.* + +%if 0%{?webkit} +%files -n qt5-designer-plugin-webkit +%{_qt5_plugindir}/designer/libqwebview.so +%{_qt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebViewPlugin.cmake +%endif %files devel %{_bindir}/pixeltool* %{_bindir}/qcollectiongenerator* -#{_bindir}/qhelpconverter* %{_bindir}/qtdiag* %{_bindir}/qtplugininfo* +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_uiplugin.pri +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_help_private.pri +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_help.pri +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_designercomponents_private.pri +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_designer_private.pri +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_designer.pri %{_qt5_bindir}/pixeltool* %{_qt5_bindir}/qtdiag* %{_qt5_bindir}/qcollectiongenerator* -#{_qt5_bindir}/qhelpconverter* %{_qt5_bindir}/qtplugininfo* %{_qt5_headerdir}/QtDesigner/ %{_qt5_headerdir}/QtDesignerComponents/ %{_qt5_headerdir}/QtHelp/ %{_qt5_headerdir}/QtUiPlugin -%{_qt5_libdir}/libQt5Designer*.prl -%{_qt5_libdir}/libQt5Designer*.so -%{_qt5_libdir}/libQt5Help.prl -%{_qt5_libdir}/libQt5Help.so -%{_qt5_libdir}/Qt5UiPlugin.la -%{_qt5_libdir}/libQt5UiPlugin.prl -%{_qt5_libdir}/cmake/Qt5Designer/Qt5DesignerConfig*.cmake -%dir %{_qt5_libdir}/cmake/Qt5Help/ -%{_qt5_libdir}/cmake/Qt5Help/Qt5HelpConfig*.cmake -%{_qt5_libdir}/cmake/Qt5UiPlugin/ -%{_qt5_libdir}/pkgconfig/Qt5Designer.pc -%{_qt5_libdir}/pkgconfig/Qt5Help.pc %{_qt5_libdir}/pkgconfig/Qt5UiPlugin.pc -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_designer.pri -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_designer_private.pri -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_designercomponents_private.pri -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_help.pri -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_help_private.pri -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_uiplugin.pri -# putting these here for now, new stuff in 5.14, review for accuracy -- rdieter -%{_qt5_libdir}/cmake/Qt5AttributionsScannerTools/ +%{_qt5_libdir}/pkgconfig/Qt5Help.pc +%{_qt5_libdir}/pkgconfig/Qt5Designer.pc +%{_qt5_libdir}/cmake/Qt5UiPlugin/ +%{_qt5_libdir}/cmake/Qt5Help/Qt5HelpConfig*.cmake +%dir %{_qt5_libdir}/cmake/Qt5Help/ +%{_qt5_libdir}/cmake/Qt5Designer/Qt5DesignerConfig*.cmake +%{_qt5_libdir}/libQt5UiPlugin.prl +%{_qt5_libdir}/Qt5UiPlugin.la +%{_qt5_libdir}/libQt5Help.so +%{_qt5_libdir}/libQt5Help.prl +%{_qt5_libdir}/libQt5Designer*.so +%{_qt5_libdir}/libQt5Designer*.prl %{_qt5_libdir}/cmake/Qt5DocTools/ +%{_qt5_libdir}/cmake/Qt5AttributionsScannerTools/ %files static +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_uitools.pri +%{_qt5_archdatadir}/mkspecs/modules/qt_lib_uitools_private.pri %{_qt5_headerdir}/QtUiTools/ %{_qt5_libdir}/libQt5UiTools.*a %{_qt5_libdir}/libQt5UiTools.prl %{_qt5_libdir}/cmake/Qt5UiTools/ %{_qt5_libdir}/pkgconfig/Qt5UiTools.pc -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_uitools.pri -%{_qt5_archdatadir}/mkspecs/modules/qt_lib_uitools_private.pri - -%if ! 0%{?no_examples:1} -%files examples -%{_qt5_examplesdir}/ -%{_qt5_plugindir}/designer/* -%dir %{_qt5_libdir}/cmake/Qt5Designer -%{_qt5_libdir}/cmake/Qt5Designer/Qt5Designer_* -%endif - %changelog +* Mon Apr 17 2023 Zhongling He - 5.15.8-4 +- Refactor rpm spec + * Fri Apr 14 2023 Funda Wang - 5.15.8-3 - Rebuild for new clang