all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: 72553@debbugs.gnu.org
Cc: Efraim Flashner <efraim@flashner.co.il>
Subject: [bug#72553] [PATCH 1/4] gnu: rust: Add profiling support.
Date: Sat, 10 Aug 2024 08:11:44 +0100	[thread overview]
Message-ID: <0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@cbaines.net> (raw)
In-Reply-To: <871q2w26ru.fsf@cbaines.net>

From: Milkey Mouse <milkeymouse@meme.institute>

* 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





  reply	other threads:[~2024-08-10  7:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-10  7:09 [bug#72553] [PATCH rust-team 0/4] Several patches removed from core-updates Christopher Baines
2024-08-10  7:11 ` Christopher Baines [this message]
2024-08-10  7:11   ` [bug#72553] [PATCH 2/4] gnu: rust: Fix building Christopher Baines
2024-08-10  7:11   ` [bug#72553] [PATCH 3/4] gnu: rust: Use gexps; fix enable-profiling phase Christopher Baines
2024-08-10  7:11   ` [bug#72553] [PATCH 4/4] gnu: rust: Disable token_not_logged test Christopher Baines

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0917fd5934be09855e7baec9901fa090d98a524b.1723273907.git.mail@cbaines.net \
    --to=mail@cbaines.net \
    --cc=72553@debbugs.gnu.org \
    --cc=efraim@flashner.co.il \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.