From de0fb400bf8ed17ce8248da1615e2c2492fb35a1 Mon Sep 17 00:00:00 2001 From: Glenn Searby Date: Fri, 21 Jul 2017 14:22:15 +0100 Subject: [PATCH 1/5] linode-api: init at 4.1.1b1 Added Linode's official Python library for their v4 API. This should assist with adding Linode support to Nixops (see: https://github.com/NixOS/nixops/issues/198). Note that this API is still in beta and subject to changes. --- lib/maintainers.nix | 1 + .../python-modules/linode-api/default.nix | 34 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 3 files changed, 37 insertions(+) create mode 100644 pkgs/development/python-modules/linode-api/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index e10136bf070e..e9a4f23c8c12 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -213,6 +213,7 @@ gilligan = "Tobias Pflug "; giogadi = "Luis G. Torres "; gleber = "Gleb Peregud "; + glenns = "Glenn Searby "; globin = "Robin Gloster "; gnidorah = "Alex Ivanov "; goibhniu = "Cillian de RĂ³iste "; diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix new file mode 100644 index 000000000000..b6e3de7357ca --- /dev/null +++ b/pkgs/development/python-modules/linode-api/default.nix @@ -0,0 +1,34 @@ +{ stdenv, + buildPythonPackage, + fetchPypi, + isPy3k, + pythonOlder, + lib, + requests, + future, + enum34 }: + +buildPythonPackage rec { + pname = "linode-api"; + version = "4.1.1b1"; + name = "${pname}-${version}"; + + disabled = (pythonOlder "2.7"); + + buildInputs = []; + propagatedBuildInputs = [ requests ] + ++ stdenv.lib.optionals (!isPy3k) [ future ] + ++ stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ]; + + src = fetchPypi { + inherit pname version; + sha256 = "1psf4sknxrjqiz833x4nmh2pw7xi2rvcm7l9lv8jfdwxza63sny5"; + }; + + 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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 104dd5354e7d..fb7befd63e5e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12589,6 +12589,8 @@ in { }; }; + linode-api = callPackage ../development/python-modules/linode-api { }; + livereload = buildPythonPackage rec { name = "livereload-${version}"; version = "2.5.0"; From 2d8118604572d18a5ef6217c53b9a26294e28448 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 23 Jul 2017 11:22:58 +0100 Subject: [PATCH 2/5] linode-api: 4.1.1b1 -> 4.1.1b2 --- pkgs/development/python-modules/linode-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix index b6e3de7357ca..ce46b6daaffa 100644 --- a/pkgs/development/python-modules/linode-api/default.nix +++ b/pkgs/development/python-modules/linode-api/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "linode-api"; - version = "4.1.1b1"; + version = "4.1.1b2"; name = "${pname}-${version}"; disabled = (pythonOlder "2.7"); @@ -22,7 +22,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "1psf4sknxrjqiz833x4nmh2pw7xi2rvcm7l9lv8jfdwxza63sny5"; + sha256 = "1lfqsll3wv1wzn98ymmcbw0yawj8ab3mxniws6kaxf99jd4a0xp4"; }; meta = { From 55af60a23f178459afd358bba3db9807c72a5a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 23 Jul 2017 11:23:28 +0100 Subject: [PATCH 3/5] pythonPackages.linode-api: disable future/enum34 on newer python versions --- pkgs/development/python-modules/linode-api/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix index ce46b6daaffa..869d4d50ea4e 100644 --- a/pkgs/development/python-modules/linode-api/default.nix +++ b/pkgs/development/python-modules/linode-api/default.nix @@ -15,11 +15,16 @@ buildPythonPackage rec { disabled = (pythonOlder "2.7"); - buildInputs = []; propagatedBuildInputs = [ requests ] ++ stdenv.lib.optionals (!isPy3k) [ future ] ++ stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ]; + postPatch = (stdenv.lib.optionalString (isPy3k) '' + sed -i -e '/"future",/d' setup.py + '') + (stdenv.lib.optionalString (!pythonOlder "3.4") '' + sed -i -e '/"enum34",/d' setup.py + ''); + src = fetchPypi { inherit pname version; sha256 = "1lfqsll3wv1wzn98ymmcbw0yawj8ab3mxniws6kaxf99jd4a0xp4"; From 29540286ec2781f81801163d0ccd12f0fdc0ebc6 Mon Sep 17 00:00:00 2001 From: Glenn Searby Date: Mon, 24 Jul 2017 11:42:49 +0100 Subject: [PATCH 4/5] future module needs to be imported even if we are running under Python 3. --- pkgs/development/python-modules/linode-api/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix index 869d4d50ea4e..e754bf5d4a7c 100644 --- a/pkgs/development/python-modules/linode-api/default.nix +++ b/pkgs/development/python-modules/linode-api/default.nix @@ -15,13 +15,10 @@ buildPythonPackage rec { disabled = (pythonOlder "2.7"); - propagatedBuildInputs = [ requests ] - ++ stdenv.lib.optionals (!isPy3k) [ future ] + propagatedBuildInputs = [ requests future ] ++ stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ]; - postPatch = (stdenv.lib.optionalString (isPy3k) '' - sed -i -e '/"future",/d' setup.py - '') + (stdenv.lib.optionalString (!pythonOlder "3.4") '' + postPatch = (stdenv.lib.optionalString (!pythonOlder "3.4") '' sed -i -e '/"enum34",/d' setup.py ''); From 12855b3d17d1cf3303538212da22aad8538527a6 Mon Sep 17 00:00:00 2001 From: Glenn Searby Date: Mon, 24 Jul 2017 12:21:08 +0100 Subject: [PATCH 5/5] Disabled tests (since there don't seem to be any). --- pkgs/development/python-modules/linode-api/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix index e754bf5d4a7c..a89596828f6a 100644 --- a/pkgs/development/python-modules/linode-api/default.nix +++ b/pkgs/development/python-modules/linode-api/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "linode-api"; - version = "4.1.1b2"; + version = "4.1.1b2"; # NOTE: this is a beta, and the API may change in future versions. name = "${pname}-${version}"; disabled = (pythonOlder "2.7"); @@ -22,6 +22,8 @@ buildPythonPackage rec { sed -i -e '/"enum34",/d' setup.py ''); + doCheck = false; # This library does not have any tests at this point. + src = fetchPypi { inherit pname version; sha256 = "1lfqsll3wv1wzn98ymmcbw0yawj8ab3mxniws6kaxf99jd4a0xp4";