unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#58072] [PATCH] gnu: Add python-textual.
@ 2022-09-25 12:59 Brian Kubisiak
  2022-09-27 21:09 ` Björn Höfling
  2022-10-06 20:42 ` bug#58072: " Ludovic Courtès
  0 siblings, 2 replies; 4+ messages in thread
From: Brian Kubisiak @ 2022-09-25 12:59 UTC (permalink / raw)
  To: 58072

* gnu/packages/python-xyz.scm (python-textual): New variable.
---
 gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ffcb023d60..5fd7dad8e3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15973,6 +15973,50 @@ (define-public python-rich
 syntax highlighting, markdown and more to the terminal.")
     (license license:expat)))
 
+(define-public python-textual
+  (package
+    (name "python-textual")
+    (version "0.1.18")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "textual" version))
+              (sha256
+               (base32
+                "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+       #~(modify-phases %standard-phases
+           (replace 'check
+             (lambda* (#:key inputs tests? #:allow-other-keys)
+               (when tests?
+                 (copy-recursively (string-append
+                                    (assoc-ref inputs "tests") "/tests")
+                                   "tests")
+                 (invoke "python" "-m" "pytest" "-vv")))))))
+    (propagated-inputs
+     (list python-rich python-typing-extensions))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("tests"
+        ;; The release on pypi comes without tests.  We can't build from this
+        ;; checkout, though, because installation requires an invocation of
+        ;; poetry.
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/Textualize/textual")
+                 (commit (string-append "v" version))))
+           (file-name (git-file-name name version))
+           (sha256
+            (base32
+             "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax"))))))
+    (home-page "https://github.com/Textualize/textual")
+    (synopsis "Build TUIs in python")
+    (description "Textual is a TUI (Text User Interface) framework for Python
+inspired by modern web development.")
+    (license license:expat)))
+
 (define-public python-magic
   (package
     (name "python-magic")
-- 
2.37.3






^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#58072] [PATCH] gnu: Add python-textual.
  2022-09-25 12:59 [bug#58072] [PATCH] gnu: Add python-textual Brian Kubisiak
@ 2022-09-27 21:09 ` Björn Höfling
  2022-09-28 12:30   ` Brian Kubisiak
  2022-10-06 20:42 ` bug#58072: " Ludovic Courtès
  1 sibling, 1 reply; 4+ messages in thread
From: Björn Höfling @ 2022-09-27 21:09 UTC (permalink / raw)
  To: Brian Kubisiak; +Cc: 58072

[-- Attachment #1: Type: text/plain, Size: 2174 bytes --]

Hi Brian,

On Sun, 25 Sep 2022 05:59:24 -0700
Brian Kubisiak <brian@kubisiak.com> wrote:

> * gnu/packages/python-xyz.scm (python-textual): New variable.
> ---
>  gnu/packages/python-xyz.scm | 44

 [..]
> +    (source (origin
> +              (method url-fetch)
> +              (uri (pypi-uri "textual" version))
> +              (sha256
> +               (base32
> +
> "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
> +    (build-system python-build-system)
> +    (arguments
> +     (list #:phases
> +       #~(modify-phases %standard-phases
> +           (replace 'check
> +             (lambda* (#:key inputs tests? #:allow-other-keys)
> +               (when tests?
> +                 (copy-recursively (string-append
> +                                    (assoc-ref inputs "tests")
> "/tests")
> +                                   "tests")
> +                 (invoke "python" "-m" "pytest" "-vv")))))))
> +    (propagated-inputs
> +     (list python-rich python-typing-extensions))
> +    (native-inputs
> +     `(("python-pytest" ,python-pytest)
> +       ("tests"
> +        ;; The release on pypi comes without tests.  We can't build
> from this
> +        ;; checkout, though, because installation requires an
> invocation of
> +        ;; poetry.
> +        ,(origin
> +           (method git-fetch)
> +           (uri (git-reference
> +                 (url "https://github.com/Textualize/textual")
> +                 (commit (string-append "v" version))))
> +           (file-name (git-file-name name version))
> +           (sha256
> +            (base32
> +
> "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax"))))))


You download the sources twice: Once from pypi, and another time from
GitHub as "test" input. I would suggest you use directly the GitHub
sources as main sources. Then you also don't need the modified 'check
phase. 

As an example, I found python-identify, which also comments on the
sources that there are no tests in PyPi (please add that comment too,
it makes it clear why not to use PyPi).

Would you like to send an updated patch?

Thanks,

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#58072] [PATCH] gnu: Add python-textual.
  2022-09-27 21:09 ` Björn Höfling
@ 2022-09-28 12:30   ` Brian Kubisiak
  0 siblings, 0 replies; 4+ messages in thread
From: Brian Kubisiak @ 2022-09-28 12:30 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 58072

> You download the sources twice: Once from pypi, and another time from
> GitHub as "test" input. I would suggest you use directly the GitHub
> sources as main sources. Then you also don't need the modified 'check
> phase.

The GitHub sources are built with poetry and do not have setup.py or
setup.cfg; in order to use the existing python-build-system, the
package must be built from the PyPi sources. The other option would be
to disable the tests completely instead of downloading them from
GitHub, but I think keeping the tests is a better option.

> As an example, I found python-identify, which also comments on the
> sources that there are no tests in PyPi

The patch I wrote is based on python-rich (which is a similar package
by the same author).

> (please add that comment too, it makes it clear why not to use
> PyPi).

I've already got that comment here:

> +        ;; The release on pypi comes without tests.  We can't build from this
> +        ;; checkout, though, because installation requires an invocation of
> +        ;; poetry.

Thanks,
Brian





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#58072: [PATCH] gnu: Add python-textual.
  2022-09-25 12:59 [bug#58072] [PATCH] gnu: Add python-textual Brian Kubisiak
  2022-09-27 21:09 ` Björn Höfling
@ 2022-10-06 20:42 ` Ludovic Courtès
  1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2022-10-06 20:42 UTC (permalink / raw)
  To: Brian Kubisiak; +Cc: 58072-done

Hi,

Brian Kubisiak <brian@kubisiak.com> skribis:

> * gnu/packages/python-xyz.scm (python-textual): New variable.

Applied.  Thank you and thanks Björn for taking a look!

I followed up with a change to remove input labels.

Ludo’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-10-06 20:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-25 12:59 [bug#58072] [PATCH] gnu: Add python-textual Brian Kubisiak
2022-09-27 21:09 ` Björn Höfling
2022-09-28 12:30   ` Brian Kubisiak
2022-10-06 20:42 ` bug#58072: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).