[arch-commits] Commit in maxima-ecl/repos (5 files)

Antonio Rojas arojas at archlinux.org
Mon May 10 18:54:44 UTC 2021


    Date: Monday, May 10, 2021 @ 18:54:44
  Author: arojas
Revision: 929591

archrelease: copy trunk to community-staging-x86_64

Added:
  maxima-ecl/repos/community-staging-x86_64/
  maxima-ecl/repos/community-staging-x86_64/PKGBUILD
    (from rev 929589, maxima-ecl/trunk/PKGBUILD)
  maxima-ecl/repos/community-staging-x86_64/build-fasl.patch
    (from rev 929589, maxima-ecl/trunk/build-fasl.patch)
  maxima-ecl/repos/community-staging-x86_64/matrixexp.patch
    (from rev 929589, maxima-ecl/trunk/matrixexp.patch)
  maxima-ecl/repos/community-staging-x86_64/maxima-printing.patch
    (from rev 929590, maxima-ecl/trunk/maxima-printing.patch)

-----------------------+
 PKGBUILD              |   54 ++++++++++++++++++++++++++++++++++++++++++++++++
 build-fasl.patch      |   23 ++++++++++++++++++++
 matrixexp.patch       |   13 +++++++++++
 maxima-printing.patch |   19 ++++++++++++++++
 4 files changed, 109 insertions(+)

Copied: maxima-ecl/repos/community-staging-x86_64/PKGBUILD (from rev 929589, maxima-ecl/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2021-05-10 18:54:44 UTC (rev 929591)
@@ -0,0 +1,54 @@
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Damir Perisa <damir at archlinux.org>
+# Modified to compile against ecl by: maribu
+
+pkgname=maxima-ecl
+_pkgname=maxima
+pkgver=5.44.0
+_eclver=21.2.1
+pkgrel=3
+pkgdesc='A sophisticated computer algebra system (compiled against ecl)'
+arch=(x86_64)
+license=(GPL)
+url='https://maxima.sourceforge.net'
+depends=(ecl=$_eclver texinfo shared-mime-info)
+makedepends=(python emacs)
+optdepends=('gnuplot: plotting capabilities' 'rlwrap: readline support via /usr/bin/rmaxima' 'tk: graphical xmaxima interface')
+conflicts=(maxima)
+provides=(maxima)
+options=(!zipman) # don't zip info pages or they won't work inside maxima
+source=(https://downloads.sourceforge.net/sourceforge/$_pkgname/$_pkgname-$pkgver.tar.gz
+        build-fasl.patch matrixexp.patch maxima-printing.patch)
+sha256sums=('d93f5e48c4daf8f085d609cb3c7b0bdf342c667fd04cf750c846426874c9d2ec'
+            '90ced3b33361fa24c2b417e0aeba8956892f0965b4a22d57d0c04115f2a3274b'
+            'ef1bc6a15fc982ff8c6aa1800bbbd3284d9e060ca27abf9d8c1266632c0c2619'
+            '631f65e477a1496b0ce71d385117713274fcabfa2487c52b165fc3b1d015c0db')
+
+prepare() {
+  cd $_pkgname-$pkgver
+
+# build maxima ecl library
+  patch -p1 -i ../build-fasl.patch
+# fix matrix exponentiation
+  patch -p1 -i ../matrixexp.patch
+# fix bogus ? characters
+  patch -p1 -i ../maxima-printing.patch
+}
+
+build() {
+  cd $_pkgname-$pkgver
+
+  ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info \
+	--libexecdir=/usr/lib --enable-ecl --with-default-lisp=ecl
+  make
+}
+
+package() {
+  cd $_pkgname-$pkgver
+  make DESTDIR="$pkgdir" emacsdir=/usr/share/emacs/site-lisp/maxima install
+
+  _ecldir="/usr/lib/ecl-$_eclver"
+  mkdir -p "$pkgdir/$_ecldir"
+  install src/binary-ecl/maxima.fas "$pkgdir/$_ecldir"
+}

Copied: maxima-ecl/repos/community-staging-x86_64/build-fasl.patch (from rev 929589, maxima-ecl/trunk/build-fasl.patch)
===================================================================
--- community-staging-x86_64/build-fasl.patch	                        (rev 0)
+++ community-staging-x86_64/build-fasl.patch	2021-05-10 18:54:44 UTC (rev 929591)
@@ -0,0 +1,23 @@
+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
+
+Index: maxima-5.29.1/src/maxima.system
+===================================================================
+--- maxima-5.29.1.orig/src/maxima.system
++++ maxima-5.29.1/src/maxima.system
+@@ -75,6 +75,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*"

Copied: maxima-ecl/repos/community-staging-x86_64/matrixexp.patch (from rev 929589, maxima-ecl/trunk/matrixexp.patch)
===================================================================
--- community-staging-x86_64/matrixexp.patch	                        (rev 0)
+++ community-staging-x86_64/matrixexp.patch	2021-05-10 18:54:44 UTC (rev 929591)
@@ -0,0 +1,13 @@
+--- a/share/linearalgebra/matrixexp.lisp
++++ b/share/linearalgebra/matrixexp.lisp
+@@ -138,8 +138,8 @@
+ 	   (print `(ratvars = ,$ratvars gcd = '$gcd algebraic = ,$algebraic))
+ 	   (print `(ratfac = ,$ratfac))
+ 	   (merror "Unable to find the spectrum")))
+-   
+-    (setq res ($fullratsimp (ncpower (sub (mult z ($ident n)) mat) -1) z))
++
++    (setq res ($fullratsimp ($invert_by_lu (sub (mult z ($ident n)) mat) '$crering) z))
+     (setq m (length sp))
+     (dotimes (i m)
+       (setq zi (nth i sp))

Copied: maxima-ecl/repos/community-staging-x86_64/maxima-printing.patch (from rev 929590, maxima-ecl/trunk/maxima-printing.patch)
===================================================================
--- community-staging-x86_64/maxima-printing.patch	                        (rev 0)
+++ community-staging-x86_64/maxima-printing.patch	2021-05-10 18:54:44 UTC (rev 929591)
@@ -0,0 +1,19 @@
+diff --git a/src/grind.lisp b/src/grind.lisp
+index 4ae73a3..86b80e6 100644
+--- a/src/grind.lisp
++++ b/src/grind.lisp
+@@ -295,12 +295,12 @@
+       (msz nil l r)
+       (do ((nl) (w 0))
+           ((null (cdr x))
+-           (setq nl (cons (if (stringp (car x))
++           (setq nl (cons (if (atom (car x))
+                               (msz (makestring (car x)) l r)
+                               (msize (car x) l r lop rop))
+                           nl))
+            (cons (+ w (caar nl)) (nreverse nl)))
+-        (setq nl (cons (if (stringp (car x))
++        (setq nl (cons (if (atom (car x))
+                            (msz (makestring (car x)) l r)
+                            (msize (car x) l r lop rop))
+                        nl)



More information about the arch-commits mailing list