From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id GCX7F8xS02C3VwAAgWs5BA (envelope-from ) for ; Wed, 23 Jun 2021 17:27:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id SBGYE8xS02A/MwAAbx9fmQ (envelope-from ) for ; Wed, 23 Jun 2021 15:27:08 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0E1E417E6F for ; Wed, 23 Jun 2021 17:27:07 +0200 (CEST) Received: from localhost ([::1]:38946 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lw4mQ-00005t-BL for larch@yhetil.org; Wed, 23 Jun 2021 11:27:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33256) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lw4mA-00005h-9Z for guix-devel@gnu.org; Wed, 23 Jun 2021 11:26:50 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41388) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lw4m7-0003h4-9N; Wed, 23 Jun 2021 11:26:47 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=33914 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lw4m7-0000Bt-1e; Wed, 23 Jun 2021 11:26:47 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Konrad Hinsen Subject: Re: Removal of Python 2? References: <20201108142717.lmud5h4gh44vtjc6@melmoth> <1609946775.8blxygrg9p.astroid@rafflesia.none> <1611303651.35tpgtn1z1.astroid@melmoth.none> <1622997703.qcpe1ehxem.astroid@melmoth.none> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 5 Messidor an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 23 Jun 2021 17:26:45 +0200 In-Reply-To: (Konrad Hinsen's message of "Tue, 22 Jun 2021 14:41:19 +0200") Message-ID: <87k0mkwqiy.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1624462028; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=UuB0lT7n4ofha3WTGNjtlp5lzKnlddRdaHes3VCpN14=; b=kGuoCR7RQ/IutWjSbQ6uERjh8JGwLLzVugh9l8H49IKBfUJDbR7eRRDBp2eqdfuJTxpBrt 6GuGfkj0Rv1XOz2tvDapJVvKe941VPw8v03KEHlrGW2+a2WgIhKHMVLAvv4GusQFur6jMB ZPXw6keNaAuSm395Wgiy8Tt1+ibZsJU+wPZmJNiZ8K71kF0wZ02nElopDJWRAbcC9vu9Tr yCRadvswiD8CjdfobfBI5u8VSrhSyUT5EsxvDeIEBqL9jmUWBn5n4+vq0ud7jZW9DM9WzY WDCMpaI32gfDDPHSRIM2vUZfSPrx93zU9RP2qHO0/UdVlV8WW12/rnlBaJt9TQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1624462028; a=rsa-sha256; cv=none; b=cfPhaTe+qZfNMaI9G2PzdEOmdPFVtom+UYQexNXrItHCJBYFEsnwCSrl+Cg2wfjlAhwggo QWKx0vb137d3x4gIMS0wuJeG/8AupSPd429rArZW1voeIu6kRVCCqFbmq4yZB1CCAqHrle j5tcJPFBZPwR/SF5hJHBSaCTat75g+EgXId3kfKzau8nicuS+eqwIl9zOLBxlPUougo6ja gvDuXhJODjA7ebMUmbt5MCEtnQOslNpCWh8Mf37Fjqe9dZ4sRjET2WUPaymNUn56T1WIRU uNZKJWCR0bsCPMMTCvLfLeZy2pi9xNC2hIbaWBhVtVA/I2wtHwng0/gYbdKq3w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -0.93 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 0E1E417E6F X-Spam-Score: -0.93 X-Migadu-Scanner: scn1.migadu.com X-TUID: 97e28Bn4mzJj --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Konrad Hinsen skribis: >> Python 2 is dead, dead, dead like the parrot and end-of-prolonged life=20 >> as of more than 1 1/2 years. Anyhow, there might still be quite some=20 >> software not ported to Python 3 after 10 years. So I'm afraid we need to= =20 >> keep Python 2. > > At this time, more than 2500 packages still depend on Python 2, and > that's not just Python libraries. The list includes packages such as > TeXlive, LLVM, Rust, OpenJDK, Calibre, OCaml, qemu, etc. > > For many of these packages, Python 2 is used only as part of the build > procedure. Which is run in a highly protective sandbox. So I don't think > we need to worry much about having Python 2 in Guix. To discourage > people from installing it by accident, we could make it a hidden > package. I agree. What we could do is start removing =E2=80=98python2-=E2=80=99 packages, esp= ecially those with a non-negligible maintenance cost (numpy, scipy, matplotlib, etc.). We can move them to the Guix-Past channel if there=E2=80=99s interest. The attached script lists unused =E2=80=98python2-=E2=80=99 leaf packages: --8<---------------cut here---------------start------------->8--- $ guix repl -- unused-python2-packages.scm | wc -l 288 --8<---------------cut here---------------end--------------->8--- Are these good candidates for removal? Thoughts? Ludo=E2=80=99. --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=unused-python2-packages.scm Content-Description: the script (use-modules (gnu packages) (guix) (guix graph) (guix scripts graph)) (define all (fold-packages cons '() #:select? (const #t))) (with-store store (let ((back-edges (run-with-store store (node-back-edges %bag-node-type all)))) (define (unused-python2? package) (and (string-prefix? "python2-" (package-name package)) (zero? (node-reachable-count (list package) back-edges)))) (for-each (lambda (package) (when (unused-python2? package) (format #t "~a~%" (package-name package)))) all))) --=-=-=--