Hi,

I updated the patch to fix the help system for maxima with ECL. To this
end I had to set maxima::*maxima-index-dir* to the value
"/usr/share/doc/maxima/info" directly in cl-info.lisp, because ECL has no
si::save-system to save a modified maxima executable like it is done for
GCL to set maxima::*maxima-index-dir* in debian/rules. I also had to
prevent dh_compress from compressing the relevant files.

Best,
Tobias
diff -Nru maxima-5.35.1/debian/changelog maxima-5.35.1/debian/changelog
--- maxima-5.35.1/debian/changelog      2014-12-15 17:33:47.000000000 +0100
+++ maxima-5.35.1/debian/changelog      2015-03-04 22:53:31.000000000 +0100
@@ -1,3 +1,12 @@
+maxima (5.35.1-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Create new package maxima-ecl including the maxima ecl binary
+    and a fasl library for ecl.
+  * Apply patch build-fasl.patch from Sage to build the fasl library.
+
+ -- Tobias Hansen <than...@debian.org>  Mon, 02 Mar 2015 18:33:29 +0100
+
 maxima (5.35.1-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru maxima-5.35.1/debian/control maxima-5.35.1/debian/control
--- maxima-5.35.1/debian/control        2014-10-24 02:06:05.000000000 +0200
+++ maxima-5.35.1/debian/control        2015-03-02 19:00:47.000000000 +0100
@@ -2,7 +2,7 @@
 Section: math
 Priority: optional
 Maintainer: Camm Maguire <c...@debian.org>
-Build-Depends: gcl ( >= 2.6.11-6 ) , texinfo, libgmp3-dev, libreadline-dev, 
locales, automake, debhelper ( >=9 ), autoconf2.13, gawk | awk, 
texlive-latex-recommended, sharutils, libxmu-dev, libxaw7-dev, tex-common
+Build-Depends: gcl ( >= 2.6.11-6 ), ecl, texinfo, libffi-dev, libgmp3-dev, 
libreadline-dev, locales, automake, debhelper ( >=9 ), autoconf2.13, gawk | 
awk, texlive-latex-recommended, sharutils, libxmu-dev, libxaw7-dev, tex-common
 Standards-Version: 3.9.5
 
 Package: maxima
@@ -123,3 +123,19 @@
  .
  This package contains a set of contributed routines and add-on 
  packages.
+
+Package: maxima-ecl
+Architecture: any
+Depends:  ${shlibs:Depends}, ${misc:Depends}, maxima
+Description: Computer algebra system -- ecl runtime and fasl library
+ Maxima is a fully symbolic computation program.  It is full featured
+ doing symbolic manipulation of polynomials, matrices, rational
+ functions, integration, Todd-coxeter methods for finite group
+ analysis, graphing, multiple precision floating point computation.
+ It has a symbolic source level debugger for maxima code.  Maxima is
+ based on the original Macsyma developed at MIT in the 1970s.  It is
+ quite reliable, and has good garbage collection, and no memory leaks.
+ It comes with hundreds of self tests.
+ .
+ This package contains a maxima runtime compiled with ecl
+ as well as well as a fasl library of maxima for ecl.
diff -Nru maxima-5.35.1/debian/maxima-ecl.install.in 
maxima-5.35.1/debian/maxima-ecl.install.in
--- maxima-5.35.1/debian/maxima-ecl.install.in  1970-01-01 01:00:00.000000000 
+0100
+++ maxima-5.35.1/debian/maxima-ecl.install.in  2015-03-04 22:49:04.000000000 
+0100
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/maxima/@MVERS@/binary-ecl/maxima
+debian/tmp/usr/lib/ecl/maxima.fas
diff -Nru maxima-5.35.1/debian/maxima.install.in 
maxima-5.35.1/debian/maxima.install.in
--- maxima-5.35.1/debian/maxima.install.in      2013-05-01 15:39:37.000000000 
+0200
+++ maxima-5.35.1/debian/maxima.install.in      2015-03-04 22:52:30.000000000 
+0100
@@ -1,5 +1,6 @@
 debian/tmp/usr/bin/maxima
-debian/tmp/usr/lib
+debian/tmp/usr/lib/maxima/@MVERS@/binary-gcl/maxima
+debian/tmp/usr/lib/maxima/@MVERS@/mgnuplot
 debian/tmp/usr/share/man/man1/maxima.1
 debian/tmp/usr/share/maxima/@MVERS@/demo
 debian/tmp/usr/share/doc/maxima
diff -Nru maxima-5.35.1/debian/patches/build-fasl.patch 
maxima-5.35.1/debian/patches/build-fasl.patch
--- maxima-5.35.1/debian/patches/build-fasl.patch       1970-01-01 
01:00:00.000000000 +0100
+++ maxima-5.35.1/debian/patches/build-fasl.patch       2015-03-04 
22:58:33.000000000 +0100
@@ -0,0 +1,21 @@
+Description: Build a fasl library for ecl in addition to an executable program.
+ References:
+ * http://trac.sagemath.org/ticket/16178
+ * https://github.com/cschwan/sage-on-gentoo/issues/226
+ * https://bugs.gentoo.org/show_bug.cgi?id=499634
+Origin: 
http://git.sagemath.org/sage.git/tree/build/pkgs/maxima/patches/build-fasl.patch
+
+--- a/src/maxima.system
++++ b/src/maxima.system
+@@ -76,6 +76,11 @@
+                            ;; Convert dir/foo.fas to dir/foo.o
+                            (make-pathname :type "o" :defaults p))
+                        files)))
++      (c::build-fasl "binary-ecl/maxima" :lisp-files obj
++                        :ld-flags
++                        (let ((x (symbol-value (find-symbol 
"*AUTOCONF-LD-FLAGS*"
++                                                            (find-package 
"MAXIMA")))))
++                          (if (and x (not (string= x ""))) (list x))))
+       (c::build-program "binary-ecl/maxima" :lisp-files obj
+                         :ld-flags
+                         (let ((x (symbol-value (find-symbol 
"*AUTOCONF-LD-FLAGS*"
diff -Nru 
maxima-5.35.1/debian/patches/renew-cl-info.lsp-patch-to-set-alternative-info-directory
 
maxima-5.35.1/debian/patches/renew-cl-info.lsp-patch-to-set-alternative-info-directory
--- 
maxima-5.35.1/debian/patches/renew-cl-info.lsp-patch-to-set-alternative-info-directory
      2014-09-03 16:32:09.000000000 +0200
+++ 
maxima-5.35.1/debian/patches/renew-cl-info.lsp-patch-to-set-alternative-info-directory
      2015-03-07 21:29:56.000000000 +0100
@@ -22,15 +22,13 @@
 Reviewed-By: <name and email of someone who approved the patch>
 Last-Update: <YYYY-MM-DD>
 
-Index: maxima-5.34.0/src/cl-info.lisp
-===================================================================
---- maxima-5.34.0.orig/src/cl-info.lisp
-+++ maxima-5.34.0/src/cl-info.lisp
+--- a/src/cl-info.lisp
++++ b/src/cl-info.lisp
 @@ -49,6 +49,8 @@
  
  ; ------------------ search help topics ------------------
  
-+(defvar maxima::*maxima-index-dir* nil)
++(defvar maxima::*maxima-index-dir* "/usr/share/doc/maxima/info")
 +
  (defun load-primary-index ()
    ;; Load the index, but make sure we use a sensible *read-base*.
diff -Nru maxima-5.35.1/debian/patches/series 
maxima-5.35.1/debian/patches/series
--- maxima-5.35.1/debian/patches/series 2014-12-15 17:31:29.000000000 +0100
+++ maxima-5.35.1/debian/patches/series 2015-03-02 18:31:55.000000000 +0100
@@ -2,3 +2,4 @@
 renew-cl-info.lsp-patch-to-set-alternative-info-directory
 update-config-sub-guess
 utf8-gcl-alphabetp
+build-fasl.patch
diff -Nru maxima-5.35.1/debian/rules maxima-5.35.1/debian/rules
--- maxima-5.35.1/debian/rules  2014-12-15 17:14:11.000000000 +0100
+++ maxima-5.35.1/debian/rules  2015-03-07 22:59:39.000000000 +0100
@@ -60,6 +60,7 @@
        echo '(setq compiler::*opt-three* "-O0" compiler::*opt-two* 
"-O0")(si::save-system "gcl")' | GCL_ANSI=t gcl
 
        PATH=$$(pwd):$$PATH GCL_ANSI=t ./configure --enable-gcl $$(gcl -batch 
-eval '#-native-reloc(princ "--enable-gcl-alt-link")(bye)') \
+               --enable-ecl \
                --enable-sys-proclaim \
                --prefix=/usr \
                --libexec=/usr/lib \
@@ -165,6 +166,10 @@
 
        $(MAKE) install DESTDIR=$$(pwd)/debian/tmp INSTALL="/usr/bin/install -D"
 
+       mkdir -p $$(pwd)/debian/tmp/usr/lib/ecl
+       cp $$(pwd)/src/binary-ecl/maxima.fas \
+               debian/tmp/usr/lib/ecl/
+
        mkdir -p $$(pwd)/debian/tmp/usr/share/doc/maxima-doc
        cp -a debian/tmp/usr/share/maxima/$(MVERS)/doc/* \
                $$(pwd)/debian/tmp/usr/share/doc/maxima-doc 
@@ -261,7 +266,7 @@
        dh_installchangelogs  -i
        dh_link -i
        dh_strip -i
-       dh_compress -i -X.shtml -X.hh -Xmaxima-index.lisp
+       dh_compress -i -X.shtml -X.hh -X.info
        dh_fixperms -i
        dh_installdeb -i
        dh_shlibdeps -i
@@ -284,7 +289,7 @@
        dh_installchangelogs  -a
        dh_link -a
        dh_strip -a $(NO_STRIP)
-       dh_compress -a
+       dh_compress -a -Xmaxima-index.lisp
        dh_fixperms -a
        dh_installdeb -a
        dh_shlibdeps -a

Reply via email to