From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#20889: Tkinter moved to separate output Date: Mon, 16 Nov 2015 13:57:37 +0100 Message-ID: <87a8qe85ku.fsf@gnu.org> References: <8def219fd20047742c102943aaf6dea7@openmailbox.org> <87ziyjxtkp.fsf@gnu.org> <87k2picp2z.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41108) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyJND-0006Yc-3q for bug-guix@gnu.org; Mon, 16 Nov 2015 07:59:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZyJN8-0000iM-9Z for bug-guix@gnu.org; Mon, 16 Nov 2015 07:59:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:49874) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyJN8-0000iI-6R for bug-guix@gnu.org; Mon, 16 Nov 2015 07:59:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZyJN8-00059X-0Z for bug-guix@gnu.org; Mon, 16 Nov 2015 07:59:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: (Federico Beffa's message of "Mon, 16 Nov 2015 12:44:53 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Federico Beffa Cc: =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= , Guix-devel , iyzsong@member.fsf.org, 20889@debbugs.gnu.org Federico Beffa skribis: > On Mon, Nov 16, 2015 at 9:42 AM, Ludovic Court=C3=A8s wrot= e: >> In =E2=80=98tk-update=E2=80=99 the =E2=80=98python=E2=80=99 packages now= have a separate =E2=80=98tk=E2=80=99 output for >> Tkinter (adding ~50 MiB to the closure of Python.) I=E2=80=99ve tested = it along >> these lines, for 2.x and 3.x: >> >> guix environment --ad-hoc python python:tk --pure -- python >> > import Tkinter >> > root =3D Tkinter.Tk() >> >> One thing I haven=E2=80=99t checked is whether some packages need to hav= e an >> additional python:tk input. Matplotlib maybe? Federico? > > Yes, given that the back-end currently used by matploblib doesn't > work, I would change that by using 'Tkinter'. > > Since you are at it, I would also change the default back-end by > changing 'GTK3Agg' to 'TkAgg' in the following snippet: > > (lambda (port) > (format port "[rc_options]~% > backend =3D GTK3Agg~%"))))) OTOH I see that Matploblib already depends on GTK+ 3.x and python-pygobject, so maybe it=E2=80=99s best to stick to GTK+ by default? > I'm not convinced that having 2 versions of packages (a "normal" and a > "minimal" one) is a good idea. The reason is that you often end up > downloading both instead of just one. As one example, I just > downloaded 'vlc' and I noticed that it downloaded both 'cups' and > 'cups-minimal'. Similarly, for python, anyone needing 'Tkinter' will > end up with 2 versions in the store. The =E2=80=98minimal=E2=80=99 variants are there to break cyclic dependenci= es most of the time. This is the case for cups/cups-filters and Python/Tk. At run time, cups indeed depends on cups-filters, which depends on cups-minimal. In that case, as you say, we end up downloading those two variants. But there=E2=80=99s not much of a choice, as was discussed durin= g the initial review: https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00057.html Conversely, python does not depend on python-minimal. So python-minimal is here just to break the cycle with Tk/libxcb, as noted in python.scm and discussed in: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20889 As for Tkinter, it is in a separate =E2=80=9Ctk=E2=80=9D output, which user= s can choose to install or not. The =E2=80=9Ctk=E2=80=9D output contains a single file,= but it pulls in Tcl/Tk. I hope this clarifies things. Thanks for your feedback, Ludo=E2=80=99.