50 lines
1.6 KiB
Python
50 lines
1.6 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 platform
|
|
|
|
from spack.package import *
|
|
|
|
|
|
class Mujoco(Package):
|
|
"""MuJoCo is a physics engine that aims to facilitate research and
|
|
development in robotics, biomechanics, graphics and animation, and
|
|
other areas where fast and accurate simulation is needed."""
|
|
|
|
homepage = "https://mujoco.org/"
|
|
|
|
mujoco_releases = {
|
|
"2.1.0": {
|
|
"Linux-x86_64": "a436ca2f4144c38b837205635bbd60ffe1162d5b44c87df22232795978d7d012",
|
|
"Darwin-x86_64": "50226f859d9d3742fa57e1a0a92d656197ec5786f75bfa50ae00eb80fae25e90",
|
|
}
|
|
}
|
|
|
|
for ver, packages in mujoco_releases.items():
|
|
key = "{0}-{1}".format(platform.system(), platform.machine())
|
|
pkg_sha256 = packages.get(key)
|
|
if pkg_sha256:
|
|
version(ver, sha256=pkg_sha256)
|
|
|
|
def url_for_version(self, version):
|
|
|
|
url = "https://mujoco.org/download/mujoco{0}-{1}-x86_64.tar.gz"
|
|
|
|
system_map = {
|
|
"Linux": "linux",
|
|
"Darwin": "macos",
|
|
}
|
|
|
|
return url.format(version.joined, system_map[platform.system()])
|
|
|
|
def install(self, spec, prefix):
|
|
copy_tree(".", prefix)
|
|
|
|
def setup_run_environment(self, env):
|
|
env.prepend_path("CPATH", prefix.include)
|
|
env.prepend_path("LD_LIBRARY_PATH", prefix.bin)
|
|
if platform.system() == "Darwin":
|
|
env.prepend_path("DYLD_LIBRARY_PATH", prefix.bin)
|