Skip to content
Snippets Groups Projects
Commit 900161d1 authored by Glenn Johnson's avatar Glenn Johnson Committed by Adam J. Stewart
Browse files

Update and fix samtools (#14507)

* Update and fix samtools

This PR adds samtools-1.10 and sets the htlib directory so that the
spack built htslib can be used. This PR also arranges the dependencies
so that the htslib sequence is grouped on its own. Finally, the bzip2
dependency is removed and python and perl run dependencies are added.

* Fix samtools when built with ncurses+termlib

* The CI flake8 tests require lowercase variable

Interestingly, this did not show up when I ran `spack flake8` locally.
parent 5eed196f
Branches
Tags
No related merge requests found
......@@ -14,6 +14,7 @@ class Samtools(Package):
homepage = "www.htslib.org"
url = "https://github.com/samtools/samtools/releases/download/1.3.1/samtools-1.3.1.tar.bz2"
version('1.10', sha256='7b9ec5f05d61ec17bd9a82927e45d8ef37f813f79eb03fe06c88377f1bd03585')
version('1.9', sha256='083f688d7070082411c72c27372104ed472ed7a620591d06f928e653ebc23482')
version('1.8', sha256='c942bc1d9b85fd1b05ea79c5afd2805d489cd36b2c2d8517462682a4d779be16')
version('1.7', sha256='e7b09673176aa32937abd80f95f432809e722f141b5342186dfef6a53df64ca1')
......@@ -23,27 +24,39 @@ class Samtools(Package):
version('1.3.1', sha256='6c3d74355e9cf2d9b2e1460273285d154107659efa36a155704b1e4358b7d67e')
version('1.2', sha256='420e7a4a107fe37619b9d300b6379452eb8eb04a4a9b65c3ec69de82ccc26daa')
depends_on('zlib')
depends_on('ncurses')
depends_on('perl', type='run')
depends_on('python', type='run')
# htslib became standalone @1.3.1, must use corresponding version
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.5', when='@1.5')
depends_on('htslib@1.4', when='@1.4')
depends_on('htslib@1.10.2', when='@1.10')
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.5', when='@1.5')
depends_on('htslib@1.4', when='@1.4')
depends_on('htslib@1.3.1', when='@1.3.1')
depends_on('zlib')
depends_on('bzip2')
def install(self, spec, prefix):
if '+termlib' in spec['ncurses']:
curses_lib = '-lncursesw -ltinfow'
else:
curses_lib = '-lncursesw'
if self.spec.version >= Version('1.3.1'):
configure('--prefix={0}'.format(prefix), '--with-ncurses',
'CURSES_LIB=-lncursesw')
configure('--prefix={0}'.format(prefix),
'--with-htslib={0}'.format(self.spec['htslib'].prefix),
'--with-ncurses',
'CURSES_LIB={0}'.format(curses_lib))
make()
make('install')
else:
make("prefix=%s" % prefix)
make("prefix=%s" % prefix, "install")
make('prefix={0}'.format(prefix),
'LIBCURSES={0}'.format(curses_lib))
make('prefix={0}'.format(prefix), 'install')
# Install dev headers and libs for legacy apps depending on them
mkdir(prefix.include)
mkdir(prefix.lib)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment