Skip to content

Commit

Permalink
Merge pull request #10390 from easybuilders/4.2.x
Browse files Browse the repository at this point in the history
release EasyBuild v4.2.0
  • Loading branch information
migueldiascosta authored Apr 14, 2020
2 parents 9a94292 + ed7827d commit 8ebc42f
Show file tree
Hide file tree
Showing 752 changed files with 27,442 additions and 1,300 deletions.
67 changes: 56 additions & 11 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: easyconfigs unit tests
on: [push, pull_request]
jobs:
build:
test-suite:
runs-on: ubuntu-18.04
strategy:
matrix:
Expand All @@ -20,7 +20,7 @@ jobs:
module_syntax: Tcl
fail-fast: false
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: set up Python
uses: actions/setup-python@v1
Expand All @@ -30,10 +30,9 @@ jobs:

- name: install OS & Python packages
run: |
# apt-get update is disabled for now, because it was failing in GitHub since Fri Dec 13th 2019,
# due to 'Conflicting distribution' issue
# disable apt-get update, we don't really need it,
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
# sudo apt-get update
#
# for modules tool
sudo apt-get install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
Expand Down Expand Up @@ -115,18 +114,64 @@ jobs:
unset PYTHONPATH
# install easyconfigs via distribution package
python setup.py sdist
python setup.py sdist > /dev/null
ls dist
pip install dist/easybuild-easyconfigs*tar.gz
pip install dist/easybuild-easyconfigs*tar.gz > /dev/null
# robot-paths value should not be empty, but have an entry that includes easybuild/easyconfigs subdir
echo "eb --show-config"
eb --show-config | tee eb_show_config.out
grep "^robot-paths .*/easybuild/easyconfigs" eb_show_config.out
# check whether some specific easyconfig files are found
echo "eb --search 'TensorFlow-1.14.*.eb'"
eb --search 'TensorFlow-1.14.*.eb' | tee eb_search_TF.out
grep '/TensorFlow-1.14.0-foss-2019a-Python-3.7.2.eb$' eb_search_TF.out
eb --search '^foss-2018b.eb' | tee eb_search_foss.out
grep '/foss-2018b.eb$' eb_search_foss.out
# try installing bzip2 with system toolchain (requires EB_bzip2 easyblock + easyconfig)
eb --prefix /tmp/$USER/$GITHUB_SHA bzip2-1.0.6.eb
echo "eb --search '^foss-2019b.eb'"
eb --search '^foss-2019b.eb' | tee eb_search_foss.out
grep '/foss-2019b.eb$' eb_search_foss.out
# make sure CVS easyconfigs are included in installation (cfr. issue #10325)
echo "Searching for CVS easyconfigs..."
eb --search '^CVS-' | grep '/CVS-'
# try installing M4 with system toolchain (requires ConfigureMake easyblock + easyconfig)
eb --prefix /tmp/$USER/$GITHUB_SHA M4-1.4.18.eb
test-sdist:
runs-on: ubuntu-18.04
strategy:
matrix:
python: [2.7, 3.6, 3.7]
steps:
- uses: actions/checkout@v2

- name: set up Python
uses: actions/setup-python@v1

- name: Create source distribution
run: python setup.py sdist

- name: Inspect files included in source distribution
working-directory: dist
run: |
tar xfz easybuild-easyconfigs*tar.gz
cd easybuild-easyconfigs-*/
# .git folder should not be there in source tarball
dot_git_files=$(find . -name .git)
if [ -n "$dot_git_files" ]; then
echo "Found .git folders in source tarball: $dot_git_files" && false
else
echo "No .git folders found in source tarball: OK"
fi
# CVS easyconfigs must be included in source tarball,
# see https://github.com/easybuilders/easybuild-easyconfigs/issues/10325
cvs_easyconfigs=$(find . -name 'CVS-*.eb')
if [ -z "$cvs_easyconfigs" ]; then
echo "CVS easyconfigs not found" && false
else
echo "Found CVS easyconfigs: $cvs_easyconfigs"
fi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ dist/
*.swp
*.ropeproject/
eb-*.log
/MANIFEST
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,5 @@ script:
- grep '/TensorFlow-1.14.0-foss-2019a-Python-3.7.2.eb$' eb_search_TF.out
- eb --search '^foss-2018b.eb' | tee eb_search_foss.out
- grep '/foss-2018b.eb$' eb_search_foss.out
# try installing bzip2 with system toolchain (requires EB_bzip2 easyblock + easyconfig)
- eb --prefix /tmp/$USER bzip2-1.0.6.eb
# try installing M4 with system toolchain (requires ConfigureMake easyblock + easyconfig)
- eb --prefix /tmp/$USER M4-1.4.18.eb
2 changes: 0 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
recursive-include easybuild *
include CONTRIBUTING.md
include LICENSE
include README.rst
include RELEASE_NOTES
include setup.py
109 changes: 108 additions & 1 deletion RELEASE_NOTES
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,116 @@ For more detailed information, please see the git log.

These release notes can also be consulted at http://easybuild.readthedocs.org/en/latest/Release_notes.html.

The latest version of easybuild-easyconfig provides 8,964 easyconfig files, for 1,798 different software packages,
The latest version of easybuild-easyconfig provides 9,462 easyconfig files, for 1,912 different software packages,
incl. 31 different (compiler) toolchains.

v4.2.0 (April 14th 2020)
------------------------

feature release

- added example easyconfig files for 114 new software packages:
- ABRA2 (#10272), ABRicate (#10310), ADIOS (#10036), aNCI (#9929), any2fasta (#10310), apex (#10269),
archspec (#9898), ArviZ (#10366), autopep8 (#9626), BAMSurgeon (#10330), BatMeth2 (#10323),
BiG-SCAPE (#10352), BinSanity (#10001), Bonito (#10269), BSMAPz (#10283), BSseeker2 (#10039),
BUStools (#9838), Cbc (#10052), Cgl (#10048), CGmapTools (#10288), Clp (#10033), CoinUtils (#9937),
dtcwt (#9695), ELSI (#9857), EnsEMBLCoreAPI (#8734), fastq-pair (#9894), FigureGen (#10076), Fiona (#10321),
FuSeq (#10004), GenomeTools (#9797), GraphMap2 (#10299), GRASP (#9896), Groovy (#9809), gsport (#9821),
gubbins (#9689), igv-reports (#9977), inferCNV (#9686), iVar (#10291), joypy (#10212), JupyterLab (#9752),
kma (#10259), LAMMPS (#10371), lancet (#10271), libBigWig (#10006), libGridXC (#9858), libPSML (#5859),
LtrDetector (#10343), manta (#5104), medImgProc (#10228), MedPy (#9748), Mini-XML (#10036), mkl_fft (#9887),
Monocle3 (#9825), MoreRONN (#10255), motionSegmentation (#10228), NanoComp (#10212), NanoFilt (#10212),
nanoget (#10212), nanomath (#10212), NanoPlot (#10212), ngspice (#9922), ntEdit (#9836), ntHits (#9833),
occt (#9939), OCNet (#9955), OpenAI-Gym (#10347), OpenPIV (#9959), OpenPyXL (#10115), orca (#9518),
Osi (#10361), PartitionFinder (#9983), pauvre (#10212), polymake (#9904), pretty-yaml (#10041)),
PRSice (#9988), pycodestyle (#9626), pydot (#9899), pygraphviz (#9969), pylift (#10051), PyMC3 (#10279),
pyparsing (#9983), PyRe (#10095), python-weka-wrapper3 (#9704), PyTorch-Geometric (#9995), qcat (#10244),
RAxML-NG (#9990), Ray (#10302), rclone (#7934), Red (#9856), rstanarm (#9964), scikit-build (#9762),
scVelo (#9805), SECAPR (#9721), segmentation-models (#10211), SentencePiece (#10192), SEPP (#10047),
Shapely (#10309), Singular (#10030), SLATEC (#7529), spatialreg (#9767), split-seq (#9749), spoa (#9705),
SSN (#9955), STEAK (#10337), stpipeline (#9736), SVG (#9905), Togl (#9868), torchtext (#10193),
units (#9682), UQTk (#10279), WildMagic (#10044), Winnowmap (#10005), xtb (#9993), Zip (#9972)
- added additional easyconfigs for various supported software packages, including:
- ABySS 2.1.5, Arrow 0.16.0, BCFtools 1.10.2, BEDTools 2.29.2, BUSCO 4.0.5, BerkeleyGW 2.1.0, binutils 2.34,
CVXPY 1.0.28, CharLS 2.1.0, CheckM 1.1.2, Clang 10.0.0, CppUnit 1.15.1, canu 1.9, cutadapt 2.8,
DIAMOND 0.9.30, davix 0.7.5, ELPA 2019.11.001, FastANI 1.3, FastQC 0.11.9, Ferret 7.5.0, GATK 4.1.4.1,
GCCcore 9.3.0, GDB 9.1, GMAP-GSNAP-2019-09-12, GObject-Introspection 1.63.1, GPAW 20.1.0, GROMACS 2020,
GTDB-Tk 1.0.2, GTK+ 3.24.13, Go 1.14.1, Gradle 6.1.1, GraphicsMagick 1.3.34, Graphviz 2.42.2, Gurobi 9.0.1,
gSOAP 2.8.100, gnuplot 5.2.8, gtest 1.10.0, HDDM 0.7.5, HTSlib 1.10.2, HarfBuzz 2.6.4, Horovod 0.19.1,
Hypre 2.18.2, IGV 2.8.0, IQ-TREE 1.6.12, IRkernel 1.1, iccifort 2020.0.166, igraph 0.8.0, impi 2019.6.166,
ispc 1.12.0, Java 13(.0.2), Julia 1.4.0, Keras 2.3.1, Kraken2 2.0.8-beta, kim-api 2.1.3, LAST 1045,
LASTZ 1.04.03, LLVM 9.0.1 + 10.0.0, LMfit 0.9.14, LS-PrePost 4.7.8, likwid 5.0.1, MAFFT 7.453,
MATLAB 2019b, MMseqs2 10, Maven 3.6.3, Meson 0.53.1, MethylDackel 0.5.0, Mono 6.8.0.105, medaka 0.12.0,
Nextflow 20.01.0, ncdf4 1.17, netcdf4-python 1.5.3, nodejs 12.16.1, numba 0.47.0, numexpr 2.7.1,
Octave 5.1.0, OpenBLAS 0.3.8, OpenBabel 3.0.0, OpenCV 4.2.0, OpenFOAM-Extend 4.1-20191120, OrthoFinder 2.3.11,
PETSc 3.12.4, PGI 19.10, PMIx 2.2.1, Pango 1.44.7, PyTables 3.6.1, PyTorch 1.4.0, parasail 2.4.1,
pydicom 1.4.2, pyproj 2.4.2, Qhull 2019.1, QuantumESPRESSO 6.5, R-bundle-Bioconductor 3.10, RDKit 2019.09.3
Racon 1.4.10, ReFrame 2.21, Ruby 2.7.1, rjags 4-9, rpy2 3.2.6, SLEPc 3.12.2, SPAdes 3.14.0,
SPAdes 3.14.0, STAR-Fusion 1.8.1, STAR 2.7.3a, Seaborn 0.10.0, SeqAn 1.4.2, Seurat 3.1.2, SimpleElastix 1.1.0,
SimpleITK 1.2.4, Stacks 2.5, Stata 16, StringTie 2.1.0, scikit-optimize 0.7.4, statsmodels 0.11.0,
TensorFlow 1.15.2 + 2.0.1, Tkinter 2.7.16, Trim_Galore 0.6.5, Trimmomatic 0.39, Trinity 2.10.0, tbb 2020.2,
tqdm 4.41.1, XCrySDen 1.6.2, XGBoost 0.90, xarray 0.15.1, xmlf90 1.5.4,
- minor enhancements, including:
- add easyconfig for Java 11.0.6 on ppc64le and alter the Java 11 wrapper to support both x86_64 and ppc64le (#9371)
- add additional extensions for R: HiddenMarkov (#9685), lmerTest (#9853), VSURF + Rborist (#10355)
- change Mesa 19.1.7 + 19.2.1 easyconfigs to use custom easyblock for Mesa (#9764)
- build shared libs and install header files for Ghostscript (#9785)
- add MUMPS as dependency in PETSc 3.12.4 easyconfigs (#9880, #9891)
- add Perl extensions: Term::ReadLine::Gnu (#9901), URI::Escape and Set::IntervalTree (#10049)
- add dat directory to aNCI (#9929)
- add patch to create a symlink from libsvm.so.$(SHVER) to libsvm.so in LIBSVM easyconfigs (#10045)
- build SUNDIALS with 'pic' (#10278)
- add BSgenome.Hsapiens.UCSC.hg38 + MEDIPS extensions to R-bundle-Bioconductor v3.10 (#10298)
- fix checksums for mkl-dnn and tbb extensions (moved to oneAPI repo) in PyTorch easyconfigs (#10367)
- update Java/1.8 wrapper to Java/1.8.0_241.eb (#10305)
- various bug fixes, including:
- use CMake for building double-conversion (#9659)
- update recent libdrm easyconfigs to use custom easyblock & avoid hardcoded x86-specific sanity check (#9694)
- add alternate checksum for OpenMolcas 18.09 (#9701)
- use Github to download releases for MariaDB-connector-c (#9702)
- add -DOMPI_SKIP_MPICXX in configopts for MathGL, to avoid using mpicxx during build (#9703)
- make installing independent of build folder in pybind11 easyconfig (#9738)
- add Lua as a dependency to gnuplot (#9773)
- stick to http:// source URLS for ISL in GCCcore easyconfigs, since https:// doesn't work (#9784)
- add alternative checksums for farver/fracdiff/pkgmaker/rngtools/doRNG/cobs extensions in R 3.6.2 easyconfigs (#9789)
- add patch for OpenBLAS 0.3.4 w/ GCC/8.2.0-2.31.1 to fix broken tests (#9865)
- revert removal of AVX512 vmovd with 64-bit operands in binutils 2.32 easyconfigs (#9866)
- fix inline asm in dscal: mark x, x1 as clobbered, in OpenBLAS 0.3.8 (#9867)
- add missing sanity_check_commands to cutadapt v1.18 and v2.7 easyconfigs (#9869)
- don't overwrite configopts in BLAST+ easyconfigs, append to it (#9875)
- add alternate checksum for LaplacesDemon in R 3.6.x easyconfigs (#9879, #10382)
- fix redefining of preconfigopts in OpenCV easyconfigs (#9895)
- use symlinks for terminfo files instead of hard links in ncurses 6.1 easyconfigs (#9912)
- fix NCIPLOT build flags (#9915)
- add missing patch to iccifort libxc easyconfigs (#9918)
- use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#9925)
- re-enable building utils in Siesta 4.1-MaX-1.0 release (#9936)
- fix homepage and source URLs in SLEPc easyconfigs by using https (#9943)
- fix source URLs for rgeos after source tarball was moved to CRAN archive (#9954)
- add dependencies on Python 3 and SciPy-bundle in Trinity v2.9.1 easyconfig (#9957)
- patch GCC lisanitizer for glibc 2.31 (#9966)
- add Zip as build dependency for recent Bazel versions (#9972)
- fix checksums in Jellyfish v2.3.0 easyconfigs (#9997)
- fix source URLs for ParMGridGen easyconfigs (#10019)
- disable unintended Octave support in all libsndfile easyconfigs (#10027)
- fix sources for LS-PrePost 4.6 (#10236)
- security update for vsc-mympirun 4.1.9 (#10185)
- configure libwebp to also install libwebpmux (#10274)
- ensure that CVS easyconfigs are included in source tarball produced by 'python setup.py sdist' (#10326)
- fix undefined reference error due to libxc 4.3.4 built with CMake (#10356)
- fix source_urls for tbb: use (new) official 'oneapi-src' GitHub repository (#10361)
- add missing build dependency on pkg-config in GObject-Introspection 1.63.1 w/ Python 3.7.4 easyconfig (#10380)
- update checksums and homepage in tbb easyconfigs (#10285)
- other changes:
- use new custom easyblock in recent CMake easyconfigs (#9871, #9923)
- add check for redefined easyconfig parameters in easyconfig tests (#9876)
- use M4-1.4.18.eb for test installation in easyconfigs test suite (#9926)
- use https in homepage/source_urls of zlib-1.2.11.eb (#10018)
- add -GCCcore-9.2.0 versionsuffix for intel/2020.00 components (#10083)
- add checksum of new tbb 2019_U9 source tarball, next to original one + update homepage (#10237)
- add comment informing about manually setting Gallium drivers in easyconfigs for Mesa v19.1.7 and v19.2.1 (#10276)


v4.1.1 (January 16th 2020)
--------------------------

Expand Down
44 changes: 44 additions & 0 deletions easybuild/easyconfigs/a/ABRA2/ABRA2-2.22-iccifort-2019.5.281.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
easyblock = 'MakeCp'

name = 'ABRA2'
version = '2.22'

homepage = 'https://github.com/mozack/abra2'
description = "Assembly Based ReAligner"

toolchain = {'name': 'iccifort', 'version': '2019.5.281'}

source_urls = ['https://github.com/mozack/abra2/archive/']
sources = ['v%(version)s.tar.gz']
patches = ['ABRA2-%(version)s_fix-Makefile.patch']
checksums = [
'99cd1e83ed48095241402b0334af553ee75311213c16a7d0f3109a28771960e9', # v2.22.tar.gz
'05090efb306fc84d09f007a848ce0d0472f8633633b0a6eaf86ab075d092bc0d', # ABRA2-2.22_fix-Makefile.patch
]

builddependencies = [('Maven', '3.6.3', '', True)]

dependencies = [
('Java', '11', '', True),
('BWA', '0.7.17'),
]

parallel = 1

buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"'
buildopts += '&& make standalone CXX="$CXX" CXXFLAGS="$CXXFLAGS"'

files_to_copy = [
(['abra'], 'bin'),
(['target/libAbra.%s' % SHLIB_EXT], 'lib'),
'target/abra2-%(version)s-jar-with-dependencies.jar',
]

postinstallcmds = ["cd %(installdir)s && mv abra2-%(version)s-jar-with-dependencies.jar abra2-%(version)s.jar"]

sanity_check_paths = {
'files': ['abra2-%(version)s.jar', 'bin/abra', 'lib/libAbra.%s' % SHLIB_EXT],
'dirs': [],
}

moduleclass = 'bio'
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/a/ABRA2/ABRA2-2.22_fix-Makefile.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
* don't hardcode g++ or "-g -O2"
* fix source filename for standalone build
author: Kenneth Hoste (HPC-UGent)
--- abra2-2.22/Makefile.orig 2020-03-28 11:40:49.094222081 +0100
+++ abra2-2.22/Makefile 2020-03-28 11:41:38.732466934 +0100
@@ -1,6 +1,9 @@
# Make file for ABRA
# libAbra is invoked from the ABRA java code

+CXX:=g++
+CXXFLAGS:=-g -O2
+
SRCDIR=src/main/c

all: clean native java
@@ -12,13 +15,13 @@
mkdir target

native: mktargetdir
- g++ -g -O2 -I$(SRCDIR) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -shared -fPIC $(SRCDIR)/assembler.cpp $(SRCDIR)/sg_aligner.cpp -o target/libAbra.so
+ $(CXX) $(CXXFLAGS) -I$(SRCDIR) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -shared -fPIC $(SRCDIR)/assembler.cpp $(SRCDIR)/sg_aligner.cpp -o target/libAbra.so

standalone:
- g++ -g -I$(SRCDIR) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(SRCDIR)/assembler.c -o abra
+ $(CXX) $(CXXFLAGS) -I$(SRCDIR) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(SRCDIR)/assembler.cpp -o abra

sga:
- g++ -g -O2 -I$(SRCDIR) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(SRCDIR)/sg_aligner.cpp -o sga
+ $(CXX) $(CXXFLAGS) -I$(SRCDIR) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(SRCDIR)/sg_aligner.cpp -o sga

clean:
rm -rf target
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Author: Pavel Grochal (INUITS)
# License: GPLv2

easyblock = 'Tarball'

name = 'ABRicate'
version = '0.9.9'
versionsuffix = '-Perl-%(perlver)s'

homepage = 'https://github.com/tseemann/abricate'
description = "Mass screening of contigs for antimicrobial and virulence genes"

toolchain = {'name': 'gompi', 'version': '2019a'}

# https://github.com/tseemann/abricate
github_account = 'tseemann'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['v%(version)s.zip']
checksums = ['a2bf30f8cc53292b6c043a63975fb51c7043b59565edad5b16e5995cc006d3bc']

dependencies = [
('Perl', '5.28.1'),
('any2fasta', '0.4.2', versionsuffix),
('BioPerl', '1.7.2', versionsuffix),
('BLAST+', '2.9.0'),
]

postinstallcmds = ['%(installdir)s/bin/abricate --setupdb']

sanity_check_paths = {
'files': ['bin/abricate', 'bin/abricate-get_db'],
'dirs': ['db'],
}

sanity_check_commands = [
"abricate --help",
"abricate --list",
]

modloadmsg = "abricate databases are located in $EBROOTABRICATE/db\n"

moduleclass = 'bio'
Loading

0 comments on commit 8ebc42f

Please sign in to comment.