1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 click,
7 requests,
8 ruamel-yaml,
9 pykwalify,
10 jsonschema,
11 pytestCheckHook,
12 pytest-cov,
13}:
14
15buildPythonPackage rec {
16 pname = "cffconvert";
17 version = "2.0.0-unstable-2024-02-12";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "citation-file-format";
22 repo = "cffconvert";
23 rev = "5295f87c0e261da61a7b919fc754e3a77edd98a7";
24 hash = "sha256-/2qhWVNylrqPSf1KmuZQahzq+YH860cohVSfJsDm1BE=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 click
31 requests
32 ruamel-yaml
33 pykwalify
34 jsonschema
35 ];
36
37 nativeCheckInputs = [ pytestCheckHook ];
38
39 checkInputs = [
40 # addopts uses --no-cov
41 pytest-cov
42 ];
43
44 disabledTestPaths = [
45 # requires network access
46 "tests/cli/test_rawify_url.py"
47 ];
48
49 pythonImportsCheckHook = [ "cffconvert" ];
50
51 meta = {
52 changelog = "https://github.com/citation-file-format/cffconvert/blob/${src.rev}/CHANGELOG.md";
53 description = "Command line program to validate and convert CITATION.cff files";
54 homepage = "https://github.com/citation-file-format/cffconvert";
55 license = lib.licenses.asl20;
56 mainProgram = "cffconvert";
57 maintainers = with lib.maintainers; [ drupol ];
58 };
59}