nixpkgs/pkgs/tools/misc/lookatme/default.nix
2022-04-15 01:39:47 +02:00

68 lines
1.5 KiB
Nix

{ lib, python3, fetchFromGitHub }:
let
py = python3.override {
packageOverrides = self: super: {
self = py;
# use click 7
click = self.callPackage ../../../development/python2-modules/click/default.nix { };
# needs pyyaml 5
pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
name = "${oldAttrs.pname}-${version}";
version = "5.4.1";
src = fetchFromGitHub {
owner = "yaml";
repo = "pyyaml";
rev = version;
sha256 = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM=";
};
checkPhase = ''
runHook preCheck
PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all
runHook postCheck
'';
});
};
};
in
with py.pkgs;
buildPythonApplication rec {
pname = "lookatme";
version = "2.3.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-qIZMkgOm5jXmxTFLTqMBhpLBhfCL8xvUxxqpS6NjcVw=";
};
checkInputs = [
pytest-mock
pytestCheckHook
six
];
disabledTests = [
# https://github.com/d0c-s4vage/lookatme/issues/126
"test_sanity_check_that_errors_are_detected"
"test_styles_defaults"
];
propagatedBuildInputs = [
click
pyyaml
pygments
marshmallow
mistune
urwid
];
meta = with lib; {
description = "An interactive, terminal-based markdown presenter";
homepage = "https://github.com/d0c-s4vage/lookatme";
license = licenses.mit;
maintainers = with maintainers; [ ameer ];
};
}