From 1faec393f1ddf1e1f434c07649b23622e0af69b4 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Mon, 6 Aug 2018 15:48:22 -0700 Subject: [PATCH 1/3] pythonPackages.cli-helpers: init at 1.0.2 --- .../python-modules/cli-helpers/default.nix | 59 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/cli-helpers/default.nix diff --git a/pkgs/development/python-modules/cli-helpers/default.nix b/pkgs/development/python-modules/cli-helpers/default.nix new file mode 100644 index 000000000000..69b811a94f4f --- /dev/null +++ b/pkgs/development/python-modules/cli-helpers/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, fetchPypi +, terminaltables +, tabulate +, backports_csv +, wcwidth +, pytest +, isPy27 +}: + +buildPythonPackage rec { + pname = "cli_helpers"; + version = "1.0.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "1z5rqm8pznj6bvivm2al8rsxm82rai8hc9bqrgh3ksnbzg2kfy7p"; + }; + + propagatedBuildInputs = [ + terminaltables + tabulate + wcwidth + ] ++ (lib.optionals isPy27 [ backports_csv ]); + + checkInputs = [ pytest ]; + + checkPhase = '' + py.test + ''; + + meta = with lib; { + description = "Python helpers for common CLI tasks"; + longDescription = '' + CLI Helpers is a Python package that makes it easy to perform common + tasks when building command-line apps. It's a helper library for + command-line interfaces. + + Libraries like Click and Python Prompt Toolkit are amazing tools that + help you create quality apps. CLI Helpers complements these libraries by + wrapping up common tasks in simple interfaces. + + CLI Helpers is not focused on your app's design pattern or framework -- + you can use it on its own or in combination with other libraries. It's + lightweight and easy to extend. + + What's included in CLI Helpers? + + - Prettyprinting of tabular data with custom pre-processing + - [in progress] config file reading/writing + + Read the documentation at http://cli-helpers.rtfd.io + ''; + homepage = https://cli-helpers.readthedocs.io/en/stable/; + license = licenses.bsd3 ; + maintainers = [ maintainers.kalbasit ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 13cf481a16f4..f18bf46eb884 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1104,6 +1104,8 @@ in { cheroot = callPackage ../development/python-modules/cheroot {}; + cli-helpers = callPackage ../development/python-modules/cli-helpers {}; + cmarkgfm = callPackage ../development/python-modules/cmarkgfm { }; circus = callPackage ../development/python-modules/circus {}; From 16cfc2a602caf2c8e78ced1e3549512b0e64e438 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Mon, 6 Aug 2018 23:40:13 -0700 Subject: [PATCH 2/3] pythonPackages.pymysql: 0.6.6 -> 0.9.2; move to python-modules --- .../python-modules/pymysql/default.nix | 27 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 21 ++------------- 2 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 pkgs/development/python-modules/pymysql/default.nix diff --git a/pkgs/development/python-modules/pymysql/default.nix b/pkgs/development/python-modules/pymysql/default.nix new file mode 100644 index 000000000000..b440df309977 --- /dev/null +++ b/pkgs/development/python-modules/pymysql/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +, cryptography +}: + +buildPythonPackage rec { + pname = "PyMySQL"; + version = "0.9.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "0gvi63f1zq1bbd30x28kqyx351hal1yc323ckp0mihainb5n1iwy"; + }; + + propagatedBuildInputs = [ cryptography ]; + + # Wants to connect to MySQL + doCheck = false; + + meta = with lib; { + description = "Pure Python MySQL Client"; + homepage = https://github.com/PyMySQL/PyMySQL; + license = licenses.mit; + maintainers = [ maintainers.kalbasit ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f18bf46eb884..40273b563402 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -352,6 +352,8 @@ in { plantuml = callPackage ../tools/misc/plantuml { }; + pymysql = callPackage ../development/python-modules/pymysql { }; + Pmw = callPackage ../development/python-modules/Pmw { }; py_stringmatching = callPackage ../development/python-modules/py_stringmatching { }; @@ -8097,25 +8099,6 @@ in { }; }; - pymysql = buildPythonPackage rec { - name = "pymysql-${version}"; - version = "0.6.6"; - src = pkgs.fetchgit { - url = https://github.com/PyMySQL/PyMySQL.git; - rev = "refs/tags/pymysql-${version}"; - sha256 = "0kpw11rxpyyhs9b139hxhbnx9n5kzjjw10wgwvhnf9m3mv7j4n71"; - }; - - buildInputs = with self; [ unittest2 ]; - - checkPhase = '' - ${python.interpreter} runtests.py - ''; - - # Wants to connect to MySQL - doCheck = false; - }; - pymysqlsa = self.buildPythonPackage rec { name = "pymysqlsa-${version}"; version = "1.0"; From e9cb147a3791c847958f89a11d03e64a9c7fd77d Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Mon, 6 Aug 2018 23:40:56 -0700 Subject: [PATCH 3/3] mycli: 1.6.0 -> 1.17.0 --- pkgs/tools/admin/mycli/default.nix | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/admin/mycli/default.nix b/pkgs/tools/admin/mycli/default.nix index 1a85bf21b224..d01dca459591 100644 --- a/pkgs/tools/admin/mycli/default.nix +++ b/pkgs/tools/admin/mycli/default.nix @@ -1,28 +1,31 @@ { lib -, python +, python3 +, glibcLocales }: -with python.pkgs; +with python3.pkgs; buildPythonApplication rec { pname = "mycli"; - version = "1.6.0"; + version = "1.17.0"; src = fetchPypi { inherit pname version; - sha256 = "0qg4b62kizyb16kk0cvpk70bfs3gg4q4hj2b15nnc7a3gqqfp67j"; + sha256 = "11d3ssjifms6bid77jk06zl5wl3srihijmv5kggxa0w2l59y8h9m"; }; propagatedBuildInputs = [ - pymysql configobj sqlparse prompt_toolkit pygments click pycrypto + pymysql configobj sqlparse prompt_toolkit pygments click pycrypto cli-helpers ]; - postPatch = '' - substituteInPlace setup.py --replace "==" ">=" - ''; + checkInputs = [ pytest mock glibcLocales ]; - # No tests in archive. Newer versions do include tests - doCheck = false; + checkPhase = '' + export HOME=. + export LC_ALL="en_US.UTF-8" + + py.test + ''; meta = { inherit version;