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