{bio}[intel/2017a] dammit 0.3.2 /w Python 2.7.13 (REVIEW)#5125
{bio}[intel/2017a] dammit 0.3.2 /w Python 2.7.13 (REVIEW)#5125boegel merged 15 commits intoeasybuilders:developfrom
Conversation
| homepage = 'http://matplotlib.org' | ||
| description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of | ||
| hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python | ||
| and ipython shell, web application servers, and six graphical user interface toolkits.""" |
| ('crb-blast', '0.6.9', '-Ruby-2.3.4'), | ||
| ] | ||
|
|
||
|
|
| is that LAST finds initial matches based on their multiplicity, | ||
| instead of using a fixed length (e.g. BLAST uses 11-mers).""" | ||
|
|
||
| toolchain = {'name': 'GCCcore', 'version': '6.3.0'} |
There was a problem hiding this comment.
hmm, wouldn't intel make more sense here, for performance reasons?
There was a problem hiding this comment.
@boegel Good question, I am afraid of intel compiler in biostuff.
|
|
||
| name = 'dammit' | ||
| version = '0.3.2' | ||
| versionsuffix = '-Python-%(pyver)s' |
There was a problem hiding this comment.
Either include Python, Perl & Ruby in the versionsuffix, or none of them...
Since the versionsuffix would become very long here, I consider it OK to just drop it here as an exception to our rule of including Python/Perl version in there...
There was a problem hiding this comment.
@boegel I included Python, because dammit is actually written in Python. It have deps needs Ruby and Perl. Anyway, I will drop all of them.
There was a problem hiding this comment.
Well, OK, in that case I guess it makes sense to keep it.
Python is definitely way more common than Perl or Ruby, so it kind of makes sense to make only that one explicit in the versionsuffix...
|
Apparently BUSCO needs Python3 |
| 'checksums': ['6ab8ff5c19e7f452966bf5a3220b845cf3244fe0b96544f7f9acedcc2db5c705'], | ||
| }), | ||
| (name, version, { | ||
| 'patches': ['dammit-0.3.2_nodocs.patch', 'dammit-0.3.2_py2busco.diff'], |
There was a problem hiding this comment.
@hajgato Please rename dammit-0.3.2_py2busco.diff to dammit-0.3.2_py2busco.patch, and include one patch per line:
'patches': [
'dammit-0.3.2_nodocs.patch',
'dammit-0.3.2_py2busco.patch',
],| instead of using a fixed length (e.g. BLAST uses 11-mers).""" | ||
|
|
||
| toolchain = {'name': 'intel', 'version': '2017a'} | ||
| toolchainopts = {'cstd': 'c++11', 'opt': True} |
There was a problem hiding this comment.
@hajgato Why the 'opt': True (which enables using -O3 rather than -O2), any particular reason for this?
There was a problem hiding this comment.
@boegel: taken form last-869/makefile, line 1:
CXXFLAGS = -O3 -std=c++11 -pthread -DHAS_CXX_THREADS
There was a problem hiding this comment.
OK so you're trying to mimic this behaviour, I see.
In general, -O3 is less "safe" than -O2 though (in terms of precision, etc.).
And the benefit is usually fairly small.
| sources = ['%(namelower)s-%(version)s.zip'] | ||
|
|
||
| patches = ['%(name)s-%(version)s_makefile.patch'] | ||
|
|
There was a problem hiding this comment.
please drop this empty line, and the one above as well
| 'b7b697b048e22c913eb196449eb895fc70b22fb72db5cca1f8dc948cde164309', # LAST-869_makefile.patch | ||
| ] | ||
|
|
||
| builddependencies = [('binutils', '2.27')] |
There was a problem hiding this comment.
this is not needed when using a full toolchain like intel, it's already included
| 'doc', | ||
| 'examples', | ||
| 'README.txt', | ||
| 'src', |
There was a problem hiding this comment.
@boegel: some executables in the src dir, dammit directly calls some of those (for example src/last-split and others, I do not remember specifically.)
| @@ -0,0 +1,52 @@ | |||
| easyblock = 'MakeCp' | |||
There was a problem hiding this comment.
We have an existing easyconfig for LAST (for a more recent version) which uses ConfigureMake and does make install prefix=%(installdir)s.
But maybe that's not supported yet with this older version of LAST?
There was a problem hiding this comment.
@boegel: this version has only a simple makefile, no configure provided.
There was a problem hiding this comment.
Which is exactly why we skip the configure step in the existing LAST easyconfig, see https://github.com/easybuilders/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/l/LAST/LAST-914-intel-2017b.eb .
| source_urls = ['http://last.cbrc.jp/'] | ||
| sources = ['%(namelower)s-%(version)s.zip'] | ||
|
|
||
| patches = ['%(name)s-%(version)s_makefile.patch'] |
There was a problem hiding this comment.
There should be no need for a patch, in the existing easyconfig for LAST we use:
buildopts = 'CC="$CC" CXX="$CXX" CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS -pthread -DHAS_CXX_THREADS"'There was a problem hiding this comment.
@boegel: CC, CXX, CFLAGS, and CXXFLAGS hard encoded in last-869/src/makefile, lines 1-9:
CXX = g++
CC = gcc
CXXFLAGS = -O3 -Wall -Wextra -Wcast-qual -Wswitch-enum -Wundef \
-Wcast-align -pedantic -g -std=c++11 -pthread -DHAS_CXX_THREADS
# -Wconversion
# -fomit-frame-pointer ?
CFLAGS = -Wall -O2
There was a problem hiding this comment.
Even with a makefile like this, you can override values by passing arguments to make, like we do in the existing LAST easyconfig...
|
|
||
| source_urls = ['https://github.com/TransDecoder/TransDecoder/archive/'] | ||
| sources = ['v%(version)s.tar.gz'] | ||
|
|
There was a problem hiding this comment.
style nitpicking: please drop empty line
| ] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['TransDecoder.%s' % x for x in ['Predict', 'LongOrfs']], |
There was a problem hiding this comment.
no need to use a list comprehension here:
'files': ['TransDecoder.LongOrfs', 'TransDecoder.Predict'],|
Test report by @boegel |
|
Test report by @boegel |
|
Going in, thanks @hajgato! |
Needs
#5119#5120#5121 #5122 #5123 #5124I would also like to discuss the naming conventions in the PR and the dep PRs, I want clearly avoid suffix
-Ruby-2.3.4-Perl-5.24.1-Python-2.7.13...