1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, packaging
5, pyparsing
6, pytestCheckHook
7, pythonOlder
8, setuptools-scm
9}:
10
11buildPythonPackage rec {
12 pname = "pip-requirements-parser";
13 version = "32.0.1";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.6";
17
18 src = fetchFromGitHub {
19 owner = "nexB";
20 repo = pname;
21 rev = "refs/tags/v${version}";
22 hash = "sha256-UMrwDXxk+sD3P2jk7s95y4OX6DRBjWWZZ8IhkR6tnZ4=";
23 };
24
25 SETUPTOOLS_SCM_PRETEND_VERSION = version;
26
27 dontConfigure = true;
28
29 nativeBuildInputs = [
30 setuptools-scm
31 ];
32
33 propagatedBuildInputs = [
34 packaging
35 pyparsing
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [
43 "pip_requirements_parser"
44 ];
45
46 disabledTests = [
47 "test_RequirementsFile_to_dict"
48 "test_RequirementsFile_dumps_unparse"
49 "test_legacy_version_is_deprecated"
50 ];
51
52 meta = with lib; {
53 description = "Module to parse pip requirements";
54 homepage = "https://github.com/nexB/pip-requirements-parser";
55 changelog = "https://github.com/nexB/pip-requirements-parser/blob/v${version}/CHANGELOG.rst";
56 license = licenses.mit;
57 maintainers = with maintainers; [ fab ];
58 };
59}