summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Johnson <glenn-johnson@uiowa.edu>2021-04-07 12:39:53 -0500
committerGitHub <noreply@github.com>2021-04-07 17:39:53 +0000
commitef188a1e12f55f326d6a1bd99c8c45fad7369d44 (patch)
tree8307432856102fc8d676849be995b054d82cc523
parent7c87ebeb9177641e4bfbcf3134ff08b60783e56f (diff)
downloadspack-ef188a1e12f55f326d6a1bd99c8c45fad7369d44.tar.gz
spack-ef188a1e12f55f326d6a1bd99c8c45fad7369d44.tar.bz2
spack-ef188a1e12f55f326d6a1bd99c8c45fad7369d44.tar.xz
spack-ef188a1e12f55f326d6a1bd99c8c45fad7369d44.zip
new package: gatetools (#22659)
* new package: gatetools This PR adds the gatetools package and dependencies. The gatetools package is a set of command line tools for gate. Since it is primarily a CLI, although python modules can be loaded, it is named gatetools as opposed to py-gatetools. * Fix quote characterss to avoid test error * Found another UTF8 character that was tripping up tests * Another UTF-8 character to replace * Remove py-python-box dependency and package file * Make numpy a variant - py-setuptools needs to be a run dependendency This was masked by py-numpy having py-setuptools as a run dependency. * Add missing build depency on py-pytest-runner
-rw-r--r--var/spack/repos/builtin/packages/gatetools/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-awkward0/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-colored/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-itk/package.py106
-rw-r--r--var/spack/repos/builtin/packages/py-pydicom/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-uproot3-methods/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-uproot3/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-wget/package.py18
8 files changed, 284 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/gatetools/package.py b/var/spack/repos/builtin/packages/gatetools/package.py
new file mode 100644
index 0000000000..5d85d37a28
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gatetools/package.py
@@ -0,0 +1,36 @@
+# Copyright 2013-2021 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)
+
+from spack import *
+
+
+class Gatetools(PythonPackage):
+ """Python tools for GATE, see https://github.com/OpenGATE/Gate"""
+
+ homepage = "https://github.com/OpenGATE/GateTools"
+ pypi = "gatetools/gatetools-0.9.14.tar.gz"
+
+ maintainers = ['glennpj']
+
+ version('0.9.14', sha256='78fe864bb52fd4c6aeeee90d8f6c1bc5406ce02ac6f48712379efac606b5c006')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on('py-click', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+ depends_on('py-pydicom', type=('build', 'run'))
+ depends_on('py-tqdm', type=('build', 'run'))
+ depends_on('py-colored', type=('build', 'run'))
+ depends_on('py-itk@5.1.0:', type=('build', 'run'))
+ depends_on('py-uproot3', type=('build', 'run'))
+ depends_on('py-wget', type=('build', 'run'))
+ depends_on('gate+rtk', type='run')
+
+ # The readme.md file is not in the distribution, so fake it.
+ @run_before('build')
+ def readme(self):
+ touch('readme.md')
diff --git a/var/spack/repos/builtin/packages/py-awkward0/package.py b/var/spack/repos/builtin/packages/py-awkward0/package.py
new file mode 100644
index 0000000000..62afd740c7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-awkward0/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 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)
+
+from spack import *
+
+
+class PyAwkward0(PythonPackage):
+ """Manipulate arrays of complex data structures as easily as Numpy.
+
+ Awkward Array is a pure Python+Numpy library for manipulating complex data
+ structures as you would Numpy arrays."""
+
+ homepage = "https://github.com/scikit-hep/awkward-0.x"
+ pypi = "awkward0/awkward0-0.15.5.tar.gz"
+
+ version('0.15.5', sha256='156e6e338c56d857a7bb53c4fcc8b0b2592a3470eff0d854e6d68777986359ad')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pytest-runner', type='build')
+ depends_on('py-numpy@1.13.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-colored/package.py b/var/spack/repos/builtin/packages/py-colored/package.py
new file mode 100644
index 0000000000..42a5007582
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-colored/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 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)
+
+from spack import *
+
+
+class PyColored(PythonPackage):
+ """Simple library for color and formatting to terminal
+
+ Very simple Python library for color and formatting in terminal.
+ Collection of color codes and names for 256 color terminal setups.
+ The following is a list of 256 colors for Xterm, containing an example
+ of the displayed color, Xterm Name, Xterm Number and HEX."""
+
+ homepage = "https://gitlab.com/dslackw/colored"
+ pypi = "colored/colored-1.4.2.tar.gz"
+
+ version('1.4.2', sha256='056fac09d9e39b34296e7618897ed1b8c274f98423770c2980d829fd670955ed')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-itk/package.py b/var/spack/repos/builtin/packages/py-itk/package.py
new file mode 100644
index 0000000000..48e3e17caf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-itk/package.py
@@ -0,0 +1,106 @@
+# Copyright 2013-2021 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 sys
+import archspec
+
+from spack import *
+
+
+class PyItk(Package):
+ """ITK is an open-source toolkit for multidimensional image analysis"""
+
+ homepage = "https://itk.org/"
+
+ if sys.platform == 'darwin':
+ # version 5.1.1
+ version('5.1.1-cp35',
+ url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp35-cp35m-macosx_10_9_x86_64.whl',
+ sha256='e94d08a142b72b7219c828e7ca34788b59612fc10dbb2c65afd4457e9810eed1',
+ expand=False)
+ version('5.1.1-cp36',
+ url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp36-cp36m-macosx_10_9_x86_64.whl',
+ sha256='94b3c8d2ceba1685ae7e7f2b3bb88bdcd15dee93d369177eb03f676062f7e06f',
+ expand=False)
+ version('5.1.1-cp37',
+ url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp37-cp37m-macosx_10_9_x86_64.whl',
+ sha256='f112515483a073fae96d5cfce4eb9f95cbf57a145bbd196b2369a3194e27febf',
+ expand=False)
+ version('5.1.1-cp38',
+ url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp38-cp38-macosx_10_9_x86_64.whl',
+ sha256='94b09ab9dd59ceaecc456ede2b719a44b8f0d54d92409eede372c6004395ae7b',
+ expand=False)
+ # version 5.1.2
+ version('5.1.2-cp36',
+ url='https://pypi.io/packages/cp36/i/itk/itk-5.1.2-cp36-cp36m-macosx_10_9_x86_64.whl',
+ sha256='d66f5369768e9449c1bd07210a42e11c565602da1dde3128f554b653a2faaf7b',
+ expand=False)
+ version('5.1.2-cp37',
+ url='https://pypi.io/packages/cp37/i/itk/itk-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl',
+ sha256='0b494485d05306240eaa5ab1a5e00895fcce8fe684c632c02a2373f36d123902',
+ expand=False)
+ version('5.1.2-cp38',
+ url='https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-macosx_10_9_x86_64.whl',
+ sha256='e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458',
+ expand=False)
+ version('5.1.2-cp39',
+ url='https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-macosx_10_9_x86_64.whl',
+ sha256='e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458',
+ expand=False)
+ elif sys.platform.startswith('linux'):
+ # version 5.1.1
+ version('5.1.1-cp35',
+ url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp35-cp35m-manylinux1_x86_64.whl',
+ sha256='02ba37cda1f4190ca34133e056f9acd5c0104da64455dc9e0cc6bb3eec47f7a6',
+ expand=False)
+ version('5.1.1-cp36',
+ url='https://pypi.io/packages/cp36/i/itk/itk-5.1.1-cp36-cp36m-manylinux1_x86_64.whl',
+ sha256='a7602fe2ee031bf70acf54e1aef6e0e01e9fa821ca1926fc70fe3db9167a50f2',
+ expand=False)
+ version('5.1.1-cp37',
+ url='https://pypi.io/packages/cp37/i/itk/itk-5.1.1-cp37-cp37m-manylinux1_x86_64.whl',
+ sha256='7c313d2e3a3e37b8e78d0b2d70be2d478c87fde6f27912c714c855a05584b8ee',
+ expand=False)
+ version('5.1.1-cp38',
+ url='https://pypi.io/packages/cp38/i/itk/itk-5.1.1-cp38-cp38-manylinux1_x86_64.whl',
+ sha256='14cd6c3a25f0d69f45eda74b006eceeaf8e2b2fcbe7c343e49683edf97e0fb14',
+ expand=False)
+ # version 5.1.2
+ version('5.1.2-cp36',
+ url='https://pypi.io/packages/cp36/i/itk/itk-5.1.2-cp36-cp36m-manylinux1_x86_64.whl',
+ sha256='266e031a0656688b815dc60e9abd58e40ec37c9dcd25aa91634ed2b157ca974c',
+ expand=False)
+ version('5.1.2-cp37',
+ url='https://pypi.io/packages/cp37/i/itk/itk-5.1.2-cp37-cp37m-manylinux1_x86_64.whl',
+ sha256='064d9cfdd9547ae3ed850c35b989e0141c4bd434672bc2dd124248aab7bdf09a',
+ expand=False)
+ version('5.1.2-cp38',
+ url='https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-manylinux1_x86_64.whl',
+ sha256='fe9225ac353116f4000c0a3440bf151200beb4a65deec5b2e626edda5b498f16',
+ expand=False)
+ version('5.1.2-cp39',
+ url='https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-manylinux1_x86_64.whl',
+ sha256='5781b74410b7189a825c89d370411595e5e3d5dbb480201907f751f26698df83',
+ expand=False)
+
+ extends('python')
+ depends_on('py-pip', type='build')
+
+ depends_on('python@3.5.0:3.5.999', when='@5.1.1-cp35', type=('build', 'run'))
+ depends_on('python@3.6.0:3.6.999', when='@5.1.1-cp36,5.1.2-cp36', type=('build', 'run'))
+ depends_on('python@3.7.0:3.7.999', when='@5.1.1-cp37,5.1.2-cp37', type=('build', 'run'))
+ depends_on('python@3.8.0:3.8.999', when='@5.1.1-cp38,5.1.2-cp38', type=('build', 'run'))
+ depends_on('python@3.9.0:3.9.999', when='@5.1.2-cp39', type=('build', 'run'))
+
+ depends_on('itk@5.1.1', when='@5.1.1-cp35:5.1.1-cp39', type='run')
+ depends_on('itk@5.1.2', when='@5.1.2-cp35:5.1.2-cp39', type='run')
+
+ for t in set([str(x.family) for x in archspec.cpu.TARGETS.values()
+ if str(x.family) != 'x86_64']):
+ conflicts('target={0}:'.format(t), msg='py-itk is available x86_64 only')
+
+ def install(self, spec, prefix):
+ pip = which('pip')
+ pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-pydicom/package.py b/var/spack/repos/builtin/packages/py-pydicom/package.py
new file mode 100644
index 0000000000..54e24b5c30
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pydicom/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2021 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)
+
+from spack import *
+
+
+class PyPydicom(PythonPackage):
+ """Pure python package for DICOM medical file reading and writing
+
+ pydicom is a pure Python package for working with DICOM files. It lets you
+ read, modify and write DICOM data in an easy "pythonic" way."""
+
+ homepage = "https://github.com/pydicom/pydicom"
+ pypi = "pydicom/pydicom-2.1.2.tar.gz"
+
+ version('2.1.2', sha256='65f36820c5fec24b4e7ca45b7dae93e054ed269d55f92681863d39d30459e2fd')
+
+ variant('numpy', default=False, description='Use NumPy for Pixel data')
+
+ depends_on('python@3.6.1:', type=('build', 'run'))
+ depends_on('py-setuptools', type=('build', 'run'))
+ depends_on('py-numpy', when='+numpy', type='run')
diff --git a/var/spack/repos/builtin/packages/py-uproot3-methods/package.py b/var/spack/repos/builtin/packages/py-uproot3-methods/package.py
new file mode 100644
index 0000000000..b7640cb15d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-uproot3-methods/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 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)
+
+from spack import *
+
+
+class PyUproot3Methods(PythonPackage):
+ """Pythonic mix-ins for ROOT classes.
+
+ This package is typically used as a dependency for uproot 3.x, to define
+ methods on the classes that are automatically generated from ROOT files.
+ This includes histograms (TH*) and physics objects like TLorentzVectors.
+ The reason it's a separate library is so that we can add physics-specific
+ functionality on a shorter timescale than we can update Uproot 3 itself,
+ which is purely an I/O package."""
+
+ homepage = "https://github.com/scikit-hep/uproot3-methods"
+ pypi = "uproot3-methods/uproot3-methods-0.10.1.tar.gz"
+
+ version('0.10.1', sha256='dd68f90be1ea276360b96369836849df29045f7fe4e534f9ac21ea00798ee358')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1.13.1:', type=('build', 'run'))
+ depends_on('py-awkward0', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-uproot3/package.py b/var/spack/repos/builtin/packages/py-uproot3/package.py
new file mode 100644
index 0000000000..656c2cd305
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-uproot3/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2021 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)
+
+from spack import *
+
+
+class PyUproot3(PythonPackage):
+ """ROOT I/O in pure Python and Numpy.
+
+ uproot is a reader and a writer of the ROOT file format using only Python
+ and Numpy. Unlike the standard C++ ROOT implementation, uproot is only an
+ I/O library, primarily intended to stream data into machine learning
+ libraries in Python. Unlike PyROOT and root_numpy, uproot does not depend
+ on C++ ROOT. Instead, it uses Numpy to cast blocks of data from the ROOT
+ file as Numpy arrays."""
+
+ homepage = "https://github.com/scikit-hep/uproot3"
+ pypi = "uproot3/uproot3-3.14.4.tar.gz"
+
+ version('3.14.4', sha256='4396746ba5ef9071bb0a9da53294e4613a7f4548218940f86496e79d682d20eb')
+
+ depends_on('python@2.7:2.9,3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pytest-runner', type='build')
+ depends_on('py-numpy@1.13.1:', type=('build', 'run'))
+ depends_on('py-awkward0', type=('build', 'run'))
+ depends_on('py-uproot3-methods', type=('build', 'run'))
+ depends_on('py-cachetools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-wget/package.py b/var/spack/repos/builtin/packages/py-wget/package.py
new file mode 100644
index 0000000000..a3deacfadb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-wget/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 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)
+
+from spack import *
+
+
+class PyWget(PythonPackage):
+ """pure python download utility
+
+ Download the file for your platform. If you're not sure which to choose,
+ learn more about installing packages."""
+
+ homepage = "http://bitbucket.org/techtonik/python-wget/"
+ pypi = "wget/wget-3.2.zip"
+
+ version('3.2', sha256='35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061')