Dear Camm,

As you would be aware, the release team has declared a freeze, which
implies that automatic migration of packages to squeeze has been
disabled. Given this situation, we need to either:

- convince the release team to unblock the recently uploaded maxima
  package. This may be possible, if you make a case for unblocking,
  and list out the bug fixes. The non-documentation fixes upstream
  seem to be:

diff -urN maxima-5.22.0/interfaces/xmaxima/doc/xmaxima_toc.html 
maxima-5.22.1/interfaces/xmaxima/doc/xmaxima_toc.html
--- maxima-5.22.0/interfaces/xmaxima/doc/xmaxima_toc.html       2010-08-01 
12:17:52.000000000 -0500
+++ maxima-5.22.1/interfaces/xmaxima/doc/xmaxima_toc.html       2010-08-11 
22:27:26.000000000 -0500
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html401/loose.dtd";>
 <html>
-<!-- Created on August, 1 2010 by texi2html 1.76 -->
+<!-- Created on August, 11 2010 by texi2html 1.76 -->
 <!--
 Written by: Lionel Cons <[email protected]> (original author)
             Karl Berry  <[email protected]>
@@ -176,7 +176,7 @@
 </tr></table>
 <p>
  <font size="-1">
-  This document was generated by <em>Robert Dodier</em> on <em>August, 1 
2010</em> using <a href="http://texi2html.cvshome.org/";><em>texi2html 
1.76</em></a>.
+  This document was generated by <em>Robert Dodier</em> on <em>August, 11 
2010</em> using <a href="http://texi2html.cvshome.org/";><em>texi2html 
1.76</em></a>.
  </font>
  <br>
 
diff -urN maxima-5.22.0/share/contrib/mnewton.mac 
maxima-5.22.1/share/contrib/mnewton.mac
--- maxima-5.22.0/share/contrib/mnewton.mac     2007-11-22 15:40:13.000000000 
-0600
+++ maxima-5.22.1/share/contrib/mnewton.mac     2010-08-09 23:40:14.000000000 
-0500
@@ -58,7 +58,7 @@
 mnewton(FuncList, VarList, GuessList):=
   block([nfunc, Solutions, Increments, solved:false, h, DF, numer:numer,
          i, j, k, keepfloat:true, ratprint:false, field : 'complexfield, 
float2bf : true],
-    local(h),
+    local(h), declare(h, scalar),
 
     if (not(listp(FuncList))) then FuncList: [FuncList],    
     if (not(listp(VarList))) then VarList: [VarList],    
diff -urN maxima-5.22.0/share/draw/draw.lisp maxima-5.22.1/share/draw/draw.lisp
--- maxima-5.22.0/share/draw/draw.lisp  2010-08-01 11:58:55.000000000 -0500
+++ maxima-5.22.1/share/draw/draw.lisp  2010-08-09 23:40:15.000000000 -0500
@@ -3826,11 +3826,11 @@
                            (get-option '$pic_height)
                            (get-option '$file_bgcolor)
                            (get-option '$file_name))))
-      ($svg (format cmdstorage "set terminal svg enhanced ~a size ~a, ~a~%set 
out '~a.svg'"
-                           (write-font-type)
+      ($svg (setf str (format nil "set terminal svg enhanced ~a size ~a, 
~a~%set out '~a.svg'"
+                          (write-font-type)
                            (get-option '$pic_width)
                            (get-option '$pic_height)
-                           (get-option '$file_name)))
+                           (get-option '$file_name))))
       (otherwise (merror "draw: unknown file format" )))
    (send-gnuplot-command (format nil "~a~%replot" str)) ))
 
diff -urN maxima-5.22.0/share/lapack/dgesv.lisp 
maxima-5.22.1/share/lapack/dgesv.lisp
--- maxima-5.22.0/share/lapack/dgesv.lisp       1969-12-31 18:00:00.000000000 
-0600
+++ maxima-5.22.1/share/lapack/dgesv.lisp       2010-07-17 19:36:44.000000000 
-0500
@@ -0,0 +1,31 @@
+;; dgesv.lisp -- Maxima interface to lapack::dgesv
+;; copyright 2010 by Robert Dodier
+;; I release this work under terms of the GNU General Public License.
+
+;; dgesv(a, b) returns solution x of linear equations a . x = b
+;; as computed by the LU decomposition.
+;; a is a n-by-n Maxima matrix, b is a n-by-m Maxima matrix,
+;; where m maybe be greater than or equal to 1.
+;; a and b are not modified.
+
+(defun $dgesv (a b)
+
+  (multiple-value-bind (a-nrow a-ncol) (maxima-matrix-dims a)
+    (multiple-value-bind (b-nrow b-ncol) (maxima-matrix-dims b)
+
+      (let
+        ((a-mat (lapack-lispify-matrix a a-nrow a-ncol))
+         (b-mat (lapack-lispify-matrix b b-nrow b-ncol))
+         (ipiv (make-array a-nrow :element-type 'f2cl-lib:integer4)))
+
+        (multiple-value-bind (z-n z-nrhs z-a z-lda z-ipiv z-b z-ldb$ z-info)
+          (lapack::dgesv a-nrow b-ncol a-mat a-nrow ipiv b-mat b-nrow 0)
+
+          (declare (ignore z-n z-nrhs z-a z-lda z-ipiv z-b z-ldb$))
+          (cond
+            ((< z-info 0)
+             (merror "dgesv: ~M-th argument has an illegal value." (- z-info)))
+            ((> z-info 0)
+             (merror "dgesv: U(~M, ~M) is exactly zero; cannot compute a 
solution." z-info z-info))
+            (t
+              (lapack-maxify-matrix b-nrow b-ncol b-mat))))))))
diff -urN maxima-5.22.0/share/Makefile.am maxima-5.22.1/share/Makefile.am
--- maxima-5.22.0/share/Makefile.am     2010-08-01 11:58:55.000000000 -0500
+++ maxima-5.22.1/share/Makefile.am     2010-08-09 23:40:14.000000000 -0500
@@ -624,6 +624,7 @@
 integration/delta.dem\
 integration/delta.mac\
 integration/delta.usg\
+lapack/dgesv.lisp\
 lapack/eigensys.lisp\
 lapack/lapack.mac\
 lapack/lapack.system\
diff -urN maxima-5.22.0/share/Makefile.in maxima-5.22.1/share/Makefile.in
--- maxima-5.22.0/share/Makefile.in     2010-08-01 12:10:22.000000000 -0500
+++ maxima-5.22.1/share/Makefile.in     2010-08-11 22:24:36.000000000 -0500
@@ -824,6 +824,7 @@
 integration/delta.dem\
 integration/delta.mac\
 integration/delta.usg\
+lapack/dgesv.lisp\
 lapack/eigensys.lisp\
 lapack/lapack.mac\
 lapack/lapack.system\
diff -urN maxima-5.22.0/src/autoconf-variables.lisp 
maxima-5.22.1/src/autoconf-variables.lisp
--- maxima-5.22.0/src/autoconf-variables.lisp   2010-08-01 13:51:22.000000000 
-0500
+++ maxima-5.22.1/src/autoconf-variables.lisp   2010-08-11 22:24:47.000000000 
-0500
@@ -5,7 +5,7 @@
 (defparameter *autoconf-prefix* "/usr/local")
 (defparameter *autoconf-exec_prefix* "/usr/local")
 (defparameter *autoconf-package* "maxima")
-(defparameter *autoconf-version* "5.22.0")
+(defparameter *autoconf-version* "5.22.1")
 (defparameter *autoconf-libdir* "/usr/local/lib")
 (defparameter *autoconf-libexecdir* "/usr/local/libexec")
 (defparameter *autoconf-datadir* "/usr/local/share")
@@ -14,5 +14,5 @@
 (defparameter *autoconf-win32* "false")
 (defparameter *autoconf-ld-flags* "")
  
-(defparameter *maxima-source-root* 
"/home/robertdodier/tmp/maxima-cvs-build/maxima")
+(defparameter *maxima-source-root* 
"/home/robertdodier/tmp/maxima-cvs-branch-build/maxima")
 (defparameter *maxima-default-layout-autotools* "true")
diff -urN maxima-5.22.0/src/risch.lisp maxima-5.22.1/src/risch.lisp
--- maxima-5.22.0/src/risch.lisp        2009-12-20 16:47:40.000000000 -0600
+++ maxima-5.22.1/src/risch.lisp        2010-08-09 23:40:15.000000000 -0500
@@ -107,7 +107,11 @@
        (or (null sub) (equal sub (car (subfunsubs exp))))))
 
 (defun rischint (exp intvar &aux ($logarc nil) ($exponentialize nil)
-                ($gcd '$algebraic) ($algebraic t) (implicit-real t))
+                     ($gcd '$algebraic) ($algebraic t) (implicit-real t)
+                     ;; The risch integrator expects $logexpand T. Otherwise,
+                     ;; the integrator hangs for special types of integrals
+                     ;; (See bug report ID:3039452)
+                     ($logexpand t))
   (prog ($%e_to_numlog $logsimp trigint operator y z var ratform liflag
         mainvar varlist genvar hypertrigint $ratfac $ratalgdenom )
      (if (specrepp exp) (setq exp (specdisrep exp)))
diff -urN maxima-5.22.0/src/sin.lisp maxima-5.22.1/src/sin.lisp
--- maxima-5.22.0/src/sin.lisp  2010-08-01 11:58:58.000000000 -0500
+++ maxima-5.22.1/src/sin.lisp  2010-08-09 23:40:15.000000000 -0500
@@ -119,7 +119,7 @@
 
 ;; Transform expressions like g^(b*x+a) to the common base *base* and
 ;; do the substitution y = *base*^(b*x+a) in the expr.
-(defun elemxpt (expr)
+(defun elemxpt (expr &aux w)
   (declare (special *exptflag* *base*))
   (cond ((freevar expr) expr)
         ;; var is the base of a subexpression. The transformation fails.
@@ -140,7 +140,7 @@
                              (caddr expr)))))
         ;; The exponent must be linear in the variable of integration.
         ((not (setq w (m2-b*x+a (caddr expr))))
-         (list (car exp) *base* (elemxpt (caddr expr))))
+         (list (car expr) *base* (elemxpt (caddr expr))))
         ;; Do the substitution y = g^(b*x+a) = g^a*g^(b*x).
         (t (maxima-substitute *base*
                               '*base*
diff -urN maxima-5.22.0/tests/rtest_integrate.mac 
maxima-5.22.1/tests/rtest_integrate.mac
--- maxima-5.22.0/tests/rtest_integrate.mac     2010-08-01 11:58:58.000000000 
-0500
+++ maxima-5.22.1/tests/rtest_integrate.mac     2010-08-09 23:40:15.000000000 
-0500
@@ -2522,15 +2522,15 @@
 
 /* Problem 399: OK */
 integrate(%e^(c*z)/(b*%e^(2*c*z)+a),z);
-atan(sqrt(b)*%e^(c*z)/sqrt(a))/(sqrt(a)*sqrt(b)*c);
+atan(sqrt(b)*%e^(c*log(%e^z))/sqrt(a))/(sqrt(a)*sqrt(b)*c);
 
 /* Problem 400: OK */
 integrate(%e^(c*z)/(b*%e^(3*c*z)+a),z);
--log(b^(2/3)*%e^(2*c*z)-a^(1/3)*b^(1/3)*%e^(c*z)+a^(2/3))
-         /(6*a^(2/3)*b^(1/3)*c)
-         +atan((2*b^(2/3)*%e^(c*z)-a^(1/3)*b^(1/3))/(sqrt(3)*a^(1/3)*b^(1/3)))
-          /(sqrt(3)*a^(2/3)*b^(1/3)*c)
-         +log((b^(1/3)*%e^(c*z)+a^(1/3))/b^(1/3))/(3*a^(2/3)*b^(1/3)*c);
+-log(b^(2/3)*%e^(2*c*log(%e^z))-a^(1/3)*b^(1/3)*%e^(c*log(%e^z))+a^(2/3))
+ /(6*a^(2/3)*b^(1/3)*c)
+ +atan((2*b^(2/3)*%e^(c*log(%e^z))-a^(1/3)*b^(1/3))/(sqrt(3)*a^(1/3)*b^(1/3)))
+  /(sqrt(3)*a^(2/3)*b^(1/3)*c)
+ +log((b^(1/3)*%e^(c*log(%e^z))+a^(1/3))/b^(1/3))/(3*a^(2/3)*b^(1/3)*c);
 
 /* Problem 401: NOUN */
 integrate(%e^(f*z)/(b*c^(d*z)+a),z);
@@ -2822,7 +2822,7 @@
 
 /* Problem 456: OK */
 integrate((%e^(c*z))^(1/2)/(b*%e^(c*z)+a),z);
-2*atan(sqrt(b)*%e^(c*z/2)/sqrt(a))/(sqrt(a)*sqrt(b)*c);
+2*atan(sqrt(b)*%e^(c*log(%e^z)/2)/sqrt(a))/(sqrt(a)*sqrt(b)*c);
 
 /* Problem 457: NOUN */
 integrate(e^(q*z)*(b*%e^(c*z)+a)^p/(e*%e^(c*z)+d),z);
diff -urN maxima-5.22.0/tests/rtestint.mac maxima-5.22.1/tests/rtestint.mac
--- maxima-5.22.0/tests/rtestint.mac    2010-08-01 11:58:58.000000000 -0500
+++ maxima-5.22.1/tests/rtestint.mac    2010-08-09 23:40:15.000000000 -0500
@@ -1298,3 +1298,13 @@
 
 integrate(3*sqrt(x)*exp(3/2*log(x)),x);
 x^3;
+
+/* Bug ID: 3039452 - integrate(sqrt(t^c)/(t*(b*t^c+a)),t) hangs
+ */
+/* These assumptions are already present. Consider to delete it more early.
+assume(a>0,b>0);
+[a>0,b>0]; */
+integrate(sqrt(t^c)/(t*(b*t^c+a)),t);
+2*atan(sqrt(b)*%e^(c*log(t)/2)/sqrt(a))/(sqrt(a)*sqrt(b)*c);
+forget(a>0,b>0);
+[a>0,b>0];

- The other (easier) alternative, IMHO, is to just upload a fixed
  version of 5.22.0-1 as 5.22-1+squeeze1 into testing-proposed-updates
  with the permission of the release team, which contains just a fix
  to this bug.

So, I was hoping you could please act on this, in a manner you deem
fit.

Thanks!

Kumar



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to