bug#65925: bluez or jack in the closure of python-ipython?

2023-09-15 Thread Csepp


Simon Tournier  writes:

> Hi,
>
> On Thu, 14 Sep 2023 at 10:11, Csepp  wrote:
>
>> Seem pretty self-explanatory:
>> matplotlib has a GUI frontend (or even multiple frontends), one of
>> them
>> is based on WxWidgets, which pulls in SDL2, and Guix doesn't split
>> SDL2
>> like some other distros do, so all its dependencies get pulled in.
>> In case you are not familiar with SDL(2), it's a portable "direct
>> media
>> layer", a library used for portable multimedia applications.
>
> So could you explain why bluez is not in the closure
> python-matplotlib?
>
> --8<---cut here---start->8---
> $ guix size python-matplotlib | grep '/gnu/store/' | cut -f1 -d' ' | cut -f2- 
> -d'-' | sort
> bash-minimal-5.1.16
> bash-static-5.1.16
> bzip2-1.0.8
> bzip2-1.0.8
> expat-2.5.0
> fontconfig-minimal-2.14.0
> font-dejavu-2.37
> freetype-2.13.0
> gcc-11.3.0-lib
> gdbm-1.23
> glibc-2.35
> libffi-3.4.4
> libpng-1.6.37
> libx11-1.8.1
> libxau-1.0.10
> libxcb-1.15
> libxdmcp-1.1.3
> libxft-2.3.4
> libxrender-0.9.10
> ncurses-6.2.20210619
> openssl-3.0.8
> python-3.10.7
> python-matplotlib-3.5.2
> qhull-2020.2
> readline-8.1.2
> sqlite-3.39.3
> tcl-8.6.12
> tk-8.6.12
> xz-5.2.8
> zlib-1.2.13
> --8<---cut here---end--->8---
>
> And then why it is in the closure of python-ipython?
>
> And as I pointed, bluez is not in the closure of any dependencies of
> python-ipython.
>
> Cheers,
> simon

Oh, bluez I have no idea about. :|
That is super weird.





bug#65925: bluez or jack in the closure of python-ipython?

2023-09-14 Thread Simon Tournier
Hi,

On Thu, 14 Sep 2023 at 10:11, Csepp  wrote:

> Seem pretty self-explanatory:
> matplotlib has a GUI frontend (or even multiple frontends), one of them
> is based on WxWidgets, which pulls in SDL2, and Guix doesn't split SDL2
> like some other distros do, so all its dependencies get pulled in.
> In case you are not familiar with SDL(2), it's a portable "direct media
> layer", a library used for portable multimedia applications.

So could you explain why bluez is not in the closure python-matplotlib?

--8<---cut here---start->8---
$ guix size python-matplotlib | grep '/gnu/store/' | cut -f1 -d' ' | cut -f2- 
-d'-' | sort
bash-minimal-5.1.16
bash-static-5.1.16
bzip2-1.0.8
bzip2-1.0.8
expat-2.5.0
fontconfig-minimal-2.14.0
font-dejavu-2.37
freetype-2.13.0
gcc-11.3.0-lib
gdbm-1.23
glibc-2.35
libffi-3.4.4
libpng-1.6.37
libx11-1.8.1
libxau-1.0.10
libxcb-1.15
libxdmcp-1.1.3
libxft-2.3.4
libxrender-0.9.10
ncurses-6.2.20210619
openssl-3.0.8
python-3.10.7
python-matplotlib-3.5.2
qhull-2020.2
readline-8.1.2
sqlite-3.39.3
tcl-8.6.12
tk-8.6.12
xz-5.2.8
zlib-1.2.13
--8<---cut here---end--->8---

And then why it is in the closure of python-ipython?

And as I pointed, bluez is not in the closure of any dependencies of
python-ipython.

Cheers,
simon







bug#65925: bluez or jack in the closure of python-ipython?

2023-09-14 Thread Csepp


Simon Tournier  writes:

> Hi,
>
> IPython is a Python REPL and there is no direct dependencies on bluez or
> jack.  Why does it need unrelated tools as some Bluetooth or JACK audio?
>
> [...]
> Last, the chain of dependencies looks like:
>
> $ guix graph --path python-ipython bluez
> python-ipython@8.5.0
> python-matplotlib@3.5.2
> python-wxpython@4.2.0
> wxwidgets@3.2.2.1
> sdl2@2.26.2
> pulseaudio@16.1
> bluez@5.66
> [...]

Seem pretty self-explanatory:
matplotlib has a GUI frontend (or even multiple frontends), one of them
is based on WxWidgets, which pulls in SDL2, and Guix doesn't split SDL2
like some other distros do, so all its dependencies get pulled in.
In case you are not familiar with SDL(2), it's a portable "direct media
layer", a library used for portable multimedia applications.





bug#65925: bluez or jack in the closure of python-ipython?

2023-09-13 Thread Simon Tournier
Hi,

IPython is a Python REPL and there is no direct dependencies on bluez or
jack.  Why does it need unrelated tools as some Bluetooth or JACK audio?

--8<---cut here---start->8---
$ guix size python-ipython | grep -E '(jack|bluez)'
/gnu/store/kbvyzkxrpf8w9v64jvjkr12hcailhflx-bluez-5.66 192.8 
4.3   0.2%
/gnu/store/7bhggk7fzvgjvgi9ykphgg21gwlfgx4k-jack-0.125.090.8 
1.3   0.1%
--8<---cut here---end--->8---

Well, any idea why bluez or jack are in the picture?

--8<---cut here---start->8---
$ for p in $(guix show python-ipython | recsel -C -P dependencies); do guix 
size $p ;done | grep -E '(bluez|jack)'
… nothing!
--8<---cut here---end--->8---

Last, the chain of dependencies looks like:

--8<---cut here---start->8---
$ guix graph --path python-ipython bluez
python-ipython@8.5.0
python-matplotlib@3.5.2
python-wxpython@4.2.0
wxwidgets@3.2.2.1
sdl2@2.26.2
pulseaudio@16.1
bluez@5.66

$ guix graph --path python-ipython jack
python-ipython@8.5.0
python-matplotlib@3.5.2
python-wxpython@4.2.0
wxwidgets@3.2.2.1
sdl2@2.26.2
pulseaudio@16.1
jack@0.125.0
--8<---cut here---end--->8---


Cheers,
simon

--8<---cut here---start->8---
$ guix show python-ipython
name: python-ipython
version: 8.5.0
outputs:
+ out: everything
systems: x86_64-linux
dependencies: graphviz@7.0.1 pkg-config@0.29.2 python-backcall@0.2.0 
python-decorator@5.0.9 python-jedi@0.18.2 python-jinja2@3.1.1 
python-jsonschema@4.5.1
+ python-matplotlib-inline@0.1.3 python-matplotlib@3.5.2 python-mistune@0.8.4 
python-nbformat@5.3.0 python-numpy@1.23.2 python-numpydoc@1.5.0
+ python-pexpect@4.8.0 python-pickleshare@0.7.5 python-prompt-toolkit@3.0.29 
python-pygments@2.12.0 python-pytest@7.1.3 python-pyzmq@25.1.0
+ python-requests@2.28.1 python-simplegeneric@0.8.1 python-stack-data@0.2.0 
python-terminado@0.10.0 python-testpath@0.5.0 python-traitlets@5.9.0
+ readline@8.1.2 which@2.21
location: gnu/packages/python-xyz.scm:10859:2
homepage: https://ipython.org
license: Modified BSD
synopsis: IPython is a tool for interactive computing in Python  
description: IPython provides a rich architecture for interactive computing 
with: Powerful interactive shells, a browser-based notebook, support for
+ interactive data visualization, embeddable interpreters and tools for 
parallel computing.

$ guix show bluez
name: bluez
version: 5.66
outputs:
+ out: everything
systems: x86_64-linux
dependencies: dbus@1.14.0 eudev@3.2.11 gettext-minimal@0.21 glib@2.72.3 
libical@3.0.16 pkg-config@0.29.2 python-docutils@0.19 readline@8.1.2
location: gnu/packages/linux.scm:5750:2
homepage: http://www.bluez.org/
license: GPL 2+
synopsis: Linux Bluetooth protocol stack  
description: BlueZ provides support for the core Bluetooth layers and 
protocols.  It is flexible, efficient and uses a modular implementation.

$ guix show jack
name: jack
version: 0.125.0
outputs:
+ out: everything
systems: x86_64-linux i686-linux
dependencies: alsa-lib@1.2.4 bdb@6.2.32 pkg-config@0.29.2 readline@8.1.2 
util-linux@2.37.4
location: gnu/packages/audio.scm:2507:2
homepage: https://jackaudio.org/
license: GPL 2+, LGPL 2.1+
synopsis: JACK audio connection kit  
description: JACK is a low-latency audio server.  It can connect a number of 
different applications to an audio device, as well as allowing them to share
+ audio between themselves.  JACK is different from other audio server efforts 
in that it has been designed from the ground up to be suitable for
+ professional audio work.  This means that it focuses on two key areas: 
synchronous execution of all clients, and low latency operation.
--8<---cut here---end--->8---