# HG changeset patch
# Parent 93f50b8b8cca160f548ca3a080f9ccf5b63d47df
Changes that make the package install in sage-6.1.beta4

diff --git a/src/pGroupCohomology/cochain.pyx b/src/pGroupCohomology/cochain.pyx
--- a/src/pGroupCohomology/cochain.pyx
+++ b/src/pGroupCohomology/cochain.pyx
@@ -6410,9 +6410,9 @@
         cdef long TgtNontips = self.Tgt.G_Alg.Data.nontips
         zsetfield(self.Src.coef())
         zsetlen(TgtNontips)
-        _sig_on
+        sig_on()
         Compos = MTX(self.Src.G_Alg.Data.p, self.Src.Data.projrank[SrcDeg]*self.Tgt.Data.projrank[TgtDeg-1],TgtNontips,mutable=False)
-        _sig_off
+        sig_off()
         cdef MTX tmp
         tmp = MTX(self.Src.G_Alg.Data.p, 1, TgtNontips,mutable=False)
         cdef matrix_t *L
@@ -6421,18 +6421,18 @@
         cdef int rk = self.Tgt.Data.projrank[TgtDeg-1]
         for i from 0 <= i < rk:
             for j from 0 <= j < Rk:
-                _sig_on
+                sig_on()
                 L = leftActionMatrix(self.Tgt.G_Alg.Data, ptrPlus(M2.Data.d,j*rk+i))
-                _sig_off
+                sig_off()
                 for k from 0 <= k < RK:
-                    _sig_on
+                    sig_on()
                     if not (zmaprow(ptrPlus(M1.Data.d,k*Rk+j), L.d, TgtNontips, tmp.Data.d)):
-                        _sig_off
+                        sig_off()
                         raise ArithmeticError, "multiplication failed"
                     if not (zaddrow(ptrPlus(Compos.Data.d,k*rk+i), tmp.Data.d)):
-                        _sig_off
+                        sig_off()
                         raise ArithmeticError, "addition of rows failed"
-                    _sig_off
+                    sig_off()
                 matfree(L)
 
         print_protocol('lift in the target resolution to degree %d'%(TgtDeg), self)
@@ -6485,9 +6485,9 @@
             print "Tgt.nRgs.s =", self.Tgt.nRgs.ngs.s
             print rk
             raise ArithmeticError, "Theoretical error"
-        _sig_on
+        sig_on()
         innerPreimages(self.Tgt.nRgs, Compos.Data.d, RK, self.Tgt.G_Alg.Data, OUT.Data.d)
-        _sig_off
+        sig_off()
         # freeNRgs(nRgs)
         self.Data.append(OUT)
         if OPTION.opts['timing']:
diff --git a/src/pGroupCohomology/mtx.pyx b/src/pGroupCohomology/mtx.pyx
--- a/src/pGroupCohomology/mtx.pyx
+++ b/src/pGroupCohomology/mtx.pyx
@@ -1320,9 +1320,9 @@
         cdef MTX OUT
         OUT = MTX('',self._mutable)
         #if self.nullity()==0:
-        _sig_on
+        sig_on()
         OUT.Data = matinv(self.Data)
-        _sig_off
+        sig_off()
         if OUT.Data:
             return OUT
         else:
@@ -1470,9 +1470,9 @@
         # cdef MTX tmp
         cdef int i# ,f,j
         OUT = MTX('',mutable=True)
-        _sig_on
+        sig_on()
         OUT.Data = echelon(self.Data)
-        _sig_off
+        sig_off()
         cdef PTR p = OUT.Data.d
         cdef piv_t P
         cdef FEL f
@@ -1579,9 +1579,9 @@
             raise NotImplementedError, "The matrix must not be empty"
         cdef MTX OUT
         OUT = MTX('',mutable=self._mutable)
-        _sig_on
+        sig_on()
         OUT.Data = nullspace(self.Data)
-        _sig_off
+        sig_off()
         return OUT
 
     cpdef tuple lead(self):
diff --git a/src/pGroupCohomology/resolution.pyx b/src/pGroupCohomology/resolution.pyx
--- a/src/pGroupCohomology/resolution.pyx
+++ b/src/pGroupCohomology/resolution.pyx
@@ -2575,7 +2575,7 @@
             print_protocol("> > rk P_%02ld = %3ld"%(n, self.Data.projrank[n]), self)
             return
         # we have to construct the next differential from scratch
-        _sig_on
+        sig_on()
         M = self.__getitem__(n-1)
         nRgs = nRgsStandardSetup(self.Data, n-1, M.Data.d)
         cdef nFgs_t *ker
@@ -2583,7 +2583,7 @@
         nRgsBuchberger(nRgs, G)
         # setRankProj(self.Data, n, countGenerators(ker))
         setRankProj(self.Data, n, numberOfHeadyVectors(ker.ngs))
-        _sig_off
+        sig_off()
         print_protocol("> > rk P_%02ld = %3ld"%(n, self.Data.projrank[n]), self)
         M=makeMTX(getMinimalGenerators(ker, G))
         saveUrbildGroebnerBasis(nRgs, urbildGBFile(self.Data, n-1), G)
@@ -3422,7 +3422,7 @@
         cdef int lenCOMPOS = len(COMPOS)
         cdef list Piv,Z
         cdef dict Autolift
-        _sig_on
+        sig_on()
         for a from 0 <= a < lenCOMPOS:
             Out1 = OUT[a][2]
             Compos = COMPOS[a] # this is a list: low degree, high degree,matrix
@@ -3443,7 +3443,7 @@
                         if Z[j]:
                             DUMMY = Autolift[j][Z[j]]
                             if not(matadd(TMP.Data, DUMMY.Data)):
-                                _sig_off
+                                sig_off()
                                 raise ArithmeticError, "Matrix addition failed"
                     # Could the following could be done better with memcpy ?
                     #for j from 0 <= j < projrk:
@@ -3453,12 +3453,12 @@
                 print_protocol('> Lift with Urbild Groebner basis', self)
                 self.load_ugb(Compos[1]+1)
                 if (self.nRgs.ngs.r!=self.Data.projrank[Compos[1]]) or (self.nRgs.ngs.s != self.Data.projrank[Compos[1]+1]):
-                    _sig_off
+                    sig_off()
                     raise ArithmeticError, "Theoretical error"
                 ## in coho.c: innerPreimages(nRgs, images->d, s, resol->group, this->d),
                 print_protocol('> Compute preimages in degree %d'%(Compos[1]+1), self)
                 innerPreimages(self.nRgs, Compos1.Data.d, RK, self.G_Alg.Data, Out1.Data.d)
-        _sig_off
+        sig_off()
         return OUT
 
 
@@ -3644,16 +3644,16 @@
         # in coho.c, this corresponds to determinePreimagesConventionally(resol, d, projrank[n], compos, this)
         # which, in turn, unfolds to:
         cdef MTX OUT
-        _sig_on
+        sig_on()
         OUT = MTX(self.G_Alg.Data.p, self.Data.projrank[d]*self.Data.projrank[n], self.G_Alg.Data.nontips,mutable=False)
-        _sig_off
+        sig_off()
         self.load_ugb(d)
         if (self.nRgs.ngs.r!=self.Data.projrank[d-1]) or (self.nRgs.ngs.s != self.Data.projrank[d]):
             raise ArithmeticError, "Theoretical error"
         # in coho.c: innerPreimages(nRgs, images->d, s, resol->group, this->d),
-        _sig_on
+        sig_on()
         innerPreimages(self.nRgs, Compos.Data.d, self.Data.projrank[n], self.G_Alg.Data, OUT.Data.d)
-        _sig_off
+        sig_off()
         return OUT
 
     #############################################
diff --git a/src/setup.py b/src/setup.py
--- a/src/setup.py
+++ b/src/setup.py
@@ -19,16 +19,25 @@
 from distutils.core import setup
 from distutils.extension import Extension
 from Cython.Distutils import build_ext
-from sage.all import SAGE_ROOT
-from sage.interfaces.singular import singular
-from sage.all import srange
+from sage.all import srange, singular
 from sage.rings.integer import Integer
 
-
 import shutil
 import os
 import subprocess
 
+try:
+    from sage.misc.misc import SAGE_SRC, SAGE_LOCAL, SAGE_SHARE, SAGE_EXTCODE
+except ImportError:
+    print "##################################"
+    print "##  Sage version predates 6.0   ##"
+    print "##################################"
+    from sage.misc.misc import SAGE_DATA as SAGE_SHARE
+    from sage.misc.misc import SAGE_ROOT
+    SAGE_SRC = os.path.join(SAGE_ROOT, 'devel','sage')
+    SAGE_LOCAL = os.path.join(SAGE_ROOT,'local')
+    SAGE_EXTCODE = os.path.join(SAGE_SHARE,"sage","ext")
+
 # Copy our singular libraries to the right place
 
 try:
@@ -80,10 +89,11 @@
               libraries = ["mtx","csage"],
               extra_compile_args=["-O3"],
               #extra_link_args=["-g"],
-              include_dirs = [os.path.join(SAGE_ROOT,"local","include","csage"),
-                              os.path.join(SAGE_ROOT,"devel","sage"),
-                              os.path.join(SAGE_ROOT,"devel","sage","c_lib"),
-                              os.path.join(SAGE_ROOT,"devel","sage","sage","ext"),
+              include_dirs = [#os.path.join(SAGE_LOCAL,"include","csage"),
+                              os.path.join(SAGE_SRC,"sage","ext"),
+                              SAGE_SRC,
+                              os.path.join(SAGE_SRC,"c_lib","include"),
+                              SAGE_EXTCODE,
                               os.path.join("mtx2.2.4","src"),
                               os.path.join("pGroupCohomology","c_sources"),
                               "pGroupCohomology"]
@@ -102,8 +112,8 @@
                          os.path.join("pGroupCohomology","c_sources","uvr.c")],
               libraries = ["mtx"],
               extra_compile_args=["-O3"],
-              include_dirs = [os.path.join(SAGE_ROOT,"local","include","csage"),
-                              os.path.join(SAGE_ROOT,"devel","sage"),
+              include_dirs = [os.path.join(SAGE_LOCAL,"include","csage"),
+                              #os.path.join(SAGE_SRC,"sage"),
                               os.path.join("mtx2.2.4","src"),
                               os.path.join("pGroupCohomology","c_sources"),
                               "pGroupCohomology"]
@@ -122,8 +132,8 @@
                          os.path.join("pGroupCohomology","c_sources","uvr.c")],
               libraries = ["mtx"],
               extra_compile_args=["-O3"],
-              include_dirs = [os.path.join(SAGE_ROOT,"local","include","csage"),
-                              os.path.join(SAGE_ROOT,"devel","sage"),
+              include_dirs = [os.path.join(SAGE_LOCAL,"include","csage"),
+                              #os.path.join(SAGE_SRC,"sage"),
                               os.path.join("mtx2.2.4","src"),
                               os.path.join("pGroupCohomology","c_sources"),
                               "pGroupCohomology"]
@@ -142,10 +152,11 @@
                          os.path.join("pGroupCohomology","c_sources","uvr.c")],
               libraries = ["mtx","csage"],
               extra_compile_args=["-O3"],
-              include_dirs = [os.path.join(SAGE_ROOT,"local","include","csage"),
-                              os.path.join(SAGE_ROOT,"devel","sage"),
-                              os.path.join(SAGE_ROOT,"devel","sage","c_lib"),
-                              os.path.join(SAGE_ROOT,"devel","sage","sage","ext"),
+              include_dirs = [os.path.join(SAGE_LOCAL,"include","csage"),
+                              os.path.join(SAGE_SRC,"sage","ext"),
+                              SAGE_SRC,
+                              os.path.join(SAGE_SRC,"c_lib","include"),
+                              SAGE_EXTCODE,
                               os.path.join("mtx2.2.4","src"),
                               os.path.join("pGroupCohomology","c_sources"),
                               "pGroupCohomology"]
@@ -155,10 +166,11 @@
               libraries = ["mtx","csage"],
               extra_compile_args=["-O3"],
               #extra_link_args=["-g"],
-              include_dirs = [os.path.join(SAGE_ROOT,"local","include","csage"),
-                              os.path.join(SAGE_ROOT,"devel","sage"),
-                              os.path.join(SAGE_ROOT,"devel","sage","c_lib"),
-                              os.path.join(SAGE_ROOT,"devel","sage","sage","ext"),
+              include_dirs = [os.path.join(SAGE_LOCAL,"include","csage"),
+                              os.path.join(SAGE_SRC,"sage","ext"),
+                              SAGE_SRC,
+                              os.path.join(SAGE_SRC,"c_lib","include"),
+                              SAGE_EXTCODE,
                               os.path.join("mtx2.2.4","src"),
                               os.path.join("pGroupCohomology","c_sources"),
                               "pGroupCohomology"]
@@ -170,11 +182,7 @@
 
 #######################
 ## Take care of the data base
-tar_base = os.path.join(SAGE_ROOT,'local','pGroupCohomology')
-try:
-    from sage.misc.misc import SAGE_SHARE
-except ImportError:
-    from sage.misc.misc import SAGE_DATA as SAGE_SHARE
+tar_base = os.path.join(SAGE_LOCAL,'pGroupCohomology')
 # create data base, if necessary
 data_base = os.path.join(SAGE_SHARE,'pGroupCohomology')
 try:
