* [bug#65106] [PATCH] gnu: Add tracy.
@ 2023-08-06 5:40 dan
2023-09-05 13:46 ` Maxim Cournoyer
2023-09-24 17:13 ` [bug#65106] [PATCH v2 0/2] gnu: Add tracy and tracy-wayland dan
0 siblings, 2 replies; 6+ messages in thread
From: dan @ 2023-08-06 5:40 UTC (permalink / raw)
To: 65106
---
gnu/packages/profiling.scm | 48 +++++++++++++++++++++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index 8a1c609669..799b333162 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2023 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
(define-module (gnu packages profiling)
#:use-module (guix packages)
#:use-module (guix gexp)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:) ; avoid zlib, expat clashes
#:use-module (guix download)
#:use-module (guix utils)
@@ -31,17 +33,20 @@ (define-module (gnu packages profiling)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
- #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt))
@@ -389,3 +394,44 @@ (define (make-scorep mpi)
(license license:cpl1.0)))
(define-public scorep-openmpi (make-scorep openmpi))
+
+(define-public tracy
+ (package
+ (name "tracy")
+ (version "0.9.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wolfpld/tracy.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1znw1r1c4vrb9vrsr08gcwynpjda8xxmb3923yykpymw2hsm0n9b"))
+ (file-name (git-file-name "tracy" version))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;no test for the profiler
+ #:make-flags #~(list "LEGACY=1"
+ (string-append "CC="
+ #$(cc-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (chdir "profiler/build/unix")))
+ (replace 'install
+ (lambda _
+ (let ((out (string-append #$output "/bin/tracy"))
+ (bin (string-append #$output "/bin")))
+ (mkdir-p bin)
+ (copy-file "Tracy-release" out)
+ (wrap-program out
+ `("LD_LIBRARY_PATH" ":" =
+ (,(string-append #$mesa "/lib"))))))))))
+ (inputs (list capstone dbus freetype glfw))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/wolfpld/tracy")
+ (synopsis "Frame profiler")
+ (description
+ "A real time, nanosecond resolution, remote telemetry, hybrid frame and
+sampling profiler for games and other applications.")
+ (license license:bsd-3)))
base-commit: c4b9f726e3a1889b92a4b14a2af1c25f10798469
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#65106] [PATCH] gnu: Add tracy.
2023-08-06 5:40 [bug#65106] [PATCH] gnu: Add tracy dan
@ 2023-09-05 13:46 ` Maxim Cournoyer
2023-09-24 17:13 ` [bug#65106] [PATCH v2 0/2] gnu: Add tracy and tracy-wayland dan
1 sibling, 0 replies; 6+ messages in thread
From: Maxim Cournoyer @ 2023-09-05 13:46 UTC (permalink / raw)
To: dan; +Cc: 65106
Hello!
dan <i@dan.games> writes:
> ---
> gnu/packages/profiling.scm | 48 +++++++++++++++++++++++++++++++++++++-
> 1 file changed, 47 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
> index 8a1c609669..799b333162 100644
> --- a/gnu/packages/profiling.scm
> +++ b/gnu/packages/profiling.scm
> @@ -2,6 +2,7 @@
> ;;; Copyright © 2017 Dave Love <fx@gnu.org>
> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
> ;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
> +;;; Copyright © 2023 dan <i@dan.games>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -21,6 +22,7 @@
> (define-module (gnu packages profiling)
> #:use-module (guix packages)
> #:use-module (guix gexp)
> + #:use-module (guix git-download)
> #:use-module ((guix licenses) #:prefix license:) ; avoid zlib, expat clashes
> #:use-module (guix download)
> #:use-module (guix utils)
> @@ -31,17 +33,20 @@ (define-module (gnu packages profiling)
> #:use-module (gnu packages bison)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages documentation)
> + #:use-module (gnu packages engineering)
> #:use-module (gnu packages fabric-management)
> #:use-module (gnu packages flex)
> + #:use-module (gnu packages fontutils)
> #:use-module (gnu packages gawk)
> #:use-module (gnu packages gcc)
> + #:use-module (gnu packages gl)
> #:use-module (gnu packages glib)
> #:use-module (gnu packages libunwind)
> #:use-module (gnu packages linux)
> #:use-module (gnu packages mpi)
> #:use-module (gnu packages ncurses)
> #:use-module (gnu packages perl)
> - #:use-module (gnu packages perl)
> + #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages python)
> #:use-module (gnu packages qt))
>
> @@ -389,3 +394,44 @@ (define (make-scorep mpi)
> (license license:cpl1.0)))
>
> (define-public scorep-openmpi (make-scorep openmpi))
> +
> +(define-public tracy
> + (package
> + (name "tracy")
> + (version "0.9.1")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/wolfpld/tracy.git")
> + (commit (string-append "v" version))))
> + (sha256
> + (base32
> + "1znw1r1c4vrb9vrsr08gcwynpjda8xxmb3923yykpymw2hsm0n9b"))
> + (file-name (git-file-name "tracy" version))))
> + (build-system gnu-build-system)
> + (arguments
> + (list #:tests? #f ;no test for the profiler
> + #:make-flags #~(list "LEGACY=1"
Why is LEGACY needed? A comment should say so.
> + (string-append "CC="
> + #$(cc-for-target)))
> + #:phases #~(modify-phases %standard-phases
> + (replace 'configure
> + (lambda _
> + (chdir "profiler/build/unix")))
> + (replace 'install
> + (lambda _
> + (let ((out (string-append #$output "/bin/tracy"))
> + (bin (string-append #$output "/bin")))
> + (mkdir-p bin)
> + (copy-file "Tracy-release" out)
You can simplify this by using the 'install-file' procedure, which is in
scope here (it comes from (guix build utils)). 'Tracy-release' is a
weird name for a binary; is this how it's packaged on other system? I'd
have expected 'tracy' or similar.
> + (wrap-program out
> + `("LD_LIBRARY_PATH" ":" =
> + (,(string-append #$mesa "/lib")))
Since this is also unusual in Guix (usually RUNPATH is baked in the Elf
by the ld-wrapper script and it just works), it deserves an explanatory
comment too.
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#65106] [PATCH v2 0/2] gnu: Add tracy and tracy-wayland.
2023-08-06 5:40 [bug#65106] [PATCH] gnu: Add tracy dan
2023-09-05 13:46 ` Maxim Cournoyer
@ 2023-09-24 17:13 ` dan
2023-09-24 17:13 ` [bug#65106] [PATCH v2 1/2] gnu: Add tracy-wayland dan
2023-09-24 17:14 ` [bug#65106] [PATCH v2 2/2] gnu: Add tracy dan
1 sibling, 2 replies; 6+ messages in thread
From: dan @ 2023-09-24 17:13 UTC (permalink / raw)
To: 65106; +Cc: maxim.cournoyer
This patch series add two versions of tracy, one for x11 and the other for
wayland. Note that the output binary name is "Tracy-release" by default, and
changing the name in the makefile breaks the build process. Seems like other
things rely on the name.
dan (2):
gnu: Add tracy-wayland.
gnu: Add tracy.
gnu/packages/profiling.scm | 81 +++++++++++++++++++++++++++++++++++++-
1 file changed, 79 insertions(+), 2 deletions(-)
base-commit: e134686cead6db62ea8b941b2ed7c0bd660804da
--
2.41.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#65106] [PATCH v2 1/2] gnu: Add tracy-wayland.
2023-09-24 17:13 ` [bug#65106] [PATCH v2 0/2] gnu: Add tracy and tracy-wayland dan
@ 2023-09-24 17:13 ` dan
2023-09-26 15:22 ` bug#65106: " Maxim Cournoyer
2023-09-24 17:14 ` [bug#65106] [PATCH v2 2/2] gnu: Add tracy dan
1 sibling, 1 reply; 6+ messages in thread
From: dan @ 2023-09-24 17:13 UTC (permalink / raw)
To: 65106; +Cc: maxim.cournoyer
* gnu/packages/profiling.scm (tracy-wayland): New variable.
---
gnu/packages/profiling.scm | 53 ++++++++++++++++++++++++++++++++++++--
1 file changed, 51 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index 8a1c609669..af79488c30 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2023 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
(define-module (gnu packages profiling)
#:use-module (guix packages)
#:use-module (guix gexp)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:) ; avoid zlib, expat clashes
#:use-module (guix download)
#:use-module (guix utils)
@@ -31,19 +33,24 @@ (define-module (gnu packages profiling)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
- #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
- #:use-module (gnu packages qt))
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages xdisorg))
;; Fixme: Separate out lib and fix resulting cycle errors; separate libpfm
;; output(?); build libmsr and add that component.
@@ -389,3 +396,45 @@ (define (make-scorep mpi)
(license license:cpl1.0)))
(define-public scorep-openmpi (make-scorep openmpi))
+
+(define-public tracy-wayland
+ (package
+ (name "tracy-wayland")
+ (version "0.9.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wolfpld/tracy.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1znw1r1c4vrb9vrsr08gcwynpjda8xxmb3923yykpymw2hsm0n9b"))
+ (file-name (git-file-name "tracy" version))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;no test for the profiler
+ #:make-flags #~(list (string-append "CC="
+ #$(cc-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (chdir "profiler/build/unix")))
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin"))
+ (tracy (string-append #$output "/bin/tracy")))
+ (mkdir-p bin)
+ (copy-file "Tracy-release" tracy)))))))
+ (inputs (list capstone
+ dbus
+ freetype
+ libxkbcommon
+ mesa
+ wayland))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/wolfpld/tracy")
+ (synopsis "Frame profiler")
+ (description
+ "A real time, nanosecond resolution, remote telemetry, hybrid frame and
+sampling profiler for games and other applications.")
+ (license license:bsd-3)))
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#65106] [PATCH v2 2/2] gnu: Add tracy.
2023-09-24 17:13 ` [bug#65106] [PATCH v2 0/2] gnu: Add tracy and tracy-wayland dan
2023-09-24 17:13 ` [bug#65106] [PATCH v2 1/2] gnu: Add tracy-wayland dan
@ 2023-09-24 17:14 ` dan
1 sibling, 0 replies; 6+ messages in thread
From: dan @ 2023-09-24 17:14 UTC (permalink / raw)
To: 65106; +Cc: maxim.cournoyer
* gnu/packages/profiling.scm (tracy): New variable.
---
gnu/packages/profiling.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index af79488c30..5f5b4b07d0 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -438,3 +438,31 @@ (define-public tracy-wayland
"A real time, nanosecond resolution, remote telemetry, hybrid frame and
sampling profiler for games and other applications.")
(license license:bsd-3)))
+
+(define-public tracy
+ (package
+ (inherit tracy-wayland)
+ (name "tracy")
+ (inputs (modify-inputs (package-inputs tracy-wayland)
+ (delete "libxkbcommon" "wayland")
+ (prepend glfw)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments tracy-wayland)
+ ((#:make-flags flags
+ #~'())
+ #~(append #$flags
+ ;; The LEGACY flag indicate we want to build tracy with glfw
+ (list "LEGACY=1")))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ ;; Tracy depends on glfw to load libGL.so, but glfw doesn't have
+ ;; mesa in its rpath. Thus, we need to manually modify tracy's
+ ;; LD_LIBRARY_PATH.
+ (add-after 'install 'wrap-program
+ (lambda _
+ (let ((out (string-append #$output "/bin/tracy"))
+ (mesa (string-append #$(this-package-input "mesa")
+ "/lib")))
+ (wrap-program out
+ `("LD_LIBRARY_PATH" ":" =
+ (,mesa))))))))))))
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#65106: [PATCH v2 1/2] gnu: Add tracy-wayland.
2023-09-24 17:13 ` [bug#65106] [PATCH v2 1/2] gnu: Add tracy-wayland dan
@ 2023-09-26 15:22 ` Maxim Cournoyer
0 siblings, 0 replies; 6+ messages in thread
From: Maxim Cournoyer @ 2023-09-26 15:22 UTC (permalink / raw)
To: dan; +Cc: 65106-done
Hello!
dan <i@dan.games> writes:
> * gnu/packages/profiling.scm (tracy-wayland): New variable.
> ---
> gnu/packages/profiling.scm | 53 ++++++++++++++++++++++++++++++++++++--
> 1 file changed, 51 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
> index 8a1c609669..af79488c30 100644
> --- a/gnu/packages/profiling.scm
> +++ b/gnu/packages/profiling.scm
> @@ -2,6 +2,7 @@
> ;;; Copyright © 2017 Dave Love <fx@gnu.org>
> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
> ;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
> +;;; Copyright © 2023 dan <i@dan.games>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -21,6 +22,7 @@
> (define-module (gnu packages profiling)
> #:use-module (guix packages)
> #:use-module (guix gexp)
> + #:use-module (guix git-download)
> #:use-module ((guix licenses) #:prefix license:) ; avoid zlib, expat clashes
> #:use-module (guix download)
> #:use-module (guix utils)
> @@ -31,19 +33,24 @@ (define-module (gnu packages profiling)
> #:use-module (gnu packages bison)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages documentation)
> + #:use-module (gnu packages engineering)
> #:use-module (gnu packages fabric-management)
> #:use-module (gnu packages flex)
> + #:use-module (gnu packages fontutils)
> + #:use-module (gnu packages freedesktop)
> #:use-module (gnu packages gawk)
> #:use-module (gnu packages gcc)
> + #:use-module (gnu packages gl)
> #:use-module (gnu packages glib)
> #:use-module (gnu packages libunwind)
> #:use-module (gnu packages linux)
> #:use-module (gnu packages mpi)
> #:use-module (gnu packages ncurses)
> #:use-module (gnu packages perl)
> - #:use-module (gnu packages perl)
> + #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages python)
> - #:use-module (gnu packages qt))
> + #:use-module (gnu packages qt)
> + #:use-module (gnu packages xdisorg))
>
> ;; Fixme: Separate out lib and fix resulting cycle errors; separate libpfm
> ;; output(?); build libmsr and add that component.
> @@ -389,3 +396,45 @@ (define (make-scorep mpi)
> (license license:cpl1.0)))
>
> (define-public scorep-openmpi (make-scorep openmpi))
> +
> +(define-public tracy-wayland
> + (package
> + (name "tracy-wayland")
> + (version "0.9.1")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/wolfpld/tracy.git")
> + (commit (string-append "v" version))))
> + (sha256
> + (base32
> + "1znw1r1c4vrb9vrsr08gcwynpjda8xxmb3923yykpymw2hsm0n9b"))
> + (file-name (git-file-name "tracy" version))))
> + (build-system gnu-build-system)
> + (arguments
> + (list #:tests? #f ;no test for the profiler
> + #:make-flags #~(list (string-append "CC="
> + #$(cc-for-target)))
> + #:phases #~(modify-phases %standard-phases
> + (replace 'configure
> + (lambda _
> + (chdir "profiler/build/unix")))
> + (replace 'install
> + (lambda _
> + (let ((bin (string-append #$output "/bin"))
> + (tracy (string-append #$output "/bin/tracy")))
> + (mkdir-p bin)
> + (copy-file "Tracy-release" tracy)))))))
> + (inputs (list capstone
> + dbus
> + freetype
> + libxkbcommon
> + mesa
> + wayland))
> + (native-inputs (list pkg-config))
> + (home-page "https://github.com/wolfpld/tracy")
> + (synopsis "Frame profiler")
> + (description
> + "A real time, nanosecond resolution, remote telemetry, hybrid frame and
> +sampling profiler for games and other applications.")
> + (license license:bsd-3)))
Looking at this package more closely, I found it was bundling imgui and
zstd, so I tried unbundling both, and was successful for zstd:
--8<---------------cut here---------------start------------->8---
modified gnu/packages/profiling.scm
@@ -402,35 +402,61 @@ (define-public tracy-wayland
(package
(name "tracy-wayland")
(version "0.9.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/wolfpld/tracy")
- (commit (string-append "v" version))))
- (sha256
- (base32
- "1znw1r1c4vrb9vrsr08gcwynpjda8xxmb3923yykpymw2hsm0n9b"))
- (file-name (git-file-name "tracy" version))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wolfpld/tracy")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1znw1r1c4vrb9vrsr08gcwynpjda8xxmb3923yykpymw2hsm0n9b"))
+ (file-name (git-file-name "tracy" version))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; XXX: Sadly, the ImGui loaders appear to have been customized by
+ ;; the project and the build fails when using the 'imgui' Guix
+ ;; package due to a missing GL_TEXTURE_WRAP_S definition, so keep
+ ;; the bundled copy.
+
+ ;; Unbundle Zstd.
+ (delete-file-recursively "zstd")
+ ;; Adjust the include directives.
+ (substitute* (find-files "server" "\\.(c|h)pp$")
+ (("#include \".*zstd/(zstd|zdict).h\"" _ header)
+ (format #f "#include \"~a.h\"" header)))
+ ;; De-register source files from Visual Code project.
+ (substitute* "profiler/build/win32/Tracy.vcxproj"
+ ((".*Include=\"..\\\\..\\\\..\\\\zstd\\\\.*") ""))))))
+ ;; Note: There is also CMake and Meson support, but only to build the
+ ;; tracy library, not the profiler command.
(build-system gnu-build-system)
(arguments
- (list #:tests? #f ;no test for the profiler
- #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
- #:phases #~(modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (chdir "profiler/build/unix")))
- (replace 'install
- (lambda _
- (let ((bin (string-append #$output "/bin"))
- (tracy (string-append #$output "/bin/tracy")))
- (mkdir-p bin)
- (copy-file "Tracy-release" tracy)))))))
+ (list
+ #:tests? #f ;no test for the profiler
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "CFLAGS=-lzstd"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'chdir
+ (lambda _
+ (chdir "profiler/build/unix")))
+ (delete 'configure) ;the profiler has no configure script
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin"))
+ (tracy (string-append #$output "/bin/tracy")))
+ (mkdir-p bin)
+ (copy-file "Tracy-release" tracy)))))))
(inputs (list capstone
dbus
freetype
libxkbcommon
mesa
- wayland))
+ wayland
+ `(,zstd "lib")))
(native-inputs (list pkg-config))
(home-page "https://github.com/wolfpld/tracy")
(synopsis "Frame profiler")
--8<---------------cut here---------------end--------------->8---
For the X11 variant working around packaging problems in glfw (dlopen)
with LD_LIBRARY_PATH, I've fixed these in glfw (by patching the so names
in its source with their absolute paths) and removed the workaround:
--8<---------------cut here---------------start------------->8---
@@ -443,29 +469,13 @@ (define-public tracy
(package
(inherit tracy-wayland)
(name "tracy")
- (inputs (modify-inputs (package-inputs tracy-wayland)
- (delete "libxkbcommon" "wayland")
- (prepend glfw)))
(arguments
(substitute-keyword-arguments (package-arguments tracy-wayland)
- ((#:make-flags flags
- #~'())
+ ((#:make-flags flags #~'())
#~(append #$flags
- ;; The LEGACY flag indicate we want to build tracy with glfw
- (list "LEGACY=1")))
- ((#:phases phases)
- #~(modify-phases #$phases
- ;; Tracy depends on glfw to load libGL.so, but glfw doesn't have
- ;; mesa in its rpath. Thus, we need to manually modify tracy's
- ;; LD_LIBRARY_PATH.
- (add-after 'install 'wrap-program
- (lambda _
- (let ((out (string-append #$output "/bin/tracy"))
- (mesa (string-append #$(this-package-input "mesa")
- "/lib")))
- (wrap-program out
- `("LD_LIBRARY_PATH" ":" =
- (,mesa))))))))))
+ ;; The LEGACY flag indicate we want to build tracy with glfw.
+ (list "LEGACY=1")))))
(inputs (modify-inputs (package-inputs tracy-wayland)
- (append bash-minimal)))
+ (delete "libxkbcommon" "wayland")
+ (prepend glfw)))
(synopsis "Frame profiler (X11 version)")))
--8<---------------cut here---------------end--------------->8---
It at least still runs for me, though I'm not sure how to use it (it
seems to require the target application to be built with libtracy and
act as a server?).
Closing, thank you for contributing to Guix!
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-09-26 15:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-06 5:40 [bug#65106] [PATCH] gnu: Add tracy dan
2023-09-05 13:46 ` Maxim Cournoyer
2023-09-24 17:13 ` [bug#65106] [PATCH v2 0/2] gnu: Add tracy and tracy-wayland dan
2023-09-24 17:13 ` [bug#65106] [PATCH v2 1/2] gnu: Add tracy-wayland dan
2023-09-26 15:22 ` bug#65106: " Maxim Cournoyer
2023-09-24 17:14 ` [bug#65106] [PATCH v2 2/2] gnu: Add tracy dan
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).