express: new version, use tags and fix gcc@6.0.0: (#10230)

* express: new version, use tags and fix gcc@6.0.0:

Express fails to build with gcc@6.0.0:.

The debian project [has a
fix](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811859) but
they don't seem to have pushed it upstream.

I've opened an issue and a PR in eXpress repo, but eXpress isn't
actively developed, so I'm fixing it here too.

Since the Spack package was created, the eXpress team tagged their
releases.  I've updated the package to use the tags.

Version 1.5.1 used to be known as 2015-11-29 (same commit).  1.5.2 is
new(er).

* Make flake8 happ{y,ier}
This commit is contained in:
George Hartzell 2018-12-31 18:28:15 -08:00 committed by Adam J. Stewart
parent fb52eb2a18
commit e6b2f0c179
2 changed files with 30 additions and 4 deletions

View File

@ -0,0 +1,21 @@
Description: Fix compilation with gcc-6
Author: Gert Wollny <gw.fossdev@gmail.com>
Bug-Debian: https://bugs.debian.org/811859
--- a/src/targets.cpp
+++ b/src/targets.cpp
@@ -113,12 +113,12 @@
double ll = LOG_1;
double tot_mass = mass(with_pseudo);
- double tot_eff_len = cached_effective_length(lib.bias_table);
+ double tot_eff_len = cached_effective_length(static_cast<bool>(lib.bias_table));
if (neighbors) {
foreach (const Target* neighbor, *neighbors) {
tot_mass = log_add(tot_mass, neighbor->mass(with_pseudo));
tot_eff_len = log_add(tot_eff_len,
- neighbor->cached_effective_length(lib.bias_table));
+ neighbor->cached_effective_length(static_cast<bool>(lib.bias_table)));
}
}
ll += tot_mass - tot_eff_len;

View File

@ -13,15 +13,20 @@ class Express(CMakePackage):
target sequences from sampled subsequences."""
homepage = "http://bio.math.berkeley.edu/eXpress/"
git = "https://github.com/adarob/eXpress.git"
url = "https://github.com/adarob/eXpress/archive/1.5.2.zip"
version('2015-11-29', commit='f845cab2c7f2d9247b35143e4aa05869cfb10e79')
# 1.5.1 used to be known as 2015-11-29 (same commit), but they've
# added tags, so lets use 'em
version('1.5.2', sha256='25a63cca3dac6bd0daf04d2f0b2275e47d2190c90522bd231b1d7a875a59a52e')
version('1.5.1', sha256='fa3522de9cc25f1ede22fa196928912a6da2a2038681911115ec3e4da3d61293')
depends_on('boost')
depends_on('bamtools')
depends_on('zlib')
conflicts('%gcc@6.0.0:', when='@2015-11-29')
# patch from the debian package repo:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811859
patch('gcc-6.patch', when='%gcc@6.0.0:')
def patch(self):
with working_dir('src'):
@ -32,7 +37,7 @@ def patch(self):
edit.filter('#include <api', '#include <%s' % self.spec[
'bamtools'].prefix.include.bamtools.api)
edit = FileFilter('CMakeLists.txt')
edit.filter('\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/'
edit.filter(r'\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/'
'libbamtools.a', '%s' % self.spec['bamtools'].libs)
def setup_environment(self, spack_env, run_env):