]>
Commit | Line | Data |
---|---|---|
01d13c31 ER |
1 | # |
2 | # Conditional build: | |
0dd76f0f | 3 | %bcond_without doc # build without doc |
53d00b1b | 4 | %bcond_without tests # build without tests |
071895c0 | 5 | |
23845e79 | 6 | %define orgname extra-cmake-modules |
b050248b | 7 | %define kdeframever 5.107 |
23845e79 | 8 | Summary: Extra Cmake Modules for KF5 |
53d00b1b | 9 | Summary(pl.UTF-8): Dodatkowe moduły Cmake'a dla KF5 |
01d13c31 | 10 | Name: kf5-%{orgname} |
b050248b | 11 | Version: 5.107.0 |
5397fc6b | 12 | Release: 1 |
071895c0 AM |
13 | License: BSD |
14 | Group: Development/Building | |
bb2957f2 | 15 | Source0: https://download.kde.org/stable/frameworks/%{kdeframever}/%{orgname}-%{version}.tar.xz |
b050248b | 16 | # Source0-md5: efeb9f07b65330476c1a51481840d444 |
53d00b1b | 17 | Patch0: %{orgname}-tests.patch |
3d166c4a | 18 | Patch1: kdefetchtranslations-test.patch |
db15f84f | 19 | Patch2: no-fatal-warnings.patch |
3ed29e1c JB |
20 | URL: https://kde.org/ |
21 | BuildRequires: cmake >= 3.16 | |
2f178ef3 | 22 | BuildRequires: qt5-assistant >= 5.9.0 |
071895c0 | 23 | BuildRequires: qt5-linguist |
3f354ca4 | 24 | BuildRequires: rpmbuild(macros) >= 1.698 |
53d00b1b | 25 | BuildRequires: sed >= 4.0 |
511160b0 | 26 | %{?with_doc:BuildRequires: sphinx-pdg >= 1.2} |
434fec0f WF |
27 | BuildRequires: tar >= 1:1.22 |
28 | BuildRequires: xz | |
53d00b1b | 29 | %if %{with tests} |
2f178ef3 | 30 | BuildRequires: Qt5Core-devel >= 5.9.0 |
2f178ef3 | 31 | BuildRequires: Qt5Quick-devel >= 5.9.0 |
cc4fc263 | 32 | BuildRequires: libstdc++-devel >= 6:5 |
53d00b1b | 33 | %endif |
9ad2d434 | 34 | BuildConflicts: qmake |
1a1e564e | 35 | BuildArch: noarch |
23845e79 WF |
36 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
37 | ||
23845e79 WF |
38 | %description |
39 | The Extra CMake Modules package, or ECM, adds to the modules provided | |
01d13c31 ER |
40 | by CMake, including both ones used by find_package() to find common |
41 | software and ones that can be used directly in CMakeLists.txt files to | |
42 | perform common tasks. | |
23845e79 WF |
43 | |
44 | In addition, it provides common build settings used in software | |
45 | produced by the KDE community. | |
46 | ||
47 | While the driving force of this module is to reduce duplication in | |
48 | CMake scripts across KDE software, it is intended to be useful for any | |
49 | software that uses the CMake build system. | |
50 | ||
53d00b1b JB |
51 | %description -l pl.UTF-8 |
52 | Pakiet Extra CMake Modules (ECM) dostarcza dodatkowe moduły do tych | |
53 | dostarczanych przez CMake'a, zawierające te używane przez | |
54 | find_package() do szukania popularnego oprogramowania, a także takie, | |
55 | których można używać bezpośrednio w CMakeLists.txt do wykonywania | |
56 | wspólnych zadań. | |
57 | ||
58 | Ponadto pakiet dostarcza wspólne ustawienia budowana używane w | |
59 | oprogramowaniu tworzonym przez społeczność KDE. | |
60 | ||
61 | O ile główną motywacją tego modułu jest zmniejszenie duplikacji w | |
62 | skryptach CMake'a w oprogramowaniu KDE, ma także być przydatny dla | |
63 | dowolnych programów wykorzystujących system budowania CMake. | |
64 | ||
0dd76f0f | 65 | %package apidocs |
1f2c20d2 WF |
66 | Summary: API documentation for %{orgname} |
67 | Summary(pl.UTF-8): Dokumentacja API %{orgname} | |
0dd76f0f | 68 | Group: Documentation |
511160b0 | 69 | Obsoletes: kf5-extra-cmake-modules-doc < 1.4.0 |
0dd76f0f WF |
70 | |
71 | %description apidocs | |
72 | API documentation for %{orgname}. | |
73 | ||
74 | %description apidocs -l pl.UTF-8 | |
75 | Dokumentacja API dla %{orgname}. | |
76 | ||
23845e79 WF |
77 | %prep |
78 | %setup -q -n %{orgname}-%{version} | |
53d00b1b | 79 | %patch0 -p1 |
3d166c4a | 80 | %patch1 -p0 |
db15f84f | 81 | %patch2 -p1 |
53d00b1b JB |
82 | |
83 | # causes make install failure after running tests | |
84 | %{__sed} -i -e '/ECMToolchainAndroidTest/d' tests/CMakeLists.txt | |
23845e79 WF |
85 | |
86 | %build | |
87 | install -d build | |
88 | cd build | |
3d166c4a WF |
89 | %cmake \ |
90 | %{!?with_tests:-DBUILD_TESTING=OFF} \ | |
0dd76f0f | 91 | %{!?with_doc:-DBUILD_HTML_DOCS=OFF} \ |
3d166c4a | 92 | .. |
53d00b1b | 93 | |
23845e79 WF |
94 | %{__make} |
95 | ||
53d00b1b JB |
96 | %if %{with tests} |
97 | # GenerateSipBindings wants clang and has libclang checks incompatible with libclang >= 4 | |
9a54f06a | 98 | # ECMPoQmToolsTest fails to build it's own moc file |
68d6e03d | 99 | ctest -E '(GenerateSipBindings|ECMPoQmToolsTest)' --output-on-failure |
53d00b1b | 100 | %endif |
071895c0 | 101 | |
23845e79 WF |
102 | %install |
103 | rm -rf $RPM_BUILD_ROOT | |
53d00b1b JB |
104 | |
105 | %{__make} -C build -j1 install \ | |
23845e79 WF |
106 | DESTDIR=$RPM_BUILD_ROOT |
107 | ||
3d166c4a WF |
108 | sed -i -e 's#/usr/bin/env bash#/bin/bash#' $RPM_BUILD_ROOT%{_datadir}/ECM/kde-modules/kde-git-commit-hooks/pre-commit.in |
109 | sed -i -e 's#/usr/bin/env bash#/bin/bash#' $RPM_BUILD_ROOT%{_datadir}/ECM/kde-modules/kde-git-commit-hooks/clang-format.sh | |
110 | ||
0dd76f0f | 111 | %if %{with doc} |
53d00b1b | 112 | %{__mv} $RPM_BUILD_ROOT%{_docdir}/ECM ECM-doc |
0dd76f0f | 113 | %endif |
ed2c6fa7 | 114 | install -d $RPM_BUILD_ROOT%{_datadir}/qlogging-categories5 |
071895c0 | 115 | |
23845e79 WF |
116 | %clean |
117 | rm -rf $RPM_BUILD_ROOT | |
118 | ||
119 | %files | |
120 | %defattr(644,root,root,755) | |
0dd76f0f | 121 | %doc COPYING-CMAKE-SCRIPTS README.rst |
23845e79 | 122 | %{_datadir}/ECM |
ed2c6fa7 | 123 | %{_datadir}/qlogging-categories5 |
071895c0 | 124 | %{_mandir}/man7/ecm*.7* |
0dd76f0f WF |
125 | |
126 | %if %{with doc} | |
127 | %files apidocs | |
128 | %defattr(644,root,root,755) | |
129 | %doc ECM-doc/html/* | |
130 | %endif |