Source: maxima
Severity: wishlist
Tags: patch

Dear maintainer,

we are experimenting with building Sage against system packages and for
this it would be nice to have the ecl version of maxima in Debian. Could
you please include something like the attached debdiff?

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 <[email protected]>  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 <[email protected]>
-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/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-04 22:48:55.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 

Reply via email to