From ad6d10ac853367ea76352827787a7b0411da0452 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 3 Dec 2022 10:31:42 +0100 Subject: [PATCH] gnu: Add python-omegaconf. * gnu/packages/python-xyz.scm (python-omegaconf): New variable. --- gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 8e503b2e44..32d826d3c5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -193,6 +193,7 @@ (define-module (gnu packages python-xyz) #:use-module (gnu packages image) #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages java) #:use-module (gnu packages jupyter) #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) @@ -14500,6 +14501,46 @@ (define-public python-configobj (home-page "https://github.com/DiffSK/configobj") (license license:bsd-3))) +(define-public python-omegaconf + (package + (name "python-omegaconf") + (version "2.2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/omry/omegaconf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet #~(begin + (delete-file-recursively "build_helpers/bin") + (substitute* "build_helpers/build_helpers.py" + (("java") "antlr4") + (("\"-jar\",") "") + (("str\\(build_dir / \"bin\" / \"antlr.*\"\\),") "")))) + (sha256 + (base32 + "00rw1rkjycn0jdg3jmar6jdxb1pcb21jclm5g1921s9z8f5ii5dh")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'loosen-requirements + (lambda _ + (substitute* "requirements/base.txt" + (("antlr4-python3-runtime==") + "antlr4-python3-runtime>="))))))) + (propagated-inputs (list java-antlr4-runtime-python + python-pydevd + python-pyyaml)) + (native-inputs (list icedtea antlr4 python-pytest python-pytest-mock)) + (home-page "https://github.com/omry/omegaconf") + (synopsis "Flexible configuration system") + (description "OmegaConf is a hierarchical configuration system and +supports merging configurations from multiple sources. It provides a +consistent API regardless of how the configuration was created.") + (license license:bsd-3))) + (define-public python-configargparse (package (name "python-configargparse")