From patchwork Mon Jan 27 13:21:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "King, Spencer via Guix-patches\" via" X-Patchwork-Id: 37781 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id D894C27BBE9; Mon, 27 Jan 2025 13:19:54 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D953627BBE2 for ; Mon, 27 Jan 2025 13:19:52 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tcP1m-0000zf-Sk; Mon, 27 Jan 2025 08:19:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tcP1E-0000op-JN for guix-patches@gnu.org; Mon, 27 Jan 2025 08:19:18 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tcP1D-0002sC-Pp; Mon, 27 Jan 2025 08:19:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=/KaaSOUKFB75BirDp0KvHjFv/N+Owkslf9p/0YF3b6o=; b=lt7vjI8M+zyIJNqf30H2B9SAoFNdO//kkHxsOL2e6tUofn8h7g2CyMz1+NlgoJY4ZdvRRPBgFGRWh7BtQQX4ZqY5am74DQZAFaDIBxnwmwfP0cOFdkyLhe83ZhNGk6CvJO4oRIJPFGxBofE2Ii8OW4zEV4bmk5bNWkomaKaKKgjioLt4xEgZugrjiwmGRU1gSmVG8a8W632P3T3HPpEOYsBQ10oPiPtNvvksEGlmL8bmwyaB+rpBbgebiQP+eOEIzwZZFzXED0GDQpZ4m+ZOjpHh5VBsdnM9s0j/E/v/2Moa5ZCIVM2rD1fnwx+q2Ph3ArVAR5Y7EcQKdQU2+GkFpA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tcP14-0002Od-Ep; Mon, 27 Jan 2025 08:19:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#75688] [PATCH v3 2/4] gnu: python: Set GUIX_INTERPRETER_PATH and GUIX_MAIN_SCRIPT_PATH. Resent-From: iyzsong@envs.net Original-Sender: "Debbugs-submit" Resent-CC: lars@6xq.net, marius@gnu.org, me@bonfacemunyoki.com, sharlatanus@gmail.com, tanguy@bioneland.org, jgart@dismail.de, guix-patches@gnu.org Resent-Date: Mon, 27 Jan 2025 13:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75688 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 75688@debbugs.gnu.org Cc: =?utf-8?b?5a6L5paH5q2m?= , Lars-Dominik Braun , Marius Bakke , Munyoki Kilyungi , Sharlatan Hellseher , Tanguy Le Carrour , jgart X-Debbugs-Original-Xcc: Lars-Dominik Braun , Marius Bakke , Munyoki Kilyungi , Sharlatan Hellseher , Tanguy Le Carrour , jgart Received: via spool by 75688-submit@debbugs.gnu.org id=B75688.17379838959122 (code B ref 75688); Mon, 27 Jan 2025 13:19:02 +0000 Received: (at 75688) by debbugs.gnu.org; 27 Jan 2025 13:18:15 +0000 Received: from localhost ([127.0.0.1]:59923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tcP0I-0002Mx-Pc for submit@debbugs.gnu.org; Mon, 27 Jan 2025 08:18:15 -0500 Received: from mail.envs.net ([5.199.136.28]:52478) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tcP0B-0002MR-U1 for 75688@debbugs.gnu.org; Mon, 27 Jan 2025 08:18:08 -0500 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id 0E69938A2C3E; Mon, 27 Jan 2025 13:18:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1737983887; bh=/KaaSOUKFB75BirDp0KvHjFv/N+Owkslf9p/0YF3b6o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UV6lc+f5NMMUWyLEewpRoKvH9frRmuCHQpIZrogNzC+3rEBtjFNuxtn6xYe8C24pk bn620gJ2UKeHKmaeW9XqGvh1t815AkftpvmolHOfm0ZNGbgPuF9L20qzZSHfDTFKcn 7jWgiKqQb1Te1Pr40F+v4LzOYogTHf3nGimwRoZQlhypar1qU6ANKeyHElstkG0uE1 OzNcCg7PseArnEZcmO8jg4LpwxmJw/OEK7e/J7+NMEtGfBhmRUAkEfroRlhLIJ3m6B ycf0mvcC5lcSEO1wWTRWiJ3IbUL1Oyl+NWCSf8RaeYxf7fOBbGRUJ3EoRfjLbD9fkp mu7JDWJTPbsuJJPx7bCBXnXkF2nCcQ+aaLd1sn2ozfiNFeuVemRAhhRqZbYDexkpwn va9JKj+Xg5OdLr8wwnTbStb4U481qr7hO3pdSv/cEodJCoeVI1zS5Tj0ON0qq43+zH XJqBHULJAF4TuDoBDiOy4enOJRKLsy925DTnzcIf6KR/PmZoIlWLW12WRnp5wOusb5 2w7yJriiT/aOHcXxNBN/hEsUqKxFYf6ucEm0ciX3D/z2ZHoZuLEFf/Sr3UQkrsn1UM l+PePE/YShUSdrFy89wo7kN47hdzwmAhtfhnvX/BueZYmD5m6hATW5mwgrwomjohr+ Tede3l9S/OElHuPi+j8S5PNQ= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id lw6k0LLY4GB6; Mon, 27 Jan 2025 13:18:03 +0000 (UTC) Received: from localhost (unknown [112.44.100.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPSA; Mon, 27 Jan 2025 13:18:02 +0000 (UTC) Received: from localhost.localdomain (localhost.lan [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id d692a47c; Mon, 27 Jan 2025 13:21:33 +0000 (UTC) Date: Mon, 27 Jan 2025 21:21:21 +0800 Message-ID: <74079e8d389a7c278bdbbecac5075c4170446edf.1737983975.git.iyzsong@member.fsf.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <1df5c051d9d5e61894a49761415f69f7503451d0.1737983975.git.iyzsong@member.fsf.org> References: <1df5c051d9d5e61894a49761415f69f7503451d0.1737983975.git.iyzsong@member.fsf.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: iyzsong@envs.net X-ACL-Warn: , iyzsong--- via Guix-patches X-Patchwork-Original-From: iyzsong--- via Guix-patches via From: "King, Spencer via Guix-patches\" via" Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: 宋文武 This is used by 'g_build_guix_search_path_dirs' in our patched GLIB. * gnu/packages/patches/python-3-set-GUIX_INTERPRETER_PATH.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/python.scm (python-3.10)[source]: Add it. Change-Id: I4588cbd087a783da1ad8c94fccda7ebf5e9f39ad --- gnu/local.mk | 1 + .../python-3-set-GUIX_INTERPRETER_PATH.patch | 28 +++++++++++++++++++ gnu/packages/python.scm | 3 +- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-3-set-GUIX_INTERPRETER_PATH.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7ae66dd57d..ba355dabf8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2085,6 +2085,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-arm-alignment.patch \ %D%/packages/patches/python-3-deterministic-build-info.patch \ %D%/packages/patches/python-3-search-paths.patch \ + %D%/packages/patches/python-3-set-GUIX_INTERPRETER_PATH.patch \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-3-hurd-configure.patch \ %D%/packages/patches/python-angr-check-exec-deps.patch \ diff --git a/gnu/packages/patches/python-3-set-GUIX_INTERPRETER_PATH.patch b/gnu/packages/patches/python-3-set-GUIX_INTERPRETER_PATH.patch new file mode 100644 index 0000000000..2f173c68c8 --- /dev/null +++ b/gnu/packages/patches/python-3-set-GUIX_INTERPRETER_PATH.patch @@ -0,0 +1,28 @@ +The 'g_build_guix_search_path_dirs' function in our patched GLIB requires +2 environment variables (GUIX_INTERPRETER_PATH and GUIX_MAIN_SCRIPT_PATH) to +check if the current executable is a script launched by an interpreter, and +find the script path if it is. +--- +diff --git a/Modules/main.c b/Modules/main.c +index 5bb1de2..83ada3d 100644 +--- a/Modules/main.c ++++ b/Modules/main.c +@@ -636,6 +636,18 @@ pymain_run_python(int *exitcode) + prepended to sys.path. + + Otherwise, main_importer_path is left unchanged. */ ++ ++ /* Set environment variables to support 'search-paths.d'. */ ++ char *exe_path = realpath("/proc/self/exe", NULL); ++ PyObject *filename = PyUnicode_FromWideChar(config->run_filename, -1); ++ const char *main_script_path = PyUnicode_AsUTF8(filename); ++ if (exe_path != NULL && main_script_path != NULL) { ++ setenv("GUIX_INTERPRETER_PATH", exe_path, 1); ++ setenv("GUIX_MAIN_SCRIPT_PATH", main_script_path, 1); ++ } ++ free(exe_path); ++ Py_DECREF(filename); ++ + if (pymain_get_importer(config->run_filename, &main_importer_path, + exitcode)) { + return; diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c5f98c3a46..7701d111c4 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -463,7 +463,8 @@ (define-public python-3.10 "python-3-fix-tests.patch" "python-3-hurd-configure.patch" "python-3-reproducible-build.patch" - "python-3-search-paths.patch")) + "python-3-search-paths.patch" + "python-3-set-GUIX_INTERPRETER_PATH.patch")) (sha256 (base32 "0j6wvh2ad5jjq5n7sjmj1k66mh6lipabavchc3rb4vsinwaq9vbf"))