summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hartzell <hartzell@alerce.com>2017-05-30 04:59:37 -0700
committerAdam J. Stewart <ajstewart426@gmail.com>2017-05-30 06:59:37 -0500
commit8297244446e5505c888cf462442af3b9d5de0932 (patch)
treeaf2881d5321873dcf9d1953f8f00264a54a95a6a
parent115fec334663682cf67b7469a73943c07dff6c47 (diff)
downloadspack-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.py75
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'))