summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/professor/package.py
blob: 7abdf2d93e4775e0457d77d62ea6a49ad5c82ad7 (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
43
# Copyright 2013-2023 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)
import os

from spack.package import *


class Professor(Package):
    """Professor Monte-Carlo tuning package"""

    homepage = "https://professor.hepforge.org/"
    url = "https://professor.hepforge.org/downloads/?f=Professor-2.3.3.tar.gz"

    maintainers("mjk655")

    version("2.3.3", sha256="60c5ba00894c809e2c31018bccf22935a9e1f51c0184468efbdd5d27b211009f")

    variant(
        "interactive",
        default=True,
        description="Install prof-I (Interactive parametrization explorer)",
    )

    depends_on("yoda")
    depends_on("eigen")
    depends_on("py-cython")
    depends_on("py-iminuit")
    depends_on("py-matplotlib")
    depends_on("py-matplotlib backend=wx", when="+interactive")
    depends_on("root")

    extends("python")

    def setup_build_environment(self, env):
        env.set("PROF_VERSION", self.spec.version)

    def install(self, spec, prefix):
        make()
        make("PREFIX={0}".format(prefix), "install")
        if self.spec.satisfies("~interactive"):
            os.remove(join_path(prefix.bin, "prof2-I"))