X-Loop: help-debbugs@HIDDEN Subject: [bug#72553] [PATCH rust-team 0/4] Several patches removed from core-updates Resent-From: Christopher Baines <mail@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 10 Aug 2024 07:11:01 +0000 Resent-Message-ID: <handler.72553.B.172327382518615 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 72553 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 72553 <at> debbugs.gnu.org X-Debbugs-Original-To: guix-patches@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.172327382518615 (code B ref -1); Sat, 10 Aug 2024 07:11:01 +0000 Received: (at submit) by debbugs.gnu.org; 10 Aug 2024 07:10:25 +0000 Received: from localhost ([127.0.0.1]:38942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1scgF6-0004qA-F6 for submit <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:10:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:43576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mail@HIDDEN>) id 1scgF1-0004pr-UG for submit <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:10:22 -0400 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 <mail@HIDDEN>) id 1scgEY-0003fY-BU for guix-patches@HIDDEN; Sat, 10 Aug 2024 03:09:50 -0400 Received: from mira.cbaines.net ([2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <mail@HIDDEN>) id 1scgEV-0005Yh-PI for guix-patches@HIDDEN; Sat, 10 Aug 2024 03:09:49 -0400 Received: from localhost (136.249.6.51.dyn.plus.net [51.6.249.136]) by mira.cbaines.net (Postfix) with ESMTPSA id 640C627BBE2 for <guix-patches@HIDDEN>; Sat, 10 Aug 2024 08:09:44 +0100 (BST) Received: from felis (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 03b64da1 for <guix-patches@HIDDEN>; Sat, 10 Aug 2024 07:09:43 +0000 (UTC) From: Christopher Baines <mail@HIDDEN> User-Agent: mu4e 1.12.4; emacs 29.3 Date: Sat, 10 Aug 2024 08:09:41 +0100 Message-ID: <871q2w26ru.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27; envelope-from=mail@HIDDEN; helo=mira.cbaines.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain These patches were on core-updates, but they no longer applied when rebasing the branch, I'm guessing due to changes pushed to master as part of the recent rust-team branch merge. I'm not sure if any of these changes need to go on core-updates, at least rust seems to build for me without these changes so I've removed them for now. Maybe some changes will be needed on core-updates, but if not, maybe they can go to rust-team or master as appropriate. Efraim Flashner (1): gnu: rust: Fix building. Maxim Cournoyer (2): gnu: rust: Use gexps; fix enable-profiling phase. gnu: rust: Disable token_not_logged test. Milkey Mouse (1): gnu: rust: Add profiling support. gnu/packages/rust.scm | 463 ++++++++++++++++++++++-------------------- 1 file changed, 242 insertions(+), 221 deletions(-) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAma3EjVfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh aW5lcy5uZXQACgkQXiijOwuE9Xe3nw//aVEj02brKEdvq1hb/LYwGGZtWET34Bm5 /bRd/ktppmncsJ7aNRSlnuk/+bJK+Z0zya1W9tGJyL57EQCFrBT+OqurnaAo1pgD SZf4dxDsCBHKlej39HQGv9kRQbI49YnZ6VagFQJCidodyOYdBTH1EIeWNJzaoB+k RG2JNv6fMJVJLva8TR2ZiO9s/xMMVQ8GxcBuFa5OMWHvmFszyXqpsqiBC53CuGWH pJisGlnklGR3fJ4yho7PO6lvm/jahvkjvyW5icHkqAvzzG8bDMvUwtyQ60xVcSHb B7P4rdXduaxw8QF54/2IDT79ZP8gWxWNyXJfvwKig0+KflEtW0NiEB2LwBEBV3l2 Jdc7FP6l/8/J9KG8gG0qiYvkeTPVaCvTs9MqYrGtCnWwytshhw2RYaNnpFjCqt0g 9GL31cVPYOnsTvUEL8P0G+GVdAx7A6trWC71LHSYJKfpzPd4GUMAkxcEaIWdZ0gj wu/3Cfa7jCv/wwb+dqHLgpbYo2nYApN0c6hdZIzZNOhLN6glUpTPK/1/Xu9eVdWH o8TtXJpzpGjHgcIBAKtP343/V8Qk5Z7SFfGyf/HO/b07txTwDRqbhggtM+lL08x7 KyJZYjw9zpYBljba1eCfNjS7I3DJ3b7D1DKFal0noU3IVVpvRwfc3cwUKZ/lmJuU KuUW8Q63H7I= =H/SP -----END PGP SIGNATURE----- --=-=-=--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Christopher Baines <mail@HIDDEN> Subject: bug#72553: Acknowledgement ([PATCH rust-team 0/4] Several patches removed from core-updates) Message-ID: <handler.72553.B.172327382518615.ack <at> debbugs.gnu.org> References: <871q2w26ru.fsf@HIDDEN> X-Gnu-PR-Message: ack 72553 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 72553 <at> debbugs.gnu.org Date: Sat, 10 Aug 2024 07:11:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 72553 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 72553: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D72553 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: [bug#72553] [PATCH 2/4] gnu: rust: Fix building. Resent-From: Christopher Baines <mail@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: efraim@HIDDEN, guix-patches@HIDDEN Resent-Date: Sat, 10 Aug 2024 07:13:01 +0000 Resent-Message-ID: <handler.72553.B72553.172327397418920 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 72553 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 72553 <at> debbugs.gnu.org Cc: Efraim Flashner <efraim@HIDDEN> X-Debbugs-Original-Xcc: Efraim Flashner <efraim@HIDDEN> Received: via spool by 72553-submit <at> debbugs.gnu.org id=B72553.172327397418920 (code B ref 72553); Sat, 10 Aug 2024 07:13:01 +0000 Received: (at 72553) by debbugs.gnu.org; 10 Aug 2024 07:12:54 +0000 Received: from localhost ([127.0.0.1]:38953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1scgHV-0004v4-NP for submit <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:12:54 -0400 Received: from mira.cbaines.net ([212.71.252.8]:43986) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mail@HIDDEN>) id 1scgHS-0004ug-UU for 72553 <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:12:51 -0400 Received: from localhost (136.249.6.51.dyn.plus.net [51.6.249.136]) by mira.cbaines.net (Postfix) with ESMTPSA id 18E4627BBE9 for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 08:11:51 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 65c7c1ab for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 07:11:50 +0000 (UTC) From: Christopher Baines <mail@HIDDEN> Date: Sat, 10 Aug 2024 08:11:45 +0100 Message-ID: <e23ef248c5338db98225ba2ec305db5bc16ced11.1723273907.git.mail@HIDDEN> X-Mailer: git-send-email 2.45.2 In-Reply-To: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> References: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) From: Efraim Flashner <efraim@HIDDEN> * gnu/packages/rust.scm (rust)[arguments]: Adjust 'unpack-compiler-rt phase to correctly copy the sources into the target directory. Adjust 'enable-profiling phase to come after an existing phase. [native-inputs]: Add clang-runtime-source. Change-Id: I2e05fa86c4eaf8c2f5f3562d9f7939cd881cde3f --- gnu/packages/rust.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 4a3ad99e88..fe503b0d5f 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -1223,13 +1223,14 @@ (define-public rust out "/lib\");\n")))))) (add-after 'unpack 'unpack-profiler-rt ;; Copy compiler-rt sources to where libprofiler_builtins looks - ;; for its vendored copy. Keep the clang-runtime version in - ;; sync with the LLVM version used to build Rust. + ;; for its vendored copy. (lambda* (#:key inputs #:allow-other-keys) (mkdir-p "src/llvm-project/compiler-rt") - (invoke "tar" "-xf" #$(package-source clang-runtime-15) - "-C" "src/llvm-project/compiler-rt" "--strip-components=1"))) - (add-after 'enable-codegen-tests 'enable-profiling + (copy-recursively + (string-append (assoc-ref inputs "clang-source") + "/compiler-rt") + "src/llvm-project/compiler-rt"))) + (add-after 'configure 'enable-profiling (lambda _ (substitute* "config.toml" (("^profiler =.*$") "") @@ -1315,10 +1316,13 @@ (define-public rust (inputs (modify-inputs (package-inputs base-rust) (prepend curl libffi `(,nghttp2 "lib") zlib))) - ;; Add test inputs. - (native-inputs (cons* `("gdb" ,gdb/pinned) - `("procps" ,procps) - (package-native-inputs base-rust)))))) + (native-inputs (cons* + ;; Keep in sync with the llvm used to build rust. + `("clang-source" ,(package-source clang-runtime-15)) + ;; Add test inputs. + `("gdb" ,gdb/pinned) + `("procps" ,procps) + (package-native-inputs base-rust)))))) (define*-public (make-rust-sysroot target) (make-rust-sysroot/implementation target rust)) -- 2.45.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#72553] [PATCH 1/4] gnu: rust: Add profiling support. References: <871q2w26ru.fsf@HIDDEN> In-Reply-To: <871q2w26ru.fsf@HIDDEN> Resent-From: Christopher Baines <mail@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: efraim@HIDDEN, guix-patches@HIDDEN Resent-Date: Sat, 10 Aug 2024 07:13:02 +0000 Resent-Message-ID: <handler.72553.B72553.172327397518928 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 72553 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 72553 <at> debbugs.gnu.org Cc: Efraim Flashner <efraim@HIDDEN> X-Debbugs-Original-Xcc: Efraim Flashner <efraim@HIDDEN> Received: via spool by 72553-submit <at> debbugs.gnu.org id=B72553.172327397518928 (code B ref 72553); Sat, 10 Aug 2024 07:13:02 +0000 Received: (at 72553) by debbugs.gnu.org; 10 Aug 2024 07:12:55 +0000 Received: from localhost ([127.0.0.1]:38955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1scgHW-0004v7-Mu for submit <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:12:55 -0400 Received: from mira.cbaines.net ([212.71.252.8]:43984) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mail@HIDDEN>) id 1scgHS-0004uf-Rm for 72553 <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:12:52 -0400 Received: from localhost (136.249.6.51.dyn.plus.net [51.6.249.136]) by mira.cbaines.net (Postfix) with ESMTPSA id 011F227BBE2 for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 08:11:50 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id ba281b2b for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 07:11:50 +0000 (UTC) From: Christopher Baines <mail@HIDDEN> Date: Sat, 10 Aug 2024 08:11:44 +0100 Message-ID: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) From: Milkey Mouse <milkeymouse@HIDDEN> * gnu/packages/rust.scm (rust-1.52) [phases] <unpack-profiler-rt, enable-profiling>: New phases. Change-Id: Iecb4aef518e52f71ff7f539778bf0341288a3458 --- gnu/packages/rust.scm | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 12529d2420..4a3ad99e88 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -1216,11 +1216,24 @@ (define-public rust (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "src/bootstrap/src/core/builder.rs" - ((" = rpath.*" all) - (string-append all - " " - "rustflags.arg(\"-Clink-args=-Wl,-rpath=" - out "/lib\");\n")))))) + ((" = rpath.*" all) + (string-append all + " " + "rustflags.arg(\"-Clink-args=-Wl,-rpath=" + out "/lib\");\n")))))) + (add-after 'unpack 'unpack-profiler-rt + ;; Copy compiler-rt sources to where libprofiler_builtins looks + ;; for its vendored copy. Keep the clang-runtime version in + ;; sync with the LLVM version used to build Rust. + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "src/llvm-project/compiler-rt") + (invoke "tar" "-xf" #$(package-source clang-runtime-15) + "-C" "src/llvm-project/compiler-rt" "--strip-components=1"))) + (add-after 'enable-codegen-tests 'enable-profiling + (lambda _ + (substitute* "config.toml" + (("^profiler =.*$") "") + (("\\[build\\]") "\n[build]\nprofiler = true\n")))) (add-after 'configure 'add-gdb-to-config (lambda* (#:key inputs #:allow-other-keys) (let ((gdb (assoc-ref inputs "gdb"))) @@ -1236,7 +1249,7 @@ (define-public rust (number->string (parallel-job-count)) "1")))) (invoke "./x.py" job-spec "build" - "library/std" ;rustc + "library/std" ;rustc "src/tools/cargo" "src/tools/clippy" "src/tools/rust-analyzer" base-commit: ce055b806eaff8fec329c30ae0deb82c50a86240 -- 2.45.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#72553] [PATCH 4/4] gnu: rust: Disable token_not_logged test. Resent-From: Christopher Baines <mail@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: efraim@HIDDEN, guix-patches@HIDDEN Resent-Date: Sat, 10 Aug 2024 07:13:02 +0000 Resent-Message-ID: <handler.72553.B72553.172327397518934 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 72553 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 72553 <at> debbugs.gnu.org Cc: Efraim Flashner <efraim@HIDDEN> X-Debbugs-Original-Xcc: Efraim Flashner <efraim@HIDDEN> Received: via spool by 72553-submit <at> debbugs.gnu.org id=B72553.172327397518934 (code B ref 72553); Sat, 10 Aug 2024 07:13:02 +0000 Received: (at 72553) by debbugs.gnu.org; 10 Aug 2024 07:12:55 +0000 Received: from localhost ([127.0.0.1]:38957 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1scgHX-0004vF-Cj for submit <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:12:55 -0400 Received: from mira.cbaines.net ([212.71.252.8]:43990) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mail@HIDDEN>) id 1scgHT-0004uj-OR for 72553 <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:12:52 -0400 Received: from localhost (136.249.6.51.dyn.plus.net [51.6.249.136]) by mira.cbaines.net (Postfix) with ESMTPSA id 435A927BBEB for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 08:11:52 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 69417597 for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 07:11:51 +0000 (UTC) From: Christopher Baines <mail@HIDDEN> Date: Sat, 10 Aug 2024 08:11:47 +0100 Message-ID: <c66bd5b763854bce52adbb68a66bcc49ef312ac7.1723273907.git.mail@HIDDEN> X-Mailer: git-send-email 2.45.2 In-Reply-To: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> References: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> * gnu/packages/rust.scm (rust) [arguments]: Disable an extra test in the disable-tests-using-cargo-publish phase. Change-Id: I7d5d9603cfeeffd95f565b5bda455e28022fa745 --- gnu/packages/rust.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 13e57cd3f5..1d89cd212c 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -1100,11 +1100,16 @@ (define-public rust #$@(make-ignore-test-list '("fn case")))))) (add-after 'unpack 'disable-tests-using-cargo-publish + ;; The publish procedure doesn't work in the build environment + ;; (see: https://github.com/rust-lang/rust/issues/120340). (lambda _ (with-directory-excursion "src/tools/cargo/tests/testsuite" (substitute* "alt_registry.rs" #$@(make-ignore-test-list '("fn warn_for_unused_fields"))) + (substitute* "registry_auth.rs" + #$@(make-ignore-test-list + '("fn token_not_logged"))) (substitute* '("cargo_add/locked_unchanged/mod.rs" "cargo_add/lockfile_updated/mod.rs" "cargo_remove/update_lock_file/mod.rs") -- 2.45.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#72553] [PATCH 3/4] gnu: rust: Use gexps; fix enable-profiling phase. Resent-From: Christopher Baines <mail@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: efraim@HIDDEN, guix-patches@HIDDEN Resent-Date: Sat, 10 Aug 2024 07:13:03 +0000 Resent-Message-ID: <handler.72553.B72553.172327398018953 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 72553 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 72553 <at> debbugs.gnu.org Cc: Efraim Flashner <efraim@HIDDEN> X-Debbugs-Original-Xcc: Efraim Flashner <efraim@HIDDEN> Received: via spool by 72553-submit <at> debbugs.gnu.org id=B72553.172327398018953 (code B ref 72553); Sat, 10 Aug 2024 07:13:03 +0000 Received: (at 72553) by debbugs.gnu.org; 10 Aug 2024 07:13:00 +0000 Received: from localhost ([127.0.0.1]:38959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1scgHZ-0004vY-Ps for submit <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:13:00 -0400 Received: from mira.cbaines.net ([212.71.252.8]:43988) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mail@HIDDEN>) id 1scgHT-0004ui-MM for 72553 <at> debbugs.gnu.org; Sat, 10 Aug 2024 03:12:56 -0400 Received: from localhost (136.249.6.51.dyn.plus.net [51.6.249.136]) by mira.cbaines.net (Postfix) with ESMTPSA id 339E327BBEA for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 08:11:52 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id a94d3b40 for <72553 <at> debbugs.gnu.org>; Sat, 10 Aug 2024 07:11:51 +0000 (UTC) From: Christopher Baines <mail@HIDDEN> Date: Sat, 10 Aug 2024 08:11:46 +0100 Message-ID: <4c8352f7faa046bcdd1b00c7d9e3c0d2732f1d2d.1723273907.git.mail@HIDDEN> X-Mailer: git-send-email 2.45.2 In-Reply-To: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> References: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> This is a follow up commit to 8219ab0443129c71eef83ee4bd3aae0a0a12b6f9, which had a few problems. * gnu/packages/rust.scm (rust) [arguments]: Use gexps. Replace unpack-profiler-rt phase with copy-compiler-rt-source. Rename the enable-profiling phase to enable-profiler; streamline substitute regexp/replacement. Change-Id: I058de60f25c6a96cf4bbcd3a7dd4a682341e2ac5 --- gnu/packages/rust.scm | 493 +++++++++++++++++++++--------------------- 1 file changed, 246 insertions(+), 247 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index fe503b0d5f..13e57cd3f5 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2020, 2021 Jakub Kądziołka <kuba@HIDDEN> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@HIDDEN> ;;; Copyright © 2020 Matthew James Kraai <kraai@HIDDEN> -;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@HIDDEN> +;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@HIDDEN> ;;; Copyright © 2021 (unmatched parenthesis <paren@HIDDEN> ;;; Copyright © 2022 Zheng Junjie <873216071@HIDDEN> ;;; Copyright © 2022 Jim Newsome <jnewsome@HIDDEN> @@ -1072,257 +1072,256 @@ (define-public rust (strip-keyword-arguments '(#:tests?) (package-arguments base-rust)) ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'relax-gdb-auto-load-safe-path - ;; Allow GDB to load binaries from any location, otherwise the - ;; gdbinfo tests fail. This is only useful when testing with a - ;; GDB version newer than 8.2. - (lambda _ - (setenv "HOME" (getcwd)) - (with-output-to-file (string-append (getenv "HOME") "/.gdbinit") - (lambda _ - (format #t "set auto-load safe-path /~%"))) - ;; Do not launch gdb with '-nx' which causes it to not execute - ;; any init file. - (substitute* "src/tools/compiletest/src/runtest.rs" - (("\"-nx\".as_ref\\(\\), ") - "")))) - (add-after 'unpack 'disable-tests-requiring-git - (lambda _ - (substitute* "src/tools/cargo/tests/testsuite/git.rs" - ,@(make-ignore-test-list - '("fn fetch_downloads_with_git2_first_"))))) - (add-after 'unpack 'disable-tests-requiring-mercurial - (lambda _ - (with-directory-excursion "src/tools/cargo/tests/testsuite/cargo_init" - (substitute* '("mercurial_autodetect/mod.rs" - "simple_hg_ignore_exists/mod.rs") - ,@(make-ignore-test-list - '("fn case")))))) - (add-after 'unpack 'disable-tests-using-cargo-publish - (lambda _ - (with-directory-excursion "src/tools/cargo/tests/testsuite" - (substitute* "alt_registry.rs" - ,@(make-ignore-test-list - '("fn warn_for_unused_fields"))) - (substitute* '("cargo_add/locked_unchanged/mod.rs" - "cargo_add/lockfile_updated/mod.rs" - "cargo_remove/update_lock_file/mod.rs") - ,@(make-ignore-test-list - '("fn case"))) - (substitute* "git_shallow.rs" - ,@(make-ignore-test-list - '("fn gitoxide_clones_git_dependency_with_shallow_protocol_and_git2_is_used_for_followup_fetches" - "fn gitoxide_clones_registry_with_shallow_protocol_and_aborts_and_updates_again" - "fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_fetch_maintains_shallowness" - "fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_with_git2_fetch" - "fn gitoxide_clones_registry_without_shallow_protocol_and_follow_up_fetch_uses_shallowness" - "fn gitoxide_shallow_clone_followed_by_non_shallow_update" - "fn gitoxide_clones_shallow_two_revs_same_deps" - "fn gitoxide_git_dependencies_switch_from_branch_to_rev" - "fn shallow_deps_work_with_revisions_and_branches_mixed_on_same_dependency"))) - (substitute* "install.rs" - ,@(make-ignore-test-list - '("fn failed_install_retains_temp_directory"))) - (substitute* "offline.rs" - ,@(make-ignore-test-list - '("fn gitoxide_cargo_compile_offline_with_cached_git_dep_shallow_dep"))) - (substitute* "patch.rs" - ,@(make-ignore-test-list - '("fn gitoxide_clones_shallow_old_git_patch")))))) - ,@(if (target-riscv64?) - ;; Keep this phase separate so it can be adjusted without needing - ;; to adjust the skipped tests on other architectures. - `((add-after 'unpack 'disable-tests-broken-on-riscv64 - (lambda _ - (with-directory-excursion "src/tools/cargo/tests/testsuite" - (substitute* "build.rs" - ,@(make-ignore-test-list - '("fn uplift_dwp_of_bin_on_linux"))) - (substitute* "cache_lock.rs" - ,@(make-ignore-test-list - '("fn multiple_download"))))))) - `()) - (add-after 'unpack 'disable-tests-broken-on-aarch64 - (lambda _ - (with-directory-excursion "src/tools/cargo/tests/testsuite/" - (substitute* "build_script_extra_link_arg.rs" - ,@(make-ignore-test-list - '("fn build_script_extra_link_arg_bin_single"))) - (substitute* "build_script.rs" - ,@(make-ignore-test-list - '("fn env_test"))) - (substitute* "collisions.rs" - ,@(make-ignore-test-list - '("fn collision_doc_profile_split"))) - (substitute* "concurrent.rs" - ,@(make-ignore-test-list - '("fn no_deadlock_with_git_dependencies"))) - (substitute* "features2.rs" - ,@(make-ignore-test-list - '("fn dep_with_optional_host_deps_activated")))))) - (add-after 'unpack 'patch-command-exec-tests - ;; This test suite includes some tests that the stdlib's - ;; `Command` execution properly handles in situations where - ;; the environment or PATH variable are empty, but this fails - ;; since we don't have `echo` available at its usual FHS - ;; location. - (lambda _ - (substitute* "tests/ui/command/command-exec.rs" - (("Command::new\\(\"echo\"\\)") - (format #f "Command::new(~s)" (which "echo")))))) - (add-after 'unpack 'patch-command-uid-gid-test - (lambda _ - (substitute* "tests/ui/command/command-uid-gid.rs" - (("/bin/sh") (which "sh")) - (("/bin/ls") (which "ls"))))) - (add-after 'unpack 'skip-shebang-tests - ;; This test make sure that the parser behaves properly when a - ;; source file starts with a shebang. Unfortunately, the - ;; patch-shebangs phase changes the meaning of these edge-cases. - ;; We skip the test since it's drastically unlikely Guix's - ;; packaging will introduce a bug here. - (lambda _ - (delete-file "tests/ui/parser/shebang/sneaky-attrib.rs"))) - (add-after 'unpack 'patch-process-tests - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (with-directory-excursion "library/std/src" - (substitute* "process/tests.rs" - (("\"/bin/sh\"") - (string-append "\"" bash "/bin/sh\""))) - ;; The three tests which are known to fail upstream on QEMU - ;; emulation on aarch64 and riscv64 also fail on x86_64 in - ;; Guix's build system. Skip them on all builds. - (substitute* "sys/unix/process/process_common/tests.rs" - ;; We can't use make-ignore-test-list because we will get - ;; build errors due to the double [ignore] block. - (("target_arch = \"arm\"" arm) - (string-append "target_os = \"linux\",\n" - " " arm))))))) - (add-after 'unpack 'disable-interrupt-tests - (lambda _ - ;; This test hangs in the build container; disable it. - (substitute* "src/tools/cargo/tests/testsuite/freshness.rs" - ,@(make-ignore-test-list - '("fn linking_interrupted"))) - ;; Likewise for the ctrl_c_kills_everyone test. - (substitute* "src/tools/cargo/tests/testsuite/death.rs" - ,@(make-ignore-test-list - '("fn ctrl_c_kills_everyone"))))) - (add-after 'unpack 'adjust-rpath-values - ;; This adds %output:out to rpath, allowing us to install utilities in - ;; different outputs while reusing the shared libraries. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "src/bootstrap/src/core/builder.rs" - ((" = rpath.*" all) - (string-append all - " " - "rustflags.arg(\"-Clink-args=-Wl,-rpath=" - out "/lib\");\n")))))) - (add-after 'unpack 'unpack-profiler-rt - ;; Copy compiler-rt sources to where libprofiler_builtins looks - ;; for its vendored copy. - (lambda* (#:key inputs #:allow-other-keys) - (mkdir-p "src/llvm-project/compiler-rt") - (copy-recursively - (string-append (assoc-ref inputs "clang-source") - "/compiler-rt") - "src/llvm-project/compiler-rt"))) - (add-after 'configure 'enable-profiling - (lambda _ - (substitute* "config.toml" - (("^profiler =.*$") "") - (("\\[build\\]") "\n[build]\nprofiler = true\n")))) - (add-after 'configure 'add-gdb-to-config - (lambda* (#:key inputs #:allow-other-keys) - (let ((gdb (assoc-ref inputs "gdb"))) - (substitute* "config.toml" - (("^python =.*" all) - (string-append all - "gdb = \"" gdb "/bin/gdb\"\n")))))) - (replace 'build - ;; Phase overridden to also build more tools. - (lambda* (#:key parallel-build? #:allow-other-keys) - (let ((job-spec (string-append - "-j" (if parallel-build? - (number->string (parallel-job-count)) - "1")))) - (invoke "./x.py" job-spec "build" - "library/std" ;rustc - "src/tools/cargo" - "src/tools/clippy" - "src/tools/rust-analyzer" - "src/tools/rustfmt")))) - (replace 'check - ;; Phase overridden to also test more tools. - (lambda* (#:key tests? parallel-build? #:allow-other-keys) - (when tests? - (let ((job-spec (string-append - "-j" (if parallel-build? - (number->string (parallel-job-count)) - "1")))) - (invoke "./x.py" job-spec "test" "-vv" - "library/std" - "src/tools/cargo" - "src/tools/clippy" - "src/tools/rust-analyzer" - "src/tools/rustfmt"))))) - (replace 'install - ;; Phase overridden to also install more tools. - (lambda* (#:key outputs #:allow-other-keys) - (invoke "./x.py" "install") - (substitute* "config.toml" - ;; Adjust the prefix to the 'cargo' output. - (("prefix = \"[^\"]*\"") - (format #f "prefix = ~s" (assoc-ref outputs "cargo")))) - (invoke "./x.py" "install" "cargo") - (substitute* "config.toml" - ;; Adjust the prefix to the 'tools' output. - (("prefix = \"[^\"]*\"") - (format #f "prefix = ~s" (assoc-ref outputs "tools")))) - (invoke "./x.py" "install" "clippy") - (invoke "./x.py" "install" "rust-analyzer") - (invoke "./x.py" "install" "rustfmt"))) - (add-after 'install 'install-rust-src - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "rust-src")) - (dest "/lib/rustlib/src/rust")) - (mkdir-p (string-append out dest)) - (copy-recursively "library" (string-append out dest "/library")) - (copy-recursively "src" (string-append out dest "/src"))))) - (add-after 'install 'remove-uninstall-script - (lambda* (#:key outputs #:allow-other-keys) - ;; This script has no use on Guix - ;; and it retains a reference to the host's bash. - (delete-file (string-append (assoc-ref outputs "out") - "/lib/rustlib/uninstall.sh")))) - (add-after 'install-rust-src 'wrap-rust-analyzer - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "tools") "/bin"))) - (rename-file (string-append bin "/rust-analyzer") - (string-append bin "/.rust-analyzer-real")) - (call-with-output-file (string-append bin "/rust-analyzer") - (lambda (port) - (format port "#!~a + #~(modify-phases #$phases + (add-after 'unpack 'relax-gdb-auto-load-safe-path + ;; Allow GDB to load binaries from any location, otherwise the + ;; gdbinfo tests fail. This is only useful when testing with a + ;; GDB version newer than 8.2. + (lambda _ + (setenv "HOME" (getcwd)) + (with-output-to-file (string-append (getenv "HOME") "/.gdbinit") + (lambda _ + (format #t "set auto-load safe-path /~%"))) + ;; Do not launch gdb with '-nx' which causes it to not execute + ;; any init file. + (substitute* "src/tools/compiletest/src/runtest.rs" + (("\"-nx\".as_ref\\(\\), ") + "")))) + (add-after 'unpack 'disable-tests-requiring-git + (lambda _ + (substitute* "src/tools/cargo/tests/testsuite/git.rs" + #$@(make-ignore-test-list + '("fn fetch_downloads_with_git2_first_"))))) + (add-after 'unpack 'disable-tests-requiring-mercurial + (lambda _ + (with-directory-excursion "src/tools/cargo/tests/testsuite/cargo_init" + (substitute* '("mercurial_autodetect/mod.rs" + "simple_hg_ignore_exists/mod.rs") + #$@(make-ignore-test-list + '("fn case")))))) + (add-after 'unpack 'disable-tests-using-cargo-publish + (lambda _ + (with-directory-excursion "src/tools/cargo/tests/testsuite" + (substitute* "alt_registry.rs" + #$@(make-ignore-test-list + '("fn warn_for_unused_fields"))) + (substitute* '("cargo_add/locked_unchanged/mod.rs" + "cargo_add/lockfile_updated/mod.rs" + "cargo_remove/update_lock_file/mod.rs") + #$@(make-ignore-test-list + '("fn case"))) + (substitute* "git_shallow.rs" + #$@(make-ignore-test-list + '("fn gitoxide_clones_git_dependency_with_shallow_protocol_and_git2_is_used_for_followup_fetches" + "fn gitoxide_clones_registry_with_shallow_protocol_and_aborts_and_updates_again" + "fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_fetch_maintains_shallowness" + "fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_with_git2_fetch" + "fn gitoxide_clones_registry_without_shallow_protocol_and_follow_up_fetch_uses_shallowness" + "fn gitoxide_shallow_clone_followed_by_non_shallow_update" + "fn gitoxide_clones_shallow_two_revs_same_deps" + "fn gitoxide_git_dependencies_switch_from_branch_to_rev" + "fn shallow_deps_work_with_revisions_and_branches_mixed_on_same_dependency"))) + (substitute* "install.rs" + #$@(make-ignore-test-list + '("fn failed_install_retains_temp_directory"))) + (substitute* "offline.rs" + #$@(make-ignore-test-list + '("fn gitoxide_cargo_compile_offline_with_cached_git_dep_shallow_dep"))) + (substitute* "patch.rs" + #$@(make-ignore-test-list + '("fn gitoxide_clones_shallow_old_git_patch")))))) + #$@(if (target-riscv64?) + ;; Keep this phase separate so it can be adjusted without needing + ;; to adjust the skipped tests on other architectures. + #~((add-after 'unpack 'disable-tests-broken-on-riscv64 + (lambda _ + (with-directory-excursion "src/tools/cargo/tests/testsuite" + (substitute* "build.rs" + #$@(make-ignore-test-list + '("fn uplift_dwp_of_bin_on_linux"))) + (substitute* "cache_lock.rs" + #$@(make-ignore-test-list + '("fn multiple_download"))))))) + #~()) + (add-after 'unpack 'disable-tests-broken-on-aarch64 + (lambda _ + (with-directory-excursion "src/tools/cargo/tests/testsuite/" + (substitute* "build_script_extra_link_arg.rs" + #$@(make-ignore-test-list + '("fn build_script_extra_link_arg_bin_single"))) + (substitute* "build_script.rs" + #$@(make-ignore-test-list + '("fn env_test"))) + (substitute* "collisions.rs" + #$@(make-ignore-test-list + '("fn collision_doc_profile_split"))) + (substitute* "concurrent.rs" + #$@(make-ignore-test-list + '("fn no_deadlock_with_git_dependencies"))) + (substitute* "features2.rs" + #$@(make-ignore-test-list + '("fn dep_with_optional_host_deps_activated")))))) + (add-after 'unpack 'patch-command-exec-tests + ;; This test suite includes some tests that the stdlib's + ;; `Command` execution properly handles in situations where + ;; the environment or PATH variable are empty, but this fails + ;; since we don't have `echo` available at its usual FHS + ;; location. + (lambda _ + (substitute* "tests/ui/command/command-exec.rs" + (("Command::new\\(\"echo\"\\)") + (format #f "Command::new(~s)" (which "echo")))))) + (add-after 'unpack 'patch-command-uid-gid-test + (lambda _ + (substitute* "tests/ui/command/command-uid-gid.rs" + (("/bin/sh") (which "sh")) + (("/bin/ls") (which "ls"))))) + (add-after 'unpack 'skip-shebang-tests + ;; This test make sure that the parser behaves properly when a + ;; source file starts with a shebang. Unfortunately, the + ;; patch-shebangs phase changes the meaning of these edge-cases. + ;; We skip the test since it's drastically unlikely Guix's + ;; packaging will introduce a bug here. + (lambda _ + (delete-file "tests/ui/parser/shebang/sneaky-attrib.rs"))) + (add-after 'unpack 'patch-process-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (with-directory-excursion "library/std/src" + (substitute* "process/tests.rs" + (("\"/bin/sh\"") + (string-append "\"" bash "/bin/sh\""))) + ;; The three tests which are known to fail upstream on QEMU + ;; emulation on aarch64 and riscv64 also fail on x86_64 in + ;; Guix's build system. Skip them on all builds. + (substitute* "sys/unix/process/process_common/tests.rs" + ;; We can't use make-ignore-test-list because we will get + ;; build errors due to the double [ignore] block. + (("target_arch = \"arm\"" arm) + (string-append "target_os = \"linux\",\n" + " " arm))))))) + (add-after 'unpack 'disable-interrupt-tests + (lambda _ + ;; This test hangs in the build container; disable it. + (substitute* "src/tools/cargo/tests/testsuite/freshness.rs" + #$@(make-ignore-test-list + '("fn linking_interrupted"))) + ;; Likewise for the ctrl_c_kills_everyone test. + (substitute* "src/tools/cargo/tests/testsuite/death.rs" + #$@(make-ignore-test-list + '("fn ctrl_c_kills_everyone"))))) + (add-after 'unpack 'adjust-rpath-values + ;; This adds %output:out to rpath, allowing us to install utilities in + ;; different outputs while reusing the shared libraries. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "src/bootstrap/src/core/builder.rs" + ((" = rpath.*" all) + (string-append all + " " + "rustflags.arg(\"-Clink-args=-Wl,-rpath=" + out "/lib\");\n")))))) + (add-after 'unpack 'copy-compiler-rt-source + ;; Note: Keep the clang-runtime version in sync with the LLVM + ;; version used to build Rust. + (lambda _ + (let ((compiler-rt "src/llvm-project/compiler-rt")) + (mkdir-p compiler-rt) + (copy-recursively + (string-append #$(package-source clang-runtime-15) + "/compiler-rt") + compiler-rt)))) + (add-after 'configure 'enable-profiler + (lambda _ + (substitute* "config.toml" + (("^profiler =.*") "") + (("\\[build]") + "[build]\nprofiler = true\n")))) + (add-after 'configure 'add-gdb-to-config + (lambda* (#:key inputs #:allow-other-keys) + (let ((gdb (assoc-ref inputs "gdb"))) + (substitute* "config.toml" + (("^python =.*" all) + (string-append all + "gdb = \"" gdb "/bin/gdb\"\n")))))) + (replace 'build + ;; Phase overridden to also build more tools. + (lambda* (#:key parallel-build? #:allow-other-keys) + (let ((job-spec (string-append + "-j" (if parallel-build? + (number->string (parallel-job-count)) + "1")))) + (invoke "./x.py" job-spec "build" + "library/std" ;rustc + "src/tools/cargo" + "src/tools/clippy" + "src/tools/rust-analyzer" + "src/tools/rustfmt")))) + (replace 'check + ;; Phase overridden to also test more tools. + (lambda* (#:key tests? parallel-build? #:allow-other-keys) + (when tests? + (let ((job-spec (string-append + "-j" (if parallel-build? + (number->string (parallel-job-count)) + "1")))) + (invoke "./x.py" job-spec "test" "-vv" + "library/std" + "src/tools/cargo" + "src/tools/clippy" + "src/tools/rust-analyzer" + "src/tools/rustfmt"))))) + (replace 'install + ;; Phase overridden to also install more tools. + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./x.py" "install") + (substitute* "config.toml" + ;; Adjust the prefix to the 'cargo' output. + (("prefix = \"[^\"]*\"") + (format #f "prefix = ~s" (assoc-ref outputs "cargo")))) + (invoke "./x.py" "install" "cargo") + (substitute* "config.toml" + ;; Adjust the prefix to the 'tools' output. + (("prefix = \"[^\"]*\"") + (format #f "prefix = ~s" (assoc-ref outputs "tools")))) + (invoke "./x.py" "install" "clippy") + (invoke "./x.py" "install" "rust-analyzer") + (invoke "./x.py" "install" "rustfmt"))) + (add-after 'install 'install-rust-src + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "rust-src")) + (dest "/lib/rustlib/src/rust")) + (mkdir-p (string-append out dest)) + (copy-recursively "library" (string-append out dest "/library")) + (copy-recursively "src" (string-append out dest "/src"))))) + (add-after 'install 'remove-uninstall-script + (lambda* (#:key outputs #:allow-other-keys) + ;; This script has no use on Guix + ;; and it retains a reference to the host's bash. + (delete-file (string-append (assoc-ref outputs "out") + "/lib/rustlib/uninstall.sh")))) + (add-after 'install-rust-src 'wrap-rust-analyzer + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "tools") "/bin"))) + (rename-file (string-append bin "/rust-analyzer") + (string-append bin "/.rust-analyzer-real")) + (call-with-output-file (string-append bin "/rust-analyzer") + (lambda (port) + (format port "#!~a if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi; exec -a \"$0\" \"~a\" \"$@\"" - (which "bash") - (string-append (assoc-ref outputs "rust-src") - "/lib/rustlib/src/rust/library") - (string-append bin "/.rust-analyzer-real")))) - (chmod (string-append bin "/rust-analyzer") #o755)))))))) + (which "bash") + (string-append (assoc-ref outputs "rust-src") + "/lib/rustlib/src/rust/library") + (string-append bin "/.rust-analyzer-real")))) + (chmod (string-append bin "/rust-analyzer") #o755)))))))) (inputs (modify-inputs (package-inputs base-rust) (prepend curl libffi `(,nghttp2 "lib") zlib))) - (native-inputs (cons* - ;; Keep in sync with the llvm used to build rust. - `("clang-source" ,(package-source clang-runtime-15)) - ;; Add test inputs. - `("gdb" ,gdb/pinned) - `("procps" ,procps) - (package-native-inputs base-rust)))))) + ;; Add test inputs. + (native-inputs (cons* `("gdb" ,gdb/pinned) + `("procps" ,procps) + (package-native-inputs base-rust)))))) (define*-public (make-rust-sysroot target) (make-rust-sysroot/implementation target rust)) -- 2.45.2
X-Loop: help-debbugs@HIDDEN Subject: [bug#72553] [PATCH 2/4] gnu: rust: Fix building. Resent-From: Andreas Enge <andreas@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Tue, 01 Apr 2025 10:16:01 +0000 Resent-Message-ID: <handler.72553.B72553.174350251013320 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 72553 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Christopher Baines <mail@HIDDEN> Cc: 72553 <at> debbugs.gnu.org, steve@HIDDEN, efraim@HIDDEN, divya@HIDDEN, milkeymouse@HIDDEN Received: via spool by 72553-submit <at> debbugs.gnu.org id=B72553.174350251013320 (code B ref 72553); Tue, 01 Apr 2025 10:16:01 +0000 Received: (at 72553) by debbugs.gnu.org; 1 Apr 2025 10:15:10 +0000 Received: from localhost ([127.0.0.1]:46485 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tzYeD-0003SX-E6 for submit <at> debbugs.gnu.org; Tue, 01 Apr 2025 06:15:09 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:46942) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <andreas@HIDDEN>) id 1tzYeA-0003OB-OC for 72553 <at> debbugs.gnu.org; Tue, 01 Apr 2025 06:15:07 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 6FD0D28D; Tue, 1 Apr 2025 12:14:59 +0200 (CEST) Authentication-Results: hera.aquilenet.fr; none X-Virus-Scanned: Debian amavis at hera.aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavis, port 10024) with ESMTP id EIMgCC9CzJ5G; Tue, 1 Apr 2025 12:14:59 +0200 (CEST) Received: from jurong (176-179-191-150.abo.bbox.fr [176.179.191.150]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 5AAB8111; Tue, 1 Apr 2025 12:14:58 +0200 (CEST) Date: Tue, 1 Apr 2025 12:14:56 +0200 From: Andreas Enge <andreas@HIDDEN> Message-ID: <Z-u8oIdAdw2qATVX@jurong> References: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@HIDDEN> <e23ef248c5338db98225ba2ec305db5bc16ced11.1723273907.git.mail@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <e23ef248c5338db98225ba2ec305db5bc16ced11.1723273907.git.mail@HIDDEN> X-Rspamd-Queue-Id: 6FD0D28D X-Spamd-Result: default: False [2.46 / 15.00]; SPAM_FLAG(5.00)[]; BAYES_HAM(-2.94)[99.73%]; MID_RHS_NOT_FQDN(0.50)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_FIVE(0.00)[6]; TO_MATCH_ENVRCPT_ALL(0.00)[]; ARC_NA(0.00)[] X-Spam-Level: ** X-Rspamd-Action: no action X-Spamd-Bar: ++ X-Rspamd-Server: hera X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hello, these patches are quite old and maybe not relevant any more; can this issue be closed? Andreas
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.