From 2c396d9f0785b062c952db4c93ee521108bcdccf Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Fri, 12 Jul 2019 11:23:56 -0400 Subject: pythonPackages.pysparse: init at 1.1.1-dev --- .../python-modules/pysparse/default.nix | 49 ++++++++++++ .../pysparse/dropPackageLoader.patch | 88 ++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 pkgs/development/python-modules/pysparse/default.nix create mode 100644 pkgs/development/python-modules/pysparse/dropPackageLoader.patch (limited to 'pkgs/development/python-modules') diff --git a/pkgs/development/python-modules/pysparse/default.nix b/pkgs/development/python-modules/pysparse/default.nix new file mode 100644 index 000000000000..45ff5a9b5b49 --- /dev/null +++ b/pkgs/development/python-modules/pysparse/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, numpy +, setuptools +, liblapack +, isPy27 +, python +}: + +buildPythonPackage rec { + pname = "pysparse"; + version = "1.3-dev"; + disabled = !isPy27; + + src = fetchFromGitHub { + owner = "PythonOptimizers"; + repo = "pysparse"; + rev = "f8430bd99ac2a6209c462657c5792d10033888cc"; + sha256 = "19xcq8214yndra1xjhna3qjm32wprsqck97dlnw3xcww7rfy6hqh"; + }; + + hardeningDisable = [ "all" ]; + + propagatedBuildInputs = [ + numpy + numpy.blas + liblapack + ]; + + # Include patches from working version of PySparse 1.3-dev in + # Conda-Forge, + # https://github.com/conda-forge/pysparse-feedstock/tree/b69266911a2/recipe + # Thanks to https://github.com/guyer + patches = [ ./dropPackageLoader.patch ]; + + checkPhase = '' + cd test + ${python.interpreter} -c "import pysparse" + ${python.interpreter} test_sparray.py + ''; + + meta = with lib; { + homepage = https://github.com/PythonOptimizers/pysparse; + description = "A Sparse Matrix Library for Python"; + license = licenses.bsd3; + maintainers = with maintainers; [ costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pysparse/dropPackageLoader.patch b/pkgs/development/python-modules/pysparse/dropPackageLoader.patch new file mode 100644 index 000000000000..b2526645f890 --- /dev/null +++ b/pkgs/development/python-modules/pysparse/dropPackageLoader.patch @@ -0,0 +1,88 @@ +diff --git a/pysparse/__init__.py b/pysparse/__init__.py +index 6d09b00..ff39084 100644 +--- a/pysparse/__init__.py ++++ b/pysparse/__init__.py +@@ -1,9 +1,42 @@ +-"PySparse: A Fast Sparse Matrix Library for Python" ++""" ++PySparse: A Fast Sparse Matrix Library for Python ++================================================= ++ ++Documentation is available in the docstrings and ++online at http://pysparse.sourceforge.net/. ++ ++Contents ++-------- ++Pysparse imports ++:: ++ spmatrix --- sparse matrix types ++ ++and, in addition, provides: ++ ++Subpackages ++----------- ++Using any of these subpackages requires an explicit import. For example, ++``import pysparse.itsolvers``. ++ ++:: ++ ++ itsolvers --- Iterative linear algebra solvers ++ precon --- Preconditioners ++ direct --- Direct solvers ++ direct.superlu --- Wrappers to SuperLU library ++ direct.umfpack --- Wrappers to UMFPACK library ++ eigen.jdsym --- Jacobi davidson eigenvalue solver for symmetric matrices ++ ++Utility tools ++------------- ++:: ++ ++ __version__ --- pysparse version string ++""" ++ + + __docformat__ = 'restructuredtext' + +-# Imports +-from numpy._import_tools import PackageLoader + try: + from version import version as __version__ + except ImportError: +@@ -11,31 +44,6 @@ except ImportError: + __version__ = 'undefined' + + from sparse import spmatrix +-#from sparse import * +-from misc import get_include +- +-pkgload = PackageLoader() +-pkgload(verbose=False,postpone=True) +- +-if __doc__: +- __doc__ += """ +- +-Available subpackages +---------------------- +-""" +-if __doc__: +- __doc__ += pkgload.get_pkgdocs() +- +-__all__ = filter(lambda s: not s.startswith('_'), dir()) +-__all__ += '__version__' +- +-__doc__ += """ +- +-Miscellaneous +-------------- +- +- __version__ : pysparse version string +-""" + + from pysparse.misc import Deprecated + +@@ -47,3 +55,5 @@ class _superlu: + return self.factorizeFnc(*args, **kwargs) + + superlu = _superlu() ++ ++__all__ = ['spmatrix', 'superlu', '__version__'] -- cgit 1.4.1