From d4c106f5b4fb7ff2323b128c149b3217021396c0 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 17 May 2017 22:40:07 +0100 Subject: [PATCH] pyproj: enable tests, use bundled proj by default --- .../python-modules/pyproj/default.nix | 18 ++++++++++++------ pkgs/top-level/python-packages.nix | 6 +++++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/pyproj/default.nix b/pkgs/development/python-modules/pyproj/default.nix index eff6f436858..8b15c63fb20 100644 --- a/pkgs/development/python-modules/pyproj/default.nix +++ b/pkgs/development/python-modules/pyproj/default.nix @@ -1,11 +1,12 @@ { lib , buildPythonPackage , fetchPypi -, proj , python +, nose2 +, proj ? null }: -buildPythonPackage rec { +buildPythonPackage (rec { pname = "pyproj"; version = "1.9.5.1"; name = "${pname}-${version}"; @@ -15,14 +16,19 @@ buildPythonPackage rec { sha256 = "53fa54c8fa8a1dfcd6af4bf09ce1aae5d4d949da63b90570ac5ec849efaf3ea8"; }; - buildInputs = [ proj ]; + buildInputs = [ nose2 ]; - # Could not get tests working - doCheck = false; + checkPhase = '' + runHook preCheck + pushd unittest # changing directory should ensure we're importing the global pyproj + ${python.interpreter} test.py && ${python.interpreter} -c "import doctest, pyproj, sys; sys.exit(doctest.testmod(pyproj)[0])" + popd + runHook postCheck + ''; meta = { description = "Python interface to PROJ.4 library"; homepage = http://github.com/jswhit/pyproj; license = with lib.licenses; [ isc ]; }; -} +} // (if proj == null then {} else { PROJ_DIR = proj; })) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1516ccaa94f..f58827e140d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -19896,7 +19896,11 @@ in { pyopencl = callPackage ../development/python-modules/pyopencl { }; - pyproj = callPackage ../development/python-modules/pyproj { }; + pyproj = callPackage ../development/python-modules/pyproj { + # pyproj does *work* if you want to use a system supplied proj, but with the current version(s) the tests fail by + # a few decimal places, so caveat emptor. + proj = null; + }; pyrr = buildPythonPackage rec { name = "pyrr-${version}";