-%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 21.12.0
+%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: 21.12.0
+Release: 2
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
-URL: http://www.kde.org/
+Source0: https://download.kde.org/stable/release-service/%{kdeappsver}/src/%{kaname}-%{version}.tar.xz
+# Source0-md5: def49b9703e91d680e322f4210374eb1
+URL: https://www.kde.org/
BuildRequires: Qt5Core-devel >= %{qtver}
+BuildRequires: Qt5Gui-devel
+BuildRequires: Qt5Help-devel
+BuildRequires: Qt5Network-devel >= 5.11.1
+BuildRequires: Qt5PrintSupport-devel
+BuildRequires: Qt5Svg-devel
+BuildRequires: Qt5Test-devel
+BuildRequires: Qt5WebEngine-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
BuildRequires: tar >= 1:1.22
BuildRequires: xz
+ExclusiveArch: i686 %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
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/
- Sage Mathematics Software: http://sagemath.org/
- Scilab for Numerical Computation: http://scilab.org/
+%description -l pl.UTF-8
+Cantor jest programem KDE, którego celem jest dostarczenie miłego
+interfejsu do obliczeń naukowych. Cantor nie implementuje własnej
+logiki obliczeń, zamiast tego jest zbudowany wokół różnych backendów.
+
+Dostępne backendy:
+- język programowania Julia: http://julialang.org/
+- KAlgebra do obliczeń i rysowania: http://edu.kde.org/kalgebra/
+ %{?with_luajit:- język Lua: http://lua.org/}
+- system komputerowej algebry Maxima: http://maxima.sourceforge.net/
+- Octave do obliczeń numerycznych: https://gnu.org/software/octave/
+- język Python 3: http://python.org/
+- kalkulator biurkowy Qalculate: http://qalculate.sourceforge.net/
+- projekt R do obliczeń statystycznych: http://r-project.org/
+- oprogramowanie matematyczne Sage: http://sagemath.org/
+- Scilab do obliczeń numerycznych: http://scilab.org/
+
%package devel
Summary: Header files for %{kaname} development
Summary(pl.UTF-8): Pliki nagłówkowe dla programistów używających %{kpname}
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
+
+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
%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_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) %{_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
%dir %{_libdir}/qt5/plugins/cantor/panels
%attr(755,root,root) %{_libdir}/qt5/plugins/cantor/panels/cantor_helppanelplugin.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_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}
+%{_datadir}/mime/packages/cantor.xml
+%{_libdir}/qt5/plugins/cantor/panels/cantor_documentationpanelplugin.so
+%{_libdir}/qt5/plugins/kf5/parts/cantorpart.so
+%{_datadir}/config.kcfg/octavebackend.kcfg.in
+%{_datadir}/knsrcfiles/cantor-documentation.knsrc
%files devel
%defattr(644,root,root,755)
%{_includedir}/cantor
-%attr(755,root,root) %{_libdir}/libcantorlibs.so
-
+%{_libdir}/libcantorlibs.so
+%{_libdir}/cmake/Cantor