1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 six,
7 pytest-cov-stub,
8 pytest-datadir,
9 setuptools,
10 setuptools-scm,
11}:
12
13buildPythonPackage rec {
14 pname = "jproperties";
15 version = "2.1.2";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "Tblue";
20 repo = "python-jproperties";
21 tag = "v${version}";
22 hash = "sha256-wnhEcPWAFUXR741/LZT3TXqxrU70JZe+90AkVEA3A+k=";
23 };
24
25 postPatch = ''
26 substituteInPlace setup.py \
27 --replace "setuptools_scm ~= 3.3" "setuptools_scm"
28 '';
29
30 build-system = [
31 setuptools
32 setuptools-scm
33 ];
34
35 dependencies = [ six ];
36
37 nativeCheckInputs = [
38 pytest-cov-stub
39 pytest-datadir
40 pytestCheckHook
41 ];
42
43 disabledTestPaths = [
44 # TypeError: 'PosixPath' object...
45 "tests/test_simple_utf8.py"
46 ];
47
48 pythonImportsCheck = [ "jproperties" ];
49
50 meta = with lib; {
51 description = "Java Property file parser and writer for Python";
52 homepage = "https://github.com/Tblue/python-jproperties";
53 license = licenses.bsd3;
54 maintainers = with maintainers; [ fab ];
55 mainProgram = "propconv";
56 };
57}