1{ lib
2, python3
3, fetchPypi
4, pandoc
5, git
6, scriv
7, testers
8}:
9
10python3.pkgs.buildPythonApplication rec {
11 pname = "scriv";
12 version = "1.3.1";
13
14 src = fetchPypi {
15 inherit pname version;
16 hash = "sha256-TfWX7gp7PcwNUxXXZJ3wke/LGz/wjwtRppg0ByfRcRg=";
17 };
18
19 propagatedBuildInputs = with python3.pkgs; [
20 attrs
21 click
22 click-log
23 jinja2
24 requests
25 ] ++ lib.optionals (python3.pythonOlder "3.11") [
26 tomli
27 ];
28
29 nativeCheckInputs = with python3.pkgs; [
30 pytestCheckHook
31 coverage
32 freezegun
33 pudb
34 pytest-mock
35 responses
36 pyyaml
37
38 pandoc
39 git
40 ];
41 disabledTests = [
42 # assumes we have checked out the full repo (including remotes)
43 "test_real_get_github_repos"
44 ];
45
46 passthru.tests = {
47 version = testers.testVersion { package = scriv; };
48 };
49
50 meta = {
51 description = "Command-line tool for helping developers maintain useful changelogs.";
52 homepage = "https://github.com/nedbat/scriv";
53 changelog = "https://github.com/nedbat/scriv/releases/tag/${version}";
54 license = lib.licenses.asl20;
55 maintainers = with lib.maintainers; [ amesgen ];
56 };
57}