@@ -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))))))))))))