2018-06-14 02:25:58 +01:00
|
|
|
{ stdenv, fetchPypi, buildPythonPackage, pythonOlder, isPy3k
|
2019-01-18 11:01:06 +00:00
|
|
|
, pyperclip, six, pyparsing, vim, wcwidth, colorama, attrs
|
2018-10-15 11:10:30 +01:00
|
|
|
, contextlib2 ? null, typing ? null, setuptools_scm
|
|
|
|
, pytest, mock ? null, pytest-mock
|
|
|
|
, which, glibcLocales
|
2018-02-28 13:55:02 +00:00
|
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "cmd2";
|
2019-01-17 15:12:54 +00:00
|
|
|
version = "0.9.7";
|
2018-02-28 13:55:02 +00:00
|
|
|
|
2018-06-14 02:25:58 +01:00
|
|
|
src = fetchPypi {
|
|
|
|
inherit pname version;
|
2019-01-17 15:12:54 +00:00
|
|
|
sha256 = "b04a3421be2ae35e7e8347e29c2f3960eed38d0163e312845147d5d828a09379";
|
2018-02-28 13:55:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
LC_ALL="en_US.UTF-8";
|
|
|
|
|
|
|
|
postPatch = stdenv.lib.optional stdenv.isDarwin ''
|
|
|
|
# Fake the impure dependencies pbpaste and pbcopy
|
|
|
|
mkdir bin
|
2019-01-15 22:41:31 +00:00
|
|
|
echo '#${stdenv.shell}' > bin/pbpaste
|
|
|
|
echo '#${stdenv.shell}' > bin/pbcopy
|
2018-02-28 13:55:02 +00:00
|
|
|
chmod +x bin/{pbcopy,pbpaste}
|
|
|
|
export PATH=$(realpath bin):$PATH
|
|
|
|
'';
|
|
|
|
|
2018-06-14 02:25:58 +01:00
|
|
|
disabled = !isPy3k;
|
2018-02-28 13:55:02 +00:00
|
|
|
|
2018-08-30 18:12:47 +01:00
|
|
|
buildInputs = [
|
|
|
|
setuptools_scm
|
|
|
|
];
|
|
|
|
|
2018-02-28 13:55:02 +00:00
|
|
|
propagatedBuildInputs = [
|
2018-06-14 02:25:58 +01:00
|
|
|
colorama
|
2018-02-28 13:55:02 +00:00
|
|
|
pyperclip
|
|
|
|
six
|
|
|
|
pyparsing
|
2018-06-14 02:25:58 +01:00
|
|
|
wcwidth
|
2019-01-18 11:01:06 +00:00
|
|
|
attrs
|
2018-02-28 13:55:02 +00:00
|
|
|
]
|
2018-10-15 11:10:30 +01:00
|
|
|
++ stdenv.lib.optionals (pythonOlder "3.5") [contextlib2 typing]
|
2018-02-28 13:55:02 +00:00
|
|
|
;
|
|
|
|
|
2018-10-15 11:10:30 +01:00
|
|
|
|
|
|
|
doCheck = !stdenv.isDarwin;
|
|
|
|
# pytest-cov
|
|
|
|
# argcomplete will generate errors
|
|
|
|
checkInputs= [ pytest mock which vim glibcLocales pytest-mock ]
|
|
|
|
++ stdenv.lib.optional (pythonOlder "3.6") [ mock ];
|
|
|
|
checkPhase = ''
|
|
|
|
# test_path_completion_user_expansion might be fixed in the next release
|
|
|
|
py.test -k 'not test_path_completion_user_expansion'
|
|
|
|
'';
|
|
|
|
|
2018-02-28 13:55:02 +00:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Enhancements for standard library's cmd module";
|
|
|
|
homepage = https://github.com/python-cmd2/cmd2;
|
|
|
|
maintainers = with maintainers; [ teto ];
|
|
|
|
};
|
|
|
|
}
|