diff mbox series

[bug#44079] gnu: Add python-yq.

Message ID 20201019182802.23023-1-mail@cbaines.net
State Accepted
Headers show
Series [bug#44079] gnu: Add python-yq. | expand

Checks

Context Check Description
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Christopher Baines Oct. 19, 2020, 6:28 p.m. UTC
* gnu/packages/python-xyz.scm (python-yq): New variable.
---
 gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

Comments

Oleg Pykhalov Oct. 24, 2020, 9:19 a.m. UTC | #1
Hi,

One of my favorites tools, thank you!  :-)


xq and yq work great.

Should we name the package just “yq”, because probably it's used as
end-user program more frequently than a library?  Push in any case ;-)


Oleg.
Christopher Baines Oct. 24, 2020, 7:21 p.m. UTC | #2
Oleg Pykhalov <go.wigust@gmail.com> writes:

> Hi,
>
> One of my favorites tools, thank you!  :-)
>
>
> xq and yq work great.
>
> Should we name the package just “yq”, because probably it's used as
> end-user program more frequently than a library?  Push in any case ;-)

I though about the name, but there's also another incompatible yq tool
[1], so I didn't want to set a precedent that just because this was
packaged first, this gets the name.

1: https://mikefarah.gitbook.io/yq/

I've pushed as python-yq, mostly because I was undecided about renaming
it. Thanks for your review!
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 575ce40ac8..f256b7e311 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17347,6 +17347,47 @@  style guide, even if the original code didn't violate the style guide.")
 (define-public python2-yapf
   (package-with-python2 python-yapf))
 
+(define-public python-yq
+  (package
+    (name "python-yq")
+    (version "2.11.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "yq" version))
+       (sha256
+        (base32
+         "1q4rky0a6n4izmq7slb91a54g8swry1xrbfqxwc8lkd3hhvlxxkl"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "yq/__init__.py"
+               (("Popen\\(\\[\"jq")
+                (string-append
+                 "Popen([\""
+                 (assoc-ref inputs "jq")
+                 "/bin/jq")))
+             #t)))))
+    (inputs
+     `(("python-argcomplete" ,python-argcomplete)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-xmltodict" ,python-xmltodict)
+       ("jq" ,jq)))
+    (native-inputs
+     `(("python-coverage" ,python-coverage)
+       ("python-flake8" ,python-flake8)
+       ("python-wheel" ,python-wheel)))
+    (home-page "https://github.com/kislyuk/yq")
+    (synopsis "Command-line YAML/XML processor")
+    (description
+     "This package provides @command{yq} and @command{xq} for processing YAML
+and XML respectively.  The processing is done through @{jq}, @command{jq}
+filters can be used to process the data as it passes through.")
+    (license license:asl2.0)))
+
 (define-public python-gyp
   (let ((commit "5e2b3ddde7cda5eb6bc09a5546a76b00e49d888f")
         (revision "0"))