Merge pull request #25609 from jluttine/add-nbstripout

nbstripout: init at 0.3.0
This commit is contained in:
Frederik Rietdijk 2017-05-15 08:47:12 +02:00 committed by GitHub
commit 9468764b15
5 changed files with 110 additions and 0 deletions

View file

@ -0,0 +1,32 @@
{lib, python2Packages, git, mercurial}:
with python2Packages;
buildPythonApplication rec {
name = "${pname}-${version}";
version = "0.3.0";
pname = "nbstripout";
# Mercurial should be added as a build input but because it's a Python
# application, it would mess up the Python environment. Thus, don't add it
# here, instead add it to PATH when running unit tests
buildInputs = [ pytest pytest-flake8 pytest-cram git pytestrunner ];
propagatedBuildInputs = [ ipython nbformat ];
src = fetchPypi {
inherit pname version;
sha256 = "126xhjma4a0k7gq58hbqglhb3rai0a576azz7g8gmqjr3kl0264v";
};
# ignore flake8 tests for the nix wrapped setup.py
checkPhase = ''
PATH=$PATH:$out/bin:${mercurial}/bin pytest --ignore=nix_run_setup.py .
'';
meta = {
inherit version;
description = "Strip output from Jupyter and IPython notebooks";
homepage = https://github.com/kynan/nbstripout;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jluttine ];
};
}

View file

@ -0,0 +1,38 @@
{lib, buildPythonPackage, fetchPypi, coverage, bash, which, writeText}:
buildPythonPackage rec {
name = "${pname}-${version}";
version = "0.7";
pname = "cram";
buildInputs = [ coverage which ];
src = fetchPypi {
inherit pname version;
sha256 = "0bvz6fwdi55rkrz3f50zsy35gvvwhlppki2yml5bj5ffy9d499vx";
};
postPatch = ''
substituteInPlace tests/test.t \
--replace "/bin/bash" "${bash}/bin/bash"
'';
# This testing is copied from Makefile. Simply using `make test` doesn't work
# because it uses the unpatched `scripts/cram` executable which has a bad
# shebang. Also, for some reason, coverage fails on one file so let's just
# ignore that one.
checkPhase = ''
# scripts/cram tests
#COVERAGE=${coverage}/bin/coverage $out/bin/cram tests
#${coverage}/bin/coverage report --fail-under=100
COVERAGE=coverage $out/bin/cram tests
coverage report --fail-under=100 --omit="*/_encoding.py"
'';
meta = {
description = "A simple testing framework for command line applications";
homepage = https://bitheap.org/cram/;
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ jluttine ];
};
}

View file

@ -0,0 +1,34 @@
{lib, buildPythonPackage, fetchPypi, pytest, cram, bash, writeText}:
buildPythonPackage rec {
name = "${pname}-${version}";
version = "0.1.1";
pname = "pytest-cram";
buildInputs = [ pytest ];
propagatedBuildInputs = [ cram ];
src = fetchPypi {
inherit pname version;
sha256 = "0ad05999iqzyjay9y5lc0cnd3jv8qxqlzsvxzp76shslmhrv0c4f";
};
postPatch = ''
substituteInPlace pytest_cram/tests/test_options.py \
--replace "/bin/bash" "${bash}/bin/bash"
'';
# Remove __init__.py from tests folder, otherwise pytest raises an error that
# the imported and collected modules are different.
checkPhase = ''
rm pytest_cram/tests/__init__.py
pytest pytest_cram
'';
meta = {
description = "Test command-line applications with pytest and cram";
homepage = https://github.com/tbekolay/pytest-cram;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jluttine ];
};
}

View file

@ -14873,6 +14873,8 @@ with pkgs;
clerk = callPackage ../applications/audio/clerk { };
nbstripout = callPackage ../applications/version-management/nbstripout { };
ncmpc = callPackage ../applications/audio/ncmpc { };
ncmpcpp = callPackage ../applications/audio/ncmpcpp { };

View file

@ -2433,6 +2433,8 @@ in {
doCheck = false; # lazy packager
};
cram = callPackage ../development/python-modules/cram { };
csscompressor = callPackage ../development/python-modules/csscompressor.nix {};
csvkit = callPackage ../development/python-modules/csvkit { };
@ -5006,6 +5008,8 @@ in {
};
};
pytest-cram = callPackage ../development/python-modules/pytest-cram { };
pytest-datafiles = callPackage ../development/python-modules/pytest-datafiles { };
pytest-django = callPackage ../development/python-modules/pytest-django { };