diff --git a/pkgs/development/python-modules/hiro/default.nix b/pkgs/development/python-modules/hiro/default.nix new file mode 100644 index 00000000000..0289c008e7e --- /dev/null +++ b/pkgs/development/python-modules/hiro/default.nix @@ -0,0 +1,19 @@ +{ stdenv, buildPythonPackage, fetchPypi, six, mock }: +buildPythonPackage rec { + pname = "hiro"; + version = "0.1.4"; + src = fetchPypi { + inherit pname version; + + sha256 = "1340lhg7k522bqpz5iakl51qb47mjw804mfwwzm77i7qcm5cwiz8"; + }; + + propagatedBuildInputs = [ six mock ]; + + meta = with stdenv.lib; { + description = "Time manipulation utilities for Python"; + homepage = http://hiro.readthedocs.io/en/latest/; + license = licenses.mit; + maintainers = with maintainers; [ nyarly ]; + }; +} diff --git a/pkgs/development/python-modules/keyrings-alt/default.nix b/pkgs/development/python-modules/keyrings-alt/default.nix new file mode 100644 index 00000000000..140d4297cda --- /dev/null +++ b/pkgs/development/python-modules/keyrings-alt/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildPythonPackage, fetchPypi, six +, pytest, unittest2, mock, keyring +}: + +buildPythonPackage rec { + pname = "keyrings.alt"; + version = "2.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "5cb9b6cdb5ce5e8216533e342d3e1b418ddd210466834061966d7dc1a4736f2d"; + }; + propagatedBuildInputs = [ six ]; + + # Fails with "ImportError: cannot import name mock" + doCheck = false; + checkInputs = [ pytest unittest2 mock keyring ]; + + meta = with stdenv.lib; { + license = licenses.mit; + description = "Alternate keyring implementations"; + homepage = https://github.com/jaraco/keyrings.alt; + maintainers = with maintainers; [ nyarly ]; + }; +} diff --git a/pkgs/development/tools/jira_cli/default.nix b/pkgs/development/tools/jira_cli/default.nix new file mode 100644 index 00000000000..37b76c50e90 --- /dev/null +++ b/pkgs/development/tools/jira_cli/default.nix @@ -0,0 +1,32 @@ +{ stdenv, libffi, openssl, pythonPackages }: +let + inherit (pythonPackages) fetchPypi buildPythonApplication vcrpy mock hiro; +in + buildPythonApplication rec { + pname = "jira-cli"; + version = "2.2"; + src = fetchPypi { + inherit pname version; + sha256 = "314118d5d851394ebf910122fd7ce871f63581393968c71456441eb56be3b112"; + }; + + postPatch = '' + substituteInPlace requirements/main.txt --replace "argparse" "" + ''; + + # Tests rely on VCR cassettes being written during tests. R/O nix store prevents this. + doCheck = false; + checkInputs = with pythonPackages; [ vcrpy mock hiro ]; + buildInputs = [ libffi openssl ]; + propagatedBuildInputs = with pythonPackages; [ + argparse ordereddict requests six suds-jurko termcolor keyring + jira keyrings-alt + ]; + + meta = with stdenv.lib; { + description = "A command line interface to Jira"; + homepage = http://github.com/alisaifee/jira-cli; + maintainers = with maintainers; [ nyarly ]; + license = licenses.mit; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 681f490bf01..7dec9999b6d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3160,6 +3160,8 @@ with pkgs; jing = self.jing-trang; jing-trang = callPackage ../tools/text/xml/jing-trang { }; + jira-cli = callPackage ../development/tools/jira_cli { }; + jl = haskellPackages.callPackage ../development/tools/jl { }; jmespath = callPackage ../development/tools/jmespath { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c1b1b2f6266..ed9a11d38db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2949,6 +2949,8 @@ in { }; + hiro = callPackage ../development/python-modules/hiro {}; + hglib = callPackage ../development/python-modules/hglib {}; humanize = buildPythonPackage rec { @@ -5027,6 +5029,7 @@ in { }; }; + keyrings-alt = callPackage ../development/python-modules/keyrings-alt {}; SPARQLWrapper = buildPythonPackage rec { name = "SPARQLWrapper-${version}";