diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/bcftools/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/bcftools/package.py | 143 |
1 files changed, 73 insertions, 70 deletions
diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py index 9a48ac1da5..f9796b7903 100644 --- a/var/spack/repos/builtin/packages/bcftools/package.py +++ b/var/spack/repos/builtin/packages/bcftools/package.py @@ -9,104 +9,107 @@ from spack.package import * class Bcftools(AutotoolsPackage): """BCFtools is a set of utilities that manipulate variant calls in the - Variant Call Format (VCF) and its binary counterpart BCF. All - commands work transparently with both VCFs and BCFs, both - uncompressed and BGZF-compressed.""" + Variant Call Format (VCF) and its binary counterpart BCF. All + commands work transparently with both VCFs and BCFs, both + uncompressed and BGZF-compressed.""" homepage = "https://samtools.github.io/bcftools/" - url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2" - - version('1.14', sha256='b7ef88ae89fcb55658c5bea2e8cb8e756b055e13860036d6be13756782aa19cb') - version('1.13', sha256='13bfa1da2a5edda8fa51196a47a0b4afb3fef17516451e4f0e78477f3dd30b90') - version('1.12', sha256='7a0e6532b1495b9254e38c6698d955e5176c1ee08b760dfea2235ee161a024f5') - version('1.10.2', sha256='f57301869d0055ce3b8e26d8ad880c0c1989bf25eaec8ea5db99b60e31354e2c') - version('1.9', sha256='6f36d0e6f16ec4acf88649fb1565d443acf0ba40f25a9afd87f14d14d13070c8') - version('1.8', sha256='4acbfd691f137742e0be63d09f516434f0faf617a5c60f466140e0677915fced') - version('1.7', sha256='dd4f63d91b0dffb0f0ce88ac75c2387251930c8063f7799611265083f8d302d1') - version('1.6', sha256='293010736b076cf684d2873928924fcc3d2c231a091084c2ac23a8045c7df982') - version('1.4', sha256='8fb1b0a47ed4e1f9d7c70129d7993aa650da1688fd931b10646d1c4707ae234d') - version('1.3.1', sha256='12c37a4054cbf1980223e2b3a80a7fdb3fd850324a4ba6832e38fdba91f1b924') - version('1.2', sha256='53c628339020dd45334a007c9cefdaf1cba3f1032492ec813b116379fa684fd6') - - variant('libgsl', - default=False, - description='build options that require the GNU scientific ' - 'library') - - variant('perl-filters', - default=False, - description='build in support for PERL scripts in -i/-e ' - 'filtering expressions, for versions >= 1.8.') - - depends_on('gsl', when='+libgsl') - depends_on('py-matplotlib', when='@1.6:', type='run') - depends_on('perl', when='@1.8:~perl-filters', type='run') - depends_on('perl', when='@1.8:+perl-filters', type=('build', 'run')) - - depends_on('htslib@1.14', when='@1.14') - depends_on('htslib@1.13', when='@1.13') - depends_on('htslib@1.12', when='@1.12') - depends_on('htslib@1.10.2', when='@1.10.2') - depends_on('htslib@1.9', when='@1.9') - depends_on('htslib@1.8', when='@1.8') - depends_on('htslib@1.7', when='@1.7') - depends_on('htslib@1.6', when='@1.6') - depends_on('htslib@1.4', when='@1.4') - depends_on('htslib@1.3.1', when='@1.3.1') - depends_on('htslib@1.2', when='@1.2') - - patch('makefile_12.patch', when='@1.2') - patch('fix_mk.patch', when='@1.2') - patch('makefile_13.patch', when='@1.3') - patch('makefile_14.patch', when='@1.4') - patch('guess-ploidy.py_2to3.patch', when='@1.6:1.9') - - @when('@1.5:') + url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2" + + version("1.14", sha256="b7ef88ae89fcb55658c5bea2e8cb8e756b055e13860036d6be13756782aa19cb") + version("1.13", sha256="13bfa1da2a5edda8fa51196a47a0b4afb3fef17516451e4f0e78477f3dd30b90") + version("1.12", sha256="7a0e6532b1495b9254e38c6698d955e5176c1ee08b760dfea2235ee161a024f5") + version("1.10.2", sha256="f57301869d0055ce3b8e26d8ad880c0c1989bf25eaec8ea5db99b60e31354e2c") + version("1.9", sha256="6f36d0e6f16ec4acf88649fb1565d443acf0ba40f25a9afd87f14d14d13070c8") + version("1.8", sha256="4acbfd691f137742e0be63d09f516434f0faf617a5c60f466140e0677915fced") + version("1.7", sha256="dd4f63d91b0dffb0f0ce88ac75c2387251930c8063f7799611265083f8d302d1") + version("1.6", sha256="293010736b076cf684d2873928924fcc3d2c231a091084c2ac23a8045c7df982") + version("1.4", sha256="8fb1b0a47ed4e1f9d7c70129d7993aa650da1688fd931b10646d1c4707ae234d") + version("1.3.1", sha256="12c37a4054cbf1980223e2b3a80a7fdb3fd850324a4ba6832e38fdba91f1b924") + version("1.2", sha256="53c628339020dd45334a007c9cefdaf1cba3f1032492ec813b116379fa684fd6") + + variant( + "libgsl", + default=False, + description="build options that require the GNU scientific " "library", + ) + + variant( + "perl-filters", + default=False, + description="build in support for PERL scripts in -i/-e " + "filtering expressions, for versions >= 1.8.", + ) + + depends_on("gsl", when="+libgsl") + depends_on("py-matplotlib", when="@1.6:", type="run") + depends_on("perl", when="@1.8:~perl-filters", type="run") + depends_on("perl", when="@1.8:+perl-filters", type=("build", "run")) + + depends_on("htslib@1.14", when="@1.14") + depends_on("htslib@1.13", when="@1.13") + depends_on("htslib@1.12", when="@1.12") + depends_on("htslib@1.10.2", when="@1.10.2") + depends_on("htslib@1.9", when="@1.9") + depends_on("htslib@1.8", when="@1.8") + depends_on("htslib@1.7", when="@1.7") + depends_on("htslib@1.6", when="@1.6") + depends_on("htslib@1.4", when="@1.4") + depends_on("htslib@1.3.1", when="@1.3.1") + depends_on("htslib@1.2", when="@1.2") + + patch("makefile_12.patch", when="@1.2") + patch("fix_mk.patch", when="@1.2") + patch("makefile_13.patch", when="@1.3") + patch("makefile_14.patch", when="@1.4") + patch("guess-ploidy.py_2to3.patch", when="@1.6:1.9") + + @when("@1.5:") def configure_args(self): args = [] - args.append('--with-htslib={0}'.format(self.spec['htslib'].prefix)) - args.extend(self.enable_or_disable('libgsl')) + args.append("--with-htslib={0}".format(self.spec["htslib"].prefix)) + args.extend(self.enable_or_disable("libgsl")) - if self.spec.satisfies('@1.8:'): - args.extend(self.enable_or_disable('perl-filters')) + if self.spec.satisfies("@1.8:"): + args.extend(self.enable_or_disable("perl-filters")) return args - @when('@1.2:1.4') + @when("@1.2:1.4") def set_make_options(self): options = [] - options.append('prefix={0}'.format(self.prefix)) - options.append('HTSDIR={0}'.format(self.spec['htslib'].prefix)) + options.append("prefix={0}".format(self.prefix)) + options.append("HTSDIR={0}".format(self.spec["htslib"].prefix)) - if '+libgsl' in self.spec: - options.append('USE_GPL=1') + if "+libgsl" in self.spec: + options.append("USE_GPL=1") return options - @when('@1.2:1.4') + @when("@1.2:1.4") def autoreconf(self, spec, prefix): - touch('configure') + touch("configure") - @when('@1.2:1.4') + @when("@1.2:1.4") def configure(self, spec, prefix): pass - @when('@1.2:1.4') + @when("@1.2:1.4") def build(self, spec, prefix): make_options = self.set_make_options() make(*make_options) - @when('@1.2:1.4') + @when("@1.2:1.4") def install(self, spec, prefix): make_options = self.set_make_options() - make('install', *make_options) + make("install", *make_options) - if spec.satisfies('@1.2'): + if spec.satisfies("@1.2"): mkdirp(self.prefix.libexec.bcftools) - install('plugins/*.so', self.prefix.libexec.bcftools) + install("plugins/*.so", self.prefix.libexec.bcftools) - @when('@1.2') + @when("@1.2") def setup_run_environment(self, env): - env.set('BCFTOOLS_PLUGINS', self.prefix.libexec.bcftools) + env.set("BCFTOOLS_PLUGINS", self.prefix.libexec.bcftools) |