[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/07: gnu: Add tracy-wayland.
From: |
guix-commits |
Subject: |
05/07: gnu: Add tracy-wayland. |
Date: |
Tue, 26 Sep 2023 11:33:37 -0400 (EDT) |
apteryx pushed a commit to branch master
in repository guix.
commit bdce0646ae342cf9e0e9bc74634dd27f67150752
Author: dan <i@dan.games>
AuthorDate: Mon Sep 25 01:13:59 2023 +0800
gnu: Add tracy-wayland.
* gnu/packages/profiling.scm (tracy-wayland): New variable.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
---
gnu/packages/profiling.scm | 78 ++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 76 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index 8a1c609669..23f989a85c 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 @@
#: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,70 @@ high-performance computing (HPC) applications.")
(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")
+ (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))
+ (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
+ `(,zstd "lib")))
+ (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)))
- branch master updated (b2887da40c -> 4d904f2b16), guix-commits, 2023/09/26
- 02/07: gnu: capstone: Update to 5.0.1., guix-commits, 2023/09/26
- 05/07: gnu: Add tracy-wayland.,
guix-commits <=
- 04/07: gnu: glfw: Patch dlopen calls., guix-commits, 2023/09/26
- 03/07: gnu: imgui: Enable freetype support., guix-commits, 2023/09/26
- 06/07: gnu: Add tracy., guix-commits, 2023/09/26
- 01/07: gnu: gtypist: Install the gtypist-mode Emacs major mode., guix-commits, 2023/09/26
- 07/07: gnu: imgui: Update to 1.89.9., guix-commits, 2023/09/26