Skip to content
Snippets Groups Projects

Add java spinnaker

Merged Andrew Rowley requested to merge rowley/ebrains-spack-builds:add-java-spinnaker into master
All threads resolved!
@@ -4,8 +4,16 @@
@@ -4,8 +4,16 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
from spack.package import *
 
from spack.store import find
 
from llnl.util import tty
 
from os import makedirs
 
from urllib.request import urlretrieve
 
import os
 
_JAR_URL = "https://github.com/SpiNNakerManchester/JavaSpiNNaker/releases/download/7.0.0/spinnaker-exe.jar"
 
_JAR_SHA256 = "2d909c7fb3aa15886acf26febb1bd48e25db0c347a231944aa6a5f86107bb55b"
 
class PySpinnfrontendcommon(PythonPackage):
class PySpinnfrontendcommon(PythonPackage):
"""This package provides utilities for specifying binary data
"""This package provides utilities for specifying binary data
algorithmically, and executing the specifications to produce the data."""
algorithmically, and executing the specifications to produce the data."""
@@ -21,3 +29,22 @@ class PySpinnfrontendcommon(PythonPackage):
@@ -21,3 +29,22 @@ class PySpinnfrontendcommon(PythonPackage):
depends_on("py-spalloc@7.0.0", type=("build", "run"))
depends_on("py-spalloc@7.0.0", type=("build", "run"))
depends_on("py-scipy@0.16.0:", type=("build", "run"))
depends_on("py-scipy@0.16.0:", type=("build", "run"))
depends_on("py-ebrains-drive@0.5.1:", type=("build", "run"))
depends_on("py-ebrains-drive@0.5.1:", type=("build", "run"))
 
 
depends_on("java@11:")
 
 
resource(name="spinnaker-exe.jar", url=_JAR_URL, checksum=_JAR_SHA256, expand=False, placement="resource_root/JavaSpiNNaker/SpiNNaker-front-end/target")
 
 
def install(self, spec, prefix):
 
super(PySpinnfrontendcommon, self).install(spec, prefix)
 
 
# Work out the python version installed, so we know where to put
 
# the java code!
 
python_version = spec["python"].version.up_to(2)
 
python_lib = prefix.lib.join(f"python{python_version}")
 
install_tree("resource_root", python_lib)
 
 
# Test where things are now installed
 
tty.debug(f"Checking contents of {prefix}")
 
for root, dirnames, filenames in os.walk(prefix):
 
for filename in filenames:
 
tty.debug(os.path.join(root, filename))