From ca1a2dfd55d92dfe546248ef08e439426062415f Mon Sep 17 00:00:00 2001 From: David Wronek Date: Mon, 30 Mar 2026 12:25:54 +0200 Subject: [PATCH 1/3] python3Packages.odfdo: init at 3.22.3 Signed-off-by: David Wronek --- .../python-modules/odfdo/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/odfdo/default.nix diff --git a/pkgs/development/python-modules/odfdo/default.nix b/pkgs/development/python-modules/odfdo/default.nix new file mode 100644 index 000000000000..288c83a37f63 --- /dev/null +++ b/pkgs/development/python-modules/odfdo/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + lxml, + pillow, + uv-build, +}: +buildPythonPackage (finalAttrs: { + pname = "odfdo"; + version = "3.22.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jdum"; + repo = "odfdo"; + tag = "v${finalAttrs.version}"; + hash = "sha256-1cOi7aAJ8jWjLuQbhd7aK5s2rJ5IvkTLIl9atKmXKMU="; + }; + + build-system = [ uv-build ]; + + dependencies = [ lxml ]; + + nativeCheckInputs = [ + pytestCheckHook + pillow + ]; + + meta = { + description = "OpenDocument Format (ODF, ISO/IEC 26300) library for Python"; + homepage = "https://github.com/jdum/odfdo"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ungeskriptet ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 62f1694ede0a..afba0799f594 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11349,6 +11349,8 @@ self: super: with self; { oddsprout = callPackage ../development/python-modules/oddsprout { }; + odfdo = callPackage ../development/python-modules/odfdo { }; + odfpy = callPackage ../development/python-modules/odfpy { }; odp-amsterdam = callPackage ../development/python-modules/odp-amsterdam { }; From bf4e057ad8409804f460fe7a2446a7460a30de58 Mon Sep 17 00:00:00 2001 From: David Wronek Date: Wed, 1 Apr 2026 14:14:41 +0200 Subject: [PATCH 2/3] python3Packages.odsgenerator: init at 1.12.0 Signed-off-by: David Wronek --- .../python-modules/odsgenerator/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/odsgenerator/default.nix diff --git a/pkgs/development/python-modules/odsgenerator/default.nix b/pkgs/development/python-modules/odsgenerator/default.nix new file mode 100644 index 000000000000..8642be0be7ce --- /dev/null +++ b/pkgs/development/python-modules/odsgenerator/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + odfdo, + pyyaml, + uv-build, +}: +buildPythonPackage (finalAttrs: { + pname = "odsgenerator"; + version = "1.12.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jdum"; + repo = "odsgenerator"; + tag = "v${finalAttrs.version}"; + hash = "sha256-FfwyqNI5Hz2Muoe/VWgQigea6D042UoRbXDV9GNV4w4="; + }; + + build-system = [ uv-build ]; + + dependencies = [ + odfdo + pyyaml + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.9.0,<0.10.0" "uv_build" + substituteInPlace tests/test_cli.py \ + --replace-fail '"odsgenerator"' "\"$out/bin/odsgenerator\"" + ''; + + meta = { + description = "odsgenerator generates an ODF .ods file from json or yaml file"; + homepage = "https://github.com/jdum/odsgenerator"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ungeskriptet ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index afba0799f594..6d40aa76fcea 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11355,6 +11355,8 @@ self: super: with self; { odp-amsterdam = callPackage ../development/python-modules/odp-amsterdam { }; + odsgenerator = callPackage ../development/python-modules/odsgenerator { }; + oelint-data = callPackage ../development/python-modules/oelint-data { }; oelint-parser = callPackage ../development/python-modules/oelint-parser { }; From 0dd3bfc74f3b8d8a1b2b5963fd758f263421b9a0 Mon Sep 17 00:00:00 2001 From: David Wronek Date: Wed, 1 Apr 2026 14:14:54 +0200 Subject: [PATCH 3/3] python3Packages.odsparsator: init at 1.14.0 Signed-off-by: David Wronek --- .../python-modules/odsparsator/default.nix | 42 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/python-modules/odsparsator/default.nix diff --git a/pkgs/development/python-modules/odsparsator/default.nix b/pkgs/development/python-modules/odsparsator/default.nix new file mode 100644 index 000000000000..e07cf0d6f22f --- /dev/null +++ b/pkgs/development/python-modules/odsparsator/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + odfdo, + uv-build, +}: +buildPythonPackage (finalAttrs: { + pname = "odsparsator"; + version = "1.14.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jdum"; + repo = "odsparsator"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DpVWkspaZYYJHGYOrLte4JevH25xRzu38M2+QdFG22M="; + }; + + build-system = [ uv-build ]; + + dependencies = [ odfdo ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.9.0,<0.10.0" "uv_build" + substituteInPlace tests/test_cli.py \ + --replace-fail '"odsparsator"' "\"$out/bin/odsparsator\"" + ''; + + meta = { + description = "Generate a json file from an OpenDocument Format .ods file"; + homepage = "https://github.com/jdum/odsparsator"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ungeskriptet ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6d40aa76fcea..d2ecf5c7b249 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11357,6 +11357,8 @@ self: super: with self; { odsgenerator = callPackage ../development/python-modules/odsgenerator { }; + odsparsator = callPackage ../development/python-modules/odsparsator { }; + oelint-data = callPackage ../development/python-modules/oelint-data { }; oelint-parser = callPackage ../development/python-modules/oelint-parser { };