#
# Conditional build:
+%bcond_without doc # build without doc
%bcond_without tests # build without tests
%define orgname extra-cmake-modules
-%define kdeframever 5.62
+%define kdeframever 5.107
Summary: Extra Cmake Modules for KF5
Summary(pl.UTF-8): Dodatkowe moduły Cmake'a dla KF5
Name: kf5-%{orgname}
-Version: 5.62.0
+Version: 5.107.0
Release: 1
License: BSD
Group: Development/Building
-Source0: http://download.kde.org/stable/frameworks/%{kdeframever}/%{orgname}-%{version}.tar.xz
-# Source0-md5: fe46ba151bc6fef4a627351acd726ddb
+Source0: https://download.kde.org/stable/frameworks/%{kdeframever}/%{orgname}-%{version}.tar.xz
+# Source0-md5: efeb9f07b65330476c1a51481840d444
Patch0: %{orgname}-tests.patch
-URL: http://www.kde.org/
-BuildRequires: cmake >= 2.8.12
+Patch1: kdefetchtranslations-test.patch
+Patch2: no-fatal-warnings.patch
+URL: https://kde.org/
+BuildRequires: cmake >= 3.16
BuildRequires: qt5-assistant >= 5.9.0
BuildRequires: qt5-linguist
BuildRequires: rpmbuild(macros) >= 1.698
BuildRequires: sed >= 4.0
-BuildRequires: sphinx-pdg >= 1.2
+%{?with_doc:BuildRequires: sphinx-pdg >= 1.2}
BuildRequires: tar >= 1:1.22
BuildRequires: xz
%if %{with tests}
BuildRequires: Qt5Core-devel >= 5.9.0
-BuildRequires: Qt5Gui-devel >= 5.9.0
-BuildRequires: Qt5Network-devel >= 5.9.0
-BuildRequires: Qt5Qml-devel >= 5.9.0
BuildRequires: Qt5Quick-devel >= 5.9.0
-BuildRequires: libstdc++-devel >= 6:4.9
-BuildRequires: qt5-build >= 5.9.0
+BuildRequires: libstdc++-devel >= 6:5
%endif
-Obsoletes: kf5-extra-cmake-modules-doc
+BuildConflicts: qmake
+BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
skryptach CMake'a w oprogramowaniu KDE, ma także być przydatny dla
dowolnych programów wykorzystujących system budowania CMake.
+%package apidocs
+Summary: API documentation for %{orgname}
+Summary(pl.UTF-8): Dokumentacja API %{orgname}
+Group: Documentation
+Obsoletes: kf5-extra-cmake-modules-doc < 1.4.0
+
+%description apidocs
+API documentation for %{orgname}.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API dla %{orgname}.
+
%prep
%setup -q -n %{orgname}-%{version}
%patch0 -p1
+%patch1 -p0
+%patch2 -p1
# causes make install failure after running tests
%{__sed} -i -e '/ECMToolchainAndroidTest/d' tests/CMakeLists.txt
%build
install -d build
cd build
-%cmake .. \
- %{!?with_tests:-DBUILD_TESTING=OFF}
+%cmake \
+ %{!?with_tests:-DBUILD_TESTING=OFF} \
+ %{!?with_doc:-DBUILD_HTML_DOCS=OFF} \
+ ..
%{__make}
%if %{with tests}
# GenerateSipBindings wants clang and has libclang checks incompatible with libclang >= 4
# ECMPoQmToolsTest fails to build it's own moc file
-ctest -E '(GenerateSipBindings|ECMPoQmToolsTest)'
+ctest -E '(GenerateSipBindings|ECMPoQmToolsTest)' --output-on-failure
%endif
%install
%{__make} -C build -j1 install \
DESTDIR=$RPM_BUILD_ROOT
+sed -i -e 's#/usr/bin/env bash#/bin/bash#' $RPM_BUILD_ROOT%{_datadir}/ECM/kde-modules/kde-git-commit-hooks/pre-commit.in
+sed -i -e 's#/usr/bin/env bash#/bin/bash#' $RPM_BUILD_ROOT%{_datadir}/ECM/kde-modules/kde-git-commit-hooks/clang-format.sh
+
+%if %{with doc}
%{__mv} $RPM_BUILD_ROOT%{_docdir}/ECM ECM-doc
+%endif
install -d $RPM_BUILD_ROOT%{_datadir}/qlogging-categories5
%clean
%files
%defattr(644,root,root,755)
-%doc COPYING-CMAKE-SCRIPTS README.rst ECM-doc/*
+%doc COPYING-CMAKE-SCRIPTS README.rst
%{_datadir}/ECM
%{_datadir}/qlogging-categories5
%{_mandir}/man7/ecm*.7*
+
+%if %{with doc}
+%files apidocs
+%defattr(644,root,root,755)
+%doc ECM-doc/html/*
+%endif