diff options
42 files changed, 997 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/maker/MpiChunk.patch b/var/spack/repos/builtin/packages/maker/MpiChunk.patch new file mode 100644 index 0000000000..cbb447741f --- /dev/null +++ b/var/spack/repos/builtin/packages/maker/MpiChunk.patch @@ -0,0 +1,20 @@ +--- a/lib/Process/MpiChunk.pm 2014-12-01 16:40:29.000000000 -0600 ++++ b/lib/Process/MpiChunk.pm 2019-09-23 13:23:19.779213006 -0500 +@@ -744,7 +744,7 @@ + my $safe_seq_id = $VARS->{safe_seq_id}; + my $q_seq_length = $VARS->{q_seq_length}; + +- my $TMP = GI::get_global_temp; ++ my $TMP = GI::get_global_temp::; + if($CTL_OPT{go_gffdb} && GI::is_NFS_mount($dbfile) && !GI::is_NFS_mount($TMP)){ + $dbfile = GI::localize_file($dbfile); + } +@@ -3167,7 +3167,7 @@ + my $LOG = $VARS->{LOG}; + my %CTL_OPT = %{$VARS->{CTL_OPT}}; + +- my $TMP = GI::get_global_temp; ++ my $TMP = GI::get_global_temp::; + if($CTL_OPT{go_gffdb} && GI::is_NFS_mount($dbfile) && !GI::is_NFS_mount($TMP)){ + $dbfile = GI::localize_file($dbfile); + } diff --git a/var/spack/repos/builtin/packages/maker/install.patch b/var/spack/repos/builtin/packages/maker/install.patch new file mode 100644 index 0000000000..30d8ad3640 --- /dev/null +++ b/var/spack/repos/builtin/packages/maker/install.patch @@ -0,0 +1,10 @@ +--- a/src/Build.PL 2019-09-18 21:00:16.900047731 -0500 ++++ b/src/Build.PL 2019-09-18 21:10:41.058957500 -0500 +@@ -91,7 +91,6 @@ + 'Carp' => '1.24', + #'Other::Module' => '>= 1.2, != 1.5, < 2.0', + }, +- install_base => "$FindBin::RealBin/../", + install_base_relpaths => { + arch => [qw(perl/lib)], + lib => [qw(perl/lib)], diff --git a/var/spack/repos/builtin/packages/maker/mpi.patch b/var/spack/repos/builtin/packages/maker/mpi.patch new file mode 100644 index 0000000000..92cbebf87d --- /dev/null +++ b/var/spack/repos/builtin/packages/maker/mpi.patch @@ -0,0 +1,38 @@ +diff -ruN a/src/Build.PL b/src/Build.PL +--- a/src/Build.PL 2014-12-01 16:37:10.000000000 -0600 ++++ b/src/Build.PL 2019-09-15 18:30:56.940787669 -0500 +@@ -129,9 +129,10 @@ + } + + #ask for MPI +-my $go = $build->y_n("\nMAKER supports distributed parallelization via MPI.\n". +- "Would you like to configure MAKER for MPI (This\n". +- "requires that you have an MPI client installed)?", 'N'); ++#my $go = $build->y_n("\nMAKER supports distributed parallelization via MPI.\n". ++# "Would you like to configure MAKER for MPI (This\n". ++# "requires that you have an MPI client installed)?", 'N'); ++my $go = 0; + $build->feature(mpi_support => $go); + $build->config_mpi() if($go); + +diff -ruN a/src/inc/lib/MAKER/Build.pm b/src/inc/lib/MAKER/Build.pm +--- a/src/inc/lib/MAKER/Build.pm 2014-12-01 16:37:10.000000000 -0600 ++++ b/src/inc/lib/MAKER/Build.pm 2019-09-15 18:30:25.439863837 -0500 +@@ -108,7 +108,7 @@ + $mpicc = $self->config('cc') if(! $mpicc && $self->config('cc') =~ /(^|[\/])mpicc$/); + ($mpicc) = File::Which::where('mpicc') if(!$mpicc || ! -f $mpicc); + +- $mpicc = $self->prompt("\nPlease specify the path to 'mpicc' on your system:", $mpicc); ++ #$mpicc = $self->prompt("\nPlease specify the path to 'mpicc' on your system:", $mpicc); + + while(!$mpicc || $mpicc !~ /(^|[\/])mpicc$/ || ! -f $mpicc){ + $mpicc = $self->prompt("\nCannot find 'mpicc'.\n". +@@ -139,7 +139,7 @@ + + my ($MPIDIR) = grep {-f "$_/mpi.h"} @includes; + +- $MPIDIR = $self->prompt("\nPlease specify the path to the directory containing 'mpi.h':", $MPIDIR); ++ #$MPIDIR = $self->prompt("\nPlease specify the path to the directory containing 'mpi.h':", $MPIDIR); + + while(!$MPIDIR || ! -f "$MPIDIR/mpi.h"){ + $MPIDIR = $self->prompt("\nCannot find 'mpi.h'\n.". diff --git a/var/spack/repos/builtin/packages/maker/package.py b/var/spack/repos/builtin/packages/maker/package.py new file mode 100644 index 0000000000..41363ec0a1 --- /dev/null +++ b/var/spack/repos/builtin/packages/maker/package.py @@ -0,0 +1,91 @@ +# Copyright 2013-2019 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 * +import os + + +class Maker(Package): + """MAKER is a portable and easily configurable genome annotation pipeline. + It's purpose is to allow smaller eukaryotic and prokaryotic genomeprojects + to independently annotate their genomes and to create genome databases. + MAKER identifies repeats, aligns ESTs and proteins to a genome, produces + ab-initio gene predictions and automatically synthesizes these data into + gene annotations having evidence-based quality values. MAKER is also easily + trainable: outputs of preliminary runs can be used to automatically retrain + its gene prediction algorithm, producing higher quality gene-models on + subsequent runs. MAKER's inputs are minimal and its ouputs can be directly + loaded into a GMOD database. They can also be viewed in the Apollo genome + browser; this feature of MAKER provides an easy means to annotate, view and + edit individual contigs and BACs without the overhead of a database. MAKER + should prove especially useful for emerging model organism projects with + minimal bioinformatics expertise and computer resources. + + Note: MAKER requires registration. Fill out the form at + http://yandell.topaz.genetics.utah.edu/cgi-bin/maker_license.cgi to get a + download link. Spack will search your current directory for the download + file. Alternatively, add this file to a mirror so that Spack can find it. + For instructions on how to set up a mirror, see + http://spack.readthedocs.io/en/latest/mirrors.html""" + + homepage = "http://www.yandell-lab.org/software/maker.html" + + version('2.31.10', sha256='d3979af9710d61754a3b53f6682d0e2052c6c3f36be6f2df2286d2587406f07d') + + def url_for_version(self, version): + return "file://{0}/maker-{1}.tgz".format(os.getcwd(), version) + + variant('mpi', default=True, description='Build with MPI support') + + patch('install.patch') + patch('mpi.patch') + patch('MpiChunk.patch') + + depends_on('perl', type=('build', 'run')) + depends_on('perl-module-build', type='build') + depends_on('perl-dbi', type=('build', 'run')) + depends_on('perl-dbd-pg', type=('build', 'run')) + depends_on('perl-dbd-sqlite', type=('build', 'run')) + depends_on('perl-forks', type=('build', 'run')) + depends_on('perl-file-which', type=('build', 'run')) + depends_on('perl-perl-unsafe-signals', type=('build', 'run')) + depends_on('perl-bit-vector', type=('build', 'run')) + depends_on('perl-inline-c', type=('build', 'run')) + depends_on('perl-io-all', type=('build', 'run')) + depends_on('perl-io-prompt', type=('build', 'run')) + depends_on('perl-bio-perl', type=('build', 'run')) + depends_on('blast-plus') + depends_on('snap-korf') + depends_on('repeatmasker') + depends_on('exonerate') + depends_on('augustus') + depends_on('interproscan@:4.8') + depends_on('mpi', when='+mpi') + + def install(self, spec, prefix): + if '+mpi' in spec: + with working_dir('src'): + pattern = r'my \$go = 0;' + repl = 'my $go = 1;' + filter_file(pattern, repl, 'Build.PL', backup=False) + + perl = which('perl') + rm = which('rm') + with working_dir('src'): + perl('Build.PL', '--install_base', prefix) + perl('Build', 'install') + + install_tree('lib', join_path(prefix, 'perl', 'lib')) + + # Remove scripts that do not work. The 'mpi_evaluator' and + # 'mpi_iprscan' scripts depend on a custom perl module that is not + # shipped with maker. The 'maker2chado' script depends on setting up a + # CHADO database which is out of scope here. + for package in ('maker2chado', 'maker2jbrowse', 'maker2wap', + 'mpi_evaluator', 'mpi_iprscan'): + rm('-f', join_path(prefix.bin, package)) + + # Remove old IO::Prompt perl module + rm('-r', '-f', join_path(prefix, 'perl', 'lib', 'IO')) diff --git a/var/spack/repos/builtin/packages/perl-acme-damn/package.py b/var/spack/repos/builtin/packages/perl-acme-damn/package.py new file mode 100644 index 0000000000..62fbd15301 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-acme-damn/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2019 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 PerlAcmeDamn(PerlPackage): + """Acme::Damn provides a single routine, damn(), which takes a blessed + reference (a Perl object), and unblesses it, to return the original + reference.""" + + homepage = "https://metacpan.org/pod/Acme::Damn" + url = "https://cpan.metacpan.org/authors/id/I/IB/IBB/Acme-Damn-0.08.tar.gz" + + version('0.08', sha256='310d2d03ff912dcd42e4d946174099f41fe3a2dd57a497d6bd65baf1759b7e0e') diff --git a/var/spack/repos/builtin/packages/perl-alien-build/package.py b/var/spack/repos/builtin/packages/perl-alien-build/package.py new file mode 100644 index 0000000000..db96518659 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-alien-build/package.py @@ -0,0 +1,23 @@ +# Copyright 2013-2019 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 PerlAlienBuild(PerlPackage): + """This module provides tools for building external (non-CPAN) dependencies + for CPAN. It is mainly designed to be used at install time of a CPAN + client, and work closely with Alien::Base which is used at runtime.""" + + homepage = "https://metacpan.org/pod/Alien::Build" + url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Build-1.86.tar.gz" + + version('1.86', sha256='f856a46aea72fe77daea5b1788b4ea0dc215f5704f5a35fa063171be8523e4e9') + + depends_on('perl-capture-tiny', type=('build', 'run')) + depends_on('perl-ffi-checklib', type=('build', 'run')) + depends_on('perl-file-which', type=('build', 'run')) + depends_on('perl-file-chdir', type=('build', 'run')) + depends_on('perl-path-tiny', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-alien-libxml2/package.py b/var/spack/repos/builtin/packages/perl-alien-libxml2/package.py new file mode 100644 index 0000000000..98c0a488d9 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-alien-libxml2/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2019 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 PerlAlienLibxml2(PerlPackage): + """This module provides libxml2 for other modules to use.""" + + homepage = "https://metacpan.org/pod/Alien::Libxml2" + url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.09.tar.gz" + + version('0.10_01', sha256='2f45b308b33503292f48bf46a75fe1e653d6b209ba5caf0628d8cc103f8d61ac') + + depends_on('libxml2') + depends_on('perl-alien-build', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-bio-perl/package.py b/var/spack/repos/builtin/packages/perl-bio-perl/package.py index 92d0e29222..0529402901 100644 --- a/var/spack/repos/builtin/packages/perl-bio-perl/package.py +++ b/var/spack/repos/builtin/packages/perl-bio-perl/package.py @@ -8,19 +8,65 @@ import inspect class PerlBioPerl(PerlPackage): - """Functional access to BioPerl for people who don't know objects""" + """BioPerl is the product of a community effort to produce Perl code which + is useful in biology. Examples include Sequence objects, Alignment objects + and database searching objects. These objects not only do what they are + advertised to do in the documentation, but they also interact - Alignment + objects are made from the Sequence objects, Sequence objects have access to + Annotation and SeqFeature objects and databases, Blast objects can be + converted to Alignment objects, and so on. This means that the objects + provide a coordinated and extensible framework to do computational biology. - homepage = "http://search.cpan.org/~cjfields/BioPerl-1.007002/Bio/Perl.pm" - url = "http://search.cpan.org/CPAN/authors/id/C/CJ/CJFIELDS/BioPerl-1.007002.tar.gz" + BioPerl development focuses on Perl classes, or code that is used to create + objects representing biological entities. There are scripts provided in the + scripts/ and examples/ directories but scripts are not the main focus of + the BioPerl developers. Of course, as the objects do most of the hard work + for you, all you have to do is combine a number of objects together + sensibly to make useful scripts. - version('1.007002', 'a912c92b56d009198f1786b4cf560d5c') + The intent of the BioPerl development effort is to make reusable tools that + aid people in creating their own sites or job-specific applications. - depends_on('perl-module-build', type='build') - depends_on('perl-uri-escape', type=('build', 'run')) + The BioPerl website at http://bioperl.org also attempts to maintain links + and archives of standalone bio-related Perl tools that are not affiliated + or related to the core BioPerl effort. Check the site for useful code ideas + and contribute your own if possible.""" + + homepage = "https://metacpan.org/pod/BioPerl" + url = "https://cpan.metacpan.org/authors/id/C/CD/CDRAUG/BioPerl-1.7.6.tar.gz" + + version('1.7.6', sha256='df2a3efc991b9b5d7cc9d038a1452c6dac910c9ad2a0e47e408dd692c111688d') + version('1.7.2', 'a912c92b56d009198f1786b4cf560d5c', + url="http://search.cpan.org/CPAN/authors/id/C/CJ/CJFIELDS/BioPerl-1.007002.tar.gz") + + # According to cpandeps.grinnz.com Module-Build is both a build and run + # time dependency for BioPerl + depends_on('perl-module-build', type=('build', 'run')) + depends_on('perl-uri', type=('build', 'run')) depends_on('perl-io-string', type=('build', 'run')) depends_on('perl-data-stag', type=('build', 'run')) depends_on('perl-test-most', type=('build', 'run')) + depends_on('perl-error', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-graph', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-http-message', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-io-stringy', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-ipc-run', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-list-moreutils', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-set-scalar', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-test-requiresinternet', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-dom', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-dom-xpath', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-libxml', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-sax', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-sax-base', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-sax-writer', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-twig', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-xml-writer', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-yaml', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-libwww-perl', when='@1.7.6:', type=('build', 'run')) + depends_on('perl-libxml-perl', when='@1.7.6:', type=('build', 'run')) + @when('@1.7.2') def configure(self, spec, prefix): # Overriding default configure method in order to cater to interactive # Build.pl @@ -50,3 +96,15 @@ class PerlBioPerl(PerlPackage): with open(config_answers_filename, 'r') as f: inspect.getmodule(self).perl('Build.PL', '--install_base=%s' % self.prefix, input=f) + + # Need to also override the build and install methods to make sure that the + # Build script is run through perl and not use the shebang, as it might be + # too long. This is needed because this does not pick up the + # `@run_after(configure)` step defined in `PerlPackage`. + @when('@1.7.2') + def build(self, spec, prefix): + inspect.getmodule(self).perl('Build') + + @when('@1.7.2') + def install(self, spec, prefix): + inspect.getmodule(self).perl('Build', 'install') diff --git a/var/spack/repos/builtin/packages/perl-dbd-pg/package.py b/var/spack/repos/builtin/packages/perl-dbd-pg/package.py new file mode 100644 index 0000000000..b54b7864b0 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-dbd-pg/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2019 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 PerlDbdPg(PerlPackage): + """DBD::Pg is a Perl module that works with the DBI module to provide + access to PostgreSQL databases.""" + + homepage = "https://metacpan.org/pod/DBD::Pg" + url = "https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-3.10.0.tar.gz" + + version('3.10.0', sha256='e103268a63e2828e3d43659bdba5f743446cbbe047a766f843112eedae105f80') + + depends_on('postgresql') + depends_on('perl-dbi', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-devel-symdump/package.py b/var/spack/repos/builtin/packages/perl-devel-symdump/package.py new file mode 100644 index 0000000000..9dfdc5ae98 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-devel-symdump/package.py @@ -0,0 +1,15 @@ +# Copyright 2013-2019 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 PerlDevelSymdump(PerlPackage): + """Devel::Symdump - dump symbol names or the symbol table""" + + homepage = "https://metacpan.org/pod/Devel::Symdump" + url = "https://cpan.metacpan.org/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz" + + version('2.0604', sha256='1f9eaa557733f775ccaa852e846566274c017e6fee380aeb8d08e425cfa86d3e') diff --git a/var/spack/repos/builtin/packages/perl-error/package.py b/var/spack/repos/builtin/packages/perl-error/package.py new file mode 100644 index 0000000000..0289506bc7 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-error/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2019 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 PerlError(PerlPackage): + """The Error package provides two interfaces. Firstly Error provides a + procedural interface to exception handling. Secondly Error is a base class + for errors/exceptions that can either be thrown, for subsequent catch, or + can simply be recorded.""" + + homepage = "https://metacpan.org/pod/Error" + url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-0.17028.tar.gz" + + version('0.17028', sha256='3ad85c5e58b31c8903006298424a51bba39f1840e324f5ae612eabc8b935e960') + + depends_on('perl-module-build', type='build') diff --git a/var/spack/repos/builtin/packages/perl-ffi-checklib/package.py b/var/spack/repos/builtin/packages/perl-ffi-checklib/package.py new file mode 100644 index 0000000000..461259ead0 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-ffi-checklib/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2019 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 PerlFfiChecklib(PerlPackage): + """This module checks whether a particular dynamic library is available for + FFI to use. It is modeled heavily on Devel::CheckLib, but will find dynamic + libraries even when development packages are not installed. It also + provides a find_lib function that will return the full path to the found + dynamic library, which can be feed directly into FFI::Platypus or another + FFI system.""" + + homepage = "https://metacpan.org/pod/FFI::CheckLib" + url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.25.tar.gz" + + version('0.25', sha256='eb36b9a7cff1764a65b1b77e01e92c26207c558a3f986d0d17d2b110fa366ba4') diff --git a/var/spack/repos/builtin/packages/perl-file-chdir/package.py b/var/spack/repos/builtin/packages/perl-file-chdir/package.py new file mode 100644 index 0000000000..b628ca12e5 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-file-chdir/package.py @@ -0,0 +1,23 @@ +# Copyright 2013-2019 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 PerlFileChdir(PerlPackage): + """Perl's chdir() has the unfortunate problem of being very, very, very + global. If any part of your program calls chdir() or if any library you use + calls chdir(), it changes the current working directory for the *whole* + program. + + This sucks. + + File::chdir gives you an alternative, $CWD and @CWD. These two variables + combine all the power of chdir(), File::Spec and Cwd.""" + + homepage = "https://metacpan.org/pod/File::chdir" + url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/File-chdir-0.1010.tar.gz" + + version('0.1011', sha256='31ebf912df48d5d681def74b9880d78b1f3aca4351a0ed1fe3570b8e03af6c79') diff --git a/var/spack/repos/builtin/packages/perl-forks/package.py b/var/spack/repos/builtin/packages/perl-forks/package.py new file mode 100644 index 0000000000..51fe7762db --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-forks/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2019 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 PerlForks(PerlPackage): + """The "forks" pragma allows a developer to use threads without having to + have a threaded perl, or to even run 5.8.0 or higher.""" + + homepage = "https://metacpan.org/pod/forks" + url = "https://cpan.metacpan.org/authors/id/R/RY/RYBSKEJ/forks-0.36.tar.gz" + + version('0.36', sha256='61be24e44f4c6fea230e8354678beb5b7adcfefd909a47db8f0a251b0ab65993') + + depends_on('perl-acme-damn', type=('build', 'run')) + depends_on('perl-devel-symdump', type=('build', 'run')) + depends_on('perl-list-moreutils', type=('build', 'run')) + depends_on('perl-sys-sigaction', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-io-all/package.py b/var/spack/repos/builtin/packages/perl-io-all/package.py new file mode 100644 index 0000000000..6d45ed5b8a --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-io-all/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2019 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 PerlIoAll(PerlPackage): + """IO::All combines all of the best Perl IO modules into a single nifty + object oriented interface to greatly simplify your everyday Perl IO idioms. + It exports a single function called io, which returns a new IO::All object. + And that object can do it all! + + The IO::All object is a proxy for IO::File, IO::Dir, IO::Socket, Tie::File, + File::Spec, File::Path, File::MimeInfo and File::ReadBackwards; as well as + all the DBM and MLDBM modules. You can use most of the methods found in + these classes and in IO::Handle (which they inherit from). IO::All adds + dozens of other helpful idiomatic methods including file stat and + manipulation functions. + + IO::All is pluggable, and modules like IO::All::LWP and IO::All::Mailto add + even more functionality. Optionally, every IO::All object can be tied to + itself. This means that you can use most perl IO builtins on it: readline, + <>, getc, print, printf, syswrite, sysread, close.""" + + homepage = "https://metacpan.org/pod/distribution/IO-All/lib/IO/All.pod" + url = "https://cpan.metacpan.org/authors/id/F/FR/FREW/IO-All-0.87.tar.gz" + + version('0.87', sha256='54e21d250c0229127e30b77a3461e10077854ec244f26fb670f1b445ed4c4d5b') diff --git a/var/spack/repos/builtin/packages/perl-io-prompt/package.py b/var/spack/repos/builtin/packages/perl-io-prompt/package.py new file mode 100644 index 0000000000..2bf4144990 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-io-prompt/package.py @@ -0,0 +1,35 @@ +# Copyright 2013-2019 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 PerlIoPrompt(PerlPackage): + """By default, this module exports a single function prompt. It prompts the + user to enter some input, and returns an object that represents the user + input. + + You may specify various flags to the function to affect its behaviour; most + notably, it defaults to automatically chomp the input, unless the -line + flag is specified. + + Two other functions are exported at request: hand_print, which simulates + hand-typing to the console; and get_input, which is the lower-level + function that actually prompts the user for a suitable input. + + Note that this is an interim re-release. A full release with better + documentation will follow in the near future. Meanwhile, please consult the + examples directory from this module's CPAN distribution to better + understand how to make use of this module.""" + + homepage = "https://metacpan.org/pod/IO::Prompt" + url = "https://cpan.metacpan.org/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz" + + version('0.997004', sha256='f17bb305ee6ac8b5b203e6d826eb940c4f3f6d6f4bfe719c3b3a225f46f58615') + + depends_on('perl-module-build', type='build') + + depends_on('perl-term-readkey', type=('build', 'run')) + depends_on('perl-want', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-io-stringy/package.py b/var/spack/repos/builtin/packages/perl-io-stringy/package.py new file mode 100644 index 0000000000..826414418b --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-io-stringy/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2019 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 PerlIoStringy(PerlPackage): + """This toolkit primarily provides modules for performing both traditional + and object-oriented i/o) on things other than normal filehandles; in + particular, IO::Scalar, IO::ScalarArray, and IO::Lines. + + In the more-traditional IO::Handle front, we have IO::AtomicFile which may + be used to painlessly create files which are updated atomically. + + And in the "this-may-prove-useful" corner, we have IO::Wrap, whose exported + wraphandle() function will clothe anything that's not a blessed object in + an IO::Handle-like wrapper... so you can just use OO syntax and stop + worrying about whether your function's caller handed you a string, a + globref, or a FileHandle.""" + + homepage = "https://metacpan.org/pod/IO::Stringy" + url = "https://cpan.metacpan.org/authors/id/D/DS/DSKOLL/IO-stringy-2.111.tar.gz" + + version('2.111', sha256='8c67fd6608c3c4e74f7324f1404a856c331dbf48d9deda6aaa8296ea41bf199d') diff --git a/var/spack/repos/builtin/packages/perl-io-tty/package.py b/var/spack/repos/builtin/packages/perl-io-tty/package.py new file mode 100644 index 0000000000..217b4fb71b --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-io-tty/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2019 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 PerlIoTty(PerlPackage): + """IO::Tty is used internally by IO::Pty to create a pseudo-tty. You + wouldn't want to use it directly except to import constants, use IO::Pty. + For a list of importable constants, see IO::Tty::Constant.""" + + homepage = "https://metacpan.org/pod/IO::Tty" + url = "https://cpan.metacpan.org/authors/id/T/TO/TODDR/IO-Tty-1.12.tar.gz" + + version('1.13_01', sha256='89798eba7c31d9c169ef2f38ff49490aa769b1d9a68033de365595cfaf9cc258') diff --git a/var/spack/repos/builtin/packages/perl-ipc-run/package.py b/var/spack/repos/builtin/packages/perl-ipc-run/package.py new file mode 100644 index 0000000000..228d76877f --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-ipc-run/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2019 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 PerlIpcRun(PerlPackage): + """IPC::Run allows you to run and interact with child processes using + files, pipes, and pseudo-ttys. Both system()-style and scripted usages are + supported and may be mixed. Likewise, functional and OO API styles are both + supported and may be mixed.""" + + homepage = "https://metacpan.org/pod/IPC::Run" + url = "https://cpan.metacpan.org/authors/id/T/TO/TODDR/IPC-Run-20180523.0.tar.gz" + + version('20180523.0', sha256='3850d7edf8a4671391c6e99bb770698e1c45da55b323b31c76310913349b6c2f') + + depends_on('perl-io-tty', type=('build', 'run')) + depends_on('perl-readonly', type='build') diff --git a/var/spack/repos/builtin/packages/perl-libxml-perl/package.py b/var/spack/repos/builtin/packages/perl-libxml-perl/package.py new file mode 100644 index 0000000000..70fbfda3ab --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-libxml-perl/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2019 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 PerlLibxmlPerl(PerlPackage): + """libxml-perl is a collection of smaller Perl modules, scripts, and + documents for working with XML in Perl. libxml-perl software works in + combination with XML::Parser, PerlSAX, XML::DOM, XML::Grove and others.""" + + homepage = "https://metacpan.org/release/libxml-perl" + url = "https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz" + + version('0.08', sha256='4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb') diff --git a/var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py b/var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py new file mode 100644 index 0000000000..0020e88313 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2019 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 PerlListMoreutilsXs(PerlPackage): + """List::MoreUtils::XS is a backend for List::MoreUtils. Even if it's + possible (because of user wishes) to have it practically independent from + List::MoreUtils, it technically depend on List::MoreUtils. Since it's only + a backend, the API is not public and can change without any warning.""" + + homepage = "https://metacpan.org/pod/List::MoreUtils::XS" + url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.428.tar.gz" + + version('0.428', sha256='9d9fe621429dfe7cf2eb1299c192699ddebf060953e5ebdc1b4e293c6d6dd62d') diff --git a/var/spack/repos/builtin/packages/perl-mailtools/package.py b/var/spack/repos/builtin/packages/perl-mailtools/package.py new file mode 100644 index 0000000000..9c4237c2e6 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-mailtools/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2019 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 PerlMailtools(PerlPackage): + """Perl module for handling mail""" + + homepage = "https://metacpan.org/release/MailTools" + url = "https://cpan.metacpan.org/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz" + + version('2.21', sha256='4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb') + + depends_on('perl-timedate', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-path-tiny/package.py b/var/spack/repos/builtin/packages/perl-path-tiny/package.py new file mode 100644 index 0000000000..e721884387 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-path-tiny/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2019 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 PerlPathTiny(PerlPackage): + """This module provides a small, fast utility for working with file paths. + It is friendlier to use than File::Spec and provides easy access to + functions from several other core file handling modules. It aims to be + smaller and faster than many alternatives on CPAN, while helping people do + many common things in consistent and less error-prone ways.""" + + homepage = "https://metacpan.org/pod/Path::Tiny" + url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.108.tar.gz" + + version('0.108', sha256='3c49482be2b3eb7ddd7e73a5b90cff648393f5d5de334ff126ce7a3632723ff5') diff --git a/var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py b/var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py new file mode 100644 index 0000000000..4efa679d62 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py @@ -0,0 +1,35 @@ +# Copyright 2013-2019 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 PerlPerlUnsafeSignals(PerlPackage): + """Quoting perl581delta: + + In Perl 5.8.0 the so-called "safe signals" were introduced. This means + that Perl no longer handles signals immediately but instead "between + opcodes", when it is safe to do so. The earlier immediate handling + easily could corrupt the internal state of Perl, resulting in + mysterious crashes. + + It's possible since perl 5.8.1 to globally disable this feature by + using the PERL_SIGNALS environment variables (as specified in + "PERL_SIGNALS" in perlrun); but there's no way to disable it locally, + for a short period of time. That's however something you might want to + do, if, for example, your Perl program calls a C routine that will + potentially run for a long time and for which you want to set a + timeout. + + This module therefore allows you to define UNSAFE_SIGNALS blocks in + which signals will be handled "unsafely". + + Note that, no matter how short you make the unsafe block, it will still + be unsafe. Use with caution.""" + + homepage = "https://metacpan.org/pod/Perl::Unsafe::Signals" + url = "https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/Perl-Unsafe-Signals-0.03.tar.gz" + + version('0.03', sha256='d311ae7d73e8d0c2346dfacb82aa952322e70cd928b09d502d739e60e35f829d') diff --git a/var/spack/repos/builtin/packages/perl-set-scalar/package.py b/var/spack/repos/builtin/packages/perl-set-scalar/package.py new file mode 100644 index 0000000000..9ea860541e --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-set-scalar/package.py @@ -0,0 +1,15 @@ +# Copyright 2013-2019 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 PerlSetScalar(PerlPackage): + """Set::Scalar - basic set operations""" + + homepage = "https://metacpan.org/pod/Set::Scalar" + url = "https://cpan.metacpan.org/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz" + + version('1.29', sha256='a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d') diff --git a/var/spack/repos/builtin/packages/perl-sys-sigaction/package.py b/var/spack/repos/builtin/packages/perl-sys-sigaction/package.py new file mode 100644 index 0000000000..50118db548 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-sys-sigaction/package.py @@ -0,0 +1,28 @@ +# Copyright 2013-2019 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 PerlSysSigaction(PerlPackage): + """Prior to version 5.8.0 perl implemented 'unsafe' signal handling. The + reason it is consider unsafe, is that there is a risk that a signal will + arrive, and be handled while perl is changing internal data structures. + This can result in all kinds of subtle and not so subtle problems. For this + reason it has always been recommended that one do as little as possible in + a signal handler, and only variables that already exist be manipulated. + + Perl 5.8.0 and later versions implements 'safe' signal handling on + platforms which support the POSIX sigaction() function. This is + accomplished by having perl note that a signal has arrived, but deferring + the execution of the signal handler until such time as it is safe to do so. + Unfortunately these changes can break some existing scripts, if they + depended on a system routine being interrupted by the signal's arrival. The + perl 5.8.0 implementation was modified further in version 5.8.2""" + + homepage = "https://metacpan.org/pod/Sys::SigAction" + url = "https://cpan.metacpan.org/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz" + + version('0.23', sha256='c4ef6c9345534031fcbbe2adc347fc7194d47afc945e7a44fac7e9563095d353') diff --git a/var/spack/repos/builtin/packages/perl-term-readkey/package.py b/var/spack/repos/builtin/packages/perl-term-readkey/package.py index d672cf6f5b..93317e3bf7 100644 --- a/var/spack/repos/builtin/packages/perl-term-readkey/package.py +++ b/var/spack/repos/builtin/packages/perl-term-readkey/package.py @@ -18,4 +18,5 @@ class PerlTermReadkey(PerlPackage): homepage = "http://search.cpan.org/perldoc/Term::ReadKey" url = "http://www.cpan.org/authors/id/J/JS/JSTOWE/TermReadKey-2.37.tar.gz" + version('2.38', sha256='5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290') version('2.37', 'e8ea15c16333ac4f8d146d702e83cc0c') diff --git a/var/spack/repos/builtin/packages/perl-timedate/package.py b/var/spack/repos/builtin/packages/perl-timedate/package.py new file mode 100644 index 0000000000..b887ce8513 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-timedate/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2019 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 PerlTimedate(PerlPackage): + """The parser contained here will only parse absolute dates, if you want a + date parser that can parse relative dates then take a look at the Time + modules by David Muir on CPAN.""" + + homepage = "https://metacpan.org/release/TimeDate" + url = "https://cpan.metacpan.org/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz" + + version('2.30', sha256='75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86') diff --git a/var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py b/var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py new file mode 100644 index 0000000000..0227d4e509 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2019 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 PerlXmlDomXpath(PerlPackage): + """XML::DOM::XPath allows you to use XML::XPath methods to query a DOM. + This is often much easier than relying only on getElementsByTagName.""" + + homepage = "https://metacpan.org/pod/XML::DOM::XPath" + url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-DOM-XPath-0.14.tar.gz" + + version('0.14', sha256='0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea') + + depends_on('perl-xml-dom', type=('build', 'run')) + depends_on('perl-xml-xpathengine', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-xml-dom/package.py b/var/spack/repos/builtin/packages/perl-xml-dom/package.py new file mode 100644 index 0000000000..e0c3d97d11 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-dom/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2019 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 PerlXmlDom(PerlPackage): + """This module extends the XML::Parser module by Clark Cooper. The + XML::Parser module is built on top of XML::Parser::Expat, which is a lower + level interface to James Clark's expat library.""" + + homepage = "https://metacpan.org/pod/XML::DOM" + url = "https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz" + + version('1.46', sha256='8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e') + + depends_on('perl-xml-parser', type=('build', 'run')) + depends_on('perl-xml-regexp', type=('build', 'run')) + depends_on('perl-libwww-perl', type=('build', 'run')) + depends_on('perl-libxml-perl', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py b/var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py new file mode 100644 index 0000000000..59950576f0 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2019 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 PerlXmlFilterBuffertext(PerlPackage): + """This is a very simple filter. One common cause of grief (and programmer + error) is that XML parsers aren't required to provide character events in + one chunk. They can, but are not forced to, and most don't. This filter + does the trivial but oft-repeated task of putting all characters into a + single event.""" + + homepage = "https://metacpan.org/pod/XML::Filter::BufferText" + url = "https://cpan.metacpan.org/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz" + + version('1.01', sha256='8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c') diff --git a/var/spack/repos/builtin/packages/perl-xml-libxml/package.py b/var/spack/repos/builtin/packages/perl-xml-libxml/package.py new file mode 100644 index 0000000000..bc6d4f4c05 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-libxml/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2019 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 PerlXmlLibxml(PerlPackage): + """This module is an interface to libxml2, providing XML and HTML parsers + with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 + interface and a XML::XPath-like interface to XPath API of libxml2. The + module is split into several packages which are not described in this + section; unless stated otherwise, you only need to use XML::LibXML; in your + programs.""" + + homepage = "https://metacpan.org/pod/XML::LibXML" + url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0201.tar.gz" + + version('2.0201', sha256='e008700732502b3f1f0890696ec6e2dc70abf526cd710efd9ab7675cae199bc2') + + depends_on('libxml2') + depends_on('perl-xml-namespacesupport', type=('build', 'run')) + depends_on('perl-xml-sax', type=('build', 'run')) + depends_on('perl-xml-sax-base', type=('build', 'run')) + depends_on('perl-alien-libxml2', type='build') diff --git a/var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py b/var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py new file mode 100644 index 0000000000..cb7e58bcd1 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2019 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 PerlXmlNamespacesupport(PerlPackage): + """This module offers a simple to process namespaced XML names (unames) + from within any application that may need them. It also helps maintain a + prefix to namespace URI map, and provides a number of basic checks.""" + + homepage = "https://metacpan.org/pod/XML::NamespaceSupport" + url = "https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz" + + version('1.12_9', sha256='2e84a057f0a8c845a612d212742cb94fca4fc8a433150b5721bd448f77d1e4a9') diff --git a/var/spack/repos/builtin/packages/perl-xml-quote/package.py b/var/spack/repos/builtin/packages/perl-xml-quote/package.py new file mode 100644 index 0000000000..2c6702225e --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-quote/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2019 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 PerlXmlQuote(PerlPackage): + """This module provides functions to quote/dequote strings in "xml"-way. + + All functions are written in XS and are very fast; they correctly process + utf8, tied, overloaded variables and all the rest of perl "magic".""" + + homepage = "https://metacpan.org/pod/XML::Quote" + url = "https://cpan.metacpan.org/authors/id/G/GD/GDSL/XML-Quote-1.02.tar.gz" + + version('1.02', sha256='4705b86a8dcc002bffc6ff154ec5c55f0bfb6e99a3f744d1e77ae6541c6af228') diff --git a/var/spack/repos/builtin/packages/perl-xml-regexp/package.py b/var/spack/repos/builtin/packages/perl-xml-regexp/package.py new file mode 100644 index 0000000000..30ecb45a67 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-regexp/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2019 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 PerlXmlRegexp(PerlPackage): + """This package contains regular expressions for the following XML tokens: + BaseChar, Ideographic, Letter, Digit, Extender, CombiningChar, + NameChar, EntityRef, CharRef, Reference, Name, NmToken, and + AttValue.""" + + homepage = "https://metacpan.org/pod/XML::RegExp" + url = "https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz" + + version('0.04', sha256='df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54') diff --git a/var/spack/repos/builtin/packages/perl-xml-sax-base/package.py b/var/spack/repos/builtin/packages/perl-xml-sax-base/package.py new file mode 100644 index 0000000000..b9943e6d0d --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-sax-base/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2019 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 PerlXmlSaxBase(PerlPackage): + """This module has a very simple task - to be a base class for PerlSAX + drivers and filters. It's default behaviour is to pass the input directly + to the output unchanged. It can be useful to use this module as a base + class so you don't have to, for example, implement the characters() + callback.""" + + homepage = "https://metacpan.org/pod/XML::SAX::Base" + url = "https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz" + + version('1.09', sha256='66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0') diff --git a/var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py b/var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py new file mode 100644 index 0000000000..6de6611f09 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2019 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 PerlXmlSaxWriter(PerlPackage): + """A new XML Writer was needed to match the SAX2 effort because quite + naturally no existing writer understood SAX2. My first intention had been + to start patching XML::Handler::YAWriter as it had previously been my + favourite writer in the SAX1 world.""" + + homepage = "https://metacpan.org/pod/XML::SAX::Writer" + url = "https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz" + + version('0.57', sha256='3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0') + + depends_on('perl-xml-filter-buffertext', type=('build', 'run')) + depends_on('perl-xml-namespacesupport', type=('build', 'run')) + depends_on('perl-xml-sax-base', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-xml-sax/package.py b/var/spack/repos/builtin/packages/perl-xml-sax/package.py new file mode 100644 index 0000000000..78138fca65 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-sax/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2019 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 PerlXmlSax(PerlPackage): + """XML::SAX is a SAX parser access API for Perl. It includes classes and + APIs required for implementing SAX drivers, along with a factory class for + returning any SAX parser installed on the user's system.""" + + homepage = "https://metacpan.org/pod/XML::SAX" + url = "https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz" + + version('1.02', sha256='4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a') + + depends_on('perl-xml-namespacesupport', type=('build', 'run')) + depends_on('perl-xml-sax-base', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/perl-xml-twig/non_interactive.patch b/var/spack/repos/builtin/packages/perl-xml-twig/non_interactive.patch new file mode 100644 index 0000000000..0c246215e7 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-twig/non_interactive.patch @@ -0,0 +1,27 @@ +--- a/Makefile.PL 2016-06-21 05:50:27.000000000 -0500 ++++ b/Makefile.PL 2019-09-16 10:51:28.436352022 -0500 +@@ -15,23 +15,7 @@ + + my $opt= $ARGV[0] ? $ARGV[0] : ''; + +-if( $opt eq "-n") +- { @programs=(); } +-elsif( $opt eq "-y") +- { @programs= map { $_->[0] } @prompts; } +-elsif( $opt eq "-d") +- { @programs= map { $_->[0] if( $_->[1] eq 'y') } @prompts; } +-elsif( $ENV{AUTOMATED_TESTING} || $ENV{NONINTERACTIVE_TESTING}) +- { @programs=(); } +-else +- { print "run 'perl Makefile.PL -y' to install all tools,\n", +- " 'perl Makefile.PL -n' to skip installation\n"; +- foreach my $prompt (@prompts) +- { my ($program, $default, $description) = @$prompt; +- if( prompt("Do you want to install '$program' ($description)?", $default) =~ /^y/i) +- { push(@programs, $program); } +- } +- } ++@programs= map { $_->[0] } @prompts; + + MyWriteMakefile( + META_MERGE => { diff --git a/var/spack/repos/builtin/packages/perl-xml-twig/package.py b/var/spack/repos/builtin/packages/perl-xml-twig/package.py new file mode 100644 index 0000000000..e2c81fef04 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-twig/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2019 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 PerlXmlTwig(PerlPackage): + """This module provides a way to process XML documents. It is build on top + of XML::Parser. + + The module offers a tree interface to the document, while allowing you to + output the parts of it that have been completely processed. + + It allows minimal resource (CPU and memory) usage by building the tree only + for the parts of the documents that need actual processing, through the use + of the twig_roots and twig_print_outside_roots options. The finish and + finish_print methods also help to increase performances. + + XML::Twig tries to make simple things easy so it tries its best to takes + care of a lot of the (usually) annoying (but sometimes necessary) features + that come with XML and XML::Parser.""" + + homepage = "https://metacpan.org/pod/XML::Twig" + url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz" + + version('3.52', sha256='fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad') + + depends_on('perl-xml-parser', type=('build', 'run')) + + patch('non_interactive.patch') diff --git a/var/spack/repos/builtin/packages/perl-xml-writer/package.py b/var/spack/repos/builtin/packages/perl-xml-writer/package.py new file mode 100644 index 0000000000..29c39ca8f2 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-writer/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2019 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 PerlXmlWriter(PerlPackage): + """XML::Writer is a helper module for Perl programs that write an XML + document. The module handles all escaping for attribute values and + character data and constructs different types of markup, such as tags, + comments, and processing instructions. + + By default, the module performs several well-formedness checks to catch + errors during output. This behaviour can be extremely useful during + development and debugging, but it can be turned off for production-grade + code. + + The module can operate either in regular mode in or Namespace processing + mode. In Namespace mode, the module will generate Namespace Declarations + itself, and will perform additional checks on the output.""" + + homepage = "https://metacpan.org/pod/XML::Writer" + url = "https://cpan.metacpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-0.625.tar.gz" + + version('0.625', sha256='e080522c6ce050397af482665f3965a93c5d16f5e81d93f6e2fe98084ed15fbe') diff --git a/var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py b/var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py new file mode 100644 index 0000000000..241d806d6c --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py @@ -0,0 +1,16 @@ +# Copyright 2013-2019 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 PerlXmlXpathengine(PerlPackage): + """This module provides an XPath engine, that can be re-used by other + module/classes that implement trees.""" + + homepage = "https://metacpan.org/pod/XML::XPathEngine" + url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz" + + version('0.14', sha256='d2fe7bcbbd0beba1444f4a733401e7b8aa5282fad4266d42735dd74582b2e264') |