[pysparse] 01/01: Initial debian-commit.

Anton Gladky gladk at moszumanska.debian.org
Sat Sep 3 20:45:30 UTC 2016


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

gladk pushed a commit to branch master
in repository pysparse.

commit d12817d022c304e8e5450b54e1ff0707b15b0e3f
Author: Anton Gladky <gladk at debian.org>
Date:   Sat Sep 3 22:43:32 2016 +0200

    Initial debian-commit.
---
 debian/README.source                   |   3 +
 debian/changelog                       | 110 +++++++++++++++++++++
 debian/compat                          |   1 +
 debian/control                         |  43 +++++++++
 debian/copyright                       | 169 +++++++++++++++++++++++++++++++++
 debian/patches/no-g2c.patch            |  13 +++
 debian/patches/quiltrc                 |   2 +
 debian/patches/series                  |   4 +
 debian/patches/suitesparse-4.1.patch   | 141 +++++++++++++++++++++++++++
 debian/patches/superlu-4.3.patch       |  18 ++++
 debian/patches/use-debian-libs.patch   |  56 +++++++++++
 debian/python-sparse-examples.doc-base |  12 +++
 debian/rules                           | 136 ++++++++++++++++++++++++++
 debian/watch                           |   2 +
 14 files changed, 710 insertions(+)

diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..44c2678
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,3 @@
+Please refer to /usr/share/doc/quilt/README.source for information on how to
+manipulate the patches for this package, which are in the debian/patches
+directory.
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..e847447
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,110 @@
+pysparse (1.1-1.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Transition to superlu 4.3:
+    - debian/control: replace libsuperlu3-dev by libsuperlu-dev.
+    - superlu-4.3.patch: new patch, fixes FTBFS against superlu 4.3
+      (Closes: #740636).
+  * Use new names of virtual -dev packages for BLAS and LAPACK.
+
+ -- Sébastien Villemot <sebastien at debian.org>  Mon, 10 Mar 2014 17:49:01 +0100
+
+pysparse (1.1-1.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * suitesparse-4.1.patch: new patch, fixes FTBFS against suitesparse 4.1
+    (Closes: #708379)
+
+ -- Sébastien Villemot <sebastien at debian.org>  Mon, 05 Aug 2013 12:04:49 +0000
+
+pysparse (1.1-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Covnert to dh_python2 (Closes: #551697, #616986).
+
+ -- Andrea Colangelo <warp10 at ubuntu.com>  Fri, 28 Jun 2013 16:51:51 +0200
+
+pysparse (1.1-1) unstable; urgency=low
+
+  * New upstream release.
+  * Small changes to package description.
+  * Bounds-checking eliminates many crashes (closes: #535318).
+  * Added --install-layout=deb to setup.py install (closes: #547839).
+  * Using quilt for patches, and added README.source describing it.
+  * Updated Standards-Version.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Tue, 29 Sep 2009 19:28:55 -0400
+
+pysparse (1.0.1-6) unstable; urgency=low
+
+  * Added python-numpy to python-sparse Depends (closes: #539694).
+  * Updated watch file (closes: #450374).
+  * Updated Standards-Version.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Tue, 04 Aug 2009 09:51:35 -0400
+
+pysparse (1.0.1-5.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix pysparse.superlu module port to superlu 3 based on reading
+    the docs. Closes: #526527
+
+ -- Thomas Viehmann <tv at beamnet.de>  Fri, 01 May 2009 20:56:39 +0200
+
+pysparse (1.0.1-5) unstable; urgency=low
+
+  * Removed removal of /usr/lib and Build-Depends on python-central >= 0.6
+    (closes: #472026).
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Mon, 24 Mar 2008 16:29:44 -0400
+
+pysparse (1.0.1-4) unstable; urgency=low
+
+  * New upload for unstable.
+  * Removed a few unnecessary library linkages.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Fri, 22 Feb 2008 10:39:25 -0500
+
+pysparse (1.0.1-3) experimental; urgency=low
+
+  * Rebuild against, and depend on, suitesparse with proper shared libs.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Mon, 11 Feb 2008 18:28:48 -0500
+
+pysparse (1.0.1-2) experimental; urgency=low
+
+  * Changed build-depends to gfortran and its BLAS and LAPACK libs
+    (closes: #464973).
+  * Added build-depends on suitesparse and superlu, and changed build system to
+    use installed umfpack and superlu instead of included source.
+  * Doing this required forward-porting to superlu 3.0.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Sun, 10 Feb 2008 07:56:54 -0500
+
+pysparse (1.0.1-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Wed, 20 Jun 2007 07:52:22 -0400
+
+pysparse (1.0-1) unstable; urgency=low
+
+  * New upstream release (closes: #419549).
+  * Adds the amd directory.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Mon, 23 Apr 2007 18:10:11 -0400
+
+pysparse (0.34.032-2) unstable; urgency=low
+
+  * Updated copyright gives authors and licenses for files in superlu and
+    umfpack directories.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Fri, 19 Jan 2007 17:56:30 -0500
+
+pysparse (0.34.032-1) unstable; urgency=low
+
+  * Initial release based on Mathias Klose' python-numeric package (closes:
+    #399505).
+  * Linking with -lblas-3 and -llapack-3.
+
+ -- Adam C. Powell, IV <hazelsct at debian.org>  Fri, 24 Nov 2006 00:15:15 -0500
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..0640063
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,43 @@
+Source: pysparse
+Section: python
+Priority: optional
+Maintainer: Adam C. Powell, IV <hazelsct at debian.org>
+Build-Depends: debhelper (>= 5.0.37.2), quilt,
+ python-all-dev (>= 2.6.6-3~), python-numpy,
+ gfortran, libblas-dev | libblas.so, liblapack-dev | liblapack.so,
+ libsuitesparse-dev (>= 3.1.0), libsuperlu-dev
+Standards-Version: 3.8.3
+Homepage: http://pysparse.sourceforge.net/
+
+Package: python-sparse
+Architecture: any
+Depends: python-numpy, ${python:Depends}, ${shlibs:Depends}
+Suggests: python-sparse-examples
+Provides: ${python:Provides}
+Description: Sparse linear algebra extension for Python
+ This provides a set of sparse matrix types for Python, with modules which
+ implement:
+  - Iterative methods for solving linear systems of equations
+  - A set of standard preconditioners
+  - An interface to a direct solver for sparse linear systems of equations
+  - The JDSYM eigensolver
+ .
+ All of these modules are implemented as C extension modules based on standard
+ sparse and dense matrix libraries (UMFPACK/AMD, SuperLU, BLAS/LAPACK) for
+ maximum performance and robustness.
+
+Package: python-sparse-examples
+Architecture: all
+Depends: ${python:Depends}, python-sparse (>= ${binary:Version})
+XB-Python-Version: all
+Description: Sparse linear algebra extension for Python: documentation
+ This package provides documents and examples for python-sparse, a set of
+ sparse matrix types for Python, with modules which implement:
+  - Iterative methods for solving linear systems of equations
+  - A set of standard preconditioners
+  - An interface to a direct solver for sparse linear systems of equations
+  - The JDSYM eigensolver
+ .
+ All of these modules are implemented as C extension modules based on standard
+ sparse and dense matrix libraries (UMFPACK/AMD, SuperLU, BLAS/LAPACK) for
+ maximum performance.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..398a1f4
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,169 @@
+This package was debianized by Adam C. Powell, IV <hazelsct at debian.org> on
+November 20, 2006.
+
+It was downloaded from http://sourceforge.net/projects/pysparse/
+
+Copyright for the main package:
+
+Copyright (c) 2001-2003, ETH Zurich and Roman Geus
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of the ETH Zurich nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------------
+
+This is distributed also with SuperLU and UMFPack source (not used in the
+binary packages), which come with the following copyright notices:
+
+In the superlu directory, the following files have the text below:
+dcolumn_bmod.c, dcolumn_dfs.c, dcopy_to_ucol.c, dgstrf.c, dgstrs.c,
+dpanel_bmod.c, dpanel_dfs, dpivotL.c, dpruneL.c, dutil.c, relax_snode.c,
+superlu/util.c (dgstrf.c adds "Last modified: June 6, 2002")
+
+ * -- SuperLU routine (version 2.0) --
+ * Univ. of California Berkeley, Xerox Palo Alto Research Center,
+ * and Lawrence Berkeley National Lab.
+ * November 15, 1997
+
+  Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
+ 
+  THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
+  EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
+ 
+  Permission is hereby granted to use or copy this program for any
+  purpose, provided the above notices are retained on all copies.
+  Permission to modify the code and to distribute modified code is
+  granted, provided the above notices are retained, and a notice that
+  the code was modified is included with the above copyright notice.
+
+---------
+
+superlu/colamd.c and superlu/colamd.h have the following:
+
+    Authors:
+
+	The authors of the code itself are Stefan I. Larimore and Timothy A.
+	Davis (davis at cise.ufl.edu), University of Florida.  The algorithm was
+	developed in collaboration with John Gilbert, Xerox PARC, and Esmond
+	Ng, Oak Ridge National Laboratory.
+
+    Date:
+
+	August 3, 1998.  Version 1.0.
+
+    Acknowledgements:
+
+	This work was supported by the National Science Foundation, under
+	grants DMS-9504974 and DMS-9803599.
+
+    Notice:
+
+	Copyright (c) 1998 by the University of Florida.  All Rights Reserved.
+
+	THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
+	EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
+
+	Permission is hereby granted to use or copy this program for any
+	purpose, provided the above notices are retained on all copies.
+	User documentation of any code that uses this code must cite the
+	Authors, the Copyright, and "Used by permission."  If this code is
+	accessible from within Matlab, then typing "help colamd" or "colamd"
+	(with no arguments) must cite the Authors.  Permission to modify the
+	code and to distribute modified code is granted, provided the above
+	notices are retained, and a notice that the code was modified is
+	included with the above copyright notice.  You must also retain the
+	Availability information below, of the original version.
+
+	This software is provided free of charge.
+
+    Availability:
+
+	This file is located at
+
+		http://www.cise.ufl.edu/~davis/colamd/colamd.c
+
+	The colamd.h file is required, located in the same directory.
+	The colamdmex.c file provides a Matlab interface for colamd.
+	The symamdmex.c file provides a Matlab interface for symamd, which is
+	a symmetric ordering based on this code, colamd.c.  All codes are
+	purely ANSI C compliant (they use no Unix-specific routines, include
+	files, etc.).
+
+---------
+
+The file umfpack/umfpack.h gives the copyright for files in that directory:
+
+#define UMFPACK_VERSION "UMFPACK V4.1 (Apr. 30, 2003)"
+
+#define UMFPACK_COPYRIGHT \
+"UMFPACK:  Copyright (c) 2003 by Timothy A. Davis.  All Rights Reserved.\n"
+
+#define UMFPACK_LICENSE_PART1 \
+"\nUMFPACK License:\n" \
+"\n" \
+"   Your use or distribution of UMFPACK or any modified version of\n" \
+"   UMFPACK implies that you agree to this License.\n" \
+"\n" \
+"   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY\n" \
+"   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.\n"
+#define UMFPACK_LICENSE_PART2 \
+"\n" \
+"   Permission is hereby granted to use or copy this program, provided\n" \
+"   that the Copyright, this License, and the Availability of the original\n" \
+"   version is retained on all copies.  User documentation of any code that\n" \
+"   uses UMFPACK or any modified version of UMFPACK code must cite the\n" \
+"   Copyright, this License, the Availability note, and \"Used by permission.\"\n"
+#define UMFPACK_LICENSE_PART3 \
+"   Permission to modify the code and to distribute modified code is granted,\n" \
+"   provided the Copyright, this License, and the Availability note are\n" \
+"   retained, and a notice that the code was modified is included.  This\n" \
+"   software was developed with support from the National Science Foundation,\n" \
+"   and is provided to you free of charge.\n" \
+"\n" \
+"Availability: http://www.cise.ufl.edu/research/sparse/umfpack\n" \
+"\n"
+
+---------
+
+The directory amd is new to version 1.0.  The copyright notice found in amd.h
+refers to the LGPL, which is found in /usr/share/common-licenses/LGPL-2.1:
+
+/* AMD Version 1.0 (Apr. 30, 2003), Copyright (c) 2003 by Timothy A. Davis,   */
+/* Patrick R. Amestoy, and Iain S. Duff.  See ../README for License.          */
+/* email: davis at cise.ufl.edu    CISE Department, Univ. of Florida.            */
+/* web: http://www.cise.ufl.edu/research/sparse/amd                           */
+
+Unfortunately, ../README is the main pysparse README, not the amd README.  But
+visiting the "web:" link above reveals:
+
+Copyright, and License:
+
+      Copyright (c) 2004-2006 by Timothy A. Davis, Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved. Distributed under the GNU LGPL license.
+
+For details, see: http://www.cise.ufl.edu/research/sparse/amd/AMD/ which
+appears to include the README file, including the LGPL licensing language
+(Version 2.1 or any later).
diff --git a/debian/patches/no-g2c.patch b/debian/patches/no-g2c.patch
new file mode 100644
index 0000000..d2a2eea
--- /dev/null
+++ b/debian/patches/no-g2c.patch
@@ -0,0 +1,13 @@
+Remove g2c library no longer in Debian from consideration by setup.py.
+
+--- pysparse-1.1/setup.py~	2009-07-29 18:06:29.000000000 -0400
++++ pysparse-1.1/setup.py	2009-09-27 18:17:28.000000000 -0400
+@@ -8,7 +8,7 @@
+ 
+ # default settings
+ library_dirs_list= []
+-libraries_list = ['lapack', 'blas', 'g2c']
++libraries_list = ['lapack', 'blas']
+ superlu_defs = [('USE_VENDOR_BLAS',1)]
+ if sys.platform == 'win32':
+     superlu_defs += [('NO_TIMER', 1)]
diff --git a/debian/patches/quiltrc b/debian/patches/quiltrc
new file mode 100644
index 0000000..16e8b47
--- /dev/null
+++ b/debian/patches/quiltrc
@@ -0,0 +1,2 @@
+QUILT_PATCHES="debian/patches"
+QUILT_NO_DIFF_TIMESTAMPS=1
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..75155a9
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+no-g2c.patch
+use-debian-libs.patch
+suitesparse-4.1.patch
+superlu-4.3.patch
diff --git a/debian/patches/suitesparse-4.1.patch b/debian/patches/suitesparse-4.1.patch
new file mode 100644
index 0000000..c3cf5f1
--- /dev/null
+++ b/debian/patches/suitesparse-4.1.patch
@@ -0,0 +1,141 @@
+Description: Fix build failure against SuiteSparse 4.1
+ In SuiteSparse 4.1, the 2by2 strategy for ordering and pivoting in UMFPACK has
+ been removed (it was already deprecated in SuiteSparse 3.4). This patch removes
+ the code and options in the python interface that are related to this strategy.
+Author: Sébastien Villemot <sebastien at debian.org>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=708379
+Forwarded: no
+Last-Update: 2013-08-05
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/Src/umfpackmodule.c
++++ b/Src/umfpackmodule.c
+@@ -491,7 +491,7 @@
+ }
+ 
+ static PyObject *
+-newUMFPackObject(LLMatObject *matrix, int strategy, double tol2by2, int scale,
++newUMFPackObject(LLMatObject *matrix, int strategy, int scale,
+                   double tolpivot, double tolsympivot)
+ {
+   UMFPackObject *self;
+@@ -544,9 +544,6 @@
+   if (strategy != -1)
+     self->Control[UMFPACK_STRATEGY] = strategy;
+ 
+-  if (tol2by2 != -1)
+-    self->Control[UMFPACK_2BY2_TOLERANCE] = tol2by2;
+-
+   if (scale != -1)
+     self->Control[UMFPACK_SCALE] = scale;
+ 
+@@ -662,9 +659,6 @@
+                     \"UMFPACK_STRATEGY_AUTO\"\n\
+                     \"UMFPACK_STRATEGY_UNSYMMETRIC\"\n\
+                     \"UMFPACK_STRATEGY_SYMMETRIC\"\n\
+-                    \"UMFPACK_STRATEGY_2BY2\"\n\
+-\n\
+-tol2by2             tolerance for the 2 by 2 strategy\n\
+ \n\
+ scale               scaling UMFPACK would use\n\
+                     \"UMFPACK_SCALE_NONE\"\n\
+@@ -683,19 +677,17 @@
+ factorize(PyObject *self, PyObject *args, PyObject *keywds) {
+   LLMatObject *matrix;
+   char *strategy="UMFPACK_STRATEGY_AUTO";
+-  double tol2by2 = 0.1;
+   char *scale="UMFPACK_SCALE_SUM";
+   double tolpivot = 0.1;
+   double tolsympivot = 0.0;
+   int res;
+   int strategyval = UMFPACK_STRATEGY_AUTO, scaleval = UMFPACK_SCALE_SUM;
+ 
+-  static char *kwlist[] = {"", "strategy", "tol2by2", "scale", "tolpivot", "tolsympivot", NULL};
++  static char *kwlist[] = {"", "strategy", "scale", "tolpivot", "tolsympivot", NULL};
+ 
+-  res = PyArg_ParseTupleAndKeywords(args, keywds, "O!|sdsdd", kwlist, 
++  res = PyArg_ParseTupleAndKeywords(args, keywds, "O!|ssdd", kwlist, 
+                     &LLMatType, &matrix,
+                     &strategy,
+-                    &tol2by2,
+                     &scale,
+                     &tolpivot,
+                     &tolsympivot);
+@@ -708,8 +700,6 @@
+     strategyval = UMFPACK_STRATEGY_UNSYMMETRIC;
+   else if (strcmp("UMFPACK_STRATEGY_SYMMETRIC", strategy) == 0)
+     strategyval = UMFPACK_STRATEGY_SYMMETRIC;
+-  else if (strcmp("UMFPACK_STRATEGY_2BY2", strategy) == 0)
+-    strategyval = UMFPACK_STRATEGY_2BY2;
+ 
+   if (strcmp("UMFPACK_SCALE_NONE", scale) == 0)
+     scaleval = UMFPACK_SCALE_NONE;
+@@ -718,7 +708,7 @@
+   if (strcmp("UMFPACK_SCALE_MAX", scale) == 0)
+     scaleval = UMFPACK_SCALE_MAX;
+ 
+-  return newUMFPackObject(matrix, strategyval, tol2by2, scaleval, tolpivot, tolsympivot);
++  return newUMFPackObject(matrix, strategyval, scaleval, tolpivot, tolsympivot);
+ }
+ 
+ 
+--- a/Lib/pysparseUmfpack.py
++++ b/Lib/pysparseUmfpack.py
+@@ -57,9 +57,7 @@
+ 
+        :strategy: string that specifies what kind of ordering and pivoting
+                   strategy UMFPACK should use. Valid values are 'auto',
+-                  'unsymmetric', 'symmetric' and '2by2'. Default: 'auto'
+-
+-       :tol2by2: tolerance for the 2 by 2 strategy. Default: 0.1
++                  'unsymmetric' and 'symmetric'. Default: 'auto'
+ 
+        :scale: string that specifies the scaling UMFPACK should use. Valid
+                values are 'none', 'sum', and 'max'. Default: 'sum'.
+@@ -130,7 +128,7 @@
+ 
+         if 'strategy' in kwargs.keys():
+             strategy = upper(kwargs.get('strategy'))
+-            if strategy not in ['AUTO', 'UNSYMMETRIC', 'SYMMETRIC', '2BY2']:
++            if strategy not in ['AUTO', 'UNSYMMETRIC', 'SYMMETRIC']:
+                 strategy = 'AUTO'
+             kwargs['strategy'] = 'UMFPACK_STRATEGY_' + strategy
+ 
+--- a/Test/testUmfpack.py
++++ b/Test/testUmfpack.py
+@@ -52,11 +52,6 @@
+         self.LU.solve(self.b)
+         self.failUnless(self.computeError(self.LU.sol) < self.tol)
+ 
+-    def test2by2(self):
+-        self.LU = PysparseUmfpackSolver(self.A, strategy='2by2')
+-        self.LU.solve(self.b)
+-        self.failUnless(self.computeError(self.LU.sol) < self.tol)
+-
+     def testNoScaling(self):
+         self.LU = PysparseUmfpackSolver(self.A, scale='none')
+         self.LU.solve(self.b)
+@@ -114,11 +109,6 @@
+         self.LU.solve(self.b)
+         self.failUnless(self.computeError(self.LU.sol) < self.tol)
+ 
+-    def testPoisson1d2by2(self):
+-        self.LU = PysparseUmfpackSolver(self.B, strategy='2by2')
+-        self.LU.solve(self.b)
+-        self.failUnless(self.computeError(self.LU.sol) < self.tol)
+-
+     def testPoisson1dNoScaling(self):
+         self.LU = PysparseUmfpackSolver(self.B, scale='none')
+         self.LU.solve(self.b)
+@@ -180,11 +170,6 @@
+         self.LU.solve(self.b)
+         self.failUnless(self.computeError(self.LU.sol) < self.tol)
+ 
+-    def testPoisson2d2by2(self):
+-        self.LU = PysparseUmfpackSolver(self.B, strategy='2by2')
+-        self.LU.solve(self.b)
+-        self.failUnless(self.computeError(self.LU.sol) < self.tol)
+-
+     def testPoisson2dNoScaling(self):
+         self.LU = PysparseUmfpackSolver(self.B, scale='none')
+         self.LU.solve(self.b)
diff --git a/debian/patches/superlu-4.3.patch b/debian/patches/superlu-4.3.patch
new file mode 100644
index 0000000..07147bf
--- /dev/null
+++ b/debian/patches/superlu-4.3.patch
@@ -0,0 +1,18 @@
+Description: Fix FTBFS against superlu 4.3
+ The tolerance argument to dgstrf() has been dropped in superlu.
+Author: Sébastien Villemot <sebastien at debian.org>
+Forwarded: no
+Last-Update: 2014-03-03
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/Src/superlu3module.c
++++ b/Src/superlu3module.c
+@@ -267,7 +267,7 @@ static PyObject *newSuperLUObject(int n,
+   //printf("Factorizing with drop_tol = %g\n", drop_tol);
+   /* Perform factorization (perm_c and perm_r are swapped because our matrix
+    * is stored in compressed-row format and not in compressed-column format! */
+-  dgstrf(&self->options, &AC, drop_tol, relax, panel_size,
++  dgstrf(&self->options, &AC, relax, panel_size,
+          etree, NULL, 0, self->perm_c, self->perm_r,
+          &self->L, &self->U, &self->stat, &info);
+ 
diff --git a/debian/patches/use-debian-libs.patch b/debian/patches/use-debian-libs.patch
new file mode 100644
index 0000000..3645cbc
--- /dev/null
+++ b/debian/patches/use-debian-libs.patch
@@ -0,0 +1,56 @@
+Tell pysparse to use built-in Debian suitesparse and superlu libraries.
+
+--- pysparse-1.1/setup.py~	2009-09-29 17:54:21.000000000 -0400
++++ pysparse-1.1/setup.py	2009-09-29 18:06:15.000000000 -0400
+@@ -18,40 +18,40 @@
+ compily=[]
+ 
+ # Specify whether to link against user's SuperLU library
+-use_users_superlu = False #True
++use_users_superlu = True
+ umfpack_defs = [('DINT', 1), ('NBLAS', 1)] # No BLAS. Ok if using your system's BLAS.
+ #umfpack_defs = [('DINT', 1), ('CBLAS', 1)] # with atlas c-blas (http://math-atlas.sf.net)
+ 
+ if use_users_superlu:
+     # Specify location of include files
+-    superlu_include_dirs = ['/Users/dpo/local/linalg/SuperLU/SuperLU_3.1/SRC']
++    superlu_include_dirs = ['/usr/include/superlu']
+     # AND specify ONE of the following:
+     # 1) Location of source files (overrides linking with existing library)
+-    superlu_src_dir = '/Users/dpo/local/linalg/SuperLU/SuperLU_3.1/SRC'
++    superlu_src_dir = ''
+     # 2) Location of precompiled library
+     superlu_lib_dir = ['']
+-    superlu_libraries = ['']
++    superlu_libraries = ['superlu']
+ 
+ # Specify whether to link against user's UMFPACK library
+-use_users_umfpack = False #True
++use_users_umfpack = True
+ if use_users_umfpack:
+     # Specify location of include files
+-    umfpack_include_dirs = ['/Users/dpo/local/linalg/UMFPACK/UMFPACK/Include']
++    umfpack_include_dirs = ['/usr/include/suitesparse']
+     # AND specify ONE of the following:
+     # 1) Location of source files (overrides linking with existing library)
+-    umfpack_src_dir = '/Users/dpo/local/linalg/UMFPACK/UMFPACK/Source'
++    umfpack_src_dir = ''
+     # 2) Location of precompiled library
+     umfpack_lib_dir = ['']
+-    umfpack_libraries = ['']
++    umfpack_libraries = ['umfpack']
+ 
+     # Do the same for AMD
+-    amd_include_dirs = ['/Users/dpo/local/linalg/UMFPACK/AMD/Include']
++    amd_include_dirs = ['/usr/include/suitesparse']
+     # AND specify ONE of the following:
+     # 1) Location of source files (overrides linking with existing library)
+-    amd_src_dir = '/Users/dpo/local/linalg/UMFPACK/AMD/Source'
++    amd_src_dir = ''
+     # 2) Location of precompiled library
+     amd_lib_dir = ['']
+-    amd_libraries = ['']
++    amd_libraries = ['amd']
+     
+ else:
+     umfpack_libraries = []
diff --git a/debian/python-sparse-examples.doc-base b/debian/python-sparse-examples.doc-base
new file mode 100644
index 0000000..164e843
--- /dev/null
+++ b/debian/python-sparse-examples.doc-base
@@ -0,0 +1,12 @@
+Document: python-sparse
+Title: PySparse - a sparse linear algebra extension for Python
+Author: Roman Geus
+Abstract: PySparse provides a set of sparse matrix types for python, with
+ modules which implement: Iterative methods for solving linear systems of
+ equations; A set of standard preconditioners; An interface to a direct solver
+ for sparse linear systems of equations; The JDSYM eigensolver.  All of these
+ modules are implemented as C extension modules for maximum performance.
+Section: Apps/Programming
+
+Format: pdf
+Files: /usr/share/doc/python-sparse-examples/spmatrix_manual.pdf
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2fa2af5
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,136 @@
+#!/usr/bin/make -f
+# -*- mode: makefile -*-
+# Made with the aid of debmake, by Christoph Lameter,
+# based on the sample debian/rules file for GNU hello by Ian Jackson.
+
+export SHELL	= /bin/bash
+
+# all versions
+PYVERS	:= $(filter-out 2.3, $(shell pyversions -vs))
+PYVERS	:= $(shell pyversions -vs)
+PYVER   := $(shell python -c 'import sys; print sys.version[:3]')
+
+PYSITE	= usr/lib/python$(PYVER)/site-packages
+
+p_sps	= python-sparse
+p_exa	= python-sparse-examples
+
+d_sps	= debian/$(p_sps)
+
+d_exa	= debian/$(p_exa)
+
+QUILT := quilt --quiltrc debian/patches/quiltrc
+
+DEB_HOST_ARCH :=  $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+build: stamp-patch stamp-build
+stamp-build: $(PYVERS:%=stamp-build-%)
+	touch $@
+
+stamp-build-%:
+	dh_testdir
+	python$* ./setup.py build
+	touch $@
+
+stamp-patch:
+	dh_testdir
+	$(QUILT) push -a || test $$? = 2
+	touch $@
+
+unpatch:
+	dh_testdir
+	if [ -e .pc ]; then \
+	  $(QUILT) pop -a -R || test $$? = 2; \
+	  rm -f patch-stamp; \
+	fi
+
+clean: unpatch
+	dh_testdir
+	dh_testroot
+	rm -f stamp-*
+	-rm -rf `find -name build -type d`
+
+	dh_clean
+
+install: build pre-install $(PYVERS:%=stamp-install-%)
+pre-install:
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+
+stamp-install-%: stamp-build-%
+	python$* setup.py install --prefix=`pwd`/debian/python-sparse/usr --install-layout=deb
+
+	-find debian/python-sparse -name '*.py[co]' | xargs rm -f
+
+	: # Replace all '#!' calls to python with python
+	: # and make them executable
+	for i in `find debian/python-sparse -type f`; do \
+	  sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python\1,' \
+		$$i > $$i.temp; \
+	  if cmp --quiet $$i $$i.temp; then \
+	    rm -f $$i.temp; \
+	  else \
+	    mv -f $$i.temp $$i; \
+	    chmod 755 $$i; \
+	    echo "fixed interpreter: $$i"; \
+	  fi; \
+	done
+
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+
+	dh_installdirs -p$(p_exa) $(PYSITE) usr/share/doc/$(p_exa)
+
+	dh_installdocs -p$(p_sps) README
+	dh_installdocs -i -X$(p_sps)
+	dh_installchangelogs -i CHANGES
+
+	install -d $(d_exa)/$(PYSITE)/SparsExamples
+	cp -a Examples/* $(d_exa)/$(PYSITE)/SparsExamples
+	install -m 644 Doc/spmatrix_manual.pdf $(d_exa)/usr/share/doc/$(p_exa)/
+
+	: # Replace all '#!' calls to python with python
+	: # and make them executable
+	for i in `find $(d_exa) -type f`; do \
+	  sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python\1,' \
+		$$i > $$i.temp; \
+	  if cmp --quiet $$i $$i.temp; then \
+	    rm -f $$i.temp; \
+	  else \
+	    mv -f $$i.temp $$i; \
+	    chmod 755 $$i; \
+	    echo "fixed interpreter: $$i"; \
+	  fi; \
+	done
+
+	dh_compress -i -X.py -X.pik -X.pdf -X.css
+	dh_python2 -i
+	dh_fixperms -i
+	dh_installdeb -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
+
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+
+	dh_installdocs -p$(p_sps) README
+
+	dh_installchangelogs -a CHANGES
+	dh_strip -a
+	dh_compress -a -X.py
+	dh_python2 -a
+	dh_fixperms -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+binary: binary-arch binary-indep
+
+.PHONY: binary binary-arch binary-indep clean
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..231b592
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://sf.net/pysparse/pysparse-(.+)\.tar\.gz

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



More information about the debian-science-commits mailing list