-%define kdeappsver 18.12.1
+#
+# Conditional build:
+%bcond_without luajit # build without luajit
+#
+%ifarch x32
+%undefine with_luajit
+%endif
+
+%define kdeappsver 21.04.1
+%define kframever 5.56.0
%define qtver 5.9.0
%define kaname cantor
Summary: Cantor
Name: ka5-%{kaname}
-Version: 18.12.1
+Version: 21.04.1
Release: 1
License: GPL v2+/LGPL v2.1+
Group: X11/Libraries
-Source0: http://download.kde.org/stable/applications/%{kdeappsver}/src/%{kaname}-%{version}.tar.xz
-# Source0-md5: d8dd65e5256f1c9e3dbb74bde0d95593
+Source0: http://download.kde.org/stable/release-service/%{kdeappsver}/src/%{kaname}-%{version}.tar.xz
+# Source0-md5: f5069ad53d45a6d1cd64e68ddbeca87d
URL: http://www.kde.org/
BuildRequires: Qt5Core-devel >= %{qtver}
BuildRequires: Qt5Gui-devel
BuildRequires: Qt5Widgets-devel
BuildRequires: Qt5Xml-devel
BuildRequires: Qt5XmlPatterns-devel
+BuildRequires: R
BuildRequires: cmake >= 2.8.12
BuildRequires: gettext-devel
-BuildRequires: kf5-extra-cmake-modules >= 5.53.0
-BuildRequires: kf5-karchive-devel >= 5.49.0
-BuildRequires: kf5-kcompletion-devel >= 5.49.0
-BuildRequires: kf5-kconfig-devel >= 5.49.0
-BuildRequires: kf5-kcoreaddons-devel >= 5.49.0
-BuildRequires: kf5-kcrash-devel >= 5.49.0
-BuildRequires: kf5-kdoctools-devel >= 5.49.0
-BuildRequires: kf5-ki18n-devel >= 5.49.0
-BuildRequires: kf5-kiconthemes-devel >= 5.49.0
-BuildRequires: kf5-kio-devel >= 5.49.0
-BuildRequires: kf5-knewstuff-devel >= 5.49.0
-BuildRequires: kf5-kparts-devel >= 5.49.0
-BuildRequires: kf5-kpty-devel >= 5.49.0
-BuildRequires: kf5-ktexteditor-devel >= 5.49.0
-BuildRequires: kf5-ktextwidgets-devel >= 5.49.0
-BuildRequires: kf5-kxmlgui-devel >= 5.49.0
-BuildRequires: kf5-syntax-highlighting-devel >= 5.49.0
+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
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/
cd build
%cmake \
-G Ninja \
+ -DHTML_INSTALL_DIR=%{_kdedocdir} \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
..
%ninja_build
rm -rf $RPM_BUILD_ROOT
%ninja_install -C build
+sed -i -e 's#/usr/bin/env bash#/bin/bash#' $RPM_BUILD_ROOT%{_datadir}/cantor/sagebackend/cantor-execsage
+
%find_lang %{kaname} --all-name --with-kde
%clean
%files -f %{kaname}.lang
%defattr(644,root,root,755)
-/etc/xdg/cantor.knsrc
-/etc/xdg/cantor_kalgebra.knsrc
-/etc/xdg/cantor_maxima.knsrc
-/etc/xdg/cantor_octave.knsrc
-/etc/xdg/cantor_python2.knsrc
-/etc/xdg/cantor_python3.knsrc
-/etc/xdg/cantor_qalculate.knsrc
-/etc/xdg/cantor_r.knsrc
-/etc/xdg/cantor_sage.knsrc
-/etc/xdg/cantor_scilab.knsrc
+%{?with_luajit:%{_datadir}/knsrcfiles/cantor_lua.knsrc}
+%attr(755,root,root) %{_bindir}/cantor_pythonserver
+%attr(755,root,root) %{_libdir}/cantor_pythonbackend.so
+%ghost %{_libdir}/libcantorlibs.so.28
+%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_pythonbackend.so
+%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/panels/cantor_filebrowserpanelplugin.so
+%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/panels/cantor_tocpanelplugin.so
+%{_datadir}/cantor/octave/graphic_packages.xml
+%{_datadir}/cantor/python/graphic_packages.xml
+%{_datadir}/config.kcfg/pythonbackend.kcfg
+%{_datadir}/knsrcfiles/cantor.knsrc
+%{_datadir}/knsrcfiles/cantor_kalgebra.knsrc
+%{_datadir}/knsrcfiles/cantor_maxima.knsrc
+%{_datadir}/knsrcfiles/cantor_octave.knsrc
+%{_datadir}/knsrcfiles/cantor_python.knsrc
+%{_datadir}/knsrcfiles/cantor_qalculate.knsrc
+%{_datadir}/knsrcfiles/cantor_r.knsrc
+%{_datadir}/knsrcfiles/cantor_sage.knsrc
+%{_datadir}/knsrcfiles/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.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
-%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_python2backend.so
-%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_python3backend.so
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_qalculatebackend.so
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_rbackend.so
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/backends/cantor_sagebackend.so
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/panels/cantor_variablemanagerplugin.so
%attr(755,root,root) %{_libdir}/qt5/plugins/libcantorpart.so
%{_desktopdir}/org.kde.cantor.desktop
-%{_datadir}/cantor
+%dir %{_datadir}/cantor
+%dir %{_datadir}/cantor/sagebackend
+%attr(755,root,root) %{_datadir}/cantor/sagebackend/cantor-execsage
+%{_datadir}/cantor/latex
+%{_datadir}/cantor/maximabackend
+%{_datadir}/cantor/octavebackend
+%dir %{_datadir}/cantor/octave
+%dir %{_datadir}/cantor/python
+%{_datadir}/cantor/xslt
%{_datadir}/config.kcfg/cantor.kcfg
%{_datadir}/config.kcfg/cantor_libs.kcfg
%{_datadir}/config.kcfg/kalgebrabackend.kcfg
%{_datadir}/config.kcfg/maximabackend.kcfg
%{_datadir}/config.kcfg/octavebackend.kcfg
-%{_datadir}/config.kcfg/python2backend.kcfg
-%{_datadir}/config.kcfg/python3backend.kcfg
%{_datadir}/config.kcfg/qalculatebackend.kcfg
%{_datadir}/config.kcfg/rserver.kcfg
%{_datadir}/config.kcfg/sagebackend.kcfg
%{_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_runscript_assistant.rc
%{_datadir}/kxmlgui5/cantor/cantor_solve_assistant.rc
%{_datadir}/metainfo/org.kde.cantor.appdata.xml
+%{?with_luajit:%{_datadir}/config.kcfg/luabackend.kcfg}
+%{_datadir}/mime/packages/cantor.xml
%files devel
%defattr(644,root,root,755)
%{_includedir}/cantor
-%attr(755,root,root) %{_libdir}/libcantorlibs.so
-
+%{_libdir}/libcantorlibs.so
+%{_libdir}/cmake/Cantor