From 741bb9bafe078d0dd39387e8ea63dca9386bb5a9 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 3 Sep 2020 12:47:19 -0500 Subject: install/install_tree: glob support (#18376) * install/install_tree: glob support * Add unit tests * Update existing packages * Raise error if glob finds no files, document function raises --- var/spack/repos/builtin/packages/alglib/package.py | 6 +----- var/spack/repos/builtin/packages/amrvis/package.py | 7 +------ var/spack/repos/builtin/packages/aspa/package.py | 6 +----- var/spack/repos/builtin/packages/bcftools/package.py | 6 +----- var/spack/repos/builtin/packages/bib2xhtml/package.py | 6 +----- var/spack/repos/builtin/packages/binutils/package.py | 7 ++----- var/spack/repos/builtin/packages/bowtie2/package.py | 15 +-------------- var/spack/repos/builtin/packages/braker/package.py | 7 +------ var/spack/repos/builtin/packages/chombo/package.py | 11 +++-------- var/spack/repos/builtin/packages/cloverleaf/package.py | 11 ++--------- .../repos/builtin/packages/cloverleaf3d/package.py | 11 ++--------- var/spack/repos/builtin/packages/cohmm/package.py | 6 +----- var/spack/repos/builtin/packages/efivar/package.py | 7 +------ var/spack/repos/builtin/packages/exasp2/package.py | 6 +----- var/spack/repos/builtin/packages/gatk/package.py | 5 +---- .../repos/builtin/packages/highwayhash/package.py | 5 +---- var/spack/repos/builtin/packages/hisat2/package.py | 9 +-------- var/spack/repos/builtin/packages/hybpiper/package.py | 9 +-------- var/spack/repos/builtin/packages/iniparser/package.py | 10 ++-------- var/spack/repos/builtin/packages/intel-tbb/package.py | 10 ++++------ var/spack/repos/builtin/packages/intel-xed/package.py | 16 ++++------------ var/spack/repos/builtin/packages/ioapi/package.py | 11 ++--------- var/spack/repos/builtin/packages/keyutils/package.py | 7 +------ var/spack/repos/builtin/packages/leveldb/package.py | 12 +++--------- var/spack/repos/builtin/packages/librom/package.py | 18 +++++++----------- var/spack/repos/builtin/packages/libxsmm/package.py | 6 ++---- var/spack/repos/builtin/packages/metis/package.py | 8 ++------ var/spack/repos/builtin/packages/minigmg/package.py | 7 +------ var/spack/repos/builtin/packages/minimd/package.py | 8 +------- var/spack/repos/builtin/packages/motioncor2/package.py | 6 +----- var/spack/repos/builtin/packages/mumps/package.py | 5 +---- var/spack/repos/builtin/packages/openmx/package.py | 8 +------- var/spack/repos/builtin/packages/opennurbs/package.py | 7 +------ .../repos/builtin/packages/perl-star-fusion/package.py | 14 +++----------- var/spack/repos/builtin/packages/q-e-sirius/package.py | 10 ++-------- .../repos/builtin/packages/quantum-espresso/package.py | 10 ++-------- var/spack/repos/builtin/packages/redundans/package.py | 6 ++---- var/spack/repos/builtin/packages/rhash/package.py | 7 +------ var/spack/repos/builtin/packages/snap-korf/package.py | 7 +------ var/spack/repos/builtin/packages/sparse/package.py | 8 ++------ var/spack/repos/builtin/packages/sse2neon/package.py | 7 +------ var/spack/repos/builtin/packages/superlu/package.py | 14 ++++---------- var/spack/repos/builtin/packages/sw4lite/package.py | 6 +----- var/spack/repos/builtin/packages/texlive/package.py | 5 +---- .../repos/builtin/packages/vardictjava/package.py | 7 +------ var/spack/repos/builtin/packages/wireshark/package.py | 8 ++------ 46 files changed, 79 insertions(+), 309 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/alglib/package.py b/var/spack/repos/builtin/packages/alglib/package.py index 82a1d0e3a3..872cbfc6d3 100644 --- a/var/spack/repos/builtin/packages/alglib/package.py +++ b/var/spack/repos/builtin/packages/alglib/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob import os import sys @@ -34,9 +32,7 @@ class Alglib(MakefilePackage): mkdirp(prefix.lib) install(name, prefix.lib) mkdirp(prefix.include) - headers = glob.glob('*.h') - for h in headers: - install(h, prefix.include) + install('*.h', prefix.include) @run_after('install') def fix_darwin_install(self): diff --git a/var/spack/repos/builtin/packages/amrvis/package.py b/var/spack/repos/builtin/packages/amrvis/package.py index 0db77c9649..c0ca8c083b 100644 --- a/var/spack/repos/builtin/packages/amrvis/package.py +++ b/var/spack/repos/builtin/packages/amrvis/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Amrvis(MakefilePackage): """Amrvis is a visualization package specifically designed to @@ -198,6 +195,4 @@ class Amrvis(MakefilePackage): def install(self, spec, prefix): # Install exe manually mkdirp(prefix.bin) - exes = glob.iglob('*.ex') - for exe in exes: - install(exe, prefix.bin) + install('*.ex', prefix.bin) diff --git a/var/spack/repos/builtin/packages/aspa/package.py b/var/spack/repos/builtin/packages/aspa/package.py index abd49f3896..256b68e5da 100644 --- a/var/spack/repos/builtin/packages/aspa/package.py +++ b/var/spack/repos/builtin/packages/aspa/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Aspa(MakefilePackage): """A fundamental premise in ExMatEx is that scale-bridging performed in @@ -52,5 +49,4 @@ class Aspa(MakefilePackage): install('exec/kriging_model_centers.txt', prefix.input) install('exec/point_data.txt', prefix.input) install('exec/value_data.txt', prefix.input) - for files in glob.glob('doc/*.*'): - install(files, prefix.doc) + install('doc/*.*', prefix.doc) diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py index 28f431e346..ef411aaed5 100644 --- a/var/spack/repos/builtin/packages/bcftools/package.py +++ b/var/spack/repos/builtin/packages/bcftools/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Bcftools(AutotoolsPackage): """BCFtools is a set of utilities that manipulate variant calls in the @@ -99,8 +96,7 @@ class Bcftools(AutotoolsPackage): if spec.satisfies('@1.2'): mkdirp(self.prefix.libexec.bcftools) - for files in glob.glob('plugins/*.so'): - install(files, self.prefix.libexec.bcftools) + install('plugins/*.so', self.prefix.libexec.bcftools) @when('@1.2') def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/bib2xhtml/package.py b/var/spack/repos/builtin/packages/bib2xhtml/package.py index 057b202ca2..36ce8254ee 100644 --- a/var/spack/repos/builtin/packages/bib2xhtml/package.py +++ b/var/spack/repos/builtin/packages/bib2xhtml/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -from glob import glob - class Bib2xhtml(Package): """bib2xhtml is a program that converts BibTeX files into HTML.""" @@ -18,8 +15,7 @@ class Bib2xhtml(Package): # Add the bst include files to the install directory bst_include = join_path(prefix.share, 'bib2xhtml') mkdirp(bst_include) - for bstfile in glob('html-*bst'): - install(bstfile, bst_include) + install('html-*bst', bst_include) # Install the script and point it at the user's favorite perl # and the bst include directory. diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py index 3623d72c2b..46b6ad34da 100644 --- a/var/spack/repos/builtin/packages/binutils/package.py +++ b/var/spack/repos/builtin/packages/binutils/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob import sys @@ -115,9 +113,8 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage): # grab the full binutils set of headers install_tree('include', extradir) # also grab the headers from the bfd directory - for current_file in glob.glob(join_path(self.build_directory, - 'bfd', '*.h')): - install(current_file, extradir) + install(join_path(self.build_directory, 'bfd', '*.h'), + extradir) def flag_handler(self, name, flags): # To ignore the errors of narrowing conversions for diff --git a/var/spack/repos/builtin/packages/bowtie2/package.py b/var/spack/repos/builtin/packages/bowtie2/package.py index a5752dda48..24208574c2 100644 --- a/var/spack/repos/builtin/packages/bowtie2/package.py +++ b/var/spack/repos/builtin/packages/bowtie2/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -from glob import glob - class Bowtie2(Package): """Bowtie 2 is an ultrafast and memory-efficient tool for aligning @@ -71,14 +68,4 @@ class Bowtie2(Package): make_arg.append('POPCNT_CAPABILITY=0') make(*make_arg) mkdirp(prefix.bin) - for bow in glob("bowtie2*"): - install(bow, prefix.bin) - # install('bowtie2',prefix.bin) - # install('bowtie2-align-l',prefix.bin) - # install('bowtie2-align-s',prefix.bin) - # install('bowtie2-build',prefix.bin) - # install('bowtie2-build-l',prefix.bin) - # install('bowtie2-build-s',prefix.bin) - # install('bowtie2-inspect',prefix.bin) - # install('bowtie2-inspect-l',prefix.bin) - # install('bowtie2-inspect-s',prefix.bin) + install('bowtie2*', prefix.bin) diff --git a/var/spack/repos/builtin/packages/braker/package.py b/var/spack/repos/builtin/packages/braker/package.py index 7bada09715..b3f0f95737 100644 --- a/var/spack/repos/builtin/packages/braker/package.py +++ b/var/spack/repos/builtin/packages/braker/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import os import glob @@ -48,10 +46,7 @@ class Braker(Package): install_tree('example', prefix.example) with working_dir('scripts'): install('helpMod.pm', prefix.lib) - files = glob.iglob('*.pl') - for file in files: - if os.path.isfile(file): - install(file, prefix.bin) + install('*.pl', prefix.bin) @run_after('install') def filter_sbang(self): diff --git a/var/spack/repos/builtin/packages/chombo/package.py b/var/spack/repos/builtin/packages/chombo/package.py index bfe37bcfeb..3b05e34a75 100644 --- a/var/spack/repos/builtin/packages/chombo/package.py +++ b/var/spack/repos/builtin/packages/chombo/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Chombo(MakefilePackage): """The Chombo package provides a set of tools for implementing finite @@ -109,9 +106,7 @@ class Chombo(MakefilePackage): def install(self, spec, prefix): with working_dir('lib'): install_tree('include', prefix.include) - libfiles = glob.glob('lib*.a') - libfiles += glob.glob('lib*.so') - libfiles += glob.glob('lib*.dylib') mkdirp(prefix.lib) - for lib in libfiles: - install(lib, prefix.lib) + install('lib*.a', prefix.lib) + install('lib*.so', prefix.lib) + install('lib*.dylib', prefix.lib) diff --git a/var/spack/repos/builtin/packages/cloverleaf/package.py b/var/spack/repos/builtin/packages/cloverleaf/package.py index ad1360cb30..eba94f4649 100644 --- a/var/spack/repos/builtin/packages/cloverleaf/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf/package.py @@ -4,11 +4,6 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import glob - -from spack import * - - class Cloverleaf(MakefilePackage): """Proxy Application. CloverLeaf is a miniapp that solves the compressible Euler equations on a Cartesian grid, @@ -95,7 +90,5 @@ class Cloverleaf(MakefilePackage): prefix.bin) install('CloverLeaf_{0}/clover.in'.format(self.type_of_build), prefix.bin) - - for f in glob.glob( - 'CloverLeaf_{0}/*.in'.format(self.type_of_build)): - install(f, prefix.doc.tests) + install('CloverLeaf_{0}/*.in'.format(self.type_of_build), + prefix.doc.tests) diff --git a/var/spack/repos/builtin/packages/cloverleaf3d/package.py b/var/spack/repos/builtin/packages/cloverleaf3d/package.py index 4e74541253..77e34f2a63 100644 --- a/var/spack/repos/builtin/packages/cloverleaf3d/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf3d/package.py @@ -4,11 +4,6 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import glob - -from spack import * - - class Cloverleaf3d(MakefilePackage): """Proxy Application. CloverLeaf3D is 3D version of the CloverLeaf mini-app. CloverLeaf is a mini-app that solves @@ -78,7 +73,5 @@ class Cloverleaf3d(MakefilePackage): prefix.bin) install('CloverLeaf3D_{0}/clover.in'.format(self.type_of_build), prefix.bin) - - for f in glob.glob( - 'CloverLeaf3D_{0}/*.in'.format(self.type_of_build)): - install(f, prefix.doc.samples) + install('CloverLeaf3D_{0}/*.in'.format(self.type_of_build), + prefix.doc.samples) diff --git a/var/spack/repos/builtin/packages/cohmm/package.py b/var/spack/repos/builtin/packages/cohmm/package.py index 80b53e39c8..97eab37c28 100644 --- a/var/spack/repos/builtin/packages/cohmm/package.py +++ b/var/spack/repos/builtin/packages/cohmm/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Cohmm(MakefilePackage): """An anticipated important use-case for next-generation supercomputing @@ -37,5 +34,4 @@ class Cohmm(MakefilePackage): install('cohmm', prefix.bin) install('README.md', prefix.doc) install('LICENSE.md', prefix.doc) - for files in glob.glob('input/*.*'): - install(files, prefix.input) + install('input/*.*', prefix.input) diff --git a/var/spack/repos/builtin/packages/efivar/package.py b/var/spack/repos/builtin/packages/efivar/package.py index 5d5c6bdbe5..b6307b8dd3 100644 --- a/var/spack/repos/builtin/packages/efivar/package.py +++ b/var/spack/repos/builtin/packages/efivar/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Efivar(MakefilePackage): """Tools and libraries to work with EFI variables""" @@ -22,7 +19,5 @@ class Efivar(MakefilePackage): def install(self, spec, prefix): with working_dir(self.build_directory): mkdirp(prefix.lib) - files = glob.glob('*.so*') - for f in files: - install(f, prefix.lib) + install('*.so*', prefix.lib) install_tree('include/efivar', prefix.include) diff --git a/var/spack/repos/builtin/packages/exasp2/package.py b/var/spack/repos/builtin/packages/exasp2/package.py index 4ff5251579..f51d32a922 100644 --- a/var/spack/repos/builtin/packages/exasp2/package.py +++ b/var/spack/repos/builtin/packages/exasp2/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Exasp2(MakefilePackage): """ExaSP2 is a reference implementation of typical linear algebra algorithms @@ -70,7 +67,6 @@ class Exasp2(MakefilePackage): def install(self, spec, prefix): mkdir(prefix.bin) mkdir(prefix.doc) - for files in glob.glob('bin/ExaSP2-*'): - install(files, prefix.bin) + install('bin/ExaSP2-*', prefix.bin) install('LICENSE.md', prefix.doc) install('README.md', prefix.doc) diff --git a/var/spack/repos/builtin/packages/gatk/package.py b/var/spack/repos/builtin/packages/gatk/package.py index 78436f3873..b4400f9e31 100644 --- a/var/spack/repos/builtin/packages/gatk/package.py +++ b/var/spack/repos/builtin/packages/gatk/package.py @@ -4,8 +4,6 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os.path -import glob -from spack import * class Gatk(Package): @@ -61,8 +59,7 @@ class Gatk(Package): # For ver 3.x will install "GenomeAnalysisTK.jar" # For ver 4.x will install both "gatk-package--local.jar" # and "gatk-package--spark.jar" - for file in glob.glob("*.jar"): - install(file, prefix.bin) + install("*.jar", prefix.bin) # Skip helper script for versions >4.0 if spec.satisfies("@4.0:"): diff --git a/var/spack/repos/builtin/packages/highwayhash/package.py b/var/spack/repos/builtin/packages/highwayhash/package.py index f3666ce991..77c3e1414d 100644 --- a/var/spack/repos/builtin/packages/highwayhash/package.py +++ b/var/spack/repos/builtin/packages/highwayhash/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -from glob import glob import os @@ -39,5 +37,4 @@ class Highwayhash(MakefilePackage): install('nanobenchmark_example', prefix.bin) install('vector_test', prefix.bin) install('sip_hash_test', prefix.bin) - for i in glob('highwayhash/*.h'): - install(i, prefix.include) + install('highwayhash/*.h', prefix.include) diff --git a/var/spack/repos/builtin/packages/hisat2/package.py b/var/spack/repos/builtin/packages/hisat2/package.py index ab03df4ce5..834013d666 100644 --- a/var/spack/repos/builtin/packages/hisat2/package.py +++ b/var/spack/repos/builtin/packages/hisat2/package.py @@ -3,10 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob -import os.path - class Hisat2(MakefilePackage): """HISAT2 is a fast and sensitive alignment program for mapping @@ -40,10 +36,7 @@ class Hisat2(MakefilePackage): install('hisat2-inspect', prefix.bin) install('hisat2-inspect-s', prefix.bin) install('hisat2-inspect-l', prefix.bin) - files = glob.iglob('*.py') - for file in files: - if os.path.isfile(file): - install(file, prefix.bin) + install('*.py', prefix.bin) def setup_run_environment(self, env): env.prepend_path('PATH', self.spec.prefix) diff --git a/var/spack/repos/builtin/packages/hybpiper/package.py b/var/spack/repos/builtin/packages/hybpiper/package.py index 5c3f905167..5f436c7487 100644 --- a/var/spack/repos/builtin/packages/hybpiper/package.py +++ b/var/spack/repos/builtin/packages/hybpiper/package.py @@ -3,10 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob -import os - class Hybpiper(Package): """HybPiper was designed for targeted sequence capture, in which DNA @@ -36,7 +32,4 @@ class Hybpiper(Package): def install(self, spec, prefix): mkdirp(prefix.bin) - files = glob.iglob("*.py") - for file in files: - if os.path.isfile(file): - install(file, prefix.bin) + install('*.py', prefix.bin) diff --git a/var/spack/repos/builtin/packages/iniparser/package.py b/var/spack/repos/builtin/packages/iniparser/package.py index cb9f7039c7..18beca3072 100644 --- a/var/spack/repos/builtin/packages/iniparser/package.py +++ b/var/spack/repos/builtin/packages/iniparser/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Iniparser(MakefilePackage): """This modules offers parsing of ini files from the C level.""" @@ -20,9 +17,6 @@ class Iniparser(MakefilePackage): def install(self, spec, prefix): mkdirp(prefix.include) - with working_dir('src'): - for files in glob.glob('*.h'): - install(files, prefix.include) mkdirp(prefix.lib) - for files in glob.glob('libiniparser.*'): - install(files, prefix.lib) + install('src/*.h', prefix.include) + install('libiniparser.*', prefix.lib) diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py index 65973d1dd4..857e190eba 100644 --- a/var/spack/repos/builtin/packages/intel-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-tbb/package.py @@ -205,13 +205,11 @@ class IntelTbb(Package): for lib_name in tbb_lib_names: # install release libs - fs = glob.glob(join_path("build", "*release", lib_name + ".*")) - for f in fs: - install(f, prefix.lib) + install(join_path("build", "*release", lib_name + ".*"), + prefix.lib) # install debug libs if they exist - fs = glob.glob(join_path("build", "*debug", lib_name + "_debug.*")) - for f in fs: - install(f, prefix.lib) + install(join_path("build", "*debug", lib_name + "_debug.*"), + prefix.lib) if spec.satisfies('@2017.8,2018.1:', strict=True): # Generate and install the CMake Config file. diff --git a/var/spack/repos/builtin/packages/intel-xed/package.py b/var/spack/repos/builtin/packages/intel-xed/package.py index 31b157531e..94addcbdf9 100644 --- a/var/spack/repos/builtin/packages/intel-xed/package.py +++ b/var/spack/repos/builtin/packages/intel-xed/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob import os @@ -87,23 +85,17 @@ class IntelXed(Package): mkdirp(prefix.lib) mkdirp(prefix.bin) - libs = glob.glob(join_path('obj', 'lib*.a')) - for lib in libs: - install(lib, prefix.lib) + install(join_path('obj', 'lib*.a'), prefix.lib) # Build and install shared libxed.so and examples (to get the CLI). mfile('--clean') mfile('examples', '--shared', *args) - libs = glob.glob(join_path('obj', 'lib*.so')) - for lib in libs: - install(lib, prefix.lib) + install(join_path('obj', 'lib*.so'), prefix.lib) # Install the xed program install(join_path('obj', 'examples', 'xed'), prefix.bin) # Install header files. - hdrs = glob.glob(join_path('include', 'public', 'xed', '*.h')) \ - + glob.glob(join_path('obj', '*.h')) - for hdr in hdrs: - install(hdr, prefix.include) + install(join_path('include', 'public', 'xed', '*.h'), prefix.include) + install(join_path('obj', '*.h'), prefix.include) diff --git a/var/spack/repos/builtin/packages/ioapi/package.py b/var/spack/repos/builtin/packages/ioapi/package.py index 07f7220b4f..268512e5f2 100644 --- a/var/spack/repos/builtin/packages/ioapi/package.py +++ b/var/spack/repos/builtin/packages/ioapi/package.py @@ -3,11 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import glob import os -from spack import * - class Ioapi(MakefilePackage): """Models-3/EDSS Input/Output Applications Programming Interface.""" @@ -34,11 +31,7 @@ class Ioapi(MakefilePackage): make('install') # Install the header files. mkdirp(prefix.include.fixed132) - headers = glob.glob('ioapi/*.EXT') - for header in headers: - install(header, prefix.include) + install('ioapi/*.EXT', prefix.include) # Install the header files for CMAQ and SMOKE in the # non-standard -ffixed-line-length-132 format. - headers_fixed132 = glob.glob('ioapi/fixed_src/*.EXT') - for header in headers_fixed132: - install(header, prefix.include.fixed132) + install('ioapi/fixed_src/*.EXT', prefix.include.fixed132) diff --git a/var/spack/repos/builtin/packages/keyutils/package.py b/var/spack/repos/builtin/packages/keyutils/package.py index 049dbb1c22..29c588d7c5 100644 --- a/var/spack/repos/builtin/packages/keyutils/package.py +++ b/var/spack/repos/builtin/packages/keyutils/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Keyutils(MakefilePackage): """These tools are used to control the key management system built @@ -22,6 +19,4 @@ class Keyutils(MakefilePackage): def install(self, spec, prefix): install_tree('.', prefix) mkdirp(prefix.include) - headers = glob.glob(join_path(prefix, '*.h')) - for h in headers: - install(h, prefix.include) + install(join_path(prefix, '*.h'), prefix.include) diff --git a/var/spack/repos/builtin/packages/leveldb/package.py b/var/spack/repos/builtin/packages/leveldb/package.py index f03da29be7..f4d5e57981 100644 --- a/var/spack/repos/builtin/packages/leveldb/package.py +++ b/var/spack/repos/builtin/packages/leveldb/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import glob -from spack import * - class Leveldb(CMakePackage): """LevelDB is a fast key-value storage library written at Google @@ -52,13 +49,10 @@ class Leveldb(CMakePackage): mkdirp(prefix.lib) # Needed for version 1.20 - libraries = glob.glob('out-shared/libleveldb.*') - libraries += glob.glob('out-static/libleveldb.*') + install('out-shared/libleveldb.*', prefix.lib) + install('out-static/libleveldb.*', prefix.lib) # Needed for version 1.18 - libraries += glob.glob('libleveldb.*') - - for library in libraries: - install(library, prefix.lib) + install('libleveldb.*', prefix.lib) install_tree('include', prefix.include) diff --git a/var/spack/repos/builtin/packages/librom/package.py b/var/spack/repos/builtin/packages/librom/package.py index 9840e1dfc1..e71e6cf9c6 100644 --- a/var/spack/repos/builtin/packages/librom/package.py +++ b/var/spack/repos/builtin/packages/librom/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Librom(AutotoolsPackage): """libROM: library for computing large-scale reduced order models""" @@ -42,16 +39,15 @@ class Librom(AutotoolsPackage): # TODO(oxberry1@llnl.gov): Submit PR upstream that implements # install phase in autotools def install(self, spec, prefix): - mkdirp(self.spec.prefix.lib) - install('libROM.a', join_path(self.spec.prefix.lib, 'libROM.a')) + mkdirp(prefix.lib) + install('libROM.a', join_path(prefix.lib, 'libROM.a')) - mkdirp(self.spec.prefix.include) - for f in glob.glob('*.h'): - install(f, join_path(self.spec.prefix.include, f)) + mkdirp(prefix.include) + install('*.h', prefix.include) - mkdirp(self.spec.prefix.share) + mkdirp(prefix.share) install('libROM_Design_and_Theory.pdf', - join_path(self.spec.prefix.share, + join_path(prefix.share, 'libROM_Design_and_Theory.pdf')) - install_tree('docs', self.spec.prefix.share.docs) + install_tree('docs', prefix.share.docs) diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py index 5b95683d5b..e06971fe4f 100644 --- a/var/spack/repos/builtin/packages/libxsmm/package.py +++ b/var/spack/repos/builtin/packages/libxsmm/package.py @@ -113,10 +113,8 @@ class Libxsmm(MakefilePackage): install_tree('bin', prefix.bin) mkdirp(prefix.doc) - for doc_file in glob(join_path('documentation', '*.md')): - install(doc_file, prefix.doc) - for doc_file in glob(join_path('documentation', '*.pdf')): - install(doc_file, prefix.doc) + install(join_path('documentation', '*.md'), prefix.doc) + install(join_path('documentation', '*.pdf'), prefix.doc) if '@1.8.2:' in spec: install('LICENSE.md', prefix.doc) else: diff --git a/var/spack/repos/builtin/packages/metis/package.py b/var/spack/repos/builtin/packages/metis/package.py index 524561310b..4063d23dd6 100644 --- a/var/spack/repos/builtin/packages/metis/package.py +++ b/var/spack/repos/builtin/packages/metis/package.py @@ -5,7 +5,6 @@ from spack import * -import glob import sys import os @@ -101,8 +100,7 @@ class Metis(Package): install('libmetis.a', prefix.lib) mkdir(prefix.include) - for h in glob.glob(join_path('Lib', '*.h')): - install(h, prefix.include) + install(join_path('Lib', '*.h'), prefix.include) mkdir(prefix.share) sharefiles = (('Graphs', '4elt.graph'), ('Graphs', 'metis.mesh'), @@ -203,9 +201,7 @@ class Metis(Package): # install GKlib headers, which will be needed for ParMETIS gklib_dist = join_path(prefix.include, 'GKlib') mkdirp(gklib_dist) - hfiles = glob.glob(join_path(source_directory, 'GKlib', '*.h')) - for hfile in hfiles: - install(hfile, gklib_dist) + install(join_path(source_directory, 'GKlib', '*.h'), gklib_dist) if self.run_tests: # FIXME: On some systems, the installed binaries for METIS cannot diff --git a/var/spack/repos/builtin/packages/minigmg/package.py b/var/spack/repos/builtin/packages/minigmg/package.py index 5087ff094e..ee519b2210 100644 --- a/var/spack/repos/builtin/packages/minigmg/package.py +++ b/var/spack/repos/builtin/packages/minigmg/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Minigmg(Package): """miniGMG is a compact benchmark for understanding the performance @@ -43,6 +40,4 @@ class Minigmg(Package): mkdir(prefix.bin) install('run.miniGMG', prefix.bin) mkdir(prefix.jobs) - files = glob.glob('job*') - for f in files: - install(f, prefix.jobs) + install('job*', prefix.jobs) diff --git a/var/spack/repos/builtin/packages/minimd/package.py b/var/spack/repos/builtin/packages/minimd/package.py index a4d99402b4..c53ed0ebd2 100644 --- a/var/spack/repos/builtin/packages/minimd/package.py +++ b/var/spack/repos/builtin/packages/minimd/package.py @@ -3,12 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - -import glob import tarfile -from spack import * - class Minimd(MakefilePackage): """Proxy Application. A simple proxy for the force computations @@ -52,6 +48,4 @@ class Minimd(MakefilePackage): install('miniMD_ref/miniMD_mpi', prefix.bin) install('miniMD_ref/in.lj.miniMD', prefix.bin) install('miniMD_ref/README', prefix.doc) - - for f in glob.glob('miniMD_ref/in.*'): - install(f, prefix.doc) + install('miniMD_ref/in.*', prefix.doc) diff --git a/var/spack/repos/builtin/packages/motioncor2/package.py b/var/spack/repos/builtin/packages/motioncor2/package.py index b7b114d27f..8ef8a5719f 100644 --- a/var/spack/repos/builtin/packages/motioncor2/package.py +++ b/var/spack/repos/builtin/packages/motioncor2/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -from glob import glob - class Motioncor2(Package): """MotionCor2 is a multi-GPU program that corrects beam-induced sample @@ -34,7 +31,6 @@ class Motioncor2(Package): def install(self, spec, prefix): mkdirp(prefix.bin) - for files in glob("MotionCor2_*"): - install(files, prefix.bin) + install('MotionCor2_*', prefix.bin) with working_dir(prefix.bin): symlink('MotionCor2_{0}'.format(spec.version), 'MotionCor2') diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py index 773f7e9b1f..6ba965b8f5 100644 --- a/var/spack/repos/builtin/packages/mumps/package.py +++ b/var/spack/repos/builtin/packages/mumps/package.py @@ -3,10 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * import os import sys -import glob class Mumps(Package): @@ -277,8 +275,7 @@ class Mumps(Package): lib_dsuffix = '.dylib' if sys.platform == 'darwin' else '.so' lib_suffix = lib_dsuffix if '+shared' in spec else '.a' install('libseq/libmpiseq%s' % lib_suffix, prefix.lib) - for f in glob.glob(join_path('libseq', '*.h')): - install(f, prefix.include) + install(join_path('libseq', '*.h'), prefix.include) # FIXME: extend the tests to mpirun -np 2 when build with MPI # FIXME: use something like numdiff to compare output files diff --git a/var/spack/repos/builtin/packages/openmx/package.py b/var/spack/repos/builtin/packages/openmx/package.py index 9bfe2a6af5..5560820b59 100644 --- a/var/spack/repos/builtin/packages/openmx/package.py +++ b/var/spack/repos/builtin/packages/openmx/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Openmx(MakefilePackage): """OpenMX (Open source package for Material eXplorer) is a software @@ -36,10 +33,7 @@ class Openmx(MakefilePackage): def edit(self, spec, prefix): # Move contents to source/ # http://www.openmx-square.org/bugfixed/18June12/README.txt - patch_files = [] - patch_files = glob.glob('./patch/*') - for f in patch_files: - copy(f, './source') + copy_tree('patch', 'source') makefile = FileFilter('./source/makefile') makefile.filter('^DESTDIR.*$', 'DESTDIR = {0}/bin'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/opennurbs/package.py b/var/spack/repos/builtin/packages/opennurbs/package.py index 5df4a1dbf6..7b3496364f 100644 --- a/var/spack/repos/builtin/packages/opennurbs/package.py +++ b/var/spack/repos/builtin/packages/opennurbs/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Opennurbs(Package): """OpenNURBS is an open-source NURBS-based geometric modeling library @@ -49,6 +46,4 @@ class Opennurbs(Package): mkdir(prefix.include) install('libopenNURBS.a', prefix.lib) install_tree('zlib', join_path(prefix.include, 'zlib')) - headers = glob.glob(join_path('.', '*.h')) - for h in headers: - install(h, prefix.include) + install('*.h', prefix.include) diff --git a/var/spack/repos/builtin/packages/perl-star-fusion/package.py b/var/spack/repos/builtin/packages/perl-star-fusion/package.py index 4c5a1b050d..17482f6e25 100644 --- a/var/spack/repos/builtin/packages/perl-star-fusion/package.py +++ b/var/spack/repos/builtin/packages/perl-star-fusion/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -from glob import glob - class PerlStarFusion(Package): """STAR-Fusion is a component of the Trinity Cancer Transcriptome Analysis @@ -29,12 +26,7 @@ class PerlStarFusion(Package): depends_on('perl-uri', type=('build', 'run')) def install(self, spec, prefix): - mkdirp(prefix.bin) - install('STAR-Fusion', prefix.bin) mkdirp(perl_lib_dir) - with working_dir('PerlLib'): - for pm in glob("*.pm"): - install(pm, perl_lib_dir) - with working_dir('util'): - for files in glob("*"): - install(files, prefix.bin) + install(join_path('PerlLib', '*.pm'), perl_lib_dir) + install_tree('util', prefix.bin) + install('STAR-Fusion', prefix.bin) diff --git a/var/spack/repos/builtin/packages/q-e-sirius/package.py b/var/spack/repos/builtin/packages/q-e-sirius/package.py index 115b9def07..82468ea892 100644 --- a/var/spack/repos/builtin/packages/q-e-sirius/package.py +++ b/var/spack/repos/builtin/packages/q-e-sirius/package.py @@ -4,11 +4,6 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) # adapted from official quantum espresso package -import glob -import os.path - -from spack import * - class QESirius(Package): """SIRIUS enabled fork of QuantumESPRESSO. """ @@ -266,7 +261,7 @@ class QESirius(Package): # Compute the include directory from there: versions # of espresso prior to 6.1 requires -I in front of the directory elpa_include = '' if '@6.1:' in spec else '-I' - elpa_include += os.path.join( + elpa_include += join_path( elpa.headers.directories[0], 'modules' ) @@ -310,7 +305,6 @@ class QESirius(Package): if 'platform=darwin' in spec: mkdirp(prefix.bin) - for filename in glob.glob("bin/*.x"): - install(filename, prefix.bin) + install('bin/*.x', prefix.bin) else: make('install') diff --git a/var/spack/repos/builtin/packages/quantum-espresso/package.py b/var/spack/repos/builtin/packages/quantum-espresso/package.py index dcc15f770f..e1e623a6f0 100644 --- a/var/spack/repos/builtin/packages/quantum-espresso/package.py +++ b/var/spack/repos/builtin/packages/quantum-espresso/package.py @@ -3,11 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import glob -import os.path - -from spack import * - class QuantumEspresso(Package): """Quantum ESPRESSO is an integrated suite of Open-Source computer codes @@ -325,7 +320,7 @@ class QuantumEspresso(Package): # Compute the include directory from there: versions # of espresso prior to 6.1 requires -I in front of the directory elpa_include = '' if '@6.1:' in spec else '-I' - elpa_include += os.path.join( + elpa_include += join_path( elpa.headers.directories[0], 'modules' ) @@ -369,7 +364,6 @@ class QuantumEspresso(Package): if 'platform=darwin' in spec: mkdirp(prefix.bin) - for filename in glob.glob("bin/*.x"): - install(filename, prefix.bin) + install('bin/*.x', prefix.bin) else: make('install') diff --git a/var/spack/repos/builtin/packages/redundans/package.py b/var/spack/repos/builtin/packages/redundans/package.py index d5ad3cf722..25a0a64d22 100644 --- a/var/spack/repos/builtin/packages/redundans/package.py +++ b/var/spack/repos/builtin/packages/redundans/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Redundans(Package): """Redundans pipeline assists an assembly of heterozygous genomes.""" @@ -38,7 +35,6 @@ class Redundans(Package): 'redundans.py') binfiles = ['redundans.py', 'bin/filterReads.py'] - binfiles.extend(glob.glob('bin/fast?2*.py')) # new internal dep with 0.14a if spec.satisfies('@0.14a:'): @@ -47,3 +43,5 @@ class Redundans(Package): mkdirp(prefix.bin) for f in binfiles: install(f, prefix.bin) + + install('bin/fast?2*.py', prefix.bin) diff --git a/var/spack/repos/builtin/packages/rhash/package.py b/var/spack/repos/builtin/packages/rhash/package.py index 975a37b6ba..e5e12eaa93 100644 --- a/var/spack/repos/builtin/packages/rhash/package.py +++ b/var/spack/repos/builtin/packages/rhash/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import glob -from spack import * - class Rhash(MakefilePackage): """RHash is a console utility for computing and verifying hash sums of @@ -52,8 +49,6 @@ class Rhash(MakefilePackage): make('install-lib-static', 'DESTDIR={0}'.format(prefix), 'PREFIX=') if spec.satisfies('platform=darwin'): - libs = glob.glob('librhash/*.dylib') - for lib in libs: - install(lib, prefix.lib) + install('librhash/*.dylib', prefix.lib) else: make('install-lib-shared', 'DESTDIR={0}'.format(prefix), 'PREFIX=') diff --git a/var/spack/repos/builtin/packages/snap-korf/package.py b/var/spack/repos/builtin/packages/snap-korf/package.py index c028c69796..dc10171052 100644 --- a/var/spack/repos/builtin/packages/snap-korf/package.py +++ b/var/spack/repos/builtin/packages/snap-korf/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class SnapKorf(MakefilePackage): """SNAP is a general purpose gene finding program suitable for both @@ -30,9 +27,7 @@ class SnapKorf(MakefilePackage): for p in progs: install(p, prefix.bin) - files = glob.iglob('*.pl') - for file in files: - install(file, prefix.bin) + install('*.pl', prefix.bin) install_tree('Zoe', prefix.Zoe) install_tree('HMM', prefix.HMM) diff --git a/var/spack/repos/builtin/packages/sparse/package.py b/var/spack/repos/builtin/packages/sparse/package.py index 86ebc71ba9..b6db13039b 100644 --- a/var/spack/repos/builtin/packages/sparse/package.py +++ b/var/spack/repos/builtin/packages/sparse/package.py @@ -2,8 +2,6 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob class Sparse(MakefilePackage): @@ -36,9 +34,7 @@ class Sparse(MakefilePackage): make() def install(self, spec, prefix): - headers = glob.glob('src/*.h') + mkdir(prefix.include) install_tree('lib', prefix.lib) install_tree('bin', prefix.bin) - mkdir(prefix.include) - for h in headers: - install(h, prefix.include) + install('src/*.h', prefix.include) diff --git a/var/spack/repos/builtin/packages/sse2neon/package.py b/var/spack/repos/builtin/packages/sse2neon/package.py index 5c01d6f0ae..32f0b69c04 100644 --- a/var/spack/repos/builtin/packages/sse2neon/package.py +++ b/var/spack/repos/builtin/packages/sse2neon/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Sse2neon(Package): """A C/C++ header file that converts Intel SSE intrinsics to ARN NEON @@ -18,6 +15,4 @@ class Sse2neon(Package): def install(self, spec, prefix): mkdirp(prefix.include) - headers = glob.glob('*.h') - for f in headers: - install(f, prefix.include) + install('*.h', prefix.include) diff --git a/var/spack/repos/builtin/packages/superlu/package.py b/var/spack/repos/builtin/packages/superlu/package.py index bc1b383729..fb41b4faf4 100644 --- a/var/spack/repos/builtin/packages/superlu/package.py +++ b/var/spack/repos/builtin/packages/superlu/package.py @@ -3,10 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob -import os - class Superlu(Package): """SuperLU is a general purpose library for the direct solution of large, @@ -64,9 +60,9 @@ class Superlu(Package): 'ARCH = ar', 'ARCHFLAGS = cr', 'RANLIB = {0}'.format('ranlib' if which('ranlib') else 'echo'), - 'CC = {0}'.format(os.environ['CC']), - 'FORTRAN = {0}'.format(os.environ['FC']), - 'LOADER = {0}'.format(os.environ['CC']), + 'CC = {0}'.format(env['CC']), + 'FORTRAN = {0}'.format(env['FC']), + 'LOADER = {0}'.format(env['CC']), 'CDEFS = -DAdd_' ]) @@ -95,7 +91,5 @@ class Superlu(Package): # Install manually install_tree('lib', prefix.lib) - headers = glob.glob(join_path('SRC', '*.h')) mkdir(prefix.include) - for h in headers: - install(h, prefix.include) + install(join_path('SRC', '*.h'), prefix.include) diff --git a/var/spack/repos/builtin/packages/sw4lite/package.py b/var/spack/repos/builtin/packages/sw4lite/package.py index 1ada4f1889..72b86390b6 100644 --- a/var/spack/repos/builtin/packages/sw4lite/package.py +++ b/var/spack/repos/builtin/packages/sw4lite/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Sw4lite(MakefilePackage): """Sw4lite is a bare bone version of SW4 intended for testing @@ -75,6 +72,5 @@ class Sw4lite(MakefilePackage): def install(self, spec, prefix): mkdir(prefix.bin) - exe_name = glob.glob('*/sw4lite')[0] - install(exe_name, prefix.bin) + install('*/sw4lite', prefix.bin) install_tree('tests', prefix.tests) diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py index aaa18dab71..a5503fe1ec 100644 --- a/var/spack/repos/builtin/packages/texlive/package.py +++ b/var/spack/repos/builtin/packages/texlive/package.py @@ -3,10 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * import os import platform -import glob class Texlive(AutotoolsPackage): @@ -152,8 +150,7 @@ class Texlive(AutotoolsPackage): def setup_texlive(self): if not self.spec.satisfies('@live'): mkdirp(self.prefix.tlpkg.TeXLive) - for files in glob.glob('texk/tests/TeXLive/*'): - install(files, self.prefix.tlpkg.TeXLive) + install('texk/tests/TeXLive/*', self.prefix.tlpkg.TeXLive) with working_dir('spack-build'): make('texlinks') diff --git a/var/spack/repos/builtin/packages/vardictjava/package.py b/var/spack/repos/builtin/packages/vardictjava/package.py index 7f7fdcf67b..fa07b90db1 100644 --- a/var/spack/repos/builtin/packages/vardictjava/package.py +++ b/var/spack/repos/builtin/packages/vardictjava/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Vardictjava(Package): """VarDictJava is a variant discovery program written in Java. @@ -23,6 +20,4 @@ class Vardictjava(Package): install('bin/VarDict', prefix.bin) mkdirp(prefix.lib) - files = [x for x in glob.glob("lib/*jar")] - for f in files: - install(f, prefix.lib) + install('lib/*.jar', prefix.lib) diff --git a/var/spack/repos/builtin/packages/wireshark/package.py b/var/spack/repos/builtin/packages/wireshark/package.py index 8939a2adc9..e6a98b43d0 100644 --- a/var/spack/repos/builtin/packages/wireshark/package.py +++ b/var/spack/repos/builtin/packages/wireshark/package.py @@ -3,9 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * -import glob - class Wireshark(CMakePackage): """Graphical network analyzer and capture tool""" @@ -99,6 +96,5 @@ class Wireshark(CMakePackage): folders = ['.', 'epan/crypt', 'epan/dfilter', 'epan/dissectors', 'epan/ftypes', 'epan/wmem', 'wiretap', 'wsutil'] for folder in folders: - headers = glob.glob(join_path(folder, '*.h')) - for h in headers: - install(h, join_path(prefix.include, 'wireshark', folder)) + install(join_path(folder, '*.h'), + join_path(prefix.include.wireshark, folder)) -- cgit v1.2.3-60-g2f50