[sagemath] 01/02: Temporarily disable giac as a standard package.

Tobias Hansen thansen at moszumanska.debian.org
Sat Jan 21 22:31:58 UTC 2017


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch experimental
in repository sagemath.

commit 33ec547c78a281edf57dd372cec979ad5add8466
Author: Tobias Hansen <thansen at debian.org>
Date:   Sat Jan 21 22:16:01 2017 +0000

    Temporarily disable giac as a standard package.
---
 debian/patches/dt-disable-giac.patch | 817 +++++++++++++++++++++++++++++++++++
 debian/patches/series                |   1 +
 2 files changed, 818 insertions(+)

diff --git a/debian/patches/dt-disable-giac.patch b/debian/patches/dt-disable-giac.patch
new file mode 100644
index 0000000..ae8a288
--- /dev/null
+++ b/debian/patches/dt-disable-giac.patch
@@ -0,0 +1,817 @@
+Description: Disable giac as a standard package
+ This is just temporarily reverting the commits of https://trac.sagemath.org/ticket/22011
+ until we have a giac package.
+Author: Tobias Hansen <thansen at debian.org>
+
+--- a/sage/build/pkgs/giac/spkg-install
++++ b/sage/build/pkgs/giac/spkg-install
+@@ -39,14 +39,7 @@
+ #    --disable-ao     (avoid libao deps)
+ #    --disable-lapack (avoid lapack and blas deps because they could be from the base system)
+ 
+-#   On OS X (10.12) the built in intl is broken
+-DISABLENLS=""
+-if [ "$UNAME" = "Darwin" ]; then
+-    echo "OS X Building without Native Language Support"
+-    DISABLENLS="--disable-nls"
+-fi
+-
+-./configure --prefix="$SAGE_LOCAL" --disable-gui --disable-ao --disable-lapack "$DISABLENLS"
++./configure --prefix="$SAGE_LOCAL" --disable-gui --disable-ao --disable-lapack
+ 
+ if [ $? -ne 0 ]; then
+     exit 1
+--- a/sage/build/pkgs/giac/type
++++ b/sage/build/pkgs/giac/type
+@@ -1 +1 @@
+-standard
++optional
+--- a/sage/src/sage/calculus/calculus.py
++++ b/sage/src/sage/calculus/calculus.py
+@@ -553,7 +553,7 @@
+ 
+     An example of this summation with Giac::
+ 
+-        sage: symbolic_sum(1/(1+k^2), k, -oo, oo, algorithm = 'giac')
++        sage: symbolic_sum(1/(1+k^2), k, -oo, oo, algorithm = 'giac')           # optional - giac
+         (pi*e^(2*pi) - pi*e^(-2*pi))/(e^(2*pi) + e^(-2*pi) - 2)
+ 
+     SymPy can't solve that summation::
+--- a/sage/src/sage/interfaces/giac.py
++++ b/sage/src/sage/interfaces/giac.py
+@@ -1,10 +1,9 @@
+ r"""
+-Pexpect Interface to Giac
+-(You should prefer the cython interface: giacpy_sage and its libgiac command)
++Interface to Giac
+ 
+ (adapted by F. Han from William Stein and Gregg Musiker maple's interface)
+ 
+-You must have the  Giac interpreter installed
++You must have the optional  Giac interpreter installed
+ and available as the command ``giac`` in your PATH in
+ order to use this interface. You need a giac version
+ supporting "giac --sage" ( roughly after 0.9.1 ). In this case you do not have
+@@ -27,22 +26,22 @@
+ 
+ EXAMPLES::
+ 
+-    sage: giac('3 * 5')
++    sage: giac('3 * 5')                                 # optional - giac
+     15
+-    sage: giac.eval('ifactor(2005)')
++    sage: giac.eval('ifactor(2005)')                    # optional - giac
+     '5*401'
+-    sage: giac.ifactor(2005)
++    sage: giac.ifactor(2005)                            # optional - giac
+     2005
+-    sage: l=giac.ifactors(2005) ; l; l[2]
++    sage: l=giac.ifactors(2005) ; l; l[2]               # optional - giac
+     [5,1,401,1]
+     401
+-    sage: giac.fsolve('x^2=cos(x)+4', 'x','0..5')
++    sage: giac.fsolve('x^2=cos(x)+4', 'x','0..5')         # optional - giac
+     [1.9140206190...
+-    sage: giac.factor('x^5 - y^5')
++    sage: giac.factor('x^5 - y^5')                      # optional - giac
+     (x-y)*(x^4+x^3*y+x^2*y^2+x*y^3+y^4)
+-    sage: R.<x,y>=QQ[];f=(x+y)^5;f2=giac(f);(f-f2).normal()
++    sage: R.<x,y>=QQ[];f=(x+y)^5;f2=giac(f);(f-f2).normal() #optional - giac
+     0
+-    sage: x,y=giac('x,y'); giac.int(y/(cos(2*x)+cos(x)),x)     # random
++    sage: x,y=giac('x,y'); giac.int(y/(cos(2*x)+cos(x)),x)         #random; optional - giac
+     y*2*((-(tan(x/2)))/6+(-2*1/6/sqrt(3))*ln(abs(6*tan(x/2)-2*sqrt(3))/abs(6*tan(x/2)+2*sqrt(3))))
+ 
+ 
+@@ -75,7 +74,7 @@
+ 
+    ::
+ 
+-       sage: giac('factor(x^5-1)')
++       sage: giac('factor(x^5-1)')                 # optional - giac
+        (x-1)*(x^4+x^3+x^2+x+1)
+ 
+    Notice, there is no need to use a semicolon.
+@@ -87,7 +86,7 @@
+ 
+    ::
+ 
+-       sage: giac('(x^5-1)').factor()
++       sage: giac('(x^5-1)').factor()              # optional - giac
+        (x-1)*(x^4+x^3+x^2+x+1)
+ 
+    where ``expression.command()`` means the same thing as
+@@ -97,7 +96,7 @@
+ 
+    ::
+ 
+-       sage: giac('(x^12-1)/(x-1)').normal()
++       sage: giac('(x^12-1)/(x-1)').normal()     # optional - giac
+        x^11+x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x+1
+ 
+ 
+@@ -112,12 +111,12 @@
+ 
+ ::
+ 
+-    sage: giac('(x^12-1)').factor( )
++    sage: giac('(x^12-1)').factor( )           # optional - giac
+     (x-1)*(x+1)*(x^2+1)*(x^2-x+1)*(x^2+x+1)*(x^4-x^2+1)
+ 
+ ::
+ 
+-    sage: giac('(x^28-1)').factor( )
++    sage: giac('(x^28-1)').factor( )           # optional - giac
+     (x-1)*(x+1)*(x^2+1)*(x^6-x^5+x^4-x^3+x^2-x+1)*(x^6+x^5+x^4+x^3+x^2+x+1)*(x^12-x^10+x^8-x^6+x^4-x^2+1)
+ 
+ Another important feature of giac is its online help. We can
+@@ -142,12 +141,12 @@
+ 
+ ::
+ 
+-    sage: alpha = giac((1+sqrt(5))/2)
+-    sage: beta = giac(1-sqrt(5))/2
+-    sage: f19  = alpha^19 - beta^19/sqrt(5)
+-    sage: f19
++    sage: alpha = giac((1+sqrt(5))/2)            # optional - giac
++    sage: beta = giac(1-sqrt(5))/2               # optional - giac
++    sage: f19  = alpha^19 - beta^19/sqrt(5)      # optional - giac
++    sage: f19                                    # optional - giac
+     (sqrt(5)/2+1/2)^19-((-sqrt(5)+1)/2)^19/sqrt(5)
+-    sage: (f19-(5778*sqrt(5)+33825)/5).normal()
++    sage: (f19-(5778*sqrt(5)+33825)/5).normal()                           # optional - giac
+     0
+ 
+ Let's say we want to write a giac program now that squares a
+@@ -165,10 +164,10 @@
+ 
+ ::
+ 
+-    sage: mysqcu = giac('proc(x) if x > 0 then x^2 else x^3 fi end')
+-    sage: mysqcu(5)
++    sage: mysqcu = giac('proc(x) if x > 0 then x^2 else x^3 fi end')    # optional - giac
++    sage: mysqcu(5)                                                      # optional - giac
+     25
+-    sage: mysqcu(-5)
++    sage: mysqcu(-5)                                                     # optional - giac
+     -125
+ 
+ More complicated programs should be put in a separate file and
+@@ -214,20 +213,20 @@
+ 
+     ::
+ 
+-      sage: l=giac('normal((y+sqrt(2))^4)'); l
++      sage: l=giac('normal((y+sqrt(2))^4)'); l   # optional - giac
+       y^4+4*sqrt(2)*y^3+12*y^2+8*sqrt(2)*y+4
+-      sage: f=giac('(u,v)->{ if (u<v){ [u,v] } else { [v,u] }}');f(1,2),f(3,1)
++      sage: f=giac('(u,v)->{ if (u<v){ [u,v] } else { [v,u] }}');f(1,2),f(3,1)   # optional - giac
+       ([1,2], [1,3])
+ 
+     The output of the giac command is a Giac object, and it can be used for another giac command.
+ 
+     ::
+ 
+-      sage: l.factors()
++      sage: l.factors()                          #optional  - giac
+       [y+sqrt(2),4]
+-      sage: giac('(x^12-1)').factor( )
++      sage: giac('(x^12-1)').factor( )           # optional - giac
+       (x-1)*(x+1)*(x^2+1)*(x^2-x+1)*(x^2+x+1)*(x^4-x^2+1)
+-      sage: giac('assume(y>0)'); giac('y^2=3').solve('y')
++      sage: giac('assume(y>0)'); giac('y^2=3').solve('y')  #optional - giac
+       y
+       ...[sqrt(3)]
+ 
+@@ -235,19 +234,19 @@
+ 
+     ::
+ 
+-      sage: x,y,z=giac('x,y,z');type(y)
++      sage: x,y,z=giac('x,y,z');type(y)   # optional - giac
+       <class 'sage.interfaces.giac.GiacElement'>
+-      sage: I1=(1/(cos(2*y)+cos(y))).integral(y,0,pi/4).simplify()
+-      sage: (I1-((-2*ln((sqrt(3)-3*tan(1/8*pi))/(sqrt(3)+3*tan(1/8*pi)))*sqrt(3)-3*tan(1/8*pi))/9)).normal()
++      sage: I1=(1/(cos(2*y)+cos(y))).integral(y,0,pi/4).simplify()  #optional - giac
++      sage: (I1-((-2*ln((sqrt(3)-3*tan(1/8*pi))/(sqrt(3)+3*tan(1/8*pi)))*sqrt(3)-3*tan(1/8*pi))/9)).normal()       # optional - giac
+       0
+-      sage: ((y+z*sqrt(5))*(y-sqrt(5)*z)).normal()
++      sage: ((y+z*sqrt(5))*(y-sqrt(5)*z)).normal() # optional - giac
+       y^2-5*z^2
+ 
+     Polynomials or elements of SR can be evaluated directly by the giac interface.
+ 
+     ::
+ 
+-      sage: R.<a,b>=QQ[];f=(2+a+b);p=giac.gcd(f^3+5*f^5,f^2+f^5);p;R(p);
++      sage: R.<a,b>=QQ[];f=(2+a+b);p=giac.gcd(f^3+5*f^5,f^2+f^5);p;R(p); #optional - giac
+       a^2+2*a*b+4*a+b^2+4*b+4
+       a^2 + 2*a*b + b^2 + 4*a + 4*b + 4
+ 
+@@ -255,7 +254,7 @@
+ 
+     ::
+ 
+-      sage: a=sqrt(2);giac('Digits:=30;a:=5');a,giac('a'),giac(a),giac(a).evalf()
++      sage: a=sqrt(2);giac('Digits:=30;a:=5');a,giac('a'),giac(a),giac(a).evalf()  # optional - giac
+       30
+       (sqrt(2), 5, sqrt(2), 1.41421356237309504880168872421)
+ 
+@@ -267,7 +266,7 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac == loads(dumps(giac))
++            sage: giac == loads(dumps(giac))                # optional - giac
+             True
+         """
+         Expect.__init__(self,
+@@ -286,12 +285,12 @@
+         """
+         EXAMPLES::
+ 
+-            sage: giac._function_class()
++            sage: giac._function_class()                 # optional - giac
+             <class 'sage.interfaces.giac.GiacFunction'>
+ 
+         ::
+ 
+-            sage: type(giac.diff)
++            sage: type(giac.diff)                        # optional - giac
+             <class 'sage.interfaces.giac.GiacFunction'>
+         """
+         return GiacFunction
+@@ -324,17 +323,17 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac._read_in_file_command('test')
++            sage: giac._read_in_file_command('test')   # optional - giac
+             'read "test"'
+ 
+         ::
+ 
+-            sage: filename = tmp_filename()
+-            sage: f = open(filename,'w')
+-            sage: f.write('xx := 22;\n')
+-            sage: f.close()
+-            sage: giac.read(filename)
+-            sage: giac.get('xx').strip()
++            sage: filename = tmp_filename()             # optional - giac
++            sage: f = open(filename,'w')                # optional - giac
++            sage: f.write('xx := 22;\n')                # optional - giac
++            sage: f.close()              # optional - giac
++            sage: giac.read(filename)    # optional - giac
++            sage: giac.get('xx').strip() # optional - giac
+             '22'
+         """
+         return 'read "%s"'%filename
+@@ -343,17 +342,17 @@
+         """
+         EXAMPLES::
+ 
+-            sage: giac._quit_string()
++            sage: giac._quit_string()     # optional - giac
+             '@d'
+ 
+         ::
+ 
+-            sage: m = Giac()
+-            sage: a = m(2)
+-            sage: m.is_running()
++            sage: m = Giac()         # optional - giac
++            sage: a = m(2)           # optional - giac
++            sage: m.is_running()     # optional - giac
+             True
+-            sage: m.quit()
+-            sage: m.is_running()
++            sage: m.quit()           # optional - giac
++            sage: m.is_running()     # optional - giac
+             False
+         """
+         return '@d'
+@@ -397,13 +396,13 @@
+ 
+         EXAMPLES::
+ 
+-            sage: m = Giac()
+-            sage: m.expect() is None
++            sage: m = Giac()           # optional - giac
++            sage: m.expect() is None   # optional - giac
+             True
+-            sage: m._start()
+-            sage: m.expect()
++            sage: m._start()           # optional - giac
++            sage: m.expect()           # optional - giac
+             Giac with PID ... running .../giac --sage
+-            sage: m.quit()
++            sage: m.quit()             # optional - giac
+         """
+         return self._expect
+ 
+@@ -434,8 +433,8 @@
+ 
+         EXAMPLES::
+ 
+-            sage: c = giac.completions('cas')
+-            sage: 'cas_setup' in c
++            sage: c = giac.completions('cas')  # optional - giac
++            sage: 'cas_setup' in c             # optional - giac
+             True
+         """
+         if self._expect is None:
+@@ -461,10 +460,10 @@
+ 
+         EXAMPLES::
+ 
+-            sage: c = giac._commands()
+-            sage: len(c) > 100
++            sage: c = giac._commands() # optional - giac
++            sage: len(c) > 100          # optional - giac
+             True
+-            sage: 'Psi' in c
++            sage: 'Psi' in c          # optional - giac
+             True
+         """
+         try:
+@@ -486,10 +485,10 @@
+ 
+         EXAMPLES::
+ 
+-            sage: c = giac._tab_completion(use_disk_cache=False, verbose=False)
+-            sage: len(c) > 100
++            sage: c = giac._tab_completion(use_disk_cache=False, verbose=False) # optional - giac
++            sage: len(c) > 100  # optional - giac
+             True
+-            sage: 'factors' in c
++            sage: 'factors' in c  # optional - giac
+             True
+         """
+         try:
+@@ -522,13 +521,13 @@
+ 
+         EXAMPLES::
+ 
+-            sage: t = giac.cputime()
+-            sage: t                     # random
++            sage: t = giac.cputime() # optional - giac
++            sage: t                   # random; optional - giac
+             0.02
+-            sage: x = giac('x')
+-            sage: giac.diff(x^2, x)
++            sage: x = giac('x')      # optional - giac
++            sage: giac.diff(x^2, x)  # optional - giac
+             2*x
+-            sage: giac.cputime(t)       # random
++            sage: giac.cputime(t)    # random; optional - giac
+             0.0
+         """
+         if t is None:
+@@ -541,11 +540,11 @@
+         """
+         EXAMPLES::
+ 
+-            sage: giac._eval_line('2+2')
++            sage: giac._eval_line('2+2')  # optional - giac
+             '4'
+ 
+-            sage: A=matrix([range(280)])
+-            sage: GA=giac(A)
++            sage: A=matrix([range(280)])  # optional - giac
++            sage: GA=giac(A)              # optional - giac
+         """
+         with gc_disabled():
+             z = Expect._eval_line(self, line, allow_use_file=allow_use_file,
+@@ -568,17 +567,17 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac.eval("2+2;\n3")
++            sage: giac.eval("2+2;\n3") #optional - giac
+             '4,3'
+-            sage: giac.eval("2+2;\n3",False)
++            sage: giac.eval("2+2;\n3",False) # optional - giac
+             '4\n3'
+-            sage: s='g(x):={\nx+1;\nx+2;\n}'
+-            sage: giac(s)
++            sage: s='g(x):={\nx+1;\nx+2;\n}' # optional - giac
++            sage: giac(s)                    # optional - giac
+             (x)->{
+             x+1;
+             x+2;
+             }
+-            sage: giac.g(5)
++            sage: giac.g(5)                   # optional - giac
+             7
+         """
+         #we remove \n to enable multiline code in the notebook magic mode %giac
+@@ -595,8 +594,8 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac.set('xx', '2')
+-            sage: giac.get('xx')
++            sage: giac.set('xx', '2') # optional - giac
++            sage: giac.get('xx')      # optional - giac
+             '2'
+         """
+         cmd = '%s:=%s:;'%(var,value)   #if giac is not in maple mode ( maple_mode(0))
+@@ -611,8 +610,8 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac.set('xx', '2')
+-            sage: giac.get('xx')
++            sage: giac.set('xx', '2') # optional - giac
++            sage: giac.get('xx')      # optional - giac
+             '2'
+         """
+         s = self.eval('%s'%var)
+@@ -629,8 +628,8 @@
+ 
+         ::
+ 
+-            sage: m = giac(2)
+-            sage: type(m)
++            sage: m = giac(2)  # optional - giac
++            sage: type(m)       # optional - giac
+             <class 'sage.interfaces.giac.GiacElement'>
+         """
+         return GiacElement
+@@ -646,8 +645,8 @@
+ 
+         ::
+ 
+-            sage: two = giac(2)
+-            sage: type(two.gcd)
++            sage: two = giac(2)  # optional - giac
++            sage: type(two.gcd)   # optional - giac
+             <class 'sage.interfaces.giac.GiacFunctionElement'>
+         """
+         return GiacFunctionElement
+@@ -658,10 +657,10 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac._equality_symbol()
++            sage: giac._equality_symbol()               # optional - giac
+             '=='
+ 
+-            sage: giac(2) == giac(2)
++            sage: giac(2) == giac(2) # optional - giac
+             True
+         """
+         return '=='
+@@ -677,7 +676,7 @@
+ 
+         ::
+ 
+-            sage: giac(2) == giac(2)
++            sage: giac(2) == giac(2) # optional - giac
+             True
+         """
+         return '1'
+@@ -729,11 +728,11 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac.set('xx', '2')
+-            sage: giac.get('xx')
++            sage: giac.set('xx', '2')  # optional - giac
++            sage: giac.get('xx')       # optional - giac
+             '2'
+-            sage: giac.clear('xx')
+-            sage: giac.get('xx')
++            sage: giac.clear('xx')     # optional - giac
++            sage: giac.get('xx')       # optional - giac
+             'xx'
+         """
+         self.eval('purge(%s)'%var)
+@@ -744,7 +743,7 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac.version()
++            sage: giac.version()  # optional - giac
+             "giac...
+ 
+         """
+@@ -772,7 +771,7 @@
+ 
+         EXAMPLES::
+ 
+-            sage: two = giac(2)
++            sage: two = giac(2)  # optional - giac
+             sage: two.gcd._sage_doc_() # not tested; output may vary LANG
+             "...gcd - greatest common divisor of polynomials...
+         """
+@@ -785,9 +784,9 @@
+ 
+         EXAMPLES::
+ 
+-            sage: float(giac(1/2))
++            sage: float(giac(1/2))   # optional - giac
+             0.5
+-            sage: type(_)
++            sage: type(_)            # optional - giac
+             <type 'float'>
+         """
+         return float(giac.eval('evalf(%s)' % self.name()))
+@@ -798,11 +797,11 @@
+ 
+         EXAMPLES::
+ 
+-            sage: f=giac('y^3+1+t')
+-            sage: g=(f.unapply('y,t'))
+-            sage: g
++            sage: f=giac('y^3+1+t')        # optional - giac
++            sage: g=(f.unapply('y,t'))     # optional - giac
++            sage: g                        # optional - giac
+             (y,t)->y^3+1+t
+-            sage: g(1,2)
++            sage: g(1,2)                   # optional - giac
+             4
+         """
+         return giac('unapply(%s,%s)'%(self,var))
+@@ -817,8 +816,8 @@
+ 
+         EXAMPLES::
+ 
+-            sage: m = giac('x^2+y^2')
+-            sage: hash(m)              # random
++            sage: m = giac('x^2+y^2')                       # optional - giac
++            sage: hash(m)                                   # random; optional - giac
+             4614285348919569149
+         """
+         return hash(giac.eval('string(%s);'%self.name()))
+@@ -833,33 +832,33 @@
+ 
+         EXAMPLES::
+ 
+-            sage: a = giac(5)
+-            sage: b = giac(5)
+-            sage: a == b
++            sage: a = giac(5)                              # optional - giac
++            sage: b = giac(5)                              # optional - giac
++            sage: a == b                                   # optional - giac
+             True
+-            sage: a == 5
++            sage: a == 5                                   # optional - giac
+             True
+ 
+         ::
+ 
+-            sage: c = giac(3)
+-            sage: a == c
++            sage: c = giac(3)                              # optional - giac
++            sage: a == c                                   # optional - giac
+             False
+-            sage: a < c
++            sage: a < c                                    # optional - giac
+             False
+-            sage: a < 6
++            sage: a < 6                                    # optional - giac
+             True
+-            sage: c <= a
++            sage: c <= a                                   # optional - giac
+             True
+ 
+         ::
+ 
+         TESTS::
+ 
+-            sage: x = var('x')
+-            sage: t = giac((x+1)^2)
+-            sage: u = giac(x^2+2*x+1)
+-            sage: u == t
++            sage: x = var('x')                            # optional - giac
++            sage: t = giac((x+1)^2)                       # optional - giac
++            sage: u = giac(x^2+2*x+1)                     # optional - giac
++            sage: u == t                                  # optional - giac
+             False
+         """
+         P = self.parent()
+@@ -894,8 +893,8 @@
+         """
+         EXAMPLES::
+ 
+-            sage: a = giac(2)
+-            sage: 'sin' in a._tab_completion()
++            sage: a = giac(2) # optional - giac
++            sage: 'sin' in a._tab_completion() # optional - giac
+             True
+         """
+         return self.parent()._tab_completion()
+@@ -905,7 +904,7 @@
+         """
+         EXAMPLES::
+ 
+-            sage: len(giac([1,2,3]))
++            sage: len(giac([1,2,3]))                # optional - giac
+             3
+         """
+         return int(self.size())
+@@ -914,8 +913,8 @@
+         """
+         EXAMPLES::
+ 
+-            sage: l = giac([1,2,3])
+-            sage: list(iter(l))
++            sage: l = giac([1,2,3])                # optional - giac
++            sage: list(iter(l))                    # optional - giac
+             [1, 2, 3]
+         """
+         for i in range(len(self)):  # zero-indexed if giac is maple_mode(0)
+@@ -928,11 +927,11 @@
+ 
+         EXAMPLES::
+ 
+-            sage: a = giac(2)
+-            sage: a.__del__()
+-            sage: a
++            sage: a = giac(2)                        # optional - giac
++            sage: a.__del__()                        # optional - giac
++            sage: a                                  # optional - giac
+             2
+-            sage: del a
++            sage: del a                              # optional - giac
+             sage: a
+             Traceback (most recent call last):
+             ...
+@@ -950,12 +949,12 @@
+         EXAMPLES::
+ 
+             sage: x = var('x')
+-            sage: giac(x)
++            sage: giac(x)                      # optional - giac
+             x
+-            sage: giac(5)
++            sage: giac(5)                      # optional - giac
+             5
+-            sage: M = matrix(QQ,2,range(4))
+-            sage: giac(M)
++            sage: M = matrix(QQ,2,range(4))    # optional - giac
++            sage: giac(M)                      # optional - giac
+             [[0,1],[2,3]]
+         """
+         self._check_valid()
+@@ -967,7 +966,7 @@
+ 
+         EXAMPLES::
+ 
+-            sage: print(latex(giac('(x^4 - y)/(y^2-3*x)')))
++            sage: print(latex(giac('(x^4 - y)/(y^2-3*x)')))  # optional - giac
+             "\frac{(x^{4}-y)}{(y^{2}-3\cdot x)}"
+ 
+         """
+@@ -982,17 +981,17 @@
+ 
+         EXAMPLES::
+ 
+-            sage: R.<x,y>=QQ[]
+-            sage: M=giac('matrix(4,4,(k,l)->(x^k-y^l))'); M
++            sage: R.<x,y>=QQ[]                                   # optional - giac
++            sage: M=giac('matrix(4,4,(k,l)->(x^k-y^l))'); M      # optional - giac
+             matrix[[0,1-y,1-y^2,1-y^3],[x-1,x-y,x-y^2,x-y^3],[x^2-1,x^2-y,x^2-y^2,x^2-y^3],[x^3-1,x^3-y,x^3-y^2,x^3-y^3]]
+-            sage: M.eigenvals()             # random
++            sage: M.eigenvals()       # random; optional - giac
+             0,0,(x^3+x^2+x-y^3-y^2-y+sqrt(x^6+2*x^5+3*x^4-14*x^3*y^3+2*x^3*y^2+2*x^3*y+6*x^3+2*x^2*y^3-14*x^2*y^2+2*x^2*y+5*x^2+2*x*y^3+2*x*y^2-14*x*y+4*x+y^6+2*y^5+3*y^4+6*y^3+5*y^2+4*y-12))/2,(x^3+x^2+x-y^3-y^2-y-sqrt(x^6+2*x^5+3*x^4-14*x^3*y^3+2*x^3*y^2+2*x^3*y+6*x^3+2*x^2*y^3-14*x^2*y^2+2*x^2*y+5*x^2+2*x*y^3+2*x*y^2-14*x*y+4*x+y^6+2*y^5+3*y^4+6*y^3+5*y^2+4*y-12))/2
+-            sage: Z=matrix(R,M);Z
++            sage: Z=matrix(R,M);Z                                # optional - giac
+             [         0     -y + 1   -y^2 + 1   -y^3 + 1]
+             [     x - 1      x - y   -y^2 + x   -y^3 + x]
+             [   x^2 - 1    x^2 - y  x^2 - y^2 -y^3 + x^2]
+             [   x^3 - 1    x^3 - y  x^3 - y^2  x^3 - y^3]
+-            sage: parent(Z)
++            sage: parent(Z)                                      # optional - giac
+             Full MatrixSpace of 4 by 4 dense matrices over Multivariate Polynomial Ring in x, y over Rational Field
+         """
+         v = self.dim()
+@@ -1015,14 +1014,14 @@
+ 
+         EXAMPLE::
+ 
+-        sage: m = giac('x^2 + 5*y')
+-        sage: m.sage()
++        sage: m = giac('x^2 + 5*y')                            # optional - giac
++        sage: m.sage()                                          # optional - giac
+         x^2 + 5*y
+ 
+         ::
+ 
+-        sage: m = giac('sin(2*sqrt(1-x^2)) * (1 - cos(1/x))^2')
+-        sage: m.trigexpand().sage()
++        sage: m = giac('sin(2*sqrt(1-x^2)) * (1 - cos(1/x))^2')  # optional - giac
++        sage: m.trigexpand().sage()                              # optional - giac
+         2*cos(sqrt(-x^2 + 1))*cos(1/x)^2*sin(sqrt(-x^2 + 1)) - 4*cos(sqrt(-x^2 + 1))*cos(1/x)*sin(sqrt(-x^2 + 1)) + 2*cos(sqrt(-x^2 + 1))*sin(sqrt(-x^2 + 1))
+ 
+         """
+@@ -1055,16 +1054,16 @@
+ 
+         EXAMPLES::
+ 
+-            sage: y=giac('y');f=(sin(2*y)/y).integral(y).simplify(); f
++            sage: y=giac('y');f=(sin(2*y)/y).integral(y).simplify(); f        # optional - giac
+             Si(2*y)
+-            sage: f.diff(y).simplify()
++            sage: f.diff(y).simplify()                                        # optional - giac
+             sin(2*y)/y
+ 
+         ::
+ 
+-            sage: f = giac('exp(x^2)').integral('x',0,1) ; f
++            sage: f = giac('exp(x^2)').integral('x',0,1) ; f                # optional - giac
+             1.46265174...
+-            sage: x,y=giac('x'),giac('y');integrate(cos(x+y),'x=0..pi').simplify()
++            sage: x,y=giac('x'),giac('y');integrate(cos(x+y),'x=0..pi').simplify()     # optional - giac
+             -2*sin(y)
+         """
+         if min is None:
+@@ -1094,7 +1093,7 @@
+ 
+         EXAMPLES::
+ 
+-            sage: giac('1/(1+k^2)').sum('k',-oo,+infinity).simplify()
++            sage: giac('1/(1+k^2)').sum('k',-oo,+infinity).simplify()     # optional -  giac
+             (pi*exp(pi)^2+pi)/(exp(pi)^2-1)
+         """
+         if min is None:
+@@ -1147,8 +1146,8 @@
+     EXAMPLES::
+ 
+         sage: from sage.interfaces.giac import __doctest_cleanup
+-        sage: m = giac(2)
+-        sage: giac.is_running()
++        sage: m = giac(2)         # optional - giac
++        sage: giac.is_running()   # optional - giac
+         True
+         sage: __doctest_cleanup()
+         sage: giac.is_running()
+--- a/sage/src/sage/matrix/matrix1.pyx
++++ b/sage/src/sage/matrix/matrix1.pyx
+@@ -170,20 +170,20 @@
+         EXAMPLES::
+ 
+             sage: M = matrix(ZZ,2,range(4))
+-            sage: giac(M)
++            sage: giac(M)                              # optional - giac
+             [[0,1],[2,3]]
+ 
+         ::
+ 
+             sage: M = matrix(QQ,3,[1,2,3,4/3,5/3,6/4,7,8,9])
+-            sage: giac(M)
++            sage: giac(M)                                      # optional - giac
+             [[1,2,3],[4/3,5/3,3/2],[7,8,9]]
+ 
+         ::
+ 
+             sage: P.<x> = ZZ[]
+             sage: M = matrix(P, 2, [-9*x^2-2*x+2, x-1, x^2+8*x, -3*x^2+5])
+-            sage: giac(M)
++            sage: giac(M)                             # optional - giac
+             [[-9*x^2-2*x+2,x-1],[x^2+8*x,-3*x^2+5]]
+         """
+         s = str(self.rows()).replace('(','[').replace(')',']')
+--- a/sage/src/sage/modules/free_module_element.pyx
++++ b/sage/src/sage/modules/free_module_element.pyx
+@@ -835,21 +835,21 @@
+         """
+         EXAMPLES::
+ 
+-            sage: v = vector(ZZ, 4, range(4))
+-            sage: giac(v)+v
++            sage: v = vector(ZZ, 4, range(4))              # optional - giac
++            sage: giac(v)+v                                # optional -  giac
+             [0,2,4,6]
+ 
+         ::
+ 
+-            sage: v = vector(QQ, 3, [2/3, 0, 5/4])
+-            sage: giac(v)
++            sage: v = vector(QQ, 3, [2/3, 0, 5/4])         # optional -  giac
++            sage: giac(v)                                  # optional -  giac
+             [2/3,0,5/4]
+ 
+         ::
+ 
+-            sage: P.<x> = ZZ[]
+-            sage: v = vector(P, 3, [x^2 + 2, 2*x + 1, -2*x^2 + 4*x])
+-            sage: giac(v)
++            sage: P.<x> = ZZ[]                                       # optional -  giac
++            sage: v = vector(P, 3, [x^2 + 2, 2*x + 1, -2*x^2 + 4*x]) # optional -  giac
++            sage: giac(v)                                            # optional -  giac
+             [x^2+2,2*x+1,-2*x^2+4*x]
+         """
+         return self.list()
+--- a/sage/src/sage/symbolic/expression.pyx
++++ b/sage/src/sage/symbolic/expression.pyx
+@@ -11547,7 +11547,7 @@
+ 
+         Use Giac to perform this summation::
+ 
+-            sage: (sum(1/(1+k^2), k, -oo, oo, algorithm = 'giac')).factor()
++            sage: (sum(1/(1+k^2), k, -oo, oo, algorithm = 'giac')).factor()       # optional - giac
+             pi*(e^(2*pi) + 1)/((e^pi + 1)*(e^pi - 1))
+ 
+         Use Maple as a backend for summation::
diff --git a/debian/patches/series b/debian/patches/series
index 67fbbd9..8199308 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -69,3 +69,4 @@ dt-version-glpk-4.60-extra-hacky-fixes.patch
 dt-r-no-readline.patch
 dt-more-fix-test-cases.patch
 dt-work-around-doc-common-conf.patch
+dt-disable-giac.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/sagemath.git



More information about the debian-science-commits mailing list