From df96c26e750992c96757889df889b89beced6599 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Sun, 3 Sep 2017 08:58:44 +0000 Subject: [PATCH 1/9] pythonPackages.shapely: Fix search for libc This should fix the search for libc's free method on both linux and darwin. --- pkgs/top-level/python-packages.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bb5aef27f13..d37c7bef7e1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -21672,8 +21672,11 @@ in { export LANG="en_US.UTF-8"; ''; - patchPhase = '' - sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${pkgs.geos}/lib/libgeos_c.so'])|" shapely/geos.py + patchPhase = let + libc = if stdenv.isDarwin then "libc.dylib" else "libc.so.6"; + in '' + sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${pkgs.geos}/lib/libgeos_c.${sharedLibraryExtension}'])|" shapely/geos.py + sed -i "s|free = load_dll('c').free|free = load_dll('c', fallbacks=['${stdenv.cc.libc}/lib/${libc}']).free|" shapely/geos.py ''; # tests/test_voctorized fails because the vectorized extension is not @@ -21684,6 +21687,7 @@ in { meta = { description = "Geometric objects, predicates, and operations"; + maintainers = with maintainers; [ knedlsepp ]; homepage = "https://pypi.python.org/pypi/Shapely/"; }; }; From d25edeb3ee26d8bab17ede29555f23ee92f559da Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Sun, 3 Sep 2017 09:01:33 +0000 Subject: [PATCH 2/9] pythonPackages.click-plugins: init at 1.0.3 --- .../python-modules/click-plugins/default.nix | 29 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/python-modules/click-plugins/default.nix diff --git a/pkgs/development/python-modules/click-plugins/default.nix b/pkgs/development/python-modules/click-plugins/default.nix new file mode 100644 index 00000000000..3ae8537c6c0 --- /dev/null +++ b/pkgs/development/python-modules/click-plugins/default.nix @@ -0,0 +1,29 @@ +{ stdenv, buildPythonPackage, fetchPypi, + click, pytest +}: + +buildPythonPackage rec { + pname = "click-plugins"; + version = "1.0.3"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "1ifphgaw5mmcdnqd0qfnmrbm62q3k6p573aff4cxgpyjxmz5xk3s"; + }; + + propagatedBuildInputs = [ + click + ]; + + checkInputs = [ + pytest + ]; + + meta = with stdenv.lib; { + description = "An extension module for click to enable registering CLI commands"; + homepage = https://github.com/click-contrib/click-plugins; + license = licenses.bsd3; + maintainers = with maintainers; [ knedlsepp ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d37c7bef7e1..f9599beddc2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3042,6 +3042,8 @@ in { }; }; + click-plugins = callPackage ../development/python-modules/click-plugins {}; + click-threading = buildPythonPackage rec { version = "0.4.2"; name = "click-threading-${version}"; From 4d70d536183c01a54b083db0309157ce522ea86a Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Sun, 3 Sep 2017 09:02:28 +0000 Subject: [PATCH 3/9] pythonPackages.cligq: init at 0.4.0 --- .../python-modules/cligj/default.nix | 25 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/python-modules/cligj/default.nix diff --git a/pkgs/development/python-modules/cligj/default.nix b/pkgs/development/python-modules/cligj/default.nix new file mode 100644 index 00000000000..12b597f3698 --- /dev/null +++ b/pkgs/development/python-modules/cligj/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildPythonPackage, fetchPypi, + click +}: + +buildPythonPackage rec { + pname = "cligj"; + version = "0.4.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0m1zic66nay2rymfa9krd3jfpyajxjnbmzw7c2q764aw9ychgb8j"; + }; + + propagatedBuildInputs = [ + click + ]; + + meta = with stdenv.lib; { + description = "Click params for commmand line interfaces to GeoJSON"; + homepage = https://github.com/mapbox/cligj; + license = licenses.bsd3; + maintainers = with maintainers; [ knedlsepp ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f9599beddc2..eaad744c8bf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3071,6 +3071,8 @@ in { }; }; + cligj = callPackage ../development/python-modules/cligj { }; + clepy = buildPythonPackage rec { name = "clepy-0.3.20"; From f039bb6b4ec5778a95068f36cd3eedf0bed98cf8 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Sun, 3 Sep 2017 09:04:34 +0000 Subject: [PATCH 4/9] pythonPackages.descartes: init at 1.1.0 --- .../python-modules/descartes/default.nix | 26 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/python-modules/descartes/default.nix diff --git a/pkgs/development/python-modules/descartes/default.nix b/pkgs/development/python-modules/descartes/default.nix new file mode 100644 index 00000000000..1407dd3d204 --- /dev/null +++ b/pkgs/development/python-modules/descartes/default.nix @@ -0,0 +1,26 @@ +{ stdenv, buildPythonPackage, fetchPypi, + matplotlib, shapely +}: + +buildPythonPackage rec { + pname = "descartes"; + version = "1.1.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0nq36w9ylvfwmwn5qd9c8fsp2jzsqpmy4xcr6pzxcpmg8qhm0nhk"; + }; + + propagatedBuildInputs = [ + matplotlib + shapely + ]; + + meta = with stdenv.lib; { + description = "Python library to use Shapely or GeoJSON objects as matplotlib paths"; + homepage = https://bitbucket.org/sgillies/descartes/; + license = licenses.bsd3; + maintainers = with maintainers; [ knedlsepp ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eaad744c8bf..ea0527d8cc2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8997,6 +8997,8 @@ in { }; }); + descartes = callPackage ../development/python-modules/descartes { }; + distutils_extra = buildPythonPackage rec { name = "distutils-extra-${version}"; version = "2.39"; From aad9a691ab8905031c499f6cabd7284e596a079d Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Sun, 3 Sep 2017 09:05:57 +0000 Subject: [PATCH 5/9] pythonPackages.fiona: init at 1.7.9 --- .../python-modules/fiona/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/fiona/default.nix diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix new file mode 100644 index 00000000000..42e8e423bdd --- /dev/null +++ b/pkgs/development/python-modules/fiona/default.nix @@ -0,0 +1,41 @@ +{ stdenv, buildPythonPackage, fetchPypi, + six, cligj, munch, click-plugins, enum34, pytest, nose, + gdal +}: + +buildPythonPackage rec { + pname = "Fiona"; + version = "1.7.9"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "1fmdgpfnifaqfqwkfiwkpk19wmpi9avmh8a7jqylqi578jvp3fwi"; + }; + + buildInputs = [ + gdal + ]; + + propagatedBuildInputs = [ + six + cligj + munch + click-plugins + enum34 + ]; + + checkInputs = [ + pytest + nose + ]; + + doCheck = false; + + meta = with stdenv.lib; { + description = "OGR's neat, nimble, no-nonsense API for Python"; + homepage = http://toblerity.org/fiona/; + license = licenses.bsd3; + maintainers = with maintainers; [ knedlsepp ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ea0527d8cc2..80dcfa5662f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9917,6 +9917,8 @@ in { }; }; + fiona = callPackage ../development/python-modules/fiona { gdal = pkgs.gdal; }; + flake8 = callPackage ../development/python-modules/flake8 { }; flake8-blind-except = callPackage ../development/python-modules/flake8-blind-except { }; From 05ac3f95209ed3b233191c9ffe6123c542726259 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Sun, 3 Sep 2017 09:06:33 +0000 Subject: [PATCH 6/9] pythonPackages.geopandas: init at 0.3.0 --- .../python-modules/geopandas/default.nix | 28 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/python-modules/geopandas/default.nix diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix new file mode 100644 index 00000000000..c048f9d01ed --- /dev/null +++ b/pkgs/development/python-modules/geopandas/default.nix @@ -0,0 +1,28 @@ +{ stdenv, buildPythonPackage, fetchPypi, + pandas, shapely, fiona, descartes, pyproj }: + +buildPythonPackage rec { + pname = "geopandas"; + version = "0.3.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "02wj58aqyq1nr0axz2vci72zvpkmalrj570lrndqqvai7qmb6fz6"; + }; + + propagatedBuildInputs = [ + pandas + shapely + fiona + descartes + pyproj + ]; + + meta = with stdenv.lib; { + description = "Python geospatial data analysis framework"; + homepage = https://geopandas.org; + license = licenses.bsd3; + maintainers = with maintainers; [ knedlsepp ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 80dcfa5662f..1b7c2746830 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10725,6 +10725,8 @@ in { }; + geopandas = callPackage ../development/python-modules/geopandas { }; + gevent-websocket = buildPythonPackage rec { name = "gevent-websocket-0.9.3"; From 1dbe68a5e8d52a70d815671023566058a14c70fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 5 Sep 2017 08:20:30 +0100 Subject: [PATCH 7/9] python.pkgs.geopandas: fix tests --- .../python-modules/geopandas/default.nix | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix index c048f9d01ed..f8f54e0e429 100644 --- a/pkgs/development/python-modules/geopandas/default.nix +++ b/pkgs/development/python-modules/geopandas/default.nix @@ -1,16 +1,24 @@ -{ stdenv, buildPythonPackage, fetchPypi, - pandas, shapely, fiona, descartes, pyproj }: +{ stdenv, buildPythonPackage, fetchFromGitHub +, pandas, shapely, fiona, descartes, pyproj +, pytest }: buildPythonPackage rec { - pname = "geopandas"; + name = "geopandas-${version}"; version = "0.3.0"; - name = "${pname}-${version}"; - src = fetchPypi { - inherit pname version; - sha256 = "02wj58aqyq1nr0axz2vci72zvpkmalrj570lrndqqvai7qmb6fz6"; + src = fetchFromGitHub { + owner = "geopandas"; + repo = "geopandas"; + rev = "v${version}"; + sha256 = "0maafafr7sjjmlg2f19bizg06c8a5z5igmbcgq6kgmi7rklx8xxz"; }; + checkInputs = [ pytest ]; + + checkPhase = '' + py.test geopandas + ''; + propagatedBuildInputs = [ pandas shapely From 85011d70845f5705d6b06ba2a3c2a10eb352fcd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 5 Sep 2017 08:38:02 +0100 Subject: [PATCH 8/9] python.pkgs.shapely: fix library extension there was one dot too much --- .../python-modules/shapely/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 39 +--------------- 2 files changed, 45 insertions(+), 38 deletions(-) create mode 100644 pkgs/development/python-modules/shapely/default.nix diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix new file mode 100644 index 00000000000..8b8b06f9a2c --- /dev/null +++ b/pkgs/development/python-modules/shapely/default.nix @@ -0,0 +1,44 @@ +{ stdenv, buildPythonPackage, fetchPypi +, geos, glibcLocales, pytest, cython, sharedLibraryExtension +, numpy +}: + +buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "Shapely"; + version = "1.5.15"; + + src = fetchPypi { + inherit pname version; + sha256 = "0lfqxb3kpdn0g9zzlhzg79yc8iyy4fpsk0p5nd80gar1mmhr8pg7"; + }; + + buildInputs = [ geos glibcLocales cython ]; + + checkInputs = [ pytest ]; + + propagatedBuildInputs = [ numpy ]; + + preConfigure = '' + export LANG="en_US.UTF-8"; + ''; + + patchPhase = let + libc = if stdenv.isDarwin then "libc.dylib" else "libc.so.6"; + in '' + sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${geos}/lib/libgeos_c${sharedLibraryExtension}'])|" shapely/geos.py + sed -i "s|free = load_dll('c').free|free = load_dll('c', fallbacks=['${stdenv.cc.libc}/lib/${stdenv.cc.libc}']).free|" shapely/geos.py + ''; + + # tests/test_voctorized fails because the vectorized extension is not + # available in when running tests + checkPhase = '' + py.test --ignore tests/test_vectorized.py + ''; + + meta = with stdenv.lib; { + description = "Geometric objects, predicates, and operations"; + maintainers = with maintainers; [ knedlsepp ]; + homepage = "https://pypi.python.org/pypi/Shapely/"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1b7c2746830..94dcfa32322 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -21665,44 +21665,7 @@ in { }; }; - shapely = buildPythonPackage rec { - name = "Shapely-${version}"; - version = "1.5.15"; - - src = pkgs.fetchurl { - url = "mirror://pypi/S/Shapely/${name}.tar.gz"; - sha256 = "0lfqxb3kpdn0g9zzlhzg79yc8iyy4fpsk0p5nd80gar1mmhr8pg7"; - }; - - buildInputs = with self; [ pkgs.geos pkgs.glibcLocales pytest cython ]; - - propagatedBuildInputs = with self; [ numpy ]; - - preConfigure = '' - export LANG="en_US.UTF-8"; - ''; - - patchPhase = let - libc = if stdenv.isDarwin then "libc.dylib" else "libc.so.6"; - in '' - sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${pkgs.geos}/lib/libgeos_c.${sharedLibraryExtension}'])|" shapely/geos.py - sed -i "s|free = load_dll('c').free|free = load_dll('c', fallbacks=['${stdenv.cc.libc}/lib/${libc}']).free|" shapely/geos.py - ''; - - # tests/test_voctorized fails because the vectorized extension is not - # available in when running tests - checkPhase = '' - py.test --ignore tests/test_vectorized.py - ''; - - meta = { - description = "Geometric objects, predicates, and operations"; - maintainers = with maintainers; [ knedlsepp ]; - homepage = "https://pypi.python.org/pypi/Shapely/"; - }; - }; - - + shapely = callPackage ../development/python-modules/shapely { }; sopel = buildPythonPackage rec { name = "sopel-6.3.1"; From e1eb89e3e10f5cf6e438cdb9fb7da2df34a7da24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 5 Sep 2017 08:42:53 +0100 Subject: [PATCH 9/9] python.pkgs.cligj: enable tests --- .../python-modules/cligj/default.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/cligj/default.nix b/pkgs/development/python-modules/cligj/default.nix index 12b597f3698..91b289e2ede 100644 --- a/pkgs/development/python-modules/cligj/default.nix +++ b/pkgs/development/python-modules/cligj/default.nix @@ -1,5 +1,5 @@ -{ stdenv, buildPythonPackage, fetchPypi, - click +{ stdenv, buildPythonPackage, fetchFromGitHub +, click, pytest, glibcLocales }: buildPythonPackage rec { @@ -7,15 +7,23 @@ buildPythonPackage rec { version = "0.4.0"; name = "${pname}-${version}"; - src = fetchPypi { - inherit pname version; - sha256 = "0m1zic66nay2rymfa9krd3jfpyajxjnbmzw7c2q764aw9ychgb8j"; + src = fetchFromGitHub { + owner = "mapbox"; + repo = "cligj"; + rev = version; + sha256 = "0fclxagxv23v75yiypb29a8sja23dakhvmx3blmxyhg2sci92sx8"; }; propagatedBuildInputs = [ click ]; + checkInputs = [ pytest glibcLocales ]; + + checkPhase = '' + LC_ALL=en_US.utf-8 pytest tests + ''; + meta = with stdenv.lib; { description = "Click params for commmand line interfaces to GeoJSON"; homepage = https://github.com/mapbox/cligj;