new package: dicom3tools (#25700)

This commit is contained in:
Glenn Johnson 2021-09-25 09:43:17 -05:00 committed by GitHub
parent 348cebfb8f
commit d8dc1f2c80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,61 @@
# 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 Dicom3tools(MakefilePackage):
"""Command line utilities for creating, modifying, dumping and validating
files of DICOM attributes, and conversion of proprietary image formats to
DICOM. Can handle older ACR/NEMA format data, and some proprietary versions
of that such as SPI."""
homepage = "https://www.dclunie.com/dicom3tools.html"
url = "https://www.dclunie.com/dicom3tools/workinprogress/dicom3tools_1.00.snapshot.20210306100017.tar.bz2"
version('1.00.snapshot.20210306100017', sha256='3cc2d6056e349e0ac6a093d231d8f4dd7a77e26ed29c1ebaca945dd5e56c1520')
variant(
'uid_root',
default='0.0.0.0',
values=lambda x: True,
description='default UID Root assignment'
)
depends_on('bzip2', type='build')
depends_on('imake', type='build')
depends_on('libx11')
def edit(self, spec, prefix):
defines = [
'#define InstallBinDir "{0}"'.format(prefix.bin),
'#define InstallIncDir "{0}"'.format(prefix.include),
'#define InstallLibDir "{0}"'.format(prefix.lib),
'#define InstallManDir "{0}"'.format(prefix.man),
'#define X11LibraryPath "{0}"'.format(spec['libx11'].prefix.lib),
'#define X11IncludePath "{0}"'.format(spec['libx11'].prefix.include),
]
with working_dir('config'):
with open('site.p-def', 'a') as inc:
for define in defines:
inc.write('{0}\n'.format(define))
configure = FileFilter('Configure')
configure.filter('usegcc=.*', 'usegcc={0}'.format(spack_cc))
configure.filter('usegpp=.*', 'usegpp={0}'.format(spack_cxx))
def build(self, spec, prefix):
uid_root = spec.variants['uid_root'].value
configure = Executable(join_path('.', 'Configure'))
configure()
imake = which('imake')
imake('-I./config', '-DDefaultUIDRoot={0}'.format(uid_root))
make('World')
def install(self, spec, prefix):
make('install')
make('install.man')