nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitLab,
5 fetchpatch,
6 lxml,
7 pytestCheckHook,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "et-xmlfile";
13 version = "2.0.0";
14 pyproject = true;
15
16 src = fetchFromGitLab {
17 domain = "foss.heptapod.net";
18 owner = "openpyxl";
19 repo = "et_xmlfile";
20 tag = version;
21 hash = "sha256-JZ1fJ9o4/Z+9uSlaoq+pNpLSwl5Yv6BJCI1G7GOaQ1I=";
22 };
23
24 patches = [
25 (fetchpatch {
26 # python 3.14 compat
27 url = "https://foss.heptapod.net/openpyxl/et_xmlfile/-/commit/73172a7ce6d819ce13e6706f9a1c6d50f1646dde.patch";
28 hash = "sha256-PMtzIGtXJ/vp0VRmBodvyaG/Ptn2DwrTTC1EyLSChHU=";
29 })
30 ];
31
32 build-system = [ setuptools ];
33
34 nativeCheckInputs = [
35 lxml
36 pytestCheckHook
37 ];
38
39 pythonImportsCheck = [ "et_xmlfile" ];
40
41 meta = {
42 description = "Implementation of lxml.xmlfile for the standard library";
43 longDescription = ''
44 et_xmlfile is a low memory library for creating large XML files.
45
46 It is based upon the xmlfile module from lxml with the aim of
47 allowing code to be developed that will work with both
48 libraries. It was developed initially for the openpyxl project
49 but is now a standalone module.
50 '';
51 homepage = "https://foss.heptapod.net/openpyxl/et_xmlfile";
52 license = lib.licenses.mit;
53 maintainers = [ ];
54 };
55}