1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitea,
5 setuptools,
6 setuptools-scm,
7 hypothesis,
8 pytest-timeout,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "multivolumefile";
14 version = "0.2.3";
15 pyproject = true;
16
17 src = fetchFromGitea {
18 domain = "codeberg.org";
19 owner = "miurahr";
20 repo = "multivolume";
21 tag = "v${version}";
22 hash = "sha256-7gjfF7biQZOcph2dfwi2ouDn/uIYik/KBQ0k6u5Ne+Q=";
23 };
24
25 postPatch =
26 # Fix typo: `tools` -> `tool`
27 # upstream PR: https://codeberg.org/miurahr/multivolume/pulls/9
28 ''
29 substituteInPlace pyproject.toml \
30 --replace-fail 'tools.setuptools_scm' 'tool.setuptools_scm'
31 '';
32
33 build-system = [
34 setuptools
35 setuptools-scm
36 ];
37
38 nativeCheckInputs = [
39 hypothesis
40 pytest-timeout
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [
45 "multivolumefile"
46 ];
47
48 meta = {
49 description = "Library to provide a file-object wrapping multiple files as virtually like as a single file";
50 homepage = "https://codeberg.org/miurahr/multivolume";
51 changelog = "https://codeberg.org/miurahr/multivolume/src/tag/v${version}/Changelog.rst#v${version}";
52 license = lib.licenses.gpl2Plus;
53 maintainers = with lib.maintainers; [
54 pitkling
55 PopeRigby
56 ];
57 };
58}