diff options
author | George Hartzell <hartzell@alerce.com> | 2017-05-30 04:59:37 -0700 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2017-05-30 06:59:37 -0500 |
commit | 8297244446e5505c888cf462442af3b9d5de0932 (patch) | |
tree | af2881d5321873dcf9d1953f8f00264a54a95a6a | |
parent | 115fec334663682cf67b7469a73943c07dff6c47 (diff) | |
download | spack-8297244446e5505c888cf462442af3b9d5de0932.tar.gz spack-8297244446e5505c888cf462442af3b9d5de0932.tar.bz2 spack-8297244446e5505c888cf462442af3b9d5de0932.tar.xz spack-8297244446e5505c888cf462442af3b9d5de0932.zip |
Add package for vcftools@0.1.14 (#4389)
* Add package for vcftools@0.1.14
The package munges the various perl scripts so that their sbang lines
point to the depended upon perl (perhaps with Spack sbanger in the
dance) instead of relying on `/usr/bin/env perl`.
As it stands it installs its Perl libraries into `prefix/lib` and then
depends on `setup_environment` to prepend that dir onto PERL5LIB.
See my [vcftools issue
80](https://github.com/vcftools/vcftools/issues/80) for a discussion
about fixing its non-functional attempt at isolating itself from
PERL5LIB shenanigans.
* perl dependency should be build/run
-rw-r--r-- | var/spack/repos/builtin/packages/vcftools/package.py | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/vcftools/package.py b/var/spack/repos/builtin/packages/vcftools/package.py new file mode 100644 index 0000000000..3f2f01dbff --- /dev/null +++ b/var/spack/repos/builtin/packages/vcftools/package.py @@ -0,0 +1,75 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class Vcftools(AutotoolsPackage): + """VCFtools is a program package designed for working with VCF files, + such as those generated by the 1000 Genomes Project. The aim of + VCFtools is to provide easily accessible methods for working + with complex genetic variation data in the form of VCF files. + """ + + homepage = "https://vcftools.github.io/" + url = "https://github.com/vcftools/vcftools/releases/download/v0.1.14/vcftools-0.1.14.tar.gz" + + # this is "a pre-release" + # version('0.1.15', '61045197848dea20a0158d2faf02e5be') + version('0.1.14', 'a110662535651caa6cc8c876216a9f77') + + depends_on('perl', type=('build', 'run')) + depends_on('zlib') + + # this needs to be in sync with what setup_environment adds to + # PERL5LIB below + def configure_args(self): + return ['--with-pmdir=lib'] + + @run_before('install') + def filter_sbang(self): + """Run before install so that the standard Spack sbang install hook + can fix up the path to the perl binary. + """ + + with working_dir('src/perl'): + match = '^#!/usr/bin/env perl' + perl = join_path(self.spec['perl'].prefix.bin, 'perl') + substitute = "#!{perl}".format(perl=perl) + # tab-to-vcf added in 0.1.15 + files = ['fill-aa', 'fill-an-ac', 'fill-fs', + 'fill-ref-md5', 'tab-to-vcf', 'vcf-annotate', + 'vcf-compare', 'vcf-concat', 'vcf-consensus', + 'vcf-contrast', 'vcf-convert', + 'vcf-fix-newlines', 'vcf-fix-ploidy', + 'vcf-indel-stats', 'vcf-isec', 'vcf-merge', + 'vcf-phased-join', 'vcf-query', + 'vcf-shuffle-cols', 'vcf-sort', 'vcf-stats', + 'vcf-subset', 'vcf-to-tab', 'vcf-tstv', + 'vcf-validator', ] + kwargs = {'ignore_absent': True, 'backup': False, 'string': False} + filter_file(match, substitute, *files, **kwargs) + + def setup_environment(self, spack_env, run_env): + run_env.prepend_path('PERL5LIB', join_path(self.prefix, 'lib')) |