bug#65925: bluez or jack in the closure of python-ipython?
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?
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?
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?
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---