From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:51208) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWyqm-00053I-8R for guix-patches@gnu.org; Tue, 19 Nov 2019 03:27:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWyqk-0005t7-U3 for guix-patches@gnu.org; Tue, 19 Nov 2019 03:27:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:37733) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iWyqk-0005sq-PF for guix-patches@gnu.org; Tue, 19 Nov 2019 03:27:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iWyqk-0003aB-GS for guix-patches@gnu.org; Tue, 19 Nov 2019 03:27:02 -0500 Subject: [bug#38208] [PATCH] gnu: Add python-3.8. Resent-Message-ID: Date: Tue, 19 Nov 2019 09:26:28 +0100 From: Tanguy Le Carrour Message-ID: <20191119082628.2ysfzwpm4o7lpeln@rafflesia> References: <20191114084453.27042-1-tanguy@bioneland.org> <874kz5giav.fsf@devup.no> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <874kz5giav.fsf@devup.no> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Marius Bakke Cc: 38208@debbugs.gnu.org Hi Marius, Le 11/15, Marius Bakke a écrit : > Tanguy Le Carrour writes: > > ++ @unittest.skipIf(True, "This fails for unknown reasons on Guix") > > + def test_keyboard_interrupt_exit_code(self): > > + """KeyboardInterrupt triggers exit via SIGINT.""" > > + process = subprocess.run( > > I'm fairly confident that these failures are because stdin is not a > TTY. Can you try changing to this? > > @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") > > It would be good to submit a patch along these lines upstream if that > works. Thanks for the snippet! It works! I've been trying for 2 days to register on https://bugs.python.org to submit this patch, but failed! :-( I'll keep on trying with different email addresses… Does this mean that we have to wait for upstream to integrate it, or can we use the patched wersion for Guix? Anyway, I'll update this patch according to your suggestion and push it. > > +(define-public python-3.8 > > + (package > > + (inherit python-3.7) > > + (version "3.8.0") > > + (source > > + (origin > > + (inherit (package-source python-3.7)) > > + (uri (string-append "https://www.python.org/ftp/python/" > > + version "/Python-" version ".tar.xz")) > > + (sha256 (base32 "110d0did9rxn7rg85kf2fwli5hqq44xv2d8bi7d92m7v2d728mmk")) > > + (patches (search-patches > > + "python-3.8-search-paths.patch" > > + "python-3-fix-tests.patch" > > + "python-3.8-fix-tests.patch" > > + "python-3-deterministic-build-info.patch")) > > + (snippet > > + '(begin > > + ;; Delete the bundled copy of libexpat. > > + (delete-file-recursively "Modules/expat") > > + (substitute* "Modules/Setup" > > + ;; Link Expat instead of embedding the bundled one. > > + (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) > > + #t)))))) > > One final question... Do you know how stable the Python ABI is? Are > packages compiled with 3.7 guaranteed to work with 3.8? > > I wonder if we should 1) rename it to 'python-next', and 2) override > 'native-search-paths' so that it searches 'lib/python3.8/site-packages'. > > My concern is that e.g. 'guix environment --ad-hoc python python-numpy' > might stop working unless we rename it, and/or adjust search paths. > > If Python 3.8 is fully backwards compatible, we probably don't have to > do anything, otherwise we should adjust accordingly. I don't know anything about ABI, but what I read here: https://www.python.org/dev/peps/pep-0384/ So I guess it's been taken into consideration! I might have some time later this week to test using Python 3.8 as default Python. I'll let you know! Regards, -- Tanguy