summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-07-17 23:05:55 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2018-07-19 01:26:35 +0200
commit1e454c5045b325948a215cae6d8c25eb853c5ed5 (patch)
tree2b0e1697231d472d7a167dd1aa01c33d71683d04
parentd3d1b888737e7db53ad5d67a2585444fcc8cb7da (diff)
downloadnixlib-1e454c5045b325948a215cae6d8c25eb853c5ed5.tar
nixlib-1e454c5045b325948a215cae6d8c25eb853c5ed5.tar.gz
nixlib-1e454c5045b325948a215cae6d8c25eb853c5ed5.tar.bz2
nixlib-1e454c5045b325948a215cae6d8c25eb853c5ed5.tar.lz
nixlib-1e454c5045b325948a215cae6d8c25eb853c5ed5.tar.xz
nixlib-1e454c5045b325948a215cae6d8c25eb853c5ed5.tar.zst
nixlib-1e454c5045b325948a215cae6d8c25eb853c5ed5.zip
pythonPackages.graphite_api: move expression
According to the current convention python packages should live in
`pkgs/development/python-modules`. As I altered the `graphite_api`
expression previously in d3d1b888737 I decided to move it as well.

Additionally I applied some minor refactorings:

* use `fetchFromGitHub` instead of `fetchgit`.

* use `checkInputs` for test dependencies

* got rid of fixed points

* applied patch which supports flask-caching to 1.3.1 using `git apply
  -3`
-rw-r--r--pkgs/development/python-modules/graphite-api/default.nix45
-rw-r--r--pkgs/development/python-modules/graphite-api/flask-caching-rebased.patch132
-rw-r--r--pkgs/top-level/python-packages.nix39
3 files changed, 178 insertions, 38 deletions
diff --git a/pkgs/development/python-modules/graphite-api/default.nix b/pkgs/development/python-modules/graphite-api/default.nix
new file mode 100644
index 000000000000..7f1726a2c4b9
--- /dev/null
+++ b/pkgs/development/python-modules/graphite-api/default.nix
@@ -0,0 +1,45 @@
+{ buildPythonPackage, fetchFromGitHub, lib, flask, flask-caching, cairocffi, pyparsing, pytz, pyyaml
+, raven, six, structlog, tzlocal, nose, mock, cairo, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "graphite-api";
+  version = "1.1.3";
+
+  disabled = isPyPy;
+
+  src = fetchFromGitHub {
+    owner = "brutasse";
+    repo = "graphite-api";
+    rev = version;
+    sha256 = "0sz3kav2024ms2z4q03pigcf080gsr5v774z9bp3zw29k2p47ass";
+  };
+
+  # https://github.com/brutasse/graphite-api/pull/239 rebased onto 1.1.3
+  patches = [ ./flask-caching-rebased.patch ];
+
+  checkPhase = "nosetests";
+
+  propagatedBuildInputs = [
+    flask
+    flask-caching
+    cairocffi
+    pyparsing
+    pytz
+    pyyaml
+    raven
+    six
+    structlog
+    tzlocal
+  ];
+
+  checkInputs = [ nose mock ];
+
+  LD_LIBRARY_PATH = "${cairo.out}/lib";
+
+  meta = with lib; {
+    description = "Graphite-web, without the interface. Just the rendering HTTP API";
+    homepage = https://github.com/brutasse/graphite-api;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/graphite-api/flask-caching-rebased.patch b/pkgs/development/python-modules/graphite-api/flask-caching-rebased.patch
new file mode 100644
index 000000000000..2d4a2f29bc43
--- /dev/null
+++ b/pkgs/development/python-modules/graphite-api/flask-caching-rebased.patch
@@ -0,0 +1,132 @@
+diff --git a/graphite_api/config.py b/graphite_api/config.py
+index 5e1e382..dc033a8 100644
+--- a/graphite_api/config.py
++++ b/graphite_api/config.py
+@@ -112,11 +112,11 @@ def configure(app):
+     app.cache = None
+     if 'cache' in config:
+         try:
+-            from flask.ext.cache import Cache
++            from flask_caching import Cache
+         except ImportError:
+             warnings.warn("'cache' is provided in the configuration but "
+-                          "Flask-Cache is not installed. Please `pip install "
+-                          "Flask-Cache`.")
++                          "flask-caching is not installed. Please `pip "
++                          "install flask-caching`.")
+         else:
+             cache_conf = {'CACHE_DEFAULT_TIMEOUT': 60,
+                           'CACHE_KEY_PREFIX': 'graphite-api:'}
+diff --git a/requirements.txt b/requirements.txt
+index c68b446..7826b0c 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ Flask
+-Flask-Cache
++Flask-Caching
+ cairocffi
+ pyparsing>=1.5.7
+ pytz
+diff --git a/setup.py b/setup.py
+index 0337cbe..df07989 100644
+--- a/setup.py
++++ b/setup.py
+@@ -38,7 +38,7 @@ setup(
+     extras_require={
+         'sentry': ['raven[flask]'],
+         'cyanite': ['cyanite'],
+-        'cache': ['Flask-Cache'],
++        'cache': ['Flask-Caching'],
+         'statsd': ['statsd'],
+     },
+     zip_safe=False,
+diff --git a/tests/test_render.py b/tests/test_render.py
+index be5609d..a0e7190 100644
+--- a/tests/test_render.py
++++ b/tests/test_render.py
+@@ -8,7 +8,7 @@ from graphite_api._vendor import whisper
+ from . import TestCase, WHISPER_DIR
+ 
+ try:
+-    from flask.ext.cache import Cache
++    from flask_caching import Cache
+ except ImportError:
+     Cache = None
+ 
+diff --git a/tox.ini b/tox.ini
+index 85a0abb..c820393 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -47,7 +47,7 @@ basepython = python2.7
+ deps =
+ 	{[testenv]deps}
+ 	Flask
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing
+ 	mock
+ 
+@@ -56,7 +56,7 @@ basepython = python3.3
+ deps =
+ 	{[testenv]deps}
+ 	Flask
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing
+ 
+ [testenv:py34]
+@@ -66,7 +66,7 @@ commands =
+ deps =
+ 	{[testenv]deps}
+ 	Flask
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing
+ 
+ [testenv:py35]
+@@ -76,7 +76,7 @@ commands =
+ deps =
+ 	{[testenv]deps}
+ 	Flask
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing
+ 
+ [testenv:pyparsing1]
+@@ -84,7 +84,7 @@ basepython = python2.7
+ deps =
+ 	{[testenv]deps}
+ 	Flask
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing==1.5.7
+ 	mock
+ 
+@@ -93,7 +93,7 @@ basepython = pypy
+ deps =
+ 	{[testenv]deps}
+ 	Flask
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing
+ 	mock
+ 
+@@ -102,7 +102,7 @@ basepython = python2.7
+ deps =
+ 	{[testenv]deps}
+ 	Flask<0.9
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing
+ 	mock
+ 
+@@ -111,7 +111,7 @@ basepython = python2.7
+ deps =
+ 	{[testenv]deps}
+ 	Flask<0.10
+-	Flask-Cache
++	Flask-Caching
+ 	pyparsing
+ 	mock
+ 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3ea8348314b5..07cf9e5623a1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -15821,44 +15821,7 @@ EOF
     };
   };
 
-  graphite_api = buildPythonPackage rec {
-    name = "graphite-api-1.0.1";
-    disabled = isPyPy;
-
-    src = pkgs.fetchgit {
-      url = "https://github.com/brutasse/graphite-api.git";
-      rev = "b6f75e8a08fae695c094fece6de611b893fc65fb";
-      sha256 = "1n8h5krhv7hzmn336y9vjrmv6b6009lz5hj0d9wz7v1k2500ws5k";
-    };
-
-    checkPhase = "nosetests";
-
-    propagatedBuildInputs = with self; [
-      flask
-      flask-caching
-      cairocffi
-      pyparsing
-      pytz
-      pyyaml
-      raven
-      six
-      structlog
-      tzlocal
-    ];
-
-    buildInputs = with self; [
-      nose
-      mock
-    ];
-
-    LD_LIBRARY_PATH = "${pkgs.cairo.out}/lib";
-
-    meta = {
-      description = "Graphite-web, without the interface. Just the rendering HTTP API";
-      homepage = https://github.com/brutasse/graphite-api;
-      license = licenses.asl20;
-    };
-  };
+  graphite_api = callPackage ../development/python-modules/graphite-api { };
 
   graphite_beacon = buildPythonPackage rec {
     name = "graphite_beacon-0.27.0";