Hello community, here is the log from the commit of package maxima for openSUSE:Factory checked in at 2020-10-28 09:59:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/maxima (Old) and /work/SRC/openSUSE:Factory/.maxima.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "maxima" Wed Oct 28 09:59:39 2020 rev:42 rq:844445 version:5.44.0 Changes: -------- --- /work/SRC/openSUSE:Factory/maxima/maxima.changes 2020-06-11 10:12:51.100730504 +0200 +++ /work/SRC/openSUSE:Factory/.maxima.new.3463/maxima.changes 2020-10-28 10:00:03.139214861 +0100 @@ -1,0 +2,24 @@ +Tue Oct 27 18:34:23 UTC 2020 - Lars Vogdt <l...@linux-schulserver.de> + +- also ship README.SUSE.packaging as source + +------------------------------------------------------------------- +Tue Oct 20 20:11:09 UTC 2020 - Atri Bhattacharya <badshah...@gmail.com> + +- Replace manually defined macros to enable/disable different + lisp bindings with %bcond_with(out) macros. +- Improve dependency resolution between the different lisp + versions of maxima_exec by using Supplements: packageand() + appropriately. +- Enable sbcl compiled binaries and package it (needed for + maxima-jupyter). +- Enable mathjax support for installed html manual (pass + --enable-mathjax to configure). +- Add Requires: rlwrap to maxima, needed for rmaxima. +- Add Suggests: maxima-exec-sbcl to maxima to weakly recommend a + specific flavour of maxima in case the user doesn't specify one + during installation. +- Add README.SUSE.packaging documenting the packaging changes that + will be needed for pkgs depending on maxima. + +------------------------------------------------------------------- New: ---- README.SUSE.packaging ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ maxima.spec ++++++ --- /var/tmp/diff_new_pack.OhaAJW/_old 2020-10-28 10:00:04.527215831 +0100 +++ /var/tmp/diff_new_pack.OhaAJW/_new 2020-10-28 10:00:04.531215834 +0100 @@ -16,16 +16,11 @@ # -# This can be changed by modifying the variables below. -%define enable_clisp 1 -%define clisp_flags --enable-clisp -%define clisp_version 2.33 -%define enable_cmucl 0 -%define cmucl_flags --disable-cmucl -%define enable_sbcl 0 -%define sbcl_flags --disable-sbcl -%define enable_gcl 0 -%define gcl_flags --disable-gcl +# clisp and sbcl are available for oS, cmucl and gcl are not +%bcond_without clisp +%bcond_without sbcl +%bcond_with cmucl +%bcond_with gcl # Inhibit automatic compressing of info files. Compressed info # files break maxima's internal help. @@ -39,6 +34,7 @@ URL: http://maxima.sourceforge.net/ Source0: http://download.sourceforge.net/maxima/%{name}-%{version}.tar.gz Source1: maxima-rpmlintrc +Source2: README.SUSE.packaging # PATCH-FIX-UPSTREAM maxima-python3.patch badshah...@gmail.com -- Use python3 instead of python(2) when importing vtk modules and building help; this allows maxima to be built with python3 instead of python2. Patch0: maxima-python3.patch BuildRequires: bash-completion @@ -50,14 +46,25 @@ Requires: gnuplot Requires: maxima_exec Requires: plotutils +Requires: rlwrap +Suggests: maxima-exec-sbcl ExcludeArch: ppc64 ppc64le %if 0%{?suse_version} <= 1500 Requires(post): /sbin/install-info Requires(postun): /sbin/install-info %endif -%if 0%{?enable_clisp} +%if %{with clisp} BuildRequires: clisp >= 2.34.0 %endif +%if %{with cmucl} +BuildRequires: cmucl +%endif +%if %{with gcl} +BuildRequires: gcl +%endif +%if %{with sbcl} +BuildRequires: sbcl +%endif %description Maxima is a full symbolic computation program. It is full featured @@ -86,31 +93,31 @@ Xmaxima is written in the Tcl/Tk language. -%if 0%{?enable_clisp} +%if %{with clisp} %package exec-clisp Summary: Maxima compiled with clisp -BuildRequires: clisp -Requires: maxima = %{version} +Requires: clisp +Supplements: packageand(maxima:clisp) Provides: maxima_exec = %{version} %description exec-clisp Maxima compiled with Common Lisp. %endif -%if 0%{?enable_cmucl} +%if %{with cmucl} %package exec-cmucl Summary: Maxima compiled with CMUCL -Requires: maxima = %{version} +Supplements: packageand(maxima:cmucl) Provides: maxima_exec = %{version} %description exec-cmucl Maxima compiled with CMUCL. %endif -%if 0%{?enable_sbcl} +%if %{with sbcl} %package exec-sbcl Summary: Maxima compiled with SBCL -Requires: maxima = %{version} +Supplements: packageand(maxima:sbcl) Requires: sbcl Provides: maxima_exec = %{version} @@ -118,10 +125,10 @@ Maxima compiled with SBCL. %endif -%if 0%{?enable_gcl} +%if %{with gcl} %package exec-gcl Summary: Maxima compiled with GCL -Requires: maxima = %{version} +Supplements: packageand(maxima:gcl) Provides: maxima_exec = %{version} %description exec-gcl @@ -181,13 +188,17 @@ %patch0 -p1 %build -%configure %{?sbcl_flags:} %{?cmucl_flags:} %{?gcl_flags:} %{?clisp_flags:} \ +%configure %{?with_sbcl:--enable-sbcl} \ + %{?with_cmucl:--enable-cmucl} \ + %{?with_gcl:--enable-gcl} \ + %{?with_clisp:--enable-clisp} \ --enable-gettext \ --enable-lang-de-utf8 \ --enable-lang-es-utf8 \ --enable-lang-pt-utf8 \ --enable-lang-pt_BR-utf8 \ - --disable-recode + --disable-recode \ + --enable-mathjax %make_build %install @@ -287,7 +298,18 @@ %exclude %{_datadir}/maxima/%{version}/doc/html/pt.utf8 %exclude %{_datadir}/maxima/%{version}/doc/html/pt_BR.utf8 %{_libdir}/maxima/%{version} +%if %{with clisp} %exclude %{_libdir}/maxima/%{version}/binary-clisp +%endif +%if %{with sbcl} +%exclude %{_libdir}/maxima/%{version}/binary-sbcl +%endif +%if %{with cmucl} +%exclude %{_libdir}/maxima/%{version}/binary-cmucl +%endif +%if %{with gcl} +%exclude %{_libdir}/maxima/%{version}/binary-gcl +%endif %dir %{_libexecdir}/maxima/%{version} %{_libexecdir}/maxima/%{version}/mgnuplot %{_infodir}/* @@ -314,25 +336,24 @@ %{_datadir}/pixmaps/* %{_datadir}/metainfo/*.appdata.xml -%if 0%{?enable_clisp} +%if %{with clisp} %files exec-clisp -%dir %{_libdir}/maxima/%{version}/binary-clisp/ -%{_libdir}/maxima/%{version}/binary-clisp/* +%{_libdir}/maxima/%{version}/binary-clisp/ %endif -%if 0%{?enable_cmucl} +%if %{with cmucl} %files exec-cmucl -%{_libdir}/maxima/%{version}/binary-cmucl/* +%{_libdir}/maxima/%{version}/binary-cmucl/ %endif -%if 0%{?enable_sbcl} +%if %{with sbcl} %files exec-sbcl -%{_libdir}/maxima/%{version}/binary-sbcl/* +%{_libdir}/maxima/%{version}/binary-sbcl/ %endif -%if 0%{?enable_gcl} +%if %{with gcl} %files exec-gcl -%{_libdir}/maxima/%{version}/binary-gcl/* +%{_libdir}/maxima/%{version}/binary-gcl/ %endif %files lang-de-utf8 ++++++ README.SUSE.packaging ++++++ Note to packagers: * The availability of multiple providers of maxima_exec (namely, maxima-exec-clisp and maxima-exec-sbcl) will affect the build dependencies (but not the runtime deps) of any package depending on maxima, leaving the package in an `unresolvable` state. This should be fixed at the affected package's specfile with an additional `BuildRequires: maxima-exec-${flavor}`. See for example, how this is done for wxMaxima (obs://Education/wxMaxima). * When building multiple lisp flavours, maxima sets `sbcl` as the preferred default lisp but it tries and finds other lisp implementations just fine in case `maxima-exec-sbcl` is not installed. Thus, one only needs the weaker `Suggests` on `maxima-exec-sbcl` for `maxima` rather than a `Requires` or even `Recommends`. * At least one `maxima-exec-${flavor}` must be installed for `maxima` to work; this is ensured by the `Requires: maxima_exec` for `maxima`.