Update genemark-et package

- add version 4.46
- add missing perl dependencies
- new version has different source layout
- filter shebang to use spack perl
This commit is contained in:
Glenn P Johnson 2019-09-12 09:49:54 -05:00 committed by Peter Scheibel
parent 6df57bb2d0
commit 2256890d4e

View file

@ -19,10 +19,15 @@ class GenemarkEt(Package):
homepage = "http://topaz.gatech.edu/GeneMark" homepage = "http://topaz.gatech.edu/GeneMark"
version('4.46', sha256='856b0b6c7cbd12835e140ff04ecd9124376348efd65f76bfd8b8e08c1834eac0')
version('4.38', sha256='cee3bd73d331be44159eac15469560d0b07ffa2c98ac764c37219e1f3b7d3146') version('4.38', sha256='cee3bd73d331be44159eac15469560d0b07ffa2c98ac764c37219e1f3b7d3146')
version('4.33', '4ab7d7d3277a685dfb49e11bc5b493c3') version('4.33', '4ab7d7d3277a685dfb49e11bc5b493c3')
depends_on('perl', type=('build', 'run')) depends_on('perl', type=('build', 'run'))
depends_on('perl-yaml', type=('build', 'run'))
depends_on('perl-hash-merge', type=('build', 'run'))
depends_on('perl-logger-simple', type=('build', 'run'))
depends_on('perl-parallel-forkmanager', type=('build', 'run'))
def url_for_version(self, version): def url_for_version(self, version):
return "file://{0}/gm_et_linux_64.tar.gz".format(os.getcwd()) return "file://{0}/gm_et_linux_64.tar.gz".format(os.getcwd())
@ -30,7 +35,11 @@ def url_for_version(self, version):
def install(self, spec, prefix): def install(self, spec, prefix):
mkdirp(prefix.bin) mkdirp(prefix.bin)
mkdirp(prefix.bin.heu_dir) mkdirp(prefix.bin.heu_dir)
with working_dir('gmes_petap'): if self.version <= Version('4.38'):
source_dir = 'gmes_petap'
else:
source_dir = self.stage.source_path
with working_dir(source_dir):
install_tree('lib', prefix.lib) install_tree('lib', prefix.lib)
files = glob.iglob('*') files = glob.iglob('*')
for file in files: for file in files:
@ -38,5 +47,14 @@ def install(self, spec, prefix):
install(file, prefix.bin) install(file, prefix.bin)
install_tree('heu_dir', prefix.bin.heu_dir) install_tree('heu_dir', prefix.bin.heu_dir)
@run_after('install')
def filter_sbang(self):
with working_dir(self.prefix.bin):
pattern = '^#!.*/usr/bin/perl'
repl = '#!{0}'.format(self.spec['perl'].command.path)
files = glob.iglob("*.pl")
for file in files:
filter_file(pattern, repl, *files, backup=False)
def setup_environment(self, spack_env, run_env): def setup_environment(self, spack_env, run_env):
run_env.prepend_path('PERL5LIB', prefix.lib) run_env.prepend_path('PERL5LIB', prefix.lib)