diff --git a/pkgs/development/python-modules/cram/default.nix b/pkgs/development/python-modules/cram/default.nix new file mode 100644 index 00000000000..3ba861f1c87 --- /dev/null +++ b/pkgs/development/python-modules/cram/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4ebc4f77f1e..e68a9f1cc8d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -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 { };