52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
# 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 glob
|
|
import os
|
|
|
|
from spack.package import *
|
|
|
|
|
|
class Energyplus(Package):
|
|
"""EnergyPlus is a whole building energy simulation program that engineers,
|
|
architects, and researchers use to model both energy consumption for
|
|
heating, cooling, ventilation, lighting and plug and process loads
|
|
and water use in buildings"""
|
|
|
|
homepage = "https://energyplus.net"
|
|
|
|
# versions require explicit URLs as they contain hashes
|
|
version(
|
|
"9.3.0",
|
|
sha256="c939dc4f867224e110485a8e0712ce4cfb1e06f8462bc630b54f83a18c93876c",
|
|
url="https://github.com/NREL/EnergyPlus/releases/download/v9.3.0/EnergyPlus-9.3.0-baff08990c-Linux-x86_64.tar.gz",
|
|
)
|
|
version(
|
|
"9.1.0",
|
|
sha256="742b4897781ca8f4b0065c9cd97bf9c5e378968dbb059a21eb91856ba1ec404d",
|
|
url="https://github.com/NREL/EnergyPlus/releases/download/v9.1.0/EnergyPlus-9.1.0-08d2e308bb-Linux-x86_64.tar.gz",
|
|
)
|
|
version(
|
|
"8.9.0",
|
|
sha256="13a5192b25815eb37b3ffd019ce3b99fd9f854935f8cc4362814f41c56e9ca98",
|
|
url="https://github.com/NREL/EnergyPlus/releases/download/v8.9.0-WithIDDFixes/EnergyPlus-8.9.0-eba93e8e1b-Linux-x86_64.tar.gz",
|
|
)
|
|
|
|
def install(self, spec, prefix):
|
|
# binary distribution, we just unpack to lib/energyplus
|
|
# and then symlink the appropriate targets
|
|
|
|
# there is only one folder with a semi-predictable name so we glob it
|
|
source_dir = "."
|
|
|
|
if spec.satisfies("@:8.9.9"):
|
|
source_dir = glob.glob("EnergyPlus*")[0]
|
|
|
|
install_tree(source_dir, prefix.lib.enregyplus)
|
|
|
|
mkdirp(prefix.bin)
|
|
for b in ["energyplus", "EPMacro", "ExpandObjects"]:
|
|
os.symlink(join_path(prefix.lib.energyplus, b), join_path(prefix.bin, b))
|