diff --git a/packages/py-spinnfrontendcommon/package.py b/packages/py-spinnfrontendcommon/package.py index f780283da3b694bddd25ee4dd46abd9e924d710c..dca158ebc08290ed070436e7aad209d172b3a250 100644 --- a/packages/py-spinnfrontendcommon/package.py +++ b/packages/py-spinnfrontendcommon/package.py @@ -11,6 +11,7 @@ from urllib.request import urlretrieve _JAR_URL = "https://github.com/SpiNNakerManchester/JavaSpiNNaker/releases/download/7.0.0/spinnaker-exe.jar" +_JAR_SHA256 = "2d909c7fb3aa15886acf26febb1bd48e25db0c347a231944aa6a5f86107bb55b" class PySpinnfrontendcommon(PythonPackage): """This package provides utilities for specifying binary data @@ -30,16 +31,19 @@ class PySpinnfrontendcommon(PythonPackage): 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_spec = find("python@3.7:")[0] - python_version = ".".join(str(v) for v in python_spec.version.version[0:2]) + spec["python"].version.up_to(2) python_lib = prefix.lib.join(f"python{python_version}") - java_folder = python_lib.JavaSpiNNaker.join("SpiNNaker-front-end").target - java_exe = java_folder.join("spinnaker-exe.jar") - makedirs(java_folder) - urlretrieve(_JAR_URL, java_exe) - tty.debug(f"Received {java_exe} from {_JAR_URL}") + 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))