[arch-commits] Commit in maxima-ecl/trunk (PKGBUILD stack.patch)

Antonio Rojas arojas at archlinux.org
Mon Jun 8 07:33:31 UTC 2020


    Date: Monday, June 8, 2020 @ 07:33:29
  Author: arojas
Revision: 640355

Update to 5.44.0

Modified:
  maxima-ecl/trunk/PKGBUILD
Deleted:
  maxima-ecl/trunk/stack.patch

-------------+
 PKGBUILD    |    9 ++----
 stack.patch |   85 ----------------------------------------------------------
 2 files changed, 3 insertions(+), 91 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-06-08 07:33:04 UTC (rev 640354)
+++ PKGBUILD	2020-06-08 07:33:29 UTC (rev 640355)
@@ -5,7 +5,7 @@
 
 pkgname=maxima-ecl
 _pkgname=maxima
-pkgver=5.43.2
+pkgver=5.44.0
 _eclver=16.1.3
 pkgrel=1
 pkgdesc="A sophisticated computer algebra system (compiled against ecl)"
@@ -19,11 +19,10 @@
 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 stack.patch maxima-printing.patch)
-sha256sums=('ea78ec8c674c9293621ab8af6e44fbc3d869d63ae594c105abdffedef2fb77bb'
+        build-fasl.patch matrixexp.patch maxima-printing.patch)
+sha256sums=('d93f5e48c4daf8f085d609cb3c7b0bdf342c667fd04cf750c846426874c9d2ec'
             '90ced3b33361fa24c2b417e0aeba8956892f0965b4a22d57d0c04115f2a3274b'
             'ef1bc6a15fc982ff8c6aa1800bbbd3284d9e060ca27abf9d8c1266632c0c2619'
-            '60ed7d96da06361a2f2f2e9df36aecae0384fe454bf3f963a2cab6033e1bd7a5'
             '631f65e477a1496b0ce71d385117713274fcabfa2487c52b165fc3b1d015c0db')
 
 prepare() {
@@ -33,8 +32,6 @@
   patch -p1 -i ../build-fasl.patch
 # fix matrix exponentiation
   patch -p1 -i ../matrixexp.patch
-# fix segfaults in sagemath
-  patch -p1 -i ../stack.patch
 # fix bogus ? characters
   patch -p1 -i ../maxima-printing.patch
 }

Deleted: stack.patch
===================================================================
--- stack.patch	2020-06-08 07:33:04 UTC (rev 640354)
+++ stack.patch	2020-06-08 07:33:29 UTC (rev 640355)
@@ -1,85 +0,0 @@
-diff --git a/src/hayat.lisp b/src/hayat.lisp
-index 07699d6..ab8984d 100644
---- a/src/hayat.lisp
-+++ b/src/hayat.lisp
-@@ -2189,6 +2189,23 @@
-       (or (alike1 (exp-pt (get-datum (datum-var (car l)))) (exp-pt (car l)))
- 	  (return () ))))
- 
-+;; SUBTREE-SEARCH
-+;;
-+;; Search for subtrees, ST, of TREE that contain an element equal to BRANCH
-+;; under TEST as an immediate child and return them as a list.
-+;;
-+;; Examples:
-+;;   (SUBTREE-SEARCH 2 '(1 2 3)) => '((1 2 3))
-+;;   (SUBTREE-SEARCH 2 '(1 2 2 3)) => '((1 2 2 3))
-+;;   (SUBTREE-SEARCH 2 '(1 (2) 3)) => '((2))
-+;;   (SUBTREE-SEARCH 4 '(1 (2) 3)) => NIL
-+;;   (SUBTREE-SEARCH 2 '(1 (2) 3 (2))) => '((2) (2))
-+
-+(defun subtree-search (branch tree &optional (test 'equalp))
-+  (unless (atom tree)
-+    (if (find branch tree :test test) (list tree)
-+        (mapcan (lambda (child) (subtree-search branch child test)) tree))))
-+
- (defun taylor2  (e)
-  (let ((last-exp e))	    ;; lexp-non0 should be bound here when needed
-   (cond ((assolike e tlist) (var-expand e 1 () ))
-@@ -2232,8 +2249,31 @@
- 		 ((null l) t)
- 		 (or (free e (car l)) (return ()))))
- 	 (newsym e))
--	(t (let ((exact-poly () ))	; Taylor series aren't exact
--	      (taylor2 (diff-expand e tlist)))))))
-+	(t
-+         ;; When all else fails, call diff-expand to try to expand e around the
-+         ;; point as a Taylor series by taking repeated derivatives. This might
-+         ;; fail, unfortunately: If a required derivative doesn't exist, then
-+         ;; DIFF-EXPAND will return a form of the form "f'(x)" with the
-+         ;; variable, rather than the expansion point in it.
-+         ;;
-+         ;; Sometimes this works - in particular, if there is a genuine pole at
-+         ;; the point, we end up passing a sum of terms like x^(-k) to a
-+         ;; recursive invocation and all is good. Unfortunately, it can also
-+         ;; fail. For example, if e is abs(sin(x)) and we try to expand to first
-+         ;; order, the expression "1/1*(cos(x)*sin(x)/abs(sin(x)))*x^1+0" is
-+         ;; returned. If we call taylor2 on that, we will end up recursing and
-+         ;; blowing the stack. To avoid doing so, error out if EXPANSION
-+         ;; contains E as a subtree. However, don't error if it occurs as an
-+         ;; argument to %DERIVATIVE (in which case, we might well be fine). This
-+         ;; happens from things like taylor(log(f(x)), x, x0, 1).
-+
-+         (let* ((exact-poly nil) ; (Taylor series aren't exact)
-+                (expansion (diff-expand e tlist)))
-+           (when (find-if (lambda (subtree)
-+                            (not (eq ($op subtree) '%derivative)))
-+                          (subtree-search e expansion))
-+             (exp-pt-err))
-+           (taylor2 expansion))))))
- 
- (defun compatvarlist (a b c d)
-    (cond ((null a) t)
-@@ -2968,7 +3008,21 @@
-        (and (or (member '$inf pt-list :test #'eq) (member '$minf pt-list :test #'eq))
- 	    (unfam-sing-err)))
- 
--(defun diff-expand (exp l)		;l is tlist
-+;; DIFF-EXPAND
-+;;
-+;; Expand EXP in the variables as specified in L, which is a list of tlists. If
-+;; L is a singleton, this just works by the classic Taylor expansion:
-+;;
-+;;    f(x) = f(c) + f'(c) + f''(c)/2 + ... + f^(k)(c)/k!
-+;;
-+;; If L specifies multiple expansions, DIFF-EXPAND works recursively by
-+;; expanding one variable at a time. The derivatives are computed using SDIFF.
-+;;
-+;; In some cases, f'(c) or some higher derivative might be an expression of the
-+;; form 1/0. Instead of returning an error, DIFF-EXPAND uses f'(x)
-+;; instead. (Note: This seems bogus to me (RJS), but I'm just describing how
-+;; EVAL-DERIV works)
-+(defun diff-expand (exp l)
-   (check-inf-sing (mapcar (function caddr) l))
-   (cond ((not l) exp)
- 	(t



More information about the arch-commits mailing list