%global app_id org.kde.kexi
# koffice version to Obsolete
%global koffice_ver 3:2.3.70
%bcond_with bootstrap
%if %{without bootstrap}
# some known failures, ping upstream
%global tests 1
%endif
Name: kexi
Summary: An integrated environment for managing data
Version: 3.2.0
Release: 8%{?dist}
License: LGPL-2.0-or-later AND GFDL-1.2-or-later
Url: http://community.kde.org/Kexi
%global revision %(echo %{version} | cut -d. -f3)
%if %{revision} >= 50
%global stable unstable
%global majmin 3.1
%else
%global stable stable
%global majmin %(echo %{version} | cut -d. -f1,2)
%endif
Source0: http://download.kde.org/%{stable}/%{name}/src/%{name}-%{version}.tar.xz
## upstream patches (lookaside cache)
Patch8: 0008-cmake-find-PostgreSQL-12.patch
Patch13: 0013-Fix-build-with-Qt-5.13.patch
Patch31: 0031-add-override-where-needed.patch
Patch36: 0036-TRIVIAL-Move-Q_REQUIRED_RESULT-to-correct-place.patch
Patch50: 0050-cmake-find-PostgreSQL-13.patch
Patch80: 0080-cmake-find-PostgreSQL-14.patch
Patch504: 0504-Fix-glib-include-position.patch
Patch543: 0543-Fix-build-with-GCC-12-standard-attributes-in-middle-.patch
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: extra-cmake-modules
BuildRequires: kf5-rpm-macros
BuildRequires: cmake(Qt5PrintSupport)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: cmake(Qt5Xml)
BuildRequires: cmake(Qt5UiTools)
BuildRequires: cmake(Qt5WebKit)
BuildRequires: cmake(Qt5WebKitWidgets)
BuildRequires: cmake(KF5Archive)
BuildRequires: cmake(KF5Codecs)
BuildRequires: cmake(KF5Completion)
BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5ConfigWidgets)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5Crash)
BuildRequires: cmake(KF5GuiAddons)
BuildRequires: cmake(KF5I18n)
BuildRequires: cmake(KF5IconThemes)
BuildRequires: cmake(KF5ItemViews)
BuildRequires: cmake(KF5KIO)
BuildRequires: cmake(KF5TextEditor)
BuildRequires: cmake(KF5TextWidgets)
BuildRequires: cmake(KF5WidgetsAddons)
BuildRequires: cmake(KF5XmlGui)
BuildRequires: cmake(KF5DocTools)
#BuildRequires: doxygen
BuildRequires: breeze-icon-theme-rcc
# needed at runtime too, apparently -- rex
Requires: breeze-icon-theme-rcc
# kdb/kproperty/kreport and kexi are all tied together
BuildRequires: cmake(KDb) >= %{version}
BuildRequires: cmake(KPropertyWidgets) >= %{version}
BuildRequires: cmake(KReport) >= %{version}
Requires: kdb%{?_isa} >= %{version}
Requires: kproperty%{?_isa} >= %{version}
Requires: kreport%{?_isa} >= %{version}
## mapbrowser currently disabled in sources
#BuildRequires: cmake(Marble)
## DB engines
BuildRequires: glib2-devel
BuildRequires: mariadb-connector-c-devel
# this shouldn't be needed, but the build system configuration seems to
# mistakenly detect server-related headers
BuildRequires: postgresql-server-devel
%if 0%{?tests}
BuildRequires: cmake(Qt5Test)
BuildRequires: xorg-x11-server-Xvfb
%endif
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Obsoletes: koffice-kexi < %{koffice_ver}
Obsoletes: koffice-kexi-libs < %{koffice_ver}
Obsoletes: calligra-kexi < 3.0.0
Provides: calligra-kexi = %{version}-%{release}
Obsoletes: calligra-kexi-map-form-widget < 3.0.0
#Provides: calligra-kexi-map-form-widget = %{version}-%{release}
%description
Kexi is an integrated data management application. It can be used for
creating database schemas, inserting data, performing queries, and
processing data. Forms can be created to provide a custom interface to
your data. All database objects – tables, queries and forms – are
stored in the database, making it easy to share data and design.
For additional database drivers take a look at kexi-driver-*
%package libs
Summary: Runtime libraries for %{name}
Obsoletes: calligra-kexi-libs < 3.0.0
Provides: calligra-kexi-libs = %{version}-%{release}
Requires: %{name} = %{version}-%{release}
%description libs
%{summary}.
%package spreadsheet-import
Summary: Spreadsheet-to-Kexi-table import plugin
Obsoletes: calligra-kexi-spreadsheet-import < 3.0.0
Provides: calligra-kexi-spreadsheet-import = %{version}-%{release}
Requires: %{name} = %{version}-%{release}
%description spreadsheet-import
%{summary}.
%prep
%autosetup -p1
%build
%cmake_kf5 \
-DBUILD_TESTING:BOOL=%{?tests:ON}%{?!tests:OFF}
%cmake_build
%install
%cmake_install
%find_lang %{name} --all-name --with-html
## versioning silliness
# compat symlink
ln -s kexi-%{majmin} %{buildroot}%{_bindir}/kexi
# rename appdata/.desktop
mv %{buildroot}%{_metainfodir}/%{app_id}-%{majmin}.appdata.xml \
%{buildroot}%{_metainfodir}/%{app_id}.appdata.xml
mv %{buildroot}%{_datadir}/applications/%{app_id}-%{majmin}.desktop \
%{buildroot}%{_datadir}/applications/%{app_id}.desktop
%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{app_id}.appdata.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/%{app_id}.desktop
## tests have known failures, TODO: consult upstream
%if 0%{?tests}
export CTEST_OUTPUT_ON_FAILURE=1
#xvfb-run -a \
%make_build ARGS="--output-on-failure --timeout 20" -C %{_target_platform} ||:
%endif
%files -f %{name}.lang
%license COPYING.LIB COPYING.DOC
%doc AUTHORS README.md
%{_bindir}/kexi
%{_bindir}/kexi-%{majmin}
%{_metainfodir}/%{app_id}.appdata.xml
%{_datadir}/applications/%{app_id}.desktop
%{_datadir}/kexi/
%{_datadir}/icons/hicolor/*/*/kexi-%{majmin}.*
%ldconfig_scriptlets libs
%files libs
%license COPYING.LIB
%{_libdir}/libkexi*
%{_libdir}/libkformdesigner*
%{_qt5_plugindir}/kexi/
%changelog
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Nov 16 2022 Ondřej Sloup <osloup@redhat.com> - 3.2.0-6
- Rebuild for new PostgreSQL 15
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Dec 24 2021 Yaakov Selkowitz <yselkowi@redhat.com> - 3.2.0-3
- Fix FTBFS (#1987621)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Feb 18 2021 Rex Dieter <rdieter@fedoraproject.org> - 3.2.0-1
- 3.2.0
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Feb 17 2020 Than Ngo <than@redhat.com> - 3.1.0-7
- Fixed FTBFS
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 20 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.1.0-3
- upstream buildfix (#1604485)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Mar 11 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.1.0-1
- 3.1.0
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.94-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 22 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.0.94-1
- 3.0.94
- undo some of the versioning/parallel-install silliness
* Fri Oct 13 2017 Rex Dieter <rdieter@fedoraproject.org> - 3.0.2-3
- Requires: breeze-icon-theme-rcc (#1492881)
* Fri Aug 18 2017 Rex Dieter <rdieter@fedoraproject.org> - 3.0.2-2
- typo in kreport dependency
* Fri Aug 11 2017 Rex Dieter <rdieter@fedoraproject.org> - 3.0.2-1
- 3.0.2, bump kdb dep
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jul 19 2017 Rex Dieter <rdieter@fedoraproject.org> - 3.0.1.1-1
- 3.0.1.1 (fix translations)
* Wed Jun 21 2017 Rex Dieter <rdieter@fedoraproject.org> - 3.0.1-2
- License: GPLv2+
- BR: breeze-icon-theme-rcc
- appdata/desktop file validation
* Wed Apr 12 2017 Rex Dieter <rdieter@fedoraproject.org> - 3.0.1-1
- first try