1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fusepy,
6 indexed-gzip,
7 indexed-zstd,
8 libarchive-c,
9 python-xz,
10 pythonOlder,
11 rapidgzip,
12 rarfile,
13 ratarmountcore,
14 setuptools,
15}:
16
17buildPythonPackage rec {
18 pname = "ratarmount";
19 version = "1.1.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.6";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-XiwtmZ7HGZwjJJrUD3TOP3o19RBwB/Yu09xdwK13+hk=";
27 };
28
29 pythonRelaxDeps = [ "python-xz" ];
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 fusepy
35 indexed-gzip
36 indexed-zstd
37 libarchive-c
38 python-xz
39 rapidgzip
40 rarfile
41 ratarmountcore
42 ];
43
44 checkPhase = ''
45 runHook preCheck
46
47 python tests/tests.py
48
49 runHook postCheck
50 '';
51
52 meta = with lib; {
53 description = "Mounts archives as read-only file systems by way of indexing";
54 homepage = "https://github.com/mxmlnkn/ratarmount";
55 changelog = "https://github.com/mxmlnkn/ratarmount/blob/v${version}/CHANGELOG.md";
56 license = licenses.mit;
57 maintainers = with lib.maintainers; [ mxmlnkn ];
58 mainProgram = "ratarmount";
59 };
60}