Subject: [PATCH] gnu: maxima: Fix to find info files.
From: Daniel Meißner<[email-masked]>
To: [email-masked]
Cc: Daniel Meißner <[email-masked]>
Date: Tue, 9 Aug 2022 12:29:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

The Maxima command ‘describe’ allows to pick the relevant portions from
Maxima’s TeXinfo docs.  However it does not support reading gzipped info
files.

* gnu/packages/maths.scm (maxima)[arguments]<phases>: Remove
'compress-documentation phase.
---

Hi Guix,

one of the default phases of the GNU build system is called
'compress-documentation which invokes `gzip' on the .info files but Maxima
does not support gzipped files:

--8<---------------cut here---------------start------------->8---
daniel@xii-04 ~/src/guix$ maxima
Maxima 5.45.1 https://maxima.sourceforge.io
using Lisp SBCL 2.2.6
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) describe(exp);

Maxima encountered a Lisp error:

 The file
 #P"/gnu/store/vbhzggawcjp52ww5mx4nc68d7c6s7mwz-maxima-5.45.1/share/info/./maxima\\.info-1"
 does not exist:
   No such file or directory

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i2) 
--8<---------------cut here---------------end--------------->8---

This simple fix removes the 'compress-documentation which then causes the
expected results:

--8<---------------cut here---------------start------------->8---
daniel@xii-04 ~/src/guix/_build [env]$ maxima
Maxima 5.45.1 https://maxima.sourceforge.io
using Lisp SBCL 2.2.6
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) describe(exp);

 -- Function: exp (<x>)

     Represents the exponential function.  Instances of 'exp (<x>)' in
     input are simplified to '%e^<x>'; 'exp' does not appear in
     simplified expressions.

     'demoivre' if 'true' causes '%e^(a + b %i)' to simplify to '%e^(a
     (cos(b) + %i sin(b)))' if 'b' is free of '%i'.  See 'demoivre'.

     '%emode', when 'true', causes '%e^(%pi %i x)' to be simplified.
     See '%emode'.

     '%enumer', when 'true' causes '%e' to be replaced by 2.718...
     whenever 'numer' is 'true'.  See '%enumer'.

          (%i1) demoivre;
          (%o1)                         false
          (%i2) %e^(a + b*%i);
                                       %i b + a
          (%o2)                      %e
          (%i3) demoivre: not demoivre;
          (%o3)                         true
          (%i4) %e^(a + b*%i);
                                a
          (%o4)               %e  (%i sin(b) + cos(b))

  There are also some inexact matches for `exp'.
  Try `?? exp' to see them.

(%o1)                                true
(%i2) 
--8<---------------cut here---------------end--------------->8---

Thanks
Daniel

 gnu/packages/maths.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c10794a089..d531db27c8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4420,7 +4420,8 @@ (define-public maxima
                ;; components at runtime.
                (wrap-program (string-append out "/bin/maxima")
                  `("PATH" prefix (,binutils))))
-             #t)))))
+             #t))
+         (delete 'compress-documentation))))
     (home-page "https://maxima.sourceforge.io")
     (synopsis "Numeric and symbolic expression manipulation")
     (description "Maxima is a system for the manipulation of symbolic and

base-commit: 2efc787811a2c4586b763aeed319cb3777e7aa37
-- 
2.37.1