From 262de647926c877ecbe60518eee14c0023190fb3 Mon Sep 17 00:00:00 2001 From: Yifan Zhu Date: Sat, 12 May 2018 01:22:45 -0500 Subject: shoremap: new package (#7343) --- var/spack/repos/builtin/packages/dislin/package.py | 23 +++++++++ var/spack/repos/builtin/packages/libxt/package.py | 6 +++ .../repos/builtin/packages/shoremap/package.py | 54 ++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 var/spack/repos/builtin/packages/shoremap/package.py diff --git a/var/spack/repos/builtin/packages/dislin/package.py b/var/spack/repos/builtin/packages/dislin/package.py index 05f8cfa153..f662f0b4fc 100644 --- a/var/spack/repos/builtin/packages/dislin/package.py +++ b/var/spack/repos/builtin/packages/dislin/package.py @@ -33,11 +33,31 @@ class Dislin(Package): homepage = "http://www.mps.mpg.de/dislin" url = "ftp://ftp.gwdg.de/pub/grafik/dislin/linux/i586_64/dislin-11.0.linux.i586_64.tar.gz" + version('11.1.linux.i586_64', '34218c257efedaf706f058bdf111ce9d') version('11.0.linux.i586_64', '6fb099b54f41db009cafc702eebb5bc6') depends_on('motif') depends_on('mesa') + @property + def libs(self): + query_parameters = self.spec.last_query.extra_parameters + query2libraries = { + tuple(): ['libdislin'], + ('d',): ['libdislin_d'], + ('c', ): ['libdislnc'], + ('cd',): ['libdislnc_d'], + ('cxx',): ['libdiscpp'], + ('java',): ['libdisjava'] + } + + key = tuple(query_parameters) + libraries = query2libraries[key] + + return find_libraries( + libraries, root=self.prefix, shared=True, recursive=True + ) + def setup_environment(self, spack_env, run_env): spack_env.set('DISLIN', self.prefix) run_env.set('DISLIN', self.prefix) @@ -46,6 +66,9 @@ class Dislin(Package): run_env.prepend_path('LD_LIBRARY_PATH', self.spec['motif'].prefix.lib) run_env.prepend_path('LD_LIBRARY_PATH', self.spec['mesa'].prefix.lib) + def setup_dependent_environment(self, spack_env, run_env, dependent_spec): + run_env.prepend_path('LD_LIBRARY_PATH', self.prefix) + def install(self, spec, prefix): INSTALL = Executable('./INSTALL') INSTALL() diff --git a/var/spack/repos/builtin/packages/libxt/package.py b/var/spack/repos/builtin/packages/libxt/package.py index b50871fe9f..2b09c57de4 100644 --- a/var/spack/repos/builtin/packages/libxt/package.py +++ b/var/spack/repos/builtin/packages/libxt/package.py @@ -41,3 +41,9 @@ class Libxt(AutotoolsPackage): depends_on('kbproto', type='build') depends_on('pkgconfig', type='build') depends_on('util-macros', type='build') + + @property + def libs(self): + return find_libraries( + 'libXt', root=self.prefix, shared=True, recursive=True + ) diff --git a/var/spack/repos/builtin/packages/shoremap/package.py b/var/spack/repos/builtin/packages/shoremap/package.py new file mode 100644 index 0000000000..663c2d48f4 --- /dev/null +++ b/var/spack/repos/builtin/packages/shoremap/package.py @@ -0,0 +1,54 @@ +############################################################################## +# Copyright (c) 2013-2017, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 Shoremap(MakefilePackage): + """SHOREmap is a computational tool implementing a method that enables + simple and straightforward mapping-by-sequencing analysis. + + Whole genome resequencing of pools of recombinant mutant genomes allows + directly linking phenotypic traits to causal mutations. Such an + analysis, called mapping-by-sequencing, combines classical genetic + mapping and next generation sequencing by relying on selection-induced + patterns within genome-wide allele frequency in pooled genomes.""" + + homepage = "http://bioinfo.mpipz.mpg.de/shoremap/" + url = "http://bioinfo.mpipz.mpg.de/shoremap/SHOREmap_v3.6.tar.gz" + + version('3.6', 'ccc9331189705a139d50f2c161178cb1') + + depends_on('dislin') + + def edit(self, spec, prefix): + makefile = FileFilter('makefile') + makefile.filter(r'-L/usr/lib/', + self.spec['libxt'].libs.search_flags) + makefile.filter(r'-L\./dislin.* -ldislin_d', + self.spec['dislin:d'].libs.ld_flags) + + def install(self, spec, prefix): + mkdirp(prefix.bin) + install('SHOREmap', prefix.bin) -- cgit v1.2.3-60-g2f50