diff mbox series

[bug#43346] Poezio (Revised Patches)

Message ID 3bbb8349-fd68-3c2b-53b4-8b258d54ad87@disroot.org
State Accepted
Headers show
Series [bug#43346] Poezio (Revised Patches) | expand

Commit Message

Raghav Gururajan Sept. 12, 2020, 12:06 p.m. UTC
Hi Danny!

> Pushed to guix master with lots of changes to what are inputs, propagated-inputs
> and native-inputs.

Thanks so much.

I had to make some changes to poezio, based on your changes. Could you
push the attached patches please?

Regards,
RG.

Comments

Danny Milosavljevic Sept. 12, 2020, 2:19 p.m. UTC | #1
Hi RG,

On Sat, 12 Sep 2020 08:06:05 -0400
Raghav Gururajan <raghavgururajan@disroot.org> wrote:

> I had to make some changes to poezio, based on your changes. Could you
> push the attached patches please?

... why?

I've checked the source code of poezio and it does not use aiodns, aiohttp.

In order to find that out:

$ guix build python-aiodns

Check resulting directory to find 
/gnu/store/8bzk4dwhhbblz8gky9hzdnzjlsi1nk7v-python-aiodns-1.1.1/lib/python3.8/site-packages/aiodns/__init__.py

That means a user of the library would have to do 

  from aiodns import *

or

  import aiodns
.

So I grepped the whole source code of poezio, and it doesn't do that.  Hence
it is not a direct input.

It is a propagated-input in a dependency, which indeed does do the import.

You can't really trust what upstream says here.  Almost no package manager
has non-propagated inputs, so of course they wouldn't be saying "the input
such and such is propagated, and the input such and such is not propagated".

Thus you have to check it yourself.

Could you do so with the other dependencies before adding them?

Thanks.
Raghav Gururajan Sept. 12, 2020, 2:22 p.m. UTC | #2
Hi Danny!

> 
> ... why?
> 
> I've checked the source code of poezio and it does not use aiodns, aiohttp.
> 
> In order to find that out:
> 
> $ guix build python-aiodns
> 
> Check resulting directory to find 
> /gnu/store/8bzk4dwhhbblz8gky9hzdnzjlsi1nk7v-python-aiodns-1.1.1/lib/python3.8/site-packages/aiodns/__init__.py
> 
> That means a user of the library would have to do 
> 
>   from aiodns import *
> 
> or
> 
>   import aiodns
> .
> 
> So I grepped the whole source code of poezio, and it doesn't do that.  Hence
> it is not a direct input.
> 
> It is a propagated-input in a dependency, which indeed does do the import.
> 
> You can't really trust what upstream says here.  Almost no package manager
> has non-propagated inputs, so of course they wouldn't be saying "the input
> such and such is propagated, and the input such and such is not propagated".
> 
> Thus you have to check it yourself.
> 
> Could you do so with the other dependencies before adding them?

Hmm. When I grep the source, they were mentioned in requirements.txt and
requirements-plugins.txt. Also, the setup.py has install_requires and
plugins_require sections, which are similar to required section in .pc
files right?

Regards,
RG.
diff mbox series

Patch

From 5a6ae94b2fafad1148f21a617295b941bc206851 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 12 Sep 2020 07:57:17 -0400
Subject: [PATCH 86/86] gnu: poezio: Propagated certain dependencies.

* gnu/packages/messaging.scm (poezio): Propagated certain dependencies.
[inputs]: Move python-aiodns, python-cffi, python-potr, python-pyasn1,
python-pyasn1-modules, python-pyinotify and python-slixmpp to ...
[propagated-inputs]: ... here.

The above changes satisfy install.requires and extras.require sections
of setup.py.
---
 gnu/packages/messaging.scm | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 8f1c71563c..5f4e13365f 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -154,17 +154,18 @@ 
        ("python-setuptools" ,python-setuptools)
        ("python-sphinx" ,python-sphinx)))
     (inputs
+     `(("python-aiohttp" ,python-aiohttp)
+       ("python-mpd2" ,python-mpd2)
+       ("python-pycares" ,python-pycares)
+       ("python-pygments" ,python-pygments)
+       ("python-qrcode" ,python-qrcode)))
+    (propagated-inputs
      `(("python-aiodns" ,python-aiodns)
-       ("python-aiohttp" ,python-aiohttp)
        ("python-cffi" ,python-cffi)
-       ("python-mpd2" ,python-mpd2)
        ("python-potr" ,python-potr)
        ("python-pyasn1" ,python-pyasn1)
        ("python-pyasn1-modules" ,python-pyasn1-modules)
-       ("python-pycares" ,python-pycares)
-       ("python-pygments" ,python-pygments)
        ("python-pyinotify" ,python-pyinotify)
-       ("python-qrcode" ,python-qrcode)
        ("python-slixmpp" ,python-slixmpp)))
     (synopsis "Console Jabber/XMPP Client")
     (description "Poezio is a free console XMPP client (the protocol on which
-- 
2.28.0