summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/tracy/package.py
blob: fbb74fd7df4f34242e469736dfd1b57ef8a7129e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack.package import *


class Tracy(MakefilePackage):
    """A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling
    profiler for games and other applications. Server applications."""

    homepage = "https://github.com/wolfpld/tracy"
    url = "https://github.com/wolfpld/tracy/archive/v0.0.0.tar.gz"
    maintainers("msimberg")

    license("BSD-3-Clause")

    version("master", git="https://github.com/wolfpld/tracy.git", branch="master")
    version("0.10", sha256="a76017d928f3f2727540fb950edd3b736caa97b12dbb4e5edce66542cbea6600")
    version("0.9", sha256="93a91544e3d88f3bc4c405bad3dbc916ba951cdaadd5fcec1139af6fa56e6bfc")
    version("0.8.2", sha256="4784eddd89c17a5fa030d408392992b3da3c503c872800e9d3746d985cfcc92a")
    version("0.8.1", sha256="004992012b2dc879a9f6d143cbf94d7ea30e88135db3ef08951605d214892891")

    depends_on("capstone")
    depends_on("dbus")
    depends_on("freetype")
    # Linking fails unless glfw is built as a shared library:
    # https://github.com/wolfpld/tracy/issues/110
    depends_on("glfw +shared")

    def build(self, spec, prefix):
        with working_dir(join_path(self.build_directory, "capture/build/unix")):
            make()

        with working_dir(join_path(self.build_directory, "profiler/build/unix")):
            make()

    def install(self, spec, prefix):
        mkdir(prefix.bin)
        install(join_path(self.build_directory, "capture/build/unix/capture-release"), prefix.bin)
        install(join_path(self.build_directory, "profiler/build/unix/Tracy-release"), prefix.bin)