Subject: bluez or jack in the closure of python-ipython?

From: Simon Tournier <[email-masked]>
Date: Wed, 13 Sep 2023 15:33:04 +0200

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.0            90.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
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]

$ guix graph --path python-ipython jack
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]
--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: [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
+ [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
+ [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
+ [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
+ [email-masked] [email-masked]
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: [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
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: [email-masked] [email-masked] [email-masked] [email-masked] [email-masked]
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---