-%define kdeappsver 17.08.2
-%define qtver 5.3.2
+#
+# Conditional build:
+%bcond_without luajit # build without luajit
+#
+%ifarch x32
+%undefine with_luajit
+%endif
+
+%define kdeappsver 19.04.1
+%define kframever 5.56.0
+%define qtver 5.9.0
%define kaname cantor
Summary: Cantor
Name: ka5-%{kaname}
-Version: 17.08.2
-Release: 1
+Version: 19.04.1
+Release: 3
License: GPL v2+/LGPL v2.1+
Group: X11/Libraries
Source0: http://download.kde.org/stable/applications/%{kdeappsver}/src/%{kaname}-%{version}.tar.xz
-# Source0-md5: b94d96c56c6e0622d8167e64ddf3902a
+# Source0-md5: 0a2d78da9b7a785adeddd1094e9bbe67
+Patch0: python-3.8.patch
URL: http://www.kde.org/
BuildRequires: Qt5Core-devel >= %{qtver}
+BuildRequires: Qt5Gui-devel
+BuildRequires: Qt5Network-devel >= 5.11.1
+BuildRequires: Qt5PrintSupport-devel
+BuildRequires: Qt5Svg-devel
+BuildRequires: Qt5Test-devel
+BuildRequires: Qt5Widgets-devel
+BuildRequires: Qt5Xml-devel
+BuildRequires: Qt5XmlPatterns-devel
+BuildRequires: R
BuildRequires: cmake >= 2.8.12
-BuildRequires: kf5-extra-cmake-modules >= 1.4.0
+BuildRequires: gettext-devel
+BuildRequires: ka5-analitza-devel
+BuildRequires: kf5-extra-cmake-modules >= %{kframever}
+BuildRequires: kf5-karchive-devel >= %{kframever}
+BuildRequires: kf5-kcompletion-devel >= %{kframever}
+BuildRequires: kf5-kconfig-devel >= %{kframever}
+BuildRequires: kf5-kcoreaddons-devel >= %{kframever}
+BuildRequires: kf5-kcrash-devel >= %{kframever}
+BuildRequires: kf5-kdoctools-devel >= %{kframever}
+BuildRequires: kf5-ki18n-devel >= %{kframever}
+BuildRequires: kf5-kiconthemes-devel >= %{kframever}
+BuildRequires: kf5-kio-devel >= %{kframever}
+BuildRequires: kf5-knewstuff-devel >= %{kframever}
+BuildRequires: kf5-kparts-devel >= %{kframever}
+BuildRequires: kf5-kpty-devel >= %{kframever}
+BuildRequires: kf5-ktexteditor-devel >= %{kframever}
+BuildRequires: kf5-ktextwidgets-devel >= %{kframever}
+BuildRequires: kf5-kxmlgui-devel >= %{kframever}
+BuildRequires: kf5-syntax-highlighting-devel >= %{kframever}
+BuildRequires: libmarkdown-devel
+BuildRequires: libqalculate-devel >= 2.8.2
+%{?with_luajit:BuildRequires: luajit-devel}
+BuildRequires: ninja
BuildRequires: qt5-build >= %{qtver}
BuildRequires: rpmbuild(macros) >= 1.164
BuildRequires: shared-mime-info
Available Backends
- Julia Programming Language: http://julialang.org/
- KAlgebra for Calculation and Plotting: http://edu.kde.org/kalgebra/
-- Lua Programming Language: http://lua.org/
+%{?with_luajit:- Lua Programming Language: http://lua.org/}
- Maxima Computer Algebra System: http://maxima.sourceforge.net/
- Octave for Numerical Computation: https://gnu.org/software/octave/
- Python 2 Programming Language: http://python.org/
%prep
%setup -q -n %{kaname}-%{version}
+%patch0 -p1
%build
install -d build
cd build
%cmake \
+ -G Ninja \
+ -DHTML_INSTALL_DIR=%{_kdedocdir} \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
..
-%{__make}
+%ninja_build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} -C build install \
- DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
%find_lang %{kaname} --all-name --with-kde
%defattr(644,root,root,755)
/etc/xdg/cantor.knsrc
/etc/xdg/cantor_kalgebra.knsrc
+%{?with_luajit:/etc/xdg/cantor_lua.knsrc}
/etc/xdg/cantor_maxima.knsrc
/etc/xdg/cantor_octave.knsrc
/etc/xdg/cantor_python2.knsrc
/etc/xdg/cantor_sage.knsrc
/etc/xdg/cantor_scilab.knsrc
%attr(755,root,root) %{_bindir}/cantor
+%attr(755,root,root) %{_bindir}/cantor_python2server
%attr(755,root,root) %{_bindir}/cantor_python3server
%attr(755,root,root) %{_bindir}/cantor_rserver
+%attr(755,root,root) %{_bindir}/cantor_scripteditor
%attr(755,root,root) %{_libdir}/libcantor_config.so
%attr(755,root,root) %{_libdir}/libcantor_pythonbackend.so
-%attr(755,root,root) %ghost %{_libdir}/libcantorlibs.so.17
+%attr(755,root,root) %ghost %{_libdir}/libcantorlibs.so.20
%attr(755,root,root) %{_libdir}/libcantorlibs.so.*.*.*
%dir %{_libdir}/qt5/plugins/cantor
%dir %{_libdir}/qt5/plugins/cantor/assistants
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/assistants/cantor_solveassistant.so
%dir %{_libdir}/qt5/plugins/cantor/backends
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_kalgebrabackend.so
+%{?with_luajit:%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_luabackend.so}
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_maximabackend.so
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_nullbackend.so
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_octavebackend.so
%{_iconsdir}/hicolor/48x48/apps/cantor.png
%{_iconsdir}/hicolor/48x48/apps/juliabackend.png
%{_iconsdir}/hicolor/48x48/apps/kalgebrabackend.png
-%{_iconsdir}/hicolor/48x48/apps/luabackend.png
+%{?with_luajit:%{_iconsdir}/hicolor/48x48/apps/luabackend.png}
%{_iconsdir}/hicolor/48x48/apps/maximabackend.png
%{_iconsdir}/hicolor/48x48/apps/octavebackend.png
%{_iconsdir}/hicolor/48x48/apps/pythonbackend.png
%{_datadir}/kxmlgui5/cantor/cantor_part.rc
%{_datadir}/kxmlgui5/cantor/cantor_scripteditor.rc
%{_datadir}/kxmlgui5/cantor/cantor_shell.rc
+%{_datadir}/kxmlgui5/cantor/cantor_advancedplot_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_create_matrix_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_differentiate_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_eigenvalues_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_eigenvectors_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_import_package_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_integrate_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_invert_matrix_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_plot2d_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_plot3d_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_qalculateplotassistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_runscript_assistant.rc
+%{_datadir}/kxmlgui5/cantor/cantor_solve_assistant.rc
%{_datadir}/metainfo/org.kde.cantor.appdata.xml
+%{?with_luajit:%{_datadir}/config.kcfg/luabackend.kcfg}
%files devel
%defattr(644,root,root,755)
%{_includedir}/cantor
%attr(755,root,root) %{_libdir}/libcantorlibs.so
-
+%{_libdir}/cmake/Cantor