about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/linode-api/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/linode-api/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/linode-api/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/linode-api/default.nix b/nixpkgs/pkgs/development/python-modules/linode-api/default.nix
new file mode 100644
index 000000000000..4689050ba6c7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/linode-api/default.nix
@@ -0,0 +1,41 @@
+{ stdenv,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  lib,
+  requests,
+  future,
+  enum34,
+  mock }:
+
+buildPythonPackage rec {
+  pname = "linode-api";
+  version = "4.1.8b1"; # NOTE: this is a beta, and the API may change in future versions.
+
+  disabled = (pythonOlder "2.7");
+
+  propagatedBuildInputs = [ requests future ]
+                             ++ stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ];
+
+  postPatch = (stdenv.lib.optionalString (!pythonOlder "3.4") ''
+    sed -i -e '/"enum34",/d' setup.py
+  '');
+
+  doCheck = true;
+  checkInputs = [ mock ];
+
+  # Sources from Pypi exclude test fixtures
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "linode";
+    repo = "python-linode-api";
+    sha256 = "0qfqn92fr876dncwbkf2vhm90hnf7lwpg80hzwyzyzwz1hcngvjg";
+  };
+
+  meta = {
+    homepage = "https://github.com/linode/python-linode-api";
+    description = "The official python library for the Linode API v4 in python.";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ glenns ];
+  };
+}