From 142703ae8eca0370438bc1536cfea015a0f7029e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 16 Dec 2013 16:07:34 +0100 Subject: [PATCH 0001/1089] add easyconfigs for ATSAS --- .../a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb | 23 +++++++++++++++++++ .../a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb create mode 100644 easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb new file mode 100644 index 0000000000..aaf2a2b8d8 --- /dev/null +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb @@ -0,0 +1,23 @@ +easyblock = 'Tarball' + +name = 'ATSAS' +version = '2.5.1-1.el6.x86_64' + +homepage = 'http://www.embl-hamburg.de/ExternalInfo/Research/Sax/software.html' +description = """ATSAS is a program suite for small-angle scattering data analysis from biological macromolecules.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download via http://www.embl-hamburg.de/biosaxs/download.html +sources = ['%(namelower)s-%(version)s.tar.gz'] + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib64/atsas'], +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib64/atsas'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb new file mode 100644 index 0000000000..37cfd159dd --- /dev/null +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb @@ -0,0 +1,23 @@ +easyblock = 'Tarball' + +name = 'ATSAS' +version = '2.5.1-1.sl5.x86_64' + +homepage = 'http://www.embl-hamburg.de/ExternalInfo/Research/Sax/software.html' +description = """ATSAS is a program suite for small-angle scattering data analysis from biological macromolecules.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download via http://www.embl-hamburg.de/biosaxs/download.html +sources = ['%(namelower)s-%(version)s.tar.gz'] + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib64/atsas'], +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib64/atsas'], +} + +moduleclass = 'bio' -- GitLab From 867a1e5b359e0374cadec7f4cc5f4bf4f642a36b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 18 Dec 2013 07:35:42 +0100 Subject: [PATCH 0002/1089] fix remarks --- easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb | 5 +++-- easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb index aaf2a2b8d8..60a094505c 100644 --- a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb @@ -1,7 +1,8 @@ easyblock = 'Tarball' name = 'ATSAS' -version = '2.5.1-1.el6.x86_64' +version = '2.5.1-1' +versionsuffix = '.el6.x86_64' homepage = 'http://www.embl-hamburg.de/ExternalInfo/Research/Sax/software.html' description = """ATSAS is a program suite for small-angle scattering data analysis from biological macromolecules.""" @@ -9,7 +10,7 @@ description = """ATSAS is a program suite for small-angle scattering data analys toolchain = {'name': 'dummy', 'version': 'dummy'} # download via http://www.embl-hamburg.de/biosaxs/download.html -sources = ['%(namelower)s-%(version)s.tar.gz'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] modextrapaths = { 'LD_LIBRARY_PATH': ['lib64/atsas'], diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb index 37cfd159dd..5dc5ca2151 100644 --- a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb @@ -1,7 +1,8 @@ easyblock = 'Tarball' name = 'ATSAS' -version = '2.5.1-1.sl5.x86_64' +version = '2.5.1-1' +versionsuffix = '.sl5.x86_64' homepage = 'http://www.embl-hamburg.de/ExternalInfo/Research/Sax/software.html' description = """ATSAS is a program suite for small-angle scattering data analysis from biological macromolecules.""" @@ -9,7 +10,7 @@ description = """ATSAS is a program suite for small-angle scattering data analys toolchain = {'name': 'dummy', 'version': 'dummy'} # download via http://www.embl-hamburg.de/biosaxs/download.html -sources = ['%(namelower)s-%(version)s.tar.gz'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] modextrapaths = { 'LD_LIBRARY_PATH': ['lib64/atsas'], -- GitLab From ab483cb47ba1cadf1908c47db776692d4156af78 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 19 Mar 2014 13:47:41 +0100 Subject: [PATCH 0003/1089] add subversion v1.6.23 as build dep for Python 2.5.6, add easyconfigs for subversion + deps --- .../APR-util-1.5.3-goalf-1.1.0-no-OFED.eb | 23 ++++++++++++ .../APR-util-1.5.3-gompi-1.4.12-no-OFED.eb | 23 ++++++++++++ .../a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb | 23 ++++++++++++ .../a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb | 23 ++++++++++++ .../a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb | 23 ++++++++++++ .../a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb | 23 ++++++++++++ .../a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb | 23 ++++++++++++ .../a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb | 17 +++++++++ .../a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb | 17 +++++++++ .../a/APR/APR-1.5.0-goolf-1.4.10.eb | 17 +++++++++ .../a/APR/APR-1.5.0-ictce-4.0.6.eb | 17 +++++++++ .../a/APR/APR-1.5.0-ictce-4.1.13.eb | 17 +++++++++ .../a/APR/APR-1.5.0-ictce-5.2.0.eb | 17 +++++++++ .../a/APR/APR-1.5.0-ictce-5.3.0.eb | 17 +++++++++ .../libxml2-2.9.1-gompi-1.4.12-no-OFED.eb | 22 ++++++++++++ ...libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb | 27 ++++++++++++++ .../l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb | 22 ++++++++++++ .../n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb | 24 +++++++++++++ .../neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb | 24 +++++++++++++ .../n/neon/neon-0.30.0-goolf-1.4.10.eb | 24 +++++++++++++ .../n/neon/neon-0.30.0-ictce-4.0.6.eb | 24 +++++++++++++ .../n/neon/neon-0.30.0-ictce-4.1.13.eb | 24 +++++++++++++ .../n/neon/neon-0.30.0-ictce-5.2.0.eb | 24 +++++++++++++ .../n/neon/neon-0.30.0-ictce-5.3.0.eb | 24 +++++++++++++ .../Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb | 4 +++ .../Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb | 4 +++ .../Python/Python-2.5.6-goolf-1.4.10-bare.eb | 4 +++ .../p/Python/Python-2.5.6-ictce-4.0.6-bare.eb | 4 +++ .../Python/Python-2.5.6-ictce-4.1.13-bare.eb | 4 +++ .../p/Python/Python-2.5.6-ictce-5.2.0-bare.eb | 4 +++ .../p/Python/Python-2.5.6-ictce-5.3.0-bare.eb | 4 +++ .../SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb | 35 +++++++++++++++++++ .../SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb | 35 +++++++++++++++++++ .../s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb | 35 +++++++++++++++++++ .../s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb | 35 +++++++++++++++++++ .../s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb | 35 +++++++++++++++++++ .../s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb | 35 +++++++++++++++++++ .../s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb | 35 +++++++++++++++++++ .../subversion-1.6.23-goalf-1.1.0-no-OFED.eb | 28 +++++++++++++++ .../subversion-1.6.23-gompi-1.4.12-no-OFED.eb | 28 +++++++++++++++ .../subversion-1.6.23-goolf-1.4.10.eb | 28 +++++++++++++++ .../subversion-1.6.23-ictce-4.0.6.eb | 28 +++++++++++++++ .../subversion-1.6.23-ictce-4.1.13.eb | 28 +++++++++++++++ .../subversion-1.6.23-ictce-5.2.0.eb | 28 +++++++++++++++ .../subversion-1.6.23-ictce-5.3.0.eb | 28 +++++++++++++++ .../subversion-1.8.8-goolf-1.4.10.eb | 28 +++++++++++++++ .../subversion-1.8.8-ictce-4.1.13.eb | 28 +++++++++++++++ .../subversion-1.8.8-ictce-5.5.0.eb | 28 +++++++++++++++ .../t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb | 19 ++++++++++ .../t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb | 19 ++++++++++ .../t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb | 19 ++++++++++ .../t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb | 19 ++++++++++ .../t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb | 19 ++++++++++ 53 files changed, 1167 insertions(+) create mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb create mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb create mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb create mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb create mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb create mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb create mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb create mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb create mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb create mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb create mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb create mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb create mode 100755 easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb create mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb create mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb create mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb create mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb create mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb create mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb create mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb create mode 100755 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb create mode 100755 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb create mode 100755 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb new file mode 100644 index 0000000000..f2b2f6d4d4 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb @@ -0,0 +1,23 @@ +name = 'APR-util' +version = '1.5.3' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('APR', '1.5.0')] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb new file mode 100644 index 0000000000..f5f429b778 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb @@ -0,0 +1,23 @@ +name = 'APR-util' +version = '1.5.3' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('APR', '1.5.0')] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb new file mode 100644 index 0000000000..f2b44bb9a1 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb @@ -0,0 +1,23 @@ +name = 'APR-util' +version = '1.5.3' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('APR', '1.5.0')] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb new file mode 100644 index 0000000000..6785705751 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb @@ -0,0 +1,23 @@ +name = 'APR-util' +version = '1.5.3' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'ictce', 'version': '4.0.6'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('APR', '1.5.0')] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb new file mode 100644 index 0000000000..ab0ac9c226 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb @@ -0,0 +1,23 @@ +name = 'APR-util' +version = '1.5.3' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'ictce', 'version': '4.1.13'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('APR', '1.5.0')] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb new file mode 100644 index 0000000000..669555d663 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb @@ -0,0 +1,23 @@ +name = 'APR-util' +version = '1.5.3' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'ictce', 'version': '5.2.0'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('APR', '1.5.0')] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb new file mode 100644 index 0000000000..5820665193 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb @@ -0,0 +1,23 @@ +name = 'APR-util' +version = '1.5.3' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'ictce', 'version': '5.3.0'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('APR', '1.5.0')] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb new file mode 100644 index 0000000000..42d75b76df --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb @@ -0,0 +1,17 @@ +name = 'APR' +version = '1.5.0' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb new file mode 100644 index 0000000000..c9b38d32bc --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb @@ -0,0 +1,17 @@ +name = 'APR' +version = '1.5.0' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb new file mode 100644 index 0000000000..e069e515a2 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb @@ -0,0 +1,17 @@ +name = 'APR' +version = '1.5.0' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb new file mode 100644 index 0000000000..bb13d21a33 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb @@ -0,0 +1,17 @@ +name = 'APR' +version = '1.5.0' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'ictce', 'version': '4.0.6'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb new file mode 100644 index 0000000000..c26ce2075a --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb @@ -0,0 +1,17 @@ +name = 'APR' +version = '1.5.0' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'ictce', 'version': '4.1.13'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb new file mode 100644 index 0000000000..3f74bca0b9 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb @@ -0,0 +1,17 @@ +name = 'APR' +version = '1.5.0' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'ictce', 'version': '5.2.0'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb new file mode 100644 index 0000000000..7c6b787d78 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb @@ -0,0 +1,17 @@ +name = 'APR' +version = '1.5.0' + +homepage = 'http://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'ictce', 'version': '5.3.0'} + +source_urls = ['http://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb new file mode 100644 index 0000000000..6e4ab86218 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.1' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable +outside of the Gnome platform).""" + +toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' + +dependencies = [('zlib', '1.2.7')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb new file mode 100755 index 0000000000..d68ae2eaee --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.9.1' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic' + +pythonver = '2.7.5' +pythonshortver = '.'.join(pythonver.split('.')[0:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb new file mode 100644 index 0000000000..232c2e480f --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.1' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'ictce', 'version': '5.2.0'} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' + +dependencies = [('zlib', '1.2.7')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb new file mode 100644 index 0000000000..f111e9310e --- /dev/null +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb @@ -0,0 +1,24 @@ +name = 'neon' +version = '0.30.0' + +homepage = 'http://www.webdav.org/neon/' +description = "neon is an HTTP and WebDAV client library, with a C interface." + +toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} + +source_urls = [homepage] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.7'), + ('libxml2', '2.9.1'), +] + +configopts = "--with-libxml2" + +sanity_check_paths = { + 'files': ["bin/neon-config", "lib/libneon.a"], + 'dirs': ["include/neon"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb new file mode 100644 index 0000000000..212229e999 --- /dev/null +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb @@ -0,0 +1,24 @@ +name = 'neon' +version = '0.30.0' + +homepage = 'http://www.webdav.org/neon/' +description = "neon is an HTTP and WebDAV client library, with a C interface." + +toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} + +source_urls = [homepage] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.7'), + ('libxml2', '2.9.1'), +] + +configopts = "--with-libxml2" + +sanity_check_paths = { + 'files': ["bin/neon-config", "lib/libneon.a"], + 'dirs': ["include/neon"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb new file mode 100644 index 0000000000..dbf0e6619b --- /dev/null +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb @@ -0,0 +1,24 @@ +name = 'neon' +version = '0.30.0' + +homepage = 'http://www.webdav.org/neon/' +description = "neon is an HTTP and WebDAV client library, with a C interface." + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [homepage] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.7'), + ('libxml2', '2.9.1'), +] + +configopts = "--with-libxml2" + +sanity_check_paths = { + 'files': ["bin/neon-config", "lib/libneon.a"], + 'dirs': ["include/neon"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb new file mode 100644 index 0000000000..fdf1eabe1a --- /dev/null +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb @@ -0,0 +1,24 @@ +name = 'neon' +version = '0.30.0' + +homepage = 'http://www.webdav.org/neon/' +description = "neon is an HTTP and WebDAV client library, with a C interface." + +toolchain = {'name': 'ictce', 'version': '4.0.6'} + +source_urls = [homepage] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.7'), + ('libxml2', '2.9.1'), +] + +configopts = "--with-libxml2" + +sanity_check_paths = { + 'files': ["bin/neon-config", "lib/libneon.a"], + 'dirs': ["include/neon"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb new file mode 100644 index 0000000000..97eea6a566 --- /dev/null +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb @@ -0,0 +1,24 @@ +name = 'neon' +version = '0.30.0' + +homepage = 'http://www.webdav.org/neon/' +description = "neon is an HTTP and WebDAV client library, with a C interface." + +toolchain = {'name': 'ictce', 'version': '4.1.13'} + +source_urls = [homepage] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.7'), + ('libxml2', '2.9.1'), +] + +configopts = "--with-libxml2" + +sanity_check_paths = { + 'files': ["bin/neon-config", "lib/libneon.a"], + 'dirs': ["include/neon"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb new file mode 100644 index 0000000000..244a91df81 --- /dev/null +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb @@ -0,0 +1,24 @@ +name = 'neon' +version = '0.30.0' + +homepage = 'http://www.webdav.org/neon/' +description = "neon is an HTTP and WebDAV client library, with a C interface." + +toolchain = {'name': 'ictce', 'version': '5.2.0'} + +source_urls = [homepage] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.7'), + ('libxml2', '2.9.1'), +] + +configopts = "--with-libxml2" + +sanity_check_paths = { + 'files': ["bin/neon-config", "lib/libneon.a"], + 'dirs': ["include/neon"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb new file mode 100644 index 0000000000..6dd467a1fe --- /dev/null +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb @@ -0,0 +1,24 @@ +name = 'neon' +version = '0.30.0' + +homepage = 'http://www.webdav.org/neon/' +description = "neon is an HTTP and WebDAV client library, with a C interface." + +toolchain = {'name': 'ictce', 'version': '5.3.0'} + +source_urls = [homepage] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.7'), + ('libxml2', '2.9.1'), +] + +configopts = "--with-libxml2" + +sanity_check_paths = { + 'files': ["bin/neon-config", "lib/libneon.a"], + 'dirs': ["include/neon"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb index 279bdd8c99..6bc189fb19 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb @@ -19,6 +19,10 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] +# Python 2.5 requires an old subversion version to build correctly, +# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' +builddependencies = [('subversion', '1.6.23')] + osdependencies = [('openssl-devel', 'libssl-dev')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb index f9f346f7bc..ba4c8ccf22 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb @@ -19,6 +19,10 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] +# Python 2.5 requires an old subversion version to build correctly, +# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' +builddependencies = [('subversion', '1.6.23')] + osdependencies = [('openssl-devel', 'libssl-dev')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb index 66cb466a25..9074876929 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb @@ -19,6 +19,10 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] +# Python 2.5 requires an old subversion version to build correctly, +# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' +builddependencies = [('subversion', '1.6.23')] + osdependencies = [('openssl-devel', 'libssl-dev')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb index 781b45ed3f..8df72e769a 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb @@ -21,6 +21,10 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] +# Python 2.5 requires an old subversion version to build correctly, +# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' +builddependencies = [('subversion', '1.6.23')] + osdependencies = [('openssl-devel', 'libssl-dev')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb index c8bc196270..6fde08c369 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb @@ -21,6 +21,10 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] +# Python 2.5 requires an old subversion version to build correctly, +# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' +builddependencies = [('subversion', '1.6.23')] + osdependencies = [('openssl-devel', 'libssl-dev')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb index 79512f826c..a35457f6ec 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb @@ -19,6 +19,10 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] +# Python 2.5 requires an old subversion version to build correctly, +# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' +builddependencies = [('subversion', '1.6.23')] + osdependencies = [('openssl-devel', 'libssl-dev')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb index f949db90c2..99ba7a0a56 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb @@ -19,6 +19,10 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] +# Python 2.5 requires an old subversion version to build correctly, +# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' +builddependencies = [('subversion', '1.6.23')] + osdependencies = [('openssl-devel', 'libssl-dev')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb new file mode 100644 index 0000000000..1f9d380786 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.4.1' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb new file mode 100644 index 0000000000..330ea91aef --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.4.1' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb new file mode 100644 index 0000000000..72c8d21c52 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.4.1' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb new file mode 100644 index 0000000000..8ab8985748 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.4.1' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'ictce', 'version': '4.0.6'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb new file mode 100644 index 0000000000..6948614b01 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.4.1' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'ictce', 'version': '4.1.13'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb new file mode 100644 index 0000000000..6a16570c53 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.4.1' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'ictce', 'version': '5.2.0'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb new file mode 100644 index 0000000000..499e33114e --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.4.1' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'ictce', 'version': '5.3.0'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb new file mode 100644 index 0000000000..10fcdfa9b8 --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.6.23' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb new file mode 100644 index 0000000000..18b01448ee --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.6.23' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb new file mode 100644 index 0000000000..c4f4b6ed90 --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.6.23' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb new file mode 100644 index 0000000000..cc7766f42b --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.6.23' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'ictce', 'version': '4.0.6'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb new file mode 100644 index 0000000000..0e7556d3dd --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.6.23' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'ictce', 'version': '4.1.13'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb new file mode 100644 index 0000000000..3dd8117f6f --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.6.23' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'ictce', 'version': '5.2.0'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb new file mode 100644 index 0000000000..8b59c05878 --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.6.23' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'ictce', 'version': '5.3.0'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb new file mode 100644 index 0000000000..5f9488ba6c --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.8.8' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb new file mode 100644 index 0000000000..672480bf95 --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.8.8' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'ictce', 'version': '4.1.13'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb new file mode 100644 index 0000000000..17a3d6e7d2 --- /dev/null +++ b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb @@ -0,0 +1,28 @@ +name = 'subversion' +version = '1.8.8' + +homepage = 'http://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['http://archive.apache.org/dist/subversion/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +dependencies = [ + ('APR', '1.5.0'), + ('APR-util', '1.5.3'), + ('SQLite', '3.8.4.1'), + ('zlib', '1.2.7'), + ('neon', '0.30.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb new file mode 100644 index 0000000000..688b7db304 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb @@ -0,0 +1,19 @@ +name = 'Tcl' +version = '8.6.1' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb new file mode 100644 index 0000000000..bf05390914 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb @@ -0,0 +1,19 @@ +name = 'Tcl' +version = '8.6.1' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb new file mode 100755 index 0000000000..4497a53f78 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb @@ -0,0 +1,19 @@ +name = 'Tcl' +version = '8.6.1' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'ictce', 'version': '4.0.6'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb new file mode 100755 index 0000000000..a112f672e2 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb @@ -0,0 +1,19 @@ +name = 'Tcl' +version = '8.6.1' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'ictce', 'version': '4.1.13'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb new file mode 100755 index 0000000000..d9d3d41205 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb @@ -0,0 +1,19 @@ +name = 'Tcl' +version = '8.6.1' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'ictce', 'version': '5.2.0'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' -- GitLab From 3c41da9803d064e8e7ecdfafcc408551072ef28f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 19 Mar 2014 17:02:30 +0100 Subject: [PATCH 0004/1089] drop subversion v1.8.8 ictce/5.5.0 easyconfig --- .../subversion-1.8.8-ictce-5.5.0.eb | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb deleted file mode 100644 index 17a3d6e7d2..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-5.5.0.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.8.8' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' -- GitLab From 8d87638c6dd193e9b7950b4bfdf5f929f624b150 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 6 Aug 2014 12:25:14 +0300 Subject: [PATCH 0005/1089] Adding CP2K v.2.4.0 and CP2K with i-pi --- .../c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb | 37 ++ .../c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb | 35 ++ .../easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch | 509 ++++++++++++++++++ .../c/CP2K/fix_compile_date_lastcvs.patch | 11 +- 4 files changed, 585 insertions(+), 7 deletions(-) create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb new file mode 100644 index 0000000000..8c26b632c2 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb @@ -0,0 +1,37 @@ +name = 'CP2K' +version = '2.4.0' +versionsuffix = '-ipi' + +homepage = 'http://www.cp2k.org' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, + to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. + It provides a general framework for different methods such as e.g. density functional theory (DFT) + using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials. """ + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://sourceforge.net/projects/cp2k/files/'] + +sources = ['%s-%s.tar.bz2' % (name.lower(), version)] + +patches = [ + 'cp2k-2.4.0_ipi.patch', + 'fix_compile_date_lastcvs.patch', + 'do_regtest_nocompile.patch' + ] + +builddependencies = [ + ('flex', '2.5.35'), + ('Bison', '2.5') + ] + +dependencies = [('Libint', '1.1.4')] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# about 100 tests fail +ignore_regtest_fails=True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb new file mode 100644 index 0000000000..9389d88e83 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb @@ -0,0 +1,35 @@ +name = 'CP2K' +version = '2.4.0' + +homepage = 'http://www.cp2k.org' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, + to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. + It provides a general framework for different methods such as e.g. density functional theory (DFT) + using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials. """ + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://sourceforge.net/projects/cp2k/files/'] + +sources = ['%s-%s.tar.bz2' % (name.lower(), version)] + +patches = [ + 'fix_compile_date_lastcvs.patch', + 'do_regtest_nocompile.patch' + ] + +builddependencies = [ + ('flex', '2.5.35'), + ('Bison', '2.5') + ] + +dependencies = [('Libint', '1.1.4')] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# about 100 tests fail +ignore_regtest_fails=True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch b/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch new file mode 100644 index 0000000000..ba7ceaf26e --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch @@ -0,0 +1,509 @@ +diff -rupN cp2k-2.4.0_ref/makefiles/Makefile cp2k-2.4.0/makefiles/Makefile +--- cp2k-2.4.0_ref/makefiles/Makefile 2013-08-15 10:46:04.535899216 +0100 ++++ cp2k-2.4.0/makefiles/Makefile 2013-08-15 10:53:45.827911028 +0100 +@@ -354,7 +354,7 @@ else + LIB_OBJECTS = + endif + +-$(LIB_CP2K_ARCHIVE): $(OBJECTS) ++$(LIB_CP2K_ARCHIVE): $(OBJECTS) sockets.o + $(AR) $(LIB_CP2K_ARCHIVE) $? + ifneq ($(RANLIB),) + $(RANLIB) $(LIB_CP2K_ARCHIVE) +diff -rupN cp2k-2.4.0_ref/src/cp2k_runs.F cp2k-2.4.0/src/cp2k_runs.F +--- cp2k-2.4.0_ref/src/cp2k_runs.F 2013-08-15 10:46:04.091899205 +0100 ++++ cp2k-2.4.0/src/cp2k_runs.F 2013-08-15 10:56:31.715915275 +0100 +@@ -73,10 +73,10 @@ MODULE cp2k_runs + USE input_constants, ONLY: & + bsse_run, cell_opt_run, debug_run, do_atom, do_band, do_cp2k, do_ep, & + do_farming, do_fist, do_mixed, do_opt_basis, do_optimize_input, & +- do_qmmm, do_qs, do_tamc, do_test, ehrenfest, electronic_spectra_run, & +- energy_force_run, energy_run, geo_opt_run, linear_response_run, & +- mol_dyn_run, mon_car_run, none_run, pint_run, real_time_propagation, & +- vib_anal ++ do_qmmm, do_qs, do_tamc, do_test, driver_run, ehrenfest, & ++ electronic_spectra_run, energy_force_run, energy_run, geo_opt_run, & ++ linear_response_run, mol_dyn_run, mon_car_run, none_run, pint_run, & ++ real_time_propagation, vib_anal + USE input_cp2k, ONLY: create_cp2k_input_reading,& + create_cp2k_root_section,& + create_global_section,& +@@ -117,6 +117,7 @@ MODULE cp2k_runs + USE timings, ONLY: timeset,& + timestop + USE vibrational_analysis, ONLY: vb_anal ++ USE driver, ONLY: run_driver + #include "cp_common_uses.h" + + IMPLICIT NONE +@@ -362,6 +363,8 @@ CONTAINS + error=suberror) + CASE (mol_dyn_run) + CALL qs_mol_dyn ( force_env, globenv, error=suberror ) ++ CASE (driver_run) ++ CALL run_driver ( force_env, globenv, error=suberror ) + CASE (geo_opt_run) + CALL cp_geo_opt(force_env,globenv,error=suberror) + CASE (cell_opt_run) +diff -rupN cp2k-2.4.0_ref/src/driver.F cp2k-2.4.0/src/driver.F +--- cp2k-2.4.0_ref/src/driver.F 1970-01-01 01:00:00.000000000 +0100 ++++ cp2k-2.4.0/src/driver.F 2013-08-15 15:43:44.895650242 +0100 +@@ -0,0 +1,216 @@ ++! ***************************************************************************** ++!> \brief Driver mode - To communicate with i-PI Python wrapper ++!> \par History ++!> none ++!> \author Michele Ceriotti 03.2012 ++! ***************************************************************************** ++MODULE driver ++ ++ USE force_env_methods, ONLY: force_env_calc_energy_force ++ USE force_env_types, ONLY: force_env_get,& ++ force_env_type, & ++ force_env_set_cell ++ USE kinds, ONLY: default_path_length,& ++ dp ++ USE input_section_types, ONLY: section_vals_get_subs_vals,& ++ section_vals_type,& ++ section_vals_val_get ++ ++ USE cell_types, ONLY: cell_clone,& ++ cell_create,& ++ cell_release,& ++ cell_type,& ++ compare_cells,& ++ init_cell,& ++ real_to_scaled,& ++ scaled_to_real ++ USE global_types, ONLY: global_environment_type ++ USE f77_interface, ONLY: default_para_env ++ USE cp_external_control, ONLY: external_control ++ USE message_passing, ONLY: mp_bcast, mp_sync ++ USE cp_subsys_types, ONLY: cp_subsys_release,& ++ cp_subsys_type ++ USE iso_c_binding ++ USE virial_types, ONLY: virial_type ++#include "cp_common_uses.h"t ++ ++ IMPLICIT NONE ++ ++ interface ++ subroutine usleep(useconds) bind(C) ++ ! integer(c_int) function usleep(useconds) bind(C) ++ use iso_c_binding ++ implicit none ++ integer(c_int32_t), value :: useconds ++ ! end function ++ end subroutine ++ end interface ++ ++ CONTAINS ++ SUBROUTINE run_driver ( force_env, globenv, error ) ++ TYPE(force_env_type), POINTER :: force_env ++ TYPE(global_environment_type), POINTER :: globenv ++ TYPE(cp_error_type), INTENT(inout) :: error ++ ++ TYPE(section_vals_type), POINTER :: drv_section, motion_section ++ TYPE(virial_type), POINTER :: virial ++ ++ CHARACTER(len=default_path_length) :: drv_hostname, c_hostname ++ INTEGER :: drv_port ++ LOGICAL :: drv_unix ++ ++ !MIK DRIVER ++ ! server address parsing ++ CHARACTER*1024 :: serveraddr, host ++ INTEGER socket, port, inet, nread, readbuffer, slock, swait, uwait ++ ! buffers and temporaries for communication ++ INTEGER, PARAMETER :: MSGLEN=12 ++ LOGICAL :: isinit=.true., hasdata=.false., ionode=.false. ++ CHARACTER*12 :: header ++ CHARACTER*1024 :: parbuffer ++ INTEGER nat ++ REAL *8 :: cellh(3,3), cellih(3,3), vir(3,3), pot ++ REAL*8, ALLOCATABLE :: combuf(:) ++ REAL*8 :: sigma(3,3) ++ ! access cp2k structures ++ TYPE(cp_subsys_type), POINTER :: subsys ++ integer ip, ii, idir ++ TYPE(cell_type), POINTER :: cpcell ++ logical should_stop ++ ionode=(default_para_env%source==default_para_env%mepos) ++ ++ ! reads driver parameters from input ++ motion_section => section_vals_get_subs_vals(force_env%root_section,"MOTION",error=error) ++ drv_section => section_vals_get_subs_vals(motion_section,"DRIVER",error=error) ++ ++ CALL section_vals_val_get(drv_section,"HOST",c_val=drv_hostname,error=error) ++ CALL section_vals_val_get(drv_section,"PORT",i_val=drv_port,error=error) ++ CALL section_vals_val_get(drv_section,"UNIX",l_val=drv_unix,error=error) ++ ++ ++ ! opens the socket ++ socket=0 ++ inet=1 ++ if (ionode) then ++ write(*,*) "@ i-PI DRIVER BEING LOADED" ++ write(*,*) "@ INPUT DATA: ", TRIM(drv_hostname), drv_port, drv_unix ++ c_hostname=TRIM(drv_hostname)//achar(0) ++ CALL open_socket(socket, .not. drv_unix, drv_port, c_hostname) ++ endif ++ ++ !now we have a socket, so we can initialize the CP2K environments. ++ NULLIFY(cpcell) ++ call cell_create(cpcell,error=error) ++ uwait=10000 ! number of MICROseconds to be waited in filesystem lock ++ driver_loop: DO ++ ! do communication on master node only... ++ header = "" ++ ++ ! this syncs the processes, possibly (see sockets.c) without calling MPI_Barrier, ++ ! which is nice as MPI_barrier eats up a lot of CPU for nothing ++ inet=slock(default_para_env%source, default_para_env%mepos) ++ CALL mp_sync(default_para_env%group) ++ ++ if (ionode) nread=readbuffer(socket, header, MSGLEN) ++ if (ionode) write(0,*) "returned from readbuffer" ++ ++ inet=swait(uwait, default_para_env%source, default_para_env%mepos) ++ CALL mp_sync(default_para_env%group) ++ ++ call mp_bcast(nread,default_para_env%source, default_para_env%group) ++ if (nread .eq. 0) then ++ if (ionode) write(*,*) " @ DRIVER MODE: Could not read from socket, exiting now." ++ exit ++ endif ++ ++ call mp_bcast(header,default_para_env%source, default_para_env%group) ++ ++ if (ionode) write(*,*) " @ DRIVER MODE: Message from server: ", trim(header) ++ if (trim(header) == "STATUS") then ++ ++ inet=slock(default_para_env%source, default_para_env%mepos) ++ CALL mp_sync(default_para_env%group) ++ if (ionode) then ! does not need init (well, maybe it should, just to check atom numbers and the like... ) ++ if (hasdata) then ++ call writebuffer(socket,"HAVEDATA ",MSGLEN) ++ else ++ call writebuffer(socket,"READY ",MSGLEN) ++ endif ++ endif ++ inet=swait(uwait,default_para_env%source, default_para_env%mepos) ++ CALL mp_sync(default_para_env%group) ++ else if (trim(header) == "POSDATA") then ++ if (ionode) then ++ nread=readbuffer(socket, cellh, 9*8) ++ nread=readbuffer(socket, cellih, 9*8) ++ nread=readbuffer(socket, nat, 4) ++ cellh=transpose(cellh) ++ cellih=transpose(cellih) ++ endif ++ call mp_bcast(cellh,default_para_env%source, default_para_env%group) ++ call mp_bcast(cellih,default_para_env%source, default_para_env%group) ++ call mp_bcast(nat,default_para_env%source, default_para_env%group) ++ if (.not.allocated(combuf)) allocate(combuf(3*nat)) ++ if (ionode) nread=readbuffer(socket, combuf, nat*3*8) ++ call mp_bcast(combuf,default_para_env%source, default_para_env%group) ++ ++ CALL force_env_get(force_env,subsys=subsys,error=error) ++ if (nat/=subsys%particles%n_els) WRITE(*,*) " @DRIVER MODE: Uh-oh! Particle number mismatch between i-pi and cp2k input!" ++ ii=0 ++ DO ip=1,subsys%particles%n_els ++ DO idir=1,3 ++ ii=ii+1 ++ subsys%particles%els(ip)%r(idir)=combuf(ii) ++ END DO ++ END DO ++ CALL init_cell(cpcell, hmat=cellh) ++ CALL force_env_set_cell(force_env,cell=cpcell,error=error) ++ ++ CALL force_env_calc_energy_force(force_env,calc_force=.TRUE. ,error=error) ++ ++ if (ionode) write(*,*) " @ DRIVER MODE: Received positions " ++ ++ combuf=0 ++ ii=0 ++ DO ip=1,subsys%particles%n_els ++ DO idir=1,3 ++ ii=ii+1 ++ combuf(ii)=subsys%particles%els(ip)%f(idir) ++ END DO ++ END DO ++ CALL force_env_get(force_env, potential_energy=pot, error=error) ++ CALL force_env_get(force_env,cell=cpcell, virial=virial, error=error) ++ vir = transpose(virial%pv_virial) ++ ++ CALL external_control(should_stop,"DPI",globenv=globenv,error=error) ++ IF (should_stop) EXIT ++ ++ hasdata=.true. ++ else if (trim(header)=="GETFORCE") then ++ if (ionode) write(*,*) " @ DRIVER MODE: Returning v,forces,stress " ++ if (ionode) then ++ call writebuffer(socket,"FORCEREADY ",MSGLEN) ++ call writebuffer(socket,pot,8) ++ call writebuffer(socket,nat,4) ++ call writebuffer(socket,combuf,3*nat*8) ++ call writebuffer(socket,vir,9*8) ++ ++ ! i-pi can also receive an arbitrary string, that will be printed out to the "extra" ++ ! trajectory file. this is useful if you want to return additional information, e.g. ++ ! atomic charges, wannier centres, etc. one must return the number of characters, then ++ ! the string. here we just send back zero characters. ++ nat=0 ++ call writebuffer(socket,nat,4) ! writes out zero for the length of the "extra" field (not implemented yet!) ++ endif ++ hasdata=.false. ++ else ++ if (ionode) write(*,*) " @DRIVER MODE: Socket disconnected, time to exit. " ++ exit ++ endif ++ ENDDO driver_loop ++ ++ END SUBROUTINE run_driver ++ ++END MODULE driver ++ ++ +diff -rupN cp2k-2.4.0_ref/src/input_constants.F cp2k-2.4.0/src/input_constants.F +--- cp2k-2.4.0_ref/src/input_constants.F 2013-08-15 10:46:04.107899205 +0100 ++++ cp2k-2.4.0/src/input_constants.F 2013-08-15 10:53:45.839911028 +0100 +@@ -135,7 +135,8 @@ MODULE input_constants + cell_opt_run=14,& + real_time_propagation=15,& + ehrenfest=16, & +- do_tamc=17 ++ do_tamc=17, & ++ driver_run=18 + + ! Run Types of Atom Code + INTEGER, PARAMETER, PUBLIC :: atom_no_run=1,& +diff -rupN cp2k-2.4.0_ref/src/input_cp2k.F cp2k-2.4.0/src/input_cp2k.F +--- cp2k-2.4.0_ref/src/input_cp2k.F 2013-08-15 10:46:04.131899206 +0100 ++++ cp2k-2.4.0/src/input_cp2k.F 2013-08-15 10:53:45.843911028 +0100 +@@ -422,13 +422,13 @@ CONTAINS + "BAND", "CELL_OPT", "WFN_OPT", "WAVEFUNCTION_OPTIMIZATION",& + "MOLECULAR_DYNAMICS", "GEOMETRY_OPTIMIZATION", "MONTECARLO",& + "ELECTRONIC_SPECTRA", "LINEAR_RESPONSE", "NORMAL_MODES","RT_PROPAGATION",& +- "EHRENFEST_DYN","TAMC" ),& ++ "EHRENFEST_DYN","TAMC","DRIVER" ),& + enum_i_vals=(/ none_run, energy_run, energy_force_run, mol_dyn_run,& + geo_opt_run, mon_car_run, electronic_spectra_run, debug_run,& + bsse_run, linear_response_run, pint_run, vib_anal,do_band,& + cell_opt_run, energy_run, energy_run, mol_dyn_run, geo_opt_run,& + mon_car_run, electronic_spectra_run, linear_response_run,& +- vib_anal,real_time_propagation,ehrenfest,do_tamc/),& ++ vib_anal,real_time_propagation,ehrenfest,do_tamc,driver_run/),& + enum_desc=s2a("Perform no tasks", "Computes energy","Computes energy and forces",& + "Molecular Dynamics","Geometry Optimization","Monte Carlo", "Computes absorption Spectra",& + "Performs a Debug analysis","Basis set superposition error","Linear Response",& +@@ -437,7 +437,7 @@ CONTAINS + "Alias for MC","Alias for SPECTRA","Alias for LR","Alias for VIBRATIONAL_ANALYSIS",& + "Real Time propagation run (fixed ionic positions)",& + "Ehrenfest dynamics (using real time propagation of the wavefunction)",& +- "TAMC"),& ++ "TAMC","i-PI driver mode"),& + supported_feature=.TRUE.,error=error) + CALL section_add_keyword(section,keyword,error=error) + CALL keyword_release(keyword,error=error) +diff -rupN cp2k-2.4.0_ref/src/input_cp2k_motion.F cp2k-2.4.0/src/input_cp2k_motion.F +--- cp2k-2.4.0_ref/src/input_cp2k_motion.F 2013-08-15 10:46:04.095899205 +0100 ++++ cp2k-2.4.0/src/input_cp2k_motion.F 2013-08-15 10:53:45.843911028 +0100 +@@ -103,6 +103,10 @@ CONTAINS + CALL section_add_subsection(section,subsection,error=error) + CALL section_release(subsection,error=error) + ++ CALL create_driver_section(subsection,error=error) ++ CALL section_add_subsection(section,subsection,error=error) ++ CALL section_release(subsection,error=error) ++ + CALL create_fe_section(subsection,error=error) + CALL section_add_subsection(section, subsection, error=error) + CALL section_release(subsection,error=error) +@@ -1713,6 +1717,59 @@ CONTAINS + END SUBROUTINE create_md_section + + ! ***************************************************************************** ++!> \param section will contain the driver section ++!> \param error variable to control error logging, stopping,... ++!> see module cp_error_handling ++!> \author mceriotti ++! ***************************************************************************** ++ SUBROUTINE create_driver_section(section,error) ++ TYPE(section_type), POINTER :: section ++ TYPE(cp_error_type), INTENT(inout) :: error ++ ++ CHARACTER(len=*), PARAMETER :: routineN = 'create_driver_section', & ++ routineP = moduleN//':'//routineN ++ ++ LOGICAL :: failure ++ TYPE(keyword_type), POINTER :: keyword ++ ++ failure=.FALSE. ++ ++ CPPrecondition(.NOT.ASSOCIATED(section),cp_failure_level,routineP,error,failure) ++ IF (.NOT. failure) THEN ++ CALL section_create(section,name="DRIVER",& ++ description="This section defines the parameters needed to run in i-PI driver mode.",& ++ n_keywords=3, n_subsections=0, repeats=.FALSE., required=.TRUE.,& ++ error=error) ++ ++ NULLIFY(keyword) ++ CALL keyword_create(keyword, name="unix",& ++ description="Use a UNIX socket rather than an INET socket.",& ++ usage="unix LOGICAL",& ++ default_l_val=.FALSE., lone_keyword_l_val=.TRUE., error=error) ++ CALL section_add_keyword(section,keyword,error=error) ++ CALL keyword_release(keyword,error=error) ++ ++ CALL keyword_create(keyword, name="port",& ++ description="Port number for the i-PI server.",& ++ usage="port ",& ++ default_i_val=12345, error=error) ++ CALL section_add_keyword(section,keyword,error=error) ++ CALL keyword_release(keyword,error=error) ++ ++ ++ CALL keyword_create(keyword, name="host",& ++ description="Host name for the i-PI server.",& ++ usage="host ",& ++ default_c_val="localhost", error=error) ++ CALL section_add_keyword(section,keyword,error=error) ++ CALL keyword_release(keyword,error=error) ++ ++ END IF ++ ++ END SUBROUTINE create_driver_section ++ ++ ++! ***************************************************************************** + !> \brief Defines AVERAGES section + !> \param error variable to control error logging, stopping,... + !> see module cp_error_handling +diff -rupN cp2k-2.4.0_ref/src/OBJECTDEFS cp2k-2.4.0/src/OBJECTDEFS +--- cp2k-2.4.0_ref/src/OBJECTDEFS 2013-08-15 10:46:04.091899205 +0100 ++++ cp2k-2.4.0/src/OBJECTDEFS 2013-08-15 10:53:45.843911028 +0100 +@@ -180,6 +180,7 @@ OBJECTS_GENERIC =\ + dm_ls_scf.o\ + dm_ls_scf_qs.o\ + dm_ls_scf_types.o\ ++ driver.o\ + efield_utils.o\ + eigenvalueproblems.o\ + eip_environment.o\ +diff -rupN cp2k-2.4.0_ref/src/sockets.c cp2k-2.4.0/src/sockets.c +--- cp2k-2.4.0_ref/src/sockets.c 1970-01-01 01:00:00.000000000 +0100 ++++ cp2k-2.4.0/src/sockets.c 2013-08-15 15:27:36.971625458 +0100 +@@ -0,0 +1,112 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++//#define FS_WAIT 1 // uncomment to use a file system lock rather than mpi_barrier. ++ ++void error(const char *msg) ++{ perror(msg); } ++ ++void open_socket_(int *psockfd, int* inet, int* port, char* host) // the darn fortran passes an extra argument for the string length. here I just ignore it ++{ ++ int sockfd, portno, n; ++ struct hostent *server; ++ ++ fprintf(stderr, "Connection requested %s, %d, %d\n", host, *port, *inet); ++ struct sockaddr * psock; int ssock; ++ if (*inet!=0) ++ { ++ struct sockaddr_in serv_addr; psock=(struct sockaddr *)&serv_addr; ssock=sizeof(serv_addr); ++ sockfd = socket(AF_INET, SOCK_STREAM, 0); ++ if (sockfd < 0) error("ERROR opening socket"); ++ ++ server = gethostbyname(host); ++ if (server == NULL) ++ { ++ fprintf(stderr, "ERROR, no such host %s \n", host); ++ exit(-1); ++ } ++ ++ bzero((char *) &serv_addr, sizeof(serv_addr)); ++ serv_addr.sin_family = AF_INET; ++ bcopy((char *)server->h_addr, (char *)&serv_addr.sin_addr.s_addr, server->h_length); ++ serv_addr.sin_port = htons(*port); ++ } ++ else ++ { ++ struct sockaddr_un serv_addr; psock=(struct sockaddr *)&serv_addr; ssock=sizeof(serv_addr); ++ sockfd = socket(AF_UNIX, SOCK_STREAM, 0); ++ bzero((char *) &serv_addr, sizeof(serv_addr)); ++ serv_addr.sun_family = AF_UNIX; ++ strcpy(serv_addr.sun_path, "/tmp/ipi_"); ++ strcpy(serv_addr.sun_path+9, host); ++ } ++ ++ if (connect(sockfd, psock, ssock) < 0) error("ERROR connecting"); ++ ++ *psockfd=sockfd; ++} ++ ++void writebuffer_(int *psockfd, char *data, int* plen) ++{ ++ int n; ++ int sockfd=*psockfd; ++ int len=*plen; ++ ++ n = write(sockfd,data,len); ++ if (n < 0) error("ERROR writing to socket\n"); ++} ++ ++ ++int readbuffer_(int *psockfd, char *data, int* plen) ++{ ++ int n, nr; ++ int sockfd=*psockfd; ++ int len=*plen; ++ ++ n = nr = read(sockfd,data,len); ++ ++ while (nr>0 && n Date: Thu, 7 Aug 2014 14:37:19 +0300 Subject: [PATCH 0006/1089] Adding modified configs and patch file --- .../c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb | 20 +++++++++---------- .../c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb | 18 ++++++++--------- .../easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch | 1 + 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb index 8c26b632c2..567f926654 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb @@ -4,9 +4,9 @@ versionsuffix = '-ipi' homepage = 'http://www.cp2k.org' description = """CP2K is a freely available (GPL) program, written in Fortran 95, - to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. - It provides a general framework for different methods such as e.g. density functional theory (DFT) - using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials. """ + to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. + It provides a general framework for different methods such as e.g. density functional theory (DFT) + using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials. """ toolchain = {'name': 'goolf', 'version': '1.4.10'} @@ -15,15 +15,15 @@ source_urls = ['http://sourceforge.net/projects/cp2k/files/'] sources = ['%s-%s.tar.bz2' % (name.lower(), version)] patches = [ - 'cp2k-2.4.0_ipi.patch', - 'fix_compile_date_lastcvs.patch', - 'do_regtest_nocompile.patch' - ] + 'cp2k-2.4.0_ipi.patch', + 'fix_compile_date_lastcvs.patch', + 'do_regtest_nocompile.patch' + ] builddependencies = [ - ('flex', '2.5.35'), - ('Bison', '2.5') - ] + ('flex', '2.5.35'), + ('Bison', '2.5') + ] dependencies = [('Libint', '1.1.4')] diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb index 9389d88e83..d44d72b4be 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb @@ -3,9 +3,9 @@ version = '2.4.0' homepage = 'http://www.cp2k.org' description = """CP2K is a freely available (GPL) program, written in Fortran 95, - to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. - It provides a general framework for different methods such as e.g. density functional theory (DFT) - using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials. """ + to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. + It provides a general framework for different methods such as e.g. density functional theory (DFT) + using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials. """ toolchain = {'name': 'goolf', 'version': '1.4.10'} @@ -14,14 +14,14 @@ source_urls = ['http://sourceforge.net/projects/cp2k/files/'] sources = ['%s-%s.tar.bz2' % (name.lower(), version)] patches = [ - 'fix_compile_date_lastcvs.patch', - 'do_regtest_nocompile.patch' - ] + 'fix_compile_date_lastcvs.patch', + 'do_regtest_nocompile.patch' + ] builddependencies = [ - ('flex', '2.5.35'), - ('Bison', '2.5') - ] + ('flex', '2.5.35'), + ('Bison', '2.5') + ] dependencies = [('Libint', '1.1.4')] diff --git a/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch b/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch index ba7ceaf26e..b8115df6c5 100644 --- a/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch +++ b/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch @@ -1,3 +1,4 @@ +#This patch makes CP2K source code compatible with i-pi diff -rupN cp2k-2.4.0_ref/makefiles/Makefile cp2k-2.4.0/makefiles/Makefile --- cp2k-2.4.0_ref/makefiles/Makefile 2013-08-15 10:46:04.535899216 +0100 +++ cp2k-2.4.0/makefiles/Makefile 2013-08-15 10:53:45.827911028 +0100 -- GitLab From 6d5ab1a5269f91edace9031576fd66789f3ba1bb Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 3 Sep 2014 13:10:39 +0200 Subject: [PATCH 0007/1089] add easyconfigs for pplacer and OCaml deps --- .../batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb | 32 ++++++++++++++ .../CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb | 36 +++++++++++++++ .../csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb | 35 +++++++++++++++ .../findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb | 29 ++++++++++++ ...SL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb | 35 +++++++++++++++ ...L-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb | 32 ++++++++++++++ ...L-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb | 31 +++++++++++++ .../o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb | 3 ++ .../o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 44 +++++++++++++++++++ .../o/OCaml/OCaml-4.01.0_icc-fixes.patch | 11 +++++ ...er-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 41 +++++++++++++++++ .../s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb | 35 +++++++++++++++ ...e3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb | 32 ++++++++++++++ .../t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb | 19 ++++++++ .../Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb | 20 +++++++++ 15 files changed, 435 insertions(+) create mode 100644 easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch create mode 100644 easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb diff --git a/easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..42ce7ca6fb --- /dev/null +++ b/easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,32 @@ +name = 'batteries' +version = '2.2' + +homepage = 'http://batteries.forge.ocamlcore.org/' +description = """OCaml Batteries included (or simply "Batteries") is a community-driven effort to standardize on an + consistent, documented, and comprehensive development platform for the OCaml programming language.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['http://forge.ocamlcore.org/frs/download.php/1363/'] +sources = [SOURCE_TAR_GZ] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) + +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [(ocaml, ocamlver)] + +skipsteps = ['configure'] + +buildopts = 'all' +preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib" + +modextrapaths = {'OCAMLPATH': 'site-lib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['site-lib/batteries'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..29ce049ecc --- /dev/null +++ b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,36 @@ +name = 'CamlZIP' +version = '1.05' + +homepage = 'https://forge.ocamlcore.org/projects/camlzip/' +description = """This OCaml library provides easy access to compressed files in ZIP + and GZIP format, as well as to Java JAR files. It provides functions + for reading from and writing to compressed files in these formats.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['https://forge.ocamlcore.org/frs/download.php/1037/'] +sources = [SOURCE_TAR_GZ] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) + +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [ + (ocaml, ocamlver), + ('zlib', '1.2.7'), +] + +skipsteps = ['configure', 'install'] + +prebuildopts = "mkdir -p %(installdir)s/site-lib && " +buildopts = 'all && make allopt && OCAMLFIND_DESTDIR=%(installdir)s/site-lib make install-findlib' + +modextrapaths = {'OCAMLPATH': 'site-lib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['site-lib/zip'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..4b85bf3dd4 --- /dev/null +++ b/easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,35 @@ +name = 'csv' +version = '1.3.3' + +homepage = 'https://forge.ocamlcore.org/projects/csv/' +description = """This is a pure OCaml library to read and write CSV files, including all extensions used by Excel -- + e.g., quotes, newlines, 8 bit characters in fields, "0 etc.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['https://forge.ocamlcore.org/frs/download.php/1376/'] +sources = [SOURCE_TAR_GZ] + +patches = ['csv-%(version)s_prefix.patch'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) + +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [(ocaml, ocamlver)] + +skipsteps = ['configure', 'build'] + +preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib PREFIX=%(installdir)s " + +parallel = 1 + +modextrapaths = {'OCAMLPATH': 'site-lib'} + +sanity_check_paths = { + 'files': ['bin/csvtool'], + 'dirs': ['site-lib/csv'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..d5d33d89fc --- /dev/null +++ b/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,29 @@ +name = 'findlib' +version = '1.5.2' + +homepage = 'http://projects.camlcity.org/projects/findlib.html' +description = """Findlib is a library manager for Objective Caml. It provides a convention how to store libraries, + and a file format ("META") to describe the properties of libraries. There is also a tool (ocamlfind) for interpreting + the META files, so that it is very easy to use libraries in programs and scripts.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['http://download.camlcity.org/download/'] +sources = [SOURCE_TAR_GZ] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) +dependencies = [(ocaml, ocamlver)] + +skipsteps = ['configure'] + +premakeopts = "./configure -bindir %(installdir)s/bin && " +preinstallopts = "mkdir %(installdir)s/site-lib && PATH=%(installdir)s/bin:$PATH" + +sanity_check_paths = { + 'files': ['bin/ocamlfind', 'bin/safe_camlp4'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..3ea3a84e5e --- /dev/null +++ b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,35 @@ +name = 'GSL-OCaml' +version = '0.6.3' + +homepage = 'http://mmottl.github.io/gsl-ocaml/' +description = "OCaml bindings to the GSL (GNU Scientific Library)." + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['https://github.com/mmottl/gsl-ocaml/archive/'] +sources = ['v%(version)s.tar.gz'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) + +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [ + (ocaml, ocamlver), + ('GSL', '1.16'), +] + +skipsteps = ['configure'] +prebuildopts = "OCAML_BACKEND=gcc" +preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAML_BACKEND=gcc OCAMLFIND_DESTDIR=%(installdir)s/site-lib" + +parallel = 1 + +modextrapaths = {'OCAMLPATH': 'site-lib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ["site-lib/gsl"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..8ebdaa8e3c --- /dev/null +++ b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,32 @@ +name = 'GSL-OCaml' +version = '1.17.2' + +homepage = 'http://mmottl.github.io/gsl-ocaml/' +description = "OCaml bindings to the GSL (GNU Scientific Library)." + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['https://github.com/mmottl/gsl-ocaml/archive/'] +sources = ['v%(version)s.tar.gz'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) + +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [ + (ocaml, ocamlver), + ('GSL', '1.16'), +] + +configopts = "--destdir=%(installdir)s" +preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib" + +modextrapaths = {'OCAMLPATH': 'site-lib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ["site-lib/gsl"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..87454947cb --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,31 @@ +name = 'MCL' +version = '12-068oasis4' + +homepage = 'https://github.com/fhcrc/mcl' +description = """Graph clustering by flow simulation.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fhcrc/mcl/archive/'] +sources = ['%(version)s.tar.gz'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [(ocaml, ocamlver)] + +preconfigopts = "ocaml setup.ml -configure --prefix %(installdir)s && " +buildopts = "&& ocaml setup.ml -build" +preinstallopts = "mkdir -p %(installdir)s/site-lib &&" +installopts = "&& OCAMLFIND_DESTDIR=%(installdir)s/site-lib ocaml setup.ml -install" + +modextrapaths = {'OCAMLPATH': 'site-lib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb index ce145c9209..00d6056acc 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb @@ -26,11 +26,14 @@ builddependencies = [('Autoconf', '2.69')] dependencies = [('ncurses', '5.9')] prefix_opt = "-prefix " +configopts = '-cc "$CC $CFLAGS"' buildopts = "world.opt" # parallel build tends to break parallel = 1 +modextrapaths = {'CAML_LD_LIBRARY_PATH': 'lib'} + sanity_check_paths = { 'files': ["bin/ocaml", "bin/ocamlc"], 'dirs': [] diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb new file mode 100644 index 0000000000..1c91aeafaa --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -0,0 +1,44 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## + +name = "OCaml" +version = "4.01.0" + +homepage = 'http://ocaml.org/' +description = """OCaml is a general purpose industrial-strength programming language + with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria + it benefits from one of the most advanced type systems and supports functional, + imperative and object-oriented styles of programming.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +sources = ['ocaml-%(version)s.tar.gz'] +sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) +source_urls = ['http://caml.inria.fr/pub/distrib/%s' % sourcedir] + +patches = ['OCaml-%(version)s_icc-fixes.patch'] + +builddependencies = [('Autoconf', '2.69')] +dependencies = [('ncurses', '5.9')] + +prefix_opt = "-prefix " +configopts = '-cc "$CC $CFLAGS"' +buildopts = "world.opt" + +# parallel build tends to break +parallel = 1 + +modextrapaths = {'CAML_LD_LIBRARY_PATH': 'lib'} + +sanity_check_paths = { + 'files': ["bin/ocaml", "bin/ocamlc"], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch new file mode 100644 index 0000000000..595505634a --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -0,0 +1,11 @@ +--- ocaml-4.01.0/configure.orig 2014-08-19 12:26:23.008974288 +0200 ++++ ocaml-4.01.0/configure 2014-08-19 12:27:15.800298562 +0200 +@@ -1015,7 +1015,7 @@ + fi + + has_select=no +-if sh ./hasgot select && \ ++if cc="$cc -wd165" sh ./hasgot select && \ + sh ./hasgot -i sys/types.h $select_include -t fd_set ; then + echo "select() found." + echo "#define HAS_SELECT" >> s.h diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..48464d06a1 --- /dev/null +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'pplacer' +version = '1.1.alpha16' + +homepage = 'http://matsen.fhcrc.org/pplacer/' +description = """Pplacer places query sequences on a fixed reference phylogenetic tree to maximize phylogenetic + likelihood or posterior probability according to a reference alignment. Pplacer is designed to be fast, to give + useful information about uncertainty, and to offer advanced visualization and downstream analysis.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['https://github.com/matsen/pplacer/archive/'] +sources = ['v%(version)s.tar.gz'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [ + (ocaml, ocamlver), + ('batteries', '2.2', versionsuffix), + ('CamlZIP', '1.05', versionsuffix), + ('GSL-OCaml', '0.6.3', versionsuffix), + ('csv', '1.3.3', versionsuffix), + ('SQLite3-OCaml', '2.0.6', versionsuffix), + ('Xmlm', '1.2.0', versionsuffix), + ('MCL', '12-068oasis4', versionsuffix), +] + +prebuildopts = "echo 'let version = \"v1.1.alpha16-9-g78ea126\"\n' > common_src/version.ml && " +parallel = 1 + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/guppy', 'bin/pplacer', 'bin/rppr'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb new file mode 100644 index 0000000000..ab3d1ec5e2 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb @@ -0,0 +1,35 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +name = 'SQLite' +version = '3.8.6' + +homepage = 'http://www.hwaci.com/sw/sqlite/' +description = "SQLite: SQL Database Engine in a C Library" + +# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz +source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] +sources = ['sqlite-autoconf-%s0%s0%s00.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +dependencies = [ + ('libreadline', '6.2'), + ('Tcl', '8.6.1'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..d08ea78903 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,32 @@ +name = 'SQLite3-OCaml' +version = '2.0.6' + +homepage = 'https://github.com/mmottl/sqlite3-ocaml' +description = "OCaml bindings to the SQLite3 database.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['https://github.com/mmottl/sqlite3-ocaml/archive/'] +sources = ['v%(version)s.tar.gz'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) + +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [ + (ocaml, ocamlver), + ('SQLite', '3.8.6'), +] + +configopts = "--destdir=%(installdir)s" +preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib" + +modextrapaths = {'OCAMLPATH': 'site-lib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ["site-lib/sqlite3"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb new file mode 100644 index 0000000000..19a137231e --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb @@ -0,0 +1,19 @@ +name = 'Tcl' +version = '8.6.1' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..7c572b469c --- /dev/null +++ b/easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,20 @@ +name = 'Xmlm' +version = '1.2.0' + +homepage = 'http://erratique.ch/software/xmlm' +description = """Xmlm is an OCaml streaming codec to decode and encode the XML data format. It can process XML + documents without a complete in-memory representation of the data.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ['http://erratique.ch/software/xmlm/releases'] +sources = ['%(namelower)s-%(version)s.tbz'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) + +builddependencies = [('findlib', '1.5.2', versionsuffix)] +dependencies = [(ocaml, ocamlver)] + +moduleclass = 'lib' -- GitLab From fc5be4489ad03f74f3d96f64582bb266f8d3f495 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 4 Sep 2014 09:08:06 +0200 Subject: [PATCH 0008/1089] ad missing patch file for csv --- easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch diff --git a/easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch b/easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch new file mode 100644 index 0000000000..d76bf10483 --- /dev/null +++ b/easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch @@ -0,0 +1,11 @@ +--- csv-1.3.3/Makefile.orig 2014-08-25 14:32:19.026905764 +0200 ++++ csv-1.3.3/Makefile 2014-08-25 14:32:33.607257131 +0200 +@@ -16,7 +16,7 @@ + ocaml setup.ml -build + + configure: setup.ml +- ocaml $< -configure --enable-tests ++ ocaml $< -configure --enable-tests --prefix $(PREFIX) + + setup.ml: _oasis + oasis setup -setup-update dynamic -- GitLab From 42760da1a91bed74172b2bb0d725b18d5ad9288c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 4 Sep 2014 09:34:26 +0200 Subject: [PATCH 0009/1089] add zlib dependency for pplacer --- .../p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index 48464d06a1..935d5edab7 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -18,6 +18,7 @@ ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [ + ('zlib', '1.2.7'), (ocaml, ocamlver), ('batteries', '2.2', versionsuffix), ('CamlZIP', '1.05', versionsuffix), -- GitLab From 9c13932ce72143051fe757a4700d7b19527302e5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 4 Sep 2014 09:48:43 +0200 Subject: [PATCH 0010/1089] Revert "add zlib dependency for pplacer" This reverts commit 42760da1a91bed74172b2bb0d725b18d5ad9288c. --- .../p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index 935d5edab7..48464d06a1 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -18,7 +18,6 @@ ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [ - ('zlib', '1.2.7'), (ocaml, ocamlver), ('batteries', '2.2', versionsuffix), ('CamlZIP', '1.05', versionsuffix), -- GitLab From 81722803bfb713021130fbb7760b51de6e738b86 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 4 Sep 2014 11:27:54 +0200 Subject: [PATCH 0011/1089] fix location of findlib.conf --- .../f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb index d5d33d89fc..e9f92f5302 100644 --- a/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb @@ -18,11 +18,13 @@ dependencies = [(ocaml, ocamlver)] skipsteps = ['configure'] -premakeopts = "./configure -bindir %(installdir)s/bin && " +premakeopts = "./configure -bindir %(installdir)s/bin -config %(installdir)s/findlib.conf && " preinstallopts = "mkdir %(installdir)s/site-lib && PATH=%(installdir)s/bin:$PATH" +modextravars = {'OCAMLFIND_CONF': '%(installdir)s/findlib.conf'} + sanity_check_paths = { - 'files': ['bin/ocamlfind', 'bin/safe_camlp4'], + 'files': ['bin/ocamlfind', 'bin/safe_camlp4', 'findlib.conf'], 'dirs': [], } -- GitLab From 9f73f3d64912e83a53eb5bde17eea4d9c3239c3a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 10 Oct 2014 16:48:31 +0200 Subject: [PATCH 0012/1089] get rid of unnecessary patch for OCaml with ictce --- .../easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 2 -- .../easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch | 11 ----------- 2 files changed, 13 deletions(-) delete mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 1c91aeafaa..6ad336f36b 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -22,8 +22,6 @@ sources = ['ocaml-%(version)s.tar.gz'] sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) source_urls = ['http://caml.inria.fr/pub/distrib/%s' % sourcedir] -patches = ['OCaml-%(version)s_icc-fixes.patch'] - builddependencies = [('Autoconf', '2.69')] dependencies = [('ncurses', '5.9')] diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch deleted file mode 100644 index 595505634a..0000000000 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ocaml-4.01.0/configure.orig 2014-08-19 12:26:23.008974288 +0200 -+++ ocaml-4.01.0/configure 2014-08-19 12:27:15.800298562 +0200 -@@ -1015,7 +1015,7 @@ - fi - - has_select=no --if sh ./hasgot select && \ -+if cc="$cc -wd165" sh ./hasgot select && \ - sh ./hasgot -i sys/types.h $select_include -t fd_set ; then - echo "select() found." - echo "#define HAS_SELECT" >> s.h -- GitLab From 53128ed575b3c95c43ca2a811bd65edd31d0482a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 10 Oct 2014 17:21:57 +0200 Subject: [PATCH 0013/1089] Revert "get rid of unnecessary patch for OCaml with ictce" This reverts commit 9f73f3d64912e83a53eb5bde17eea4d9c3239c3a. --- .../easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 2 ++ .../easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 6ad336f36b..1c91aeafaa 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -22,6 +22,8 @@ sources = ['ocaml-%(version)s.tar.gz'] sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) source_urls = ['http://caml.inria.fr/pub/distrib/%s' % sourcedir] +patches = ['OCaml-%(version)s_icc-fixes.patch'] + builddependencies = [('Autoconf', '2.69')] dependencies = [('ncurses', '5.9')] diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch new file mode 100644 index 0000000000..595505634a --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -0,0 +1,11 @@ +--- ocaml-4.01.0/configure.orig 2014-08-19 12:26:23.008974288 +0200 ++++ ocaml-4.01.0/configure 2014-08-19 12:27:15.800298562 +0200 +@@ -1015,7 +1015,7 @@ + fi + + has_select=no +-if sh ./hasgot select && \ ++if cc="$cc -wd165" sh ./hasgot select && \ + sh ./hasgot -i sys/types.h $select_include -t fd_set ; then + echo "select() found." + echo "#define HAS_SELECT" >> s.h -- GitLab From 8b85e2f64d3e0a3ceed8e38ce49f973f50b7219e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Dec 2014 19:34:11 +0100 Subject: [PATCH 0014/1089] add easyconfig for ROOT v5.30.06 with goolf toolchain --- ...libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb | 27 ++++++++++++++ .../r/ROOT/ROOT-v5.30.06-goolf-1.4.10.eb | 35 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb create mode 100755 easybuild/easyconfigs/r/ROOT/ROOT-v5.30.06-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb new file mode 100644 index 0000000000..d68ae2eaee --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.9.1' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic' + +pythonver = '2.7.5' +pythonshortver = '.'.join(pythonver.split('.')[0:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.30.06-goolf-1.4.10.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.30.06-goolf-1.4.10.eb new file mode 100755 index 0000000000..9a78780f34 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.30.06-goolf-1.4.10.eb @@ -0,0 +1,35 @@ +name = 'ROOT' +version = 'v5.30.06' + +homepage = 'http://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} +toolchainopts = {'pic': True} + +sources = ['%(namelower)s_%(version)s.source.tar.gz'] +source_urls = ['ftp://root.cern.ch/root/'] + +python = 'Python' +pyver = '2.7.5' + +dependencies = [ + ('GSL', '1.16'), + ('libxml2', '2.9.1', '-%s-%s' % (python, pyver)), + (python, pyver), +] + +# architecture +arch = 'linuxx8664gcc' + +# disable features +configopts = ' --disable-xft --disable-x11 --disable-xrootd --disable-mysql' +# enable features +configopts += ' --enable-unuran --enable-table --enable-explicitlink --enable-minuit2 --enable-roofit' +configopts += ' --with-gsl-incdir=$EBROOTGSL/include/gsl --with-gsl-libdir=$EBROOTGSL/lib' +configopts += ' --with-fftw3-incdir=$FFTW_INC_DIR --with-fftw3-libdir=$FFTW_LIB_DIR' +configopts += ' --with-xml-incdir=$EBROOTLIBXML2/include/libxml2/libxml --with-xml-libdir=$EBROOTLIBXML2/lib' +configopts += ' --with-python-libdir=$EBROOTPYTHON/lib' + +moduleclass = 'data' -- GitLab From 29f76ad33050d5b831f116f64b79eb4dab79ef87 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 12 Jan 2015 13:52:07 +1300 Subject: [PATCH 0015/1089] New easyconfigs for GROMOS++ and gromosXX --- .../g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb | 30 +++++++++++++++++++ .../g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb | 30 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb create mode 100644 easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb new file mode 100644 index 0000000000..1da3cc48d3 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Benjamin P. Roberts +# New Zealand eScience Infrastructure +# The University of Auckland, Auckland, New Zealand + +easyblock = 'ConfigureMake' + +name = 'GROMOS++' +version = '1.0' + +homepage = 'http://www.gromos.net/' +description = """ GROMOS™ is an acronym of the GROningen MOlecular Simulation +computer program package, which has been developed since 1978 for the dynamic +modelling of (bio)molecules, until 1990 at the University of Groningen, The +Netherlands, and since then at the ETH, the Swiss Federal Institute of +Technology, in Zürich, Switzerland. """ + +toolchain = {'name': 'goolf', 'version': '1.5.14'} + +sources = ['%(namelower)s.tar.bz2'] + +dependencies = [('GSL', '1.16')] + +sanity_check_paths = { + 'files': ["bin/pdb2g96", "bin/gromacs2gromos", "bin/structure_factor", + "lib/gromosplugin.a", "lib/libgromos.a"], + 'dirs': ["include", "share/gromos++"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb new file mode 100644 index 0000000000..9b0643940a --- /dev/null +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Benjamin P. Roberts +# New Zealand eScience Infrastructure +# The University of Auckland, Auckland, New Zealand + +easyblock = 'ConfigureMake' + +name = 'gromosXX' +version = '1.0' + +homepage = 'http://www.gromos.net/' +description = """ GROMOS™ is an acronym of the GROningen MOlecular Simulation +computer program package, which has been developed since 1978 for the dynamic +modelling of (bio)molecules, until 1990 at the University of Groningen, The +Netherlands, and since then at the ETH, the Swiss Federal Institute of +Technology, in Zürich, Switzerland. """ + +toolchain = {'name': 'goolf', 'version': '1.5.14'} + +sources = ['%(name)s.tar.bz2'] + +dependencies = [('GSL', '1.16')] + +sanity_check_paths = { + 'files': ["bin/md", "bin/md_mpi", "lib/libmdpp.a"], + #'files': ["bin/md", "bin/md_mpi"], + 'dirs': ['include/md++'], +} + +moduleclass = 'bio' -- GitLab From 744b58f10247ff8f494f6baa568b945b1eade69b Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 12 Jan 2015 16:37:06 +1300 Subject: [PATCH 0016/1089] Added support for a Linux group for restricting to licensed users --- easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb | 1 + easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb | 1 + 2 files changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb index 1da3cc48d3..557a5258d6 100644 --- a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb @@ -27,4 +27,5 @@ sanity_check_paths = { 'dirs': ["include", "share/gromos++"], } +group = 'gromos' moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb index 9b0643940a..428ee43e0b 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb @@ -27,4 +27,5 @@ sanity_check_paths = { 'dirs': ['include/md++'], } +group = 'gromos' moduleclass = 'bio' -- GitLab From bd538b2ddcdae6590ec32ba6297f94009b130ea2 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Wed, 14 Jan 2015 14:09:44 +1300 Subject: [PATCH 0017/1089] Improved version numbering and OpenMP and MPI variants of GROMOS --- .../GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb | 36 +++++++++++++++++++ ... GROMOS++-1.0.2211-goolf-1.5.14-serial.eb} | 8 +++-- .../gromosXX-1.0.1737-goolf-1.5.14-mpi.eb | 36 +++++++++++++++++++ .../gromosXX-1.0.1737-goolf-1.5.14-openmp.eb | 36 +++++++++++++++++++ ... gromosXX-1.0.1737-goolf-1.5.14-serial.eb} | 8 +++-- 5 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb rename easybuild/easyconfigs/g/GROMOS++/{GROMOS++-1.0-goolf-1.5.14.eb => GROMOS++-1.0.2211-goolf-1.5.14-serial.eb} (84%) create mode 100644 easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb create mode 100644 easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb rename easybuild/easyconfigs/g/gromosXX/{gromosXX-1.0-goolf-1.5.14.eb => gromosXX-1.0.1737-goolf-1.5.14-serial.eb} (83%) diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb new file mode 100644 index 0000000000..f8faf80988 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Benjamin P. Roberts +# New Zealand eScience Infrastructure +# The University of Auckland, Auckland, New Zealand + +easyblock = 'ConfigureMake' + +name = 'GROMOS++' +version = '1.0.2211' +versionsuffix = '-openmp' + +homepage = 'http://www.gromos.net/' +description = """ GROMOS™ is an acronym of the GROningen MOlecular Simulation +computer program package, which has been developed since 1978 for the dynamic +modelling of (bio)molecules, until 1990 at the University of Groningen, The +Netherlands, and since then at the ETH, the Swiss Federal Institute of +Technology, in Zürich, Switzerland. """ + +toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'openmp': True, 'usempi': False} + +sources = ['%(namelower)s-%(version)s.tar.bz2'] + +dependencies = [('GSL', '1.16')] + +preconfigopts = './Config.sh &&' +configopts = '--enable-openmp' + +sanity_check_paths = { + 'files': ["bin/pdb2g96", "bin/gromacs2gromos", "bin/structure_factor", + "lib/gromosplugin.a", "lib/libgromos.a"], + 'dirs': ["include", "share/gromos++"], +} + +group = 'gromos' +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb similarity index 84% rename from easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb rename to easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb index 557a5258d6..31c8c80c13 100644 --- a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb @@ -6,7 +6,8 @@ easyblock = 'ConfigureMake' name = 'GROMOS++' -version = '1.0' +version = '1.0.2211' +versionsuffix = '-serial' homepage = 'http://www.gromos.net/' description = """ GROMOS™ is an acronym of the GROningen MOlecular Simulation @@ -16,11 +17,14 @@ Netherlands, and since then at the ETH, the Swiss Federal Institute of Technology, in Zürich, Switzerland. """ toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'openmp': False, 'usempi': False} -sources = ['%(namelower)s.tar.bz2'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] dependencies = [('GSL', '1.16')] +preconfigopts = './Config.sh &&' + sanity_check_paths = { 'files': ["bin/pdb2g96", "bin/gromacs2gromos", "bin/structure_factor", "lib/gromosplugin.a", "lib/libgromos.a"], diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb new file mode 100644 index 0000000000..1ca0239cec --- /dev/null +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Benjamin P. Roberts +# New Zealand eScience Infrastructure +# The University of Auckland, Auckland, New Zealand + +easyblock = 'ConfigureMake' + +name = 'gromosXX' +version = '1.0.1737' +versionsuffix = '-mpi' + +homepage = 'http://www.gromos.net/' +description = """ GROMOS™ is an acronym of the GROningen MOlecular Simulation +computer program package, which has been developed since 1978 for the dynamic +modelling of (bio)molecules, until 1990 at the University of Groningen, The +Netherlands, and since then at the ETH, the Swiss Federal Institute of +Technology, in Zürich, Switzerland. """ + +toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'openmp': False, 'usempi': True} + +sources = ['%(name)s-%(version)s.tar.bz2'] + +dependencies = [('GSL', '1.16')] + +preconfigopts = './Config.sh &&' +configopts = '--enable-mpi' + +sanity_check_paths = { + 'files': ["bin/md", "bin/md_mpi", "lib/libmdpp.a"], + #'files': ["bin/md", "bin/md_mpi"], + 'dirs': ['include/md++'], +} + +group = 'gromos' +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb new file mode 100644 index 0000000000..0845c8a493 --- /dev/null +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Benjamin P. Roberts +# New Zealand eScience Infrastructure +# The University of Auckland, Auckland, New Zealand + +easyblock = 'ConfigureMake' + +name = 'gromosXX' +version = '1.0.1737' +versionsuffix = '-openmp' + +homepage = 'http://www.gromos.net/' +description = """ GROMOS™ is an acronym of the GROningen MOlecular Simulation +computer program package, which has been developed since 1978 for the dynamic +modelling of (bio)molecules, until 1990 at the University of Groningen, The +Netherlands, and since then at the ETH, the Swiss Federal Institute of +Technology, in Zürich, Switzerland. """ + +toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'openmp': True, 'usempi': False} + +sources = ['%(name)s-%(version)s.tar.bz2'] + +dependencies = [('GSL', '1.16')] + +preconfigopts = './Config.sh &&' +configopts = '--enable-openmp' + +sanity_check_paths = { + 'files': ["bin/md", "bin/md_mpi", "lib/libmdpp.a"], + #'files': ["bin/md", "bin/md_mpi"], + 'dirs': ['include/md++'], +} + +group = 'gromos' +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb similarity index 83% rename from easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb rename to easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb index 428ee43e0b..d48f6a0b1f 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb @@ -6,7 +6,8 @@ easyblock = 'ConfigureMake' name = 'gromosXX' -version = '1.0' +version = '1.0.1737' +versionsuffix = '-serial' homepage = 'http://www.gromos.net/' description = """ GROMOS™ is an acronym of the GROningen MOlecular Simulation @@ -16,11 +17,14 @@ Netherlands, and since then at the ETH, the Swiss Federal Institute of Technology, in Zürich, Switzerland. """ toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'openmp': False, 'usempi': False} -sources = ['%(name)s.tar.bz2'] +sources = ['%(name)s-%(version)s.tar.bz2'] dependencies = [('GSL', '1.16')] +preconfigopts = './Config.sh &&' + sanity_check_paths = { 'files': ["bin/md", "bin/md_mpi", "lib/libmdpp.a"], #'files': ["bin/md", "bin/md_mpi"], -- GitLab From 750e44a9c09fafb64469a8e5a02000ded699cf85 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 16 Jan 2015 14:09:58 +1300 Subject: [PATCH 0018/1089] Updates as per comments --- .../g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb | 4 ++-- .../g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb | 4 ++-- .../g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb | 1 - .../g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb | 1 - .../g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb | 1 - 5 files changed, 4 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb index f8faf80988..b0cbb9b351 100644 --- a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb @@ -19,7 +19,7 @@ Technology, in Zürich, Switzerland. """ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'openmp': True, 'usempi': False} -sources = ['%(namelower)s-%(version)s.tar.bz2'] +sources = [SOURCELOWER_TAR_BZ2] dependencies = [('GSL', '1.16')] @@ -28,7 +28,7 @@ configopts = '--enable-openmp' sanity_check_paths = { 'files': ["bin/pdb2g96", "bin/gromacs2gromos", "bin/structure_factor", - "lib/gromosplugin.a", "lib/libgromos.a"], + "lib/gromosplugin.a", "lib/libgromos.a"], 'dirs': ["include", "share/gromos++"], } diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb index 31c8c80c13..9d4e1b8c63 100644 --- a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb @@ -19,7 +19,7 @@ Technology, in Zürich, Switzerland. """ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'openmp': False, 'usempi': False} -sources = ['%(namelower)s-%(version)s.tar.bz2'] +sources = [SOURCELOWER_TAR_BZ2] dependencies = [('GSL', '1.16')] @@ -27,7 +27,7 @@ preconfigopts = './Config.sh &&' sanity_check_paths = { 'files': ["bin/pdb2g96", "bin/gromacs2gromos", "bin/structure_factor", - "lib/gromosplugin.a", "lib/libgromos.a"], + "lib/gromosplugin.a", "lib/libgromos.a"], 'dirs': ["include", "share/gromos++"], } diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb index 1ca0239cec..323c0f50ec 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb @@ -28,7 +28,6 @@ configopts = '--enable-mpi' sanity_check_paths = { 'files': ["bin/md", "bin/md_mpi", "lib/libmdpp.a"], - #'files': ["bin/md", "bin/md_mpi"], 'dirs': ['include/md++'], } diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb index 0845c8a493..b47b02b824 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb @@ -28,7 +28,6 @@ configopts = '--enable-openmp' sanity_check_paths = { 'files': ["bin/md", "bin/md_mpi", "lib/libmdpp.a"], - #'files': ["bin/md", "bin/md_mpi"], 'dirs': ['include/md++'], } diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb index d48f6a0b1f..d0b7ca517a 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb @@ -27,7 +27,6 @@ preconfigopts = './Config.sh &&' sanity_check_paths = { 'files': ["bin/md", "bin/md_mpi", "lib/libmdpp.a"], - #'files': ["bin/md", "bin/md_mpi"], 'dirs': ['include/md++'], } -- GitLab From 873923b04ca2661d61be0993d2088332e2757f9f Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Thu, 29 Jan 2015 10:51:00 +1300 Subject: [PATCH 0019/1089] Removed group directive per request from user @boegel --- .../g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb | 1 - .../g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb | 1 - .../easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb | 1 - .../g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb | 1 - .../g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb | 1 - 5 files changed, 5 deletions(-) diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb index b0cbb9b351..cd7029cdae 100644 --- a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-openmp.eb @@ -32,5 +32,4 @@ sanity_check_paths = { 'dirs': ["include", "share/gromos++"], } -group = 'gromos' moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb index 9d4e1b8c63..2b1345c99b 100644 --- a/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb +++ b/easybuild/easyconfigs/g/GROMOS++/GROMOS++-1.0.2211-goolf-1.5.14-serial.eb @@ -31,5 +31,4 @@ sanity_check_paths = { 'dirs': ["include", "share/gromos++"], } -group = 'gromos' moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb index 323c0f50ec..3020c00623 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-mpi.eb @@ -31,5 +31,4 @@ sanity_check_paths = { 'dirs': ['include/md++'], } -group = 'gromos' moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb index b47b02b824..8cae45f338 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-openmp.eb @@ -31,5 +31,4 @@ sanity_check_paths = { 'dirs': ['include/md++'], } -group = 'gromos' moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb index d0b7ca517a..075812f642 100644 --- a/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb +++ b/easybuild/easyconfigs/g/gromosXX/gromosXX-1.0.1737-goolf-1.5.14-serial.eb @@ -30,5 +30,4 @@ sanity_check_paths = { 'dirs': ['include/md++'], } -group = 'gromos' moduleclass = 'bio' -- GitLab From b7a9da861043eb87f6519823a05253022134e40e Mon Sep 17 00:00:00 2001 From: Jordi Blasco Date: Thu, 26 Mar 2015 11:12:41 +1300 Subject: [PATCH 0020/1089] itac-9.0.3.051 --- .../easyconfigs/i/itac/itac-9.0.3.051.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/i/itac/itac-9.0.3.051.eb diff --git a/easybuild/easyconfigs/i/itac/itac-9.0.3.051.eb b/easybuild/easyconfigs/i/itac/itac-9.0.3.051.eb new file mode 100644 index 0000000000..42551d67c6 --- /dev/null +++ b/easybuild/easyconfigs/i/itac/itac-9.0.3.051.eb @@ -0,0 +1,21 @@ +name = 'itac' +version = '9.0.3.051' + +homepage = 'http://software.intel.com/en-us/intel-trace-analyzer/' +description = """The Intel Trace Collector is a low-overhead tracing library that performs + event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application + activities gathered by the Intel Trace Collector through graphical displays. """ + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +sources = ['l_itac_p_%(version)s.tgz'] + +dontcreateinstalldir = 'True' + +preferredmpi = 'impi5' + +# license file +import os +license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") + +moduleclass = 'tools' -- GitLab From b9f6e36fe37d60e768e3c8a11290d4ccad3541c9 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 19 May 2015 23:02:17 +0200 Subject: [PATCH 0021/1089] include extensions in OCaml easyconfigs --- .../csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb | 35 ------------------ .../easyconfigs/c/csv/csv-1.3.3_prefix.patch | 11 ------ .../findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb | 31 ---------------- .../o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb | 33 +++++++++-------- .../o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 37 ++++++++++--------- .../Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb | 20 ---------- 6 files changed, 37 insertions(+), 130 deletions(-) delete mode 100644 easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb delete mode 100644 easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch delete mode 100644 easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb delete mode 100644 easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb diff --git a/easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index 4b85bf3dd4..0000000000 --- a/easybuild/easyconfigs/c/csv/csv-1.3.3-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,35 +0,0 @@ -name = 'csv' -version = '1.3.3' - -homepage = 'https://forge.ocamlcore.org/projects/csv/' -description = """This is a pure OCaml library to read and write CSV files, including all extensions used by Excel -- - e.g., quotes, newlines, 8 bit characters in fields, "0 etc.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['https://forge.ocamlcore.org/frs/download.php/1376/'] -sources = [SOURCE_TAR_GZ] - -patches = ['csv-%(version)s_prefix.patch'] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) - -builddependencies = [('findlib', '1.5.2', versionsuffix)] -dependencies = [(ocaml, ocamlver)] - -skipsteps = ['configure', 'build'] - -preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib PREFIX=%(installdir)s " - -parallel = 1 - -modextrapaths = {'OCAMLPATH': 'site-lib'} - -sanity_check_paths = { - 'files': ['bin/csvtool'], - 'dirs': ['site-lib/csv'], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch b/easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch deleted file mode 100644 index d76bf10483..0000000000 --- a/easybuild/easyconfigs/c/csv/csv-1.3.3_prefix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- csv-1.3.3/Makefile.orig 2014-08-25 14:32:19.026905764 +0200 -+++ csv-1.3.3/Makefile 2014-08-25 14:32:33.607257131 +0200 -@@ -16,7 +16,7 @@ - ocaml setup.ml -build - - configure: setup.ml -- ocaml $< -configure --enable-tests -+ ocaml $< -configure --enable-tests --prefix $(PREFIX) - - setup.ml: _oasis - oasis setup -setup-update dynamic diff --git a/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index e9f92f5302..0000000000 --- a/easybuild/easyconfigs/f/findlib/findlib-1.5.2-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,31 +0,0 @@ -name = 'findlib' -version = '1.5.2' - -homepage = 'http://projects.camlcity.org/projects/findlib.html' -description = """Findlib is a library manager for Objective Caml. It provides a convention how to store libraries, - and a file format ("META") to describe the properties of libraries. There is also a tool (ocamlfind) for interpreting - the META files, so that it is very easy to use libraries in programs and scripts.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['http://download.camlcity.org/download/'] -sources = [SOURCE_TAR_GZ] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) -dependencies = [(ocaml, ocamlver)] - -skipsteps = ['configure'] - -premakeopts = "./configure -bindir %(installdir)s/bin -config %(installdir)s/findlib.conf && " -preinstallopts = "mkdir %(installdir)s/site-lib && PATH=%(installdir)s/bin:$PATH" - -modextravars = {'OCAMLFIND_CONF': '%(installdir)s/findlib.conf'} - -sanity_check_paths = { - 'files': ['bin/ocamlfind', 'bin/safe_camlp4', 'findlib.conf'], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb index b4bc7ba9b4..eef25b2450 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb @@ -6,9 +6,6 @@ # License:: MIT/GPL # $Id$ ## - -easyblock = 'ConfigureMake' - name = "OCaml" version = "4.01.0" @@ -20,25 +17,29 @@ description = """OCaml is a general purpose industrial-strength programming lang toolchain = {'version': '1.4.10', 'name': 'goolf'} -sources = ['ocaml-%(version)s.tar.gz'] -sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) -source_urls = ['http://caml.inria.fr/pub/distrib/%s' % sourcedir] +ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) +opam_ver = '1.2.2' +source_urls = [ + 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, + 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, +] +sources = [ + 'ocaml-%(version)s.tar.gz', + 'opam-full-%s.tar.gz' % opam_ver, +] builddependencies = [('Autoconf', '2.69')] dependencies = [('ncurses', '5.9')] -prefix_opt = "-prefix " -configopts = '-cc "$CC $CFLAGS"' -buildopts = "world.opt" - # parallel build tends to break parallel = 1 -modextrapaths = {'CAML_LD_LIBRARY_PATH': 'lib'} - -sanity_check_paths = { - 'files': ["bin/ocaml", "bin/ocamlc"], - 'dirs': [] -} +# handled by OPAM, order matters! +exts_list = [ + ('ocamlfind', '1.5.5'), + ('batteries', '2.3.1'), + ('csv', '1.3.4'), + ('xmlm', '1.2.0'), +] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 1c91aeafaa..5c9d36e6b7 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -1,12 +1,11 @@ ## # This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild # -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos # License:: MIT/GPL # $Id$ ## - name = "OCaml" version = "4.01.0" @@ -16,29 +15,33 @@ description = """OCaml is a general purpose industrial-strength programming lang it benefits from one of the most advanced type systems and supports functional, imperative and object-oriented styles of programming.""" -toolchain = {'name': 'ictce', 'version': '5.5.0'} +toolchain = {'version': '1.4.10', 'name': 'goolf'} -sources = ['ocaml-%(version)s.tar.gz'] -sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) -source_urls = ['http://caml.inria.fr/pub/distrib/%s' % sourcedir] +ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) +opam_ver = '1.2.2' +source_urls = [ + 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, + 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, +] +sources = [ + 'ocaml-%(version)s.tar.gz', + 'opam-full-%s.tar.gz' % opam_ver, +] patches = ['OCaml-%(version)s_icc-fixes.patch'] builddependencies = [('Autoconf', '2.69')] dependencies = [('ncurses', '5.9')] -prefix_opt = "-prefix " -configopts = '-cc "$CC $CFLAGS"' -buildopts = "world.opt" - # parallel build tends to break parallel = 1 -modextrapaths = {'CAML_LD_LIBRARY_PATH': 'lib'} - -sanity_check_paths = { - 'files': ["bin/ocaml", "bin/ocamlc"], - 'dirs': [] -} +# handled by OPAM, order matters! +exts_list = [ + ('ocamlfind', '1.5.5'), + ('batteries', '2.3.1'), + ('csv', '1.3.4'), + ('xmlm', '1.2.0'), +] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index 7c572b469c..0000000000 --- a/easybuild/easyconfigs/x/Xmlm/Xmlm-1.2.0-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,20 +0,0 @@ -name = 'Xmlm' -version = '1.2.0' - -homepage = 'http://erratique.ch/software/xmlm' -description = """Xmlm is an OCaml streaming codec to decode and encode the XML data format. It can process XML - documents without a complete in-memory representation of the data.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['http://erratique.ch/software/xmlm/releases'] -sources = ['%(namelower)s-%(version)s.tbz'] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) - -builddependencies = [('findlib', '1.5.2', versionsuffix)] -dependencies = [(ocaml, ocamlver)] - -moduleclass = 'lib' -- GitLab From 8febcc4dcee4b8aa71bb8b6315bae23de1ef8f6f Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Wed, 29 Jul 2015 13:38:10 +1200 Subject: [PATCH 0022/1089] Added environment variable to force no CPU binding in Slurm --- easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb | 1 + .../easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb | 1 + .../easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb | 1 + .../easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb | 1 + .../easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb | 1 + 5 files changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb index 76be1035a7..1082a356d5 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb @@ -30,3 +30,4 @@ sanity_check_paths = { } moduleclass = 'chem' +modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb index 3b66a977f7..4fa5665414 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb @@ -31,3 +31,4 @@ sanity_check_paths = { } moduleclass = 'chem' +modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb index c63048d89b..dc0616d42c 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb @@ -33,3 +33,4 @@ sanity_check_paths = { } moduleclass = 'chem' +modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb index 5a28bbce0d..b2f34f7977 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb @@ -33,3 +33,4 @@ sanity_check_paths = { } moduleclass = 'chem' +modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb index b63bd53de9..4c2e30db07 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb @@ -33,3 +33,4 @@ sanity_check_paths = { } moduleclass = 'chem' +modextravars = { "SLURM_CPU_BIND" : "none" } -- GitLab From 29450f0d39654c8cf4ccaba1f97bab304e96d306 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Wed, 29 Jul 2015 15:57:32 +1200 Subject: [PATCH 0023/1089] ORCA 3.0.x is compiled against only OpenMPI 1.6.5 on linux --- ...nmpi_165.eb => ORCA-3_0_0-linux_x86-64.eb} | 6 ++-- .../ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb | 36 ------------------- ...PI-1.6.5.eb => ORCA-3_0_2-linux_x86-64.eb} | 6 ++-- ...PI-1.6.5.eb => ORCA-3_0_3-linux_x86-64.eb} | 6 ++-- 4 files changed, 7 insertions(+), 47 deletions(-) rename easybuild/easyconfigs/o/ORCA/{ORCA-3_0_0-linux_x86-64_openmpi_165.eb => ORCA-3_0_0-linux_x86-64.eb} (90%) delete mode 100644 easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb rename easybuild/easyconfigs/o/ORCA/{ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb => ORCA-3_0_2-linux_x86-64.eb} (91%) rename easybuild/easyconfigs/o/ORCA/{ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb => ORCA-3_0_3-linux_x86-64.eb} (91%) diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb similarity index 90% rename from easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb rename to easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb index 4fa5665414..1d969f2204 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb @@ -1,8 +1,7 @@ easyblock = "PackedBinary" name = "ORCA" -openmpiversion = '1.6.5' -version = '3_0_0-linux_x86-64_openmpi_%s' % ''.join(openmpiversion.split('.')) +version = '3_0_0-linux_x86-64' homepage = 'http://www.thch.uni-bonn.de/tc/orca/' description = """ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry @@ -15,7 +14,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] -dependencies = [('OpenMPI', openmpiversion, '-GCC-4.7.2')] +# ORCA 3.0.0 is compiled only against OpenMPI 1.6.5 for Linux +dependencies = [('OpenMPI', '1.6.5', '-GCC-4.7.2')] sanity_check_paths = { 'files': ['orca_%s%s' % (x,y) for x in ['anoint', 'casscf', 'cis', 'cleanup', 'cpscf', diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb deleted file mode 100644 index b2f34f7977..0000000000 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = "PackedBinary" - -name = "ORCA" -version = '3_0_2-linux_x86-64' - -openmpiversion = '1.8.1' -versionsuffix = '-OpenMPI-%s' % openmpiversion - -homepage = 'http://cec.mpg.de/forum/' -description = """ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry - with specific emphasis on spectroscopic properties of open-shell molecules. - It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- - and multireference correlated ab initio methods. - It can also treat environmental and relativistic effects.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] - -dependencies = [('OpenMPI', openmpiversion, '-GCC-4.8.3')] - -sanity_check_paths = { - 'files': ['orca_%s%s' % (x,y) for x in ['anoint', 'casscf', 'cis', 'cleanup', 'cpscf', - 'eprnmr', 'gtoint', 'mdci', 'mp2', 'mrci', 'pc', - 'rocis', 'scf', 'scfgrad', 'soc'] - for y in ["", "_mpi"]] + \ - ['orca_%s' % x for x in ['2mkl', 'asa', 'chelpg', 'ciprep', 'eca', 'ecplib', - 'euler', 'fci', 'fitpes', 'gstep', 'loc', 'mapspc', - 'md', 'mergefrag', 'ndoint', 'numfreq', 'plot', - 'pltvib', 'pop', 'rel', 'vib', 'vpot']] + \ - ['orca', 'otool_cosmo'], - 'dirs': [], -} - -moduleclass = 'chem' -modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb similarity index 91% rename from easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb rename to easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb index dc0616d42c..39d6350aed 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb @@ -3,9 +3,6 @@ easyblock = "PackedBinary" name = "ORCA" version = '3_0_2-linux_x86-64' -openmpiversion = '1.6.5' -versionsuffix = '-OpenMPI-%s' % openmpiversion - homepage = 'http://cec.mpg.de/forum/' description = """ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. @@ -17,7 +14,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] -dependencies = [('OpenMPI', openmpiversion, '-GCC-4.7.2')] +# ORCA 3.0.2 is compiled only against OpenMPI 1.6.5 for Linux +dependencies = [('OpenMPI', '1.6.5', '-GCC-4.7.2')] sanity_check_paths = { 'files': ['orca_%s%s' % (x,y) for x in ['anoint', 'casscf', 'cis', 'cleanup', 'cpscf', diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb similarity index 91% rename from easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb rename to easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb index 4c2e30db07..adeb3b2fac 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb @@ -3,9 +3,6 @@ easyblock = "PackedBinary" name = "ORCA" version = '3_0_3-linux_x86-64' -openmpiversion = '1.6.5' -versionsuffix = '-OpenMPI-%s' % openmpiversion - homepage = 'http://cec.mpg.de/forum/' description = """ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. @@ -17,7 +14,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] -dependencies = [('OpenMPI', openmpiversion, '-GCC-4.7.2')] +# ORCA 3.0.3 is compiled only against OpenMPI 1.6.5 for Linux +dependencies = [('OpenMPI', '1.6.5', '-GCC-4.7.2')] sanity_check_paths = { 'files': ['orca_%s%s' % (x,y) for x in ['anoint', 'casscf', 'cis', 'cleanup', 'cpscf', -- GitLab From 1d979ba9139bf6c729cc1e532614ce3e8723c564 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Sep 2015 15:14:08 +0300 Subject: [PATCH 0024/1089] Adding modified configs --- .../c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb | 12 ++++++------ .../easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb | 8 ++++---- .../{cp2k-2.4.0_ipi.patch => CP2K-2.4.0_ipi.patch} | 0 3 files changed, 10 insertions(+), 10 deletions(-) rename easybuild/easyconfigs/c/CP2K/{cp2k-2.4.0_ipi.patch => CP2K-2.4.0_ipi.patch} (100%) diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb index 567f926654..b708ab38e5 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb @@ -12,18 +12,18 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ['http://sourceforge.net/projects/cp2k/files/'] -sources = ['%s-%s.tar.bz2' % (name.lower(), version)] +sources = [SOURCELOWER_TAR_BZ2] patches = [ - 'cp2k-2.4.0_ipi.patch', - 'fix_compile_date_lastcvs.patch', + 'CP2K-2.4.0_ipi.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', 'do_regtest_nocompile.patch' - ] +] builddependencies = [ ('flex', '2.5.35'), ('Bison', '2.5') - ] +] dependencies = [('Libint', '1.1.4')] @@ -34,4 +34,4 @@ parallel = 1 # about 100 tests fail ignore_regtest_fails=True -moduleclass = 'chem' + diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb index d44d72b4be..d3bcea99ca 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb @@ -11,17 +11,17 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ['http://sourceforge.net/projects/cp2k/files/'] -sources = ['%s-%s.tar.bz2' % (name.lower(), version)] +sources = [SOURCELOWER_TAR_BZ2] patches = [ - 'fix_compile_date_lastcvs.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', 'do_regtest_nocompile.patch' - ] +] builddependencies = [ ('flex', '2.5.35'), ('Bison', '2.5') - ] +] dependencies = [('Libint', '1.1.4')] diff --git a/easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0_ipi.patch similarity index 100% rename from easybuild/easyconfigs/c/CP2K/cp2k-2.4.0_ipi.patch rename to easybuild/easyconfigs/c/CP2K/CP2K-2.4.0_ipi.patch -- GitLab From 3e1f8943e1ff8924bee86a1ca13c0b4527d18352 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Sep 2015 15:16:30 +0300 Subject: [PATCH 0025/1089] last changes --- .../easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb | 2 +- .../easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb index b708ab38e5..aa550ff0b9 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb @@ -34,4 +34,4 @@ parallel = 1 # about 100 tests fail ignore_regtest_fails=True - +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch b/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch deleted file mode 100644 index a50d6e9cf4..0000000000 --- a/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- makefiles/Makefile.orig 2012-08-21 14:35:17.000000000 +0300 -+++ makefiles/Makefile 2013-11-12 12:41:29.361582641 +0200 -@@ -194,7 +194,7 @@ - # - ifeq ($(CPPSHELL),) - CPPSHELL := -D__COMPILE_ARCH="\"$(ARCH)\""\ -- -D__COMPILE_DATE="\"$(shell date)\""\ -+ -D__COMPILE_DATE="\"$(shell date | sed 's/ /_/g')\""\ - -D__COMPILE_HOST="\"$(shell hostname)\""\ - -D__COMPILE_REVISION="\"$(strip $(REVISION))\"" - endif -- GitLab From e61aac2fab0c11ba2dda71871b89e71c2e632e60 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Sep 2015 16:04:42 +0300 Subject: [PATCH 0026/1089] Adding accidentally deleted patch --- .../easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch diff --git a/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch b/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch new file mode 100644 index 0000000000..a50d6e9cf4 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch @@ -0,0 +1,11 @@ +--- makefiles/Makefile.orig 2012-08-21 14:35:17.000000000 +0300 ++++ makefiles/Makefile 2013-11-12 12:41:29.361582641 +0200 +@@ -194,7 +194,7 @@ + # + ifeq ($(CPPSHELL),) + CPPSHELL := -D__COMPILE_ARCH="\"$(ARCH)\""\ +- -D__COMPILE_DATE="\"$(shell date)\""\ ++ -D__COMPILE_DATE="\"$(shell date | sed 's/ /_/g')\""\ + -D__COMPILE_HOST="\"$(shell hostname)\""\ + -D__COMPILE_REVISION="\"$(strip $(REVISION))\"" + endif -- GitLab From 6dfa12bbcd946d3eab429cf96037dc8fcb6ced3b Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Tue, 22 Sep 2015 15:06:43 +0300 Subject: [PATCH 0027/1089] Making changes according to comments --- .../easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb | 6 +++--- .../easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/c/CP2K/CP2K-2.4.0_ipi.patch | 2 ++ .../easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch | 11 ----------- 4 files changed, 6 insertions(+), 15 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb index aa550ff0b9..5716e9f33a 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb @@ -15,8 +15,8 @@ source_urls = ['http://sourceforge.net/projects/cp2k/files/'] sources = [SOURCELOWER_TAR_BZ2] patches = [ - 'CP2K-2.4.0_ipi.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', + 'CP2K-%(version)s_ipi.patch', + 'CP2K-%(version)s-fix_compile_date_lastsvn.patch', 'do_regtest_nocompile.patch' ] @@ -34,4 +34,4 @@ parallel = 1 # about 100 tests fail ignore_regtest_fails=True -moduleclass = 'chem' + diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb index d3bcea99ca..5c6f21e195 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10.eb @@ -14,7 +14,7 @@ source_urls = ['http://sourceforge.net/projects/cp2k/files/'] sources = [SOURCELOWER_TAR_BZ2] patches = [ - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', + 'CP2K-%(version)s-fix_compile_date_lastsvn.patch', 'do_regtest_nocompile.patch' ] diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0_ipi.patch b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0_ipi.patch index b8115df6c5..3c7cc4aaec 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0_ipi.patch +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0_ipi.patch @@ -1,4 +1,6 @@ #This patch makes CP2K source code compatible with i-pi +#It was created by the CP2K team and can be found in the following link: +#https://github.com/i-pi/i-pi/tree/master/patches diff -rupN cp2k-2.4.0_ref/makefiles/Makefile cp2k-2.4.0/makefiles/Makefile --- cp2k-2.4.0_ref/makefiles/Makefile 2013-08-15 10:46:04.535899216 +0100 +++ cp2k-2.4.0/makefiles/Makefile 2013-08-15 10:53:45.827911028 +0100 diff --git a/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch b/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch deleted file mode 100644 index a50d6e9cf4..0000000000 --- a/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- makefiles/Makefile.orig 2012-08-21 14:35:17.000000000 +0300 -+++ makefiles/Makefile 2013-11-12 12:41:29.361582641 +0200 -@@ -194,7 +194,7 @@ - # - ifeq ($(CPPSHELL),) - CPPSHELL := -D__COMPILE_ARCH="\"$(ARCH)\""\ -- -D__COMPILE_DATE="\"$(shell date)\""\ -+ -D__COMPILE_DATE="\"$(shell date | sed 's/ /_/g')\""\ - -D__COMPILE_HOST="\"$(shell hostname)\""\ - -D__COMPILE_REVISION="\"$(strip $(REVISION))\"" - endif -- GitLab From 1c99c6b8f1c70ce1f5d6bd21d959ef4c592ece44 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Tue, 22 Sep 2015 15:31:55 +0300 Subject: [PATCH 0028/1089] adding back original patch file --- .../c/CP2K/fix_compile_date_lastcvs.patch | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch diff --git a/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch b/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch new file mode 100644 index 0000000000..97dca5d868 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/fix_compile_date_lastcvs.patch @@ -0,0 +1,14 @@ +--- makefiles/Makefile.orig 2010-12-10 05:35:15.000000000 +0100 ++++ makefiles/Makefile 2011-01-24 10:14:35.000000000 +0100 +@@ -149,9 +149,9 @@ + # + ifeq ($(CPPSHELL),) + CPPSHELL := -D__COMPILE_ARCH="\"$(ARCH)\""\ +- -D__COMPILE_DATE="\"$(shell date)\""\ ++ -D__COMPILE_DATE="\"$(shell date | sed 's/ /_/g')\""\ + -D__COMPILE_HOST="\"$(shell hostname)\""\ +- -D__COMPILE_LASTCVS="\"$(shell tail -n1 $(SRCDIR)/CVS/Entries)\"" ++ -D__COMPILE_LASTCVS="\"$(shell tail -n1 $(SRCDIR)/CVS/Entries | sed 's/ /_/g')\"" + endif + + ifneq ($(CPP),) -- GitLab From 362a6d3cb7afa719253aafe12c3aeb8a8cfe88ad Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 22 Sep 2015 14:56:37 +0200 Subject: [PATCH 0029/1089] remove old svnversion build dep in Python 2.5.6 easyconfigs (patch makes it uneccesary) --- .../p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb | 4 ---- .../p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb | 4 ---- .../easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb | 4 ---- .../easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb | 4 ---- .../easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb | 4 ---- .../easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb | 4 ---- .../easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb | 4 ---- 7 files changed, 28 deletions(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb index 7756ecc5cf..43ff3feba7 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-goalf-1.1.0-no-OFED-bare.eb @@ -21,10 +21,6 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] -# Python 2.5 requires an old subversion version to build correctly, -# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' -builddependencies = [('subversion', '1.6.23')] - osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb index 6f7b7074bb..f825fd87bd 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.4.12-no-OFED-bare.eb @@ -21,10 +21,6 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] -# Python 2.5 requires an old subversion version to build correctly, -# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' -builddependencies = [('subversion', '1.6.23')] - osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb index 2b86e4f482..18d0d4a8df 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-goolf-1.4.10-bare.eb @@ -21,10 +21,6 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] -# Python 2.5 requires an old subversion version to build correctly, -# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' -builddependencies = [('subversion', '1.6.23')] - osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb index ad5a259b72..23ddabe854 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.0.6-bare.eb @@ -24,10 +24,6 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] -# Python 2.5 requires an old subversion version to build correctly, -# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' -builddependencies = [('subversion', '1.6.23')] - osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb index 061722f46e..f747214b5c 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-4.1.13-bare.eb @@ -24,10 +24,6 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] -# Python 2.5 requires an old subversion version to build correctly, -# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' -builddependencies = [('subversion', '1.6.23')] - osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb index cfb317b18e..0228eae5be 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.2.0-bare.eb @@ -21,10 +21,6 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] -# Python 2.5 requires an old subversion version to build correctly, -# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' -builddependencies = [('subversion', '1.6.23')] - osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb index ad8051da17..fc44c37e78 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.5.6-ictce-5.3.0-bare.eb @@ -21,10 +21,6 @@ dependencies = [ # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] -# Python 2.5 requires an old subversion version to build correctly, -# in which 'svnversion' returns 'exported' rather than 'Unversioned directory' -builddependencies = [('subversion', '1.6.23')] - osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] moduleclass = 'lang' -- GitLab From 29cf2032b0d98eaa677c83aa38f5907f600c570d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 22 Sep 2015 16:42:32 +0200 Subject: [PATCH 0030/1089] fix conflict --- .../l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb index f473597909..96f39c944c 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb @@ -4,13 +4,8 @@ name = 'libxml2' version = '2.9.1' homepage = 'http://xmlsoft.org/' -<<<<<<< HEAD -description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable -outside of the Gnome platform).""" -======= description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable outside of the Gnome platform).""" ->>>>>>> develop toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} -- GitLab From 05cfc4122c9ea2ddcd7c5502bb5bad82ed9708c3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 22 Sep 2015 16:46:30 +0200 Subject: [PATCH 0031/1089] trash easyconfigs with different toolchains, stick to just goolf/1.4.10 --- .../APR-util-1.5.3-goalf-1.1.0-no-OFED.eb | 23 ------------ .../APR-util-1.5.3-gompi-1.4.12-no-OFED.eb | 23 ------------ .../a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb | 23 ------------ .../a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb | 23 ------------ .../a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb | 23 ------------ .../a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb | 23 ------------ .../a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb | 17 --------- .../a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb | 17 --------- .../a/APR/APR-1.5.0-ictce-4.0.6.eb | 17 --------- .../a/APR/APR-1.5.0-ictce-4.1.13.eb | 17 --------- .../a/APR/APR-1.5.0-ictce-5.2.0.eb | 17 --------- .../a/APR/APR-1.5.0-ictce-5.3.0.eb | 17 --------- .../n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb | 24 ------------- .../neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb | 24 ------------- .../n/neon/neon-0.30.0-ictce-4.0.6.eb | 24 ------------- .../n/neon/neon-0.30.0-ictce-4.1.13.eb | 24 ------------- .../n/neon/neon-0.30.0-ictce-5.2.0.eb | 24 ------------- .../n/neon/neon-0.30.0-ictce-5.3.0.eb | 24 ------------- .../Python-2.5.6-gompi-1.5.12-no-OFED-bare.eb | 26 -------------- .../SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb | 35 ------------------- .../SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb | 35 ------------------- .../s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb | 35 ------------------- .../s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb | 35 ------------------- .../s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb | 35 ------------------- .../s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb | 35 ------------------- .../subversion-1.6.23-goalf-1.1.0-no-OFED.eb | 28 --------------- .../subversion-1.6.23-gompi-1.4.12-no-OFED.eb | 28 --------------- .../subversion-1.6.23-ictce-4.0.6.eb | 28 --------------- .../subversion-1.6.23-ictce-4.1.13.eb | 28 --------------- .../subversion-1.6.23-ictce-5.2.0.eb | 28 --------------- .../subversion-1.6.23-ictce-5.3.0.eb | 28 --------------- .../subversion-1.8.8-ictce-4.1.13.eb | 28 --------------- .../t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb | 19 ---------- .../t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb | 19 ---------- .../t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb | 19 ---------- .../t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb | 19 ---------- .../t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb | 19 ---------- 37 files changed, 911 deletions(-) delete mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb delete mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb delete mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb delete mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb delete mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb delete mode 100644 easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb delete mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb delete mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb delete mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb delete mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb delete mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb delete mode 100644 easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb delete mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb delete mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb delete mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb delete mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb delete mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb delete mode 100644 easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.5.12-no-OFED-bare.eb delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb delete mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb delete mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb delete mode 100755 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb delete mode 100755 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb delete mode 100755 easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb deleted file mode 100644 index f2b2f6d4d4..0000000000 --- a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goalf-1.1.0-no-OFED.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'APR-util' -version = '1.5.3' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) util libraries." - -toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('APR', '1.5.0')] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" - -sanity_check_paths = { - 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], - 'dirs': ["include/apr-1"], -} - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb deleted file mode 100644 index f5f429b778..0000000000 --- a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-gompi-1.4.12-no-OFED.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'APR-util' -version = '1.5.3' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) util libraries." - -toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('APR', '1.5.0')] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" - -sanity_check_paths = { - 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], - 'dirs': ["include/apr-1"], -} - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb deleted file mode 100644 index 6785705751..0000000000 --- a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.0.6.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'APR-util' -version = '1.5.3' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) util libraries." - -toolchain = {'name': 'ictce', 'version': '4.0.6'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('APR', '1.5.0')] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" - -sanity_check_paths = { - 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], - 'dirs': ["include/apr-1"], -} - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb deleted file mode 100644 index ab0ac9c226..0000000000 --- a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-4.1.13.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'APR-util' -version = '1.5.3' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) util libraries." - -toolchain = {'name': 'ictce', 'version': '4.1.13'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('APR', '1.5.0')] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" - -sanity_check_paths = { - 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], - 'dirs': ["include/apr-1"], -} - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb deleted file mode 100644 index 669555d663..0000000000 --- a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.2.0.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'APR-util' -version = '1.5.3' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) util libraries." - -toolchain = {'name': 'ictce', 'version': '5.2.0'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('APR', '1.5.0')] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" - -sanity_check_paths = { - 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], - 'dirs': ["include/apr-1"], -} - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb deleted file mode 100644 index 5820665193..0000000000 --- a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-ictce-5.3.0.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'APR-util' -version = '1.5.3' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) util libraries." - -toolchain = {'name': 'ictce', 'version': '5.3.0'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('APR', '1.5.0')] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config" - -sanity_check_paths = { - 'files': ["bin/apu-1-config", "lib/libaprutil-1.so", "lib/libaprutil-1.a"], - 'dirs': ["include/apr-1"], -} - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb deleted file mode 100644 index 42d75b76df..0000000000 --- a/easybuild/easyconfigs/a/APR/APR-1.5.0-goalf-1.1.0-no-OFED.eb +++ /dev/null @@ -1,17 +0,0 @@ -name = 'APR' -version = '1.5.0' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) libraries." - -toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], - 'dirs': ["include/apr-1"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb deleted file mode 100644 index c9b38d32bc..0000000000 --- a/easybuild/easyconfigs/a/APR/APR-1.5.0-gompi-1.4.12-no-OFED.eb +++ /dev/null @@ -1,17 +0,0 @@ -name = 'APR' -version = '1.5.0' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) libraries." - -toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], - 'dirs': ["include/apr-1"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb deleted file mode 100644 index bb13d21a33..0000000000 --- a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.0.6.eb +++ /dev/null @@ -1,17 +0,0 @@ -name = 'APR' -version = '1.5.0' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) libraries." - -toolchain = {'name': 'ictce', 'version': '4.0.6'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], - 'dirs': ["include/apr-1"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb deleted file mode 100644 index c26ce2075a..0000000000 --- a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-4.1.13.eb +++ /dev/null @@ -1,17 +0,0 @@ -name = 'APR' -version = '1.5.0' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) libraries." - -toolchain = {'name': 'ictce', 'version': '4.1.13'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], - 'dirs': ["include/apr-1"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb deleted file mode 100644 index 3f74bca0b9..0000000000 --- a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.2.0.eb +++ /dev/null @@ -1,17 +0,0 @@ -name = 'APR' -version = '1.5.0' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) libraries." - -toolchain = {'name': 'ictce', 'version': '5.2.0'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], - 'dirs': ["include/apr-1"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb deleted file mode 100644 index 7c6b787d78..0000000000 --- a/easybuild/easyconfigs/a/APR/APR-1.5.0-ictce-5.3.0.eb +++ /dev/null @@ -1,17 +0,0 @@ -name = 'APR' -version = '1.5.0' - -homepage = 'http://apr.apache.org/' -description = "Apache Portable Runtime (APR) libraries." - -toolchain = {'name': 'ictce', 'version': '5.3.0'} - -source_urls = ['http://archive.apache.org/dist/apr/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/apr-1-config", "lib/libapr-1.so", "lib/libapr-1.a"], - 'dirs': ["include/apr-1"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb deleted file mode 100644 index f111e9310e..0000000000 --- a/easybuild/easyconfigs/n/neon/neon-0.30.0-goalf-1.1.0-no-OFED.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'neon' -version = '0.30.0' - -homepage = 'http://www.webdav.org/neon/' -description = "neon is an HTTP and WebDAV client library, with a C interface." - -toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} - -source_urls = [homepage] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('zlib', '1.2.7'), - ('libxml2', '2.9.1'), -] - -configopts = "--with-libxml2" - -sanity_check_paths = { - 'files': ["bin/neon-config", "lib/libneon.a"], - 'dirs': ["include/neon"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb deleted file mode 100644 index 212229e999..0000000000 --- a/easybuild/easyconfigs/n/neon/neon-0.30.0-gompi-1.4.12-no-OFED.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'neon' -version = '0.30.0' - -homepage = 'http://www.webdav.org/neon/' -description = "neon is an HTTP and WebDAV client library, with a C interface." - -toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} - -source_urls = [homepage] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('zlib', '1.2.7'), - ('libxml2', '2.9.1'), -] - -configopts = "--with-libxml2" - -sanity_check_paths = { - 'files': ["bin/neon-config", "lib/libneon.a"], - 'dirs': ["include/neon"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb deleted file mode 100644 index fdf1eabe1a..0000000000 --- a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.0.6.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'neon' -version = '0.30.0' - -homepage = 'http://www.webdav.org/neon/' -description = "neon is an HTTP and WebDAV client library, with a C interface." - -toolchain = {'name': 'ictce', 'version': '4.0.6'} - -source_urls = [homepage] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('zlib', '1.2.7'), - ('libxml2', '2.9.1'), -] - -configopts = "--with-libxml2" - -sanity_check_paths = { - 'files': ["bin/neon-config", "lib/libneon.a"], - 'dirs': ["include/neon"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb deleted file mode 100644 index 97eea6a566..0000000000 --- a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-4.1.13.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'neon' -version = '0.30.0' - -homepage = 'http://www.webdav.org/neon/' -description = "neon is an HTTP and WebDAV client library, with a C interface." - -toolchain = {'name': 'ictce', 'version': '4.1.13'} - -source_urls = [homepage] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('zlib', '1.2.7'), - ('libxml2', '2.9.1'), -] - -configopts = "--with-libxml2" - -sanity_check_paths = { - 'files': ["bin/neon-config", "lib/libneon.a"], - 'dirs': ["include/neon"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb deleted file mode 100644 index 244a91df81..0000000000 --- a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.2.0.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'neon' -version = '0.30.0' - -homepage = 'http://www.webdav.org/neon/' -description = "neon is an HTTP and WebDAV client library, with a C interface." - -toolchain = {'name': 'ictce', 'version': '5.2.0'} - -source_urls = [homepage] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('zlib', '1.2.7'), - ('libxml2', '2.9.1'), -] - -configopts = "--with-libxml2" - -sanity_check_paths = { - 'files': ["bin/neon-config", "lib/libneon.a"], - 'dirs': ["include/neon"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb deleted file mode 100644 index 6dd467a1fe..0000000000 --- a/easybuild/easyconfigs/n/neon/neon-0.30.0-ictce-5.3.0.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'neon' -version = '0.30.0' - -homepage = 'http://www.webdav.org/neon/' -description = "neon is an HTTP and WebDAV client library, with a C interface." - -toolchain = {'name': 'ictce', 'version': '5.3.0'} - -source_urls = [homepage] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('zlib', '1.2.7'), - ('libxml2', '2.9.1'), -] - -configopts = "--with-libxml2" - -sanity_check_paths = { - 'files': ["bin/neon-config", "lib/libneon.a"], - 'dirs': ["include/neon"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.5.12-no-OFED-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.5.12-no-OFED-bare.eb deleted file mode 100644 index fbb6fb607f..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.5.6-gompi-1.5.12-no-OFED-bare.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'Python' -version = '2.5.6' -versionsuffix = '-bare' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'gompi', 'version': '1.5.12-no-OFED'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -patches = ['Python-%(version)s_svnversion-cmd.patch'] - -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.7'), - ('libreadline', '6.2'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb deleted file mode 100644 index 1f9d380786..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goalf-1.1.0-no-OFED.eb +++ /dev/null @@ -1,35 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -name = 'SQLite' -version = '3.8.4.1' - -homepage = 'http://www.hwaci.com/sw/sqlite/' -description = "SQLite: SQL Database Engine in a C Library" - -# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz -source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] -sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - -toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} - -dependencies = [ - ('libreadline', '6.2'), - ('Tcl', '8.6.1'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb deleted file mode 100644 index 330ea91aef..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-gompi-1.4.12-no-OFED.eb +++ /dev/null @@ -1,35 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -name = 'SQLite' -version = '3.8.4.1' - -homepage = 'http://www.hwaci.com/sw/sqlite/' -description = "SQLite: SQL Database Engine in a C Library" - -# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz -source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] -sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - -toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} - -dependencies = [ - ('libreadline', '6.2'), - ('Tcl', '8.6.1'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb deleted file mode 100644 index 8ab8985748..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.0.6.eb +++ /dev/null @@ -1,35 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -name = 'SQLite' -version = '3.8.4.1' - -homepage = 'http://www.hwaci.com/sw/sqlite/' -description = "SQLite: SQL Database Engine in a C Library" - -# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz -source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] -sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - -toolchain = {'name': 'ictce', 'version': '4.0.6'} - -dependencies = [ - ('libreadline', '6.2'), - ('Tcl', '8.6.1'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb deleted file mode 100644 index 6948614b01..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-4.1.13.eb +++ /dev/null @@ -1,35 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -name = 'SQLite' -version = '3.8.4.1' - -homepage = 'http://www.hwaci.com/sw/sqlite/' -description = "SQLite: SQL Database Engine in a C Library" - -# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz -source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] -sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - -toolchain = {'name': 'ictce', 'version': '4.1.13'} - -dependencies = [ - ('libreadline', '6.2'), - ('Tcl', '8.6.1'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb deleted file mode 100644 index 6a16570c53..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.2.0.eb +++ /dev/null @@ -1,35 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -name = 'SQLite' -version = '3.8.4.1' - -homepage = 'http://www.hwaci.com/sw/sqlite/' -description = "SQLite: SQL Database Engine in a C Library" - -# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz -source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] -sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - -toolchain = {'name': 'ictce', 'version': '5.2.0'} - -dependencies = [ - ('libreadline', '6.2'), - ('Tcl', '8.6.1'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb deleted file mode 100644 index 499e33114e..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-ictce-5.3.0.eb +++ /dev/null @@ -1,35 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -name = 'SQLite' -version = '3.8.4.1' - -homepage = 'http://www.hwaci.com/sw/sqlite/' -description = "SQLite: SQL Database Engine in a C Library" - -# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz -source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] -sources = ['sqlite-autoconf-%s0%s0%s0%s.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - -toolchain = {'name': 'ictce', 'version': '5.3.0'} - -dependencies = [ - ('libreadline', '6.2'), - ('Tcl', '8.6.1'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb deleted file mode 100644 index 10fcdfa9b8..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goalf-1.1.0-no-OFED.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.6.23' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb deleted file mode 100644 index 18b01448ee..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-gompi-1.4.12-no-OFED.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.6.23' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb deleted file mode 100644 index cc7766f42b..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.0.6.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.6.23' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'ictce', 'version': '4.0.6'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb deleted file mode 100644 index 0e7556d3dd..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-4.1.13.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.6.23' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'ictce', 'version': '4.1.13'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb deleted file mode 100644 index 3dd8117f6f..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.2.0.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.6.23' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'ictce', 'version': '5.2.0'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb deleted file mode 100644 index 8b59c05878..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-ictce-5.3.0.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.6.23' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'ictce', 'version': '5.3.0'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb deleted file mode 100644 index 672480bf95..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-ictce-4.1.13.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.8.8' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'ictce', 'version': '4.1.13'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb deleted file mode 100644 index 688b7db304..0000000000 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-goalf-1.1.0-no-OFED.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'Tcl' -version = '8.6.1' - -homepage = 'http://www.tcl.tk/' -description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, -suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" - -toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' - -runtest = 'test' - -start_dir = 'unix' - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb deleted file mode 100644 index bf05390914..0000000000 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-gompi-1.4.12-no-OFED.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'Tcl' -version = '8.6.1' - -homepage = 'http://www.tcl.tk/' -description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, -suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" - -toolchain = {'name': 'gompi', 'version': '1.4.12-no-OFED'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' - -runtest = 'test' - -start_dir = 'unix' - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb deleted file mode 100755 index 4497a53f78..0000000000 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.0.6.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'Tcl' -version = '8.6.1' - -homepage = 'http://www.tcl.tk/' -description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, -suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" - -toolchain = {'name': 'ictce', 'version': '4.0.6'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' - -runtest = 'test' - -start_dir = 'unix' - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb deleted file mode 100755 index a112f672e2..0000000000 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-4.1.13.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'Tcl' -version = '8.6.1' - -homepage = 'http://www.tcl.tk/' -description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, -suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" - -toolchain = {'name': 'ictce', 'version': '4.1.13'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' - -runtest = 'test' - -start_dir = 'unix' - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb deleted file mode 100755 index d9d3d41205..0000000000 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.2.0.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'Tcl' -version = '8.6.1' - -homepage = 'http://www.tcl.tk/' -description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, -suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" - -toolchain = {'name': 'ictce', 'version': '5.2.0'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' - -runtest = 'test' - -start_dir = 'unix' - -moduleclass = 'lang' -- GitLab From 173a810ac34382286a46d66d706adab97a9bcf49 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 22 Sep 2015 16:48:49 +0200 Subject: [PATCH 0032/1089] add missing 'easyblock' line --- .../a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb | 2 ++ .../easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb | 2 ++ .../easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb | 2 ++ .../s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb | 1 + .../s/subversion/subversion-1.6.23-goolf-1.4.10.eb | 12 +++++++----- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb index f2b44bb9a1..1a3a23018b 100644 --- a/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.5.3-goolf-1.4.10.eb @@ -1,3 +1,5 @@ +easyblock = 'ConfigureMake' + name = 'APR-util' version = '1.5.3' diff --git a/easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb b/easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb index e069e515a2..bbe4a3f6c2 100644 --- a/easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/a/APR/APR-1.5.0-goolf-1.4.10.eb @@ -1,3 +1,5 @@ +easyblock = 'ConfigureMake' + name = 'APR' version = '1.5.0' diff --git a/easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb b/easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb index dbf0e6619b..2732f2ab74 100644 --- a/easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/n/neon/neon-0.30.0-goolf-1.4.10.eb @@ -1,3 +1,5 @@ +easyblock = 'ConfigureMake' + name = 'neon' version = '0.30.0' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb index 72c8d21c52..5d1c89464a 100644 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.4.1-goolf-1.4.10.eb @@ -9,6 +9,7 @@ # This work implements a part of the HPCBIOS project and is a component of the policy: # http://hpcbios.readthedocs.org/en/latest/ ## +easyblock = 'ConfigureMake' name = 'SQLite' version = '3.8.4.1' diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb index c4f4b6ed90..e53ac64a5b 100644 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb @@ -1,3 +1,5 @@ +easyblock = 'ConfigureMake' + name = 'subversion' version = '1.6.23' @@ -9,11 +11,6 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ['http://archive.apache.org/dist/subversion/'] sources = [SOURCE_TAR_GZ] -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - dependencies = [ ('APR', '1.5.0'), ('APR-util', '1.5.3'), @@ -25,4 +22,9 @@ dependencies = [ configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + moduleclass = 'tools' -- GitLab From 7b78413357e94593a19d8b7e13dca2ac90077da1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 22 Sep 2015 16:51:21 +0200 Subject: [PATCH 0033/1089] remove easyconfig for subversion 1.8.8 (see #1970) --- .../subversion-1.8.8-goolf-1.4.10.eb | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb b/easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb deleted file mode 100644 index 5f9488ba6c..0000000000 --- a/easybuild/easyconfigs/s/subversion/subversion-1.8.8-goolf-1.4.10.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'subversion' -version = '1.8.8' - -homepage = 'http://subversion.apache.org/' -description = " Subversion is an open source version control system." - -toolchain = {'name': 'goolf', 'version': '1.4.10'} - -source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] - -sanity_check_paths = { - 'files': ["bin/svn", "bin/svnversion"], - 'dirs': [], -} - -dependencies = [ - ('APR', '1.5.0'), - ('APR-util', '1.5.3'), - ('SQLite', '3.8.4.1'), - ('zlib', '1.2.7'), - ('neon', '0.30.0'), -] - -configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " -configopts += "--with-zlib=$EBROOTZLIB --with-neon=$EBROOTNEON" - -moduleclass = 'tools' -- GitLab From 067f1e9ebdab00845652acaaa2f562358e9d279d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 22 Sep 2015 16:52:24 +0200 Subject: [PATCH 0034/1089] trash extra libxml2 easyconfig --- ...libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100755 easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb deleted file mode 100755 index d68ae2eaee..0000000000 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb +++ /dev/null @@ -1,27 +0,0 @@ -name = 'libxml2' -version = '2.9.1' - -homepage = 'http://xmlsoft.org/' -description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable - outside of the Gnome platform).""" - -toolchain = {'name': 'goolf', 'version': '1.4.10'} - -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] - -configopts = 'CC="$CC" CXX="$CXX" --with-pic' - -pythonver = '2.7.5' -pythonshortver = '.'.join(pythonver.split('.')[0:2]) -versionsuffix = '-%s-%s' % ('Python', pythonver) - -dependencies = [ - ('zlib', '1.2.8'), - ('Python', pythonver), -] - -moduleclass = 'lib' -- GitLab From 08257022563059a4d3c0c1134a8ce44174015542 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 22 Sep 2015 18:40:14 +0200 Subject: [PATCH 0035/1089] subversion -> Subversion --- .../Subversion-1.6.23-goolf-1.4.10.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/s/{subversion/subversion-1.6.23-goolf-1.4.10.eb => Subversion/Subversion-1.6.23-goolf-1.4.10.eb} (97%) diff --git a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb b/easybuild/easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb similarity index 97% rename from easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb rename to easybuild/easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb index e53ac64a5b..fc1179c894 100644 --- a/easybuild/easyconfigs/s/subversion/subversion-1.6.23-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'subversion' +name = 'Subversion' version = '1.6.23' homepage = 'http://subversion.apache.org/' -- GitLab From ea7c25c2cb7c2dcd8b20623199891abf407712ab Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 23 Sep 2015 10:35:34 +0300 Subject: [PATCH 0036/1089] Adding moduleclass --- easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb index 5716e9f33a..7188e62917 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.4.0-goolf-1.4.10-ipi.eb @@ -34,4 +34,4 @@ parallel = 1 # about 100 tests fail ignore_regtest_fails=True - +moduleclass = 'chem' -- GitLab From 98d4e2d24f4a8dab9c9b5dfd0edf58ea60d6e240 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 23 Sep 2015 12:03:12 +0200 Subject: [PATCH 0037/1089] fix sources spec --- .../easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb b/easybuild/easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb index fc1179c894..07b1072638 100644 --- a/easybuild/easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/s/Subversion/Subversion-1.6.23-goolf-1.4.10.eb @@ -9,7 +9,7 @@ description = " Subversion is an open source version control system." toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ['http://archive.apache.org/dist/subversion/'] -sources = [SOURCE_TAR_GZ] +sources = [SOURCELOWER_TAR_GZ] dependencies = [ ('APR', '1.5.0'), -- GitLab From f5ea289e46eaf584a678f1edd0f7c3cfc5a1e22b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 1 Oct 2015 13:35:11 +0200 Subject: [PATCH 0038/1089] bump to OCaml 4.02.3 and foss/2015a (2015b yields problems?) --- .../Autotools/Autotools-20150215-GCC-4.9.2.eb | 17 ++++++++++ .../batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb | 32 ------------------- .../CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb | 1 - ...SL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb | 1 - ...L-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb | 1 - .../l/libtool/libtool-2.4.6-GCC-4.9.2.eb | 17 ++++++++++ ...L-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb | 1 - .../o/OCaml/OCaml-4.01.0_icc-fixes.patch | 11 ------- ...ce-5.5.0.eb => OCaml-4.02.3-foss-2015a.eb} | 10 +++--- ...er-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb} | 12 +++---- ...e3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb | 1 - 11 files changed, 43 insertions(+), 61 deletions(-) create mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb delete mode 100644 easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb delete mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch rename easybuild/easyconfigs/o/OCaml/{OCaml-4.01.0-ictce-5.5.0.eb => OCaml-4.02.3-foss-2015a.eb} (85%) rename easybuild/easyconfigs/p/pplacer/{pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb => pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb} (74%) diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb new file mode 100644 index 0000000000..9fe586bfbb --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb @@ -0,0 +1,17 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20150215' # date of the most recent change + +homepage = 'http://autotools.io' +description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" + +toolchain = {'name': 'GCC', 'version': '4.9.2'} + +dependencies = [ + ('Autoconf', '2.69'), # 20120424 + ('Automake', '1.15'), # 20150105 + ('libtool', '2.4.6'), # 20150215 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index 42ce7ca6fb..0000000000 --- a/easybuild/easyconfigs/b/batteries/batteries-2.2-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,32 +0,0 @@ -name = 'batteries' -version = '2.2' - -homepage = 'http://batteries.forge.ocamlcore.org/' -description = """OCaml Batteries included (or simply "Batteries") is a community-driven effort to standardize on an - consistent, documented, and comprehensive development platform for the OCaml programming language.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['http://forge.ocamlcore.org/frs/download.php/1363/'] -sources = [SOURCE_TAR_GZ] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) - -builddependencies = [('findlib', '1.5.2', versionsuffix)] -dependencies = [(ocaml, ocamlver)] - -skipsteps = ['configure'] - -buildopts = 'all' -preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib" - -modextrapaths = {'OCAMLPATH': 'site-lib'} - -sanity_check_paths = { - 'files': [], - 'dirs': ['site-lib/batteries'], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb index 29ce049ecc..6a52cf9add 100644 --- a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb @@ -15,7 +15,6 @@ ocaml = 'OCaml' ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) -builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [ (ocaml, ocamlver), ('zlib', '1.2.7'), diff --git a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb index 3ea3a84e5e..e9a5302250 100644 --- a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb @@ -13,7 +13,6 @@ ocaml = 'OCaml' ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) -builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [ (ocaml, ocamlver), ('GSL', '1.16'), diff --git a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb index 8ebdaa8e3c..c67373f3c9 100644 --- a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb @@ -13,7 +13,6 @@ ocaml = 'OCaml' ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) -builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [ (ocaml, ocamlver), ('GSL', '1.16'), diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb new file mode 100644 index 0000000000..4658960398 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb @@ -0,0 +1,17 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.6' + +homepage = 'http://www.gnu.org/software/libtool' +description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries + behind a consistent, portable interface.""" + +toolchain = {'name': 'GCC', 'version': '4.9.2'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [('M4', '1.4.17')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb index 87454947cb..5fa738e35a 100644 --- a/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb @@ -13,7 +13,6 @@ sources = ['%(version)s.tar.gz'] ocaml = 'OCaml' ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) -builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [(ocaml, ocamlver)] preconfigopts = "ocaml setup.ml -configure --prefix %(installdir)s && " diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch deleted file mode 100644 index 595505634a..0000000000 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ocaml-4.01.0/configure.orig 2014-08-19 12:26:23.008974288 +0200 -+++ ocaml-4.01.0/configure 2014-08-19 12:27:15.800298562 +0200 -@@ -1015,7 +1015,7 @@ - fi - - has_select=no --if sh ./hasgot select && \ -+if cc="$cc -wd165" sh ./hasgot select && \ - sh ./hasgot -i sys/types.h $select_include -t fd_set ; then - echo "select() found." - echo "#define HAS_SELECT" >> s.h diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb similarity index 85% rename from easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb rename to easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb index 5c9d36e6b7..e9d2b5b537 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb @@ -6,8 +6,8 @@ # License:: MIT/GPL # $Id$ ## -name = "OCaml" -version = "4.01.0" +name = 'OCaml' +version = '4.02.3' homepage = 'http://ocaml.org/' description = """OCaml is a general purpose industrial-strength programming language @@ -15,7 +15,7 @@ description = """OCaml is a general purpose industrial-strength programming lang it benefits from one of the most advanced type systems and supports functional, imperative and object-oriented styles of programming.""" -toolchain = {'version': '1.4.10', 'name': 'goolf'} +toolchain = {'name': 'foss', 'version': '2015a'} ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) opam_ver = '1.2.2' @@ -28,9 +28,9 @@ sources = [ 'opam-full-%s.tar.gz' % opam_ver, ] -patches = ['OCaml-%(version)s_icc-fixes.patch'] +patches = ['OCaml-4.01.0_icc-fixes.patch'] -builddependencies = [('Autoconf', '2.69')] +builddependencies = [('Autotools', '20150215', '', ('GCC', '4.9.2'))] dependencies = [('ncurses', '5.9')] # parallel build tends to break diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb similarity index 74% rename from easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb rename to easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb index 48464d06a1..69404fe220 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb @@ -1,34 +1,30 @@ easyblock = 'MakeCp' name = 'pplacer' -version = '1.1.alpha16' +version = '1.1.alpha17' homepage = 'http://matsen.fhcrc.org/pplacer/' description = """Pplacer places query sequences on a fixed reference phylogenetic tree to maximize phylogenetic likelihood or posterior probability according to a reference alignment. Pplacer is designed to be fast, to give useful information about uncertainty, and to offer advanced visualization and downstream analysis.""" -toolchain = {'name': 'ictce', 'version': '5.5.0'} +toolchain = {'name': 'foss', 'version': '2015a'} source_urls = ['https://github.com/matsen/pplacer/archive/'] sources = ['v%(version)s.tar.gz'] ocaml = 'OCaml' -ocamlver = '4.01.0' +ocamlver = '4.02.3' versionsuffix = '-%s-%s' % (ocaml, ocamlver) -builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [ (ocaml, ocamlver), - ('batteries', '2.2', versionsuffix), ('CamlZIP', '1.05', versionsuffix), ('GSL-OCaml', '0.6.3', versionsuffix), - ('csv', '1.3.3', versionsuffix), ('SQLite3-OCaml', '2.0.6', versionsuffix), - ('Xmlm', '1.2.0', versionsuffix), ('MCL', '12-068oasis4', versionsuffix), ] -prebuildopts = "echo 'let version = \"v1.1.alpha16-9-g78ea126\"\n' > common_src/version.ml && " +prebuildopts = "echo 'let version = \"v1.1.alpha17-9-g78ea126\"\n' > common_src/version.ml && " parallel = 1 files_to_copy = ['bin'] diff --git a/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb index d08ea78903..991bbf5a9c 100644 --- a/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb @@ -13,7 +13,6 @@ ocaml = 'OCaml' ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) -builddependencies = [('findlib', '1.5.2', versionsuffix)] dependencies = [ (ocaml, ocamlver), ('SQLite', '3.8.6'), -- GitLab From 2563bafe964b284017091c4688b1cc5d3cb5d469 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 1 Oct 2015 13:44:40 +0200 Subject: [PATCH 0039/1089] remove use of faulty patch file --- ...-OCaml-4.01.0.eb => CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb} | 0 easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb | 2 -- 2 files changed, 2 deletions(-) rename easybuild/easyconfigs/c/CamlZIP/{CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb => CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb} (100%) diff --git a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb similarity index 100% rename from easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-ictce-5.5.0-OCaml-4.01.0.eb rename to easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb index e9d2b5b537..91034014ce 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb @@ -28,8 +28,6 @@ sources = [ 'opam-full-%s.tar.gz' % opam_ver, ] -patches = ['OCaml-4.01.0_icc-fixes.patch'] - builddependencies = [('Autotools', '20150215', '', ('GCC', '4.9.2'))] dependencies = [('ncurses', '5.9')] -- GitLab From b37238968792f1982fecd3cdb9dd2de654991ed3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 1 Oct 2015 13:44:53 +0200 Subject: [PATCH 0040/1089] fix easyconfig for CamlZIP --- .../CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb index 6a52cf9add..860031c69b 100644 --- a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb +++ b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb @@ -1,3 +1,5 @@ +easyblock = 'OCamlPackage' + name = 'CamlZIP' version = '1.05' @@ -6,27 +8,17 @@ description = """This OCaml library provides easy access to compressed files in and GZIP format, as well as to Java JAR files. It provides functions for reading from and writing to compressed files in these formats.""" -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['https://forge.ocamlcore.org/frs/download.php/1037/'] -sources = [SOURCE_TAR_GZ] +toolchain = {'name': 'foss', 'version': '2015a'} ocaml = 'OCaml' -ocamlver = '4.01.0' +ocamlver = '4.02.3' versionsuffix = '-%s-%s' % (ocaml, ocamlver) dependencies = [ (ocaml, ocamlver), - ('zlib', '1.2.7'), + ('zlib', '1.2.8'), ] -skipsteps = ['configure', 'install'] - -prebuildopts = "mkdir -p %(installdir)s/site-lib && " -buildopts = 'all && make allopt && OCAMLFIND_DESTDIR=%(installdir)s/site-lib make install-findlib' - -modextrapaths = {'OCAMLPATH': 'site-lib'} - sanity_check_paths = { 'files': [], 'dirs': ['site-lib/zip'], -- GitLab From 4b040f6a85bdf133223f052d23f6bdec715ed401 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 1 Oct 2015 16:30:21 +0200 Subject: [PATCH 0041/1089] add ocaml+twt and gsl extensions, drop csv and xmlm specialized extensions --- ...L-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb | 31 ------------------- .../o/OCaml/OCaml-4.02.3-foss-2015a.eb | 12 ++++--- 2 files changed, 8 insertions(+), 35 deletions(-) delete mode 100644 easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb diff --git a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index c67373f3c9..0000000000 --- a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-1.17.2-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,31 +0,0 @@ -name = 'GSL-OCaml' -version = '1.17.2' - -homepage = 'http://mmottl.github.io/gsl-ocaml/' -description = "OCaml bindings to the GSL (GNU Scientific Library)." - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['https://github.com/mmottl/gsl-ocaml/archive/'] -sources = ['v%(version)s.tar.gz'] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) - -dependencies = [ - (ocaml, ocamlver), - ('GSL', '1.16'), -] - -configopts = "--destdir=%(installdir)s" -preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib" - -modextrapaths = {'OCAMLPATH': 'site-lib'} - -sanity_check_paths = { - 'files': [], - 'dirs': ["site-lib/gsl"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb index 91034014ce..ecb933f867 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb @@ -28,8 +28,12 @@ sources = [ 'opam-full-%s.tar.gz' % opam_ver, ] -builddependencies = [('Autotools', '20150215', '', ('GCC', '4.9.2'))] -dependencies = [('ncurses', '5.9')] +builddependencies = [('Autotools', '20150119', '', ('GCC', '4.9.2'))] +dependencies = [ + ('ncurses', '5.9'), + ('libreadline', '6.3'), + ('GSL', '1.16'), +] # parallel build tends to break parallel = 1 @@ -38,8 +42,8 @@ parallel = 1 exts_list = [ ('ocamlfind', '1.5.5'), ('batteries', '2.3.1'), - ('csv', '1.3.4'), - ('xmlm', '1.2.0'), + ('ocaml+twt', '0.94.0'), + ('gsl', '1.18.5'), ] moduleclass = 'lang' -- GitLab From 1bdbf8dfaf7f246d059eb5bbb98bdf5b83155727 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 1 Oct 2015 16:43:24 +0200 Subject: [PATCH 0042/1089] fix Autotools version --- easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb index ecb933f867..9eee49210d 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb @@ -28,7 +28,7 @@ sources = [ 'opam-full-%s.tar.gz' % opam_ver, ] -builddependencies = [('Autotools', '20150119', '', ('GCC', '4.9.2'))] +builddependencies = [('Autotools', '20150215', '', ('GCC', '4.9.2'))] dependencies = [ ('ncurses', '5.9'), ('libreadline', '6.3'), -- GitLab From 79ba11a9a26daff11e20a797ac6916e5e4efcfdd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 1 Oct 2015 21:04:21 +0200 Subject: [PATCH 0043/1089] fix style isses, drop extensions from existing OCaml 4.01.0 easyconfig --- .../o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb index eef25b2450..25110fc6a9 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb @@ -6,8 +6,8 @@ # License:: MIT/GPL # $Id$ ## -name = "OCaml" -version = "4.01.0" +name = 'OCaml' +version = '4.01.0' homepage = 'http://ocaml.org/' description = """OCaml is a general purpose industrial-strength programming language @@ -15,7 +15,7 @@ description = """OCaml is a general purpose industrial-strength programming lang it benefits from one of the most advanced type systems and supports functional, imperative and object-oriented styles of programming.""" -toolchain = {'version': '1.4.10', 'name': 'goolf'} +toolchain = {'name': 'goolf', 'version': '1.4.10'} ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) opam_ver = '1.2.2' @@ -34,12 +34,4 @@ dependencies = [('ncurses', '5.9')] # parallel build tends to break parallel = 1 -# handled by OPAM, order matters! -exts_list = [ - ('ocamlfind', '1.5.5'), - ('batteries', '2.3.1'), - ('csv', '1.3.4'), - ('xmlm', '1.2.0'), -] - moduleclass = 'lang' -- GitLab From f91fcbe470777cc827184a5ade80ff40f00b1943 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 09:36:53 +0200 Subject: [PATCH 0044/1089] drop separate easyconfigs for OCaml packages, switch back to pplacer v1.1.alpha16 w/ ictce/5.5.0 and follow recommended build procedure for pplacer --- .../CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb | 27 ----------- ...SL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb | 34 ------------- ...L-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb | 30 ------------ .../o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 37 ++++++++++++++ ...er-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 48 +++++++++++++++++++ ...cer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb | 37 -------------- .../s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb | 16 ++++--- ...e3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb | 31 ------------ .../t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb | 6 +++ 9 files changed, 100 insertions(+), 166 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb delete mode 100644 easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb delete mode 100644 easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb create mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb delete mode 100644 easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb delete mode 100644 easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb diff --git a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb b/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb deleted file mode 100644 index 860031c69b..0000000000 --- a/easybuild/easyconfigs/c/CamlZIP/CamlZIP-1.05-foss-2015a-OCaml-4.02.3.eb +++ /dev/null @@ -1,27 +0,0 @@ -easyblock = 'OCamlPackage' - -name = 'CamlZIP' -version = '1.05' - -homepage = 'https://forge.ocamlcore.org/projects/camlzip/' -description = """This OCaml library provides easy access to compressed files in ZIP - and GZIP format, as well as to Java JAR files. It provides functions - for reading from and writing to compressed files in these formats.""" - -toolchain = {'name': 'foss', 'version': '2015a'} - -ocaml = 'OCaml' -ocamlver = '4.02.3' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) - -dependencies = [ - (ocaml, ocamlver), - ('zlib', '1.2.8'), -] - -sanity_check_paths = { - 'files': [], - 'dirs': ['site-lib/zip'], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index e9a5302250..0000000000 --- a/easybuild/easyconfigs/g/GSL-OCaml/GSL-OCaml-0.6.3-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,34 +0,0 @@ -name = 'GSL-OCaml' -version = '0.6.3' - -homepage = 'http://mmottl.github.io/gsl-ocaml/' -description = "OCaml bindings to the GSL (GNU Scientific Library)." - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['https://github.com/mmottl/gsl-ocaml/archive/'] -sources = ['v%(version)s.tar.gz'] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) - -dependencies = [ - (ocaml, ocamlver), - ('GSL', '1.16'), -] - -skipsteps = ['configure'] -prebuildopts = "OCAML_BACKEND=gcc" -preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAML_BACKEND=gcc OCAMLFIND_DESTDIR=%(installdir)s/site-lib" - -parallel = 1 - -modextrapaths = {'OCAMLPATH': 'site-lib'} - -sanity_check_paths = { - 'files': [], - 'dirs': ["site-lib/gsl"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index 5fa738e35a..0000000000 --- a/easybuild/easyconfigs/m/MCL/MCL-12-068oasis4-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,30 +0,0 @@ -name = 'MCL' -version = '12-068oasis4' - -homepage = 'https://github.com/fhcrc/mcl' -description = """Graph clustering by flow simulation.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://github.com/fhcrc/mcl/archive/'] -sources = ['%(version)s.tar.gz'] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) -dependencies = [(ocaml, ocamlver)] - -preconfigopts = "ocaml setup.ml -configure --prefix %(installdir)s && " -buildopts = "&& ocaml setup.ml -build" -preinstallopts = "mkdir -p %(installdir)s/site-lib &&" -installopts = "&& OCAMLFIND_DESTDIR=%(installdir)s/site-lib ocaml setup.ml -install" - -modextrapaths = {'OCAMLPATH': 'site-lib'} - -sanity_check_paths = { - 'files': [], - 'dirs': ['bin'], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb new file mode 100644 index 0000000000..00cc54b782 --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -0,0 +1,37 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## +name = 'OCaml' +version = '4.01.0' + +homepage = 'http://ocaml.org/' +description = """OCaml is a general purpose industrial-strength programming language + with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria + it benefits from one of the most advanced type systems and supports functional, + imperative and object-oriented styles of programming.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) +opam_ver = '1.2.2' +source_urls = [ + 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, + 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, +] +sources = [ + 'ocaml-%(version)s.tar.gz', + 'opam-full-%s.tar.gz' % opam_ver, +] + +builddependencies = [('Autoconf', '2.69')] +dependencies = [('ncurses', '5.9')] + +# parallel build tends to break +parallel = 1 + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 0000000000..f16f8b1dff --- /dev/null +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,48 @@ +easyblock = 'MakeCp' + +name = 'pplacer' +version = '1.1.alpha16' + +homepage = 'http://matsen.fhcrc.org/pplacer/' +description = """Pplacer places query sequences on a fixed reference phylogenetic tree to maximize phylogenetic + likelihood or posterior probability according to a reference alignment. Pplacer is designed to be fast, to give + useful information about uncertainty, and to offer advanced visualization and downstream analysis.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = [ + 'https://github.com/matsen/pplacer/archive/', + 'https://github.com/matsen/pplacer-opam-repository/archive/', +] +sources = [ + 'v%(version)s.tar.gz', + 'ba5e766.tar.gz', # pplacer-opam-repository (20151002) +] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) +dependencies = [ + (ocaml, ocamlver), + ('zlib', '1.2.7'), # for CamlZIP OCaml package + ('GSL', '1.16'), # for GSL-OCaml package + ('SQLite', '3.8.6'), # for SQLite3-OCaml package +] + +start_dir = '%(name)-%(version)s' + +# see http://matsen.github.io/pplacer/compiling.html#opam +prebuildopts = "export OPAMROOT=%(installdir)s && opam init && " +prebuildopts += "opam repo add pplacer-deps %(builddir)s/pplacer-opam-repository*/ && " +prebuildopts += "opam update pplacer-deps && eval `opam config env` && " +prebuildopts += "cat opam-requirements.txt | xargs opam install -y && " +parallel = 1 + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/guppy', 'bin/pplacer', 'bin/rppr'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb deleted file mode 100644 index 69404fe220..0000000000 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha17-foss-2015a-OCaml-4.02.3.eb +++ /dev/null @@ -1,37 +0,0 @@ -easyblock = 'MakeCp' - -name = 'pplacer' -version = '1.1.alpha17' - -homepage = 'http://matsen.fhcrc.org/pplacer/' -description = """Pplacer places query sequences on a fixed reference phylogenetic tree to maximize phylogenetic - likelihood or posterior probability according to a reference alignment. Pplacer is designed to be fast, to give - useful information about uncertainty, and to offer advanced visualization and downstream analysis.""" - -toolchain = {'name': 'foss', 'version': '2015a'} - -source_urls = ['https://github.com/matsen/pplacer/archive/'] -sources = ['v%(version)s.tar.gz'] - -ocaml = 'OCaml' -ocamlver = '4.02.3' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) -dependencies = [ - (ocaml, ocamlver), - ('CamlZIP', '1.05', versionsuffix), - ('GSL-OCaml', '0.6.3', versionsuffix), - ('SQLite3-OCaml', '2.0.6', versionsuffix), - ('MCL', '12-068oasis4', versionsuffix), -] - -prebuildopts = "echo 'let version = \"v1.1.alpha17-9-g78ea126\"\n' > common_src/version.ml && " -parallel = 1 - -files_to_copy = ['bin'] - -sanity_check_paths = { - 'files': ['bin/guppy', 'bin/pplacer', 'bin/rppr'], - 'dirs': [], -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb index ab3d1ec5e2..68d585b3df 100644 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb @@ -1,8 +1,8 @@ ## # This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild # -# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine -# Authors:: Fotis Georgatos +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos # License:: MIT/GPL # $Id$ # @@ -10,18 +10,20 @@ # http://hpcbios.readthedocs.org/en/latest/ ## +easyblock = 'ConfigureMake' + name = 'SQLite' version = '3.8.6' -homepage = 'http://www.hwaci.com/sw/sqlite/' +homepage = 'http://www.sqlite.org/' description = "SQLite: SQL Database Engine in a C Library" -# eg. http://www.hwaci.com/sw/sqlite/2013/sqlite-autoconf-3080100.tar.gz -source_urls = ['http://www.hwaci.com/sw/sqlite/2014'] -sources = ['sqlite-autoconf-%s0%s0%s00.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - toolchain = {'name': 'ictce', 'version': '5.5.0'} +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2014/'] +sources = ['sqlite-autoconf-%s0%s0%s00.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + dependencies = [ ('libreadline', '6.2'), ('Tcl', '8.6.1'), diff --git a/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb deleted file mode 100644 index 991bbf5a9c..0000000000 --- a/easybuild/easyconfigs/s/SQLite3-OCaml/SQLite3-OCaml-2.0.6-ictce-5.5.0-OCaml-4.01.0.eb +++ /dev/null @@ -1,31 +0,0 @@ -name = 'SQLite3-OCaml' -version = '2.0.6' - -homepage = 'https://github.com/mmottl/sqlite3-ocaml' -description = "OCaml bindings to the SQLite3 database.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ['https://github.com/mmottl/sqlite3-ocaml/archive/'] -sources = ['v%(version)s.tar.gz'] - -ocaml = 'OCaml' -ocamlver = '4.01.0' -versionsuffix = '-%s-%s' % (ocaml, ocamlver) - -dependencies = [ - (ocaml, ocamlver), - ('SQLite', '3.8.6'), -] - -configopts = "--destdir=%(installdir)s" -preinstallopts = "mkdir -p %(installdir)s/site-lib && OCAMLFIND_DESTDIR=%(installdir)s/site-lib" - -modextrapaths = {'OCAMLPATH': 'site-lib'} - -sanity_check_paths = { - 'files': [], - 'dirs': ["site-lib/sqlite3"], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb index 19a137231e..335678c031 100644 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb @@ -1,3 +1,5 @@ +easyblock = 'ConfigureMake' + name = 'Tcl' version = '8.6.1' @@ -10,6 +12,10 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] +dependencies = [ + ('zlib', '1.2.7'), +] + configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' runtest = 'test' -- GitLab From f51f48edb7f71ed1c835e3ea124c013e460ee60a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 09:38:07 +0200 Subject: [PATCH 0045/1089] remove unused easyconfigs --- .../Autotools/Autotools-20150215-GCC-4.9.2.eb | 17 ------- .../l/libtool/libtool-2.4.6-GCC-4.9.2.eb | 17 ------- .../o/OCaml/OCaml-4.02.3-foss-2015a.eb | 49 ------------------- 3 files changed, 83 deletions(-) delete mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb delete mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb delete mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb deleted file mode 100644 index 9fe586bfbb..0000000000 --- a/easybuild/easyconfigs/a/Autotools/Autotools-20150215-GCC-4.9.2.eb +++ /dev/null @@ -1,17 +0,0 @@ -easyblock = 'Bundle' - -name = 'Autotools' -version = '20150215' # date of the most recent change - -homepage = 'http://autotools.io' -description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" - -toolchain = {'name': 'GCC', 'version': '4.9.2'} - -dependencies = [ - ('Autoconf', '2.69'), # 20120424 - ('Automake', '1.15'), # 20150105 - ('libtool', '2.4.6'), # 20150215 -] - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb deleted file mode 100644 index 4658960398..0000000000 --- a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCC-4.9.2.eb +++ /dev/null @@ -1,17 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libtool' -version = '2.4.6' - -homepage = 'http://www.gnu.org/software/libtool' -description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries - behind a consistent, portable interface.""" - -toolchain = {'name': 'GCC', 'version': '4.9.2'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -dependencies = [('M4', '1.4.17')] - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb deleted file mode 100644 index 9eee49210d..0000000000 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb +++ /dev/null @@ -1,49 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -## -name = 'OCaml' -version = '4.02.3' - -homepage = 'http://ocaml.org/' -description = """OCaml is a general purpose industrial-strength programming language - with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria - it benefits from one of the most advanced type systems and supports functional, - imperative and object-oriented styles of programming.""" - -toolchain = {'name': 'foss', 'version': '2015a'} - -ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) -opam_ver = '1.2.2' -source_urls = [ - 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, - 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, -] -sources = [ - 'ocaml-%(version)s.tar.gz', - 'opam-full-%s.tar.gz' % opam_ver, -] - -builddependencies = [('Autotools', '20150215', '', ('GCC', '4.9.2'))] -dependencies = [ - ('ncurses', '5.9'), - ('libreadline', '6.3'), - ('GSL', '1.16'), -] - -# parallel build tends to break -parallel = 1 - -# handled by OPAM, order matters! -exts_list = [ - ('ocamlfind', '1.5.5'), - ('batteries', '2.3.1'), - ('ocaml+twt', '0.94.0'), - ('gsl', '1.18.5'), -] - -moduleclass = 'lang' -- GitLab From a19fa08e929b1b6e54ca429439c883fd565ae431 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 10:27:38 +0200 Subject: [PATCH 0046/1089] add patch to make compilation of OCaml 4.01.0 with ictce/5.5.0 work --- .../easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 2 ++ .../easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 00cc54b782..51e6fb3d9d 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -28,6 +28,8 @@ sources = [ 'opam-full-%s.tar.gz' % opam_ver, ] +patches = ['OCaml-%(version)s_icc-fixes.patch'] + builddependencies = [('Autoconf', '2.69')] dependencies = [('ncurses', '5.9')] diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch new file mode 100644 index 0000000000..bbad224e68 --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -0,0 +1,11 @@ +--- configure.orig 2015-10-06 10:19:12.763826416 +0200 ++++ configure 2015-10-06 10:19:56.005026703 +0200 +@@ -1084,7 +1084,7 @@ + fi + + has_gettimeofday=no +-if sh ./hasgot gettimeofday; then ++if sh ./hasgot cc="$cc -wd165" gettimeofday; then + echo "gettimeofday() found." + echo "#define HAS_GETTIMEOFDAY" >> s.h + has_gettimeofday="yes" -- GitLab From 89733709d862d84e04bbcadba1a839e63146cc3d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 10:49:36 +0200 Subject: [PATCH 0047/1089] fix patch --- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch index bbad224e68..6037d7e236 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -5,7 +5,7 @@ has_gettimeofday=no -if sh ./hasgot gettimeofday; then -+if sh ./hasgot cc="$cc -wd165" gettimeofday; then ++if sh cc="$cc -wd165" ./hasgot gettimeofday; then echo "gettimeofday() found." echo "#define HAS_GETTIMEOFDAY" >> s.h has_gettimeofday="yes" -- GitLab From 196677c005995eff4b5dc881d82e919c4d733329 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 12:54:26 +0200 Subject: [PATCH 0048/1089] really fix patch --- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch index 6037d7e236..ab2cf73c3e 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -5,7 +5,7 @@ has_gettimeofday=no -if sh ./hasgot gettimeofday; then -+if sh cc="$cc -wd165" ./hasgot gettimeofday; then ++if cc="$cc -wd165" sh ./hasgot gettimeofday; then echo "gettimeofday() found." echo "#define HAS_GETTIMEOFDAY" >> s.h has_gettimeofday="yes" -- GitLab From 414eb8ad2bba443c5c1177c01e7d3fd8751efbd5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 14:16:19 +0200 Subject: [PATCH 0049/1089] fix typo --- .../p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index f16f8b1dff..fd414fb69a 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -29,7 +29,7 @@ dependencies = [ ('SQLite', '3.8.6'), # for SQLite3-OCaml package ] -start_dir = '%(name)-%(version)s' +start_dir = '%(name)s-%(version)s' # see http://matsen.github.io/pplacer/compiling.html#opam prebuildopts = "export OPAMROOT=%(installdir)s && opam init && " -- GitLab From 2f7d0856b564dc0bf2a249e5f53ab14e7007fee4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 14:24:19 +0200 Subject: [PATCH 0050/1089] no need to specify start_dir --- .../p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index fd414fb69a..020232dbc3 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -29,8 +29,6 @@ dependencies = [ ('SQLite', '3.8.6'), # for SQLite3-OCaml package ] -start_dir = '%(name)s-%(version)s' - # see http://matsen.github.io/pplacer/compiling.html#opam prebuildopts = "export OPAMROOT=%(installdir)s && opam init && " prebuildopts += "opam repo add pplacer-deps %(builddir)s/pplacer-opam-repository*/ && " -- GitLab From 79c87bad7b6658455c0c9577b6b1e76407cc36c5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 20:05:24 +0200 Subject: [PATCH 0051/1089] extend patch for OCaml configure, add M4 as build dep for pplacer --- .../easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch | 9 +++++++++ .../pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 11 ++++++++--- .../pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch | 11 +++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch index ab2cf73c3e..1d8950ff29 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -1,5 +1,14 @@ --- configure.orig 2015-10-06 10:19:12.763826416 +0200 +++ configure 2015-10-06 10:19:56.005026703 +0200 +@@ -1015,7 +1015,7 @@ + fi + + has_select=no +-if sh ./hasgot select && \ ++if cc="$cc -wd165" sh ./hasgot select && \ + sh ./hasgot -i sys/types.h $select_include -t fd_set ; then + echo "select() found." + echo "#define HAS_SELECT" >> s.h @@ -1084,7 +1084,7 @@ fi diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index 020232dbc3..8a7218977a 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -19,6 +19,8 @@ sources = [ 'ba5e766.tar.gz', # pplacer-opam-repository (20151002) ] +patches = ['pplacer-%(version)s_fix-sqlite3-req-pkg.patch'] + ocaml = 'OCaml' ocamlver = '4.01.0' versionsuffix = '-%s-%s' % (ocaml, ocamlver) @@ -28,12 +30,15 @@ dependencies = [ ('GSL', '1.16'), # for GSL-OCaml package ('SQLite', '3.8.6'), # for SQLite3-OCaml package ] +builddependencies = [ + ('M4', '1.4.17'), +] # see http://matsen.github.io/pplacer/compiling.html#opam -prebuildopts = "export OPAMROOT=%(installdir)s && opam init && " +prebuildopts = "rm -rf %(installdir)s && export OPAMROOT=%(installdir)s && opam init && " prebuildopts += "opam repo add pplacer-deps %(builddir)s/pplacer-opam-repository*/ && " -prebuildopts += "opam update pplacer-deps && eval `opam config env` && " -prebuildopts += "cat opam-requirements.txt | xargs opam install -y && " +prebuildopts += "echo 'OPAM UPDATE' && opam update pplacer-deps && echo 'OPAM CONFIG' && eval `opam config env` && " +prebuildopts += "echo 'OPAM INSTALL' && cat opam-requirements.txt | xargs opam install -y && " parallel = 1 files_to_copy = ['bin'] diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch new file mode 100644 index 0000000000..6bb8c7268d --- /dev/null +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch @@ -0,0 +1,11 @@ +fix name of required sqlite3-ocaml package +see also https://github.com/matsen/pplacer/commit/4ae1c6803486a6460a776b6807657a3bcc4005da +--- opam-requirements.txt.orig 2015-10-06 16:38:42.246475661 +0200 ++++ opam-requirements.txt 2015-10-06 16:38:50.586708932 +0200 +@@ -4,5 +4,5 @@ + mcl.12-068oasis3 + batteries.2.1.0 + ocaml-gsl.0.6.3 +-sqlite3-ocaml.1.6.3 ++sqlite3.1.6.3 + camlzip.1.05 -- GitLab From 50eed51b8a23e4febfda9ac834e68d778cf545b6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 6 Oct 2015 20:51:29 +0200 Subject: [PATCH 0052/1089] set $OCAML_BACKEND to 'gcc' to fix issue with building gsl-ocaml --- .../p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index 8a7218977a..b23402e2e0 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -37,8 +37,8 @@ builddependencies = [ # see http://matsen.github.io/pplacer/compiling.html#opam prebuildopts = "rm -rf %(installdir)s && export OPAMROOT=%(installdir)s && opam init && " prebuildopts += "opam repo add pplacer-deps %(builddir)s/pplacer-opam-repository*/ && " -prebuildopts += "echo 'OPAM UPDATE' && opam update pplacer-deps && echo 'OPAM CONFIG' && eval `opam config env` && " -prebuildopts += "echo 'OPAM INSTALL' && cat opam-requirements.txt | xargs opam install -y && " +prebuildopts += "opam update pplacer-deps && eval `opam config env` && " +prebuildopts += "export OCAML_BACKEND=gcc && cat opam-requirements.txt | xargs opam install -y && " parallel = 1 files_to_copy = ['bin'] -- GitLab From 494cc57bad11ad1669a241d34e95ce0b1e0bdb45 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 27 Oct 2015 11:01:28 +0100 Subject: [PATCH 0053/1089] {vis}[intel/2015b] p4vasp 0.3.29 --- .../p/p4vasp/p4vasp-0.3.29-intel-2015b.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b.eb diff --git a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b.eb b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b.eb new file mode 100644 index 0000000000..1a98acb8a6 --- /dev/null +++ b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'p4vasp' +version = '0.3.29' + +homepage = 'http://www.p4vasp.at/' +description = """Visualization suite for VASP""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +# download via http://www.p4vasp.at/index.php/downloads +sources = [SOURCE_TGZ] + +skipsteps = ['configure', 'build'] + +# redefine $HOME to specify installation prefix O_o +preinstallopts = "HOME=%(installdir)s make local &&" + +sanity_check_paths = { + 'files': ['p4vasp/bin/p4v', 'p4vasp/lib/libODP.a', 'p4vasp/lib/libp4vasp.a'], + 'dirs': ['p4vasp/data', 'p4vasp/include/ODP', 'p4vasp/include/p4vasp', 'p4vasp/python-packages', 'p4vasp/utils'], +} + +modextrapaths = { + 'CPATH': ['p4vasp/include'], + 'LIBRARY_PATH': ['p4vasp/lib'], + 'PATH': ['p4vasp/bin'], + 'PYTHONPATH': ['p4vasp/python-packages'], +} + +moduleclass = 'vis' -- GitLab From 3dcf130206be4537076431d0d2e92e7ceeccd566 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 27 Oct 2015 14:45:50 +0100 Subject: [PATCH 0054/1089] add PyGTK dep in p4vasp easyconfig --- .../g/GLib/GLib-2.47.1-intel-2015b.eb | 21 +++++++++++ ...Object-Introspection-1.46.0-intel-2015b.eb | 37 +++++++++++++++++++ ...ject-Introspection-1.46.0_env-python.patch | 8 ++++ ...Object-2.28.3-intel-2015b-Python-2.7.10.eb | 30 +++++++++++++++ .../PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb | 30 +++++++++++++++ ...4vasp-0.3.29-intel-2015b-Python-2.7.10.eb} | 5 +++ 6 files changed, 131 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb create mode 100644 easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b.eb create mode 100644 easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch create mode 100644 easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb create mode 100644 easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb rename easybuild/easyconfigs/p/p4vasp/{p4vasp-0.3.29-intel-2015b.eb => p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb} (89%) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb new file mode 100644 index 0000000000..d5db1754d1 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.47.1' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://ftp.gnome.org/pub/gnome/sources/glib/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.6'), +] +builddependencies = [('Python', '2.7.10')] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b.eb new file mode 100644 index 0000000000..adb7b2d88a --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'GObject-Introspection' +version = '1.46.0' + +homepage = 'https://wiki.gnome.org/GObjectIntrospection/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +patches = ['GObject-Introspection-%(version)s_env-python.patch'] + +dependencies = [ + ('Python', '2.7.10'), + ('GLib', '2.47.1'), + ('Bison', '3.0.4'), +] + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.%s' % x for x in ['so', 'a']], + 'dirs': ['include', 'share'] +} + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch new file mode 100644 index 0000000000..a308f8a3ed --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch @@ -0,0 +1,8 @@ +--- gobject-introspection-1.46.0.orig/tools/g-ir-tool-template.in 2015-10-27 12:42:43.844025247 +0100 ++++ gobject-introspection-1.46.0/tools/g-ir-tool-template.in 2015-10-27 12:41:09.431855691 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python + # -*- Mode: Python -*- + # GObject-Introspection - a framework for introspecting GObject libraries + # Copyright (C) 2008 Johan Dahlin diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..447454d5c1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'PyGObject' +version = '2.28.3' + +homepage = 'http://www.pygtk.org/' +description = """Python Bindings for GLib/GObject/GIO/GTK+""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] + +pyver_maj_min = '2.7' +pyver = '%s.10' % pyver_maj_min +versionsuffix = '-Python-%s' % pyver + +dependencies = [ + ('Python', pyver), + ('GLib', '2.47.1'), + ('GObject-Introspection', '1.46.0'), + ('pycairo', '1.10.0', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/pygtk' % pyver_maj_min], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..b4ce217801 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'PyGTK' +version = '2.24.0' + +homepage = 'http://www.pygtk.org/' +description = """PyGTK lets you to easily create programs with a graphical user interface + using the Python programming language.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +pyver_maj_min = '2.7' +pyver = '%s.10' % pyver_maj_min +versionsuffix = '-Python-%s' % pyver + +dependencies = [ + ('Python', pyver), + ('GLib', '2.47.1'), + ('PyGObject', '2.28.3', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/pygtk' % pyver_maj_min], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b.eb b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb similarity index 89% rename from easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b.eb rename to easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb index 1a98acb8a6..7fcc6c3b0b 100644 --- a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b.eb +++ b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb @@ -2,6 +2,7 @@ easyblock = 'ConfigureMake' name = 'p4vasp' version = '0.3.29' +versionsuffix = '-Python-2.7.10' homepage = 'http://www.p4vasp.at/' description = """Visualization suite for VASP""" @@ -11,6 +12,10 @@ toolchain = {'name': 'intel', 'version': '2015b'} # download via http://www.p4vasp.at/index.php/downloads sources = [SOURCE_TGZ] +dependencies = [ + ('PyGTK', '2.24.0', versionsuffix), +] + skipsteps = ['configure', 'build'] # redefine $HOME to specify installation prefix O_o -- GitLab From 84d3505c022625c9693e88955f25f0768c5d37a4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 27 Oct 2015 16:44:17 +0100 Subject: [PATCH 0055/1089] add comment to patch for GObject-Introspection --- .../GObject-Introspection-1.46.0_env-python.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch index a308f8a3ed..10ef1bbb3f 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch @@ -1,3 +1,5 @@ +avoid that full path to bin/python is used in Python scripts +author: Kenneth Hoste (HPC-UGent) --- gobject-introspection-1.46.0.orig/tools/g-ir-tool-template.in 2015-10-27 12:42:43.844025247 +0100 +++ gobject-introspection-1.46.0/tools/g-ir-tool-template.in 2015-10-27 12:41:09.431855691 +0100 @@ -1,4 +1,4 @@ -- GitLab From a533eb7d3ecbc97ed4dc2e732b3da4d903366985 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 27 Oct 2015 17:05:52 +0100 Subject: [PATCH 0056/1089] fix versionsuffix for GObject-Introspection --- ...Object-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb} | 5 ++++- .../PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/g/GObject-Introspection/{GObject-Introspection-1.46.0-intel-2015b.eb => GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb} (93%) diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb similarity index 93% rename from easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b.eb rename to easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb index adb7b2d88a..1cf131481f 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb @@ -17,8 +17,11 @@ sources = [SOURCELOWER_TAR_XZ] patches = ['GObject-Introspection-%(version)s_env-python.patch'] +pyver = '2.7.10' +versionsuffix = '-Python-%s' % pyver + dependencies = [ - ('Python', '2.7.10'), + ('Python', pyver), ('GLib', '2.47.1'), ('Bison', '3.0.4'), ] diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb index 447454d5c1..386119a809 100644 --- a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb @@ -18,7 +18,7 @@ versionsuffix = '-Python-%s' % pyver dependencies = [ ('Python', pyver), ('GLib', '2.47.1'), - ('GObject-Introspection', '1.46.0'), + ('GObject-Introspection', '1.46.0', versionsuffix), ('pycairo', '1.10.0', versionsuffix), ] -- GitLab From 668e7a21a2ec5781fd5288f20b78df181adf052d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 27 Oct 2015 22:57:37 +0100 Subject: [PATCH 0057/1089] switch to GLib 2.29.92 and PyGObject 2.28.6 --- .../cairo-1.14.2-intel-2015b-GLib-2.29.92.eb | 46 +++++++++++++++++++ ...l-2015b.eb => GLib-2.29.92-intel-2015b.eb} | 5 +- ...ction-0.10.8-intel-2015b-Python-2.7.10.eb} | 8 ++-- ...ject-Introspection-1.46.0_env-python.patch | 10 ---- ...Object-2.28.3-intel-2015b-Python-2.7.10.eb | 30 ------------ ...Object-2.28.6-intel-2015b-Python-2.7.10.eb | 34 ++++++++++++++ .../PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb | 8 ++-- ...-intel-2015b-Python-2.7.10-GLib-2.29.92.eb | 30 ++++++++++++ 8 files changed, 120 insertions(+), 51 deletions(-) create mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb rename easybuild/easyconfigs/g/GLib/{GLib-2.47.1-intel-2015b.eb => GLib-2.29.92-intel-2015b.eb} (84%) rename easybuild/easyconfigs/g/GObject-Introspection/{GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb => GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb} (87%) delete mode 100644 easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch delete mode 100644 easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb create mode 100644 easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb create mode 100644 easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb new file mode 100644 index 0000000000..75af067c33 --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.14.2' + +homepage = 'http://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] + +glibver = '2.29.92' +versionsuffix = '-GLib-%s' % glibver + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libpng', '1.6.18'), + ('freetype', '2.6.1'), + ('pixman', '0.32.8'), + ('fontconfig', '2.11.94'), + ('expat', '2.1.0'), + ('GLib', glibver), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes" + +# workaround for "hidden symbol .* in .* is referenced by DSO" and "ld: final link failed: Bad value" +buildopts = 'LD="$CC" LDFLAGS="$LDFLAGS -shared-intel"' + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.29.92-intel-2015b.eb similarity index 84% rename from easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb rename to easybuild/easyconfigs/g/GLib/GLib-2.29.92-intel-2015b.eb index d5db1754d1..053d541683 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.29.92-intel-2015b.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'GLib' -version = '2.47.1' +version = '2.29.92' homepage = 'http://www.gtk.org/' description = """GLib is one of the base libraries of the GTK+ project""" @@ -10,11 +10,12 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://ftp.gnome.org/pub/gnome/sources/glib/%(version_major_minor)s/'] -sources = [SOURCELOWER_TAR_XZ] +sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.6'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.10')] diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb similarity index 87% rename from easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb rename to easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb index 1cf131481f..669dcee41a 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'GObject-Introspection' -version = '1.46.0' +version = '0.10.8' homepage = 'https://wiki.gnome.org/GObjectIntrospection/' description = """GObject introspection is a middleware layer between C libraries @@ -13,16 +13,14 @@ description = """GObject introspection is a middleware layer between C libraries toolchain = {'name': 'intel', 'version': '2015b'} source_urls = [FTPGNOME_SOURCE] -sources = [SOURCELOWER_TAR_XZ] - -patches = ['GObject-Introspection-%(version)s_env-python.patch'] +sources = [SOURCELOWER_TAR_GZ] pyver = '2.7.10' versionsuffix = '-Python-%s' % pyver dependencies = [ ('Python', pyver), - ('GLib', '2.47.1'), + ('GLib', '2.29.92'), ('Bison', '3.0.4'), ] diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch deleted file mode 100644 index 10ef1bbb3f..0000000000 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.46.0_env-python.patch +++ /dev/null @@ -1,10 +0,0 @@ -avoid that full path to bin/python is used in Python scripts -author: Kenneth Hoste (HPC-UGent) ---- gobject-introspection-1.46.0.orig/tools/g-ir-tool-template.in 2015-10-27 12:42:43.844025247 +0100 -+++ gobject-introspection-1.46.0/tools/g-ir-tool-template.in 2015-10-27 12:41:09.431855691 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/env @PYTHON@ -+#!/usr/bin/env python - # -*- Mode: Python -*- - # GObject-Introspection - a framework for introspecting GObject libraries - # Copyright (C) 2008 Johan Dahlin diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb deleted file mode 100644 index 386119a809..0000000000 --- a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.3-intel-2015b-Python-2.7.10.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'PyGObject' -version = '2.28.3' - -homepage = 'http://www.pygtk.org/' -description = """Python Bindings for GLib/GObject/GIO/GTK+""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = [PYPI_SOURCE] -sources = [SOURCELOWER_TAR_BZ2] - -pyver_maj_min = '2.7' -pyver = '%s.10' % pyver_maj_min -versionsuffix = '-Python-%s' % pyver - -dependencies = [ - ('Python', pyver), - ('GLib', '2.47.1'), - ('GObject-Introspection', '1.46.0', versionsuffix), - ('pycairo', '1.10.0', versionsuffix), -] - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%s/site-packages/pygtk' % pyver_maj_min], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..3c627c6217 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'PyGObject' +version = '2.28.6' + +homepage = 'http://www.pygtk.org/' +description = """Python Bindings for GLib/GObject/GIO/GTK+""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +pyver_maj_min = '2.7' +pyver = '%s.10' % pyver_maj_min +versionsuffix = '-Python-%s' % pyver + +glibver = '2.29.92' +dependencies = [ + ('Python', pyver), + ('GLib', glibver), + ('GObject-Introspection', '0.10.8', versionsuffix), + ('pycairo', '1.10.0', versionsuffix + '-GLib-%s' % glibver), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['include/pygtk-%(version_major)s.0/pyglib.h', 'include/pygtk-%(version_major)s.0/pygobject.h', + 'lib/libpyglib-%(version_major)s.0-python.so'], + 'dirs': ['bin', 'lib/python%s/site-packages/' % pyver_maj_min], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb index b4ce217801..acfff835e3 100644 --- a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb @@ -18,13 +18,13 @@ versionsuffix = '-Python-%s' % pyver dependencies = [ ('Python', pyver), - ('GLib', '2.47.1'), - ('PyGObject', '2.28.3', versionsuffix), + ('GLib', '2.29.92'), + ('PyGObject', '2.28.6', versionsuffix), ] sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%s/site-packages/pygtk' % pyver_maj_min], + 'files': ['lib/pkgconfig/pygtk-%(version_major)s.0.pc'], + 'dirs': ['lib/pygtk'], } moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb b/easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb new file mode 100644 index 0000000000..23337bffcc --- /dev/null +++ b/easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb @@ -0,0 +1,30 @@ +easyblock = 'Waf' + +name = 'pycairo' +version = '1.10.0' + +homepage = 'http://cairographics.org/pycairo/' +description = """Python bindings for the cairo library""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://cairographics.org/releases/'] +# py2cairo is the Python 2 compatible release +sources = ['py2cairo-%(version)s.tar.bz2'] + +pyver_maj_min = '2.7' +pyver = '%s.10' % pyver_maj_min +glibver = '2.29.92' +versionsuffix = '-Python-%s-GLib-%s' % (pyver, glibver) + +dependencies = [ + ('Python', pyver), + ('cairo', '1.14.2', '-GLib-%s' % glibver), +] + +sanity_check_paths = { + 'files': ['include/pycairo/pycairo.h', 'lib/pkgconfig/pycairo.pc'], + 'dirs': ['lib/python%s/site-packages/cairo' % pyver_maj_min], +} + +moduleclass = 'vis' -- GitLab From 9f185b43cf9bf44d3d34cc79627508acff8a92d3 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 30 Oct 2015 12:38:28 +1300 Subject: [PATCH 0058/1089] New easyconfig for DFT-D3 --- .../d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb new file mode 100644 index 0000000000..b28f706ce6 --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb @@ -0,0 +1,21 @@ +easyblock = 'MakeCp' + +name = 'DFT-D3' +version = '3.1.1' + +homepage = 'http://www.thch.uni-bonn.de/tc/index.php?section=downloads&subsection=DFT-D3&lang=english' +description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.""" + +toolchain = {'name': 'intel', 'version': '2015a'} + +source_urls = ['http://www.thch.uni-bonn.de/tc/downloads/%(name)s/data'] +sources = ['dftd3.tgz'] + +files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] + +sanity_check_paths = { + 'files': ['bin/dftd3'], + 'dirs': [], +} + +moduleclass = 'chem' -- GitLab From 339843c8214e538e3e4504fa272cf25d44f2db1f Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 2 Nov 2015 11:22:04 +1300 Subject: [PATCH 0059/1089] Added MD5 checksum for tarball --- easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb index b28f706ce6..79b12d07a2 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb @@ -10,6 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} source_urls = ['http://www.thch.uni-bonn.de/tc/downloads/%(name)s/data'] sources = ['dftd3.tgz'] +checksums = [('md5', '88470bd398b5cc90ad680ed1df4239f7')] files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] -- GitLab From b67dff1790779871c93a0dde2618d8ba18f2ebab Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 4 Nov 2015 11:06:45 +0100 Subject: [PATCH 0060/1089] 1 --- .../e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb | 37 + .../f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb | 43 + .../easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch | 871 ++++++++++++++++++ .../o/Octopus/Octopus-5.0.0-intel-2015b.eb | 51 + .../p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb | 27 + 5 files changed, 1029 insertions(+) create mode 100644 easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb create mode 100644 easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb create mode 100644 easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch create mode 100644 easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb create mode 100644 easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb diff --git a/easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb b/easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb new file mode 100644 index 0000000000..1e01d1ca9a --- /dev/null +++ b/easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb @@ -0,0 +1,37 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2013-2014 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'ETSF_IO' +version = '1.0.4' + +homepage = 'http://www.etsf.eu/resources/software/libraries_and_tools' +description = """A library of F90 routines to read/write the ETSF file +format has been written. It is called ETSF_IO and available under LGPL. """ + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://www.etsf.eu/system/files'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-netcdf-prefix=$EBROOTNETCDF " +configopts += "--with-netcdf-libs='-L$EBROOTNETCDF/lib -lnetcdf -lnetcdff' " +configopts += " --with-netcdf-incs='-I$EBROOTNETCDF/include'" + +dependencies = [ + ('netCDF', '4.3.3.1'), + ('netCDF-Fortran', '4.4.2'), +] + +sanity_check_paths = { + 'files': ["bin/etsf_io"], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb new file mode 100644 index 0000000000..05f0826bb5 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FFTW' +version = '3.3.4-p2' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = ['%s-%s.tar.gz' % (name.lower(), version.split("-")[0])] +source_urls = [homepage] + +patches = ['%(name)s_%(version)s.patch'] + +builddependencies = [ + ('Autotools', '20150215', '', ('GNU', '4.9.3-2.25')), +] + +# the patch changed a Makefile.am, so we need to call autoreconf +preconfigopts = "autoreconf --verbose --symlink --force && " + +common_configopts = "--enable-threads --enable-openmp --with-pic" + +# no quad precision, requires GCC v4.6 or higher +# see also http://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +configopts = [ + common_configopts + " --enable-single --enable-sse2 --enable-mpi", + common_configopts + " --enable-long-double --enable-mpi", + common_configopts + " --enable-sse2 --enable-mpi", # default as last +] + +sanity_check_paths = { + 'files': ['bin/fftw%s' % x for x in ['-wisdom', '-wisdom-to-conf', 'f-wisdom', 'l-wisdom']] + + ['include/fftw3%s' % x for x in ['-mpi.f03', '-mpi.h', '.f', '.f03', + '.h', 'l-mpi.f03', 'l.f03', 'q.f03']] + + ['lib/libfftw3%s%s.a' % (x, y) for x in ['', 'f', 'l'] for y in ['', '_mpi', '_omp', '_threads']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch b/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch new file mode 100644 index 0000000000..981d2feb46 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch @@ -0,0 +1,871 @@ +#https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en#scripts +#Within these scripts we apply the following patches that have been submitted to FFTW but are not yet included in FFTW-3.3.4: +#We add two more global transposition algorithms to the planner. +#We patch file mpi/transpose-pairwise.c in order to fix a double free bug. +diff -rupN fftw-3.3.4/mpi/conf.c fftw-3.3.4-patched/mpi/conf.c +--- fftw-3.3.4/mpi/conf.c 2014-03-04 19:41:03.000000000 +0100 ++++ fftw-3.3.4-patched/mpi/conf.c 2015-09-05 05:53:19.085516467 +0200 +@@ -29,6 +29,8 @@ static const solvtab s = + SOLVTAB(XM(transpose_pairwise_register)), + SOLVTAB(XM(transpose_alltoall_register)), + SOLVTAB(XM(transpose_recurse_register)), ++ SOLVTAB(XM(transpose_pairwise_transposed_register)), ++ SOLVTAB(XM(transpose_alltoall_transposed_register)), + SOLVTAB(XM(dft_rank_geq2_register)), + SOLVTAB(XM(dft_rank_geq2_transposed_register)), + SOLVTAB(XM(dft_serial_register)), +diff -rupN fftw-3.3.4/mpi/Makefile.am fftw-3.3.4-patched/mpi/Makefile.am +--- fftw-3.3.4/mpi/Makefile.am 2013-03-18 13:10:45.000000000 +0100 ++++ fftw-3.3.4-patched/mpi/Makefile.am 2015-09-05 05:53:19.084516437 +0200 +@@ -16,6 +16,7 @@ BUILT_SOURCES = fftw3-mpi.f03.in fftw3-m + CLEANFILES = fftw3-mpi.f03 fftw3l-mpi.f03 + + TRANSPOSE_SRC = transpose-alltoall.c transpose-pairwise.c transpose-recurse.c transpose-problem.c transpose-solve.c mpi-transpose.h ++TRANSPOSE_SRC += transpose-alltoall-transposed.c transpose-pairwise-transposed.c + DFT_SRC = dft-serial.c dft-rank-geq2.c dft-rank-geq2-transposed.c dft-rank1.c dft-rank1-bigvec.c dft-problem.c dft-solve.c mpi-dft.h + RDFT_SRC = rdft-serial.c rdft-rank-geq2.c rdft-rank-geq2-transposed.c rdft-rank1-bigvec.c rdft-problem.c rdft-solve.c mpi-rdft.h + RDFT2_SRC = rdft2-serial.c rdft2-rank-geq2.c rdft2-rank-geq2-transposed.c rdft2-problem.c rdft2-solve.c mpi-rdft2.h +diff -rupN fftw-3.3.4/mpi/mpi-transpose.h fftw-3.3.4-patched/mpi/mpi-transpose.h +--- fftw-3.3.4/mpi/mpi-transpose.h 2014-03-04 19:41:03.000000000 +0100 ++++ fftw-3.3.4-patched/mpi/mpi-transpose.h 2015-09-05 05:53:19.085516467 +0200 +@@ -59,3 +59,5 @@ int XM(mkplans_posttranspose)(const prob + void XM(transpose_pairwise_register)(planner *p); + void XM(transpose_alltoall_register)(planner *p); + void XM(transpose_recurse_register)(planner *p); ++void XM(transpose_pairwise_transposed_register)(planner *p); ++void XM(transpose_alltoall_transposed_register)(planner *p); +diff -rupN fftw-3.3.4/mpi/transpose-alltoall-transposed.c fftw-3.3.4-patched/mpi/transpose-alltoall-transposed.c +--- fftw-3.3.4/mpi/transpose-alltoall-transposed.c 1970-01-01 01:00:00.000000000 +0100 ++++ fftw-3.3.4-patched/mpi/transpose-alltoall-transposed.c 2015-09-05 05:53:19.085516467 +0200 +@@ -0,0 +1,280 @@ ++/* ++ * Copyright (c) 2003, 2007-11 Matteo Frigo ++ * Copyright (c) 2003, 2007-11 Massachusetts Institute of Technology ++ * Copyright (c) 2012 Michael Pippig ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * 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 ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ * ++ */ ++ ++/* plans for distributed out-of-place transpose using MPI_Alltoall, ++ and which destroy the input array (also if TRANSPOSED_IN is used) */ ++ ++#include "mpi-transpose.h" ++#include ++ ++typedef struct { ++ solver super; ++ int copy_transposed_out; /* whether to copy the output for TRANSPOSED_OUT, ++ which makes the first transpose out-of-place ++ but costs an extra copy and requires us ++ to destroy the input */ ++} S; ++ ++typedef struct { ++ plan_mpi_transpose super; ++ ++ plan *cld1, *cld2, *cld2rest, *cld3; ++ ++ MPI_Comm comm; ++ int *send_block_sizes, *send_block_offsets; ++ int *recv_block_sizes, *recv_block_offsets; ++ ++ INT rest_Ioff, rest_Ooff; ++ ++ int equal_blocks; ++} P; ++ ++/* transpose locally to get contiguous chunks ++ this may take two transposes if the block sizes are unequal ++ (3 subplans, two of which operate on disjoint data) */ ++static void apply_pretranspose( ++ const P *ego, R *I, R *O ++ ) ++{ ++ plan_rdft *cld2, *cld2rest, *cld3; ++ ++ cld3 = (plan_rdft *) ego->cld3; ++ if (cld3) ++ cld3->apply(ego->cld3, O, O); ++ /* else TRANSPOSED_IN is true and user wants I transposed */ ++ ++ cld2 = (plan_rdft *) ego->cld2; ++ cld2->apply(ego->cld2, I, O); ++ cld2rest = (plan_rdft *) ego->cld2rest; ++ if (cld2rest) { ++ cld2rest->apply(ego->cld2rest, ++ I + ego->rest_Ioff, O + ego->rest_Ooff); ++ } ++} ++ ++static void apply(const plan *ego_, R *I, R *O) ++{ ++ const P *ego = (const P *) ego_; ++ plan_rdft *cld1 = (plan_rdft *) ego->cld1; ++ ++ if (cld1) { ++ /* transpose locally to get contiguous chunks */ ++ apply_pretranspose(ego, I, O); ++ ++ /* transpose chunks globally */ ++ if (ego->equal_blocks) ++ MPI_Alltoall(O, ego->send_block_sizes[0], FFTW_MPI_TYPE, ++ I, ego->recv_block_sizes[0], FFTW_MPI_TYPE, ++ ego->comm); ++ else ++ MPI_Alltoallv(O, ego->send_block_sizes, ego->send_block_offsets, ++ FFTW_MPI_TYPE, ++ I, ego->recv_block_sizes, ego->recv_block_offsets, ++ FFTW_MPI_TYPE, ++ ego->comm); ++ ++ /* transpose locally to get non-transposed output */ ++ cld1->apply(ego->cld1, I, O); ++ } /* else TRANSPOSED_OUT is true and user wants O transposed */ ++ else { ++ /* transpose locally to get contiguous chunks */ ++ apply_pretranspose(ego, I, I); ++ ++ /* transpose chunks globally */ ++ if (ego->equal_blocks) ++ MPI_Alltoall(I, ego->send_block_sizes[0], FFTW_MPI_TYPE, ++ O, ego->recv_block_sizes[0], FFTW_MPI_TYPE, ++ ego->comm); ++ else ++ MPI_Alltoallv(I, ego->send_block_sizes, ego->send_block_offsets, ++ FFTW_MPI_TYPE, ++ O, ego->recv_block_sizes, ego->recv_block_offsets, ++ FFTW_MPI_TYPE, ++ ego->comm); ++ } ++} ++ ++static int applicable(const S *ego, const problem *p_, ++ const planner *plnr) ++{ ++ /* in contrast to transpose-alltoall this algorithm can not preserve the input, ++ * since we need at least one transpose before the (out-of-place) Alltoall */ ++ const problem_mpi_transpose *p = (const problem_mpi_transpose *) p_; ++ return (1 ++ && p->I != p->O ++ && (!NO_DESTROY_INPUTP(plnr)) ++ && ((p->flags & TRANSPOSED_OUT) || !ego->copy_transposed_out) ++ && ONLY_TRANSPOSEDP(p->flags) ++ ); ++} ++ ++static void awake(plan *ego_, enum wakefulness wakefulness) ++{ ++ P *ego = (P *) ego_; ++ X(plan_awake)(ego->cld1, wakefulness); ++ X(plan_awake)(ego->cld2, wakefulness); ++ X(plan_awake)(ego->cld2rest, wakefulness); ++ X(plan_awake)(ego->cld3, wakefulness); ++} ++ ++static void destroy(plan *ego_) ++{ ++ P *ego = (P *) ego_; ++ X(ifree0)(ego->send_block_sizes); ++ MPI_Comm_free(&ego->comm); ++ X(plan_destroy_internal)(ego->cld3); ++ X(plan_destroy_internal)(ego->cld2rest); ++ X(plan_destroy_internal)(ego->cld2); ++ X(plan_destroy_internal)(ego->cld1); ++} ++ ++static void print(const plan *ego_, printer *p) ++{ ++ const P *ego = (const P *) ego_; ++ p->print(p, "(mpi-transpose-alltoall-transposed%s%(%p%)%(%p%)%(%p%)%(%p%))", ++ ego->equal_blocks ? "/e" : "", ++ ego->cld1, ego->cld2, ego->cld2rest, ego->cld3); ++} ++ ++static plan *mkplan(const solver *ego_, const problem *p_, planner *plnr) ++{ ++ const S *ego = (const S *) ego_; ++ const problem_mpi_transpose *p; ++ P *pln; ++ plan *cld1 = 0, *cld2 = 0, *cld2rest = 0, *cld3 = 0; ++ INT b, bt, vn, rest_Ioff, rest_Ooff; ++ R *O; ++ int *sbs, *sbo, *rbs, *rbo; ++ int pe, my_pe, n_pes; ++ int equal_blocks = 1; ++ static const plan_adt padt = { ++ XM(transpose_solve), awake, print, destroy ++ }; ++ ++ if (!applicable(ego, p_, plnr)) ++ return (plan *) 0; ++ ++ p = (const problem_mpi_transpose *) p_; ++ vn = p->vn; ++ ++ MPI_Comm_rank(p->comm, &my_pe); ++ MPI_Comm_size(p->comm, &n_pes); ++ ++ bt = XM(block)(p->ny, p->tblock, my_pe); ++ ++ if (p->flags & TRANSPOSED_OUT) { /* O stays transposed */ ++ if (ego->copy_transposed_out) { ++ cld1 = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)(X(mktensor_1d) ++ (bt * p->nx * vn, 1, 1), ++ p->I, O = p->O), ++ 0, 0, NO_SLOW); ++ if (XM(any_true)(!cld1, p->comm)) goto nada; ++ } ++ else /* first transpose is in-place */ ++ O = p->I; ++ } ++ else { /* transpose nx x bt x vn -> bt x nx x vn */ ++ cld1 = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)(X(mktensor_3d) ++ (bt, vn, p->nx * vn, ++ p->nx, bt * vn, vn, ++ vn, 1, 1), ++ p->I, O = p->O), ++ 0, 0, NO_SLOW); ++ if (XM(any_true)(!cld1, p->comm)) goto nada; ++ } ++ ++ if (XM(any_true)(!XM(mkplans_pretranspose)(p, plnr, p->I, O, my_pe, ++ &cld2, &cld2rest, &cld3, ++ &rest_Ioff, &rest_Ooff), ++ p->comm)) goto nada; ++ ++ ++ pln = MKPLAN_MPI_TRANSPOSE(P, &padt, apply); ++ ++ pln->cld1 = cld1; ++ pln->cld2 = cld2; ++ pln->cld2rest = cld2rest; ++ pln->rest_Ioff = rest_Ioff; ++ pln->rest_Ooff = rest_Ooff; ++ pln->cld3 = cld3; ++ ++ MPI_Comm_dup(p->comm, &pln->comm); ++ ++ /* Compute sizes/offsets of blocks to send for all-to-all command. */ ++ sbs = (int *) MALLOC(4 * n_pes * sizeof(int), PLANS); ++ sbo = sbs + n_pes; ++ rbs = sbo + n_pes; ++ rbo = rbs + n_pes; ++ b = XM(block)(p->nx, p->block, my_pe); ++ bt = XM(block)(p->ny, p->tblock, my_pe); ++ for (pe = 0; pe < n_pes; ++pe) { ++ INT db, dbt; /* destination block sizes */ ++ db = XM(block)(p->nx, p->block, pe); ++ dbt = XM(block)(p->ny, p->tblock, pe); ++ if (db != p->block || dbt != p->tblock) ++ equal_blocks = 0; ++ ++ /* MPI requires type "int" here; apparently it ++ has no 64-bit API? Grrr. */ ++ sbs[pe] = (int) (b * dbt * vn); ++ sbo[pe] = (int) (pe * (b * p->tblock) * vn); ++ rbs[pe] = (int) (db * bt * vn); ++ rbo[pe] = (int) (pe * (p->block * bt) * vn); ++ } ++ pln->send_block_sizes = sbs; ++ pln->send_block_offsets = sbo; ++ pln->recv_block_sizes = rbs; ++ pln->recv_block_offsets = rbo; ++ pln->equal_blocks = equal_blocks; ++ ++ X(ops_zero)(&pln->super.super.ops); ++ if (cld1) X(ops_add2)(&cld1->ops, &pln->super.super.ops); ++ if (cld2) X(ops_add2)(&cld2->ops, &pln->super.super.ops); ++ if (cld2rest) X(ops_add2)(&cld2rest->ops, &pln->super.super.ops); ++ if (cld3) X(ops_add2)(&cld3->ops, &pln->super.super.ops); ++ /* FIXME: should MPI operations be counted in "other" somehow? */ ++ ++ return &(pln->super.super); ++ ++ nada: ++ X(plan_destroy_internal)(cld3); ++ X(plan_destroy_internal)(cld2rest); ++ X(plan_destroy_internal)(cld2); ++ X(plan_destroy_internal)(cld1); ++ return (plan *) 0; ++} ++ ++static solver *mksolver(int copy_transposed_out) ++{ ++ static const solver_adt sadt = { PROBLEM_MPI_TRANSPOSE, mkplan, 0 }; ++ S *slv = MKSOLVER(S, &sadt); ++ slv->copy_transposed_out = copy_transposed_out; ++ return &(slv->super); ++} ++ ++void XM(transpose_alltoall_transposed_register)(planner *p) ++{ ++ int cto; ++ for (cto = 0; cto <= 1; ++cto) ++ REGISTER_SOLVER(p, mksolver(cto)); ++} +diff -rupN fftw-3.3.4/mpi/transpose-pairwise.c fftw-3.3.4-patched/mpi/transpose-pairwise.c +--- fftw-3.3.4/mpi/transpose-pairwise.c 2014-03-04 19:41:03.000000000 +0100 ++++ fftw-3.3.4-patched/mpi/transpose-pairwise.c 2015-09-05 06:00:05.715433709 +0200 +@@ -53,7 +53,6 @@ static void transpose_chunks(int *sched, + { + if (sched) { + int i; +- MPI_Status status; + + /* TODO: explore non-synchronous send/recv? */ + +@@ -74,7 +73,7 @@ static void transpose_chunks(int *sched, + O + rbo[pe], (int) (rbs[pe]), + FFTW_MPI_TYPE, + pe, (pe * n_pes + my_pe) & 0xffff, +- comm, &status); ++ comm, MPI_STATUS_IGNORE); + } + } + +@@ -92,7 +91,7 @@ static void transpose_chunks(int *sched, + O + rbo[pe], (int) (rbs[pe]), + FFTW_MPI_TYPE, + pe, (pe * n_pes + my_pe) & 0xffff, +- comm, &status); ++ comm, MPI_STATUS_IGNORE); + } + } + } +@@ -350,6 +349,7 @@ nada: + X(plan_destroy_internal)(*cld3); + X(plan_destroy_internal)(*cld2rest); + X(plan_destroy_internal)(*cld2); ++ *cld2 = *cld2rest = *cld3 = NULL; + return 0; + } + +diff -rupN fftw-3.3.4/mpi/transpose-pairwise-transposed.c fftw-3.3.4-patched/mpi/transpose-pairwise-transposed.c +--- fftw-3.3.4/mpi/transpose-pairwise-transposed.c 1970-01-01 01:00:00.000000000 +0100 ++++ fftw-3.3.4-patched/mpi/transpose-pairwise-transposed.c 2015-09-05 06:00:07.280481042 +0200 +@@ -0,0 +1,510 @@ ++/* ++ * Copyright (c) 2003, 2007-11 Matteo Frigo ++ * Copyright (c) 2003, 2007-11 Massachusetts Institute of Technology ++ * Copyright (c) 2012 Michael Pippig ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * 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 ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ * ++ */ ++ ++/* Distributed transposes using a sequence of carefully scheduled ++ pairwise exchanges. This has the advantage that it can be done ++ in-place, or out-of-place while preserving the input, using buffer ++ space proportional to the local size divided by the number of ++ processes (i.e. to the total array size divided by the number of ++ processes squared). */ ++ ++#include "mpi-transpose.h" ++#include ++ ++typedef struct { ++ solver super; ++ int preserve_input; /* preserve input even if DESTROY_INPUT was passed */ ++} S; ++ ++typedef struct { ++ plan_mpi_transpose super; ++ ++ plan *cld1, *cld2, *cld2rest, *cld3; ++ INT rest_Ioff, rest_Ooff; ++ ++ int n_pes, my_pe, *sched; ++ INT *send_block_sizes, *send_block_offsets; ++ INT *recv_block_sizes, *recv_block_offsets; ++ MPI_Comm comm; ++ int preserve_input; ++} P; ++ ++static void transpose_chunks(int *sched, int n_pes, int my_pe, ++ INT *sbs, INT *sbo, INT *rbs, INT *rbo, ++ MPI_Comm comm, ++ R *I, R *O) ++{ ++ if (sched) { ++ int i; ++ ++ /* TODO: explore non-synchronous send/recv? */ ++ ++ if (I == O) { ++ R *buf = (R*) MALLOC(sizeof(R) * sbs[0], BUFFERS); ++ ++ for (i = 0; i < n_pes; ++i) { ++ int pe = sched[i]; ++ if (my_pe == pe) { ++ if (rbo[pe] != sbo[pe]) ++ memmove(O + rbo[pe], O + sbo[pe], ++ sbs[pe] * sizeof(R)); ++ } ++ else { ++ memcpy(buf, O + sbo[pe], sbs[pe] * sizeof(R)); ++ MPI_Sendrecv(buf, (int) (sbs[pe]), FFTW_MPI_TYPE, ++ pe, (my_pe * n_pes + pe) & 0xffff, ++ O + rbo[pe], (int) (rbs[pe]), ++ FFTW_MPI_TYPE, ++ pe, (pe * n_pes + my_pe) & 0xffff, ++ comm, MPI_STATUS_IGNORE); ++ } ++ } ++ ++ X(ifree)(buf); ++ } ++ else { /* I != O */ ++ for (i = 0; i < n_pes; ++i) { ++ int pe = sched[i]; ++ if (my_pe == pe) ++ memcpy(O + rbo[pe], I + sbo[pe], sbs[pe] * sizeof(R)); ++ else ++ MPI_Sendrecv(I + sbo[pe], (int) (sbs[pe]), ++ FFTW_MPI_TYPE, ++ pe, (my_pe * n_pes + pe) & 0xffff, ++ O + rbo[pe], (int) (rbs[pe]), ++ FFTW_MPI_TYPE, ++ pe, (pe * n_pes + my_pe) & 0xffff, ++ comm, MPI_STATUS_IGNORE); ++ } ++ } ++ } ++} ++ ++/* transpose locally to get contiguous chunks ++ this may take two transposes if the block sizes are unequal ++ (3 subplans, two of which operate on disjoint data) */ ++static void apply_pretranspose( ++ const P *ego, R *I, R *O ++ ) ++{ ++ plan_rdft *cld2, *cld2rest, *cld3; ++ ++ cld3 = (plan_rdft *) ego->cld3; ++ if (cld3) ++ cld3->apply(ego->cld3, O, O); ++ /* else TRANSPOSED_IN is true and user wants I transposed */ ++ ++ cld2 = (plan_rdft *) ego->cld2; ++ cld2->apply(ego->cld2, I, O); ++ cld2rest = (plan_rdft *) ego->cld2rest; ++ if (cld2rest) { ++ cld2rest->apply(ego->cld2rest, ++ I + ego->rest_Ioff, O + ego->rest_Ooff); ++ } ++} ++ ++static void apply(const plan *ego_, R *I, R *O) ++{ ++ const P *ego = (const P *) ego_; ++ plan_rdft *cld1 = (plan_rdft *) ego->cld1; ++ ++ if (cld1) { ++ /* transpose locally to get contiguous chunks */ ++ apply_pretranspose(ego, I, O); ++ ++ if(ego->preserve_input) I = O; ++ ++ /* transpose chunks globally */ ++ transpose_chunks(ego->sched, ego->n_pes, ego->my_pe, ++ ego->send_block_sizes, ego->send_block_offsets, ++ ego->recv_block_sizes, ego->recv_block_offsets, ++ ego->comm, O, I); ++ ++ /* transpose locally to get non-transposed output */ ++ cld1->apply(ego->cld1, I, O); ++ } /* else TRANSPOSED_OUT is true and user wants O transposed */ ++ else if (ego->preserve_input) { ++ /* transpose locally to get contiguous chunks */ ++ apply_pretranspose(ego, I, O); ++ ++ /* transpose chunks globally */ ++ transpose_chunks(ego->sched, ego->n_pes, ego->my_pe, ++ ego->send_block_sizes, ego->send_block_offsets, ++ ego->recv_block_sizes, ego->recv_block_offsets, ++ ego->comm, O, O); ++ } ++ else { ++ /* transpose locally to get contiguous chunks */ ++ apply_pretranspose(ego, I, I); ++ ++ /* transpose chunks globally */ ++ transpose_chunks(ego->sched, ego->n_pes, ego->my_pe, ++ ego->send_block_sizes, ego->send_block_offsets, ++ ego->recv_block_sizes, ego->recv_block_offsets, ++ ego->comm, I, O); ++ } ++} ++ ++static int applicable(const S *ego, const problem *p_, ++ const planner *plnr) ++{ ++ const problem_mpi_transpose *p = (const problem_mpi_transpose *) p_; ++ /* Note: this is *not* UGLY for out-of-place, destroy-input plans; ++ the planner often prefers transpose-pairwise to transpose-alltoall, ++ at least with LAM MPI on my machine. */ ++ return (1 ++ && (!ego->preserve_input || (!NO_DESTROY_INPUTP(plnr) ++ && p->I != p->O)) ++ && ONLY_TRANSPOSEDP(p->flags)); ++} ++ ++static void awake(plan *ego_, enum wakefulness wakefulness) ++{ ++ P *ego = (P *) ego_; ++ X(plan_awake)(ego->cld1, wakefulness); ++ X(plan_awake)(ego->cld2, wakefulness); ++ X(plan_awake)(ego->cld2rest, wakefulness); ++ X(plan_awake)(ego->cld3, wakefulness); ++} ++ ++static void destroy(plan *ego_) ++{ ++ P *ego = (P *) ego_; ++ X(ifree0)(ego->sched); ++ X(ifree0)(ego->send_block_sizes); ++ MPI_Comm_free(&ego->comm); ++ X(plan_destroy_internal)(ego->cld3); ++ X(plan_destroy_internal)(ego->cld2rest); ++ X(plan_destroy_internal)(ego->cld2); ++ X(plan_destroy_internal)(ego->cld1); ++} ++ ++static void print(const plan *ego_, printer *p) ++{ ++ const P *ego = (const P *) ego_; ++ p->print(p, "(mpi-transpose-pairwise-transposed%s%(%p%)%(%p%)%(%p%)%(%p%))", ++ ego->preserve_input==2 ?"/p":"", ++ ego->cld1, ego->cld2, ego->cld2rest, ego->cld3); ++} ++ ++/* Given a process which_pe and a number of processes npes, fills ++ the array sched[npes] with a sequence of processes to communicate ++ with for a deadlock-free, optimum-overlap all-to-all communication. ++ (All processes must call this routine to get their own schedules.) ++ The schedule can be re-ordered arbitrarily as long as all processes ++ apply the same permutation to their schedules. ++ ++ The algorithm here is based upon the one described in: ++ J. A. M. Schreuder, "Constructing timetables for sport ++ competitions," Mathematical Programming Study 13, pp. 58-67 (1980). ++ In a sport competition, you have N teams and want every team to ++ play every other team in as short a time as possible (maximum overlap ++ between games). This timetabling problem is therefore identical ++ to that of an all-to-all communications problem. In our case, there ++ is one wrinkle: as part of the schedule, the process must do ++ some data transfer with itself (local data movement), analogous ++ to a requirement that each team "play itself" in addition to other ++ teams. With this wrinkle, it turns out that an optimal timetable ++ (N parallel games) can be constructed for any N, not just for even ++ N as in the original problem described by Schreuder. ++*/ ++static void fill1_comm_sched(int *sched, int which_pe, int npes) ++{ ++ int pe, i, n, s = 0; ++ A(which_pe >= 0 && which_pe < npes); ++ if (npes % 2 == 0) { ++ n = npes; ++ sched[s++] = which_pe; ++ } ++ else ++ n = npes + 1; ++ for (pe = 0; pe < n - 1; ++pe) { ++ if (npes % 2 == 0) { ++ if (pe == which_pe) sched[s++] = npes - 1; ++ else if (npes - 1 == which_pe) sched[s++] = pe; ++ } ++ else if (pe == which_pe) sched[s++] = pe; ++ ++ if (pe != which_pe && which_pe < n - 1) { ++ i = (pe - which_pe + (n - 1)) % (n - 1); ++ if (i < n/2) ++ sched[s++] = (pe + i) % (n - 1); ++ ++ i = (which_pe - pe + (n - 1)) % (n - 1); ++ if (i < n/2) ++ sched[s++] = (pe - i + (n - 1)) % (n - 1); ++ } ++ } ++ A(s == npes); ++} ++ ++/* Sort the communication schedule sched for npes so that the schedule ++ on process sortpe is ascending or descending (!ascending). This is ++ necessary to allow in-place transposes when the problem does not ++ divide equally among the processes. In this case there is one ++ process where the incoming blocks are bigger/smaller than the ++ outgoing blocks and thus have to be received in ++ descending/ascending order, respectively, to avoid overwriting data ++ before it is sent. */ ++static void sort1_comm_sched(int *sched, int npes, int sortpe, int ascending) ++{ ++ int *sortsched, i; ++ sortsched = (int *) MALLOC(npes * sizeof(int) * 2, OTHER); ++ fill1_comm_sched(sortsched, sortpe, npes); ++ if (ascending) ++ for (i = 0; i < npes; ++i) ++ sortsched[npes + sortsched[i]] = sched[i]; ++ else ++ for (i = 0; i < npes; ++i) ++ sortsched[2*npes - 1 - sortsched[i]] = sched[i]; ++ for (i = 0; i < npes; ++i) ++ sched[i] = sortsched[npes + i]; ++ X(ifree)(sortsched); ++} ++ ++/* make the plans to do the pre-MPI transpositions (shared with ++ transpose-alltoall-transposed) */ ++int XM(mkplans_pretranspose)(const problem_mpi_transpose *p, planner *plnr, ++ R *I, R *O, int my_pe, ++ plan **cld2, plan **cld2rest, plan **cld3, ++ INT *rest_Ioff, INT *rest_Ooff) ++{ ++ INT vn = p->vn; ++ INT b = XM(block)(p->nx, p->block, my_pe); ++ INT bt = p->tblock; ++ INT nyb = p->ny / bt; /* number of equal-sized blocks */ ++ INT nyr = p->ny - nyb * bt; /* leftover rows after equal blocks */ ++ ++ *cld2 = *cld2rest = *cld3 = NULL; ++ *rest_Ioff = *rest_Ooff = 0; ++ ++ if (!(p->flags & TRANSPOSED_IN) && (nyr == 0 || I != O)) { ++ INT ny = p->ny * vn; ++ bt *= vn; ++ *cld2 = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)(X(mktensor_3d) ++ (nyb, bt, b * bt, ++ b, ny, bt, ++ bt, 1, 1), ++ I, O), ++ 0, 0, NO_SLOW); ++ if (!*cld2) goto nada; ++ ++ if (nyr > 0) { ++ *rest_Ioff = nyb * bt; ++ *rest_Ooff = nyb * b * bt; ++ bt = nyr * vn; ++ *cld2rest = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)(X(mktensor_2d) ++ (b, ny, bt, ++ bt, 1, 1), ++ I + *rest_Ioff, ++ O + *rest_Ooff), ++ 0, 0, NO_SLOW); ++ if (!*cld2rest) goto nada; ++ } ++ } ++ else { ++ *cld2 = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)( ++ X(mktensor_4d) ++ (nyb, b * bt * vn, b * bt * vn, ++ b, vn, bt * vn, ++ bt, b * vn, vn, ++ vn, 1, 1), ++ I, O), ++ 0, 0, NO_SLOW); ++ if (!*cld2) goto nada; ++ ++ *rest_Ioff = *rest_Ooff = nyb * bt * b * vn; ++ *cld2rest = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)( ++ X(mktensor_3d) ++ (b, vn, nyr * vn, ++ nyr, b * vn, vn, ++ vn, 1, 1), ++ I + *rest_Ioff, O + *rest_Ooff), ++ 0, 0, NO_SLOW); ++ if (!*cld2rest) goto nada; ++ ++ if (!(p->flags & TRANSPOSED_IN)) { ++ *cld3 = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)( ++ X(mktensor_3d) ++ (p->ny, vn, b * vn, ++ b, p->ny * vn, vn, ++ vn, 1, 1), ++ I, I), ++ 0, 0, NO_SLOW); ++ if (!*cld3) goto nada; ++ } ++ } ++ ++ return 1; ++ ++nada: ++ X(plan_destroy_internal)(*cld3); ++ X(plan_destroy_internal)(*cld2rest); ++ X(plan_destroy_internal)(*cld2); ++ *cld2 = *cld2rest = *cld3 = NULL; ++ return 0; ++} ++ ++static plan *mkplan(const solver *ego_, const problem *p_, planner *plnr) ++{ ++ const S *ego = (const S *) ego_; ++ const problem_mpi_transpose *p; ++ P *pln; ++ plan *cld1 = 0, *cld2 = 0, *cld2rest = 0, *cld3 = 0; ++ INT b, bt, vn, rest_Ioff, rest_Ooff; ++ INT *sbs, *sbo, *rbs, *rbo; ++ int pe, my_pe, n_pes, sort_pe = -1, ascending = 1; ++ R *I, *O; ++ static const plan_adt padt = { ++ XM(transpose_solve), awake, print, destroy ++ }; ++ ++ UNUSED(ego); ++ ++ if (!applicable(ego, p_, plnr)) ++ return (plan *) 0; ++ ++ p = (const problem_mpi_transpose *) p_; ++ vn = p->vn; ++ I = p->I; O = p->O; ++ ++ MPI_Comm_rank(p->comm, &my_pe); ++ MPI_Comm_size(p->comm, &n_pes); ++ ++ bt = XM(block)(p->ny, p->tblock, my_pe); ++ ++ ++ if (ego->preserve_input || NO_DESTROY_INPUTP(plnr)) I = p->O; ++ ++ if (!(p->flags & TRANSPOSED_OUT)) { /* nx x bt x vn -> bt x nx x vn */ ++ cld1 = X(mkplan_f_d)(plnr, ++ X(mkproblem_rdft_0_d)(X(mktensor_3d) ++ (bt, vn, p->nx * vn, ++ p->nx, bt * vn, vn, ++ vn, 1, 1), ++ I, O = p->O), ++ 0, 0, NO_SLOW); ++ if (XM(any_true)(!cld1, p->comm)) goto nada; ++ ++ } ++ else { ++ if (ego->preserve_input || NO_DESTROY_INPUTP(plnr)) ++ O = p->O; ++ else ++ O = p->I; ++ } ++ ++ if (XM(any_true)(!XM(mkplans_pretranspose)(p, plnr, p->I, O, my_pe, ++ &cld2, &cld2rest, &cld3, ++ &rest_Ioff, &rest_Ooff), ++ p->comm)) goto nada; ++ ++ pln = MKPLAN_MPI_TRANSPOSE(P, &padt, apply); ++ ++ pln->cld1 = cld1; ++ pln->cld2 = cld2; ++ pln->cld2rest = cld2rest; ++ pln->rest_Ioff = rest_Ioff; ++ pln->rest_Ooff = rest_Ooff; ++ pln->cld3 = cld3; ++ pln->preserve_input = ego->preserve_input ? 2 : NO_DESTROY_INPUTP(plnr); ++ ++ MPI_Comm_dup(p->comm, &pln->comm); ++ ++ n_pes = (int) X(imax)(XM(num_blocks)(p->nx, p->block), ++ XM(num_blocks)(p->ny, p->tblock)); ++ ++ /* Compute sizes/offsets of blocks to exchange between processors */ ++ sbs = (INT *) MALLOC(4 * n_pes * sizeof(INT), PLANS); ++ sbo = sbs + n_pes; ++ rbs = sbo + n_pes; ++ rbo = rbs + n_pes; ++ b = XM(block)(p->nx, p->block, my_pe); ++ bt = XM(block)(p->ny, p->tblock, my_pe); ++ for (pe = 0; pe < n_pes; ++pe) { ++ INT db, dbt; /* destination block sizes */ ++ db = XM(block)(p->nx, p->block, pe); ++ dbt = XM(block)(p->ny, p->tblock, pe); ++ ++ sbs[pe] = b * dbt * vn; ++ sbo[pe] = pe * (b * p->tblock) * vn; ++ rbs[pe] = db * bt * vn; ++ rbo[pe] = pe * (p->block * bt) * vn; ++ ++ if (db * dbt > 0 && db * p->tblock != p->block * dbt) { ++ A(sort_pe == -1); /* only one process should need sorting */ ++ sort_pe = pe; ++ ascending = db * p->tblock > p->block * dbt; ++ } ++ } ++ pln->n_pes = n_pes; ++ pln->my_pe = my_pe; ++ pln->send_block_sizes = sbs; ++ pln->send_block_offsets = sbo; ++ pln->recv_block_sizes = rbs; ++ pln->recv_block_offsets = rbo; ++ ++ if (my_pe >= n_pes) { ++ pln->sched = 0; /* this process is not doing anything */ ++ } ++ else { ++ pln->sched = (int *) MALLOC(n_pes * sizeof(int), PLANS); ++ fill1_comm_sched(pln->sched, my_pe, n_pes); ++ if (sort_pe >= 0) ++ sort1_comm_sched(pln->sched, n_pes, sort_pe, ascending); ++ } ++ ++ X(ops_zero)(&pln->super.super.ops); ++ if (cld1) X(ops_add2)(&cld1->ops, &pln->super.super.ops); ++ if (cld2) X(ops_add2)(&cld2->ops, &pln->super.super.ops); ++ if (cld2rest) X(ops_add2)(&cld2rest->ops, &pln->super.super.ops); ++ if (cld3) X(ops_add2)(&cld3->ops, &pln->super.super.ops); ++ /* FIXME: should MPI operations be counted in "other" somehow? */ ++ ++ return &(pln->super.super); ++ ++ nada: ++ X(plan_destroy_internal)(cld3); ++ X(plan_destroy_internal)(cld2rest); ++ X(plan_destroy_internal)(cld2); ++ X(plan_destroy_internal)(cld1); ++ return (plan *) 0; ++} ++ ++static solver *mksolver(int preserve_input) ++{ ++ static const solver_adt sadt = { PROBLEM_MPI_TRANSPOSE, mkplan, 0 }; ++ S *slv = MKSOLVER(S, &sadt); ++ slv->preserve_input = preserve_input; ++ return &(slv->super); ++} ++ ++void XM(transpose_pairwise_transposed_register)(planner *p) ++{ ++ int preserve_input; ++ for (preserve_input = 0; preserve_input <= 1; ++preserve_input) ++ REGISTER_SOLVER(p, mksolver(preserve_input)); ++} diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb new file mode 100644 index 0000000000..7750dafbb8 --- /dev/null +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'Octopus' +version = '5.0.0' +versionsuffix = '-mpi' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page' +description = """Octopus is a scientific program aimed at the ab initio virtual experimentation +on a hopefully ever-increasing range of system types. Electrons are described quantum-mechanically +within density-functional theory (DFT), in its time-dependent form (TDDFT) when doing simulations +in time. Nuclei are described classically as point particles. +Electron-nucleus interaction is described within the pseudopotential approximation.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'usempi': True, 'opt': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=%(version)s/' ] + +builddependencies = [ + ('Bison', '3.0.4', '', ('GNU', '4.9.3-2.25')), +# ('Perl', '5.20.3'), +] + +dependencies = [ + ('libxc', '2.2.2'), + ('netCDF', '4.3.3.1'), + ('netCDF-Fortran', '4.4.2'), + ('FFTW', '3.3.4-p2'), + ('PFFT', '1.0.8-alpha'), + ('ETSF_IO', '1.0.4'), + ('GSL', '1.16'), +] + +configopts = '--disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' +configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' +configopts += '--with-blas="-L$MKLROOT/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread" ' +configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" ' +configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" ' +configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' +configopts += '--with-etsf-io-prefix=$EBROOTETSF_IO ' +configopts += '--with-pfft-prefix=$EBROOTPFFT --with-mpifftw-prefix=$EBROOTFFTW ' + +sanity_check_paths = { + 'files': ["bin/octopus_mpi"], + 'dirs': [] +} + +#runtest = 'MPIEXEC=`which mpirun` check' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb b/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb new file mode 100644 index 0000000000..4ee4858b6d --- /dev/null +++ b/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'PFFT' +version = '1.0.8-alpha' + +homepage = 'https://www-user.tu-chemnitz.de/~mpip/software.php?lang=en' +description = """PFFT is a software library for computing massively parallel, fast Fourier +transformations on distributed memory architectures. PFFT can be understood as a generalization +of FFTW-MPI to multidimensional data decomposition.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.tu-chemnitz.de/~potts/workgroup/pippig/software/'] + +dependencies = [ + ('FFTW', '3.3.4-p2'), + ('Autotools', '20150215', '', ('GNU', '4.9.3-2.25')), +] + +sanity_check_paths = { + 'files': ['lib/libpfft.so.0.0.0', 'lib/libpfft.a'], + 'dirs': [], +} + +moduleclass = 'numlib' -- GitLab From 679c30c70d08293daf73c4c1a2569e5c1d749bd0 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 10 Nov 2015 08:24:09 +0100 Subject: [PATCH 0061/1089] 2 --- easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb index 7750dafbb8..932a21ffc2 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb @@ -19,7 +19,7 @@ source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=%(version)s/ builddependencies = [ ('Bison', '3.0.4', '', ('GNU', '4.9.3-2.25')), -# ('Perl', '5.20.3'), + ('Perl', '5.20.3'), ] dependencies = [ @@ -46,6 +46,6 @@ sanity_check_paths = { 'dirs': [] } -#runtest = 'MPIEXEC=`which mpirun` check' +runtest = 'MPIEXEC=`which mpirun` check' moduleclass = 'chem' -- GitLab From c5e37e8ce40ab0005f2b50b149ca694a0750660e Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 9 Dec 2015 13:56:39 +0100 Subject: [PATCH 0062/1089] Add deps for shift --- .../b/bbFTP/bbFTP-3.2.1-foss-2015b.eb | 42 + .../p/Perl/Perl-5.22.0-foss-2015b.eb | 909 ++++++++++++++++++ 2 files changed, 951 insertions(+) create mode 100644 easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-foss-2015b.eb create mode 100644 easybuild/easyconfigs/p/Perl/Perl-5.22.0-foss-2015b.eb diff --git a/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-foss-2015b.eb b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-foss-2015b.eb new file mode 100644 index 0000000000..ec80570d1a --- /dev/null +++ b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-foss-2015b.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## + +easyblock = 'ConfigureMake' + +name = 'bbFTP' +version = '3.2.1' + +homepage = 'http://doc.in2p3.fr/bbftp/' +description = """bbFTP is a file transfer software. It implements its own transfer protocol, + which is optimized for large files (larger than 2GB) and secure as it does not read the + password in a file and encrypts the connection information. bbFTP main features are: + * Encoded username and password at connection * SSH and Certificate authentication modules + * Multi-stream transfer * Big windows as defined in RFC1323 * On-the-fly data compression + * Automatic retry * Customizable time-outs * Transfer simulation + * AFS authentication integration * RFIO interface""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +# fi. http://doc.in2p3.fr/bbftp/dist/bbftp-client-3.2.0.tar.gz +sources = ['%s-client-%s.tar.gz' % (name.lower(), version)] +source_urls = [homepage + 'dist'] + +start_dir = 'bbftpc' + +buildopts = "CC=$CC" + +dependencies = [('zlib', '1.2.8')] +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ['bin/bbftp'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.0-foss-2015b.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.0-foss-2015b.eb new file mode 100644 index 0000000000..37c67413c1 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.0-foss-2015b.eb @@ -0,0 +1,909 @@ +name = 'Perl' +version = '5.22.0' + +homepage = 'http://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.cpan.org/src/5.0'] +sources = [SOURCELOWER_TAR_GZ] + +exts_list = [ + ('Config::General', '2.58', { + 'source_tmpl': 'Config-General-2.58.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + }), + ('File::Listing', '6.04', { + 'source_tmpl': 'File-Listing-6.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('ExtUtils::InstallPaths', '0.011', { + 'source_tmpl': 'ExtUtils-InstallPaths-0.011.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Helpers', '0.022', { + 'source_tmpl': 'ExtUtils-Helpers-0.022.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('TAP::Harness::Env', '3.35', { + 'source_tmpl': 'Test-Harness-3.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-0.008.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-0.039.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Text::Glob', '0.09', { + 'source_tmpl': 'Text-Glob-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('Regexp::Common', '2013031301', { + 'source_tmpl': 'Regexp-Common-2013031301.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-0.15.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-5.2.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + }), + ('Test::Fatal', '0.014', { + 'source_tmpl': 'Test-Fatal-0.014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warnings', '0.021', { + 'source_tmpl': 'Test-Warnings-0.021.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('DateTime::Locale', '0.46', { + 'source_tmpl': 'DateTime-Locale-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('DateTime::TimeZone', '1.93', { + 'source_tmpl': 'DateTime-TimeZone-1.93.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Test::Requires', '0.10', { + 'source_tmpl': 'Test-Requires-0.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Module::Runtime', '0.014', { + 'source_tmpl': 'Module-Runtime-0.014.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + }), + ('Try::Tiny', '0.22', { + 'source_tmpl': 'Try-Tiny-0.22.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Params::Validate', '1.21', { + 'source_tmpl': 'Params-Validate-1.21.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('List::MoreUtils', '0.413', { + 'source_tmpl': 'List-MoreUtils-0.413.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Exporter::Tiny', '0.042', { + 'source_tmpl': 'Exporter-Tiny-0.042.tar.gz', + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/T/TO/TOBYINK'], + }), + ('Class::Singleton', '1.5', { + 'source_tmpl': 'Class-Singleton-1.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('DateTime', '1.20', { + 'source_tmpl': 'DateTime-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::Find::Rule::Perl', '1.15', { + 'source_tmpl': 'File-Find-Rule-Perl-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Module::Build', '0.4214', { + 'source_tmpl': 'Module-Build-0.4214.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Readonly', '2.00', { + 'source_tmpl': 'Readonly-2.00.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SA/SANKO'], + }), + ('Git', '0.41', { + 'source_tmpl': 'Git-0.41.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + }), + ('Tree::DAG_Node', '1.27', { + 'source_tmpl': 'Tree-DAG_Node-1.27.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Template', '2.26', { + 'source_tmpl': 'Template-Toolkit-2.26.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('FreezeThaw', '0.5001', { + 'source_tmpl': 'FreezeThaw-0.5001.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/I/IL/ILYAZ/modules'], + }), + ('DBI', '1.634', { + 'source_tmpl': 'DBI-1.634.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + }), + ('DBD::SQLite', '1.48', { + 'source_tmpl': 'DBD-SQLite-1.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-0.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('Archive::Extract', '0.76', { + 'source_tmpl': 'Archive-Extract-0.76.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('DBIx::Simple', '1.35', { + 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/J/JU/JUERD'], + }), + ('Shell', '0.72', { + 'source_tmpl': 'Shell-0.72.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + }), + ('File::Spec', '3.47', { + 'source_tmpl': 'PathTools-3.47.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('ExtUtils::MakeMaker', '7.10', { + 'source_tmpl': 'ExtUtils-MakeMaker-7.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Simple', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-1.29.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + }), + ('IO::WrapTie', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::SAX::Base', '1.08', { + 'source_tmpl': 'XML-SAX-Base-1.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('XML::NamespaceSupport', '1.11', { + 'source_tmpl': 'XML-NamespaceSupport-1.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('XML::SAX', '0.99', { + 'source_tmpl': 'XML-SAX-0.99.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Test::LeakTrace', '0.15', { + 'source_tmpl': 'Test-LeakTrace-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GF/GFUJI'], + }), + ('Test::Exception', '0.40', { + 'source_tmpl': 'Test-Exception-0.40.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::Table', '1.130', { + 'source_tmpl': 'Text-Table-1.130.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('MIME::Types', '2.11', { + 'source_tmpl': 'MIME-Types-2.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), + ('Module::Build::XSUtil', '0.16', { + 'source_tmpl': 'Module-Build-XSUtil-0.16.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-0.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + }), + ('HTML::Parser', '3.71', { + 'source_tmpl': 'HTML-Parser-3.71.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-1.2.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + }), + ('Params::Util', '1.07', { + 'source_tmpl': 'Params-Util-1.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('IO::HTML', '1.001', { + 'source_tmpl': 'IO-HTML-1.001.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-0.36.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('URI', '1.69', { + 'source_tmpl': 'URI-1.69.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-0.35.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-1.23.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-0.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-0.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('Pod::POM', '2.00', { + 'source_tmpl': 'Pod-POM-2.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-0.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + }), + ('Text::Diff', '1.43', { + 'source_tmpl': 'Text-Diff-1.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-0.10.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('IO::Socket::SSL', '2.020', { + 'source_tmpl': 'IO-Socket-SSL-2.020.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-0.004.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/'], + }), + ('Meta::Builder', '0.003', { + 'source_tmpl': 'Meta-Builder-0.003.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-0.114.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('IO::Stringy', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Getopt::Long', '2.47', { + 'source_tmpl': 'Getopt-Long-2.47.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Mouse', 'v2.4.5', { + 'source_tmpl': 'Mouse-v2.4.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Test::Version', '2.03', { + 'source_tmpl': 'Test-Version-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('DBIx::Admin::TableInfo', '3.01', { + 'source_tmpl': 'DBIx-Admin-TableInfo-3.01.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Net::HTTP', '6.09', { + 'source_tmpl': 'Net-HTTP-6.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Test::Deep', '0.117', { + 'source_tmpl': 'Test-Deep-0.117.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warn', '0.30', { + 'source_tmpl': 'Test-Warn-0.30.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('MRO::Compat', '0.12', { + 'source_tmpl': 'MRO-Compat-0.12.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BO/BOBTFISH'], + }), + ('Moo', '2.000002', { + 'source_tmpl': 'Moo-2.000002.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Hash::Merge', '0.200', { + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/'], + 'source_tmpl': 'Hash-Merge-0.200.tar.gz', + }), + ('SQL::Abstract', '1.81', { + 'source_tmpl': 'SQL-Abstract-1.81.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + }), + ('HTML::Form', '6.03', { + 'source_tmpl': 'HTML-Form-6.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::Copy::Recursive', '0.38', { + 'source_tmpl': 'File-Copy-Recursive-0.38.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-0.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('IPC::Run', '0.94', { + 'source_tmpl': 'IPC-Run-0.94.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('HTML::Entities::Interpolate', '1.05', { + 'source_tmpl': 'HTML-Entities-Interpolate-1.05.tgz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Test::ClassAPI', '1.06', { + 'source_tmpl': 'Test-ClassAPI-1.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Test::Most', '0.34', { + 'source_tmpl': 'Test-Most-0.34.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/O/OV/OVID'], + }), + ('Class::Accessor', '0.34', { + 'source_tmpl': 'Class-Accessor-0.34.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Test::Differences', '0.63', { + 'source_tmpl': 'Test-Differences-0.63.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTTP::Tiny', '0.056', { + 'source_tmpl': 'HTTP-Tiny-0.056.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('Package::DeprecationManager', '0.14', { + 'source_tmpl': 'Package-DeprecationManager-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-2.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Language', '2.30', { + 'source_tmpl': 'TimeDate-2.30.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('version', '0.9912', { + 'source_tmpl': 'version-0.9912.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + # fails: uses 'gcc' + #('XML::Bare', '0.53', { + # 'source_tmpl': 'XML-Bare-0.53.tar.gz', + # 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + #}), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Sub::Name', '0.14', { + 'source_tmpl': 'Sub-Name-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece', '1.30', { + 'source_tmpl': 'Time-Piece-1.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Digest::HMAC', '1.03', { + 'source_tmpl': 'Digest-HMAC-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('MIME::Lite', '3.030', { + 'source_tmpl': 'MIME-Lite-3.030.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Crypt::Rijndael', '1.13', { + 'source_tmpl': 'Crypt-Rijndael-1.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Canary::Stability', '2006', { + 'source_tmpl': 'Canary-Stability-2006.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('AnyEvent', '7.11', { + 'source_tmpl': 'AnyEvent-7.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-0.48.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Data::UUID', '1.221', { + 'source_tmpl': 'Data-UUID-1.221.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Pod', '1.51', { + 'source_tmpl': 'Test-Pod-1.51.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-1.71.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Net::SMTP::SSL', '1.03', { + 'source_tmpl': 'Net-SMTP-SSL-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::Tiny', '2.06', { + 'source_tmpl': 'XML-Tiny-2.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-3.20.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + }), + ('HTML::Tree', '5.03', { + 'source_tmpl': 'HTML-Tree-5.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Devel::GlobalDestruction', '0.13', { + 'source_tmpl': 'Devel-GlobalDestruction-0.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Expect', '1.32', { + 'source_tmpl': 'Expect-1.32.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SZ/SZABGAB'], + }), + ('Term::UI', '0.46', { + 'source_tmpl': 'Term-UI-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-v6.0.1.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + }), + ('XML::SAX::Writer', '0.56', { + 'source_tmpl': 'XML-SAX-Writer-0.56.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('Statistics::Descriptive', '3.0609', { + 'source_tmpl': 'Statistics-Descriptive-3.0609.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Class::Load', '0.23', { + 'source_tmpl': 'Class-Load-0.23.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('LWP::Simple', '6.13', { + 'source_tmpl': 'libwww-perl-6.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-0.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Package::Stash::XS', '0.28', { + 'source_tmpl': 'Package-Stash-XS-0.28.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('GD::Graph', '1.49', { + 'source_tmpl': 'GDGraph-1.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RUZ'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-0.30.tgz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('boolean', '0.45', { + 'source_tmpl': 'boolean-0.45.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-1.75.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Test::Tester', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Test::NoWarnings', '1.04', { + 'source_tmpl': 'Test-NoWarnings-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-2.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + }), + ('Exporter', '5.72', { + 'source_tmpl': 'Exporter-5.72.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Class::Inspector', '1.28', { + 'source_tmpl': 'Class-Inspector-1.28.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Parse::RecDescent', '1.967012', { + 'source_tmpl': 'Parse-RecDescent-1.967012.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + }), + ('Carp', '1.36', { + 'source_tmpl': 'Carp-1.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::XPath', '1.13', { + 'source_tmpl': 'XML-XPath-1.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MS/MSERGEANT'], + }), + ('Capture::Tiny', '0.30', { + 'source_tmpl': 'Capture-Tiny-0.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('JSON', '2.90', { + 'source_tmpl': 'JSON-2.90.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Sub::Exporter', '0.987', { + 'source_tmpl': 'Sub-Exporter-0.987.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Class::Load::XS', '0.09', { + 'source_tmpl': 'Class-Load-XS-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-1.15.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + }), + ('Sub::Exporter::Progressive', '0.001011', { + 'source_tmpl': 'Sub-Exporter-Progressive-0.001011.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('LWP', '6.13', { + 'source_tmpl': 'libwww-perl-6.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Data::Dumper::Concise', '2.022', { + 'source_tmpl': 'Data-Dumper-Concise-2.022.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-0.004.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Algorithm::Diff', '1.1903', { + 'source_tmpl': 'Algorithm-Diff-1.1903.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TY/TYEMQ'], + }), + ('AnyData', '0.12', { + 'source_tmpl': 'AnyData-0.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-1.7.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + }), + ('Class::Data::Inheritable', '0.08', { + 'source_tmpl': 'Class-Data-Inheritable-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('Text::Balanced', '2.03', { + 'source_tmpl': 'Text-Balanced-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('strictures', '2.000001', { + 'source_tmpl': 'strictures-2.000001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-2.17.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('File::Which', '1.19', { + 'source_tmpl': 'File-Which-1.19.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-1.005.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Error', '0.17024', { + 'source_tmpl': 'Error-0.17024.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Mock::Quick', '1.110', { + 'source_tmpl': 'Mock-Quick-1.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::CSV', '1.33', { + 'source_tmpl': 'Text-CSV-1.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Test::Output', '1.03', { + 'source_tmpl': 'Test-Output-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-v3.0.17.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('List::AllUtils', '0.09', { + 'source_tmpl': 'List-AllUtils-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Exception::Class', '1.39', { + 'source_tmpl': 'Exception-Class-1.39.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-4.42.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-0.61.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + }), + ('Eval::Closure', '0.13', { + 'source_tmpl': 'Eval-Closure-0.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('HTTP::Request', '6.11', { + 'source_tmpl': 'HTTP-Message-6.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('XML::Twig', '3.49', { + 'source_tmpl': 'XML-Twig-3.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-1.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::Simple', '2.20', { + 'source_tmpl': 'XML-Simple-2.20.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-0.928.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('HTTP::Cookies', '6.01', { + 'source_tmpl': 'HTTP-Cookies-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + }), + ('Test::Exception::LessClever', '0.006', { + 'source_tmpl': 'Test-Exception-LessClever-0.006.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('LWP::MediaTypes', '6.02', { + 'source_tmpl': 'LWP-MediaTypes-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Scalar::Util', '1.42', { + 'source_tmpl': 'Scalar-List-Utils-1.42.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-0.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('IO::Scalar', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Class::Trigger', '0.14', { + 'source_tmpl': 'Class-Trigger-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('HTTP::Daemon', '6.01', { + 'source_tmpl': 'HTTP-Daemon-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::HomeDir', '1.00', { + 'source_tmpl': 'File-HomeDir-1.00.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('HTTP::Date', '6.02', { + 'source_tmpl': 'HTTP-Date-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-2.16.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('Clone', '0.38', { + 'source_tmpl': 'Clone-0.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + }), + ('Data::Types', '0.09', { + 'source_tmpl': 'Data-Types-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DW/DWHEELER'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-1.002005.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('DateTime::Tiny', '1.04', { + 'source_tmpl': 'DateTime-Tiny-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('DBD::AnyData', '0.110', { + 'source_tmpl': 'DBD-AnyData-0.110.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Format', '0.59', { + 'source_tmpl': 'Text-Format-0.59.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Devel::CheckCompiler', '0.06', { + 'source_tmpl': 'Devel-CheckCompiler-0.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Log::Handler', '0.87', { + 'source_tmpl': 'Log-Handler-0.87.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('HTML::Entities', '3.71', { + 'source_tmpl': 'HTML-Parser-3.71.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Devel::StackTrace', '2.00', { + 'source_tmpl': 'Devel-StackTrace-2.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Term::ReadKey', '2.33', { + 'source_tmpl': 'TermReadKey-2.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-1.19.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + }), + ('Moose', '2.1603', { + 'source_tmpl': 'Moose-2.1603.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Algorithm::Dependency', '1.110', { + 'source_tmpl': 'Algorithm-Dependency-1.110.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Font::TTF', '1.05', { + 'source_tmpl': 'Font-TTF-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MH/MHOSKEN'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-0.048.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('File::Find::Rule', '0.33', { + 'source_tmpl': 'File-Find-Rule-0.33.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('SQL::Statement', '1.407', { + 'source_tmpl': 'SQL-Statement-1.407.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('File::Slurp', '9999.19', { + 'source_tmpl': 'File-Slurp-9999.19.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/U/UR/URI'], + }), + ('Package::Stash', '0.37', { + 'source_tmpl': 'Package-Stash-0.37.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Data::OptList', '0.109', { + 'source_tmpl': 'Data-OptList-0.109.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('CPANPLUS', '0.9154', { + 'source_tmpl': 'CPANPLUS-0.9154.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Harness', '3.35', { + 'source_tmpl': 'Test-Harness-3.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('IO::Tty', '1.12', { + 'source_tmpl': 'IO-Tty-1.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Text::Soundex', '3.04', { + 'source_tmpl': 'Text-Soundex-3.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Lingua::EN::PluralToSingular', '0.14', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BK/BKB'], + }), + ('Want', '0.26', { + 'source_tmpl': 'Want-0.26.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + }), + ('Cwd::Guard', '0.04', { + 'source_tmpl': 'Cwd-Guard-0.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + }), + ('Bundle::BioPerl', '2.1.9', { + 'source_tmpl': 'Bundle-BioPerl-2.1.9.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS'], + }), + ('Mail::Util', '2.14', { + 'source_tmpl': 'MailTools-2.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), +] + +moduleclass = 'lang' -- GitLab From 26c49f89043ad588f34d00698478ec7643e27424 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 9 Dec 2015 13:57:37 +0100 Subject: [PATCH 0063/1089] Added shift/4.0 for foss/2015b --- .../s/shift/shift-4.0-foss-2015b.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/s/shift/shift-4.0-foss-2015b.eb diff --git a/easybuild/easyconfigs/s/shift/shift-4.0-foss-2015b.eb b/easybuild/easyconfigs/s/shift/shift-4.0-foss-2015b.eb new file mode 100644 index 0000000000..7adef50aac --- /dev/null +++ b/easybuild/easyconfigs/s/shift/shift-4.0-foss-2015b.eb @@ -0,0 +1,30 @@ +easyblock = 'CmdCp' + +name = 'shift' +version = '4.0' + +homepage = 'http://people.nas.nasa.gov/~kolano/projects/shift.html' +description = """ +Shift is a framework for Self-Healing Independent File Transfer that provides high +performance and resilience for local and remote transfers through a variety of techniques. +""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = [SOURCE_TGZ] +source_urls = [('http://sourceforge.net/projects/shiftc/files', 'download')] + +dependencies = [ + ('Perl', '5.22.0'), + ('bbFTP', '3.2.1'), +] + +files_to_copy = [(['perl/shiftc', 'perl/shift-mgr', 'perl/shift-aux'], 'bin'), 'etc', (['doc/shiftc.1'], 'man/man1')] +cmds_map = [] + +sanity_check_paths = { + 'files': ['bin/shiftc'], + 'dirs': ['etc'] +} + +moduleclass = 'tools' -- GitLab From 3ead2449def8a10bc0ade4635f5461b634b49356 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 5 Jan 2016 11:07:13 +1030 Subject: [PATCH 0064/1089] Easyconfig for installing picard-2.0.1-Java-1.8.0_66 --- .../p/picard/picard-2.0.1-Java-1.8.0_66.eb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb diff --git a/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb new file mode 100644 index 0000000000..2035d823b9 --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb @@ -0,0 +1,14 @@ +name = 'picard' +version = '2.0.1' + +homepage = 'http://sourceforge.net/projects/picard' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s'] +sources = ['picard-tools-%(version)s.zip'] + +dependencies = [('Java', '1.8.0_66')] + +moduleclass = 'bio' -- GitLab From 79b88251817abe85c465f6679cd06d591321e490 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 5 Jan 2016 13:19:53 +1030 Subject: [PATCH 0065/1089] Follow easyconfig style of most recent picard-1.119-Java-1.7.0_80 --- .../p/picard/picard-2.0.1-Java-1.8.0_66.eb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb index 2035d823b9..2c0ba3aaf4 100644 --- a/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb @@ -1,14 +1,18 @@ name = 'picard' version = '2.0.1' -homepage = 'http://sourceforge.net/projects/picard' -description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" +homepage = 'http://broadinstitute.github.io/picard/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM + (http://samtools.github.io/hts-specs) format.""" toolchain = {'name': 'dummy', 'version': 'dummy'} -source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s'] -sources = ['picard-tools-%(version)s.zip'] +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] +sources = ['%(name)s-tools-%(version)s.zip'] -dependencies = [('Java', '1.8.0_66')] +java = 'Java' +javaver = '1.8.0_66' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] moduleclass = 'bio' -- GitLab From 83eee361133707fc007e69986f1973c8f68ea30c Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 5 Jan 2016 13:36:25 +1030 Subject: [PATCH 0066/1089] Added picard-1.120-Java-1.8.0_66\n\nThis identifies the version which transitioned from sourceforge to GitHub. --- .../p/picard/picard-1.120-Java-1.8.0_66.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb diff --git a/easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb b/easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb new file mode 100644 index 0000000000..0d15ad9204 --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb @@ -0,0 +1,18 @@ +name = 'picard' +version = '1.120' + +homepage = 'http://broadinstitute.github.io/picard/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM + (http://samtools.github.io/hts-specs) format.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] +sources = ['%(name)s-tools-%(version)s.zip'] + +java = 'Java' +javaver = '1.8.0_66' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] + +moduleclass = 'bio' -- GitLab From 57f73ac1adc543a5a4e1e378bf2c6703eefa2728 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Wed, 6 Jan 2016 13:25:32 +1300 Subject: [PATCH 0067/1089] Comment out checksum, rename source file and add an explanatory comment --- .../easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb index 79b12d07a2..54c92da4c6 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb @@ -9,8 +9,13 @@ description = """DFT-D3 implements a dispersion correction for density functiona toolchain = {'name': 'intel', 'version': '2015a'} source_urls = ['http://www.thch.uni-bonn.de/tc/downloads/%(name)s/data'] -sources = ['dftd3.tgz'] -checksums = [('md5', '88470bd398b5cc90ad680ed1df4239f7')] +# Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version +# numbering. Also, the authors are prone (alas) to stealth upgrades, so that two +# tarballs with the same version number can have different checksums. For this +# reason, it is suggested to manually download and rename the tarball, and the +# checksum input has been disabled. +sources = ['dftd3-%(version)s.tgz'] +#checksums = [('md5', '88470bd398b5cc90ad680ed1df4239f7')] files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] -- GitLab From 4d5fc2d330eee5dead6ffbe303c00ff066116cb5 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 13:56:45 +1030 Subject: [PATCH 0068/1089] Dummy/placeholder easyconfig file --- easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb new file mode 100644 index 0000000000..e69de29bb2 -- GitLab From 04244b1223e8db6a1e132cd4881c8e6bfea27b6a Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 14:22:38 +1030 Subject: [PATCH 0069/1089] Added easyconfig for libffi-3.2.1-foss-2015b Changed source_url order to try http before ftp - my organisations filewall rules cause timeout issues with ftp sites. --- .../l/libffi/libffi-3.2.1-foss-2015b.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2015b.eb diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2015b.eb b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2015b.eb new file mode 100644 index 0000000000..d516d79d6d --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2015b.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.2.1' + +homepage = 'http://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to various calling +conventions. This allows a programmer to call any function specified by a call interface description at run-time.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [ + 'http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/', + 'ftp://sourceware.org/pub/libffi/', +] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': [('lib/libffi.%s' % SHLIB_EXT, 'lib64/libffi.%s' % SHLIB_EXT), ('lib/libffi.a', 'lib64/libffi.a')], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From 81778dcb0bab10a38110361fe50f5b8d7468599b Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 14:38:05 +1030 Subject: [PATCH 0070/1089] Added easyconfig for gettext-0.19.7-foss-2015b --- .../g/gettext/gettext-0.19.7-foss-2015b.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb new file mode 100644 index 0000000000..26649681d7 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.7' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = '--without-emacs' + +moduleclass = 'vis' -- GitLab From e03ea02dd30cbdaa0838875d61deea9cf51d7255 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 15:17:02 +1030 Subject: [PATCH 0071/1089] Easyconfig for installing Exonerate-2.4.0-foss-2015b --- .../e/Exonerate/Exonerate-2.4.0-foss-2015b.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb index e69de29bb2..524d427c0e 100644 --- a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2015b.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'http://www.ebi.ac.uk/~guy/exonerate/' +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = ['https://github.com/nathanweeks/exonerate/archive/'] +sources = ['v%(version)s.tar.gz'] + +dependencies = [('GLib', '2.46.2')] + +# parallel build fails +parallel = 1 + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["exonerate", "fastaclip", "fastaoverlap"]], + 'dirs': ["share"], +} + +moduleclass = 'bio' -- GitLab From f9f30a2a03acdf83081310b27f6a385ba1944530 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 15:35:07 +1030 Subject: [PATCH 0072/1089] Dummy/placeholder easyconfig file --- easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-foss-2015b.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-foss-2015b.eb diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-foss-2015b.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-foss-2015b.eb new file mode 100644 index 0000000000..e69de29bb2 -- GitLab From 95d826c0cb5ad83e398ebbe3615c4d718583660f Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 16:08:36 +1030 Subject: [PATCH 0073/1089] FastQC doesn't need a toolchain --- .../f/fastqc/{fastqc-0.11.4-foss-2015b.eb => fastqc-0.11.4.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/f/fastqc/{fastqc-0.11.4-foss-2015b.eb => fastqc-0.11.4.eb} (100%) diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-foss-2015b.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb similarity index 100% rename from easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-foss-2015b.eb rename to easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb -- GitLab From 3bcb41468dd84744810c719da3ee2898fdedabdd Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 16:11:06 +1030 Subject: [PATCH 0074/1089] Include Java version in filename --- .../f/fastqc/{fastqc-0.11.4.eb => fastqc-0.11.4-Java-1.8.0_66.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/f/fastqc/{fastqc-0.11.4.eb => fastqc-0.11.4-Java-1.8.0_66.eb} (100%) diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb similarity index 100% rename from easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb rename to easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb -- GitLab From ee4bb1f44ecaea8e3eaf639ebcbde181decc92e3 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 16:15:03 +1030 Subject: [PATCH 0075/1089] Easyconfig for installing fastqc-0.11.4-Java-1.8.0_66 --- .../f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb index e69de29bb2..091fd04f7d 100644 --- a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb @@ -0,0 +1,28 @@ +easyblock = 'EB_Java' + +name = 'fastqc' +version = '0.11.4' + +homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] +sources = ['%(name)s_v%(version)s.zip'] + +java = 'Java' +javaver = '1.8.0_66' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] + +postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] + +sanity_check_paths = { + 'files': ['fastqc'], + 'dirs': [], +} + +sanity_check_commands = [('fastqc', '-v')] + +moduleclass = 'bio' -- GitLab From 8eb70c2e968b456b35c4ac189478961a1c02caac Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 6 Jan 2016 16:20:10 +1030 Subject: [PATCH 0076/1089] Added modloadmsg so users know how to run picard properly --- easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb index 2c0ba3aaf4..2d067163eb 100644 --- a/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb @@ -15,4 +15,6 @@ javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] +modloadmsg = "To execute picard run: java -jar \\${EBROOTPICARD}/%(name)s.jar" + moduleclass = 'bio' -- GitLab From 8ddc8adda57134077b0b2266e0fd109f7239a9b2 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Thu, 7 Jan 2016 15:06:45 +1030 Subject: [PATCH 0077/1089] Added GLib-2.46.2-foss-2015b dependency --- .../g/GLib/GLib-2.46.2-foss-2015b.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb new file mode 100644 index 0000000000..c1a803f76a --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.46.2' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://ftp.gnome.org/pub/gnome/sources/glib/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.7'), +] +#builddependencies = [('Python', '2.7.9')] + +moduleclass = 'vis' -- GitLab From 27e326f7d3da848d7fe13ec2c28498bfdb0ada0f Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Thu, 7 Jan 2016 15:31:38 +1030 Subject: [PATCH 0078/1089] Corrected capitalisation of fastqc to FastQC --- .../f/{fastqc/fastqc-0.11.2.eb => FastQC/FastQC-0.11.2.eb} | 0 .../f/{fastqc/fastqc-0.11.3.eb => FastQC/FastQC-0.11.3.eb} | 0 .../FastQC-0.11.4-Java-1.8.0_66.eb} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/f/{fastqc/fastqc-0.11.2.eb => FastQC/FastQC-0.11.2.eb} (100%) rename easybuild/easyconfigs/f/{fastqc/fastqc-0.11.3.eb => FastQC/FastQC-0.11.3.eb} (100%) rename easybuild/easyconfigs/f/{fastqc/fastqc-0.11.4-Java-1.8.0_66.eb => FastQC/FastQC-0.11.4-Java-1.8.0_66.eb} (100%) diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.2.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb similarity index 100% rename from easybuild/easyconfigs/f/fastqc/fastqc-0.11.2.eb rename to easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.3.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb similarity index 100% rename from easybuild/easyconfigs/f/fastqc/fastqc-0.11.3.eb rename to easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb similarity index 100% rename from easybuild/easyconfigs/f/fastqc/fastqc-0.11.4-Java-1.8.0_66.eb rename to easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb -- GitLab From 9a3b218782568032ce513a7f6021b0bcac23b35c Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Thu, 7 Jan 2016 15:32:04 +1030 Subject: [PATCH 0079/1089] Corrected capitalisation of fastqc to FastQC --- easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb | 2 +- easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb | 2 +- easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb index 9ff730ebed..9d17537446 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb @@ -1,6 +1,6 @@ easyblock = 'EB_Java' -name = 'fastqc' +name = 'FastQC' version = '0.11.2' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb index c5f20b9165..4523d751de 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb @@ -1,6 +1,6 @@ easyblock = 'EB_Java' -name = 'fastqc' +name = 'FastQC' version = '0.11.3' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb index 091fd04f7d..b235fb563b 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb @@ -1,6 +1,6 @@ easyblock = 'EB_Java' -name = 'fastqc' +name = 'FastQC' version = '0.11.4' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' -- GitLab From b8cc7ccf74b59a8f3a7bb53067ebcf1f9f5548e2 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Thu, 7 Jan 2016 17:35:53 +1030 Subject: [PATCH 0080/1089] Covert from using EB_Java easyblock to PackedBinary --- .../easyconfigs/f/FastQC/FastQC-0.11.2.eb | 20 +++++++++++-------- .../easyconfigs/f/FastQC/FastQC-0.11.3.eb | 20 +++++++++++-------- .../f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb | 13 +++++++----- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb index 9d17537446..7f918037ff 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb @@ -1,21 +1,25 @@ -easyblock = 'EB_Java' +easyblock = 'PackedBinary' name = 'FastQC' version = '0.11.2' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' -description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" +description = """FastQC is a quality control application for high throughput sequence data. + It reads in sequence data in a variety of formats and can either provide an interactive + application to review the results of several different QC checks, or create an HTML based + report which can be integrated into a pipeline.""" toolchain = {'name': 'dummy', 'version': 'dummy'} -source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] -sources = ['%(name)s_v%(version)s.zip'] +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +sources = ['%(namelower)s_v%(version)s.zip'] -dependencies = [('Java', '1.7.0_60')] +java = 'Java' +javaver = '1.7.0_60' +#versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] -postinstallcmds = ["chmod -R a+rx %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] - -modextrapaths = {'PATH': ['']} +postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { 'files': ['fastqc'], diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb index 4523d751de..9847842efa 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb @@ -1,21 +1,25 @@ -easyblock = 'EB_Java' +easyblock = 'PackedBinary' name = 'FastQC' version = '0.11.3' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' -description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" +description = """FastQC is a quality control application for high throughput sequence data. + It reads in sequence data in a variety of formats and can either provide an interactive + application to review the results of several different QC checks, or create an HTML based + report which can be integrated into a pipeline.""" toolchain = {'name': 'dummy', 'version': 'dummy'} -source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] -sources = ['%(name)s_v%(version)s.zip'] +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +sources = ['%(namelower)s_v%(version)s.zip'] -dependencies = [('Java', '1.7.0_80')] +java = 'Java' +javaver = '1.7.0_80' +#versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] -postinstallcmds = ["chmod -R a+rx %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] - -modextrapaths = {'PATH': ['']} +postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { 'files': ['fastqc'], diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb index b235fb563b..301434b905 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb @@ -1,22 +1,25 @@ -easyblock = 'EB_Java' +easyblock = 'PackedBinary' name = 'FastQC' version = '0.11.4' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' -description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" +description = """FastQC is a quality control application for high throughput sequence data. + It reads in sequence data in a variety of formats and can either provide an interactive + application to review the results of several different QC checks, or create an HTML based + report which can be integrated into a pipeline.""" toolchain = {'name': 'dummy', 'version': 'dummy'} -source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] -sources = ['%(name)s_v%(version)s.zip'] +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +sources = ['%(namelower)s_v%(version)s.zip'] java = 'Java' javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] +postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { 'files': ['fastqc'], -- GitLab From 3fe8c6646c75870a7050add588f13b84a0b0bbdc Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Thu, 7 Jan 2016 21:40:16 +1030 Subject: [PATCH 0081/1089] Cleaned up older FastQC easyconfig files. The versionsuffix is now set to the Java version specified as the dependency. --- ...f-1.4.10.eb => FastQC-0.10.1-Java-1.7.0_80.eb} | 15 ++++++++------- ...C-0.11.2.eb => FastQC-0.11.2-Java-1.7.0_60.eb} | 2 +- ...C-0.11.3.eb => FastQC-0.11.3-Java-1.7.0_80.eb} | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) rename easybuild/easyconfigs/f/FastQC/{FastQC-0.10.1-goolf-1.4.10.eb => FastQC-0.10.1-Java-1.7.0_80.eb} (69%) rename easybuild/easyconfigs/f/FastQC/{FastQC-0.11.2.eb => FastQC-0.11.2-Java-1.7.0_60.eb} (95%) rename easybuild/easyconfigs/f/FastQC/{FastQC-0.11.3.eb => FastQC-0.11.3-Java-1.7.0_80.eb} (95%) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-goolf-1.4.10.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb similarity index 69% rename from easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-goolf-1.4.10.eb rename to easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb index 41209b695a..505f4f2807 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb @@ -17,22 +17,23 @@ description = """FastQC is a quality control application for high throughput seq application to review the results of several different QC checks, or create an HTML based report which can be integrated into a pipeline.""" -toolchain = {'name': 'goolf', 'version': '1.4.10'} +toolchain = {'name': 'dummy', 'version': 'dummy'} sources = ['%(namelower)s_v%(version)s.zip'] source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] java = 'Java' javaver = '1.7.0_80' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] -dependencies = [('Java', '1.7.0_80', '', True)] - -install_cmd = "cp -a FastQC/* %(installdir)s && chmod +x %(installdir)s/fastqc" +postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { - 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.32.jar"], - 'dirs': ["Contaminants", "Help", "Templates", "uk"], + 'files': ['fastqc'], + 'dirs': [], } +sanity_check_commands = [('fastqc', '-v')] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb similarity index 95% rename from easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb rename to easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb index 7f918037ff..c8f4df417f 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb @@ -16,7 +16,7 @@ sources = ['%(namelower)s_v%(version)s.zip'] java = 'Java' javaver = '1.7.0_60' -#versionsuffix = '-%s-%s' % (java, javaver) +versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] postinstallcmds = ['chmod +x %(installdir)s/fastqc'] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb similarity index 95% rename from easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb rename to easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb index 9847842efa..5b66419773 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb @@ -16,7 +16,7 @@ sources = ['%(namelower)s_v%(version)s.zip'] java = 'Java' javaver = '1.7.0_80' -#versionsuffix = '-%s-%s' % (java, javaver) +versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] postinstallcmds = ['chmod +x %(installdir)s/fastqc'] -- GitLab From 63ff88d71fd08e9083f5b96273936602856ffcd8 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Mon, 11 Jan 2016 06:14:38 +1030 Subject: [PATCH 0082/1089] Use modified FastQC with dummy toolchain --- .../easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb index 53e79949f3..8087d1607f 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb @@ -16,7 +16,7 @@ source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s' install_cmd = "cp -a %(namelower)s_zip/* %(installdir)s && chmod +x %(installdir)s/%(namelower)s" dependencies = [ - ('FastQC', '0.10.1'), + ('FastQC', '0.10.1', '', True), ('cutadapt', '1.5', '-Python-2.7.10'), ] -- GitLab From 1e6fb7a9d2d54c6d76c3b78e9537998291adc84d Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Mon, 11 Jan 2016 07:40:13 +1030 Subject: [PATCH 0083/1089] Include Java version suffix for FastQC dependency --- .../easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb index 8087d1607f..dacf5b481c 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.3.7-goolf-1.4.10.eb @@ -16,7 +16,7 @@ source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s' install_cmd = "cp -a %(namelower)s_zip/* %(installdir)s && chmod +x %(installdir)s/%(namelower)s" dependencies = [ - ('FastQC', '0.10.1', '', True), + ('FastQC', '0.10.1', '-Java-1.7.0_80', True), ('cutadapt', '1.5', '-Python-2.7.10'), ] -- GitLab From 17034187bba746893c393312f3dfa928f8b7d421 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Mon, 11 Jan 2016 12:53:00 +1030 Subject: [PATCH 0084/1089] Enabled Python 2.7.9 as a build dependency --- .../g/GLib/GLib-2.46.2-foss-2015b.eb | 2 +- .../p/Python/Python-2.7.9-foss-2015b.eb | 116 ++++++++++++++++++ 2 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-foss-2015b.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb index c1a803f76a..55b64d46c2 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb @@ -16,6 +16,6 @@ dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.7'), ] -#builddependencies = [('Python', '2.7.9')] +builddependencies = [('Python', '2.7.9')] moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-foss-2015b.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-foss-2015b.eb new file mode 100644 index 0000000000..81bfd4da01 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-foss-2015b.eb @@ -0,0 +1,116 @@ +name = 'Python' +version = '2.7.9' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.9.1' +scipyversion = '0.14.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), + ('SQLite', '3.8.8.1'), + ('Tk', '8.6.3', '-no-X11'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +# package versions updated Jan 19th 2015 +exts_list = [ + ('setuptools', '11.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '6.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('pbr', '0.10.8', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], + }), + ('lockfile', '0.10.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.21.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.0', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.0.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.11', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.15.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.13', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), + ('mock', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mock'], + }), + ('pytz', '2014.10', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pytz'], + }), + ('pandas', '0.16.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), +] + +moduleclass = 'lang' -- GitLab From 90427ca99116eb944d585b3e41cf26b47de181ae Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 12 Jan 2016 17:07:12 +1030 Subject: [PATCH 0085/1089] Added easyconfig for GMAP-GSNAP-2015-12-31.v2-foss-2015b --- .../GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb new file mode 100644 index 0000000000..01cd80052a --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = "2015-12-31.v2" + +homepage = 'http://research-pub.gene.com/gmap/' +description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences + GSNAP: Genomic Short-read Nucleotide Alignment Program""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +# with these deps you can use standard compressed files +# to support files in gobby format take a look at README for extra dependencies +# http://research-pub.gene.com/gmap/src/README +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), +] + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] + +# you can change the MAX_READLENGTH for GSNAP with something like this. +# details in the README http://research-pub.gene.com/gmap/src/README +#configopts = 'MAX_READLENGTH=250' + +sanity_check_paths = { + 'files': ['bin/gmap', 'bin/gsnap'], + 'dirs': [], +} + +moduleclass = 'bio' + -- GitLab From 213e46cff340c7f90318d33e7d5c676374652693 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 13 Jan 2016 12:58:45 +1030 Subject: [PATCH 0086/1089] Added easyconfig for BBMap suite of tools --- .../b/BBMap/BBMap-35.82-Java-1.8.0_66.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb new file mode 100644 index 0000000000..3f29f51392 --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'BBMap' +version = '35.82' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +java = 'Java' +javaver = '1.8.0_66' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz' ] + +#start_dir = 'jni' +prebuildopts = 'cd jni && ' +buildopts = '-f makefile.linux' + +# put here the list of generated executables when compiling +#list_of_executables = ["cd-hit", "cd-hit-est", "cd-hit-2d", "cd-hit-est-2d", "cd-hit-div", "cd-hit-454"] + +# this is the real EasyBuild line to copy all the executables and perl scripts to "bin" +files_to_copy = ['./*'] + +sanity_check_paths = { + 'files': ['bbmap.sh'], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the compiled jni C code." + +moduleclass = 'bio' -- GitLab From bb4be77e4feae0fddd7b46c8f88bbc1b8b1162f7 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 13 Jan 2016 13:00:22 +1030 Subject: [PATCH 0087/1089] Remove unnecessary lines --- easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb index 3f29f51392..ac6e1abb04 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb @@ -16,14 +16,9 @@ dependencies = [(java, javaver)] source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz' ] -#start_dir = 'jni' prebuildopts = 'cd jni && ' buildopts = '-f makefile.linux' -# put here the list of generated executables when compiling -#list_of_executables = ["cd-hit", "cd-hit-est", "cd-hit-2d", "cd-hit-est-2d", "cd-hit-div", "cd-hit-454"] - -# this is the real EasyBuild line to copy all the executables and perl scripts to "bin" files_to_copy = ['./*'] sanity_check_paths = { -- GitLab From 10774be2c0dd4cace3b13653c1c8b078375eb1cf Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 13 Jan 2016 13:03:35 +1030 Subject: [PATCH 0088/1089] Corrected toolchain --- ...Java-1.8.0_66.eb => BBMap-35.82-foss-2015b-Java-1.8.0_66.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/b/BBMap/{BBMap-35.82-Java-1.8.0_66.eb => BBMap-35.82-foss-2015b-Java-1.8.0_66.eb} (93%) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb similarity index 93% rename from easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb rename to easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb index ac6e1abb04..22ae183da3 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb @@ -6,7 +6,7 @@ version = '35.82' homepage = 'https://sourceforge.net/projects/bbmap/' description = """BBMap short read aligner, and other bioinformatic tools.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'foss', 'version': '2015b'} java = 'Java' javaver = '1.8.0_66' -- GitLab From d7740bba2a27ca80cac1ab8dbe4211ed80d844b5 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 13 Jan 2016 13:19:37 +1030 Subject: [PATCH 0089/1089] Conditionally compile JNI code depending on OS. Dummy toolchain for Java dependency --- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb index 22ae183da3..dfcbaddec1 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb @@ -1,3 +1,5 @@ +import platform + easyblock = 'MakeCp' name = 'BBMap' @@ -11,13 +13,18 @@ toolchain = {'name': 'foss', 'version': '2015b'} java = 'Java' javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) -dependencies = [(java, javaver)] +dependencies = [(java, javaver, '', True)] source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz' ] prebuildopts = 'cd jni && ' -buildopts = '-f makefile.linux' + +os_type = platform.system() +if os_type == 'Linux': + buildopts = '-f makefile.linux' +elif os_type == 'Darwin': + buildopts = '-f makefile.osx' files_to_copy = ['./*'] -- GitLab From 9396f054451883e0c353926ab63f1530ac6e0b95 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 15 Jan 2016 15:09:48 +0100 Subject: [PATCH 0090/1089] add 'import gtk' as sanity check in PyGTK easyconfig, add gtk+ as dep --- .../ATK-2.16.0-intel-2015b-GLib-2.29.92.eb | 29 +++++++++++++++++++ ...-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb | 29 +++++++++++++++++++ .../gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb | 23 +++++++++++++++ ...arfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb | 28 ++++++++++++++++++ .../Pango-1.37.1-intel-2015b-GLib-2.29.92.eb | 24 +++++++++++++++ .../PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb | 6 +++- 6 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb create mode 100644 easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb create mode 100644 easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb create mode 100644 easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb create mode 100644 easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb new file mode 100644 index 0000000000..afb1976aa4 --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ATK' +version = '2.16.0' + +homepage = 'https://developer.gnome.org/ATK/stable/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] + +glibver = '2.29.92' +versionsuffix = '-GLib-%s' % glibver +dependencies = [ + ('GLib', glibver), +] + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb new file mode 100644 index 0000000000..df97d34492 --- /dev/null +++ b/easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'gdk-pixbuf' +version = '2.31.4' + +homepage = 'https://developer.gnome.org/gdk-pixbuf/stable/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] + +glibver = '2.29.92' +versionsuffix = '-GLib-%s' % glibver +dependencies = [ + ('GLib', glibver), + ('libjpeg-turbo', '1.4.0'), + ('libpng', '1.6.18'), + ('LibTIFF', '4.0.3'), + +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb new file mode 100644 index 0000000000..4fe143fa91 --- /dev/null +++ b/easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gtk+' +version = '2.24.28' +versionsuffix = '-GLib-2.29.92' + +homepage = 'https://developer.gnome.org/gtk+/stable/' +description = """ + The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications. +""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('ATK', '2.16.0', versionsuffix), + ('gdk-pixbuf', '2.31.4', versionsuffix), + ('Pango', '1.37.1', versionsuffix), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb new file mode 100644 index 0000000000..890b5853fb --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '0.9.41' + +homepage = 'http://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://www.freedesktop.org/software/harfbuzz/release/'] +sources = [SOURCELOWER_TAR_BZ2] + +patches = ['HarfBuzz-%(version)s_no_symbolic.patch'] + +glibver = '2.29.92' +versionsuffix = '-GLib-%s' % glibver +dependencies = [ + ('GLib', glibver), + ('cairo', '1.14.2', versionsuffix), +] + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb new file mode 100644 index 0000000000..bf4f60f01b --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'Pango' +version = '1.37.1' + +homepage = 'http://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] + +glibver = '2.29.92' +versionsuffix = '-GLib-%s' % glibver +dependencies = [ + ('GLib', glibver), + ('cairo', '1.14.2', versionsuffix), + ('HarfBuzz', '0.9.41', versionsuffix), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb index acfff835e3..f7d18d2696 100644 --- a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb @@ -16,10 +16,12 @@ pyver_maj_min = '2.7' pyver = '%s.10' % pyver_maj_min versionsuffix = '-Python-%s' % pyver +glibver = '2.29.92' dependencies = [ ('Python', pyver), - ('GLib', '2.29.92'), + ('GLib', glibver), ('PyGObject', '2.28.6', versionsuffix), + ('gtk+', '2.24.28', '-GLib-%s' % glibver), ] sanity_check_paths = { @@ -27,4 +29,6 @@ sanity_check_paths = { 'dirs': ['lib/pygtk'], } +sanity_check_commands = [('python', "-c 'import gtk'")] + moduleclass = 'vis' -- GitLab From a5965e7a9e0133e17be5fbc26bfa677b98690222 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 26 Jan 2016 10:46:13 +1300 Subject: [PATCH 0091/1089] Re-enable checksum verification --- easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb index 54c92da4c6..3ea34a9824 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb @@ -12,10 +12,10 @@ source_urls = ['http://www.thch.uni-bonn.de/tc/downloads/%(name)s/data'] # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two # tarballs with the same version number can have different checksums. For this -# reason, it is suggested to manually download and rename the tarball, and the -# checksum input has been disabled. +# reason, it is suggested to manually download and rename the tarball. The +# checksum may also need updating from time to time. sources = ['dftd3-%(version)s.tgz'] -#checksums = [('md5', '88470bd398b5cc90ad680ed1df4239f7')] +checksums = [('md5', '88470bd398b5cc90ad680ed1df4239f7')] files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] -- GitLab From 6a252dac482f19fb8afd64954d97ad8b0a58a9ff Mon Sep 17 00:00:00 2001 From: perettig Date: Fri, 29 Jan 2016 14:51:18 +0100 Subject: [PATCH 0092/1089] updated ebs for new cray TC using dependency pinning --- .../j/JasPer/JasPer-1.900.1-CrayGNU-5.2.40.eb | 21 ---- .../l/Libint/Libint-1.1.4-CrayGNU-5.2.40.eb | 24 ---- .../libreadline-6.3-CrayGNU-5.2.40.eb | 30 ----- .../l/libxc/libxc-2.2.1-CrayGNU-5.2.40.eb | 32 ----- .../m/M4/M4-1.4.17-CrayGNU-5.2.40.eb | 23 ---- .../n/NFFT/NFFT-3.3.0-CrayGNU-5.2.40.eb | 22 ---- .../n/ncurses/ncurses-5.9-CrayGNU-5.2.40.eb | 36 ------ ...numpy-1.9.2-CrayGNU-5.2.40-Python-2.7.9.eb | 26 ---- .../Python-2.7.9-CrayGNU-5.2.40-bare.eb | 39 ------ .../p/Python/Python-2.7.9-CrayGNU-5.2.40.eb | 115 ------------------ .../s/Szip/Szip-2.1-CrayGNU-5.2.40.eb | 23 ---- ...cipy-0.15.1-CrayGNU-5.2.40-Python-2.7.9.eb | 19 --- .../s/spglib/spglib-1.7.3-CrayGNU-5.2.40.eb | 22 ---- .../t/tcsh/tcsh-6.18.01-CrayGNU-5.2.40.eb | 39 ------ .../w/WRF/WRF-3.6.1-CrayGNU-5.2.40-dmpar.eb | 41 ------- .../z/zlib/zlib-1.2.8-CrayGNU-5.2.40.eb | 22 ---- 16 files changed, 534 deletions(-) delete mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.40-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40-bare.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.40-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.40-dmpar.eb delete mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.40.eb diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.40.eb deleted file mode 100644 index cef32fd43d..0000000000 --- a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'JasPer' -version = '1.900.1' - -homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' -description = """The JasPer Project is an open-source initiative to provide a free - software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_ZIP] -source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] - -sanity_check_paths = { - 'files': ["bin/jasper", "lib/libjasper.a"], - 'dirs': ["include"], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.40.eb deleted file mode 100644 index 4f2df44352..0000000000 --- a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'Libint' -version = '1.1.4' - -homepage = 'https://sourceforge.net/p/libint/' -description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body - matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'opt': True, 'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') - -configopts = "--enable-deriv --enable-r12" - -sanity_check_paths = { - 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + - ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + - ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + - ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], - 'dirs':[], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.40.eb deleted file mode 100644 index 18966e6606..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.3' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """The GNU Readline library provides a set of functions for use by applications that - allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. - The Readline library includes additional functions to maintain a list of previously-entered command lines, - to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '5.9')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs' : [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.40.eb deleted file mode 100644 index 80df7f4320..0000000000 --- a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libxc' -version = '2.2.1' - -homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' -description = """Libxc is a library of exchange-correlation functionals for density-functional theory. - The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'opt': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] - -configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' - -# From the libxc mailing list -# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect -# a fully working testsuite soon (unless someone wants to volunteer to do -# it, of course ) In the meantime, unless the majority of the tests -# fail, your build should be fine. -#runtest = 'check' - -sanity_check_paths = { - 'files': ['lib/libxc.a'], - 'dirs': ['include'], -} - -parallel = 1 - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.40.eb deleted file mode 100644 index d1ac7167dc..0000000000 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'M4' -version = '1.4.17' - -homepage = 'http://www.gnu.org/software/m4/m4.html' -description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible - although it has some extensions (for example, handling more than 9 positional parameters to macros). - GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -configopts = "--enable-cxx" - -sanity_check_paths = { - 'files': ["bin/m4"], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-5.2.40.eb deleted file mode 100644 index 292a68dda4..0000000000 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'NFFT' -version = '3.3.0' - -homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' -description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine - library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more - dimensions, of arbitrary input size, and of complex data.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = { 'dynamic': True } - -source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], - 'dirs': ['lib/pkgconfig'], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.40.eb deleted file mode 100644 index 6f00fdbd51..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'optarch': True, 'shared': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['ncurses-%(version)s_configure_darwin.patch'] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.40-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.40-Python-2.7.9.eb deleted file mode 100644 index 7d81f886bc..0000000000 --- a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.40-Python-2.7.9.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'numpy' -version = '1.9.2' - -homepage = 'http://www.numpy.org' -description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: - a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran - code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, - NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be - defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['numpy-1.8.0-mkl.patch'] - -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40-bare.eb deleted file mode 100644 index 3fafaaa920..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40-bare.eb +++ /dev/null @@ -1,39 +0,0 @@ -name = 'Python' -version = '2.7.9' -versionsuffix = '-bare' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True, 'opt': True} - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -# bare installation: no extensions included -exts_list = [] - -buildopts = 'LINKCC="$CC -dynamic"' - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40.eb deleted file mode 100644 index 186e5f94df..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,115 +0,0 @@ -name = 'Python' -version = '2.7.9' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -numpyversion = '1.9.1' -scipyversion = '0.14.1' - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -buildopts = 'LINKCC="$CC -dynamic"' - -# order is important! -# package versions updated Jan 19th 2015 -exts_list = [ - ('setuptools', '11.3.1', { - 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], - }), - ('pip', '6.0.6', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], - }), - ('nose', '1.3.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], - }), - ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': [ - 'numpy-1.8.0-mkl.patch', # % numpyversion, - ], - }), - ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], - }), - ('blist', '1.3.6', { - 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], - }), - ('mpi4py', '1.3.1', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], - }), - ('paycheck', '1.0.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], - }), - ('argparse', '1.2.1', { - 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], - }), - ('lockfile', '0.10.2', { - 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], - }), - ('Cython', '0.21.2', { - 'source_urls': ['http://www.cython.org/release/'], - }), - ('six', '1.9.0', { - 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], - }), - ('dateutil', '2.4.0', { - 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', - 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], - }), - ('deap', '1.0.1', { - 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], - }), - ('decorator', '3.4.0', { - 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], - }), - ('arff', '2.0.1', { - 'source_tmpl': 'liac-%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], - }), - ('ecdsa', '0.11', { - 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], - }), - ('paramiko', '1.15.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], - }), - ('pyparsing', '2.0.3', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], - }), - ('netifaces', '0.10.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], - }), - ('netaddr', '0.7.13', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], - }), -] - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.40.eb deleted file mode 100644 index 821b800cb6..0000000000 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Szip' -version = '2.1' - -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' -description = "Szip compression software, providing lossless compression of scientific data" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True, 'dynamic': True} - -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic" - -sanity_check_paths = { - 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + - ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.40-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.40-Python-2.7.9.eb deleted file mode 100644 index adb35688b3..0000000000 --- a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.40-Python-2.7.9.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'scipy' -version = '0.15.1' -versionsuffix = '-Python-2.7.9' - -homepage = 'http://www.scipy.org' -description = """SciPy is a collection of mathematical algorithms and convenience - functions built on the Numpy extension for Python.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True} - -source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('numpy', '1.9.2', versionsuffix), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-5.2.40.eb deleted file mode 100644 index f3db34a07a..0000000000 --- a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'spglib' -version = '1.7.3' - -homepage = 'http://spglib.sourceforge.net/' -description = """Spglib is a C library for finding and handling crystal symmetries.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'dynamic': True, } - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -start_dir = '%(name)s-%(version)s' - -sanity_check_paths = { - 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], - 'dirs': ['include/spglib'], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.40.eb deleted file mode 100644 index 171465e133..0000000000 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,39 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit -# Authors:: Valentin Plugaru -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html -## -easyblock = 'ConfigureMake' - -name = 'tcsh' -version = '6.18.01' - -homepage = 'http://www.tcsh.org' -description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). - It is a command language interpreter usable both as an interactive login shell and a shell script command - processor. It includes a command-line editor, programmable word completion, spelling correction, a history - mechanism, job control and a C-like syntax.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'dynamic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [ - 'ftp://ftp.astron.com/pub/%(namelower)s', - 'ftp://ftp.astron.com/pub/%(namelower)s/old', -] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/tcsh"], - 'dirs': [] -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.40-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.40-dmpar.eb deleted file mode 100644 index 4f97a28683..0000000000 --- a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.40-dmpar.eb +++ /dev/null @@ -1,41 +0,0 @@ -name = 'WRF' -version = '3.6.1' - -homepage = 'http://www.wrf-model.org' -description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale - numerical weather prediction system designed to serve both operational forecasting and atmospheric - research needs.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 - -sources = ['%(name)sV%(version)s.TAR.gz'] -source_urls = [ - 'http://www2.mmm.ucar.edu/wrf/src/', - 'http://www.mmm.ucar.edu/wrf/src/', -] - -# csh is used by WRF install scripts -builddependencies = [('tcsh', '6.18.01')] - -dependencies = [ - ('JasPer', '1.900.1'), - ('cray-netcdf/4.3.2', EXTERNAL_MODULE), - ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), -] - -patches = [ - 'WRF_parallel_build_fix.patch', - 'WRF-3.6.1_known_problems.patch', - 'WRF_tests_limit-runtimes.patch', -] - -# limit parallel build to 20 -maxparallel = 20 - -buildtype = "dmpar" -versionsuffix = '-%s' % buildtype - -runtest = False - -moduleclass = 'geo' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.40.eb deleted file mode 100644 index 942056eae5..0000000000 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'zlib' -version = '1.2.8' - -homepage = 'http://www.zlib.net/' -description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, - not covered by any patents -- lossless data-compression library for use on virtually any - computer hardware and operating system.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True, 'dynamic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] - -sanity_check_paths = { - 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'lib' -- GitLab From 4899a5bdbf2e3b8601a8d544e41aa492689cd3a8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Jan 2016 16:45:41 +0200 Subject: [PATCH 0093/1089] add easyconfig netCDF-4.4.0-intel-2016a.eb --- .../n/netCDF/netCDF-4.4.0-intel-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb new file mode 100644 index 0000000000..2818683dd7 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb @@ -0,0 +1,33 @@ +name = 'netCDF' +version = '4.4.0' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'usempi': True} + +sources = ['v%(version)s.tar.gz'] +source_urls = [ + 'https://github.com/Unidata/netcdf-c/archive/' +] + +dependencies = [ + ('HDF5', '1.8.16'), + ('cURL', '7.47.0'), +] + +builddependencies = [ + ('CMake', '3.4.3'), + ('Doxygen', '1.8.11'), +] + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF ", + "-DBUILD_SHARED_LIBS=ON ", +] + +moduleclass = 'data' -- GitLab From 31b40488802ddd65bb8e84d62028344e8a0af057 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 10:34:47 +1300 Subject: [PATCH 0094/1089] Doxygen versions needed for GRASS and Amber --- .../d/Doxygen/Doxygen-1.8.1.1-ictce-5.4.0.eb | 18 ++++++++++++++++++ .../d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb | 18 ++++++++++++++++++ .../d/Doxygen/Doxygen-1.8.11-foss-2015a.eb | 19 +++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.1.1-ictce-5.4.0.eb create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.1.1-ictce-5.4.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.1.1-ictce-5.4.0.eb new file mode 100644 index 0000000000..bb65203341 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.1.1-ictce-5.4.0.eb @@ -0,0 +1,18 @@ +name = 'Doxygen' +version = '1.8.1.1' + +homepage = 'http://www.doxygen.org' +description = """Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.""" + +toolchain = {'name': 'ictce', 'version': '5.4.0'} + +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] + +builddependencies = [ + ('flex', '2.5.35'), + ('Bison', '2.5'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb new file mode 100644 index 0000000000..3b682b018a --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb @@ -0,0 +1,18 @@ +name = 'Doxygen' +version = '1.8.11' + +homepage = 'http://www.doxygen.org' +description = """Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.""" + +toolchain = {'name': 'GCC', 'version': '4.9.2'} + +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.3'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb new file mode 100644 index 0000000000..1db648e43d --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb @@ -0,0 +1,19 @@ +name = 'Doxygen' +version = '1.8.11' + +homepage = 'http://www.doxygen.org' +description = """Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] + +builddependencies = [ + ('CMake', '3.4.1'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), +] + +moduleclass = 'devel' -- GitLab From bc9fead26aeaecf135d15d25423c0d3d23c3a9ab Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 11:04:25 +1300 Subject: [PATCH 0095/1089] libreadline for ictce-5.4.0 toolchain --- .../libreadline-6.2-ictce-5.4.0.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb new file mode 100644 index 0000000000..8003f03676 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.2' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'ictce', 'version': '5.4.0'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs' : [], +} + +moduleclass = 'lib' -- GitLab From d80280f52f26f8bb79b1ed4c58ed6bb63f04eb6a Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 13:45:02 +1300 Subject: [PATCH 0096/1089] New EasyConfigs for FreeXL with various toolchains --- .../f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb | 21 +++++++++++++++++ .../f/FreeXL/FreeXL-1.0.1-intel-2015a.eb | 23 +++++++++++++++++++ .../f/FreeXL/FreeXL-1.0.2-foss-2015a.eb | 23 +++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb create mode 100644 easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb create mode 100644 easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb new file mode 100644 index 0000000000..c7906f58da --- /dev/null +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb @@ -0,0 +1,21 @@ +name = 'FreeXL' +version = '1.0.0g' + +homepage = "https://www.gaia-gis.it/fossil/freexl/index" +description = "FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet." + +toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'usempi': False, 'pic': True} + +download_suffix = '' +source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [('CMake', '2.8.10.2')] + +sanity_check_paths = { + 'files': ["lib/libfreexl.la"], + 'dirs': ["lib"] + } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb new file mode 100644 index 0000000000..727ab2cbec --- /dev/null +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb @@ -0,0 +1,23 @@ +name = 'FreeXL' +version = '1.0.1' + +easyblock = 'ConfigureMake' + +homepage = "https://www.gaia-gis.it/fossil/freexl/index" +description = "FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet." + +toolchain = {'name': 'intel', 'version': '2015a'} +toolchainopts = {'usempi': False, 'pic': True} + +download_suffix = '' +source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [('CMake', '3.2.2')] + +sanity_check_paths = { + 'files': ["lib/libfreexl.la"], + 'dirs': ["lib"] + } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb new file mode 100644 index 0000000000..c84e5dcc81 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb @@ -0,0 +1,23 @@ +name = 'FreeXL' +version = '1.0.2' + +easyblock = 'ConfigureMake' + +homepage = "https://www.gaia-gis.it/fossil/freexl/index" +description = "FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet." + +toolchain = {'name': 'foss', 'version': '2015a'} +toolchainopts = {'usempi': False, 'pic': True} + +download_suffix = '' +source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [('CMake', '3.4.1')] + +sanity_check_paths = { + 'files': ["lib/libfreexl.la"], + 'dirs': ["lib"] + } + +moduleclass = 'lib' -- GitLab From 9fad990c5904e8f1e7bdfa6b21b014cda124ec7e Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 14:06:29 +1300 Subject: [PATCH 0097/1089] New EasyConfig for libxml2-2.9.3 with the foss-2015a toolchain --- .../libxml2-2.9.3-foss-2015a-Python-2.7.11.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb new file mode 100644 index 0000000000..8052162f58 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2015a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic' + +pythonver = '2.7.11' +pythonshortver = '.'.join(pythonver.split('.')[:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' -- GitLab From 6fbf081717482250b3700bdbe4496057685c0f41 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 14:08:52 +1300 Subject: [PATCH 0098/1089] New EasyConfig for SWIG 3.0.8 with the foss-2015a toolchain --- .../SWIG-3.0.8-foss-2015a-Python-2.7.11.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2015a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2015a-Python-2.7.11.eb new file mode 100644 index 0000000000..9b8e4b5df8 --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2015a-Python-2.7.11.eb @@ -0,0 +1,23 @@ +name = 'SWIG' +version = '3.0.8' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'foss', 'version': '2015a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pythonversion = '2.7.11' +versionsuffix = '-%s-%s' % (python, pythonversion) + +dependencies = [ + (python, pythonversion), + ('PCRE', '8.37'), +] + +moduleclass = 'devel' -- GitLab From 3dcfe55c278c08e44d75c0df4a881729e6faa8d8 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 14:12:05 +1300 Subject: [PATCH 0099/1089] New EasyConfig for GEOS 3.5.0 with the foss-2015a toolchain --- .../GEOS-3.5.0-foss-2015a-Python-2.7.11.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-foss-2015a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-foss-2015a-Python-2.7.11.eb new file mode 100644 index 0000000000..3053b75ee0 --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-foss-2015a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.5.0' + +homepage = 'http://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +source_urls = ['http://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] + +pyver = '2.7.11' +pyshortver = '.'.join(pyver.split('.')[0:2]) +versionsuffix = '-Python-%s' % pyver + +dependencies = [('Python', pyver)] + +builddependencies = [('SWIG', '3.0.8', versionsuffix)] + +configopts = '--enable-python' + +modextrapaths = {'PYTHONPATH': 'lib/python%s/site-packages' % pyshortver} + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': ['lib/python%s/site-packages/geos' % pyshortver] +} + +moduleclass = 'math' -- GitLab From 8d19ca30efc5ea8e0917f71e2cc867a439028067 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 14:15:24 +1300 Subject: [PATCH 0100/1089] New EasyConfig for netCDF 4.3.3.1 with the foss-2015a toolchain --- .../n/netCDF/netCDF-4.3.3.1-foss-2015a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2015a.eb diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2015a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2015a.eb new file mode 100644 index 0000000000..67ec8a7992 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2015a.eb @@ -0,0 +1,34 @@ +name = 'netCDF' +version = '4.3.3.1' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'foss', 'version': '2015a'} +toolchainopts = {'pic': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/', + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/old', +] + +dependencies = [ + ('HDF5', '1.8.16'), + ('cURL', '7.46.0'), +] + +builddependencies = [ + ('CMake', '3.4.1'), + ('Doxygen', '1.8.11'), +] + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF ", + "-DBUILD_SHARED_LIBS=ON ", +] + +moduleclass = 'data' -- GitLab From d20fd461af0643a43a7e80b8cc740aa480f45276 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 14:18:16 +1300 Subject: [PATCH 0101/1089] New EasyConfig for GDAL 2.0.1 with the foss-2015a toolchain --- .../g/GDAL/GDAL-2.0.1-foss-2015a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb new file mode 100644 index 0000000000..fdbd875ff2 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.0.1' + +homepage = 'http://www.gdal.org/' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2015a'} +toolchainopts = {'opt': True, 'usempi': True} + +source_urls = ['http://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('KEALib', '1.4.4'), + ('netCDF', '4.3.3.1'), + ('HDF5', '1.8.16'), + ('expat', '2.1.0'), + ('libxml2', '2.9.3', '-Python-2.7.11'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['lib/libgdal.%s' % SHLIB_EXT, 'lib/libgdal.a'], + 'dirs': ['bin', 'include'] +} + +moduleclass = 'data' -- GitLab From fa11863cf5cb4aa57b73db4336ac0d2cae1b0504 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 14:20:50 +1300 Subject: [PATCH 0102/1089] New EasyConfigs for libspatialite - various versions and toolchains --- .../libspatialite-4.1.1-goolf-1.5.14.eb | 27 ++++++++++++++++ .../libspatialite-4.3.0-intel-2015a.eb | 32 +++++++++++++++++++ .../libspatialite-4.3.0a-foss-2015a.eb | 32 +++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb create mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb create mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb new file mode 100644 index 0000000000..8132d40673 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libspatialite' +version = '4.1.1' + +homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" +description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." + +toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'usempi': False, 'pic': True} + +download_suffix = '' +source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +sources = [SOURCE_TAR_GZ] + +patches = ['libspatialite-configure.ac.patch'] + +dependencies = [('FreeXL','1.0.0g'),('GEOS','3.3.5'), ('SQLite', '3.8.4.3'), ('PROJ', '4.8.0')] +configopts = '--disable-geosadvanced' +builddependencies = [('CMake', '2.8.10.2')] + +sanity_check_paths = { + 'files': ["lib/libspatialite.la"], + 'dirs': ["lib","include"] + } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb new file mode 100644 index 0000000000..732c224f99 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libspatialite' +version = '4.3.0' + +homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" +description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." + +toolchain = {'name': 'intel', 'version': '2015a'} +toolchainopts = {'usempi': False, 'pic': True} + +download_suffix = '' +source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('FreeXL','1.0.1'), + ('GEOS','3.3.9'), + ('SQLite', '3.8.9'), + ('PROJ', '4.9.1'), +] + +configopts = '--disable-geosadvanced' + +builddependencies = [('CMake', '3.2.2')] + +sanity_check_paths = { + 'files': ["lib/libspatialite.la"], + 'dirs': ["lib","include"] + } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb new file mode 100644 index 0000000000..0c50d9148b --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libspatialite' +version = '4.3.0a' + +homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" +description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." + +toolchain = {'name': 'foss', 'version': '2015a'} +toolchainopts = {'usempi': False, 'pic': True} + +download_suffix = '' +source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('FreeXL', '1.0.2'), + ('GEOS', '3.5.0', '-Python-2.7.11'), + ('SQLite', '3.10.0'), + ('PROJ', '4.9.1'), +] + +configopts = '--disable-geosadvanced' + +builddependencies = [('CMake', '3.4.1')] + +sanity_check_paths = { + 'files': ["lib/libspatialite.la"], + 'dirs': ["lib","include"] + } + +moduleclass = 'lib' -- GitLab From 70ddca5975069ab6bff57b38183454b064a9070c Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 2 Feb 2016 15:31:45 +1300 Subject: [PATCH 0103/1089] Added EasyBlock to FreeXL config --- easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb index c7906f58da..c7a2ae14f5 100644 --- a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb @@ -1,6 +1,8 @@ name = 'FreeXL' version = '1.0.0g' +easyblock = 'ConfigureMake' + homepage = "https://www.gaia-gis.it/fossil/freexl/index" description = "FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet." -- GitLab From 771d76c24113e7b777347eb29d6b4905b51e3e75 Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 2 Feb 2016 14:14:21 +0100 Subject: [PATCH 0104/1089] adding cray 2015.06-XC --- .../b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb | 22 ++++ .../b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb | 15 +++ .../c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb | 23 ++++ .../c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb | 38 ++++++ .../f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb | 14 +++ .../Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb | 24 ++++ .../libreadline-6.3-CrayGNU-2015.06-XC.eb | 30 +++++ .../l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb | 32 +++++ .../m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb | 23 ++++ .../n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb | 22 ++++ .../ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb | 36 ++++++ ...y-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb | 26 ++++ .../Python-2.7.9-CrayGNU-2015.06-XC-bare.eb | 39 ++++++ .../Python/Python-2.7.9-CrayGNU-2015.06-XC.eb | 115 ++++++++++++++++++ .../s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb | 23 ++++ ...-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb | 19 +++ .../spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb | 22 ++++ .../t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb | 39 ++++++ .../WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb | 41 +++++++ .../z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb | 22 ++++ 20 files changed, 625 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..77bb4a043c --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.2' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..5b74aeb4ae --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb @@ -0,0 +1,15 @@ +name = 'bzip2' +version = '1.0.6' + +homepage = 'http://www.bzip.org/' +description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically + compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical + compressors), whilst being around twice as fast at compression and six times faster at decompression.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.bzip.org/%(version)s'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..2813041da2 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.2.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'dynamic': True} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..c1c02c3bcf --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb @@ -0,0 +1,38 @@ +name = 'CP2K' +version = '2.6.0' + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.1'), +] + +builddependencies = [ + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test reports failures +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..d9b2e6f439 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb @@ -0,0 +1,14 @@ +name = 'flex' +version = '2.5.39' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..8c50a3c766 --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb @@ -0,0 +1,24 @@ +name = 'Libint' +version = '1.1.4' + +homepage = 'https://sourceforge.net/p/libint/' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'opt': True, 'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') + +configopts = "--enable-deriv --enable-r12" + +sanity_check_paths = { + 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + + ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + + ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + + ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], + 'dirs':[], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..86d9535460 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs' : [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..3ef89d660d --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '2.2.1' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'opt': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] + +configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' + +# From the libxc mailing list +# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect +# a fully working testsuite soon (unless someone wants to volunteer to do +# it, of course ) In the meantime, unless the majority of the tests +# fail, your build should be fine. +#runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc.a'], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..68ee7aa23b --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.17' + +homepage = 'http://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = "--enable-cxx" + +sanity_check_paths = { + 'files': ["bin/m4"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..9a44adf4a0 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.3.0' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' +description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine + library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more + dimensions, of arbitrary input size, and of complex data.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = { 'dynamic': True } + +source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..39a02a2b9d --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'optarch': True, 'shared': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['ncurses-%(version)s_configure_darwin.patch'] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb new file mode 100644 index 0000000000..09f3884a76 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb @@ -0,0 +1,26 @@ +name = 'numpy' +version = '1.9.2' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['numpy-1.8.0-mkl.patch'] + +python = 'Python' +pyver = '2.7.9' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb new file mode 100644 index 0000000000..ae58dbb498 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb @@ -0,0 +1,39 @@ +name = 'Python' +version = '2.7.9' +versionsuffix = '-bare' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True, 'opt': True} + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +# bare installation: no extensions included +exts_list = [] + +buildopts = 'LINKCC="$CC -dynamic"' + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..d2018b8970 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb @@ -0,0 +1,115 @@ +name = 'Python' +version = '2.7.9' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.9.1' +scipyversion = '0.14.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +buildopts = 'LINKCC="$CC -dynamic"' + +# order is important! +# package versions updated Jan 19th 2015 +exts_list = [ + ('setuptools', '11.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '6.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-1.8.0-mkl.patch', # % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('lockfile', '0.10.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.21.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.0', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.0.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.11', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.15.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.13', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), +] + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..621f9235dd --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True, 'dynamic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb new file mode 100644 index 0000000000..b47cc99c57 --- /dev/null +++ b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb @@ -0,0 +1,19 @@ +name = 'scipy' +version = '0.15.1' +versionsuffix = '-Python-2.7.9' + +homepage = 'http://www.scipy.org' +description = """SciPy is a collection of mathematical algorithms and convenience + functions built on the Numpy extension for Python.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True} + +source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('numpy', '1.9.2', versionsuffix), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..90249a4422 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'spglib' +version = '1.7.3' + +homepage = 'http://spglib.sourceforge.net/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'dynamic': True, } + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +start_dir = '%(name)s-%(version)s' + +sanity_check_paths = { + 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], + 'dirs': ['include/spglib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..07d83bd968 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.18.01' + +homepage = 'http://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'dynamic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/tcsh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb new file mode 100644 index 0000000000..0b7fd5cfb3 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb @@ -0,0 +1,41 @@ +name = 'WRF' +version = '3.6.1' + +homepage = 'http://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +sources = ['%(name)sV%(version)s.TAR.gz'] +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] + +# csh is used by WRF install scripts +builddependencies = [('tcsh', '6.18.01')] + +dependencies = [ + ('JasPer', '1.900.1'), + ('cray-netcdf/4.3.2', EXTERNAL_MODULE), + ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), +] + +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF-3.6.1_known_problems.patch', + 'WRF_tests_limit-runtimes.patch', +] + +# limit parallel build to 20 +maxparallel = 20 + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +runtest = False + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..e2f5d3e598 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.8' + +homepage = 'http://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True, 'dynamic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From 19e35e1b9bab0a773934e803edc04adc2fa21e6d Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 2 Feb 2016 14:16:09 +0100 Subject: [PATCH 0105/1089] Cray 2015.11 XC --- .../b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb | 22 ++++ .../b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb | 15 +++ .../c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb | 23 ++++ .../c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb | 38 ++++++ .../f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb | 14 +++ .../Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb | 24 ++++ .../libreadline-6.3-CrayGNU-2015.11-XC.eb | 30 +++++ .../l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb | 32 +++++ .../m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb | 23 ++++ .../n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb | 22 ++++ .../ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb | 36 ++++++ ...y-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb | 26 ++++ .../Python-2.7.9-CrayGNU-2015.11-XC-bare.eb | 39 ++++++ .../Python/Python-2.7.9-CrayGNU-2015.11-XC.eb | 115 ++++++++++++++++++ .../s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb | 23 ++++ ...-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb | 19 +++ .../spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb | 22 ++++ .../t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb | 39 ++++++ .../WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb | 41 +++++++ .../z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb | 22 ++++ 20 files changed, 625 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..cfb18be138 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.2' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..5666a2e9f5 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb @@ -0,0 +1,15 @@ +name = 'bzip2' +version = '1.0.6' + +homepage = 'http://www.bzip.org/' +description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically + compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical + compressors), whilst being around twice as fast at compression and six times faster at decompression.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.bzip.org/%(version)s'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..5d449a2077 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.2.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'dynamic': True} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..18250df781 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb @@ -0,0 +1,38 @@ +name = 'CP2K' +version = '2.6.0' + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.1'), +] + +builddependencies = [ + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test reports failures +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..7fbee438c5 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb @@ -0,0 +1,14 @@ +name = 'flex' +version = '2.5.39' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..ba7eabefb4 --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb @@ -0,0 +1,24 @@ +name = 'Libint' +version = '1.1.4' + +homepage = 'https://sourceforge.net/p/libint/' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'opt': True, 'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') + +configopts = "--enable-deriv --enable-r12" + +sanity_check_paths = { + 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + + ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + + ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + + ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], + 'dirs':[], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..9f6f591568 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs' : [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..bfd88b3c4b --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '2.2.1' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'opt': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] + +configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' + +# From the libxc mailing list +# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect +# a fully working testsuite soon (unless someone wants to volunteer to do +# it, of course ) In the meantime, unless the majority of the tests +# fail, your build should be fine. +#runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc.a'], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..fd7cafa798 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.17' + +homepage = 'http://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = "--enable-cxx" + +sanity_check_paths = { + 'files': ["bin/m4"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..f5c36d9c4c --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.3.0' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' +description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine + library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more + dimensions, of arbitrary input size, and of complex data.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = { 'dynamic': True } + +source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..a3d14a3a11 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'optarch': True, 'shared': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['ncurses-%(version)s_configure_darwin.patch'] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb new file mode 100644 index 0000000000..91375139ee --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb @@ -0,0 +1,26 @@ +name = 'numpy' +version = '1.9.2' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['numpy-1.8.0-mkl.patch'] + +python = 'Python' +pyver = '2.7.9' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb new file mode 100644 index 0000000000..f91af70f07 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb @@ -0,0 +1,39 @@ +name = 'Python' +version = '2.7.9' +versionsuffix = '-bare' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True, 'opt': True} + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +# bare installation: no extensions included +exts_list = [] + +buildopts = 'LINKCC="$CC -dynamic"' + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..da85447313 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb @@ -0,0 +1,115 @@ +name = 'Python' +version = '2.7.9' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.9.1' +scipyversion = '0.14.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +buildopts = 'LINKCC="$CC -dynamic"' + +# order is important! +# package versions updated Jan 19th 2015 +exts_list = [ + ('setuptools', '11.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '6.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-1.8.0-mkl.patch', # % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('lockfile', '0.10.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.21.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.0', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.0.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.11', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.15.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.13', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), +] + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..d97f4cebb2 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True, 'dynamic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb new file mode 100644 index 0000000000..b69de1aa3b --- /dev/null +++ b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb @@ -0,0 +1,19 @@ +name = 'scipy' +version = '0.15.1' +versionsuffix = '-Python-2.7.9' + +homepage = 'http://www.scipy.org' +description = """SciPy is a collection of mathematical algorithms and convenience + functions built on the Numpy extension for Python.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('numpy', '1.9.2', versionsuffix), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..06a6cb2664 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'spglib' +version = '1.7.3' + +homepage = 'http://spglib.sourceforge.net/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'dynamic': True, } + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +start_dir = '%(name)s-%(version)s' + +sanity_check_paths = { + 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], + 'dirs': ['include/spglib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..e07994886a --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.18.01' + +homepage = 'http://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'dynamic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/tcsh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb new file mode 100644 index 0000000000..d353e6742c --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb @@ -0,0 +1,41 @@ +name = 'WRF' +version = '3.6.1' + +homepage = 'http://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +sources = ['%(name)sV%(version)s.TAR.gz'] +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] + +# csh is used by WRF install scripts +builddependencies = [('tcsh', '6.18.01')] + +dependencies = [ + ('JasPer', '1.900.1'), + ('cray-netcdf/4.3.2', EXTERNAL_MODULE), + ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), +] + +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF-3.6.1_known_problems.patch', + 'WRF_tests_limit-runtimes.patch', +] + +# limit parallel build to 20 +maxparallel = 20 + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +runtest = False + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..7d35b456b3 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.8' + +homepage = 'http://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True, 'dynamic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From ec0bca72390c31cb16ff117b1f78f085b4be6ec4 Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 2 Feb 2016 14:24:21 +0100 Subject: [PATCH 0106/1089] adding gromacs and jasper --- .../GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb | 38 +++++++++++++++++++ .../JasPer-1.900.1-CrayGNU-2015.11-XC.eb | 21 ++++++++++ 2 files changed, 59 insertions(+) create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb create mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb new file mode 100644 index 0000000000..0faa18f3de --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +## +name = 'GROMACS' +version = '4.6.7' +versionsuffix = '-mpi' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'usempi': True} + +# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz +source_urls = [ + 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources + 'http://gerrit.gromacs.org/download/', # regression tests sources +] +sources = [ + SOURCELOWER_TAR_GZ, + 'regressiontests-%(version)s.tar.gz', +] + +builddependencies = [('CMake', '3.2.2')] + +runtest = False + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..b3d235faba --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'JasPer' +version = '1.900.1' + +homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' +description = """The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_ZIP] +source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] + +sanity_check_paths = { + 'files': ["bin/jasper", "lib/libjasper.a"], + 'dirs': ["include"], +} + +moduleclass = 'vis' -- GitLab From 7d8aa043176d7a960af65451fcfb2a3b545dcd87 Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 2 Feb 2016 14:32:32 +0100 Subject: [PATCH 0107/1089] added Gromacs and JasPer --- .../GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb | 38 +++++++++++++++++++ .../JasPer-1.900.1-CrayGNU-2015.06-XC.eb | 21 ++++++++++ 2 files changed, 59 insertions(+) create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb create mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb new file mode 100644 index 0000000000..31d5fed4d1 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +## +name = 'GROMACS' +version = '4.6.7' +versionsuffix = '-mpi' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'usempi': True} + +# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz +source_urls = [ + 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources + 'http://gerrit.gromacs.org/download/', # regression tests sources +] +sources = [ + SOURCELOWER_TAR_GZ, + 'regressiontests-%(version)s.tar.gz', +] + +builddependencies = [('CMake', '3.2.2')] + +runtest = False + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb new file mode 100644 index 0000000000..057b6423c3 --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'JasPer' +version = '1.900.1' + +homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' +description = """The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_ZIP] +source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] + +sanity_check_paths = { + 'files': ["bin/jasper", "lib/libjasper.a"], + 'dirs': ["include"], +} + +moduleclass = 'vis' -- GitLab From 25ee5b39069f77a58dee584edb7deea6cdc1f5df Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Tue, 2 Feb 2016 19:43:35 +0100 Subject: [PATCH 0108/1089] added ImageMagick-6.9.3-2-goolf-1.4.10.eb and missing deps --- .../ImageMagick-6.9.3-2-goolf-1.4.10.eb | 29 +++++++++++++++++++ .../l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb | 15 ++++++++++ .../libjpeg-turbo-1.4.1-goolf-1.4.10.eb | 24 +++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb create mode 100644 easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.1-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb new file mode 100644 index 0000000000..91d3272c34 --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '6.9.3-2' + +homepage = 'http://www.imagemagick.org/' +description = """ImageMagick is a software suite to create, edit, compose, or convert bitmap images""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.imagemagick.org/download/'] + +dependencies = [ + ('bzip2', '1.0.6'), + ('freetype', '2.5.0.1'), + ('Ghostscript', '9.10'), + ('JasPer', '1.900.1'), + ('libjpeg-turbo', '1.4.1'), + ('LibTIFF', '4.0.3'), + ('libX11', '1.6.1'), + ('libXext', '1.3.2'), + ('libXt', '1.1.4'), + ('LittleCMS', '2.7'), +] + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb new file mode 100644 index 0000000000..af18beb748 --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb @@ -0,0 +1,15 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.7' + +homepage = 'http://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://sourceforge.net/projects/lcms/files/lcms/%(version)s/'] +sources = ['lcms2-%(version)s.tar.gz'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.1-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.1-goolf-1.4.10.eb new file mode 100644 index 0000000000..b5f70e73bc --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.1-goolf-1.4.10.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libjpeg-turbo' +version = '1.4.1' + +homepage = 'http://sourceforge.net/libjpeg-turbo/' +description = """libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG +compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('NASM', '2.07'), +] + +configopts = "--with-jpeg8" +runtest = "test" + +moduleclass = 'lib' -- GitLab From 265a314ee9bc5b53892e6abfebce5c50a638fe07 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Tue, 2 Feb 2016 23:36:03 +0100 Subject: [PATCH 0109/1089] added pkg-config dependency --- .../i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb index 91d3272c34..c751d87629 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb @@ -22,6 +22,7 @@ dependencies = [ ('libXext', '1.3.2'), ('libXt', '1.1.4'), ('LittleCMS', '2.7'), + ('pkg-config', '0.27.1'), ] modextravars = {'MAGICK_HOME': '%(installdir)s'} -- GitLab From e1ef6c675000659343591b391917fb1700a6fc15 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Wed, 3 Feb 2016 09:28:25 +0100 Subject: [PATCH 0110/1089] moved pkg-config to builddeps --- .../i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb index c751d87629..11edf87c57 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb @@ -11,6 +11,10 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] source_urls = ['http://www.imagemagick.org/download/'] +builddependencies = [ + ('pkg-config', '0.27.1'), +] + dependencies = [ ('bzip2', '1.0.6'), ('freetype', '2.5.0.1'), @@ -22,7 +26,6 @@ dependencies = [ ('libXext', '1.3.2'), ('libXt', '1.1.4'), ('LittleCMS', '2.7'), - ('pkg-config', '0.27.1'), ] modextravars = {'MAGICK_HOME': '%(installdir)s'} -- GitLab From b520afc4de5f3a3ecc7f7a96e77757283b57fd1e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Feb 2016 14:18:55 +0200 Subject: [PATCH 0111/1089] add easyconfig CMake-3.4.3-intel-2016a.eb, add easyconfig Doxygen-1.8.11-intel-2016a.eb, add easyconfig cURL-7.47.0-intel-2016a.eb --- .../c/CMake/CMake-3.4.3-intel-2016a.eb | 31 +++++++++++++++++++ .../c/cURL/cURL-7.47.0-intel-2016a.eb | 31 +++++++++++++++++++ .../d/Doxygen/Doxygen-1.8.11-intel-2016a.eb | 19 ++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb new file mode 100644 index 0000000000..31b70f1b8a --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.4.3' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '6.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1p'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb new file mode 100644 index 0000000000..80ee257e06 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.47.0' + +homepage = 'http://curl.haxx.se' +description = """libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, + POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports + SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, + proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, + Kerberos), file transfer resume, http proxy tunneling and more.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://curl.haxx.se/download/'] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# dependencies = [('OpenSSL', '1.0.1p')] +# configopts = "--with-ssl=$EBROOTOPENSSL" + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb new file mode 100644 index 0000000000..2d5dc8597f --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb @@ -0,0 +1,19 @@ +name = 'Doxygen' +version = '1.8.11' + +homepage = 'http://www.doxygen.org' +description = """Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] + +builddependencies = [ + ('CMake', '3.4.3'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), +] + +moduleclass = 'devel' -- GitLab From b019fe54647e6fffe46a6f4811063f71112de804 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Feb 2016 14:44:53 +0200 Subject: [PATCH 0112/1089] add easyconfig HDF5-1.8.16-intel-2016a.eb --- .../h/HDF5/HDF5-1.8.16-intel-2016a.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb new file mode 100644 index 0000000000..dc65dce562 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +version = '1.8.16' + +homepage = 'http://www.hdfgroup.org/HDF5/' +description = """HDF5 is a unique technology suite that makes possible the management of + extremely large and complex data collections.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True, 'usempi': True} + +source_urls = ['http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +patches = [ + 'HDF5-1.8.15_configure_intel.patch', + 'configure_libtool.patch', +] + +buildopts = 'CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK"' + +dependencies = [ + ('zlib', '1.2.8'), + ('Szip', '2.1'), +] + +moduleclass = 'data' -- GitLab From b146200dbd2f7aa7ec3339a4cde3971967c6cd44 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Feb 2016 14:47:42 +0200 Subject: [PATCH 0113/1089] add easyconfig Szip-2.1-intel-2016a.eb --- .../s/Szip/Szip-2.1-intel-2016a.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb new file mode 100644 index 0000000000..67b0f10359 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From e5e8fb96f10b3f441fe3302c37acb15abf3dd77e Mon Sep 17 00:00:00 2001 From: perettig Date: Fri, 5 Feb 2016 15:16:42 +0100 Subject: [PATCH 0114/1089] updated ebs to default value for toolchain opts dynamic = True --- easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb | 1 - easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb | 1 - easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb | 2 +- .../easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb | 1 - easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb | 1 - easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb | 2 +- 6 files changed, 2 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb index 5d449a2077..1a73916b52 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb @@ -8,7 +8,6 @@ description = """CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.""" toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'dynamic': True} source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb index f5c36d9c4c..656ae6d877 100644 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb @@ -9,7 +9,6 @@ description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fa dimensions, of arbitrary input size, and of complex data.""" toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = { 'dynamic': True } source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb index d97f4cebb2..6340c63211 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb @@ -7,7 +7,7 @@ homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' description = "Szip compression software, providing lossless compression of scientific data" toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True, 'dynamic': True} +toolchainopts = {'pic': True, } source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb index 06a6cb2664..bdb5c45a5a 100644 --- a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb @@ -7,7 +7,6 @@ homepage = 'http://spglib.sourceforge.net/' description = """Spglib is a C library for finding and handling crystal symmetries.""" toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'dynamic': True, } source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb index e07994886a..3b456bd5d5 100644 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb @@ -21,7 +21,6 @@ description = """Tcsh is an enhanced, but completely compatible version of the B mechanism, job control and a C-like syntax.""" toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'dynamic': True} sources = [SOURCELOWER_TAR_GZ] source_urls = [ diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb index 7d35b456b3..0c6915d7cd 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb @@ -9,7 +9,7 @@ description = """zlib is designed to be a free, general-purpose, legally unencum computer hardware and operating system.""" toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True, 'dynamic': True} +toolchainopts = {'pic': True, } sources = [SOURCELOWER_TAR_GZ] source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] -- GitLab From 110a98840e1f1d882b83502c94953ef32dfd5d81 Mon Sep 17 00:00:00 2001 From: perettig Date: Fri, 5 Feb 2016 15:21:12 +0100 Subject: [PATCH 0115/1089] updated ebs to default value for toolchain opts dynamic = True --- easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb | 1 - easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb | 1 - easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb | 2 +- .../easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb | 1 - easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb | 1 - easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb | 2 +- 6 files changed, 2 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb index 2813041da2..d4b9c66352 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb @@ -8,7 +8,6 @@ description = """CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.""" toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'dynamic': True} source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb index 9a44adf4a0..4acf581ee5 100644 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb @@ -9,7 +9,6 @@ description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fa dimensions, of arbitrary input size, and of complex data.""" toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = { 'dynamic': True } source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb index 621f9235dd..a075d53839 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb @@ -7,7 +7,7 @@ homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' description = "Szip compression software, providing lossless compression of scientific data" toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True, 'dynamic': True} +toolchainopts = {'pic': True, } source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb index 90249a4422..68086c7c98 100644 --- a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb @@ -7,7 +7,6 @@ homepage = 'http://spglib.sourceforge.net/' description = """Spglib is a C library for finding and handling crystal symmetries.""" toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'dynamic': True, } source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb index 07d83bd968..c5db50a961 100644 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb @@ -21,7 +21,6 @@ description = """Tcsh is an enhanced, but completely compatible version of the B mechanism, job control and a C-like syntax.""" toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'dynamic': True} sources = [SOURCELOWER_TAR_GZ] source_urls = [ diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb index e2f5d3e598..fbc74998eb 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb @@ -9,7 +9,7 @@ description = """zlib is designed to be a free, general-purpose, legally unencum computer hardware and operating system.""" toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True, 'dynamic': True} +toolchainopts = {'pic': True, } sources = [SOURCELOWER_TAR_GZ] source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] -- GitLab From 05f1e7f9d3c58a71d4c9619597ca6450fd54199b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Feb 2016 15:53:20 +0100 Subject: [PATCH 0116/1089] remove easyconfigs that are being added through #2447 and #2448 --- .../c/CMake/CMake-3.4.3-intel-2016a.eb | 31 ------------------- .../h/HDF5/HDF5-1.8.16-intel-2016a.eb | 26 ---------------- .../s/Szip/Szip-2.1-intel-2016a.eb | 23 -------------- 3 files changed, 80 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb deleted file mode 100644 index 31b70f1b8a..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.4.3-intel-2016a.eb +++ /dev/null @@ -1,31 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.4.3' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = '-- -DCMAKE_USE_OPENSSL=1' - -dependencies = [ - ('ncurses', '6.0'), - # OS dependency should be preferred if the os version is more recent then this version, - # it's nice to have an up to date openssl for security reasons - #('OpenSSL', '1.0.1p'), -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb deleted file mode 100644 index dc65dce562..0000000000 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016a.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'HDF5' -version = '1.8.16' - -homepage = 'http://www.hdfgroup.org/HDF5/' -description = """HDF5 is a unique technology suite that makes possible the management of - extremely large and complex data collections.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True, 'pic': True, 'usempi': True} - -source_urls = ['http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] - -patches = [ - 'HDF5-1.8.15_configure_intel.patch', - 'configure_libtool.patch', -] - -buildopts = 'CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK"' - -dependencies = [ - ('zlib', '1.2.8'), - ('Szip', '2.1'), -] - -moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb deleted file mode 100644 index 67b0f10359..0000000000 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016a.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Szip' -version = '2.1' - -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' -description = "Szip compression software, providing lossless compression of scientific data" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True, 'pic': True} - -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic" - -sanity_check_paths = { - 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + - ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], - 'dirs': [], -} - -moduleclass = 'tools' -- GitLab From c31ab01763787288bd13198a122b8870b9c663d6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Feb 2016 16:56:32 +0200 Subject: [PATCH 0117/1089] add easyconfig R-3.2.3-intel-2016a.eb --- .../easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 398 ++++++++++++++++++ 1 file changed, 398 insertions(+) create mode 100644 easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb new file mode 100644 index 0000000000..2f1c082832 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -0,0 +1,398 @@ +name = 'R' +version = '3.2.3' + +homepage = 'http://www.r-project.org/' +description = """R is a free software environment for statistical computing and graphics.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://cran.us.r-project.org/src/base/R-%(version_major)s'] + +preconfigopts = 'BLAS_LIBS="$LIBBLAS" LAPACK_LIBS="$LIBLAPACK"' +configopts = "--with-lapack --with-blas --with-pic --enable-threads --with-x=no --enable-R-shlib" +# some recommended packages may fail in a parallel build (e.g. Matrix), and we're installing them anyway below +configopts += " --with-recommended-packages=no" + +dependencies = [ + ('libreadline', '6.3'), + ('ncurses', '6.0'), + ('libpng', '1.6.21'), # for plotting in R + ('libjpeg-turbo', '1.4.2'), # for plottting in R + ('Java', '1.8.0_72', '', True), # Java bindings are built if Java is found, might as well provide it + ('Tcl', '8.6.4'), # for tcltk + ('Tk', '8.6.4', '-no-X11'), # for tcltk + ('cURL', '7.47.0'), # for RCurl + ('libxml2', '2.9.3'), # for XML + ('GDAL', '2.0.2'), # for rgdal + ('PROJ', '4.9.2'), # for rgdal +] + +name_tmpl = '%(name)s_%(version)s.tar.gz' +ext_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} + + +# !! order of packages is important !! +# packages updated on January 21st 2016 +exts_list = [ + # default libraries, only here to sanity check their presence + 'base', + 'datasets', + 'graphics', + 'grDevices', + 'grid', + 'methods', + 'splines', + 'stats', + 'stats4', + 'tools', + 'utils', + # non-standard libraries, should be specified with fixed versions! + ('Rmpi', '0.6-5', dict(ext_options.items() + [('patches', ['Rmpi-0.6-5_impi5.patch'])])), + ('abind', '1.4-3', ext_options), + ('magic', '1.5-6', ext_options), + ('geometry', '0.3-6', dict(ext_options.items() + [('patches', ['geometry-0.3-4-icc.patch'])])), + ('bit', '1.1-12', ext_options), + ('filehash', '2.3', ext_options), + ('ff', '2.2-13', ext_options), + ('bnlearn', '3.9', ext_options), + ('bootstrap', '2015.2', ext_options), + ('combinat', '0.0-8', ext_options), + ('deal', '1.2-37', ext_options), + ('fdrtool', '1.2.15', ext_options), + ('formatR', '1.2.1', ext_options), + ('gtools', '3.5.0', ext_options), + ('gdata', '2.17.0', ext_options), + ('GSA', '1.03', ext_options), + ('highr', '0.5.1', ext_options), + ('infotheo', '1.2.0', ext_options), + ('lars', '1.2', ext_options), + ('lazy', '1.2-15', ext_options), + ('kernlab', '0.9-22', ext_options), + ('mime', '0.4', ext_options), + ('markdown', '0.7.7', ext_options), + ('mlbench', '2.1-1', ext_options), + ('NLP', '0.1-8', ext_options), + ('mclust', '5.1', ext_options), + ('RANN', '2.5', ext_options), + ('rmeta', '2.16', ext_options), + ('segmented', '0.5-1.4', ext_options), + ('som', '0.3-5', ext_options), + ('SuppDists', '1.1-9.1', ext_options), + ('stabledist', '0.7-0', ext_options), + ('survivalROC', '1.0.3', ext_options), + ('pspline', '1.0-17', ext_options), + ('timeDate', '3012.100', ext_options), + ('longmemo', '1.0-0', ext_options), + ('ADGofTest', '0.3', ext_options), + ('ade4', '1.7-3', ext_options), + ('AlgDesign', '1.1-7.3', ext_options), + ('base64enc', '0.1-3', ext_options), + ('BH', '1.60.0-1', ext_options), + ('brew', '1.0-6', ext_options), + ('Brobdingnag', '1.2-4', ext_options), + ('corpcor', '1.6.8', ext_options), + ('longitudinal', '1.1.12', ext_options), + ('checkmate', '1.6.3', ext_options), + ('cubature', '1.1-2', ext_options), + ('DEoptimR', '1.0-4', ext_options), + ('digest', '0.6.8', ext_options), + ('fastmatch', '1.0-4', ext_options), + ('ffbase', '0.12.1', ext_options), + ('iterators', '1.0.8', ext_options), + ('maps', '3.0.2', ext_options), + ('nnls', '1.4', ext_options), + ('sendmailR', '1.2-1', ext_options), + ('spam', '1.3-0', ext_options), + ('subplex', '1.1-6', ext_options), + ('stringi', '1.0-1', ext_options), + ('magrittr', '1.5', ext_options), + ('stringr', '1.0.0', ext_options), + ('evaluate', '0.8', ext_options), + ('logspline', '2.1.8', ext_options), + ('ncbit', '2013.03.29', ext_options), + ('permute', '0.8-4', ext_options), + ('plotrix', '3.6-1', ext_options), + ('randomForest', '4.6-12', ext_options), + ('scatterplot3d', '0.3-36', ext_options), + ('SparseM', '1.7', ext_options), + ('tripack', '1.3-7', ext_options), + ('irace', '1.07', ext_options), + ('rJava', '0.9-7', ext_options), + ('lattice', '0.20-33', ext_options), + ('RColorBrewer', '1.1-2', ext_options), + ('latticeExtra', '0.6-26', ext_options), + ('Matrix', '1.2-3', ext_options), + ('png', '0.1-7', ext_options), + ('Rcpp', '0.12.2', ext_options), + ('RcppArmadillo', '0.6.400.2.2', ext_options), + ('plyr', '1.8.3', ext_options), + ('pROC', '1.8', ext_options), + ('quadprog', '1.5-5', ext_options), + ('BB', '2014.10-1', ext_options), + ('BBmisc', '1.9', ext_options), + ('fail', '1.3', ext_options), + ('rlecuyer', '0.3-4', ext_options), + ('snow', '0.4-1', ext_options), + ('MASS', '7.3-45', ext_options), + ('tree', '1.0-36', ext_options), + ('pls', '2.5-0', ext_options), + ('class', '7.3-14', ext_options), + ('e1071', '1.6-7', ext_options), + ('nnet', '7.3-11', ext_options), + ('nlme', '3.1-122', ext_options), + ('minqa', '1.2.4', ext_options), + ('RcppEigen', '0.3.2.5.1', ext_options), + ('MatrixModels', '0.4-1', ext_options), + ('quantreg', '5.19', ext_options), + ('mgcv', '1.8-10', ext_options), + ('colorspace', '1.2-6', ext_options), + ('robustbase', '0.92-5', ext_options), + ('sp', '1.2-1', ext_options), + ('zoo', '1.7-12', ext_options), + ('lmtest', '0.9-34', ext_options), + ('vcd', '1.4-1', ext_options), + ('snowfall', '1.84-6.1', ext_options), + ('rpart', '4.1-10', ext_options), + ('survival', '2.38-3', ext_options), + ('mice', '2.25', ext_options), + ('urca', '1.2-8', ext_options), + ('fracdiff', '1.4-2', ext_options), + ('logistf', '1.21', ext_options), + ('akima', '0.5-12', ext_options), + ('bitops', '1.0-6', ext_options), + ('boot', '1.3-17', ext_options), + ('mixtools', '1.0.3', ext_options), + ('cluster', '2.0.3', ext_options), + ('gclus', '1.3.1', ext_options), + ('coda', '0.18-1', ext_options), + ('codetools', '0.2-14', ext_options), + ('foreach', '1.4.3', ext_options), + ('doMC', '1.3.4', ext_options), + ('DBI', '0.3.1', ext_options), + ('foreign', '0.8-66', ext_options), + ('gam', '1.12', ext_options), + ('gamlss.data', '4.3-2', ext_options), + ('gamlss.dist', '4.3-5', ext_options), + ('hwriter', '1.3.2', ext_options), + ('KernSmooth', '2.23-15', ext_options), + ('xts', '0.9-7', ext_options), + ('TTR', '0.23-0', ext_options), + ('quantmod', '0.4-5', ext_options), + ('mnormt', '1.5-3', ext_options), + ('mvtnorm', '1.0-3', ext_options), + ('pcaPP', '1.9-60', ext_options), + ('numDeriv', '2014.2-1', ext_options), + ('lava', '1.4.1', ext_options), + ('prodlim', '1.5.7', ext_options), + ('pscl', '1.4.9', ext_options), + ('RSQLite', '1.0.0', ext_options), + ('BatchJobs', '1.6', ext_options), + ('sandwich', '2.3-4', ext_options), + ('sfsmisc', '1.0-28', ext_options), + ('spatial', '7.3-11', ext_options), + ('VGAM', '1.0-0', ext_options), + ('waveslim', '1.7.5', ext_options), + ('xtable', '1.8-0', ext_options), + ('profileModel', '0.5-9', ext_options), + ('brglm', '0.5-9', ext_options), + ('deSolve', '1.12', ext_options), + ('tseriesChaos', '0.1-13', ext_options), + ('tseries', '0.10-34', ext_options), + ('fastICA', '1.2-0', ext_options), + ('R.methodsS3', '1.7.0', ext_options), + ('R.oo', '1.19.0', ext_options), + ('cgdsr', '1.2.5', ext_options), + ('R.utils', '2.2.0', ext_options), + ('R.matlab', '3.3.0', ext_options), + ('gbm', '2.1.1', ext_options), + ('dichromat', '2.0-0', ext_options), + ('Formula', '1.2-1', ext_options), + ('acepack', '1.3-3.3', ext_options), + ('reshape2', '1.4.1', ext_options), + ('gtable', '0.1.2', ext_options), + ('munsell', '0.4.2', ext_options), + ('labeling', '0.3', ext_options), + ('scales', '0.3.0', ext_options), + ('proto', '0.3-10', ext_options), + ('ggplot2', '2.0.0', ext_options), + ('gridExtra', '2.0.0', ext_options), + ('Hmisc', '3.17-1', ext_options), + ('fastcluster', '1.1.16', ext_options), + ('chron', '2.3-47', ext_options), + ('data.table', '1.9.6', ext_options), + ('registry', '0.3', ext_options), + ('pkgmaker', '0.22', ext_options), + ('rngtools', '1.2.4', ext_options), + ('doParallel', '1.0.10', ext_options), + ('gridBase', '0.4-7', ext_options), + ('NMF', '0.20.6', ext_options), + ('irlba', '2.0.0', ext_options), + ('igraph', '1.0.1', ext_options), + ('GeneNet', '1.2.13', ext_options), + ('ape', '3.4', ext_options), + ('htmltools', '0.3', ext_options), + ('RJSONIO', '1.3-0', ext_options), + ('caTools', '1.17.1', ext_options), + ('gplots', '2.17.0', ext_options), + ('ROCR', '1.0-7', ext_options), + ('httpuv', '1.3.3', ext_options), + ('R6', '2.1.1', ext_options), + ('jsonlite', '0.9.19', ext_options), + ('rjson', '0.2.15', ext_options), + ('shiny', '0.12.2', ext_options), + ('seqinr', '3.1-3', ext_options), + ('LearnBayes', '2.15', ext_options), + ('deldir', '0.1-9', ext_options), + ('spdep', '0.5-92', ext_options), + ('assertthat', '0.1', ext_options), + ('lazyeval', '0.1.10', ext_options), + ('dplyr', '0.4.3', ext_options), + ('adegenet', '2.0.0', ext_options), + ('rncl', '0.6.0', ext_options), + ('XML', '3.98-1.3', ext_options), + ('memoise', '0.2.1', ext_options), + ('crayon', '1.3.1', ext_options), + ('praise', '1.0.0', ext_options), + ('testthat', '0.11.0', ext_options), + ('yaml', '2.1.13', ext_options), + ('knitr', '1.11', ext_options), + ('rmarkdown', '0.9.2', ext_options), + ('curl', '0.9.4', ext_options), + ('httr', '1.0.0', ext_options), + ('reshape', '0.8.5', ext_options), + ('bold', '0.3.0', ext_options), + ('taxize', '0.7.0', ext_options), + ('tidyr', '0.3.1', ext_options), + ('uuid', '0.1-2', ext_options), + ('RNeXML', '2.0.5', ext_options), + ('phylobase', '0.8.0', ext_options), + ('adephylo', '1.1-6', ext_options), + ('animation', '2.4', ext_options), + ('bigmemory.sri', '0.1.3', ext_options), + ('bigmemory', '4.5.8', ext_options), + ('calibrate', '1.7.2', ext_options), + ('clusterGeneration', '1.3.4', ext_options), + ('raster', '2.5-2', ext_options), + ('dismo', '1.0-12', ext_options), + ('expm', '0.999-0', ext_options), + ('extrafontdb', '1.0', ext_options), + ('Rttf2pt1', '1.3.3', ext_options), + ('extrafont', '0.17', ext_options), + ('fields', '8.3-6', ext_options), + ('shapefiles', '0.7', ext_options), + ('fossil', '0.3.7', ext_options), + ('geiger', '2.0.6', ext_options), + ('glmnet', '2.0-2', ext_options), + ('rgl', '0.95.1441', ext_options), + ('labdsv', '1.7-0', ext_options), + ('stabs', '0.5-1', ext_options), + ('mboost', '2.5-0', ext_options), + ('msm', '1.6', ext_options), + ('nor1mix', '1.2-1', ext_options), + ('np', '0.60-2', ext_options), + ('polynom', '1.3-8', ext_options), + ('polspline', '1.1.12', ext_options), + ('TH.data', '1.0-6', ext_options), + ('multcomp', '1.4-1', ext_options), + ('rms', '4.4-1', ext_options), + ('RWekajars', '3.7.12-1', ext_options), + ('RWeka', '0.4-24', ext_options), + ('slam', '0.1-32', ext_options), + ('tm', '0.6-2', ext_options), + ('TraMineR', '1.8-11', ext_options), + ('chemometrics', '1.3.9', ext_options), + ('FNN', '1.1', ext_options), + ('ipred', '0.9-5', ext_options), + ('statmod', '1.4.23', ext_options), + ('miscTools', '0.6-16', ext_options), + ('maxLik', '1.3-4', ext_options), + ('mlogit', '0.2-4', ext_options), + ('getopt', '1.20.0', ext_options), + ('gsalib', '2.1', ext_options), + ('optparse', '1.3.2', ext_options), + ('klaR', '0.6-12', ext_options), + ('neuRosim', '0.2-12', ext_options), + ('locfit', '1.5-9.1', ext_options), + ('GGally', '1.0.0', ext_options), + ('beanplot', '1.2', ext_options), + ('clValid', '0.6-6', ext_options), + ('matrixStats', '0.50.1', ext_options), + ('DiscriMiner', '0.1-29', ext_options), + ('ellipse', '0.3-8', ext_options), + ('leaps', '2.9', ext_options), + ('nloptr', '1.0.4', ext_options), + ('lme4', '1.1-10', ext_options), + ('pbkrtest', '0.4-4', ext_options), + ('car', '2.1-1', ext_options), + ('flashClust', '1.01-2', ext_options), + ('FactoMineR', '1.31.4', ext_options), + ('modeltools', '0.2-21', ext_options), + ('flexclust', '1.3-4', ext_options), + ('flexmix', '2.3-13', ext_options), + ('prabclus', '2.2-6', ext_options), + ('diptest', '0.75-7', ext_options), + ('trimcluster', '0.1-2', ext_options), + ('fpc', '2.1-10', ext_options), + ('BiasedUrn', '1.07', ext_options), + ('TeachingDemos', '2.9', ext_options), + ('kohonen', '2.0.19', ext_options), + ('base64', '1.1', ext_options), + ('doRNG', '1.6', ext_options), + ('nleqslv', '2.9.1', ext_options), + ('RGCCA', '2.0', ext_options), + ('pheatmap', '1.0.8', ext_options), + ('openxlsx', '3.0.0', ext_options), + ('pvclust', '2.0-0', ext_options), + ('RCircos', '1.1.3', ext_options), + ('lambda.r', '1.1.7', ext_options), + ('futile.options', '1.0.0', ext_options), + ('futile.logger', '1.4.1', ext_options), + ('VennDiagram', '1.6.16', ext_options), + ('xlsxjars', '0.6.1', ext_options), + ('xlsx', '0.5.7', ext_options), + ('vegan', '2.3-2', ext_options), + ('forecast', '6.1', dict(ext_options.items() + [('patches', ['forecast-6.1_icpc-wd308.patch'])])), + ('fma', '2.01', ext_options), + ('expsmooth', '2.3', ext_options), + ('fpp', '0.5', ext_options), + ('maptools', '0.8-37', ext_options), + ('deldir', '0.1-9', ext_options), + ('tensor', '1.5', ext_options), + ('polyclip', '1.3-2', ext_options), + ('goftest', '1.0-3', ext_options), + ('spatstat', '1.44-1', ext_options), + ('rgdal', '1.1-3', ext_options), + ('gdalUtils', '2.0.1.7', ext_options), + ('pracma', '1.8.8', ext_options), + ('RCurl', '1.95-4.7', ext_options), + ('bio3d', '2.2-4', ext_options), + ('AUC', '0.3.0', ext_options), + ('interpretR', '0.2.3', ext_options), + ('SuperLearner', '2.0-15', ext_options), + ('lpSolve', '5.6.13', ext_options), + ('mediation', '4.4.5', ext_options), + ('caret', '6.0-64', ext_options), + ('adabag', '4.1', ext_options), + ('parallelMap', '1.3', ext_options), + ('ParamHelpers', '1.6', ext_options), + ('ggvis', '0.4.2', ext_options), + ('mlr', '2.7', ext_options), + ('unbalanced', '2.0', ext_options), + ('RSNNS', '0.4-7', ext_options), + ('abc.data', '1.0', ext_options), + ('abc', '2.1', ext_options), + ('lhs', '0.10', ext_options), + ('tensorA', '0.36', ext_options), + ('EasyABC', '1.5', ext_options), + ('shape', '1.4.2', ext_options), +] + +moduleclass = 'lang' -- GitLab From a8356625b0edb3fb95816588a703e2bd5941d6c0 Mon Sep 17 00:00:00 2001 From: perettig Date: Fri, 5 Feb 2016 17:35:08 +0100 Subject: [PATCH 0118/1089] added missing fftw dependency to nfft --- easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb index 4acf581ee5..24a66a56a8 100644 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb @@ -13,6 +13,10 @@ toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] sources = [SOURCELOWER_TAR_GZ] +dependencies = [ + ('fftw/3.3.4.2', EXTERNAL_MODULE), +] + sanity_check_paths = { 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], 'dirs': ['lib/pkgconfig'], -- GitLab From 764ea007f168d57340a7aa9bfa84105d71c0f289 Mon Sep 17 00:00:00 2001 From: perettig Date: Fri, 5 Feb 2016 17:36:54 +0100 Subject: [PATCH 0119/1089] added missing fftw dependency to nfft --- easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb index 656ae6d877..10957199be 100644 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb @@ -13,6 +13,10 @@ toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] sources = [SOURCELOWER_TAR_GZ] +dependencies = [ + ('fftw/3.3.4.5', EXTERNAL_MODULE), +] + sanity_check_paths = { 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], 'dirs': ['lib/pkgconfig'], -- GitLab From d976704782fe5a842871121e15af43dcb932fa2b Mon Sep 17 00:00:00 2001 From: perettig Date: Fri, 5 Feb 2016 19:46:44 +0100 Subject: [PATCH 0120/1089] fix for cray's fftw + cmake detection --- .../g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb index 0faa18f3de..94600c2c59 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb @@ -31,6 +31,13 @@ sources = [ 'regressiontests-%(version)s.tar.gz', ] +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW} && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/../include && " + +dependencies = [ + ('fftw/3.3.4.5', EXTERNAL_MODULE), +] + builddependencies = [('CMake', '3.2.2')] runtest = False -- GitLab From 7df75991277ec4893b062d68ec6ca9fe04eea6e7 Mon Sep 17 00:00:00 2001 From: perettig Date: Fri, 5 Feb 2016 19:48:37 +0100 Subject: [PATCH 0121/1089] fix for cray's fftw + cmake detection --- .../g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb index 31d5fed4d1..f4f5d5d089 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb @@ -31,6 +31,13 @@ sources = [ 'regressiontests-%(version)s.tar.gz', ] +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW} && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/../include && " + +dependencies = [ + ('fftw/3.3.4.2', EXTERNAL_MODULE), +] + builddependencies = [('CMake', '3.2.2')] runtest = False -- GitLab From b858aa12c5eeec33a74209885410e5450fdc08ac Mon Sep 17 00:00:00 2001 From: perettig Date: Sat, 6 Feb 2016 11:41:24 +0100 Subject: [PATCH 0122/1089] fixed fftw minor version to match PE 2015.06 --- .../g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb | 2 +- easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb index f4f5d5d089..8fe8110183 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb @@ -35,7 +35,7 @@ preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW} && preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/../include && " dependencies = [ - ('fftw/3.3.4.2', EXTERNAL_MODULE), + ('fftw/3.3.4.3', EXTERNAL_MODULE), ] builddependencies = [('CMake', '3.2.2')] diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb index 24a66a56a8..f016964748 100644 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb @@ -14,7 +14,7 @@ source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] sources = [SOURCELOWER_TAR_GZ] dependencies = [ - ('fftw/3.3.4.2', EXTERNAL_MODULE), + ('fftw/3.3.4.3', EXTERNAL_MODULE), ] sanity_check_paths = { -- GitLab From 3f9dce28fb1bdb6884149ea219187a4557193e15 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 6 Feb 2016 23:06:36 +0200 Subject: [PATCH 0123/1089] add easyconfig PROJ-4.9.2-intel-2016a.eb --- .../p/PROJ/PROJ-4.9.2-intel-2016a.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-intel-2016a.eb diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-intel-2016a.eb b/easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-intel-2016a.eb new file mode 100644 index 0000000000..67b8275d1e --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-intel-2016a.eb @@ -0,0 +1,30 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'PROJ' +version = '4.9.2' + +homepage = 'http://trac.osgeo.org/proj/' +description = """Program proj is a standard Unix filter function which converts +geographic longitude and latitude coordinates into cartesian coordinates""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'opt': True, 'pic': True, 'usempi': True} + +source_urls = ['http://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/cs2cs', 'bin/geod', 'bin/invgeod', 'bin/invproj', + 'bin/nad2bin', 'bin/proj'], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From 7580fb2ca2421bc17618d989dc97a8e150edf095 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 10 Feb 2016 20:05:55 +0100 Subject: [PATCH 0124/1089] rework p4vasp to use intel/2016a and easyconfigs from #2443 --- .../ATK-2.16.0-intel-2015b-GLib-2.29.92.eb | 29 ------------ .../cairo-1.14.2-intel-2015b-GLib-2.29.92.eb | 46 ------------------- .../g/GLib/GLib-2.29.92-intel-2015b.eb | 22 --------- ...ection-0.10.8-intel-2015b-Python-2.7.10.eb | 38 --------------- ...-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb | 29 ------------ .../gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb | 23 ---------- ...arfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb | 28 ----------- .../Pango-1.37.1-intel-2015b-GLib-2.29.92.eb | 24 ---------- ...Object-2.28.6-intel-2015b-Python-2.7.10.eb | 34 -------------- .../PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb | 34 -------------- ...4vasp-0.3.29-intel-2016a-Python-2.7.11.eb} | 4 +- ...-intel-2015b-Python-2.7.10-GLib-2.29.92.eb | 30 ------------ 12 files changed, 2 insertions(+), 339 deletions(-) delete mode 100644 easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb delete mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb delete mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.29.92-intel-2015b.eb delete mode 100644 easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb delete mode 100644 easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb delete mode 100644 easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb delete mode 100644 easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb delete mode 100644 easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb delete mode 100644 easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb delete mode 100644 easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb rename easybuild/easyconfigs/p/p4vasp/{p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb => p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb} (91%) delete mode 100644 easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb deleted file mode 100644 index afb1976aa4..0000000000 --- a/easybuild/easyconfigs/a/ATK/ATK-2.16.0-intel-2015b-GLib-2.29.92.eb +++ /dev/null @@ -1,29 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ATK' -version = '2.16.0' - -homepage = 'https://developer.gnome.org/ATK/stable/' -description = """ - ATK provides the set of accessibility interfaces that are implemented by other - toolkits and applications. Using the ATK interfaces, accessibility tools have - full access to view and control running applications. -""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_XZ] - -glibver = '2.29.92' -versionsuffix = '-GLib-%s' % glibver -dependencies = [ - ('GLib', glibver), -] - -sanity_check_paths = { - 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb deleted file mode 100644 index 75af067c33..0000000000 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.2-intel-2015b-GLib-2.29.92.eb +++ /dev/null @@ -1,46 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'cairo' -version = '1.14.2' - -homepage = 'http://cairographics.org' -description = """Cairo is a 2D graphics library with support for multiple output devices. - Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, - PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['http://cairographics.org/releases/'] -sources = [SOURCE_TAR_XZ] - -glibver = '2.29.92' -versionsuffix = '-GLib-%s' % glibver - -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libpng', '1.6.18'), - ('freetype', '2.6.1'), - ('pixman', '0.32.8'), - ('fontconfig', '2.11.94'), - ('expat', '2.1.0'), - ('GLib', glibver), -] - -# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC -configopts = "--enable-symbol-lookup=no --enable-gobject=yes" - -# workaround for "hidden symbol .* in .* is referenced by DSO" and "ld: final link failed: Bad value" -buildopts = 'LD="$CC" LDFLAGS="$LDFLAGS -shared-intel"' - -sanity_check_paths = { - 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', - 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', - 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + - ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', - '-script', '-script-interpreter', '-svg', '-version', '-xcb', - '-xlib', '-xlib-xrender']], - 'dirs': ['lib/pkgconfig'], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.29.92-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.29.92-intel-2015b.eb deleted file mode 100644 index 053d541683..0000000000 --- a/easybuild/easyconfigs/g/GLib/GLib-2.29.92-intel-2015b.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'GLib' -version = '2.29.92' - -homepage = 'http://www.gtk.org/' -description = """GLib is one of the base libraries of the GTK+ project""" - -toolchain = {'name': 'intel', 'version': '2015b'} -toolchainopts = {'optarch': True, 'pic': True} - -source_urls = ['http://ftp.gnome.org/pub/gnome/sources/glib/%(version_major_minor)s/'] -sources = ['glib-%(version)s.tar.xz'] - -dependencies = [ - ('libffi', '3.2.1'), - ('gettext', '0.19.6'), - ('libxml2', '2.9.2'), -] -builddependencies = [('Python', '2.7.10')] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb deleted file mode 100644 index 669dcee41a..0000000000 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-0.10.8-intel-2015b-Python-2.7.10.eb +++ /dev/null @@ -1,38 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'GObject-Introspection' -version = '0.10.8' - -homepage = 'https://wiki.gnome.org/GObjectIntrospection/' -description = """GObject introspection is a middleware layer between C libraries - (using GObject) and language bindings. The C library can be scanned at - compile time and generate a metadata file, in addition to the actual - native C library. Then at runtime, language bindings can read this - metadata and automatically provide bindings to call into the C library.""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = [FTPGNOME_SOURCE] -sources = [SOURCELOWER_TAR_GZ] - -pyver = '2.7.10' -versionsuffix = '-Python-%s' % pyver - -dependencies = [ - ('Python', pyver), - ('GLib', '2.29.92'), - ('Bison', '3.0.4'), -] - -sanity_check_paths = { - 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + - ['lib/libgirepository-1.0.%s' % x for x in ['so', 'a']], - 'dirs': ['include', 'share'] -} - -modextrapaths = { - 'GI_TYPELIB_PATH': 'share', - 'XDG_DATA_DIRS': 'share', -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb deleted file mode 100644 index df97d34492..0000000000 --- a/easybuild/easyconfigs/g/gdk-pixbuf/gdk-pixbuf-2.31.4-intel-2015b-GLib-2.29.92.eb +++ /dev/null @@ -1,29 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'gdk-pixbuf' -version = '2.31.4' - -homepage = 'https://developer.gnome.org/gdk-pixbuf/stable/' -description = """ - The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. - It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it - was distributed as part of GTK+ 2 but it was split off into a separate package - in preparation for the change to GTK+ 3. -""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_XZ] - -glibver = '2.29.92' -versionsuffix = '-GLib-%s' % glibver -dependencies = [ - ('GLib', glibver), - ('libjpeg-turbo', '1.4.0'), - ('libpng', '1.6.18'), - ('LibTIFF', '4.0.3'), - -] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb deleted file mode 100644 index 4fe143fa91..0000000000 --- a/easybuild/easyconfigs/g/gtk+/gtk+-2.24.28-intel-2015b-GLib-2.29.92.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'gtk+' -version = '2.24.28' -versionsuffix = '-GLib-2.29.92' - -homepage = 'https://developer.gnome.org/gtk+/stable/' -description = """ - The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications. -""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_XZ] - -dependencies = [ - ('ATK', '2.16.0', versionsuffix), - ('gdk-pixbuf', '2.31.4', versionsuffix), - ('Pango', '1.37.1', versionsuffix), -] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb deleted file mode 100644 index 890b5853fb..0000000000 --- a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-0.9.41-intel-2015b-GLib-2.29.92.eb +++ /dev/null @@ -1,28 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'HarfBuzz' -version = '0.9.41' - -homepage = 'http://www.freedesktop.org/wiki/Software/HarfBuzz' -description = """HarfBuzz is an OpenType text shaping engine.""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['http://www.freedesktop.org/software/harfbuzz/release/'] -sources = [SOURCELOWER_TAR_BZ2] - -patches = ['HarfBuzz-%(version)s_no_symbolic.patch'] - -glibver = '2.29.92' -versionsuffix = '-GLib-%s' % glibver -dependencies = [ - ('GLib', glibver), - ('cairo', '1.14.2', versionsuffix), -] - -sanity_check_paths = { - 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb b/easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb deleted file mode 100644 index bf4f60f01b..0000000000 --- a/easybuild/easyconfigs/p/Pango/Pango-1.37.1-intel-2015b-GLib-2.29.92.eb +++ /dev/null @@ -1,24 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Pango' -version = '1.37.1' - -homepage = 'http://www.pango.org/' -description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. -Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the -context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_XZ] - -glibver = '2.29.92' -versionsuffix = '-GLib-%s' % glibver -dependencies = [ - ('GLib', glibver), - ('cairo', '1.14.2', versionsuffix), - ('HarfBuzz', '0.9.41', versionsuffix), -] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb deleted file mode 100644 index 3c627c6217..0000000000 --- a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2015b-Python-2.7.10.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'PyGObject' -version = '2.28.6' - -homepage = 'http://www.pygtk.org/' -description = """Python Bindings for GLib/GObject/GIO/GTK+""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = [FTPGNOME_SOURCE] -sources = [SOURCELOWER_TAR_XZ] - -pyver_maj_min = '2.7' -pyver = '%s.10' % pyver_maj_min -versionsuffix = '-Python-%s' % pyver - -glibver = '2.29.92' -dependencies = [ - ('Python', pyver), - ('GLib', glibver), - ('GObject-Introspection', '0.10.8', versionsuffix), - ('pycairo', '1.10.0', versionsuffix + '-GLib-%s' % glibver), -] - -parallel = 1 - -sanity_check_paths = { - 'files': ['include/pygtk-%(version_major)s.0/pyglib.h', 'include/pygtk-%(version_major)s.0/pygobject.h', - 'lib/libpyglib-%(version_major)s.0-python.so'], - 'dirs': ['bin', 'lib/python%s/site-packages/' % pyver_maj_min], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb deleted file mode 100644 index f7d18d2696..0000000000 --- a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2015b-Python-2.7.10.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'PyGTK' -version = '2.24.0' - -homepage = 'http://www.pygtk.org/' -description = """PyGTK lets you to easily create programs with a graphical user interface - using the Python programming language.""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = [PYPI_SOURCE] -sources = [SOURCELOWER_TAR_GZ] - -pyver_maj_min = '2.7' -pyver = '%s.10' % pyver_maj_min -versionsuffix = '-Python-%s' % pyver - -glibver = '2.29.92' -dependencies = [ - ('Python', pyver), - ('GLib', glibver), - ('PyGObject', '2.28.6', versionsuffix), - ('gtk+', '2.24.28', '-GLib-%s' % glibver), -] - -sanity_check_paths = { - 'files': ['lib/pkgconfig/pygtk-%(version_major)s.0.pc'], - 'dirs': ['lib/pygtk'], -} - -sanity_check_commands = [('python', "-c 'import gtk'")] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb similarity index 91% rename from easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb rename to easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb index 7fcc6c3b0b..7903d62ba9 100644 --- a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb @@ -2,12 +2,12 @@ easyblock = 'ConfigureMake' name = 'p4vasp' version = '0.3.29' -versionsuffix = '-Python-2.7.10' +versionsuffix = '-Python-2.7.11' homepage = 'http://www.p4vasp.at/' description = """Visualization suite for VASP""" -toolchain = {'name': 'intel', 'version': '2015b'} +toolchain = {'name': 'intel', 'version': '2016a'} # download via http://www.p4vasp.at/index.php/downloads sources = [SOURCE_TGZ] diff --git a/easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb b/easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb deleted file mode 100644 index 23337bffcc..0000000000 --- a/easybuild/easyconfigs/p/pycairo/pycairo-1.10.0-intel-2015b-Python-2.7.10-GLib-2.29.92.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'Waf' - -name = 'pycairo' -version = '1.10.0' - -homepage = 'http://cairographics.org/pycairo/' -description = """Python bindings for the cairo library""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['http://cairographics.org/releases/'] -# py2cairo is the Python 2 compatible release -sources = ['py2cairo-%(version)s.tar.bz2'] - -pyver_maj_min = '2.7' -pyver = '%s.10' % pyver_maj_min -glibver = '2.29.92' -versionsuffix = '-Python-%s-GLib-%s' % (pyver, glibver) - -dependencies = [ - ('Python', pyver), - ('cairo', '1.14.2', '-GLib-%s' % glibver), -] - -sanity_check_paths = { - 'files': ['include/pycairo/pycairo.h', 'lib/pkgconfig/pycairo.pc'], - 'dirs': ['lib/python%s/site-packages/cairo' % pyver_maj_min], -} - -moduleclass = 'vis' -- GitLab From 67e8369d71fbc6489383b3ca8a43adf1fe2ed2d5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 13 Feb 2016 11:18:45 +0100 Subject: [PATCH 0125/1089] fix source URL for ImageMagick, add sanity checks + minor version bumps --- ...eb => ImageMagick-6.9.3-3-goolf-1.4.10.eb} | 11 +++++-- .../l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb | 6 ++++ ...eb => libjpeg-turbo-1.4.2-goolf-1.4.10.eb} | 10 ++++-- .../n/NASM/NASM-2.11.08-goolf-1.4.10.eb | 31 +++++++++++++++++++ 4 files changed, 53 insertions(+), 5 deletions(-) rename easybuild/easyconfigs/i/ImageMagick/{ImageMagick-6.9.3-2-goolf-1.4.10.eb => ImageMagick-6.9.3-3-goolf-1.4.10.eb} (68%) rename easybuild/easyconfigs/l/libjpeg-turbo/{libjpeg-turbo-1.4.1-goolf-1.4.10.eb => libjpeg-turbo-1.4.2-goolf-1.4.10.eb} (63%) create mode 100644 easybuild/easyconfigs/n/NASM/NASM-2.11.08-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb similarity index 68% rename from easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb rename to easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb index c751d87629..adc09ca30a 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'ImageMagick' -version = '6.9.3-2' +version = '6.9.3-3' homepage = 'http://www.imagemagick.org/' description = """ImageMagick is a software suite to create, edit, compose, or convert bitmap images""" @@ -9,14 +9,14 @@ description = """ImageMagick is a software suite to create, edit, compose, or co toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.imagemagick.org/download/'] +source_urls = ['https://launchpad.net/imagemagick/main/%(version)s/+download/'] dependencies = [ ('bzip2', '1.0.6'), ('freetype', '2.5.0.1'), ('Ghostscript', '9.10'), ('JasPer', '1.900.1'), - ('libjpeg-turbo', '1.4.1'), + ('libjpeg-turbo', '1.4.2'), ('LibTIFF', '4.0.3'), ('libX11', '1.6.1'), ('libXext', '1.3.2'), @@ -25,6 +25,11 @@ dependencies = [ ('pkg-config', '0.27.1'), ] +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + modextravars = {'MAGICK_HOME': '%(installdir)s'} moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb index af18beb748..13281d87fa 100644 --- a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb @@ -12,4 +12,10 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ['http://sourceforge.net/projects/lcms/files/lcms/%(version)s/'] sources = ['lcms2-%(version)s.tar.gz'] +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.1-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb similarity index 63% rename from easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.1-goolf-1.4.10.eb rename to easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb index b5f70e73bc..548eb81065 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'libjpeg-turbo' -version = '1.4.1' +version = '1.4.2' homepage = 'http://sourceforge.net/libjpeg-turbo/' description = """libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG @@ -15,10 +15,16 @@ source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] dependencies = [ - ('NASM', '2.07'), + ('NASM', '2.11.08'), ] configopts = "--with-jpeg8" runtest = "test" +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', 'bin/tjbench', 'bin/wrjpgcom', + 'lib/libjpeg.a', 'libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'man', 'share'], +} + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.11.08-goolf-1.4.10.eb b/easybuild/easyconfigs/n/NASM/NASM-2.11.08-goolf-1.4.10.eb new file mode 100644 index 0000000000..617fb03523 --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.11.08-goolf-1.4.10.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-90.html +## + +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.11.08' + +homepage = 'http://www.nasm.us/' +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' -- GitLab From cdf12d46eff5743af67cf80615ac0800ce10c11a Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 16 Feb 2016 12:08:41 +1300 Subject: [PATCH 0126/1089] Add RSH_COMMAND variable to module files for ORCA --- easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb | 6 +++++- easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb | 6 +++++- easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb | 6 +++++- easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb index 1082a356d5..1f68602fad 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb @@ -29,5 +29,9 @@ sanity_check_paths = { 'dirs': [], } +modextravars = { + "SLURM_CPU_BIND" : "none", + "RSH_COMMAND" : "ssh -x", +} + moduleclass = 'chem' -modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb index 1d969f2204..976f97b5d5 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb @@ -30,5 +30,9 @@ sanity_check_paths = { 'dirs': [], } +modextravars = { + "SLURM_CPU_BIND" : "none", + "RSH_COMMAND" : "ssh -x", +} + moduleclass = 'chem' -modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb index 39d6350aed..e21c8f3ed4 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64.eb @@ -30,5 +30,9 @@ sanity_check_paths = { 'dirs': [], } +modextravars = { + "SLURM_CPU_BIND" : "none", + "RSH_COMMAND" : "ssh -x", +} + moduleclass = 'chem' -modextravars = { "SLURM_CPU_BIND" : "none" } diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb index adeb3b2fac..547be86ff0 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64.eb @@ -30,5 +30,9 @@ sanity_check_paths = { 'dirs': [], } +modextravars = { + "SLURM_CPU_BIND" : "none", + "RSH_COMMAND" : "ssh -x", +} + moduleclass = 'chem' -modextravars = { "SLURM_CPU_BIND" : "none" } -- GitLab From 21415a9341ea1216a0dca9456b441baa4d1dfa8d Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 17 Feb 2016 23:13:47 +0000 Subject: [PATCH 0127/1089] Working versiion with upstream Boost 1.60 fix --- ...ynchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb diff --git a/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb b/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb new file mode 100644 index 0000000000..b8f1d5f134 --- /dev/null +++ b/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb @@ -0,0 +1,31 @@ +easyblock = 'RPackage' + +name = 'synchronicity' +version = '1.1.9.1' + +homepage = 'http://cran.r-project.org/web/packages/%(name)s' +description = """synchronicity: Boost mutex functionality in R""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [ + 'http://cran.r-project.org/src/contrib/', + 'http://cran.r-project.org/src/contrib/Archive/$(name)s/', +] +sources = ['%(name)s_%(version)s.tar.gz'] + +r = 'R' +rver = '3.2.3' +versionsuffix = '-%s-%s' % (r, rver) + +dependencies = [ + (r, rver), + ('BH', '1.60.0-1', '-R-3.2.3'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['synchronicity'], +} + +moduleclass = 'lang' -- GitLab From 8e33fd247dff9201fd3ab371560068869e5639e9 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 17 Feb 2016 23:21:19 +0000 Subject: [PATCH 0128/1089] Add author information --- .../r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb b/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb index b8f1d5f134..f056af2b4f 100644 --- a/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb +++ b/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb @@ -1,3 +1,8 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Adam Huffman +# The Francis Crick Institute + easyblock = 'RPackage' name = 'synchronicity' -- GitLab From 829d4bce5aa38d6444c4eb516969f6264205b4d3 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Thu, 18 Feb 2016 13:33:41 +1300 Subject: [PATCH 0129/1089] Reinstate Open MPI version --- easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb index bd3a091b31..9110e61a28 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb @@ -1,7 +1,8 @@ easyblock = "PackedBinary" name = "ORCA" -version = '3_0_0-linux_x86-64' +openmpiversion = '1.6.5' +version = '3_0_0-linux_x86-64_openmpi_%s' % ''.join(openmpiversion.split('.')) homepage = 'http://www.thch.uni-bonn.de/tc/orca/' description = """ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry @@ -15,7 +16,7 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] # ORCA 3.0.0 is compiled only against OpenMPI 1.6.5 for Linux -dependencies = [('OpenMPI', '1.6.5', '-GCC-4.7.2')] +dependencies = [('OpenMPI', openmpiversion, '-GCC-4.7.2')] sanity_check_paths = { 'files': ['orca_%s%s' % (x, y) for x in ['anoint', 'casscf', 'cis', 'cleanup', 'cpscf', -- GitLab From 85f72adb9620c063da36e6874d1a53fc882be7d3 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Thu, 18 Feb 2016 13:43:01 +1300 Subject: [PATCH 0130/1089] New EasyConfig for PyZMQ --- ...MQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb new file mode 100644 index 0000000000..308e3beea4 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '15.1.0' + +homepage = 'http://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pythonversion = '2.7.11' +pyshortver = '.'.join(pythonversion.split('.')[:2]) +zmqversion = '4.1.4' + +versionsuffix = '-%s-%s-%s' % (python, pythonversion, 'zmq%s' % zmqversion.split('.')[0]) + +dependencies = [ + (python, pythonversion), + ('ZeroMQ', zmqversion), +] + +options = {'modulename': 'zmq'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/zmq' % pyshortver], +} + +moduleclass = 'devel' -- GitLab From ea8e1ef7e004f4120de794c0f87f987e40e9c0a6 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Thu, 18 Feb 2016 14:19:16 +1300 Subject: [PATCH 0131/1089] New EasyConfig for ZeroMQ 4.1.4 with the foss-2015a toolchain --- .../z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb new file mode 100644 index 0000000000..1de09786b7 --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.1.4' + +homepage = 'http://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +source_urls = ['http://download.zeromq.org/'] +sources = [SOURCELOWER_TAR_GZ] + +# --with-pgm will use shipped OpenPGM (in foreign subdir) +configopts = '--with-pic --with-system-pgm ' +configopts += 'OpenPGM_CFLAGS="-I$EBROOTOPENPGM/include/pgm-${EBVERSIONOPENPGM%.*}" ' +configopts += 'OpenPGM_LIBS="-L$EBROOTOPENPGM/lib -lpgm -lrt -lpthread -lm" ' + +dependencies = [ + ('OpenPGM', '5.2.122'), + ('util-linux', '2.27.1'), + ('libsodium', '1.0.6'), +] + +sanity_check_paths = { + 'files': ['lib/libzmq.so', 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' -- GitLab From ccb9f32e4fcb8fa19af29e2725033f15d92932b2 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Thu, 18 Feb 2016 14:21:50 +1300 Subject: [PATCH 0132/1089] Use PyZMQ 15.2.0 instead of PyZMQ 15.1.0 --- ...11-zmq4.eb => PyZMQ-15.2.0-foss-2015a-Python-2.7.11-zmq4.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/p/PyZMQ/{PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb => PyZMQ-15.2.0-foss-2015a-Python-2.7.11-zmq4.eb} (97%) diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-foss-2015a-Python-2.7.11-zmq4.eb similarity index 97% rename from easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb rename to easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-foss-2015a-Python-2.7.11-zmq4.eb index 308e3beea4..b6f32ee0fc 100644 --- a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.1.0-foss-2015a-Python-2.7.11-zmq4.eb +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-foss-2015a-Python-2.7.11-zmq4.eb @@ -1,7 +1,7 @@ easyblock = 'PythonPackage' name = 'PyZMQ' -version = '15.1.0' +version = '15.2.0' homepage = 'http://www.zeromq.org/bindings:python' description = """Python bindings for ZeroMQ""" -- GitLab From 46c819dc7ea43d0794393a487264a925d22da65f Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Thu, 18 Feb 2016 14:26:29 +1300 Subject: [PATCH 0133/1089] New EasyConfig for IPython 3.2.3 with Python 2.7.11 and the foss-2015a toolchain --- .../IPython-3.2.3-foss-2015a-Python-2.7.11.eb | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb new file mode 100644 index 0000000000..6a2901ff52 --- /dev/null +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb @@ -0,0 +1,90 @@ +easyblock = 'Bundle' + +name = 'IPython' +version = '3.2.3' + +homepage = 'http://ipython.org/index.html' +description = """IPython provides a rich architecture for interactive computing with: + Powerful interactive shells (terminal and Qt-based). + A browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media. + Support for interactive data visualization and use of GUI toolkits. + Flexible, embeddable interpreters to load into your own projects. + Easy to use, high performance tools for parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +python = 'Python' +pyver = '2.7.11' +pyshortver = '.'.join(pyver.split('.')[:2]) +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('PyZMQ', '15.2.0', '%s-zmq4' % versionsuffix), +] + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' +exts_filter = ("python -c 'import %(ext_name)s'", '') + +exts_list = [ + ('pysqlite', '2.8.1', { + 'modulename': 'pysqlite2', + 'source_urls': ['https://pypi.python.org/packages/source/p/pysqlite/'], + }), + ('requests', '2.9.1', { + 'source_urls': ['https://pypi.python.org/packages/source/r/requests/'], + }), + ('Pygments', '2.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/P/Pygments/'], + }), + ('singledispatch', '3.4.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/s/singledispatch/'], + }), + ('backports.ssl_match_hostname', '3.5.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/'], + }), + ('certifi', '2015.11.20.1', { + 'source_urls': ['https://pypi.python.org/packages/source/c/certifi/'], + }), + ('backports_abc', '0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/b/backports_abc/'], + }), + ('tornado', '4.3', { + 'source_urls': ['https://pypi.python.org/packages/source/t/tornado/'], + }), + ('Jinja2', '2.8', { + 'source_urls': ['https://pypi.python.org/packages/source/J/Jinja2/'], + }), + ('jsonschema', '2.5.1', { + 'source_urls': ['https://pypi.python.org/packages/source/j/jsonschema/'], + }), + ('mistune', '0.7.1', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mistune/'], + }), + ('ptyprocess', '0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/p/ptyprocess/'], + }), + ('terminado', '0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/t/terminado/'], + }), + ('ipython', version, { + 'source_urls': ['https://pypi.python.org/packages/source/i/ipython/'], + 'modulename': 'IPython', + }), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%s/site-packages' % pyshortver]} + +sanity_check_paths = { + 'files': ['bin/ipython'], + 'dirs': ['lib/python%s/site-packages/IPython' % pyshortver], +} + +sanity_check_commands = [ + ('ipython -h', ''), + ('ipython notebook --help', ''), + ('iptest', ''), +] + +moduleclass = 'tools' -- GitLab From 52ad0d5711da3c786090c4359296dae3961a2701 Mon Sep 17 00:00:00 2001 From: Ewan Higgs Date: Thu, 18 Feb 2016 15:11:18 +0100 Subject: [PATCH 0134/1089] Add support for GATE-7.0 for intel-2016a --- .../Autotools-20150119-intel-2016a.eb | 17 +++ .../b/Bison/Bison-3.0.2-intel-2016a.eb | 22 ++++ .../c/CFITSIO/CFITSIO-3.37-intel-2016a.eb | 22 ++++ .../c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb | 24 ++++ .../c/CMake/CMake-3.1.3-intel-2016a.eb | 22 ++++ .../c/CMake/CMake-3.2.3-intel-2016a.eb | 31 +++++ .../e/eudev/eudev-3.0-intel-2016a.eb | 33 +++++ .../fixesproto/fixesproto-5.0-intel-2016a.eb | 19 +++ .../fontconfig-2.11.93-intel-2016a.eb | 22 ++++ .../fontsproto-2.1.3-intel-2016a.eb | 20 +++ .../f/freetype/freetype-2.5.5-intel-2016a.eb | 21 ++++ .../g/GATE/GATE-7.0-intel-2016a.eb | 29 +++++ .../easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb | 18 +++ .../g/Geant4/Geant4-9.6.p04-intel-2016a.eb | 24 ++++ .../g/gettext/gettext-0.19.4-intel-2016a.eb | 18 +++ .../g/glproto/glproto-1.4.17-intel-2016a.eb | 20 +++ .../g/gperf/gperf-3.0.4-intel-2016a.eb | 22 ++++ .../inputproto-2.3.1-intel-2016a.eb | 19 +++ .../k/kbproto/kbproto-1.0.6-intel-2016a.eb | 19 +++ .../k/kbproto/kbproto-1.0.7-intel-2016a.eb | 19 +++ .../LLVM-3.6.2-intel-2016a-Python-2.7.9.eb | 38 ++++++ .../libX11-1.6.3-intel-2016a-Python-2.7.9.eb | 37 ++++++ .../l/libXau/libXau-1.0.8-intel-2016a.eb | 25 ++++ .../libXdamage-1.1.4-intel-2016a.eb | 26 ++++ .../l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb | 25 ++++ .../l/libXext/libXext-1.3.3-intel-2016a.eb | 34 +++++ .../libXfixes/libXfixes-5.0.1-intel-2016a.eb | 24 ++++ .../l/libXfont/libXfont-1.5.1-intel-2016a.eb | 29 +++++ .../libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 34 +++++ .../l/libXpm/libXpm-3.5.11-intel-2016a.eb | 22 ++++ .../libXrender-0.9.9-intel-2016a.eb | 28 +++++ .../l/libdrm/libdrm-2.4.59-intel-2016a.eb | 25 ++++ .../libfontenc-1.1.3-intel-2016a.eb | 23 ++++ .../libpciaccess-0.13.1-intel-2016a.eb | 26 ++++ .../l/libpng/libpng-1.6.16-intel-2016a.eb | 19 +++ .../libpthread-stubs-0.3-intel-2016a.eb | 20 +++ .../l/libtool/libtool-2.4.5-intel-2016a.eb | 17 +++ .../libxcb-1.11-intel-2016a-Python-2.7.9.eb | 34 +++++ .../libxml2-2.9.2-intel-2016a-Python-2.7.9.eb | 28 +++++ .../Mesa-10.4.5-intel-2016a-Python-2.7.9.eb | 75 +++++++++++ .../makedepend-1.0.5-intel-2016a.eb | 20 +++ .../n/ncurses/ncurses-5.9-intel-2016a.eb | 36 ++++++ .../p/PCRE/PCRE-8.36-intel-2016a.eb | 18 +++ .../p/Python/Python-2.7.9-intel-2016a.eb | 117 ++++++++++++++++++ .../pkg-config/pkg-config-0.28-intel-2016a.eb | 27 ++++ .../r/ROOT/ROOT-v5.34.26-intel-2016a.eb | 57 +++++++++ .../renderproto-0.11-intel-2016a.eb | 20 +++ .../s/SQLite/SQLite-3.8.8.1-intel-2016a.eb | 38 ++++++ .../t/Tcl/Tcl-8.6.3-intel-2016a.eb | 25 ++++ .../t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb | 24 ++++ ...xcb-proto-1.11-intel-2016a-Python-2.7.9.eb | 27 ++++ .../xextproto/xextproto-7.3.0-intel-2016a.eb | 25 ++++ .../xorg-macros-1.17-intel-2016a.eb | 22 ++++ .../x/xproto/xproto-7.0.27-intel-2016a.eb | 24 ++++ .../x/xtrans/xtrans-1.3.5-intel-2016a.eb | 24 ++++ 55 files changed, 1534 insertions(+) create mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2016a.eb create mode 100644 easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb create mode 100644 easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb create mode 100644 easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb create mode 100644 easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb create mode 100644 easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb create mode 100644 easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2016a.eb create mode 100644 easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb create mode 100644 easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb new file mode 100644 index 0000000000..8d512386b5 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb @@ -0,0 +1,17 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20150119' # date of the most recent change + +homepage = 'http://autotools.io' +description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +dependencies = [ + ('Autoconf', '2.69'), # 20120424 + ('Automake', '1.15'), # 20150105 + ('libtool', '2.4.5'), # 20150119 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb new file mode 100644 index 0000000000..4fdbf98d8f --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.2' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2016a.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2016a.eb new file mode 100644 index 0000000000..7af022d137 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '3.37' + +homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/' +description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in +FITS (Flexible Image Transport System) data format.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +srcversion = '%s0' % version.replace('.', '') +source_urls = ['ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/'] +sources = ['%%(namelower)s%s.tar.gz' % srcversion] + +sanity_check_paths = { + 'files': ["lib/libcfitsio.a"], + 'dirs': ["include"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb new file mode 100644 index 0000000000..42f08bd8d9 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.1.3.1' + +homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TGZ] +source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] + +builddependencies = [('CMake', '3.1.3')] + +separate_build_dir = True + +configopts = '-DCMAKE_BUILD_TYPE=Release' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb new file mode 100644 index 0000000000..45251dfaf6 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.1.3' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb new file mode 100644 index 0000000000..34313f0a0f --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.2.3' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '5.9'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1k'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb b/easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb new file mode 100644 index 0000000000..246e9d0730 --- /dev/null +++ b/easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'eudev' +version = '3.0' + +homepage = 'https://wiki.gentoo.org/wiki/Project:Eudev' +description = """eudev is a fork of systemd-udev with the goal of obtaining + better compatibility with existing software such as + OpenRC and Upstart, older kernels, various toolchains + and anything else required by users and various distributions.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'cstd': 'c99'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://dev.gentoo.org/~blueness/%(name)s/'] +patches = ['%(name)s-%(version)s_pre-2.6.34_kernel.patch'] + +builddependencies = [ + ('gperf', '3.0.4'), +] + +osdependencies = [('kernel-headers', 'linux-libc-dev')] + +configopts = '--disable-blkid --disable-selinux --disable-gudev --disable-manpages ' +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/udevadm', 'include/libudev.h', 'include/udev.h', 'lib/libudev.so.1'], + 'dirs': [], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb new file mode 100644 index 0000000000..33951308af --- /dev/null +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'fixesproto' +version = '5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org FixesProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb new file mode 100644 index 0000000000..f906761e9b --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = "fontconfig" +version = '2.11.93' + +homepage = 'http://www.freedesktop.org/software/fontconfig' +description = """Fontconfig is a library designed to provide system-wide font configuration, customization and +application access.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('expat', '2.1.0'), + ('freetype', '2.5.5'), +] + +configopts = '--disable-docs ' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb new file mode 100644 index 0000000000..5b1c1517ba --- /dev/null +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'fontsproto' +version = '2.1.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X11 font extension wire protocol" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb b/easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb new file mode 100644 index 0000000000..35f4da2da2 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb @@ -0,0 +1,21 @@ +name = 'freetype' +version = '2.5.5' + +homepage = 'http://freetype.org' +description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and + portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display + servers, font conversion tools, text image generation tools, and many other products as well.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('libpng', '1.6.16')] + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb b/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb new file mode 100644 index 0000000000..a0a092ac93 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb @@ -0,0 +1,29 @@ +name = 'GATE' +version = '7.0' + +homepage = 'http://www.opengatecollaboration.org/' +description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and + dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [('%(namelower)s_v%(version)s.tar_.gz', "tar xfvz %s")] +source_urls = ['http://www.opengatecollaboration.org/sites/opengatecollaboration.org/files/'] + +patches = [ + 'GATE-%(version)s_Makefile-prefix.patch', + 'GATE-%(version)s_unistdh.patch', +] + +builddependencies = [ + ('CMake', '3.1.3'), +] + +dependencies = [ + ('Geant4', '9.6.p04'), + ('CLHEP', '2.1.3.1'), + ('ROOT', 'v5.34.26'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb new file mode 100644 index 0000000000..75f289b550 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '1.16' + +homepage = 'http://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb new file mode 100644 index 0000000000..0496cd5322 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb @@ -0,0 +1,24 @@ +name = 'Geant4' +version = '9.6.p04' + +homepage = 'http://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://geant4.cern.ch/support/source'] +sources = ['%(namelower)s.%(version)s.tar.gz'] + +dependencies = [ + ('expat', '2.1.0'), + ('CLHEP', '2.1.3.1'), +] + +builddependencies = [('CMake', '3.1.3')] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += "-DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb new file mode 100644 index 0000000000..069f899a71 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.4' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = '--without-emacs' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb new file mode 100644 index 0000000000..c26a1ac08a --- /dev/null +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'glproto' +version = '1.4.17' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb new file mode 100644 index 0000000000..5938576aa7 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/gperf/' +description = """GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash + function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash + function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single + string comparison only.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb new file mode 100644 index 0000000000..323816dd0b --- /dev/null +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'inputproto' +version = '2.3.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org InputProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb new file mode 100644 index 0000000000..3a33382528 --- /dev/null +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'kbproto' +version = '1.0.6' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org KBProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb new file mode 100644 index 0000000000..29d6a6987a --- /dev/null +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'kbproto' +version = '1.0.7' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org KBProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb new file mode 100644 index 0000000000..6139d93743 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'LLVM' +version = '3.6.2' +python = 'Python' +pyver = '2.7.9' +versionsuffix = '-%s-%s' % (python, pyver) + +homepage = "http://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] + +builddependencies = [ + ('CMake', '3.2.3'), + (python, pyver), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['bin/llvm-ar'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +separate_build_dir = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb new file mode 100644 index 0000000000..060a6e35d0 --- /dev/null +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libX11' +version = '1.6.3' +versionsuffix = '-Python-2.7.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xextproto', '7.3.0'), + ('xcb-proto', '1.11', versionsuffix), + ('inputproto', '2.3.1'), + ('xproto', '7.0.27'), + ('kbproto', '1.0.6'), +] + +dependencies = [ + ('libxcb', '1.11', versionsuffix), + ('xtrans', '1.3.5'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'cursorfont.h', 'ImUtil.h', 'Xcms.h', 'XKBlib.h', 'XlibConf.h', 'Xlib.h', 'Xlibint.h', 'Xlib-xcb.h', + 'Xlocale.h', 'Xregion.h', 'Xresource.h', 'Xutil.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb new file mode 100644 index 0000000000..5a623c350f --- /dev/null +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXau' +version = '1.0.8' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXau package contains a library implementing the X11 Authorization Protocol. +This is useful for restricting client access to the display.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +dependencies = [ + ('xproto', '7.0.27'), +] + +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb new file mode 100644 index 0000000000..420c8c2f42 --- /dev/null +++ b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libXdamage' +version = '1.1.4' +pyver = '-Python-2.7.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Damage extension library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +dependencies = [ + ('libX11', '1.6.3', pyver), + ('libxcb', '1.11', pyver), + ('libXau', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xdamage.h', 'lib/libXdamage.so', 'lib/libXdamage.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb new file mode 100644 index 0000000000..a7153188df --- /dev/null +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdmcp' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is +useful for allowing clients to interact with the X Display Manager. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.27'), +] +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['%(name)s.a', '%(name)s.so']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb new file mode 100644 index 0000000000..b08a10bd51 --- /dev/null +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libXext' +version = '1.3.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """Common X Extensions library""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.27'), + ('xextproto', '7.3.0'), +] + +dependencies = [ + ('libX11', '1.6.3', '-Python-2.7.9'), + ('libXdmcp', '1.1.2'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'dpms.h', 'extutil.h', 'MITMisc.h', 'multibuf.h', 'security.h', 'shape.h', 'sync.h', 'Xag.h', 'Xcup.h', + 'Xdbe.h', 'XEVI.h', 'Xext.h', 'Xge.h', 'XLbx.h', 'XShm.h', 'xtestext1.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb new file mode 100644 index 0000000000..50734ffc1f --- /dev/null +++ b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libXfixes' +version = '5.0.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Fixes extension library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +dependencies = [ + ('fixesproto', '5.0'), + ('xextproto', '7.3.0'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xfixes.h', 'lib/libXfixes.a', 'lib/libXfixes.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb new file mode 100644 index 0000000000..58e597f6b8 --- /dev/null +++ b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libXfont' +version = '1.5.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X font libary""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fontsproto', '2.1.3'), + ('xproto', '7.0.27'), + ('xtrans', '1.3.5'), + ('libfontenc', '1.1.3'), +] +dependencies = [ + ('libX11', '1.6.3', '-Python-2.7.9'), +] + +sanity_check_paths = { + 'files': ['lib/libXfont.so', 'lib/libXfont.a'], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..ab04e0520c --- /dev/null +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libXft' +version = '2.3.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.6'), + ('renderproto', '0.11'), +] + +libx11ver = '1.6.3' +versionsuffix = '-libX11-%s' % libx11ver + +dependencies = [ + ('libX11', libx11ver, '-Python-2.7.9'), + ('libXrender', '0.9.9'), + ('freetype', '2.5.5'), + ('fontconfig', '2.11.93'), +] + +sanity_check_paths = { + 'files': ['lib/libXft.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb new file mode 100644 index 0000000000..39b2ff6653 --- /dev/null +++ b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libXpm' +version = '3.5.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXp provides the X print library.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [('gettext', '0.19.4', '', ('GCC', '4.9.2'))] + +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['libXpm.a', 'libXpm.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb new file mode 100644 index 0000000000..06b460f5f2 --- /dev/null +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libXrender' +version = '0.9.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), +] + +dependencies = [ + ('libX11', '1.6.3', '-Python-2.7.9'), +] + +sanity_check_paths = { + 'files': ['lib/libXrender.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb new file mode 100644 index 0000000000..8d7f8591ba --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libdrm' +version = '2.4.59' + +homepage = 'http://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +source_urls = ['http://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +dependencies = [ + ('libpthread-stubs', '0.3'), + ('libpciaccess', '0.13.1'), +] + +sanity_check_paths = { + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, + 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], + 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb new file mode 100644 index 0000000000..d93ab58f1d --- /dev/null +++ b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfontenc' +version = '1.1.3' + +homepage = 'http://www.freedesktop.org/wiki/Software/xlibs/' +description = """X11 font encoding library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.27'), +] + +sanity_check_paths = { + 'files': ['include/X11/fonts/fontenc.h', 'lib/libfontenc.%s' % SHLIB_EXT, 'lib/libfontenc.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb new file mode 100644 index 0000000000..eeafddf420 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.13.1' + +homepage = 'http://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +source_urls = ['http://cgit.freedesktop.org/xorg/lib/libpciaccess/snapshot'] +sources = [SOURCE_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +builddependencies = [ + ('Autotools', '20150119', '', ('GCC', '4.9.2')), + ('xorg-macros', '1.17'), +] + +preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb new file mode 100644 index 0000000000..d9a7ed9527 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.16' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('zlib', '1.2.8')] + +configopts = "--with-pic" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb new file mode 100644 index 0000000000..afc1225690 --- /dev/null +++ b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libpthread-stubs' +version = '0.3' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +sanity_check_paths = { + 'files': ['lib/pkgconfig/pthread-stubs.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb new file mode 100644 index 0000000000..4219e58cfd --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb @@ -0,0 +1,17 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.5' + +homepage = 'http://www.gnu.org/software/libtool' +description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries + behind a consistent, portable interface.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [('M4', '1.4.17')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb new file mode 100644 index 0000000000..4279354d1f --- /dev/null +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libxcb' +version = '1.11' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pyver = '2.7.9' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('xcb-proto', '1.11', versionsuffix), + ('libXau', '1.0.8'), + ('libpthread-stubs', '0.3'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", + "-randr", "-record", "-render", "-res", "-screensaver", + "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", + "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'dirs': ['include/xcb', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb new file mode 100644 index 0000000000..e000b25261 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb @@ -0,0 +1,28 @@ +name = 'libxml2' +version = '2.9.2' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic' + +pythonver = '2.7.9' +pythonshortver = '.'.join(pythonver.split('.')[0:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb new file mode 100644 index 0000000000..712aaf2f8b --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb @@ -0,0 +1,75 @@ +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '10.4.5' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = ['%(name)sLib-%(version)s.tar.gz'] +source_urls = [ + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] + +patches = ['Mesa-%(version)s_sse4_1.patch'] + +pythonver = '2.7.9' +pythonshortver = '.'.join(pythonver.split('.')[0:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +builddependencies = [ + ('flex', '2.5.39'), + ('Bison', '3.0.2'), + ('Automake', '1.15'), + ('makedepend', '1.0.5'), + ('kbproto', '1.0.6'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.27'), + ('libtool', '2.4.5'), + ('pkg-config', '0.28'), + ('glproto', '1.4.17'), + ('M4', '1.4.17') +] + +dependencies = [ + ('Python', pythonver), + ('libxml2', '2.9.2', versionsuffix), + ('libdrm', '2.4.59'), + ('libX11', '1.6.3', versionsuffix), + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), + ('libXdamage', '1.1.4'), + ('libXfont', '1.5.1'), + ('LLVM', '3.6.2', versionsuffix), + ('eudev', '3.0'), +] + +# Use the os provided libudev or the EB provided eudev +#osdependencies = ['libudev'] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --disable-gallium-llvm --enable-glx --disable-dri --enable-xlib-glx" +configopts += " --disable-driglx-direct --with-gallium-drivers='' --disable-egl""" + +# package-config files for os dependencies are in an os specific place +#preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' + +prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', + 'include/GL/glx.h', 'include/GL/osmesa.h', + 'include/GL/wglext.h', 'include/GL/gl.h', + 'include/GL/glxext.h', 'include/GL/glx_mangle.h', + 'include/GL/wmesa.h'], + 'dirs': [] +} + +maxparallel = 1 + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb new file mode 100644 index 0000000000..1158bd68be --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.5' + +homepage = "http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html" +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb new file mode 100644 index 0000000000..f16049293d --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['ncurses-%(version)s_configure_darwin.patch'] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb new file mode 100644 index 0000000000..dabda6ed92 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE' +version = '8.36' + +homepage = 'http://www.pcre.org/' +description = """The PCRE library is a set of functions that implement regular expression pattern matching using + the same syntax and semantics as Perl 5.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic --disable-cpp" + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb new file mode 100644 index 0000000000..1d8106ab4e --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb @@ -0,0 +1,117 @@ +name = 'Python' +version = '2.7.9' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.9.1' +scipyversion = '0.14.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), + ('SQLite', '3.8.8.1'), + ('Tk', '8.6.3', '-no-X11'), + # ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's + # nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +# package versions updated Jan 19th 2015 +exts_list = [ + ('setuptools', '11.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '6.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': ['numpy-1.8.0-mkl.patch'], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('pbr', '0.10.8', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], + }), + ('lockfile', '0.10.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.21.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.0', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.0.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.11', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.15.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.13', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), + ('mock', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mock'], + }), + ('pytz', '2014.10', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pytz'], + }), + ('pandas', '0.16.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb new file mode 100644 index 0000000000..9a712cb3b4 --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.28' + +homepage = 'http://www.freedesktop.org/wiki/Software/pkg-config/' +description = """pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the + correct compiler options on the command line so an application can use + gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other libraries).""" + +# don't use PAX, it might break. +tar_config_opts = True + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://pkgconfig.freedesktop.org/releases/'] + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2016a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2016a.eb new file mode 100644 index 0000000000..face3c9641 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2016a.eb @@ -0,0 +1,57 @@ +name = 'ROOT' +version = 'v5.34.26' + +homepage = 'http://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = ['%(namelower)s_%(version)s.source.tar.gz'] +source_urls = ['ftp://root.cern.ch/root/'] +patches = [ + 'configure_FftwFromMkl_28.patch', + 'ROOT-v5_recent-ifort.patch', + 'ROOT-v5.34.26_libX.patch', +] + +python = 'Python' +pyver = '2.7.9' + +dependencies = [ + ('GSL', '1.16'), + ('Mesa', '10.4.5', '-%s-%s' % (python, pyver)), + ('libxml2', '2.9.2', '-%s-%s' % (python, pyver)), + ('PCRE', '8.36'), + ('CFITSIO', '3.37'), + ('freetype', '2.5.5'), + (python, pyver), + ('zlib', '1.2.8'), + ('libXft', '2.3.2', '-libX11-1.6.3'), + ('libXpm', '3.5.11'), + ('libXext', '1.3.3'), +] + +# use external ZLIB +preconfigopts = 'ZLIB=$EBROOTZLIB ' + +# architecture +arch = 'linuxx8664icc' + +# disable features +configopts = ' --disable-xrootd --disable-mysql --disable-krb5 --disable-odbc ' +configopts += ' --disable-oracle --disable-pgsql --disable-qt --disable-sqlite' +# enable features +configopts += ' --enable-unuran --enable-table --enable-explicitlink --enable-minuit2 --enable-roofit' +configopts += ' --with-gsl-incdir=$EBROOTGSL/include/gsl --with-gsl-libdir=$EBROOTGSL/lib' +configopts += ' --with-fftw3-incdir=$MKLROOT/mkl/include/fftw --with-fftw3-libdir=$MKLROOT/mkl/lib/intel64' +configopts += ' --with-xml-incdir=$EBROOTLIBXML2/include/libxml2/libxml --with-xml-libdir=$EBROOTLIBXML2/lib' +configopts += ' --with-python-libdir=$EBROOTPYTHON/lib' +configopts += ' --with-cfitsio-incdir=$EBROOTCFITSIO/include --with-cfitsio-libdir=$EBROOTCFITSIO/lib' +configopts += ' --with-opengl-incdir=$EBROOTMESA/include --with-opengl-libdir=$EBROOTMESA/lib' +configopts += ' --with-x11-libdir=$EBROOTLIBX11/lib --with-xext-libdir=$EBROOTLIBXEXT/lib' +configopts += ' --with-xft-libdir=$EBROOTLIBXFT/lib' +configopts += ' --with-xpm-incdir=$EBROOTLIBXPM/include --with-xpm-libdir=$EBROOTLIBXPM/lib' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb new file mode 100644 index 0000000000..37b516e535 --- /dev/null +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'renderproto' +version = '0.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrender protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb new file mode 100644 index 0000000000..4421de3277 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.8.8.1' + +homepage = 'http://www.sqlite.org/' +description = 'SQLite: SQL Database Engine in a C Library' + +toolchain = {'name': 'intel', 'version': '2016a'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2015/'] +version_str = '%(version_major)s' + ''.join('%02d' % int(x) for x in version.split('.')[1:]) +sources = ['sqlite-autoconf-%s.tar.gz' % version_str] + +dependencies = [ + ('libreadline', '6.3'), + ('Tcl', '8.6.3'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb new file mode 100644 index 0000000000..e368b2b5ef --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.3' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('zlib', '1.2.8'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb new file mode 100644 index 0000000000..c673514d37 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.3' +versionsuffix = '-no-X11' + +homepage = 'http://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building + a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('Tcl', version), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb new file mode 100644 index 0000000000..7cbfd9e916 --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-proto' +version = '1.11' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pyver = '2.7.9' +versionsuffix = '-%s-%s' % (python, pyver) +dependencies = [(python, pyver)] + +pyshortver = '.'.join(pyver.split('.')[0:2]) + +sanity_check_paths = { + 'files': ['lib/pkgconfig/xcb-proto.pc'], + 'dirs': ['lib/python%s/site-packages/xcbgen' % pyshortver] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb new file mode 100644 index 0000000000..dcc6160700 --- /dev/null +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'xextproto' +version = '7.3.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """XExtProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'agproto.h', 'cupproto.h', 'dbeproto.h', 'dpmsproto.h', 'EVIproto.h', 'geproto.h', 'lbxproto.h', + 'mitmiscproto.h', 'multibufproto.h', 'securproto.h', 'shapeproto.h', 'shm.h', 'shmstr.h', 'syncproto.h', + 'xtestconst.h', 'xtestext1proto.h' + ] + ], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb new file mode 100644 index 0000000000..f26da7ae49 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.17' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +dependencies = [('Autotools', '20150119', '', ('GCC', '4.9.2'))] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb new file mode 100644 index 0000000000..2f1b41c474 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.27' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', + 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', + 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', + 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb new file mode 100644 index 0000000000..8366af681c --- /dev/null +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xtrans' +version = '1.3.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """xtrans includes a number of routines to make X implementations transport-independent; + at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', + 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', + 'Xtranstli.c', 'Xtransutil.c']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From bbe3efb4a29bb9a1b15636cff2b4cbc516792d96 Mon Sep 17 00:00:00 2001 From: Ewan Higgs Date: Thu, 18 Feb 2016 15:25:27 +0100 Subject: [PATCH 0135/1089] Add GATE-6.2 support for intel-2016a. --- .../c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb | 20 +++++ .../c/CMake/CMake-2.8.4-intel-2016a.eb | 22 +++++ .../g/GATE/GATE-6.2-intel-2016a.eb | 26 ++++++ .../easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb | 18 ++++ .../g/Geant4/Geant4-9.5.p01-intel-2016a.eb | 24 +++++ .../libreadline-6.2-intel-2016a.eb | 30 +++++++ .../libxml2-2.8.0-intel-2016a-Python-2.7.3.eb | 33 +++++++ .../p/Python/Python-2.7.3-intel-2016a.eb | 89 +++++++++++++++++++ .../r/ROOT/ROOT-v5.34.01-intel-2016a.eb | 39 ++++++++ 9 files changed, 301 insertions(+) create mode 100644 easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb new file mode 100644 index 0000000000..ceed3e9cd3 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'CLHEP' +version = '2.1.1.0' + +homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TGZ] +source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] + +# CLHEP compiles with icc instead of icpc +configopts = 'CXX="$CC" CXXFLAGS="$CXXFLAGS -gcc"' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb new file mode 100644 index 0000000000..62574e2454 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '2.8.4' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb new file mode 100644 index 0000000000..502c8f56f7 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb @@ -0,0 +1,26 @@ +name = 'GATE' +version = '6.2' + +homepage = 'http://www.opengatecollaboration.org/' +description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and + dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [('%%(namelower)s_v%s_tar_gz_15843.gz' % '_'.join(version.split('.')), "tar xfvz %s")] +source_urls = ['http://www.opengatecollaboration.org/sites/opengatecollaboration.org/files/gate_release/2012/08/'] + +patches = [ + 'GATE-%(version)s_Makefile-prefix.patch', + 'GATE-%(version)s_GCC-4.7.patch', +] + +dependencies = [ + ('Geant4', '9.5.p01'), + ('CLHEP', '2.1.1.0'), + ('ROOT', 'v5.34.01'), +] +builddependencies = [('CMake', '2.8.4')] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb new file mode 100644 index 0000000000..714d2f9de8 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '1.15' + +homepage = 'http://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb new file mode 100644 index 0000000000..5b065cc9f0 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb @@ -0,0 +1,24 @@ +name = 'Geant4' +version = '9.5.p01' + +homepage = 'http://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://geant4.cern.ch/support/source'] +sources = ['%(namelower)s.%(version)s.tar.gz'] + +dependencies = [ + ('expat', '2.1.0'), + ('CLHEP', '2.1.1.0'), +] + +builddependencies = [('CMake', '2.8.4')] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += "-DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb new file mode 100644 index 0000000000..3d2c4263e5 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.2' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb new file mode 100644 index 0000000000..d4cc4b5eb1 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb @@ -0,0 +1,33 @@ +name = 'libxml2' +version = '2.8.0' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic' + +pythonver = '2.7.3' +pythonshortver = '.'.join(pythonver.split('.')[0:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb new file mode 100644 index 0000000000..96ff3e825b --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb @@ -0,0 +1,89 @@ +name = 'Python' +version = '2.7.3' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.6.1' +scipyversion = '0.10.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.2'), + ('ncurses', '5.9'), + # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +exts_list = [ + ('setuptools', '0.6c11', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '1.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.1.2', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': ['numpy-%s_distutils_multiple-lib-dirs.patch' % numpyversion], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('mpi4py', '1.3', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('lockfile', '0.9.1', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.17.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.1.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.1', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '0.9.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '1.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.8', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.12.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb new file mode 100644 index 0000000000..a76d8e6f3c --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb @@ -0,0 +1,39 @@ +name = 'ROOT' +version = 'v5.34.01' + +homepage = 'http://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = ['%s_%s.source.tar.gz' % (name.lower(), version)] +source_urls = ['ftp://root.cern.ch/root/'] +patches = [ + 'configure_FftwFromMkl_28.patch', + 'ROOT-%(version)s_recent-ifort.patch', +] + +python = 'Python' +pyver = '2.7.3' + +dependencies = [ + ('GSL', '1.15'), + ('libxml2', '2.8.0', '-%s-%s' % (python, pyver)), + (python, pyver), +] + +# architecture +arch = 'linuxx8664icc' + +# disable features +configopts = ' --disable-xft --disable-x11 --disable-xrootd --disable-mysql' +# enable features +configopts += ' --enable-unuran --enable-table --enable-explicitlink --enable-minuit2 --enable-roofit' +configopts += ' --with-gsl-incdir=$EBROOTGSL/include/gsl --with-gsl-libdir=$EBROOTGSL/lib' +configopts += ' --with-fftw3-incdir=$EBROOTIMKL/mkl/include/fftw --with-fftw3-libdir=$EBROOTIMKL/mkl/lib/intel64' +configopts += ' --with-xml-incdir=$EBROOTLIBXML2/include/libxml2/libxml --with-xml-libdir=$EBROOTLIBXML2/lib' +configopts += ' --with-python-libdir=$EBROOTPYTHON/lib' + +moduleclass = 'data' -- GitLab From 8e83769f3ce54088a63c872a8ca6f89bfbabb260 Mon Sep 17 00:00:00 2001 From: Ewan Higgs Date: Thu, 18 Feb 2016 15:40:28 +0100 Subject: [PATCH 0136/1089] Fix up xcb-proto mis-import. --- .../xcb-proto-1.11-intel-2016a-Python-2.7.9.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/x/xcb-proto/{xcb-proto-1.11-intel-2016a-Python-2.7.9.eb => }/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb (100%) diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb similarity index 100% rename from easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb rename to easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb -- GitLab From 0496a6bd9d329ae1748ca82b211a7a63380dd151 Mon Sep 17 00:00:00 2001 From: iotaka Date: Thu, 18 Feb 2016 17:10:39 +0200 Subject: [PATCH 0137/1089] add easyconfig Boost-1.59.0-intel-2015b.eb --- .../b/Boost/Boost-1.59.0-intel-2015b.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb new file mode 100644 index 0000000000..7461992321 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb @@ -0,0 +1,21 @@ +name = 'Boost' +version = '1.59.0' + +homepage = 'http://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), +] + +# also build boost_mpi +boost_mpi = True + +moduleclass = 'devel' -- GitLab From 8ad5823fa146d339ad0d9bd4b5e6f4f3a1eeb7b0 Mon Sep 17 00:00:00 2001 From: iotaka Date: Thu, 18 Feb 2016 17:11:56 +0200 Subject: [PATCH 0138/1089] add easyconfig OpenFOAM-3.0.0-intel-2015b.eb --- .../o/OpenFOAM/OpenFOAM-3.0.0-intel-2015b.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-3.0.0-intel-2015b.eb diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-3.0.0-intel-2015b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-3.0.0-intel-2015b.eb new file mode 100644 index 0000000000..eb8704d554 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-3.0.0-intel-2015b.eb @@ -0,0 +1,40 @@ +name = 'OpenFOAM' +version = '3.0.0' + +homepage = 'http://www.openfoam.com/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'cstd': 'c++14'} + +source_urls = ['http://downloads.sourceforge.net/foam/%(version)s'] +sources = [ + SOURCE_TGZ, + 'ThirdParty-%(version)s.tgz', +] + +patches = [ + 'OpenFOAM-%(version)s_cleanup.patch', + 'OpenFOAM-%(version)s_libreadline.patch', + ('ThirdParty-%(version)s_cleanup.patch', ".."), # patch should not be applied in OpenFOAM subdir +] + +dependencies = [ + ('libreadline', '6.3'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0', '-32bitIDX'), + ('ncurses', '5.9'), + ('SCOTCH', '6.0.4'), + ('Boost', '1.59.0'), +] + +builddependencies = [ + ('Bison', '3.0.4'), + ('CMake', '3.3.2'), + ('flex', '2.5.39'), +] + +moduleclass = 'cae' -- GitLab From 491137525e581d1164af4658e1c8d6eeb9842643 Mon Sep 17 00:00:00 2001 From: John-Paul Robinson Date: Thu, 18 Feb 2016 12:36:08 -0600 Subject: [PATCH 0139/1089] Update BFAST to use goolf-1.7.20 This updates to using a newer GCC 4.8.4 via goolf-1.7.20 in order to avoid a build failure for GCC 4.7.2 in goolf-1.4.10. The build failes due to a texinfo parsing bug in GCC documentation files. This problem appears on systems like CentOS 7 due to stricter parsing in newer versions of texinfo (5+) supplied by the system environment. See the bug report for GCC 4.7.2 and patch description https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52903 --- .../b/BFAST/BFAST-0.7.0a-goolf-1.7.20.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/b/BFAST/BFAST-0.7.0a-goolf-1.7.20.eb diff --git a/easybuild/easyconfigs/b/BFAST/BFAST-0.7.0a-goolf-1.7.20.eb b/easybuild/easyconfigs/b/BFAST/BFAST-0.7.0a-goolf-1.7.20.eb new file mode 100644 index 0000000000..a5c3af2f9a --- /dev/null +++ b/easybuild/easyconfigs/b/BFAST/BFAST-0.7.0a-goolf-1.7.20.eb @@ -0,0 +1,40 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'BFAST' +version = '0.7.0a' + +homepage = 'http://bfast.sourceforge.net/' +description = """BFAST facilitates the fast and accurate mapping of short reads to reference sequences. + Some advantages of BFAST include: + 1) Speed: enables billions of short reads to be mapped quickly. + 2) Accuracy: A priori probabilities for mapping reads with defined set of variants. + 3) An easy way to measurably tune accuracy at the expense of speed.""" + +toolchain = {'name': 'goolf', 'version': '1.7.20'} + +import string +swdir = version.rstrip(string.lowercase + string.uppercase) +# eg. http://sourceforge.net/projects/bfast/files/bfast/0.7.0/bfast-0.7.0a.tar.gz/download +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://sourceforge.net/projects/bfast/files/bfast/%s/' % swdir, 'download'] + +dependencies = [('bzip2', '1.0.6')] + +sanity_check_paths = { + 'files': ["bin/bfast"], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From c0ea345ba8147c1884077157db1bcd921e71ea15 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 10:14:51 +1300 Subject: [PATCH 0140/1089] Corrected inappropriate version of libsodium dependency --- easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb index 1de09786b7..344b95ebc3 100644 --- a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2015a.eb @@ -24,7 +24,7 @@ configopts += 'OpenPGM_LIBS="-L$EBROOTOPENPGM/lib -lpgm -lrt -lpthread -lm" ' dependencies = [ ('OpenPGM', '5.2.122'), ('util-linux', '2.27.1'), - ('libsodium', '1.0.6'), + ('libsodium', '1.0.8'), ] sanity_check_paths = { -- GitLab From 96e9028c4aa356bde6671e7b1f30069137b5d124 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 10:21:08 +1300 Subject: [PATCH 0141/1089] Ensure that Doxygen depends on the same Bison as flex does --- easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb index 3b682b018a..95861d4eca 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb @@ -12,7 +12,7 @@ source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] builddependencies = [ ('flex', '2.6.0'), - ('Bison', '3.0.3'), + ('Bison', '3.0.4'), ] moduleclass = 'devel' -- GitLab From bd034850f4692606c7b408fba1f4ad56c6d9275e Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 11:01:09 +1300 Subject: [PATCH 0142/1089] Updated source URL for FreeXL downloads --- easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb | 2 +- easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb | 2 +- easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb index c7a2ae14f5..3db020fd06 100644 --- a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'usempi': False, 'pic': True} download_suffix = '' -source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +source_urls = ['http://www.gaia-gis.it/gaia-sins/freexl-sources/'] sources = [SOURCELOWER_TAR_GZ] builddependencies = [('CMake', '2.8.10.2')] diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb index 727ab2cbec..74e839a8b5 100644 --- a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'usempi': False, 'pic': True} download_suffix = '' -source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +source_urls = ['http://www.gaia-gis.it/gaia-sins/freexl-sources/'] sources = [SOURCELOWER_TAR_GZ] builddependencies = [('CMake', '3.2.2')] diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb index c84e5dcc81..c38933ad4f 100644 --- a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.2-foss-2015a.eb @@ -9,8 +9,7 @@ description = "FreeXL is an open source library to extract valid data from withi toolchain = {'name': 'foss', 'version': '2015a'} toolchainopts = {'usempi': False, 'pic': True} -download_suffix = '' -source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +source_urls = ['http://www.gaia-gis.it/gaia-sins/freexl-sources/'] sources = [SOURCELOWER_TAR_GZ] builddependencies = [('CMake', '3.4.1')] -- GitLab From 83406376b7edcd2ea11e6bb459faa6da2e9bcc84 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 11:02:16 +1300 Subject: [PATCH 0143/1089] Remove unnecessary download_suffix --- easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb | 1 - easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb | 1 - 2 files changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb index 3db020fd06..69c610cd3f 100644 --- a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.0g-goolf-1.5.14.eb @@ -9,7 +9,6 @@ description = "FreeXL is an open source library to extract valid data from withi toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'usempi': False, 'pic': True} -download_suffix = '' source_urls = ['http://www.gaia-gis.it/gaia-sins/freexl-sources/'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb index 74e839a8b5..0401395acc 100644 --- a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.1-intel-2015a.eb @@ -9,7 +9,6 @@ description = "FreeXL is an open source library to extract valid data from withi toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'usempi': False, 'pic': True} -download_suffix = '' source_urls = ['http://www.gaia-gis.it/gaia-sins/freexl-sources/'] sources = [SOURCELOWER_TAR_GZ] -- GitLab From 0907ea3fd1c6bbeaeb6064ba47eddb79851b6551 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 18 Feb 2016 23:12:00 +0100 Subject: [PATCH 0144/1089] {compiler}[dummp] GCC 5.3.0-2.26 --- .../b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb | 27 + .../b/binutils/binutils-2.26-GCCcore-5.3.0.eb | 41 + .../easyconfigs/b/binutils/binutils-2.26.eb | 39 + .../f/flex/flex-2.6.0-GCCcore-5.3.0.eb | 16 + easybuild/easyconfigs/f/flex/flex-2.6.0.eb | 16 + easybuild/easyconfigs/g/GCC/GCC-5.3.0-2.26.eb | 25 + .../easyconfigs/g/GCCcore/GCCcore-4.9.3.eb | 3 +- .../easyconfigs/g/GCCcore/GCCcore-5.3.0.eb | 54 + .../mpfr-3.1.3-allpatches-20151029.patch | 1830 +++++++++++++++++ .../m/M4/M4-1.4.17-GCCcore-5.3.0.eb | 26 + .../z/zlib/zlib-1.2.8-GCCcore-5.3.0.eb | 25 + 11 files changed, 2100 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.26.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.6.0.eb create mode 100644 easybuild/easyconfigs/g/GCC/GCC-5.3.0-2.26.eb create mode 100644 easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb create mode 100644 easybuild/easyconfigs/g/GCCcore/mpfr-3.1.3-allpatches-20151029.patch create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.3.0.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb new file mode 100644 index 0000000000..b7cebec049 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '5.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [ + ('M4', '1.4.17'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.26', '', True), +] + + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb new file mode 100644 index 0000000000..ca71c5f04e --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'binutils' +version = '2.26' + +homepage = 'http://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '5.3.0'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + # zlib required, but being linked instatically, so not a runtime dep + ('zlib', '1.2.8'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', True) +] + +# statically link with zlib, to avoid runtime dependency on zlib +preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' + +# make sure that system libraries are also considered by ld and ld.gold is also built +# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html +configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' + +binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', + 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in binlist] + + ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + + ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26.eb new file mode 100644 index 0000000000..5145e1becd --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'binutils' +version = '2.26' + +homepage = 'http://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'dummy', 'version': ''} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + # zlib required, but being linked instatically, so not a runtime dep + ('zlib', '1.2.8'), +] + +# statically link with zlib, to avoid runtime dependency on zlib +# further, add the system library path in the rpath: this should 'harden' the +# resulting binutils to bootstrap GCC (no trouble when other libstdc++ is build etc) +preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' +prebuildopts = preconfigopts + +# make sure that system libraries are also considered by ld and ld.gold is also built +# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html +configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins' + +binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', + 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a'] + + ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb new file mode 100644 index 0000000000..f20e1d0126 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb @@ -0,0 +1,16 @@ +name = 'flex' +version = '2.6.0' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'GCCcore', 'version': '5.3.0'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +dependencies = [('Bison', '3.0.4')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.0.eb new file mode 100644 index 0000000000..e7580df4ae --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.0.eb @@ -0,0 +1,16 @@ +name = 'flex' +version = '2.6.0' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'dummy', 'version': ''} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +dependencies = [('Bison', '3.0.4')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/GCC/GCC-5.3.0-2.26.eb b/easybuild/easyconfigs/g/GCC/GCC-5.3.0-2.26.eb new file mode 100644 index 0000000000..34bf1f36a8 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-5.3.0-2.26.eb @@ -0,0 +1,25 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '5.3.0' + +binutilsver = '2.26' +versionsuffix = '-%s' % binutilsver + +homepage = 'http://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = {'name': 'dummy', 'version': ''} + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of (dummy-built) binutils + ('binutils', binutilsver, '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb index 268b052687..40449db3d5 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb @@ -10,7 +10,6 @@ description = """The GNU Compiler Collection includes front ends for C, C++, Obj toolchain = {'name': 'dummy', 'version': ''} mpfr_version = '3.1.2' -gcc_name = 'GCC' source_urls = [ 'http://ftpmirror.gnu.org/gcc/gcc-%s' % version, # GCC auto-resolving HTTP mirror @@ -19,7 +18,7 @@ source_urls = [ 'http://www.multiprecision.org/mpc/download', # MPC official ] sources = [ - '%s-%s.tar.bz2' % (gcc_name.lower(), version), + 'gcc-%(version)s.tar.bz2', 'gmp-6.0.0a.tar.bz2', 'mpfr-%s.tar.gz' % mpfr_version, 'mpc-1.0.2.tar.gz', diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb new file mode 100644 index 0000000000..e7aac86863 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '5.3.0' + +homepage = 'http://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = {'name': 'dummy', 'version': ''} + +mpfr_version = '3.1.3' + +source_urls = [ + 'http://ftpmirror.gnu.org/%(namelower)s/%(namelower)s-%(version)s', # GCC auto-resolving HTTP mirror + 'http://ftpmirror.gnu.org/gmp', # idem for GMP + 'http://ftpmirror.gnu.org/mpfr', # idem for MPFR + 'http://www.multiprecision.org/mpc/download', # MPC official + 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies + 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies +] + +sources = [ + 'gcc-%(version)s.tar.bz2', + 'gmp-6.1.0.tar.bz2', + 'mpfr-%s.tar.gz' % mpfr_version, + 'mpc-1.0.3.tar.gz', + 'isl-0.15.tar.bz2', +] + +patches = [('mpfr-%s-allpatches-20151029.patch' % mpfr_version, '../mpfr-%s' % mpfr_version)] + +builddependencies = [ + ('binutils', '2.26'), + ('M4', '1.4.17'), +] + +checksums = [ + 'c9616fd448f980259c31de613e575719', # gcc-5.3.0.tar.bz2 + '86ee6e54ebfc4a90b643a65e402c4048', # gmp-6.1.0.tar.bz2 + '7b650781f0a7c4a62e9bc8bdaaa0018b', # mpfr-3.1.3.tar.gz + 'd6a1d5f8ddea3abd2cc3e98f58352d26', # mpc-1.0.3.tar.gz + '8428efbbc6f6e2810ce5c1ba73ecf98c', # isl-0.15.tar.bz2 + '6476b450c3db177b2250f3549362380e', # mpfr-3.1.3-allpatches-20151029.patch +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True + +# building GCC sometimes fails if make parallelism is too high, so let's limit it +maxparallel = 4 + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/mpfr-3.1.3-allpatches-20151029.patch b/easybuild/easyconfigs/g/GCCcore/mpfr-3.1.3-allpatches-20151029.patch new file mode 100644 index 0000000000..891831f521 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/mpfr-3.1.3-allpatches-20151029.patch @@ -0,0 +1,1830 @@ +diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES +--- mpfr-3.1.3-a/PATCHES 2015-07-02 10:49:23.950112879 +0000 ++++ mpfr-3.1.3-b/PATCHES 2015-07-02 10:49:24.042113845 +0000 +@@ -0,0 +1 @@ ++lngamma-and-doc +diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION +--- mpfr-3.1.3-a/VERSION 2015-06-19 19:55:09.000000000 +0000 ++++ mpfr-3.1.3-b/VERSION 2015-07-02 10:49:24.042113845 +0000 +@@ -1 +1 @@ +-3.1.3 ++3.1.3-p1 +diff -Naurd mpfr-3.1.3-a/doc/mpfr.texi mpfr-3.1.3-b/doc/mpfr.texi +--- mpfr-3.1.3-a/doc/mpfr.texi 2015-06-19 19:55:11.000000000 +0000 ++++ mpfr-3.1.3-b/doc/mpfr.texi 2015-07-02 10:49:24.018113593 +0000 +@@ -810,13 +810,17 @@ + When the input point is in the closure of the domain of the mathematical + function and an input argument is +0 (resp.@: @minus{}0), one considers + the limit when the corresponding argument approaches 0 from above +-(resp.@: below). If the limit is not defined (e.g., @code{mpfr_log} on +-@minus{}0), the behavior is specified in the description of the MPFR function. ++(resp.@: below), if possible. If the limit is not defined (e.g., ++@code{mpfr_sqrt} and @code{mpfr_log} on @minus{}0), the behavior is ++specified in the description of the MPFR function, but must be consistent ++with the rule from the above paragraph (e.g., @code{mpfr_log} on @pom{}0 ++gives @minus{}Inf). + + When the result is equal to 0, its sign is determined by considering the + limit as if the input point were not in the domain: If one approaches 0 + from above (resp.@: below), the result is +0 (resp.@: @minus{}0); +-for example, @code{mpfr_sin} on +0 gives +0. ++for example, @code{mpfr_sin} on @minus{}0 gives @minus{}0 and ++@code{mpfr_acos} on 1 gives +0 (in all rounding modes). + In the other cases, the sign is specified in the description of the MPFR + function; for example @code{mpfr_max} on @minus{}0 and +0 gives +0. + +@@ -832,8 +836,8 @@ + @c that advantages in practice), like for any bug fix. + Example: @code{mpfr_hypot} on (NaN,0) gives NaN, but @code{mpfr_hypot} + on (NaN,+Inf) gives +Inf (as specified in @ref{Special Functions}), +-since for any finite input @var{x}, @code{mpfr_hypot} on (@var{x},+Inf) +-gives +Inf. ++since for any finite or infinite input @var{x}, @code{mpfr_hypot} on ++(@var{x},+Inf) gives +Inf. + + @node Exceptions, Memory Handling, Floating-Point Values on Special Numbers, MPFR Basics + @comment node-name, next, previous, up +@@ -1581,7 +1585,8 @@ + @deftypefunx int mpfr_add_z (mpfr_t @var{rop}, mpfr_t @var{op1}, mpz_t @var{op2}, mpfr_rnd_t @var{rnd}) + @deftypefunx int mpfr_add_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd}) + Set @var{rop} to @math{@var{op1} + @var{op2}} rounded in the direction +-@var{rnd}. For types having no signed zero, it is considered unsigned ++@var{rnd}. The IEEE-754 rules are used, in particular for signed zeros. ++But for types having no signed zeros, 0 is considered unsigned + (i.e., (+0) + 0 = (+0) and (@minus{}0) + 0 = (@minus{}0)). + The @code{mpfr_add_d} function assumes that the radix of the @code{double} type + is a power of 2, with a precision at most that declared by the C implementation +@@ -1599,7 +1604,8 @@ + @deftypefunx int mpfr_sub_z (mpfr_t @var{rop}, mpfr_t @var{op1}, mpz_t @var{op2}, mpfr_rnd_t @var{rnd}) + @deftypefunx int mpfr_sub_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd}) + Set @var{rop} to @math{@var{op1} - @var{op2}} rounded in the direction +-@var{rnd}. For types having no signed zero, it is considered unsigned ++@var{rnd}. The IEEE-754 rules are used, in particular for signed zeros. ++But for types having no signed zeros, 0 is considered unsigned + (i.e., (+0) @minus{} 0 = (+0), (@minus{}0) @minus{} 0 = (@minus{}0), + 0 @minus{} (+0) = (@minus{}0) and 0 @minus{} (@minus{}0) = (+0)). + The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_d_sub} +@@ -1615,7 +1621,7 @@ + Set @var{rop} to @math{@var{op1} @GMPtimes{} @var{op2}} rounded in the + direction @var{rnd}. + When a result is zero, its sign is the product of the signs of the operands +-(for types having no signed zero, it is considered positive). ++(for types having no signed zeros, 0 is considered positive). + The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_mul_d}. + @end deftypefun + +@@ -1635,7 +1641,7 @@ + @deftypefunx int mpfr_div_q (mpfr_t @var{rop}, mpfr_t @var{op1}, mpq_t @var{op2}, mpfr_rnd_t @var{rnd}) + Set @var{rop} to @math{@var{op1}/@var{op2}} rounded in the direction @var{rnd}. + When a result is zero, its sign is the product of the signs of the operands +-(for types having no signed zero, it is considered positive). ++(for types having no signed zeros, 0 is considered positive). + The same restrictions than for @code{mpfr_add_d} apply to @code{mpfr_d_div} + and @code{mpfr_div_d}. + @end deftypefun +@@ -1643,15 +1649,18 @@ + @deftypefun int mpfr_sqrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) + @deftypefunx int mpfr_sqrt_ui (mpfr_t @var{rop}, unsigned long int @var{op}, mpfr_rnd_t @var{rnd}) + Set @var{rop} to @m{\sqrt{@var{op}}, the square root of @var{op}} +-rounded in the direction @var{rnd} (set @var{rop} to @minus{}0 if @var{op} is +-@minus{}0, to be consistent with the IEEE 754 standard). ++rounded in the direction @var{rnd}. Set @var{rop} to @minus{}0 if ++@var{op} is @minus{}0, to be consistent with the IEEE 754 standard. + Set @var{rop} to NaN if @var{op} is negative. + @end deftypefun + + @deftypefun int mpfr_rec_sqrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) + Set @var{rop} to @m{1/\sqrt{@var{op}}, the reciprocal square root of @var{op}} +-rounded in the direction @var{rnd}. Set @var{rop} to +Inf if @var{op} is +-@pom{}0, +0 if @var{op} is +Inf, and NaN if @var{op} is negative. ++rounded in the direction @var{rnd}. Set @var{rop} to +Inf if @var{op} is ++@pom{}0, +0 if @var{op} is +Inf, and NaN if @var{op} is negative. Warning! ++Therefore the result on @minus{}0 is different from the one of the rSqrt ++function recommended by the IEEE 754-2008 standard (Section 9.2.1), which ++is @minus{}Inf instead of +Inf. + @end deftypefun + + @deftypefun int mpfr_cbrt (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) +@@ -1832,7 +1841,9 @@ + @m{\log_2 @var{op}, log2(@var{op})} or + @m{\log_{10} @var{op}, log10(@var{op})}, respectively, + rounded in the direction @var{rnd}. +-Set @var{rop} to @minus{}Inf if @var{op} is @minus{}0 ++Set @var{rop} to +0 if @var{op} is 1 (in all rounding modes), ++for consistency with the ISO C99 and IEEE 754-2008 standards. ++Set @var{rop} to @minus{}Inf if @var{op} is @pom{}0 + (i.e., the sign of the zero has no influence on the result). + @end deftypefun + +@@ -2003,8 +2014,11 @@ + @deftypefun int mpfr_lngamma (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) + Set @var{rop} to the value of the logarithm of the Gamma function on @var{op}, + rounded in the direction @var{rnd}. +-When @math{@minus{}2@var{k}@minus{}1 @le{} @var{op} @le{} @minus{}2@var{k}}, +-@var{k} being a non-negative integer, @var{rop} is set to NaN. ++When @var{op} is 1 or 2, set @var{rop} to +0 (in all rounding modes). ++When @var{op} is an infinity or a nonpositive integer, set @var{rop} to +Inf, ++following the general rules on special values. ++When @math{@minus{}2@var{k}@minus{}1 < @var{op} < @minus{}2@var{k}}, ++@var{k} being a nonnegative integer, set @var{rop} to NaN@. + See also @code{mpfr_lgamma}. + @end deftypefun + +@@ -2012,10 +2026,11 @@ + Set @var{rop} to the value of the logarithm of the absolute value of the + Gamma function on @var{op}, rounded in the direction @var{rnd}. The sign + (1 or @minus{}1) of Gamma(@var{op}) is returned in the object pointed to +-by @var{signp}. When @var{op} is an infinity or a non-positive integer, set +-@var{rop} to +Inf. When @var{op} is NaN, @minus{}Inf or a negative integer, +-*@var{signp} is undefined, and when @var{op} is @pom{}0, *@var{signp} is +-the sign of the zero. ++by @var{signp}. ++When @var{op} is 1 or 2, set @var{rop} to +0 (in all rounding modes). ++When @var{op} is an infinity or a nonpositive integer, set @var{rop} to +Inf. ++When @var{op} is NaN, @minus{}Inf or a negative integer, *@var{signp} is ++undefined, and when @var{op} is @pom{}0, *@var{signp} is the sign of the zero. + @end deftypefun + + @deftypefun int mpfr_digamma (mpfr_t @var{rop}, mpfr_t @var{op}, mpfr_rnd_t @var{rnd}) +@@ -2064,7 +2079,10 @@ + @deftypefunx int mpfr_fms (mpfr_t @var{rop}, mpfr_t @var{op1}, mpfr_t @var{op2}, mpfr_t @var{op3}, mpfr_rnd_t @var{rnd}) + Set @var{rop} to @math{(@var{op1} @GMPtimes{} @var{op2}) + @var{op3}} + (resp.@: @math{(@var{op1} @GMPtimes{} @var{op2}) - @var{op3}}) +-rounded in the direction @var{rnd}. ++rounded in the direction @var{rnd}. Concerning special values (signed zeros, ++infinities, NaN), these functions behave like a multiplication followed by a ++separate addition or subtraction. That is, the fused operation matters only ++for rounding. + @end deftypefun + + @deftypefun int mpfr_agm (mpfr_t @var{rop}, mpfr_t @var{op1}, mpfr_t @var{op2}, mpfr_rnd_t @var{rnd}) +@@ -2089,8 +2107,8 @@ + i.e., $\sqrt{x^2+y^2}$, + @end tex + rounded in the direction @var{rnd}. +-Special values are handled as described in Section F.9.4.3 of +-the ISO C99 and IEEE 754-2008 standards: ++Special values are handled as described in the ISO C99 (Section F.9.4.3) ++and IEEE 754-2008 (Section 9.2.1) standards: + If @var{x} or @var{y} is an infinity, then +Inf is returned in @var{rop}, + even if the other number is NaN. + @end deftypefun +diff -Naurd mpfr-3.1.3-a/doc/mpfr.info mpfr-3.1.3-b/doc/mpfr.info +--- mpfr-3.1.3-a/doc/mpfr.info 2015-06-19 19:55:53.000000000 +0000 ++++ mpfr-3.1.3-b/doc/mpfr.info 2015-07-02 10:49:38.718267817 +0000 +@@ -1,4 +1,4 @@ +-This is mpfr.info, produced by makeinfo version 5.2 from mpfr.texi. ++This is mpfr.info, produced by makeinfo version 6.0 from mpfr.texi. + + This manual documents how to install and use the Multiple Precision + Floating-Point Reliable Library, version 3.1.3. +@@ -55,7 +55,7 @@ + MPFR Copying Conditions + *********************** + +-The GNU MPFR library (or MPFR for short) is "free"; this means that ++The GNU MPFR library (or MPFR for short) is “free”; this means that + everyone is free to use it and free to redistribute it on a free basis. + The library is not in the public domain; it is copyrighted and there are + restrictions on its distribution, but these restrictions are designed to +@@ -418,7 +418,7 @@ + 4.2 Nomenclature and Types + ========================== + +-A "floating-point number", or "float" for short, is an arbitrary ++A “floating-point number”, or “float” for short, is an arbitrary + precision significand (also called mantissa) with a limited precision + exponent. The C data type for such objects is ‘mpfr_t’ (internally + defined as a one-element array of a structure, and ‘mpfr_ptr’ is the C +@@ -432,7 +432,7 @@ + to the other functions supported by MPFR. Unless documented otherwise, + the sign bit of a NaN is unspecified. + +-The "precision" is the number of bits used to represent the significand ++The “precision” is the number of bits used to represent the significand + of a floating-point number; the corresponding C data type is + ‘mpfr_prec_t’. The precision can be any integer between ‘MPFR_PREC_MIN’ + and ‘MPFR_PREC_MAX’. In the current implementation, ‘MPFR_PREC_MIN’ is +@@ -446,7 +446,7 @@ + may abort, crash or have undefined behavior (depending on your C + implementation). + +-The "rounding mode" specifies the way to round the result of a ++The “rounding mode” specifies the way to round the result of a + floating-point operation, in case the exact result can not be + represented exactly in the destination significand; the corresponding C + data type is ‘mpfr_rnd_t’. +@@ -499,14 +499,14 @@ + representable numbers, it is rounded to the one with the least + significant bit set to zero. For example, the number 2.5, which is + represented by (10.1) in binary, is rounded to (10.0)=2 with a precision +-of two bits, and not to (11.0)=3. This rule avoids the "drift" ++of two bits, and not to (11.0)=3. This rule avoids the “drift” + phenomenon mentioned by Knuth in volume 2 of The Art of Computer + Programming (Section 4.2.2). + + Most MPFR functions take as first argument the destination variable, + as second and following arguments the input variables, as last argument + a rounding mode, and have a return value of type ‘int’, called the +-"ternary value". The value stored in the destination variable is ++“ternary value”. The value stored in the destination variable is + correctly rounded, i.e., MPFR behaves as if it computed the result with + an infinite precision, then rounded it to the precision of this + variable. The input variables are regarded as exact (in particular, +@@ -572,15 +572,18 @@ + When the input point is in the closure of the domain of the + mathematical function and an input argument is +0 (resp. −0), one + considers the limit when the corresponding argument approaches 0 from +-above (resp. below). If the limit is not defined (e.g., ‘mpfr_log’ on +-−0), the behavior is specified in the description of the MPFR function. ++above (resp. below), if possible. If the limit is not defined (e.g., ++‘mpfr_sqrt’ and ‘mpfr_log’ on −0), the behavior is specified in the ++description of the MPFR function, but must be consistent with the rule ++from the above paragraph (e.g., ‘mpfr_log’ on ±0 gives −Inf). + + When the result is equal to 0, its sign is determined by considering + the limit as if the input point were not in the domain: If one + approaches 0 from above (resp. below), the result is +0 (resp. −0); for +-example, ‘mpfr_sin’ on +0 gives +0. In the other cases, the sign is +-specified in the description of the MPFR function; for example +-‘mpfr_max’ on −0 and +0 gives +0. ++example, ‘mpfr_sin’ on −0 gives −0 and ‘mpfr_acos’ on 1 gives +0 (in all ++rounding modes). In the other cases, the sign is specified in the ++description of the MPFR function; for example ‘mpfr_max’ on −0 and +0 ++gives +0. + + When the input point is not in the closure of the domain of the + function, the result is NaN. Example: ‘mpfr_sqrt’ on −17 gives NaN. +@@ -590,8 +593,8 @@ + numbers; such a case is always explicitly specified in *note MPFR + Interface::. Example: ‘mpfr_hypot’ on (NaN,0) gives NaN, but + ‘mpfr_hypot’ on (NaN,+Inf) gives +Inf (as specified in *note Special +-Functions::), since for any finite input X, ‘mpfr_hypot’ on (X,+Inf) +-gives +Inf. ++Functions::), since for any finite or infinite input X, ‘mpfr_hypot’ on ++(X,+Inf) gives +Inf. + +  + File: mpfr.info, Node: Exceptions, Next: Memory Handling, Prev: Floating-Point Values on Special Numbers, Up: MPFR Basics +@@ -1253,8 +1256,9 @@ + mpfr_rnd_t RND) + -- Function: int mpfr_add_q (mpfr_t ROP, mpfr_t OP1, mpq_t OP2, + mpfr_rnd_t RND) +- Set ROP to OP1 + OP2 rounded in the direction RND. For types +- having no signed zero, it is considered unsigned (i.e., (+0) + 0 = ++ Set ROP to OP1 + OP2 rounded in the direction RND. The IEEE-754 ++ rules are used, in particular for signed zeros. But for types ++ having no signed zeros, 0 is considered unsigned (i.e., (+0) + 0 = + (+0) and (−0) + 0 = (−0)). The ‘mpfr_add_d’ function assumes that + the radix of the ‘double’ type is a power of 2, with a precision at + most that declared by the C implementation (macro +@@ -1280,8 +1284,9 @@ + mpfr_rnd_t RND) + -- Function: int mpfr_sub_q (mpfr_t ROP, mpfr_t OP1, mpq_t OP2, + mpfr_rnd_t RND) +- Set ROP to OP1 - OP2 rounded in the direction RND. For types +- having no signed zero, it is considered unsigned (i.e., (+0) − 0 = ++ Set ROP to OP1 - OP2 rounded in the direction RND. The IEEE-754 ++ rules are used, in particular for signed zeros. But for types ++ having no signed zeros, 0 is considered unsigned (i.e., (+0) − 0 = + (+0), (−0) − 0 = (−0), 0 − (+0) = (−0) and 0 − (−0) = (+0)). The + same restrictions than for ‘mpfr_add_d’ apply to ‘mpfr_d_sub’ and + ‘mpfr_sub_d’. +@@ -1300,7 +1305,7 @@ + mpfr_rnd_t RND) + Set ROP to OP1 times OP2 rounded in the direction RND. When a + result is zero, its sign is the product of the signs of the +- operands (for types having no signed zero, it is considered ++ operands (for types having no signed zeros, 0 is considered + positive). The same restrictions than for ‘mpfr_add_d’ apply to + ‘mpfr_mul_d’. + +@@ -1327,21 +1332,24 @@ + mpfr_rnd_t RND) + Set ROP to OP1/OP2 rounded in the direction RND. When a result is + zero, its sign is the product of the signs of the operands (for +- types having no signed zero, it is considered positive). The same ++ types having no signed zeros, 0 is considered positive). The same + restrictions than for ‘mpfr_add_d’ apply to ‘mpfr_d_div’ and + ‘mpfr_div_d’. + + -- Function: int mpfr_sqrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + -- Function: int mpfr_sqrt_ui (mpfr_t ROP, unsigned long int OP, + mpfr_rnd_t RND) +- Set ROP to the square root of OP rounded in the direction RND (set +- ROP to −0 if OP is −0, to be consistent with the IEEE 754 +- standard). Set ROP to NaN if OP is negative. ++ Set ROP to the square root of OP rounded in the direction RND. Set ++ ROP to −0 if OP is −0, to be consistent with the IEEE 754 standard. ++ Set ROP to NaN if OP is negative. + + -- Function: int mpfr_rec_sqrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + Set ROP to the reciprocal square root of OP rounded in the + direction RND. Set ROP to +Inf if OP is ±0, +0 if OP is +Inf, and +- NaN if OP is negative. ++ NaN if OP is negative. Warning! Therefore the result on −0 is ++ different from the one of the rSqrt function recommended by the ++ IEEE 754-2008 standard (Section 9.2.1), which is −Inf instead of ++ +Inf. + + -- Function: int mpfr_cbrt (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + -- Function: int mpfr_root (mpfr_t ROP, mpfr_t OP, unsigned long int K, +@@ -1515,8 +1523,10 @@ + -- Function: int mpfr_log2 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + -- Function: int mpfr_log10 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + Set ROP to the natural logarithm of OP, log2(OP) or log10(OP), +- respectively, rounded in the direction RND. Set ROP to −Inf if OP +- is −0 (i.e., the sign of the zero has no influence on the result). ++ respectively, rounded in the direction RND. Set ROP to +0 if OP is ++ 1 (in all rounding modes), for consistency with the ISO C99 and ++ IEEE 754-2008 standards. Set ROP to −Inf if OP is ±0 (i.e., the ++ sign of the zero has no influence on the result). + + -- Function: int mpfr_exp (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + -- Function: int mpfr_exp2 (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) +@@ -1649,17 +1659,21 @@ + + -- Function: int mpfr_lngamma (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + Set ROP to the value of the logarithm of the Gamma function on OP, +- rounded in the direction RND. When −2K−1 <= OP <= −2K, K being a +- non-negative integer, ROP is set to NaN. See also ‘mpfr_lgamma’. ++ rounded in the direction RND. When OP is 1 or 2, set ROP to +0 (in ++ all rounding modes). When OP is an infinity or a nonpositive ++ integer, set ROP to +Inf, following the general rules on special ++ values. When −2K−1 < OP < −2K, K being a nonnegative integer, set ++ ROP to NaN. See also ‘mpfr_lgamma’. + + -- Function: int mpfr_lgamma (mpfr_t ROP, int *SIGNP, mpfr_t OP, + mpfr_rnd_t RND) + Set ROP to the value of the logarithm of the absolute value of the + Gamma function on OP, rounded in the direction RND. The sign (1 or + −1) of Gamma(OP) is returned in the object pointed to by SIGNP. +- When OP is an infinity or a non-positive integer, set ROP to +Inf. +- When OP is NaN, −Inf or a negative integer, *SIGNP is undefined, +- and when OP is ±0, *SIGNP is the sign of the zero. ++ When OP is 1 or 2, set ROP to +0 (in all rounding modes). When OP ++ is an infinity or a nonpositive integer, set ROP to +Inf. When OP ++ is NaN, −Inf or a negative integer, *SIGNP is undefined, and when ++ OP is ±0, *SIGNP is the sign of the zero. + + -- Function: int mpfr_digamma (mpfr_t ROP, mpfr_t OP, mpfr_rnd_t RND) + Set ROP to the value of the Digamma (sometimes also called Psi) +@@ -1703,7 +1717,10 @@ + -- Function: int mpfr_fms (mpfr_t ROP, mpfr_t OP1, mpfr_t OP2, mpfr_t + OP3, mpfr_rnd_t RND) + Set ROP to (OP1 times OP2) + OP3 (resp. (OP1 times OP2) - OP3) +- rounded in the direction RND. ++ rounded in the direction RND. Concerning special values (signed ++ zeros, infinities, NaN), these functions behave like a ++ multiplication followed by a separate addition or subtraction. ++ That is, the fused operation matters only for rounding. + + -- Function: int mpfr_agm (mpfr_t ROP, mpfr_t OP1, mpfr_t OP2, + mpfr_rnd_t RND) +@@ -1717,9 +1734,10 @@ + RND) + Set ROP to the Euclidean norm of X and Y, i.e., the square root of + the sum of the squares of X and Y, rounded in the direction RND. +- Special values are handled as described in Section F.9.4.3 of the +- ISO C99 and IEEE 754-2008 standards: If X or Y is an infinity, then +- +Inf is returned in ROP, even if the other number is NaN. ++ Special values are handled as described in the ISO C99 (Section ++ F.9.4.3) and IEEE 754-2008 (Section 9.2.1) standards: If X or Y is ++ an infinity, then +Inf is returned in ROP, even if the other number ++ is NaN. + + -- Function: int mpfr_ai (mpfr_t ROP, mpfr_t X, mpfr_rnd_t RND) + Set ROP to the value of the Airy function Ai on X, rounded in the +@@ -2670,7 +2688,7 @@ + 5.16 Internals + ============== + +-A "limb" means the part of a multi-precision number that fits in a ++A “limb” means the part of a multi-precision number that fits in a + single word. Usually a limb contains 32 or 64 bits. The C data type + for a limb is ‘mp_limb_t’. + +@@ -3140,7 +3158,7 @@ + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other +- functional and useful document "free" in the sense of freedom: to ++ functional and useful document “free” in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the +@@ -3655,9 +3673,9 @@ + * Menu: + + * mpfr_abs: Basic Arithmetic Functions. +- (line 160) +-* mpfr_acos: Special Functions. (line 51) +-* mpfr_acosh: Special Functions. (line 115) ++ (line 165) ++* mpfr_acos: Special Functions. (line 53) ++* mpfr_acosh: Special Functions. (line 117) + * mpfr_add: Basic Arithmetic Functions. + (line 6) + * mpfr_add_d: Basic Arithmetic Functions. +@@ -3670,15 +3688,15 @@ + (line 8) + * mpfr_add_z: Basic Arithmetic Functions. + (line 14) +-* mpfr_agm: Special Functions. (line 210) +-* mpfr_ai: Special Functions. (line 226) +-* mpfr_asin: Special Functions. (line 52) +-* mpfr_asinh: Special Functions. (line 116) ++* mpfr_agm: Special Functions. (line 219) ++* mpfr_ai: Special Functions. (line 236) ++* mpfr_asin: Special Functions. (line 54) ++* mpfr_asinh: Special Functions. (line 118) + * mpfr_asprintf: Formatted Output Functions. + (line 193) +-* mpfr_atan: Special Functions. (line 53) +-* mpfr_atan2: Special Functions. (line 63) +-* mpfr_atanh: Special Functions. (line 117) ++* mpfr_atan: Special Functions. (line 55) ++* mpfr_atan2: Special Functions. (line 65) ++* mpfr_atanh: Special Functions. (line 119) + * mpfr_buildopt_decimal_p: Miscellaneous Functions. + (line 162) + * mpfr_buildopt_gmpinternals_p: Miscellaneous Functions. +@@ -3690,7 +3708,7 @@ + * mpfr_can_round: Rounding Related Functions. + (line 39) + * mpfr_cbrt: Basic Arithmetic Functions. +- (line 108) ++ (line 113) + * mpfr_ceil: Integer Related Functions. + (line 7) + * mpfr_check_range: Exception Related Functions. +@@ -3735,18 +3753,18 @@ + (line 27) + * mpfr_cmp_z: Comparison Functions. + (line 11) +-* mpfr_const_catalan: Special Functions. (line 237) +-* mpfr_const_euler: Special Functions. (line 236) +-* mpfr_const_log2: Special Functions. (line 234) +-* mpfr_const_pi: Special Functions. (line 235) ++* mpfr_const_catalan: Special Functions. (line 247) ++* mpfr_const_euler: Special Functions. (line 246) ++* mpfr_const_log2: Special Functions. (line 244) ++* mpfr_const_pi: Special Functions. (line 245) + * mpfr_copysign: Miscellaneous Functions. + (line 109) +-* mpfr_cos: Special Functions. (line 29) +-* mpfr_cosh: Special Functions. (line 95) +-* mpfr_cot: Special Functions. (line 47) +-* mpfr_coth: Special Functions. (line 111) +-* mpfr_csc: Special Functions. (line 46) +-* mpfr_csch: Special Functions. (line 110) ++* mpfr_cos: Special Functions. (line 31) ++* mpfr_cosh: Special Functions. (line 97) ++* mpfr_cot: Special Functions. (line 49) ++* mpfr_coth: Special Functions. (line 113) ++* mpfr_csc: Special Functions. (line 48) ++* mpfr_csch: Special Functions. (line 112) + * mpfr_custom_get_exp: Custom Interface. (line 75) + * mpfr_custom_get_kind: Custom Interface. (line 65) + * mpfr_custom_get_significand: Custom Interface. (line 70) +@@ -3756,47 +3774,47 @@ + * mpfr_custom_move: Custom Interface. (line 82) + * MPFR_DECL_INIT: Initialization Functions. + (line 74) +-* mpfr_digamma: Special Functions. (line 166) ++* mpfr_digamma: Special Functions. (line 172) + * mpfr_dim: Basic Arithmetic Functions. +- (line 166) ++ (line 171) + * mpfr_div: Basic Arithmetic Functions. +- (line 72) ++ (line 74) + * mpfr_divby0_p: Exception Related Functions. + (line 134) + * mpfr_div_2exp: Compatibility with MPF. + (line 49) + * mpfr_div_2si: Basic Arithmetic Functions. +- (line 181) ++ (line 186) + * mpfr_div_2ui: Basic Arithmetic Functions. +- (line 179) ++ (line 184) + * mpfr_div_d: Basic Arithmetic Functions. +- (line 84) ++ (line 86) + * mpfr_div_q: Basic Arithmetic Functions. +- (line 88) ++ (line 90) + * mpfr_div_si: Basic Arithmetic Functions. +- (line 80) ++ (line 82) + * mpfr_div_ui: Basic Arithmetic Functions. +- (line 76) ++ (line 78) + * mpfr_div_z: Basic Arithmetic Functions. +- (line 86) ++ (line 88) + * mpfr_d_div: Basic Arithmetic Functions. +- (line 82) ++ (line 84) + * mpfr_d_sub: Basic Arithmetic Functions. +- (line 35) +-* mpfr_eint: Special Functions. (line 133) ++ (line 36) ++* mpfr_eint: Special Functions. (line 135) + * mpfr_eq: Compatibility with MPF. + (line 28) + * mpfr_equal_p: Comparison Functions. + (line 59) + * mpfr_erangeflag_p: Exception Related Functions. + (line 137) +-* mpfr_erf: Special Functions. (line 177) +-* mpfr_erfc: Special Functions. (line 178) +-* mpfr_exp: Special Functions. (line 23) +-* mpfr_exp10: Special Functions. (line 25) +-* mpfr_exp2: Special Functions. (line 24) +-* mpfr_expm1: Special Functions. (line 129) +-* mpfr_fac_ui: Special Functions. (line 121) ++* mpfr_erf: Special Functions. (line 183) ++* mpfr_erfc: Special Functions. (line 184) ++* mpfr_exp: Special Functions. (line 25) ++* mpfr_exp10: Special Functions. (line 27) ++* mpfr_exp2: Special Functions. (line 26) ++* mpfr_expm1: Special Functions. (line 131) ++* mpfr_fac_ui: Special Functions. (line 123) + * mpfr_fits_intmax_p: Conversion Functions. + (line 150) + * mpfr_fits_sint_p: Conversion Functions. +@@ -3815,20 +3833,20 @@ + (line 147) + * mpfr_floor: Integer Related Functions. + (line 8) +-* mpfr_fma: Special Functions. (line 203) ++* mpfr_fma: Special Functions. (line 209) + * mpfr_fmod: Integer Related Functions. + (line 92) +-* mpfr_fms: Special Functions. (line 205) ++* mpfr_fms: Special Functions. (line 211) + * mpfr_fprintf: Formatted Output Functions. + (line 157) + * mpfr_frac: Integer Related Functions. + (line 76) +-* mpfr_free_cache: Special Functions. (line 244) ++* mpfr_free_cache: Special Functions. (line 254) + * mpfr_free_str: Conversion Functions. + (line 137) + * mpfr_frexp: Conversion Functions. + (line 45) +-* mpfr_gamma: Special Functions. (line 148) ++* mpfr_gamma: Special Functions. (line 150) + * mpfr_get_d: Conversion Functions. + (line 7) + * mpfr_get_decimal64: Conversion Functions. +@@ -3887,7 +3905,7 @@ + (line 56) + * mpfr_greater_p: Comparison Functions. + (line 55) +-* mpfr_hypot: Special Functions. (line 218) ++* mpfr_hypot: Special Functions. (line 227) + * mpfr_inexflag_p: Exception Related Functions. + (line 136) + * mpfr_inf_p: Comparison Functions. +@@ -3922,21 +3940,21 @@ + (line 31) + * mpfr_integer_p: Integer Related Functions. + (line 119) +-* mpfr_j0: Special Functions. (line 182) +-* mpfr_j1: Special Functions. (line 183) +-* mpfr_jn: Special Functions. (line 184) ++* mpfr_j0: Special Functions. (line 188) ++* mpfr_j1: Special Functions. (line 189) ++* mpfr_jn: Special Functions. (line 190) + * mpfr_lessequal_p: Comparison Functions. + (line 58) + * mpfr_lessgreater_p: Comparison Functions. + (line 64) + * mpfr_less_p: Comparison Functions. + (line 57) +-* mpfr_lgamma: Special Functions. (line 157) +-* mpfr_li2: Special Functions. (line 143) +-* mpfr_lngamma: Special Functions. (line 152) ++* mpfr_lgamma: Special Functions. (line 162) ++* mpfr_li2: Special Functions. (line 145) ++* mpfr_lngamma: Special Functions. (line 154) + * mpfr_log: Special Functions. (line 16) + * mpfr_log10: Special Functions. (line 18) +-* mpfr_log1p: Special Functions. (line 125) ++* mpfr_log1p: Special Functions. (line 127) + * mpfr_log2: Special Functions. (line 17) + * mpfr_max: Miscellaneous Functions. + (line 22) +@@ -3947,29 +3965,29 @@ + * mpfr_modf: Integer Related Functions. + (line 82) + * mpfr_mul: Basic Arithmetic Functions. +- (line 51) ++ (line 53) + * mpfr_mul_2exp: Compatibility with MPF. + (line 47) + * mpfr_mul_2si: Basic Arithmetic Functions. +- (line 174) ++ (line 179) + * mpfr_mul_2ui: Basic Arithmetic Functions. +- (line 172) ++ (line 177) + * mpfr_mul_d: Basic Arithmetic Functions. +- (line 57) ++ (line 59) + * mpfr_mul_q: Basic Arithmetic Functions. +- (line 61) ++ (line 63) + * mpfr_mul_si: Basic Arithmetic Functions. +- (line 55) ++ (line 57) + * mpfr_mul_ui: Basic Arithmetic Functions. +- (line 53) ++ (line 55) + * mpfr_mul_z: Basic Arithmetic Functions. +- (line 59) ++ (line 61) + * mpfr_nanflag_p: Exception Related Functions. + (line 135) + * mpfr_nan_p: Comparison Functions. + (line 39) + * mpfr_neg: Basic Arithmetic Functions. +- (line 159) ++ (line 164) + * mpfr_nextabove: Miscellaneous Functions. + (line 15) + * mpfr_nextbelow: Miscellaneous Functions. +@@ -3983,13 +4001,13 @@ + * mpfr_overflow_p: Exception Related Functions. + (line 133) + * mpfr_pow: Basic Arithmetic Functions. +- (line 116) ++ (line 121) + * mpfr_pow_si: Basic Arithmetic Functions. +- (line 120) ++ (line 125) + * mpfr_pow_ui: Basic Arithmetic Functions. +- (line 118) ++ (line 123) + * mpfr_pow_z: Basic Arithmetic Functions. +- (line 122) ++ (line 127) + * mpfr_prec_round: Rounding Related Functions. + (line 13) + * ‘mpfr_prec_t’: Nomenclature and Types. +@@ -3999,7 +4017,7 @@ + * mpfr_print_rnd_mode: Rounding Related Functions. + (line 71) + * mpfr_rec_sqrt: Basic Arithmetic Functions. +- (line 103) ++ (line 105) + * mpfr_regular_p: Comparison Functions. + (line 43) + * mpfr_reldiff: Compatibility with MPF. +@@ -4021,11 +4039,11 @@ + * ‘mpfr_rnd_t’: Nomenclature and Types. + (line 34) + * mpfr_root: Basic Arithmetic Functions. +- (line 109) ++ (line 114) + * mpfr_round: Integer Related Functions. + (line 9) +-* mpfr_sec: Special Functions. (line 45) +-* mpfr_sech: Special Functions. (line 109) ++* mpfr_sec: Special Functions. (line 47) ++* mpfr_sech: Special Functions. (line 111) + * mpfr_set: Assignment Functions. + (line 9) + * mpfr_setsign: Miscellaneous Functions. +@@ -4100,57 +4118,57 @@ + (line 49) + * mpfr_signbit: Miscellaneous Functions. + (line 99) +-* mpfr_sin: Special Functions. (line 30) +-* mpfr_sinh: Special Functions. (line 96) +-* mpfr_sinh_cosh: Special Functions. (line 101) +-* mpfr_sin_cos: Special Functions. (line 35) ++* mpfr_sin: Special Functions. (line 32) ++* mpfr_sinh: Special Functions. (line 98) ++* mpfr_sinh_cosh: Special Functions. (line 103) ++* mpfr_sin_cos: Special Functions. (line 37) + * mpfr_si_div: Basic Arithmetic Functions. +- (line 78) ++ (line 80) + * mpfr_si_sub: Basic Arithmetic Functions. +- (line 31) ++ (line 32) + * mpfr_snprintf: Formatted Output Functions. + (line 180) + * mpfr_sprintf: Formatted Output Functions. + (line 170) + * mpfr_sqr: Basic Arithmetic Functions. +- (line 69) ++ (line 71) + * mpfr_sqrt: Basic Arithmetic Functions. +- (line 96) ++ (line 98) + * mpfr_sqrt_ui: Basic Arithmetic Functions. +- (line 97) ++ (line 99) + * mpfr_strtofr: Assignment Functions. + (line 80) + * mpfr_sub: Basic Arithmetic Functions. +- (line 25) ++ (line 26) + * mpfr_subnormalize: Exception Related Functions. + (line 60) + * mpfr_sub_d: Basic Arithmetic Functions. +- (line 37) ++ (line 38) + * mpfr_sub_q: Basic Arithmetic Functions. +- (line 43) ++ (line 44) + * mpfr_sub_si: Basic Arithmetic Functions. +- (line 33) ++ (line 34) + * mpfr_sub_ui: Basic Arithmetic Functions. +- (line 29) ++ (line 30) + * mpfr_sub_z: Basic Arithmetic Functions. +- (line 41) +-* mpfr_sum: Special Functions. (line 252) ++ (line 42) ++* mpfr_sum: Special Functions. (line 262) + * mpfr_swap: Assignment Functions. + (line 150) + * ‘mpfr_t’: Nomenclature and Types. + (line 6) +-* mpfr_tan: Special Functions. (line 31) +-* mpfr_tanh: Special Functions. (line 97) ++* mpfr_tan: Special Functions. (line 33) ++* mpfr_tanh: Special Functions. (line 99) + * mpfr_trunc: Integer Related Functions. + (line 10) + * mpfr_ui_div: Basic Arithmetic Functions. +- (line 74) ++ (line 76) + * mpfr_ui_pow: Basic Arithmetic Functions. +- (line 126) ++ (line 131) + * mpfr_ui_pow_ui: Basic Arithmetic Functions. +- (line 124) ++ (line 129) + * mpfr_ui_sub: Basic Arithmetic Functions. +- (line 27) ++ (line 28) + * mpfr_underflow_p: Exception Related Functions. + (line 132) + * mpfr_unordered_p: Comparison Functions. +@@ -4181,61 +4199,61 @@ + (line 182) + * mpfr_vsprintf: Formatted Output Functions. + (line 171) +-* mpfr_y0: Special Functions. (line 193) +-* mpfr_y1: Special Functions. (line 194) +-* mpfr_yn: Special Functions. (line 195) ++* mpfr_y0: Special Functions. (line 199) ++* mpfr_y1: Special Functions. (line 200) ++* mpfr_yn: Special Functions. (line 201) + * mpfr_zero_p: Comparison Functions. + (line 42) +-* mpfr_zeta: Special Functions. (line 171) +-* mpfr_zeta_ui: Special Functions. (line 172) ++* mpfr_zeta: Special Functions. (line 177) ++* mpfr_zeta_ui: Special Functions. (line 178) + * mpfr_z_sub: Basic Arithmetic Functions. +- (line 39) ++ (line 40) + + +  + Tag Table: + Node: Top775 + Node: Copying2007 +-Node: Introduction to MPFR3766 +-Node: Installing MPFR5880 +-Node: Reporting Bugs11323 +-Node: MPFR Basics13353 +-Node: Headers and Libraries13669 +-Node: Nomenclature and Types16828 +-Node: MPFR Variable Conventions18874 +-Node: Rounding Modes20418 +-Ref: ternary value21544 +-Node: Floating-Point Values on Special Numbers23526 +-Node: Exceptions26572 +-Node: Memory Handling29749 +-Node: MPFR Interface30894 +-Node: Initialization Functions33008 +-Node: Assignment Functions40318 +-Node: Combined Initialization and Assignment Functions49673 +-Node: Conversion Functions50974 +-Node: Basic Arithmetic Functions60035 +-Node: Comparison Functions69200 +-Node: Special Functions72687 +-Node: Input and Output Functions86672 +-Node: Formatted Output Functions88644 +-Node: Integer Related Functions98431 +-Node: Rounding Related Functions105051 +-Node: Miscellaneous Functions108888 +-Node: Exception Related Functions117568 +-Node: Compatibility with MPF124386 +-Node: Custom Interface127127 +-Node: Internals131526 +-Node: API Compatibility133066 +-Node: Type and Macro Changes134995 +-Node: Added Functions137844 +-Node: Changed Functions141132 +-Node: Removed Functions145545 +-Node: Other Changes145973 +-Node: Contributors147576 +-Node: References150219 +-Node: GNU Free Documentation License151973 +-Node: Concept Index174562 +-Node: Function and Type Index180659 ++Node: Introduction to MPFR3770 ++Node: Installing MPFR5884 ++Node: Reporting Bugs11327 ++Node: MPFR Basics13357 ++Node: Headers and Libraries13673 ++Node: Nomenclature and Types16832 ++Node: MPFR Variable Conventions18894 ++Node: Rounding Modes20438 ++Ref: ternary value21568 ++Node: Floating-Point Values on Special Numbers23554 ++Node: Exceptions26813 ++Node: Memory Handling29990 ++Node: MPFR Interface31135 ++Node: Initialization Functions33249 ++Node: Assignment Functions40559 ++Node: Combined Initialization and Assignment Functions49914 ++Node: Conversion Functions51215 ++Node: Basic Arithmetic Functions60276 ++Node: Comparison Functions69777 ++Node: Special Functions73264 ++Node: Input and Output Functions87862 ++Node: Formatted Output Functions89834 ++Node: Integer Related Functions99621 ++Node: Rounding Related Functions106241 ++Node: Miscellaneous Functions110078 ++Node: Exception Related Functions118758 ++Node: Compatibility with MPF125576 ++Node: Custom Interface128317 ++Node: Internals132716 ++Node: API Compatibility134260 ++Node: Type and Macro Changes136189 ++Node: Added Functions139038 ++Node: Changed Functions142326 ++Node: Removed Functions146739 ++Node: Other Changes147167 ++Node: Contributors148770 ++Node: References151413 ++Node: GNU Free Documentation License153167 ++Node: Concept Index175760 ++Node: Function and Type Index181857 +  + End Tag Table + +diff -Naurd mpfr-3.1.3-a/src/lngamma.c mpfr-3.1.3-b/src/lngamma.c +--- mpfr-3.1.3-a/src/lngamma.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/src/lngamma.c 2015-07-02 10:49:24.018113593 +0000 +@@ -603,16 +603,17 @@ + mpfr_get_prec (y), mpfr_log_prec, y, inex)); + + /* special cases */ +- if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x))) ++ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x) || ++ (MPFR_IS_NEG (x) && mpfr_integer_p (x)))) + { +- if (MPFR_IS_NAN (x) || MPFR_IS_NEG (x)) ++ if (MPFR_IS_NAN (x)) + { + MPFR_SET_NAN (y); + MPFR_RET_NAN; + } +- else /* lngamma(+Inf) = lngamma(+0) = +Inf */ ++ else /* lngamma(+/-Inf) = lngamma(nonpositive integer) = +Inf */ + { +- if (MPFR_IS_ZERO (x)) ++ if (!MPFR_IS_INF (x)) + mpfr_set_divby0 (); + MPFR_SET_INF (y); + MPFR_SET_POS (y); +@@ -620,8 +621,8 @@ + } + } + +- /* if x < 0 and -2k-1 <= x <= -2k, then lngamma(x) = NaN */ +- if (MPFR_IS_NEG (x) && (unit_bit (x) == 0 || mpfr_integer_p (x))) ++ /* if -2k-1 < x < -2k <= 0, then lngamma(x) = NaN */ ++ if (MPFR_IS_NEG (x) && unit_bit (x) == 0) + { + MPFR_SET_NAN (y); + MPFR_RET_NAN; +diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h +--- mpfr-3.1.3-a/src/mpfr.h 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/src/mpfr.h 2015-07-02 10:49:24.038113803 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 3 +-#define MPFR_VERSION_STRING "3.1.3" ++#define MPFR_VERSION_STRING "3.1.3-p1" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c +--- mpfr-3.1.3-a/src/version.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/src/version.c 2015-07-02 10:49:24.042113845 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.3"; ++ return "3.1.3-p1"; + } +diff -Naurd mpfr-3.1.3-a/tests/tlngamma.c mpfr-3.1.3-b/tests/tlngamma.c +--- mpfr-3.1.3-a/tests/tlngamma.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/tests/tlngamma.c 2015-07-02 10:49:24.018113593 +0000 +@@ -33,7 +33,7 @@ + special (void) + { + mpfr_t x, y; +- int inex; ++ int i, inex; + + mpfr_init (x); + mpfr_init (y); +@@ -46,25 +46,29 @@ + exit (1); + } + +- mpfr_set_inf (x, -1); ++ mpfr_set_inf (x, 1); ++ mpfr_clear_flags (); + mpfr_lngamma (y, x, MPFR_RNDN); +- if (!mpfr_nan_p (y)) ++ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || __gmpfr_flags != 0) + { +- printf ("Error for lngamma(-Inf)\n"); ++ printf ("Error for lngamma(+Inf)\n"); + exit (1); + } + +- mpfr_set_inf (x, 1); ++ mpfr_set_inf (x, -1); ++ mpfr_clear_flags (); + mpfr_lngamma (y, x, MPFR_RNDN); +- if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0) ++ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || __gmpfr_flags != 0) + { +- printf ("Error for lngamma(+Inf)\n"); ++ printf ("Error for lngamma(-Inf)\n"); + exit (1); + } + + mpfr_set_ui (x, 0, MPFR_RNDN); ++ mpfr_clear_flags (); + mpfr_lngamma (y, x, MPFR_RNDN); +- if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0) ++ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || ++ __gmpfr_flags != MPFR_FLAGS_DIVBY0) + { + printf ("Error for lngamma(+0)\n"); + exit (1); +@@ -72,32 +76,58 @@ + + mpfr_set_ui (x, 0, MPFR_RNDN); + mpfr_neg (x, x, MPFR_RNDN); ++ mpfr_clear_flags (); + mpfr_lngamma (y, x, MPFR_RNDN); +- if (!mpfr_nan_p (y)) ++ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || ++ __gmpfr_flags != MPFR_FLAGS_DIVBY0) + { + printf ("Error for lngamma(-0)\n"); + exit (1); + } + + mpfr_set_ui (x, 1, MPFR_RNDN); ++ mpfr_clear_flags (); + mpfr_lngamma (y, x, MPFR_RNDN); +- if (MPFR_IS_NAN (y) || mpfr_cmp_ui (y, 0) || MPFR_IS_NEG (y)) ++ if (mpfr_cmp_ui0 (y, 0) || MPFR_IS_NEG (y)) + { + printf ("Error for lngamma(1)\n"); + exit (1); + } + +- mpfr_set_si (x, -1, MPFR_RNDN); +- mpfr_lngamma (y, x, MPFR_RNDN); +- if (!mpfr_nan_p (y)) ++ for (i = 1; i <= 5; i++) + { +- printf ("Error for lngamma(-1)\n"); +- exit (1); ++ int c; ++ ++ mpfr_set_si (x, -i, MPFR_RNDN); ++ mpfr_clear_flags (); ++ mpfr_lngamma (y, x, MPFR_RNDN); ++ if (!mpfr_inf_p (y) || mpfr_sgn (y) < 0 || ++ __gmpfr_flags != MPFR_FLAGS_DIVBY0) ++ { ++ printf ("Error for lngamma(-%d)\n", i); ++ exit (1); ++ } ++ if (i & 1) ++ { ++ mpfr_nextabove (x); ++ c = '+'; ++ } ++ else ++ { ++ mpfr_nextbelow (x); ++ c = '-'; ++ } ++ mpfr_lngamma (y, x, MPFR_RNDN); ++ if (!mpfr_nan_p (y)) ++ { ++ printf ("Error for lngamma(-%d%cepsilon)\n", i, c); ++ exit (1); ++ } + } + + mpfr_set_ui (x, 2, MPFR_RNDN); + mpfr_lngamma (y, x, MPFR_RNDN); +- if (MPFR_IS_NAN (y) || mpfr_cmp_ui (y, 0) || MPFR_IS_NEG (y)) ++ if (mpfr_cmp_ui0 (y, 0) || MPFR_IS_NEG (y)) + { + printf ("Error for lngamma(2)\n"); + exit (1); +@@ -127,7 +157,7 @@ + mpfr_set_str (x, CHECK_X2, 10, MPFR_RNDN); + mpfr_lngamma (y, x, MPFR_RNDN); + mpfr_set_str (x, CHECK_Y2, 10, MPFR_RNDN); +- if (MPFR_IS_NAN (y) || mpfr_cmp (y, x)) ++ if (mpfr_cmp0 (y, x)) + { + printf ("mpfr_lngamma("CHECK_X2") is wrong:\n" + "expected "); +@@ -143,7 +173,7 @@ + mpfr_lngamma (y, x, MPFR_RNDU); + mpfr_set_prec (x, 175); + mpfr_set_str_binary (x, "0.1010001100011101101011001101110010100001000001000001110011000001101100001111001001000101011011100100010101011110100111110101010100010011010010000101010111001100011000101111E7"); +- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) ++ if (mpfr_cmp0 (x, y)) + { + printf ("Error in mpfr_lngamma (1)\n"); + exit (1); +@@ -155,7 +185,7 @@ + mpfr_lngamma (x, y, MPFR_RNDZ); + mpfr_set_prec (y, 21); + mpfr_set_str_binary (y, "0.111000101000001100101E9"); +- if (MPFR_IS_NAN (x) || mpfr_cmp (x, y)) ++ if (mpfr_cmp0 (x, y)) + { + printf ("Error in mpfr_lngamma (120)\n"); + printf ("Expected "); mpfr_print_binary (y); puts (""); +@@ -169,7 +199,7 @@ + inex = mpfr_lngamma (y, x, MPFR_RNDN); + mpfr_set_prec (x, 206); + mpfr_set_str_binary (x, "0.10000111011000000011100010101001100110001110000111100011000100100110110010001011011110101001111011110110000001010100111011010000000011100110110101100111000111010011110010000100010111101010001101000110101001E13"); +- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) ++ if (mpfr_cmp0 (x, y)) + { + printf ("Error in mpfr_lngamma (768)\n"); + exit (1); +@@ -185,7 +215,7 @@ + mpfr_set_str_binary (x, "0.1100E-66"); + mpfr_lngamma (y, x, MPFR_RNDN); + mpfr_set_str_binary (x, "0.1100E6"); +- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) ++ if (mpfr_cmp0 (x, y)) + { + printf ("Error for lngamma(0.1100E-66)\n"); + exit (1); +@@ -199,7 +229,7 @@ + mpfr_lngamma (y, x, MPFR_RNDN); + mpfr_set_prec (x, 32); + mpfr_set_str_binary (x, "-0.10001000111011111011000010100010E207"); +- if (MPFR_IS_NAN (y) || mpfr_cmp (x, y)) ++ if (mpfr_cmp0 (x, y)) + { + printf ("Error for lngamma(-2^199+0.5)\n"); + printf ("Got "); +diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES +--- mpfr-3.1.3-a/PATCHES 2015-07-02 10:50:08.046573308 +0000 ++++ mpfr-3.1.3-b/PATCHES 2015-07-02 10:50:08.126574142 +0000 +@@ -0,0 +1 @@ ++muldiv-2exp-overflow +diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION +--- mpfr-3.1.3-a/VERSION 2015-07-02 10:49:24.042113845 +0000 ++++ mpfr-3.1.3-b/VERSION 2015-07-02 10:50:08.126574142 +0000 +@@ -1 +1 @@ +-3.1.3-p1 ++3.1.3-p2 +diff -Naurd mpfr-3.1.3-a/src/div_2si.c mpfr-3.1.3-b/src/div_2si.c +--- mpfr-3.1.3-a/src/div_2si.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/src/div_2si.c 2015-07-02 10:50:08.106573933 +0000 +@@ -49,7 +49,7 @@ + rnd_mode = MPFR_RNDZ; + return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y)); + } +- else if (MPFR_UNLIKELY(n < 0 && (__gmpfr_emax < MPFR_EMIN_MIN - n || ++ else if (MPFR_UNLIKELY(n <= 0 && (__gmpfr_emax < MPFR_EMIN_MIN - n || + exp > __gmpfr_emax + n)) ) + return mpfr_overflow (y, rnd_mode, MPFR_SIGN(y)); + +diff -Naurd mpfr-3.1.3-a/src/div_2ui.c mpfr-3.1.3-b/src/div_2ui.c +--- mpfr-3.1.3-a/src/div_2ui.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/src/div_2ui.c 2015-07-02 10:50:08.106573933 +0000 +@@ -32,7 +32,7 @@ + rnd_mode), + ("y[%Pu]=%.*Rg inexact=%d", mpfr_get_prec(y), mpfr_log_prec, y, inexact)); + +- if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (x))) ++ if (MPFR_UNLIKELY (n == 0 || MPFR_IS_SINGULAR (x))) + return mpfr_set (y, x, rnd_mode); + else + { +diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h +--- mpfr-3.1.3-a/src/mpfr.h 2015-07-02 10:49:24.038113803 +0000 ++++ mpfr-3.1.3-b/src/mpfr.h 2015-07-02 10:50:08.126574142 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 3 +-#define MPFR_VERSION_STRING "3.1.3-p1" ++#define MPFR_VERSION_STRING "3.1.3-p2" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.3-a/src/mul_2si.c mpfr-3.1.3-b/src/mul_2si.c +--- mpfr-3.1.3-a/src/mul_2si.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/src/mul_2si.c 2015-07-02 10:50:08.106573933 +0000 +@@ -39,7 +39,7 @@ + { + mpfr_exp_t exp = MPFR_GET_EXP (x); + MPFR_SETRAW (inexact, y, x, exp, rnd_mode); +- if (MPFR_UNLIKELY( n > 0 && (__gmpfr_emax < MPFR_EMIN_MIN + n || ++ if (MPFR_UNLIKELY(n >= 0 && (__gmpfr_emax < MPFR_EMIN_MIN + n || + exp > __gmpfr_emax - n))) + return mpfr_overflow (y, rnd_mode, MPFR_SIGN(y)); + else if (MPFR_UNLIKELY(n < 0 && (__gmpfr_emin > MPFR_EMAX_MAX + n || +diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c +--- mpfr-3.1.3-a/src/version.c 2015-07-02 10:49:24.042113845 +0000 ++++ mpfr-3.1.3-b/src/version.c 2015-07-02 10:50:08.126574142 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.3-p1"; ++ return "3.1.3-p2"; + } +diff -Naurd mpfr-3.1.3-a/tests/tmul_2exp.c mpfr-3.1.3-b/tests/tmul_2exp.c +--- mpfr-3.1.3-a/tests/tmul_2exp.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/tests/tmul_2exp.c 2015-07-02 10:50:08.106573933 +0000 +@@ -242,6 +242,76 @@ + large (MPFR_EMAX_MAX); + } + ++/* Cases where the function overflows on n = 0 when rounding is like ++ away from zero. */ ++static void ++overflow0 (mpfr_exp_t emax) ++{ ++ mpfr_exp_t old_emax; ++ mpfr_t x, y1, y2; ++ int neg, r, op; ++ static char *sop[4] = { "mul_2ui", "mul_2si", "div_2ui", "div_2si" }; ++ ++ old_emax = mpfr_get_emax (); ++ set_emax (emax); ++ ++ mpfr_init2 (x, 8); ++ mpfr_inits2 (6, y1, y2, (mpfr_ptr) 0); ++ ++ mpfr_set_inf (x, 1); ++ mpfr_nextbelow (x); ++ ++ for (neg = 0; neg <= 1; neg++) ++ { ++ RND_LOOP (r) ++ { ++ int inex1, inex2; ++ unsigned int flags1, flags2; ++ ++ /* Even if there isn't an overflow (rounding ~ toward zero), ++ the result is the same as the one of an overflow. */ ++ inex1 = mpfr_overflow (y1, (mpfr_rnd_t) r, neg ? -1 : 1); ++ flags1 = MPFR_FLAGS_INEXACT; ++ if (mpfr_inf_p (y1)) ++ flags1 |= MPFR_FLAGS_OVERFLOW; ++ for (op = 0; op < 4; op++) ++ { ++ mpfr_clear_flags (); ++ inex2 = ++ op == 0 ? mpfr_mul_2ui (y2, x, 0, (mpfr_rnd_t) r) : ++ op == 1 ? mpfr_mul_2si (y2, x, 0, (mpfr_rnd_t) r) : ++ op == 2 ? mpfr_div_2ui (y2, x, 0, (mpfr_rnd_t) r) : ++ op == 3 ? mpfr_div_2si (y2, x, 0, (mpfr_rnd_t) r) : ++ (MPFR_ASSERTN (0), 0); ++ flags2 = __gmpfr_flags; ++ if (!(mpfr_equal_p (y1, y2) && ++ SAME_SIGN (inex1, inex2) && ++ flags1 == flags2)) ++ { ++ printf ("Error in overflow0 for %s, mpfr_%s, emax = %" ++ MPFR_EXP_FSPEC "d,\nx = ", ++ mpfr_print_rnd_mode ((mpfr_rnd_t) r), sop[op], ++ (mpfr_eexp_t) emax); ++ mpfr_dump (x); ++ printf ("Expected "); ++ mpfr_dump (y1); ++ printf (" with inex = %d, flags =", inex1); ++ flags_out (flags1); ++ printf ("Got "); ++ mpfr_dump (y2); ++ printf (" with inex = %d, flags =", inex2); ++ flags_out (flags2); ++ exit (1); ++ } ++ } ++ } ++ mpfr_neg (x, x, MPFR_RNDN); ++ } ++ ++ mpfr_clears (x, y1, y2, (mpfr_ptr) 0); ++ set_emax (old_emax); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -334,6 +404,11 @@ + underflow0 (); + large0 (); + ++ if (mpfr_get_emax () != MPFR_EMAX_MAX) ++ overflow0 (mpfr_get_emax ()); ++ overflow0 (MPFR_EMAX_MAX); ++ overflow0 (-1); ++ + tests_end_mpfr (); + return 0; + } +diff -Naurd mpfr-3.1.3-a/PATCHES mpfr-3.1.3-b/PATCHES +--- mpfr-3.1.3-a/PATCHES 2015-07-17 08:54:48.592799981 +0000 ++++ mpfr-3.1.3-b/PATCHES 2015-07-17 08:54:48.616811495 +0000 +@@ -0,0 +1 @@ ++muldiv-2exp-underflow +diff -Naurd mpfr-3.1.3-a/VERSION mpfr-3.1.3-b/VERSION +--- mpfr-3.1.3-a/VERSION 2015-07-02 10:50:08.126574142 +0000 ++++ mpfr-3.1.3-b/VERSION 2015-07-17 08:54:48.616811495 +0000 +@@ -1 +1 @@ +-3.1.3-p2 ++3.1.3-p3 +diff -Naurd mpfr-3.1.3-a/src/div_2si.c mpfr-3.1.3-b/src/div_2si.c +--- mpfr-3.1.3-a/src/div_2si.c 2015-07-02 10:50:08.106573933 +0000 ++++ mpfr-3.1.3-b/src/div_2si.c 2015-07-17 08:54:48.608807656 +0000 +@@ -45,7 +45,8 @@ + if (rnd_mode == MPFR_RNDN && + (__gmpfr_emin > MPFR_EMAX_MAX - (n - 1) || + exp < __gmpfr_emin + (n - 1) || +- (inexact >= 0 && mpfr_powerof2_raw (y)))) ++ ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) && ++ mpfr_powerof2_raw (y)))) + rnd_mode = MPFR_RNDZ; + return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y)); + } +diff -Naurd mpfr-3.1.3-a/src/div_2ui.c mpfr-3.1.3-b/src/div_2ui.c +--- mpfr-3.1.3-a/src/div_2ui.c 2015-07-02 10:50:08.106573933 +0000 ++++ mpfr-3.1.3-b/src/div_2ui.c 2015-07-17 08:54:48.608807656 +0000 +@@ -44,7 +44,9 @@ + if (MPFR_UNLIKELY (n >= diffexp)) /* exp - n <= emin - 1 */ + { + if (rnd_mode == MPFR_RNDN && +- (n > diffexp || (inexact >= 0 && mpfr_powerof2_raw (y)))) ++ (n > diffexp || ++ ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) && ++ mpfr_powerof2_raw (y)))) + rnd_mode = MPFR_RNDZ; + return mpfr_underflow (y, rnd_mode, MPFR_SIGN (y)); + } +diff -Naurd mpfr-3.1.3-a/src/mpfr.h mpfr-3.1.3-b/src/mpfr.h +--- mpfr-3.1.3-a/src/mpfr.h 2015-07-02 10:50:08.126574142 +0000 ++++ mpfr-3.1.3-b/src/mpfr.h 2015-07-17 08:54:48.616811495 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 3 +-#define MPFR_VERSION_STRING "3.1.3-p2" ++#define MPFR_VERSION_STRING "3.1.3-p3" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.1.3-a/src/mul_2si.c mpfr-3.1.3-b/src/mul_2si.c +--- mpfr-3.1.3-a/src/mul_2si.c 2015-07-02 10:50:08.106573933 +0000 ++++ mpfr-3.1.3-b/src/mul_2si.c 2015-07-17 08:54:48.608807656 +0000 +@@ -48,7 +48,8 @@ + if (rnd_mode == MPFR_RNDN && + (__gmpfr_emin > MPFR_EMAX_MAX + (n + 1) || + exp < __gmpfr_emin - (n + 1) || +- (inexact >= 0 && mpfr_powerof2_raw (y)))) ++ ((MPFR_IS_NEG (y) ? inexact <= 0 : inexact >= 0) && ++ mpfr_powerof2_raw (y)))) + rnd_mode = MPFR_RNDZ; + return mpfr_underflow (y, rnd_mode, MPFR_SIGN(y)); + } +diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c +--- mpfr-3.1.3-a/src/version.c 2015-07-02 10:50:08.126574142 +0000 ++++ mpfr-3.1.3-b/src/version.c 2015-07-17 08:54:48.616811495 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.3-p2"; ++ return "3.1.3-p3"; + } +diff -Naurd mpfr-3.1.3-a/tests/tmul_2exp.c mpfr-3.1.3-b/tests/tmul_2exp.c +--- mpfr-3.1.3-a/tests/tmul_2exp.c 2015-07-02 10:50:08.106573933 +0000 ++++ mpfr-3.1.3-b/tests/tmul_2exp.c 2015-07-17 08:54:48.608807656 +0000 +@@ -50,77 +50,82 @@ + { + mpfr_t x, y, z1, z2; + mpfr_exp_t emin; +- int i, k; ++ int i, k, s; + int prec; + int rnd; + int div; + int inex1, inex2; + unsigned int flags1, flags2; + +- /* Test mul_2si(x, e - k), div_2si(x, k - e) and div_2ui(x, k - e) +- * with emin = e, x = 1 + i/16, i in { -1, 0, 1 }, and k = 1 to 4, +- * by comparing the result with the one of a simple division. ++ /* Test mul_2si(x, e - k), div_2si(x, k - e) and div_2ui(x, k - e) with ++ * emin = e, x = s * (1 + i/16), i in { -1, 0, 1 }, s in { -1, 1 }, and ++ * k = 1 to 4, by comparing the result with the one of a simple division. + */ + emin = mpfr_get_emin (); + set_emin (e); + mpfr_inits2 (8, x, y, (mpfr_ptr) 0); + for (i = 15; i <= 17; i++) +- { +- inex1 = mpfr_set_ui_2exp (x, i, -4, MPFR_RNDN); +- MPFR_ASSERTN (inex1 == 0); +- for (prec = 6; prec >= 3; prec -= 3) +- { +- mpfr_inits2 (prec, z1, z2, (mpfr_ptr) 0); +- RND_LOOP (rnd) +- for (k = 1; k <= 4; k++) +- { +- /* The following one is assumed to be correct. */ +- inex1 = mpfr_mul_2si (y, x, e, MPFR_RNDN); +- MPFR_ASSERTN (inex1 == 0); +- inex1 = mpfr_set_ui (z1, 1 << k, MPFR_RNDN); +- MPFR_ASSERTN (inex1 == 0); +- mpfr_clear_flags (); +- /* Do not use mpfr_div_ui to avoid the optimization +- by mpfr_div_2si. */ +- inex1 = mpfr_div (z1, y, z1, (mpfr_rnd_t) rnd); +- flags1 = __gmpfr_flags; +- +- for (div = 0; div <= 2; div++) ++ for (s = 1; s >= -1; s -= 2) ++ { ++ inex1 = mpfr_set_si_2exp (x, s * i, -4, MPFR_RNDN); ++ MPFR_ASSERTN (inex1 == 0); ++ for (prec = 6; prec >= 3; prec -= 3) ++ { ++ mpfr_inits2 (prec, z1, z2, (mpfr_ptr) 0); ++ RND_LOOP (rnd) ++ for (k = 1; k <= 4; k++) + { ++ /* The following one is assumed to be correct. */ ++ inex1 = mpfr_mul_2si (y, x, e, MPFR_RNDN); ++ MPFR_ASSERTN (inex1 == 0); ++ inex1 = mpfr_set_ui (z1, 1 << k, MPFR_RNDN); ++ MPFR_ASSERTN (inex1 == 0); + mpfr_clear_flags (); +- inex2 = div == 0 ? +- mpfr_mul_2si (z2, x, e - k, (mpfr_rnd_t) rnd) : div == 1 ? +- mpfr_div_2si (z2, x, k - e, (mpfr_rnd_t) rnd) : +- mpfr_div_2ui (z2, x, k - e, (mpfr_rnd_t) rnd); +- flags2 = __gmpfr_flags; +- if (flags1 == flags2 && SAME_SIGN (inex1, inex2) && +- mpfr_equal_p (z1, z2)) +- continue; +- printf ("Error in underflow("); +- if (e == MPFR_EMIN_MIN) +- printf ("MPFR_EMIN_MIN"); +- else if (e == emin) +- printf ("default emin"); +- else if (e >= LONG_MIN) +- printf ("%ld", (long) e); +- else +- printf ("= LONG_MIN) ++ printf ("%ld", (long) e); ++ else ++ printf ("d1 or (np[n-1]=d1 and np[n-2]>=d0) here, ++ since we truncate the divisor at each step, but since {np,n} < D ++ originally, the largest possible partial quotient is B-1. */ ++ if (MPFR_UNLIKELY(np[n-1] > d1 || (np[n-1] == d1 && np[n-2] >= d0))) + q2 = ~ (mp_limb_t) 0; + else + udiv_qr_3by2 (q2, q1, q0, np[n - 1], np[n - 2], np[n - 3], +diff -Naurd mpfr-3.1.3-a/src/version.c mpfr-3.1.3-b/src/version.c +--- mpfr-3.1.3-a/src/version.c 2015-07-17 08:58:21.118986898 +0000 ++++ mpfr-3.1.3-b/src/version.c 2015-10-29 13:47:46.763900609 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.1.3-p4"; ++ return "3.1.3-p5"; + } +diff -Naurd mpfr-3.1.3-a/tests/tdiv.c mpfr-3.1.3-b/tests/tdiv.c +--- mpfr-3.1.3-a/tests/tdiv.c 2015-06-19 19:55:10.000000000 +0000 ++++ mpfr-3.1.3-b/tests/tdiv.c 2015-10-29 13:47:46.751900855 +0000 +@@ -1099,6 +1099,69 @@ + mpfr_set_emax (old_emax); + } + ++/* Bug in mpfr_divhigh_n_basecase when all limbs of q (except the most ++ significant one) are B-1 where B=2^GMP_NUMB_BITS. Since we truncate ++ the divisor at each step, it might happen at some point that ++ (np[n-1],np[n-2]) > (d1,d0), and not only the equality. ++ Reported by Ricky Farr ++ ++ To get a failure, a MPFR_DIVHIGH_TAB entry below the MPFR_DIV_THRESHOLD ++ limit must have a value 0. With most mparam.h files, this cannot occur. */ ++static void ++test_20151023 (void) ++{ ++ mpfr_prec_t p; ++ mpfr_t n, d, q, q0; ++ int inex, i; ++ ++ for (p = GMP_NUMB_BITS; p <= 2000; p++) ++ { ++ mpfr_init2 (n, 2*p); ++ mpfr_init2 (d, p); ++ mpfr_init2 (q, p); ++ mpfr_init2 (q0, GMP_NUMB_BITS); ++ ++ /* generate a random divisor of p bits */ ++ mpfr_urandomb (d, RANDS); ++ /* generate a random quotient of GMP_NUMB_BITS bits */ ++ mpfr_urandomb (q0, RANDS); ++ /* zero-pad the quotient to p bits */ ++ inex = mpfr_prec_round (q0, p, MPFR_RNDN); ++ MPFR_ASSERTN(inex == 0); ++ ++ for (i = 0; i < 3; i++) ++ { ++ /* i=0: try with the original quotient xxx000...000 ++ i=1: try with the original quotient minus one ulp ++ i=2: try with the original quotient plus one ulp */ ++ if (i == 1) ++ mpfr_nextbelow (q0); ++ else if (i == 2) ++ { ++ mpfr_nextabove (q0); ++ mpfr_nextabove (q0); ++ } ++ ++ inex = mpfr_mul (n, d, q0, MPFR_RNDN); ++ MPFR_ASSERTN(inex == 0); ++ mpfr_nextabove (n); ++ mpfr_div (q, n, d, MPFR_RNDN); ++ MPFR_ASSERTN(mpfr_cmp (q, q0) == 0); ++ ++ inex = mpfr_mul (n, d, q0, MPFR_RNDN); ++ MPFR_ASSERTN(inex == 0); ++ mpfr_nextbelow (n); ++ mpfr_div (q, n, d, MPFR_RNDN); ++ MPFR_ASSERTN(mpfr_cmp (q, q0) == 0); ++ } ++ ++ mpfr_clear (n); ++ mpfr_clear (d); ++ mpfr_clear (q); ++ mpfr_clear (q0); ++ } ++} ++ + #define TEST_FUNCTION test_div + #define TWO_ARGS + #define RAND_FUNCTION(x) mpfr_random2(x, MPFR_LIMB_SIZE (x), randlimb () % 100, RANDS) +@@ -1219,6 +1282,7 @@ + consistency (); + test_20070603 (); + test_20070628 (); ++ test_20151023 (); + test_generic (2, 800, 50); + test_extreme (); + diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb new file mode 100644 index 0000000000..0a925c97ef --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.17' + +homepage = 'http://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '5.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.25', '', True)] + +configopts = "--enable-cxx" + +sanity_check_paths = { + 'files': ["bin/m4"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.3.0.eb new file mode 100644 index 0000000000..f4a9aac776 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.8' + +homepage = 'http://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '5.3.0'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.26', '', True)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From acef6c27bfc6728047e208dab35ac30bc57051c2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 18 Feb 2016 23:20:43 +0100 Subject: [PATCH 0145/1089] use libxml2 easyblock --- .../libxml2-2.9.3-foss-2015a-Python-2.7.11.eb | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb index 8052162f58..28c3bb06af 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb @@ -1,12 +1,9 @@ -easyblock = 'ConfigureMake' - name = 'libxml2' version = '2.9.3' homepage = 'http://xmlsoft.org/' -description = """Libxml2 is the XML C parser and -toolchain developed for the Gnome project - (but usable outside of the Gnome platform).""" +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" toolchain = {'name': 'foss', 'version': '2015a'} toolchainopts = {'pic': True} @@ -28,9 +25,4 @@ dependencies = [ ('Python', pythonver), ] -sanity_check_paths = { - 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], - 'dirs': ['bin', 'include/libxml2/libxml'], -} - moduleclass = 'lib' -- GitLab From 8ffcb6f65566c0fcaaf037e0b3a63c3b3894d2ed Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 11:36:17 +1300 Subject: [PATCH 0146/1089] Add CMake build dep --- easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb index 95861d4eca..5adccf48d7 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb @@ -11,6 +11,7 @@ sources = ['%(namelower)s-%(version)s.src.tar.gz'] source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] builddependencies = [ + ('CMake', '3.4.1'), ('flex', '2.6.0'), ('Bison', '3.0.4'), ] -- GitLab From 7b700637e99545fbf22bc1ee7ecad9f0452de3ef Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 11:47:17 +1300 Subject: [PATCH 0147/1089] New EasyConfig for CMake 3.4.1 with GCC 4.9.2 --- .../c/CMake/CMake-3.4.1-GCC-4.9.2.eb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.4.1-GCC-4.9.2.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.4.1-GCC-4.9.2.eb b/easybuild/easyconfigs/c/CMake/CMake-3.4.1-GCC-4.9.2.eb new file mode 100644 index 0000000000..cb117db322 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.4.1-GCC-4.9.2.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.4.1' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'GCC', 'version': '4.9.2'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 00ed67d354c2d17c962bc355c79a1aff6d7f5867 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 18 Feb 2016 23:27:38 +0000 Subject: [PATCH 0148/1089] VCFtools update to 0.1.14 for foss-2015b --- .../v/VCFtools/VCFtools-0.1.14-foss-2015b.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb new file mode 100644 index 0000000000..038d96046c --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'MakeCp' + +name = 'VCFtools' +version = '0.1.14' + +homepage = "https://vcftools.github.io" +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s_%(version)s.tar.gz'] + +perl = 'Perl' +perlver = '5.16.3' +dependencies = [ + (perl, perlver), +] + +files_to_copy = ["bin", "lib", "examples", (["bin/man1"], 'man')] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['vcftools', 'vcf-sort', 'vcf-stats']], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 25234cabe1eec2a8655bb8f3dc8793590f1ecfc2 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 18 Feb 2016 23:33:32 +0000 Subject: [PATCH 0149/1089] Use ConfigureMake and fix sources --- .../easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb index 038d96046c..e54dd8f2d4 100644 --- a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb @@ -6,7 +6,7 @@ # adam.huffman@crick.ac.uk # The Francis Crick Institute -easyblock = 'MakeCp' +easyblock = 'ConfigureMake' name = 'VCFtools' version = '0.1.14' @@ -20,7 +20,7 @@ toolchain = {'name': 'foss', 'version': '2015b'} toolchainopts = {'optarch': True} source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] -sources = ['%(namelower)s_%(version)s.tar.gz'] +sources = ['%(namelower)s-%(version)s.tar.gz'] perl = 'Perl' perlver = '5.16.3' -- GitLab From 29bdfe711f830e92f3442131f7b11f95fe9020d2 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 13:51:40 +1300 Subject: [PATCH 0150/1089] Patch needed for older versions of libspatialite --- .../l/libspatialite/libspatialite-configure.ac.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch b/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch new file mode 100644 index 0000000000..aacff1481f --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch @@ -0,0 +1,12 @@ +diff -urN libspatialite-4.1.1.orig/configure libspatialite-4.1.1/configure +--- libspatialite-4.1.1.orig/configure 2013-06-29 08:53:15.000000000 +0200 ++++ libspatialite-4.1.1/configure 2014-04-02 11:37:56.484423000 +0200 +@@ -263,7 +263,7 @@ + LIBS="$GEOS_LDFLAGS" + AC_SEARCH_LIBS(GEOSTopologyPreserveSimplify,geos_c,,AC_MSG_ERROR([could not find libgeos_c - you may need to specify the directory of a geos-config file using --with-geosconfig])) + LIBS="$LIBS_SAVE" +- LIBS=$LIBS$GEOS_LDFLAGS' -lgeos_c' ++ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" + + #----------------------------------------------------------------------- + # --enable-geosadvanced -- GitLab From b49f76d9db0d68b541194ce6cc77a92667c6027a Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 15:27:04 +1300 Subject: [PATCH 0151/1089] Deleted libspatialite-4.1.1 and associated files --- .../libspatialite-4.1.1-goolf-1.5.14.eb | 27 ------------------- .../libspatialite-configure.ac.patch | 12 --------- 2 files changed, 39 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb delete mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb deleted file mode 100644 index 8132d40673..0000000000 --- a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb +++ /dev/null @@ -1,27 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libspatialite' -version = '4.1.1' - -homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" -description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." - -toolchain = {'name': 'goolf', 'version': '1.5.14'} -toolchainopts = {'usempi': False, 'pic': True} - -download_suffix = '' -source_urls = ['http://www.gaia-gis.it/gaia-sins/'] -sources = [SOURCE_TAR_GZ] - -patches = ['libspatialite-configure.ac.patch'] - -dependencies = [('FreeXL','1.0.0g'),('GEOS','3.3.5'), ('SQLite', '3.8.4.3'), ('PROJ', '4.8.0')] -configopts = '--disable-geosadvanced' -builddependencies = [('CMake', '2.8.10.2')] - -sanity_check_paths = { - 'files': ["lib/libspatialite.la"], - 'dirs': ["lib","include"] - } - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch b/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch deleted file mode 100644 index aacff1481f..0000000000 --- a/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN libspatialite-4.1.1.orig/configure libspatialite-4.1.1/configure ---- libspatialite-4.1.1.orig/configure 2013-06-29 08:53:15.000000000 +0200 -+++ libspatialite-4.1.1/configure 2014-04-02 11:37:56.484423000 +0200 -@@ -263,7 +263,7 @@ - LIBS="$GEOS_LDFLAGS" - AC_SEARCH_LIBS(GEOSTopologyPreserveSimplify,geos_c,,AC_MSG_ERROR([could not find libgeos_c - you may need to specify the directory of a geos-config file using --with-geosconfig])) - LIBS="$LIBS_SAVE" -- LIBS=$LIBS$GEOS_LDFLAGS' -lgeos_c' -+ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" - - #----------------------------------------------------------------------- - # --enable-geosadvanced -- GitLab From d67d88a99ac9860c6a57151d3c5ce24e73c20c7f Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 15:37:10 +1300 Subject: [PATCH 0152/1089] Rename ORCA-3.0.0 EasyConfig to that which is expected given version string --- ...0_0-linux_x86-64.eb => ORCA-3_0_0-linux_x86-64_openmpi_165.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/o/ORCA/{ORCA-3_0_0-linux_x86-64.eb => ORCA-3_0_0-linux_x86-64_openmpi_165.eb} (100%) diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb similarity index 100% rename from easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64.eb rename to easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb -- GitLab From d447397f4f05bb119f8f6068323e7a5ec3e83e68 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 19 Feb 2016 15:44:45 +1300 Subject: [PATCH 0153/1089] Older version of libspatialite, reinstated --- .../libspatialite-4.1.1-goolf-1.5.14.eb | 27 +++++++++++++++++++ .../libspatialite-configure.ac.patch | 12 +++++++++ 2 files changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb create mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb new file mode 100644 index 0000000000..8132d40673 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libspatialite' +version = '4.1.1' + +homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" +description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." + +toolchain = {'name': 'goolf', 'version': '1.5.14'} +toolchainopts = {'usempi': False, 'pic': True} + +download_suffix = '' +source_urls = ['http://www.gaia-gis.it/gaia-sins/'] +sources = [SOURCE_TAR_GZ] + +patches = ['libspatialite-configure.ac.patch'] + +dependencies = [('FreeXL','1.0.0g'),('GEOS','3.3.5'), ('SQLite', '3.8.4.3'), ('PROJ', '4.8.0')] +configopts = '--disable-geosadvanced' +builddependencies = [('CMake', '2.8.10.2')] + +sanity_check_paths = { + 'files': ["lib/libspatialite.la"], + 'dirs': ["lib","include"] + } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch b/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch new file mode 100644 index 0000000000..aacff1481f --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch @@ -0,0 +1,12 @@ +diff -urN libspatialite-4.1.1.orig/configure libspatialite-4.1.1/configure +--- libspatialite-4.1.1.orig/configure 2013-06-29 08:53:15.000000000 +0200 ++++ libspatialite-4.1.1/configure 2014-04-02 11:37:56.484423000 +0200 +@@ -263,7 +263,7 @@ + LIBS="$GEOS_LDFLAGS" + AC_SEARCH_LIBS(GEOSTopologyPreserveSimplify,geos_c,,AC_MSG_ERROR([could not find libgeos_c - you may need to specify the directory of a geos-config file using --with-geosconfig])) + LIBS="$LIBS_SAVE" +- LIBS=$LIBS$GEOS_LDFLAGS' -lgeos_c' ++ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" + + #----------------------------------------------------------------------- + # --enable-geosadvanced -- GitLab From 21d05c9574074a7c3dd736dd87e3754f98036012 Mon Sep 17 00:00:00 2001 From: iotaka Date: Fri, 19 Feb 2016 09:56:21 +0200 Subject: [PATCH 0154/1089] modify easyconfig Boost-1.59.0-intel-2015b.eb --- easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb index 7461992321..61f63ebb4e 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.59.0-intel-2015b.eb @@ -4,6 +4,7 @@ version = '1.59.0' homepage = 'http://www.boost.org/' description = """Boost provides free peer-reviewed portable C++ source libraries.""" +configopts = '--without-libraries=python' toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'pic': True, 'usempi': True} -- GitLab From 089fb0470f3460c6dbb1159e7d7bc29860d3a3bc Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 19 Feb 2016 09:33:10 +0000 Subject: [PATCH 0155/1089] Update Perl dep to 5.20.2 --- easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb | 15 + ...dle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb | 259 ++++++++++++++++++ .../v/VCFtools/VCFtools-0.1.14-foss-2015b.eb | 2 +- 3 files changed, 275 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb create mode 100644 easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb new file mode 100644 index 0000000000..c9ef30b97e --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb @@ -0,0 +1,15 @@ +name = 'Java' +version = '1.8.0_74' + +homepage = 'http://java.com/' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy + Java applications on desktops and servers.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download the tar.gz directly from http://www.oracle.com/technetwork/java/javase/downloads/index.html +(vp, vs) = version.split('_') +altver = '%su%s' % (vp.split('.')[1], vs) +sources = ['jdk-%s-linux-x64.tar.gz' % altver] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb new file mode 100644 index 0000000000..604873bafd --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb @@ -0,0 +1,259 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.2' +rver = '3.2.3' +versionsuffix = '-R-%s' % rver + +homepage = 'http://www.r-project.org/' +description = """R is a free software environment for statistical computing and graphics.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +# these are extensions for R +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +dependencies = [('R', rver)] + +name_tmpl = '%(name)s_%(version)s.tar.gz' +bioconductor_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} +bioconductor_options = { + 'source_urls': [ + 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/data/experiment/src/contrib/', + # for hexbin + 'http://www.bioconductor.org/packages/2.7/bioc/src/contrib/', + ], + 'source_tmpl': name_tmpl, +} + +name_tmpl = '%(name)s_%(version)s.tar.gz' +ext_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} + +# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends +# !! order of packages is important !! +exts_list = [ + ('BiocGenerics', '0.16.1', bioconductor_options), + ('Biobase', '2.28.0', bioconductor_options), + ('S4Vectors', '0.8.1', bioconductor_options), + ('IRanges', '2.4.1', bioconductor_options), + ('GenomeInfoDb', '1.6.1', bioconductor_options), + ('AnnotationDbi', '1.32.0', bioconductor_options), + ('zlibbioc', '1.16.0', bioconductor_options), + ('XVector', '0.10.0', bioconductor_options), + ('Biostrings', '2.38.0', bioconductor_options), + ('GenomicRanges', '1.22.1', bioconductor_options), + ('lambda.r', '1.1.7', bioconductor_options), + ('futile.options', '1.0.0', bioconductor_options), + ('futile.logger', '1.4.1', bioconductor_options), + ('BiocParallel', '1.4.0', bioconductor_options), + ('Rsamtools', '1.22.0', bioconductor_options), + ('SummarizedExperiment', '1.0.1', bioconductor_options), + ('GenomicAlignments', '1.6.1', bioconductor_options), + ('ShortRead', '1.28.0', bioconductor_options), + ('graph', '1.46.0', bioconductor_options), + ('affyio', '1.36.0', bioconductor_options), + ('BiocInstaller', '1.20.0', bioconductor_options), + ('preprocessCore', '1.30.0', bioconductor_options), + ('affy', '1.46.1', bioconductor_options), + ('GO.db', '3.1.2', bioconductor_options), + ('limma', '3.24.15', bioconductor_options), + ('RBGL', '1.44.0', bioconductor_options), + ('org.Hs.eg.db', '3.1.2', bioconductor_options), + ('AnnotationForge', '1.10.1', bioconductor_options), + ('KEGG.db', '3.1.2', bioconductor_options), + ('annaffy', '1.40.0', bioconductor_options), + ('gcrma', '2.40.0', bioconductor_options), + ('oligoClasses', '1.30.0', bioconductor_options), + ('edgeR', '3.12.0', bioconductor_options), + ('PFAM.db', '3.1.2', bioconductor_options), + ('perm', '1.0-0.0', bioconductor_options), + ('baySeq', '2.2.0', bioconductor_options), + ('qvalue', '2.0.0', bioconductor_options), + ('impute', '1.42.0', bioconductor_options), + ('samr', '2.0', bioconductor_options), + ('DEGseq', '1.22.0', bioconductor_options), + ('hgu133plus2.db', '3.1.3', bioconductor_options), + ('illuminaio', '0.10.0', bioconductor_options), + ('rtracklayer', '1.30.1', bioconductor_options), + ('biomaRt', '2.26.0', bioconductor_options), + ('GenomicFeatures', '1.22.4', bioconductor_options), + ('bumphunter', '1.10.0', bioconductor_options), + ('multtest', '2.24.0', bioconductor_options), + ('siggenes', '1.42.0', bioconductor_options), + ('DynDoc', '1.46.0', bioconductor_options), + ('genoset', '1.22.0', bioconductor_options), + ('NOISeq', '2.14.0', bioconductor_options), + ('Rgraphviz', '2.12.0', bioconductor_options), + ('RNASeqPower', '1.8.0', bioconductor_options), + ('annotate', '1.48.0', bioconductor_options), + ('GSEABase', '1.30.2', bioconductor_options), + ('genefilter', '1.50.0', bioconductor_options), + ('Category', '2.34.2', bioconductor_options), + ('GOstats', '2.34.0', bioconductor_options), + ('BSgenome', '1.38.0', bioconductor_options), + ('VariantAnnotation', '1.16.3', bioconductor_options), + ('biovizBase', '1.16.0', bioconductor_options), + ('OrganismDbi', '1.10.0', bioconductor_options), + ('ggbio', '1.16.1', bioconductor_options), + ('geneplotter', '1.46.0', bioconductor_options), + ('DESeq2', '1.10.0', bioconductor_options), + ('ReportingTools', '2.8.0', bioconductor_options), + ('affycoretools', '1.40.5', bioconductor_options), + ('TxDb.Hsapiens.UCSC.hg19.knownGene', '3.1.2', bioconductor_options), + ('Homo.sapiens', '1.1.2', bioconductor_options), + ('BSgenome.Hsapiens.UCSC.hg19', '1.4.0', bioconductor_options), + ('AgiMicroRna', '2.18.0', bioconductor_options), + ('GenomeGraphs', '1.28.0', bioconductor_options), + ('geneLenDataBase', '1.4.0', bioconductor_options), + ('goseq', '1.20.0', bioconductor_options), + ('KEGGREST', '1.10.0', bioconductor_options), + ('KEGGgraph', '1.26.0', bioconductor_options), + ('KEGGprofile', '1.10.0', bioconductor_options), + ('GEOquery', '2.34.0', bioconductor_options), + ('minfi', '1.14.0', bioconductor_options), + ('FDb.InfiniumMethylation.hg19', '2.2.0', bioconductor_options), + ('methylumi', '2.14.0', bioconductor_options), + ('lumi', '2.20.2', bioconductor_options), + ('widgetTools', '1.46.0', bioconductor_options), + ('tkWidgets', '1.46.0', bioconductor_options), + ('Mfuzz', '2.28.0', bioconductor_options), + ('maSigPro', '1.40.0', bioconductor_options), + ('SPIA', '2.20.0', bioconductor_options), + ('Gviz', '1.12.1', bioconductor_options), + ('cummeRbund', '2.10.0', bioconductor_options), + ('GenomicFiles', '1.4.0', bioconductor_options), + ('derfinderHelper', '1.4.1', bioconductor_options), + ('derfinder', '1.4.4', bioconductor_options), + ('polyester', '1.4.0', bioconductor_options), + ('Rsubread', '1.18.0', bioconductor_options), + # New packages for Bioconductor 3.2 + ('ABAData', '1.0.0', bioconductor_options), + ('ABAEnrichment', '1.0.0', bioconductor_options), + ('acde', '1.0.0', bioconductor_options), + ('DNAcopy','1.44.0', bioconductor_options), + ('pixmap','0.4-11', ext_options), + ('strucchange','1.5-1', ext_options), + ('hexbin', '1.24.1', bioconductor_options), + ('vsn','3.38.0', bioconductor_options), + ('tilingArray','1.48.0', bioconductor_options), + ('GLAD','2.34.0', bioconductor_options), + ('aCGH','1.48.0', bioconductor_options), + ('snapCGH','1.40.0', bioconductor_options), + ('ADaCGH2', '2.10.0', bioconductor_options), + ('affxparser', '1.42.0', bioconductor_options), + ('AllelicImbalance', '1.8.0', bioconductor_options), + ('AnnotationHub', '2.2.2', bioconductor_options), + ('AnnotationHubData', '1.0.0', bioconductor_options), + ('antiProfiles', '1.10.0', bioconductor_options), + ('aroma.light', '3.0.0', bioconductor_options), + ('ballgown', '2.2.0', bioconductor_options), + ('BaseSpaceR', '1.14.0', bioconductor_options), + ('BBCAnalyzer', '1.0.0', bioconductor_options), + ('biobroom', '1.2.0', bioconductor_options), + ('BiocStyle', '1.8.0', bioconductor_options), + ('caOmicsV', '1.0.0', bioconductor_options), + ('CausalR', '0.99.12', bioconductor_options), + ('ChIPComp', '1.0.0', bioconductor_options), + ('CNPBayes', '1.0.0', bioconductor_options), + ('CNVPanelizer', '1.0.0', bioconductor_options), + ('DAPAR', '1.0.0', bioconductor_options), + ('DChIPRep', '1.0.3', bioconductor_options), + ('DeMAND', '1.0.0', bioconductor_options), + ('destiny', '1.0.0', bioconductor_options), + ('DiffLogo', '1.0.0', bioconductor_options), + ('DNABarcodes', '1.0.0', bioconductor_options), + ('dupRadar', '1.0.0', bioconductor_options), + ('ELMER', '1.2.0', bioconductor_options), + ('EnrichedHeatmap', '1.0.0', bioconductor_options), + ('erma', '0.2.0', bioconductor_options), + ('eudysbiome', '1.0.0', bioconductor_options), + ('fCI', '1.0.0', bioconductor_options), + ('FindMyFriends', '1.0.1', bioconductor_options), + ('gcatest', '1.0.0', bioconductor_options), + ('GeneBreak', '1.0.0', bioconductor_options), + ('genotypeeval', '1.0.0', bioconductor_options), + ('GEOsearch', '1.0.0', bioconductor_options), + ('GUIDEseq', '1.0.4', bioconductor_options), + ('Guitar', '1.7.0', bioconductor_options), + ('hierGWAS', '1.0.0', bioconductor_options), + ('HilbertCurve', '1.0.0', bioconductor_options), + ('iCheck', '1.0.0', bioconductor_options), + ('iGC', '1.0.0', bioconductor_options), + ('Imetagene', '1.0.0', bioconductor_options), + ('INSPEcT', '1.0.0', bioconductor_options), + ('IONiseR', '1.0.0', bioconductor_options), + ('ldblock', '1.0.0', bioconductor_options), + ('LedPred', '1.2.0', bioconductor_options), + ('lfa', '1.0.0', bioconductor_options), + ('LOLA', '1.0.0', bioconductor_options), + ('MEAL', '1.0.1', bioconductor_options), + ('metagenomeFeatures', '1.0.0', bioconductor_options), + ('metaX', '1.0.0', bioconductor_options), + ('miRcomp', '1.0.0', bioconductor_options), + ('mirIntegrator', '1.0.0', bioconductor_options), + ('miRLAB', '1.0.0', bioconductor_options), + ('motifbreakR', '1.0.1', bioconductor_options), + ('myvariant', '1.0.1', bioconductor_options), + ('NanoStringDiff', '1.0.0', bioconductor_options), + ('OGSA', '1.0.0', bioconductor_options), + ('OperaMate', '1.2.0', bioconductor_options), + ('Oscope', '1.0.0', bioconductor_options), + ('Path2PPI', '1.0.0', bioconductor_options), + ('pathVar', '1.0.0', bioconductor_options), + ('PGA', '1.0.0', bioconductor_options), + ('Prize', '1.0.0', bioconductor_options), + ('Prostar', '1.0.1', bioconductor_options), + ('ProteomicsAnnotationHubData', '1.0.0', bioconductor_options), + ('RareVariantVis', '1.2.0', bioconductor_options), + ('rCGH', '1.0.2', bioconductor_options), + ('RCy3', '0.99.25', bioconductor_options), + ('RiboProfiling', '1.0.0', bioconductor_options), + ('rnaseqcomp', '1.0.0', bioconductor_options), + ('ropls', '1.2.2', bioconductor_options), + ('RTCGA', '1.0.0', bioconductor_options), + ('RTCGAToolbox', '2.0.0', bioconductor_options), + ('sbgr', '1.0.0', bioconductor_options), + ('SEPA', '1.0.0', bioconductor_options), + ('SICtools', '1.0.0', bioconductor_options), + ('SISPA', '1.0.0', bioconductor_options), + ('SNPhood', '1.0.1', bioconductor_options), + ('subSeq', '1.0.1', bioconductor_options), + ('SummarizedExperiment', '1.0.1', bioconductor_options), + ('SWATH2stats', '1.0.1', bioconductor_options), + ('synlet', '1.0.0', bioconductor_options), + ('TarSeqQC', '1.0.0', bioconductor_options), + ('TCGAbiolinks', '1.0.1', bioconductor_options), + ('traseR', '1.0.0', bioconductor_options), + ('variancePartition', '1.0.0', bioconductor_options), + ('XBSeq', '1.0.0', bioconductor_options), + +] + +modextrapaths = {'R_LIBS': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocInstaller', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb index e54dd8f2d4..ae66406e49 100644 --- a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb @@ -23,7 +23,7 @@ source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download sources = ['%(namelower)s-%(version)s.tar.gz'] perl = 'Perl' -perlver = '5.16.3' +perlver = '5.20.2' dependencies = [ (perl, perlver), ] -- GitLab From 1dea727507990444d75d21ec14dd5c9182798732 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 19 Feb 2016 09:36:51 +0000 Subject: [PATCH 0156/1089] Add correct suffix to Perl dep --- easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb index ae66406e49..4e998968a7 100644 --- a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb @@ -24,8 +24,9 @@ sources = ['%(namelower)s-%(version)s.tar.gz'] perl = 'Perl' perlver = '5.20.2' +perlsuffix = '-bare' dependencies = [ - (perl, perlver), + (perl, perlver, perlsuffix), ] files_to_copy = ["bin", "lib", "examples", (["bin/man1"], 'man')] -- GitLab From 99edd6535a3ed99cee84432c865a84ef132eee31 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 19 Feb 2016 10:22:17 +0000 Subject: [PATCH 0157/1089] Remove inadvertently added changes from another branch --- easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb | 15 - ...dle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb | 259 ------------------ 2 files changed, 274 deletions(-) delete mode 100644 easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb delete mode 100644 easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb deleted file mode 100644 index c9ef30b97e..0000000000 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb +++ /dev/null @@ -1,15 +0,0 @@ -name = 'Java' -version = '1.8.0_74' - -homepage = 'http://java.com/' -description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy - Java applications on desktops and servers.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -# download the tar.gz directly from http://www.oracle.com/technetwork/java/javase/downloads/index.html -(vp, vs) = version.split('_') -altver = '%su%s' % (vp.split('.')[1], vs) -sources = ['jdk-%s-linux-x64.tar.gz' % altver] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb deleted file mode 100644 index 604873bafd..0000000000 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2015b-R-3.2.3.eb +++ /dev/null @@ -1,259 +0,0 @@ -easyblock = 'Bundle' - -name = 'R-bundle-Bioconductor' -version = '3.2' -rver = '3.2.3' -versionsuffix = '-R-%s' % rver - -homepage = 'http://www.r-project.org/' -description = """R is a free software environment for statistical computing and graphics.""" - -toolchain = {'name': 'foss', 'version': '2015b'} - -# these are extensions for R -exts_defaultclass = 'RPackage' -exts_filter = ("R -q --no-save", "library(%(ext_name)s)") - -dependencies = [('R', rver)] - -name_tmpl = '%(name)s_%(version)s.tar.gz' -bioconductor_options = { - 'source_urls': [ - 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive - 'http://cran.r-project.org/src/contrib/', # current version of packages - 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages - ], - 'source_tmpl': name_tmpl, -} -bioconductor_options = { - 'source_urls': [ - 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', - 'http://www.bioconductor.org/packages/3.2/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/3.2/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/3.2/data/experiment/src/contrib/', - # for hexbin - 'http://www.bioconductor.org/packages/2.7/bioc/src/contrib/', - ], - 'source_tmpl': name_tmpl, -} - -name_tmpl = '%(name)s_%(version)s.tar.gz' -ext_options = { - 'source_urls': [ - 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive - 'http://cran.r-project.org/src/contrib/', # current version of packages - 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages - ], - 'source_tmpl': name_tmpl, -} - -# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends -# !! order of packages is important !! -exts_list = [ - ('BiocGenerics', '0.16.1', bioconductor_options), - ('Biobase', '2.28.0', bioconductor_options), - ('S4Vectors', '0.8.1', bioconductor_options), - ('IRanges', '2.4.1', bioconductor_options), - ('GenomeInfoDb', '1.6.1', bioconductor_options), - ('AnnotationDbi', '1.32.0', bioconductor_options), - ('zlibbioc', '1.16.0', bioconductor_options), - ('XVector', '0.10.0', bioconductor_options), - ('Biostrings', '2.38.0', bioconductor_options), - ('GenomicRanges', '1.22.1', bioconductor_options), - ('lambda.r', '1.1.7', bioconductor_options), - ('futile.options', '1.0.0', bioconductor_options), - ('futile.logger', '1.4.1', bioconductor_options), - ('BiocParallel', '1.4.0', bioconductor_options), - ('Rsamtools', '1.22.0', bioconductor_options), - ('SummarizedExperiment', '1.0.1', bioconductor_options), - ('GenomicAlignments', '1.6.1', bioconductor_options), - ('ShortRead', '1.28.0', bioconductor_options), - ('graph', '1.46.0', bioconductor_options), - ('affyio', '1.36.0', bioconductor_options), - ('BiocInstaller', '1.20.0', bioconductor_options), - ('preprocessCore', '1.30.0', bioconductor_options), - ('affy', '1.46.1', bioconductor_options), - ('GO.db', '3.1.2', bioconductor_options), - ('limma', '3.24.15', bioconductor_options), - ('RBGL', '1.44.0', bioconductor_options), - ('org.Hs.eg.db', '3.1.2', bioconductor_options), - ('AnnotationForge', '1.10.1', bioconductor_options), - ('KEGG.db', '3.1.2', bioconductor_options), - ('annaffy', '1.40.0', bioconductor_options), - ('gcrma', '2.40.0', bioconductor_options), - ('oligoClasses', '1.30.0', bioconductor_options), - ('edgeR', '3.12.0', bioconductor_options), - ('PFAM.db', '3.1.2', bioconductor_options), - ('perm', '1.0-0.0', bioconductor_options), - ('baySeq', '2.2.0', bioconductor_options), - ('qvalue', '2.0.0', bioconductor_options), - ('impute', '1.42.0', bioconductor_options), - ('samr', '2.0', bioconductor_options), - ('DEGseq', '1.22.0', bioconductor_options), - ('hgu133plus2.db', '3.1.3', bioconductor_options), - ('illuminaio', '0.10.0', bioconductor_options), - ('rtracklayer', '1.30.1', bioconductor_options), - ('biomaRt', '2.26.0', bioconductor_options), - ('GenomicFeatures', '1.22.4', bioconductor_options), - ('bumphunter', '1.10.0', bioconductor_options), - ('multtest', '2.24.0', bioconductor_options), - ('siggenes', '1.42.0', bioconductor_options), - ('DynDoc', '1.46.0', bioconductor_options), - ('genoset', '1.22.0', bioconductor_options), - ('NOISeq', '2.14.0', bioconductor_options), - ('Rgraphviz', '2.12.0', bioconductor_options), - ('RNASeqPower', '1.8.0', bioconductor_options), - ('annotate', '1.48.0', bioconductor_options), - ('GSEABase', '1.30.2', bioconductor_options), - ('genefilter', '1.50.0', bioconductor_options), - ('Category', '2.34.2', bioconductor_options), - ('GOstats', '2.34.0', bioconductor_options), - ('BSgenome', '1.38.0', bioconductor_options), - ('VariantAnnotation', '1.16.3', bioconductor_options), - ('biovizBase', '1.16.0', bioconductor_options), - ('OrganismDbi', '1.10.0', bioconductor_options), - ('ggbio', '1.16.1', bioconductor_options), - ('geneplotter', '1.46.0', bioconductor_options), - ('DESeq2', '1.10.0', bioconductor_options), - ('ReportingTools', '2.8.0', bioconductor_options), - ('affycoretools', '1.40.5', bioconductor_options), - ('TxDb.Hsapiens.UCSC.hg19.knownGene', '3.1.2', bioconductor_options), - ('Homo.sapiens', '1.1.2', bioconductor_options), - ('BSgenome.Hsapiens.UCSC.hg19', '1.4.0', bioconductor_options), - ('AgiMicroRna', '2.18.0', bioconductor_options), - ('GenomeGraphs', '1.28.0', bioconductor_options), - ('geneLenDataBase', '1.4.0', bioconductor_options), - ('goseq', '1.20.0', bioconductor_options), - ('KEGGREST', '1.10.0', bioconductor_options), - ('KEGGgraph', '1.26.0', bioconductor_options), - ('KEGGprofile', '1.10.0', bioconductor_options), - ('GEOquery', '2.34.0', bioconductor_options), - ('minfi', '1.14.0', bioconductor_options), - ('FDb.InfiniumMethylation.hg19', '2.2.0', bioconductor_options), - ('methylumi', '2.14.0', bioconductor_options), - ('lumi', '2.20.2', bioconductor_options), - ('widgetTools', '1.46.0', bioconductor_options), - ('tkWidgets', '1.46.0', bioconductor_options), - ('Mfuzz', '2.28.0', bioconductor_options), - ('maSigPro', '1.40.0', bioconductor_options), - ('SPIA', '2.20.0', bioconductor_options), - ('Gviz', '1.12.1', bioconductor_options), - ('cummeRbund', '2.10.0', bioconductor_options), - ('GenomicFiles', '1.4.0', bioconductor_options), - ('derfinderHelper', '1.4.1', bioconductor_options), - ('derfinder', '1.4.4', bioconductor_options), - ('polyester', '1.4.0', bioconductor_options), - ('Rsubread', '1.18.0', bioconductor_options), - # New packages for Bioconductor 3.2 - ('ABAData', '1.0.0', bioconductor_options), - ('ABAEnrichment', '1.0.0', bioconductor_options), - ('acde', '1.0.0', bioconductor_options), - ('DNAcopy','1.44.0', bioconductor_options), - ('pixmap','0.4-11', ext_options), - ('strucchange','1.5-1', ext_options), - ('hexbin', '1.24.1', bioconductor_options), - ('vsn','3.38.0', bioconductor_options), - ('tilingArray','1.48.0', bioconductor_options), - ('GLAD','2.34.0', bioconductor_options), - ('aCGH','1.48.0', bioconductor_options), - ('snapCGH','1.40.0', bioconductor_options), - ('ADaCGH2', '2.10.0', bioconductor_options), - ('affxparser', '1.42.0', bioconductor_options), - ('AllelicImbalance', '1.8.0', bioconductor_options), - ('AnnotationHub', '2.2.2', bioconductor_options), - ('AnnotationHubData', '1.0.0', bioconductor_options), - ('antiProfiles', '1.10.0', bioconductor_options), - ('aroma.light', '3.0.0', bioconductor_options), - ('ballgown', '2.2.0', bioconductor_options), - ('BaseSpaceR', '1.14.0', bioconductor_options), - ('BBCAnalyzer', '1.0.0', bioconductor_options), - ('biobroom', '1.2.0', bioconductor_options), - ('BiocStyle', '1.8.0', bioconductor_options), - ('caOmicsV', '1.0.0', bioconductor_options), - ('CausalR', '0.99.12', bioconductor_options), - ('ChIPComp', '1.0.0', bioconductor_options), - ('CNPBayes', '1.0.0', bioconductor_options), - ('CNVPanelizer', '1.0.0', bioconductor_options), - ('DAPAR', '1.0.0', bioconductor_options), - ('DChIPRep', '1.0.3', bioconductor_options), - ('DeMAND', '1.0.0', bioconductor_options), - ('destiny', '1.0.0', bioconductor_options), - ('DiffLogo', '1.0.0', bioconductor_options), - ('DNABarcodes', '1.0.0', bioconductor_options), - ('dupRadar', '1.0.0', bioconductor_options), - ('ELMER', '1.2.0', bioconductor_options), - ('EnrichedHeatmap', '1.0.0', bioconductor_options), - ('erma', '0.2.0', bioconductor_options), - ('eudysbiome', '1.0.0', bioconductor_options), - ('fCI', '1.0.0', bioconductor_options), - ('FindMyFriends', '1.0.1', bioconductor_options), - ('gcatest', '1.0.0', bioconductor_options), - ('GeneBreak', '1.0.0', bioconductor_options), - ('genotypeeval', '1.0.0', bioconductor_options), - ('GEOsearch', '1.0.0', bioconductor_options), - ('GUIDEseq', '1.0.4', bioconductor_options), - ('Guitar', '1.7.0', bioconductor_options), - ('hierGWAS', '1.0.0', bioconductor_options), - ('HilbertCurve', '1.0.0', bioconductor_options), - ('iCheck', '1.0.0', bioconductor_options), - ('iGC', '1.0.0', bioconductor_options), - ('Imetagene', '1.0.0', bioconductor_options), - ('INSPEcT', '1.0.0', bioconductor_options), - ('IONiseR', '1.0.0', bioconductor_options), - ('ldblock', '1.0.0', bioconductor_options), - ('LedPred', '1.2.0', bioconductor_options), - ('lfa', '1.0.0', bioconductor_options), - ('LOLA', '1.0.0', bioconductor_options), - ('MEAL', '1.0.1', bioconductor_options), - ('metagenomeFeatures', '1.0.0', bioconductor_options), - ('metaX', '1.0.0', bioconductor_options), - ('miRcomp', '1.0.0', bioconductor_options), - ('mirIntegrator', '1.0.0', bioconductor_options), - ('miRLAB', '1.0.0', bioconductor_options), - ('motifbreakR', '1.0.1', bioconductor_options), - ('myvariant', '1.0.1', bioconductor_options), - ('NanoStringDiff', '1.0.0', bioconductor_options), - ('OGSA', '1.0.0', bioconductor_options), - ('OperaMate', '1.2.0', bioconductor_options), - ('Oscope', '1.0.0', bioconductor_options), - ('Path2PPI', '1.0.0', bioconductor_options), - ('pathVar', '1.0.0', bioconductor_options), - ('PGA', '1.0.0', bioconductor_options), - ('Prize', '1.0.0', bioconductor_options), - ('Prostar', '1.0.1', bioconductor_options), - ('ProteomicsAnnotationHubData', '1.0.0', bioconductor_options), - ('RareVariantVis', '1.2.0', bioconductor_options), - ('rCGH', '1.0.2', bioconductor_options), - ('RCy3', '0.99.25', bioconductor_options), - ('RiboProfiling', '1.0.0', bioconductor_options), - ('rnaseqcomp', '1.0.0', bioconductor_options), - ('ropls', '1.2.2', bioconductor_options), - ('RTCGA', '1.0.0', bioconductor_options), - ('RTCGAToolbox', '2.0.0', bioconductor_options), - ('sbgr', '1.0.0', bioconductor_options), - ('SEPA', '1.0.0', bioconductor_options), - ('SICtools', '1.0.0', bioconductor_options), - ('SISPA', '1.0.0', bioconductor_options), - ('SNPhood', '1.0.1', bioconductor_options), - ('subSeq', '1.0.1', bioconductor_options), - ('SummarizedExperiment', '1.0.1', bioconductor_options), - ('SWATH2stats', '1.0.1', bioconductor_options), - ('synlet', '1.0.0', bioconductor_options), - ('TarSeqQC', '1.0.0', bioconductor_options), - ('TCGAbiolinks', '1.0.1', bioconductor_options), - ('traseR', '1.0.0', bioconductor_options), - ('variancePartition', '1.0.0', bioconductor_options), - ('XBSeq', '1.0.0', bioconductor_options), - -] - -modextrapaths = {'R_LIBS': ''} - -sanity_check_paths = { - 'files': [], - 'dirs': ['AnnotationDbi', 'BiocInstaller', 'GenomicFeatures'], -} - -moduleclass = 'bio' -- GitLab From ed00667eab043229c937957918f0e8e42a500506 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 19 Feb 2016 10:47:00 +0000 Subject: [PATCH 0158/1089] Add missing easybuild for BH, required by R-synchronicity --- .../b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb diff --git a/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb b/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb new file mode 100644 index 0000000000..b605c4cd2e --- /dev/null +++ b/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb @@ -0,0 +1,32 @@ + +easyblock = 'RPackage' + +name = 'BH' +version = '1.60.0-1' + +homepage = 'http://cran.r-project.org/web/packages/%(name)s' +description = """BH: Boost C++ Header Files for R""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [ + 'http://cran.r-project.org/src/contrib/', + 'http://cran.r-project.org/src/contrib/Archive/$(name)s/', +] +sources = ['%(name)s_%(version)s.tar.gz'] + +r = 'R' +rver = '3.2.3' +versionsuffix = '-%s-%s' % (r, rver) + +dependencies = [ + (r, rver), + ('Boost', '1.58.0', '-Python-2.7.10'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['BH'], +} + +moduleclass = 'lang' -- GitLab From aa545b351e213e22c78fe1f2d561f972aaa4b37c Mon Sep 17 00:00:00 2001 From: Ewan Higgs Date: Fri, 19 Feb 2016 11:53:13 +0100 Subject: [PATCH 0159/1089] Roll ncurses forward to 6.0. --- easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb | 2 +- easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb | 2 +- easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb | 2 +- easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb | 2 +- easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb index 62574e2454..6e790f2a9a 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] -dependencies = [('ncurses', '5.9')] +dependencies = [('ncurses', '6.0')] sanity_check_paths = { 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb index 45251dfaf6..afe0d69bd0 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] -dependencies = [('ncurses', '5.9')] +dependencies = [('ncurses', '6.0')] sanity_check_paths = { 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb index 34313f0a0f..bf57c1d381 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb @@ -15,7 +15,7 @@ sources = [SOURCELOWER_TAR_GZ] configopts = '-- -DCMAKE_USE_OPENSSL=1' dependencies = [ - ('ncurses', '5.9'), + ('ncurses', '6.0'), # OS dependency should be preferred if the os version is more recent then this version, # it's nice to have an up to date openssl for security reasons #('OpenSSL', '1.0.1k'), diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb index 3d2c4263e5..3c775612ac 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb @@ -15,7 +15,7 @@ toolchainopts = {'pic': True} sources = ['readline-%(version)s.tar.gz'] source_urls = ['http://ftp.gnu.org/gnu/readline'] -dependencies = [('ncurses', '5.9')] +dependencies = [('ncurses', '6.0')] # for the termcap symbols, use EB ncurses preconfigopts = "LDFLAGS='-lncurses'" diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb index 96ff3e825b..2d8bea6dd7 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb @@ -18,7 +18,7 @@ dependencies = [ ('bzip2', '1.0.6'), ('zlib', '1.2.8'), ('libreadline', '6.2'), - ('ncurses', '5.9'), + ('ncurses', '6.0'), # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons ] diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb index 1d8106ab4e..37aa3417d0 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb @@ -18,7 +18,7 @@ dependencies = [ ('bzip2', '1.0.6'), ('zlib', '1.2.8'), ('libreadline', '6.3'), - ('ncurses', '5.9'), + ('ncurses', '6.0'), ('SQLite', '3.8.8.1'), ('Tk', '8.6.3', '-no-X11'), # ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -- GitLab From e6329248abe0877a7cb9d03a8854fd60b1477927 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Fri, 19 Feb 2016 11:56:32 +0100 Subject: [PATCH 0160/1089] added StringTie-1.2.2-goolf-1.4.10.eb --- .../StringTie/StringTie-1.2.2-goolf-1.4.10.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/s/StringTie/StringTie-1.2.2-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/s/StringTie/StringTie-1.2.2-goolf-1.4.10.eb b/easybuild/easyconfigs/s/StringTie/StringTie-1.2.2-goolf-1.4.10.eb new file mode 100644 index 0000000000..70ca06ed76 --- /dev/null +++ b/easybuild/easyconfigs/s/StringTie/StringTie-1.2.2-goolf-1.4.10.eb @@ -0,0 +1,26 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'MakeCp' + +name = 'StringTie' +version = '1.2.2' + +homepage = 'http://ccb.jhu.edu/software/stringtie/' +description = """StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://ccb.jhu.edu/software/stringtie/dl/'] +sources = [SOURCELOWER_TAR_GZ] + +files_to_copy = [(['stringtie'], 'bin'), 'README', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/stringtie'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 987fd3082e4a43c9c8cf69201529407b05c4095e Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 19 Feb 2016 10:57:10 +0000 Subject: [PATCH 0161/1089] Add authorship comments --- easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb b/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb index b605c4cd2e..314d4d2d26 100644 --- a/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb +++ b/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb @@ -1,3 +1,7 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Adam Huffman +# The Francis Crick Institute easyblock = 'RPackage' -- GitLab From 428ae828445f94eb093f89b33a88475efbb0416b Mon Sep 17 00:00:00 2001 From: Danilo Guerrera Date: Fri, 19 Feb 2016 17:12:47 +0100 Subject: [PATCH 0162/1089] fix: added M4 as builddependency --- .../easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb | 1 + easybuild/easyconfigs/b/binutils/binutils-2.25.eb | 1 + easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb | 5 ++++- easybuild/easyconfigs/f/flex/flex-2.5.39.eb | 4 +++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb index 5fcc8fc6b3..8efdae380a 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb @@ -12,6 +12,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [GNU_SOURCE] builddependencies = [ + ('M4', '1.4.17'), ('flex', '2.5.39'), ('Bison', '3.0.4'), # zlib required, but being linked instatically, so not a runtime dep diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb index 3a95cee4b6..246106ec92 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb @@ -12,6 +12,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [GNU_SOURCE] builddependencies = [ + ('M4', '1.4.17'), ('flex', '2.5.39'), ('Bison', '3.0.4'), # zlib required, but being linked instatically, so not a runtime dep diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb index bd9f2b71e7..ce96075acd 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb @@ -11,6 +11,9 @@ sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [ + ('M4', '1.4.17'), + ('binutils', '2.25', '', True) +] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39.eb index 53eb8f6c78..e4d83f163c 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39.eb @@ -5,10 +5,12 @@ homepage = 'http://flex.sourceforge.net/' description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} toolchainopts = {'pic': True} sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +builddependencies = [('M4', '1.4.17')] + moduleclass = 'lang' -- GitLab From bcef1a374db2931bf6ba5dd7848906c665386f18 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Fri, 19 Feb 2016 17:56:34 +0100 Subject: [PATCH 0163/1089] added jModelTest-2.1.9r20160115 and deps --- ...1.9r20160115-goolf-1.4.10-Java-1.7.0_75.eb | 36 ++++++++++++++ ...Express-0.44-goolf-1.4.10-Java-1.7.0_75.eb | 48 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 easybuild/easyconfigs/j/jModelTest/jModelTest-2.1.9r20160115-goolf-1.4.10-Java-1.7.0_75.eb create mode 100644 easybuild/easyconfigs/m/MPJ-Express/MPJ-Express-0.44-goolf-1.4.10-Java-1.7.0_75.eb diff --git a/easybuild/easyconfigs/j/jModelTest/jModelTest-2.1.9r20160115-goolf-1.4.10-Java-1.7.0_75.eb b/easybuild/easyconfigs/j/jModelTest/jModelTest-2.1.9r20160115-goolf-1.4.10-Java-1.7.0_75.eb new file mode 100644 index 0000000000..91946b388e --- /dev/null +++ b/easybuild/easyconfigs/j/jModelTest/jModelTest-2.1.9r20160115-goolf-1.4.10-Java-1.7.0_75.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'PackedBinary' + +name = 'jModelTest' +version = '2.1.9r20160115' + +homepage = 'https://github.com/ddarriba/jmodeltest2' +description="""jModelTest is a tool to carry out statistical selection of best-fit models of nucleotide substitution.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['https://github.com/ddarriba/jmodeltest2/archive/'] +sources = ['v%(version)s.tar.gz'] + +java = 'Java' +javaver = '1.7.0_75' +versionsuffix = '-%s-%s' % (java, javaver) + +builddependencies = [('ant', '1.9.6', '-Java-1.7.0_75', True)] + +dependencies = [('MPJ-Express', '0.44', '%(versionsuffix)s')] + +install_cmd = "cd jmodeltest2-%(version)s && ant -Ddist.dir=%(installdir)s jar" + +modloadmsg = """To execute jModelTest run: java -jar \\$EBROOTJMODELTEST/jModelTest.jar""" + +sanity_check_paths = { + 'files': ['jModelTest.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MPJ-Express/MPJ-Express-0.44-goolf-1.4.10-Java-1.7.0_75.eb b/easybuild/easyconfigs/m/MPJ-Express/MPJ-Express-0.44-goolf-1.4.10-Java-1.7.0_75.eb new file mode 100644 index 0000000000..25c03b4120 --- /dev/null +++ b/easybuild/easyconfigs/m/MPJ-Express/MPJ-Express-0.44-goolf-1.4.10-Java-1.7.0_75.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'Tarball' + +name = 'MPJ-Express' +version = '0.44' + +homepage = 'http://mpj-express.org/' +description = """MPJ Express is an open source Java message passing library that allows application + developers to write and execute parallel applications for multicore processors and compute clusters/clouds.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['https://sourceforge.net/projects/mpjexpress/files/releases/'] +sources = ['mpj-v%s.tar.gz' % (version.replace('.','_'))] + +java = 'Java' +javaver = '1.7.0_75' +versionsuffix = '-%s-%s' % (java, javaver) + +builddependencies = [('CMake', '2.8.12')] + +dependencies = [ + (java, javaver, '', True), +] + +# compile JNI wrapper library as described in docs +# http://mpj-express.org/docs/readme/README +postinstallcmds = ["mkdir %(installdir)s/src/mpjdev/natmpjdev/lib/build", + "cd %(installdir)s/src/mpjdev/natmpjdev/lib/build && cmake .. && make && make install DESTDIR=%(installdir)s",] + +modextrapaths = { + 'CLASSPATH': 'lib', +} + +modextravars = { + 'MPJ_HOME': '$root', # MPJ_HOME points to install directory +} + +sanity_check_paths = { + 'files': ['lib/libnativempjdev.so', 'bin/mpjrun.sh'], + 'dirs': [] +} + +moduleclass = 'lib' -- GitLab From 6e5d1de12140d0319e1b54807fd2416362f3e765 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 19 Feb 2016 19:06:04 +0100 Subject: [PATCH 0164/1089] fix determining list of easyconfigs, don't assume locations are correct --- test/easyconfigs/easyconfigs.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index d77b78e436..ab6bf2ab2c 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -338,19 +338,21 @@ def template_easyconfig_test(self, spec): def suite(): """Return all easyblock initialisation tests.""" - - # dynamically generate a separate test for each of the available easyblocks - easyconfigs_path = get_paths_for("easyconfigs")[0] - specs = glob.glob('%s/*/*/*.eb' % easyconfigs_path) - - for spec in specs: - # dynamically define new inner functions that can be added as class methods to InitTest - exec("def innertest(self): template_easyconfig_test(self, '%s')" % spec) - spec = os.path.basename(spec) - innertest.__doc__ = "Test for parsing of easyconfig %s" % spec - innertest.__name__ = "test__parse_easyconfig_%s" % spec # double underscore so parsing tests are run first - setattr(EasyConfigTest, innertest.__name__, innertest) - + # dynamically generate a separate test for each of the available easyconfigs + # define new inner functions that can be added as class methods to InitTest + easyconfigs_path = get_paths_for('easyconfigs')[0] + cnt = 0 + for (subpath, _, specs) in os.walk(easyconfigs_path, topdown=True): + for spec in specs: + if spec.endswith('.eb'): + cnt += 1 + exec("def innertest(self): template_easyconfig_test(self, '%s')" % os.path.join(subpath, spec)) + innertest.__doc__ = "Test for parsing of easyconfig %s" % spec + # double underscore so parsing tests are run first + innertest.__name__ = "test__parse_easyconfig_%s" % spec + setattr(EasyConfigTest, innertest.__name__, innertest) + + print "Found %s easyconfigs..." % cnt return TestLoader().loadTestsFromTestCase(EasyConfigTest) if __name__ == '__main__': -- GitLab From 46e9ac65cdde767919eb1083bdcd83fbc625fc51 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 19 Feb 2016 19:19:22 +0100 Subject: [PATCH 0165/1089] exclude template easyconfig --- test/easyconfigs/easyconfigs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index ab6bf2ab2c..e2e81c58df 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -344,7 +344,7 @@ def suite(): cnt = 0 for (subpath, _, specs) in os.walk(easyconfigs_path, topdown=True): for spec in specs: - if spec.endswith('.eb'): + if spec.endswith('.eb') and spec != 'TEMPLATE.eb': cnt += 1 exec("def innertest(self): template_easyconfig_test(self, '%s')" % os.path.join(subpath, spec)) innertest.__doc__ = "Test for parsing of easyconfig %s" % spec -- GitLab From b0d79ea7c64b6afd599aed88c22d3eef04509edb Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 19 Feb 2016 19:23:16 +0100 Subject: [PATCH 0166/1089] non-parallel build of flex 2.6.0 --- easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb index f20e1d0126..0c9f4d80a4 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb @@ -13,4 +13,6 @@ source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] dependencies = [('Bison', '3.0.4')] +parallel = 1 + moduleclass = 'lang' -- GitLab From 1de66628f9550887de03b5ce3a5cffbb69e3846e Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 19 Feb 2016 22:41:42 +0000 Subject: [PATCH 0167/1089] Remove R- prefix from filename --- .../synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/r/{R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb => R/synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb} (100%) diff --git a/easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb b/easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb similarity index 100% rename from easybuild/easyconfigs/r/R-synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb rename to easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb -- GitLab From 68f3c25bdbf0c97c7084e96413b145abf6917536 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 19 Feb 2016 23:04:49 +0000 Subject: [PATCH 0168/1089] Fix typo in renamed file --- ...15b-R.3.2.3.eb => synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/r/R/{synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb => synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb} (100%) diff --git a/easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb b/easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb similarity index 100% rename from easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R.3.2.3.eb rename to easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb -- GitLab From b337156069c68689680c8c0230fe2738e2d23d40 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 20 Feb 2016 08:59:27 +0000 Subject: [PATCH 0169/1089] At last move synchronicity to the correct location --- .../synchronicity}/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/{r/R => s/synchronicity}/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb (100%) diff --git a/easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb b/easybuild/easyconfigs/s/synchronicity/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb similarity index 100% rename from easybuild/easyconfigs/r/R/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb rename to easybuild/easyconfigs/s/synchronicity/synchronicity-1.1.9.1-foss-2015b-R-3.2.3.eb -- GitLab From a5e64a2034139001d5c858a3b65491060711b7a2 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 20 Feb 2016 09:11:45 +0000 Subject: [PATCH 0170/1089] Port Perl-5.20.3 to foss/2015b, for vcftools --- .../p/Perl/Perl-5.20.3-foss-2015b.eb | 909 ++++++++++++++++++ 1 file changed, 909 insertions(+) create mode 100644 easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb new file mode 100644 index 0000000000..35f20adfa3 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb @@ -0,0 +1,909 @@ +name = 'Perl' +version = '5.20.3' + +homepage = 'http://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.cpan.org/src/5.0'] +sources = [SOURCELOWER_TAR_GZ] + +exts_list = [ + ('Config::General', '2.58', { + 'source_tmpl': 'Config-General-2.58.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + }), + ('File::Listing', '6.04', { + 'source_tmpl': 'File-Listing-6.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('ExtUtils::InstallPaths', '0.011', { + 'source_tmpl': 'ExtUtils-InstallPaths-0.011.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Helpers', '0.022', { + 'source_tmpl': 'ExtUtils-Helpers-0.022.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('TAP::Harness::Env', '3.35', { + 'source_tmpl': 'Test-Harness-3.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-0.008.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-0.039.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Text::Glob', '0.09', { + 'source_tmpl': 'Text-Glob-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('Regexp::Common', '2013031301', { + 'source_tmpl': 'Regexp-Common-2013031301.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-0.15.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-5.2.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + }), + ('Test::Fatal', '0.014', { + 'source_tmpl': 'Test-Fatal-0.014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warnings', '0.021', { + 'source_tmpl': 'Test-Warnings-0.021.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('DateTime::Locale', '0.46', { + 'source_tmpl': 'DateTime-Locale-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('DateTime::TimeZone', '1.93', { + 'source_tmpl': 'DateTime-TimeZone-1.93.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Test::Requires', '0.10', { + 'source_tmpl': 'Test-Requires-0.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Module::Runtime', '0.014', { + 'source_tmpl': 'Module-Runtime-0.014.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + }), + ('Try::Tiny', '0.22', { + 'source_tmpl': 'Try-Tiny-0.22.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Params::Validate', '1.21', { + 'source_tmpl': 'Params-Validate-1.21.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('List::MoreUtils', '0.413', { + 'source_tmpl': 'List-MoreUtils-0.413.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Exporter::Tiny', '0.042', { + 'source_tmpl': 'Exporter-Tiny-0.042.tar.gz', + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/T/TO/TOBYINK'], + }), + ('Class::Singleton', '1.5', { + 'source_tmpl': 'Class-Singleton-1.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('DateTime', '1.20', { + 'source_tmpl': 'DateTime-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::Find::Rule::Perl', '1.15', { + 'source_tmpl': 'File-Find-Rule-Perl-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Module::Build', '0.4214', { + 'source_tmpl': 'Module-Build-0.4214.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Readonly', '2.00', { + 'source_tmpl': 'Readonly-2.00.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SA/SANKO'], + }), + ('Git', '0.41', { + 'source_tmpl': 'Git-0.41.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + }), + ('Tree::DAG_Node', '1.27', { + 'source_tmpl': 'Tree-DAG_Node-1.27.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Template', '2.26', { + 'source_tmpl': 'Template-Toolkit-2.26.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('FreezeThaw', '0.5001', { + 'source_tmpl': 'FreezeThaw-0.5001.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/I/IL/ILYAZ/modules'], + }), + ('DBI', '1.634', { + 'source_tmpl': 'DBI-1.634.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + }), + ('DBD::SQLite', '1.48', { + 'source_tmpl': 'DBD-SQLite-1.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-0.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('Archive::Extract', '0.76', { + 'source_tmpl': 'Archive-Extract-0.76.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('DBIx::Simple', '1.35', { + 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/J/JU/JUERD'], + }), + ('Shell', '0.72', { + 'source_tmpl': 'Shell-0.72.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + }), + ('File::Spec', '3.47', { + 'source_tmpl': 'PathTools-3.47.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('ExtUtils::MakeMaker', '7.10', { + 'source_tmpl': 'ExtUtils-MakeMaker-7.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Simple', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-1.29.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + }), + ('IO::WrapTie', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::SAX::Base', '1.08', { + 'source_tmpl': 'XML-SAX-Base-1.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('XML::NamespaceSupport', '1.11', { + 'source_tmpl': 'XML-NamespaceSupport-1.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('XML::SAX', '0.99', { + 'source_tmpl': 'XML-SAX-0.99.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Test::LeakTrace', '0.15', { + 'source_tmpl': 'Test-LeakTrace-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GF/GFUJI'], + }), + ('Test::Exception', '0.40', { + 'source_tmpl': 'Test-Exception-0.40.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::Table', '1.130', { + 'source_tmpl': 'Text-Table-1.130.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('MIME::Types', '2.11', { + 'source_tmpl': 'MIME-Types-2.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), + ('Module::Build::XSUtil', '0.16', { + 'source_tmpl': 'Module-Build-XSUtil-0.16.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-0.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + }), + ('HTML::Parser', '3.71', { + 'source_tmpl': 'HTML-Parser-3.71.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-1.2.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + }), + ('Params::Util', '1.07', { + 'source_tmpl': 'Params-Util-1.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('IO::HTML', '1.001', { + 'source_tmpl': 'IO-HTML-1.001.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-0.36.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('URI', '1.69', { + 'source_tmpl': 'URI-1.69.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-0.35.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-1.23.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-0.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-0.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('Pod::POM', '2.00', { + 'source_tmpl': 'Pod-POM-2.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-0.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + }), + ('Text::Diff', '1.43', { + 'source_tmpl': 'Text-Diff-1.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-0.10.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('IO::Socket::SSL', '2.020', { + 'source_tmpl': 'IO-Socket-SSL-2.020.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-0.004.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/'], + }), + ('Meta::Builder', '0.003', { + 'source_tmpl': 'Meta-Builder-0.003.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-0.114.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('IO::Stringy', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Getopt::Long', '2.47', { + 'source_tmpl': 'Getopt-Long-2.47.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Mouse', 'v2.4.5', { + 'source_tmpl': 'Mouse-v2.4.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Test::Version', '2.03', { + 'source_tmpl': 'Test-Version-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('DBIx::Admin::TableInfo', '3.01', { + 'source_tmpl': 'DBIx-Admin-TableInfo-3.01.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Net::HTTP', '6.09', { + 'source_tmpl': 'Net-HTTP-6.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Test::Deep', '0.117', { + 'source_tmpl': 'Test-Deep-0.117.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warn', '0.30', { + 'source_tmpl': 'Test-Warn-0.30.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('MRO::Compat', '0.12', { + 'source_tmpl': 'MRO-Compat-0.12.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BO/BOBTFISH'], + }), + ('Moo', '2.000002', { + 'source_tmpl': 'Moo-2.000002.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Hash::Merge', '0.200', { + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/'], + 'source_tmpl': 'Hash-Merge-0.200.tar.gz', + }), + ('SQL::Abstract', '1.81', { + 'source_tmpl': 'SQL-Abstract-1.81.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + }), + ('HTML::Form', '6.03', { + 'source_tmpl': 'HTML-Form-6.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::Copy::Recursive', '0.38', { + 'source_tmpl': 'File-Copy-Recursive-0.38.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-0.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('IPC::Run', '0.94', { + 'source_tmpl': 'IPC-Run-0.94.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('HTML::Entities::Interpolate', '1.05', { + 'source_tmpl': 'HTML-Entities-Interpolate-1.05.tgz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Test::ClassAPI', '1.06', { + 'source_tmpl': 'Test-ClassAPI-1.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Test::Most', '0.34', { + 'source_tmpl': 'Test-Most-0.34.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/O/OV/OVID'], + }), + ('Class::Accessor', '0.34', { + 'source_tmpl': 'Class-Accessor-0.34.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Test::Differences', '0.63', { + 'source_tmpl': 'Test-Differences-0.63.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTTP::Tiny', '0.056', { + 'source_tmpl': 'HTTP-Tiny-0.056.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('Package::DeprecationManager', '0.14', { + 'source_tmpl': 'Package-DeprecationManager-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-2.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Language', '2.30', { + 'source_tmpl': 'TimeDate-2.30.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('version', '0.9912', { + 'source_tmpl': 'version-0.9912.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + # fails: uses 'gcc' + #('XML::Bare', '0.53', { + # 'source_tmpl': 'XML-Bare-0.53.tar.gz', + # 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + #}), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Sub::Name', '0.14', { + 'source_tmpl': 'Sub-Name-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece', '1.30', { + 'source_tmpl': 'Time-Piece-1.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Digest::HMAC', '1.03', { + 'source_tmpl': 'Digest-HMAC-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('MIME::Lite', '3.030', { + 'source_tmpl': 'MIME-Lite-3.030.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Crypt::Rijndael', '1.13', { + 'source_tmpl': 'Crypt-Rijndael-1.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Canary::Stability', '2006', { + 'source_tmpl': 'Canary-Stability-2006.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('AnyEvent', '7.11', { + 'source_tmpl': 'AnyEvent-7.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-0.48.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Data::UUID', '1.221', { + 'source_tmpl': 'Data-UUID-1.221.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Pod', '1.51', { + 'source_tmpl': 'Test-Pod-1.51.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-1.71.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Net::SMTP::SSL', '1.03', { + 'source_tmpl': 'Net-SMTP-SSL-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::Tiny', '2.06', { + 'source_tmpl': 'XML-Tiny-2.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-3.20.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + }), + ('HTML::Tree', '5.03', { + 'source_tmpl': 'HTML-Tree-5.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Devel::GlobalDestruction', '0.13', { + 'source_tmpl': 'Devel-GlobalDestruction-0.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Expect', '1.32', { + 'source_tmpl': 'Expect-1.32.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SZ/SZABGAB'], + }), + ('Term::UI', '0.46', { + 'source_tmpl': 'Term-UI-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-v6.0.1.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + }), + ('XML::SAX::Writer', '0.56', { + 'source_tmpl': 'XML-SAX-Writer-0.56.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('Statistics::Descriptive', '3.0609', { + 'source_tmpl': 'Statistics-Descriptive-3.0609.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Class::Load', '0.23', { + 'source_tmpl': 'Class-Load-0.23.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('LWP::Simple', '6.13', { + 'source_tmpl': 'libwww-perl-6.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-0.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Package::Stash::XS', '0.28', { + 'source_tmpl': 'Package-Stash-XS-0.28.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('GD::Graph', '1.49', { + 'source_tmpl': 'GDGraph-1.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RUZ'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-0.30.tgz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('boolean', '0.45', { + 'source_tmpl': 'boolean-0.45.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-1.75.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Test::Tester', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Test::NoWarnings', '1.04', { + 'source_tmpl': 'Test-NoWarnings-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-2.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + }), + ('Exporter', '5.72', { + 'source_tmpl': 'Exporter-5.72.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Class::Inspector', '1.28', { + 'source_tmpl': 'Class-Inspector-1.28.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Parse::RecDescent', '1.967012', { + 'source_tmpl': 'Parse-RecDescent-1.967012.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + }), + ('Carp', '1.36', { + 'source_tmpl': 'Carp-1.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::XPath', '1.13', { + 'source_tmpl': 'XML-XPath-1.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MS/MSERGEANT'], + }), + ('Capture::Tiny', '0.30', { + 'source_tmpl': 'Capture-Tiny-0.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('JSON', '2.90', { + 'source_tmpl': 'JSON-2.90.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Sub::Exporter', '0.987', { + 'source_tmpl': 'Sub-Exporter-0.987.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Class::Load::XS', '0.09', { + 'source_tmpl': 'Class-Load-XS-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-1.15.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + }), + ('Sub::Exporter::Progressive', '0.001011', { + 'source_tmpl': 'Sub-Exporter-Progressive-0.001011.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('LWP', '6.13', { + 'source_tmpl': 'libwww-perl-6.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Data::Dumper::Concise', '2.022', { + 'source_tmpl': 'Data-Dumper-Concise-2.022.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-0.004.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Algorithm::Diff', '1.1903', { + 'source_tmpl': 'Algorithm-Diff-1.1903.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TY/TYEMQ'], + }), + ('AnyData', '0.12', { + 'source_tmpl': 'AnyData-0.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-1.7.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + }), + ('Class::Data::Inheritable', '0.08', { + 'source_tmpl': 'Class-Data-Inheritable-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('Text::Balanced', '2.03', { + 'source_tmpl': 'Text-Balanced-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('strictures', '2.000001', { + 'source_tmpl': 'strictures-2.000001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-2.17.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('File::Which', '1.19', { + 'source_tmpl': 'File-Which-1.19.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-1.005.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Error', '0.17024', { + 'source_tmpl': 'Error-0.17024.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Mock::Quick', '1.110', { + 'source_tmpl': 'Mock-Quick-1.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::CSV', '1.33', { + 'source_tmpl': 'Text-CSV-1.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Test::Output', '1.03', { + 'source_tmpl': 'Test-Output-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-v3.0.17.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('List::AllUtils', '0.09', { + 'source_tmpl': 'List-AllUtils-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Exception::Class', '1.39', { + 'source_tmpl': 'Exception-Class-1.39.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-4.42.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-0.61.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + }), + ('Eval::Closure', '0.13', { + 'source_tmpl': 'Eval-Closure-0.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('HTTP::Request', '6.11', { + 'source_tmpl': 'HTTP-Message-6.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('XML::Twig', '3.49', { + 'source_tmpl': 'XML-Twig-3.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-1.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::Simple', '2.20', { + 'source_tmpl': 'XML-Simple-2.20.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-0.928.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('HTTP::Cookies', '6.01', { + 'source_tmpl': 'HTTP-Cookies-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + }), + ('Test::Exception::LessClever', '0.006', { + 'source_tmpl': 'Test-Exception-LessClever-0.006.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('LWP::MediaTypes', '6.02', { + 'source_tmpl': 'LWP-MediaTypes-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Scalar::Util', '1.42', { + 'source_tmpl': 'Scalar-List-Utils-1.42.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-0.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('IO::Scalar', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Class::Trigger', '0.14', { + 'source_tmpl': 'Class-Trigger-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('HTTP::Daemon', '6.01', { + 'source_tmpl': 'HTTP-Daemon-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::HomeDir', '1.00', { + 'source_tmpl': 'File-HomeDir-1.00.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('HTTP::Date', '6.02', { + 'source_tmpl': 'HTTP-Date-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-2.16.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('Clone', '0.38', { + 'source_tmpl': 'Clone-0.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + }), + ('Data::Types', '0.09', { + 'source_tmpl': 'Data-Types-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DW/DWHEELER'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-1.002005.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('DateTime::Tiny', '1.04', { + 'source_tmpl': 'DateTime-Tiny-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('DBD::AnyData', '0.110', { + 'source_tmpl': 'DBD-AnyData-0.110.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Format', '0.59', { + 'source_tmpl': 'Text-Format-0.59.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Devel::CheckCompiler', '0.06', { + 'source_tmpl': 'Devel-CheckCompiler-0.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Log::Handler', '0.87', { + 'source_tmpl': 'Log-Handler-0.87.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('HTML::Entities', '3.71', { + 'source_tmpl': 'HTML-Parser-3.71.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Devel::StackTrace', '2.00', { + 'source_tmpl': 'Devel-StackTrace-2.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Term::ReadKey', '2.33', { + 'source_tmpl': 'TermReadKey-2.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-1.19.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + }), + ('Moose', '2.1603', { + 'source_tmpl': 'Moose-2.1603.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Algorithm::Dependency', '1.110', { + 'source_tmpl': 'Algorithm-Dependency-1.110.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Font::TTF', '1.05', { + 'source_tmpl': 'Font-TTF-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MH/MHOSKEN'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-0.048.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('File::Find::Rule', '0.33', { + 'source_tmpl': 'File-Find-Rule-0.33.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('SQL::Statement', '1.407', { + 'source_tmpl': 'SQL-Statement-1.407.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('File::Slurp', '9999.19', { + 'source_tmpl': 'File-Slurp-9999.19.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/U/UR/URI'], + }), + ('Package::Stash', '0.37', { + 'source_tmpl': 'Package-Stash-0.37.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Data::OptList', '0.109', { + 'source_tmpl': 'Data-OptList-0.109.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('CPANPLUS', '0.9154', { + 'source_tmpl': 'CPANPLUS-0.9154.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Harness', '3.35', { + 'source_tmpl': 'Test-Harness-3.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('IO::Tty', '1.12', { + 'source_tmpl': 'IO-Tty-1.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Text::Soundex', '3.04', { + 'source_tmpl': 'Text-Soundex-3.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Lingua::EN::PluralToSingular', '0.14', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BK/BKB'], + }), + ('Want', '0.26', { + 'source_tmpl': 'Want-0.26.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + }), + ('Cwd::Guard', '0.04', { + 'source_tmpl': 'Cwd-Guard-0.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + }), + ('Bundle::BioPerl', '2.1.9', { + 'source_tmpl': 'Bundle-BioPerl-2.1.9.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS'], + }), + ('Mail::Util', '2.14', { + 'source_tmpl': 'MailTools-2.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), +] + +moduleclass = 'lang' -- GitLab From 62bede9ecde18020cc5b6e1cc6da723692d46a44 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 20 Feb 2016 09:22:54 +0000 Subject: [PATCH 0171/1089] Require full version of Perl, handled by #2531 --- .../easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb index 4e998968a7..926d8c8707 100644 --- a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb @@ -23,10 +23,11 @@ source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download sources = ['%(namelower)s-%(version)s.tar.gz'] perl = 'Perl' -perlver = '5.20.2' -perlsuffix = '-bare' +perlver = '5.20.3' +versionsuffix = '-%s-%s' % (perl, perlver) + dependencies = [ - (perl, perlver, perlsuffix), + (perl, perlver), ] files_to_copy = ["bin", "lib", "examples", (["bin/man1"], 'man')] -- GitLab From 4a4141c5f7dbcdb3ab2d02739db1f031e8ee2373 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 20 Feb 2016 10:25:27 +0000 Subject: [PATCH 0172/1089] Update OpenSSL to 1.0.1r --- .../o/OpenSSL/OpenSSL-1.0.1r-foss-2015b.eb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1r-foss-2015b.eb diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1r-foss-2015b.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1r-foss-2015b.eb new file mode 100644 index 0000000000..9c3838a1b7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1r-foss-2015b.eb @@ -0,0 +1,19 @@ +name = 'OpenSSL' +version = '1.0.1r' + +homepage = 'http://www.openssl.org/' +description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, + and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) + protocols as well as a full-strength general purpose cryptography library. """ + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.openssl.org/source/'] + +dependencies = [('zlib', '1.2.8')] + +runtest = 'test' + +moduleclass = 'system' -- GitLab From 395bc0f0bf229ffb5587c331d3aa82faa90d9bd0 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 20 Feb 2016 17:50:03 +0100 Subject: [PATCH 0173/1089] sync OCaml 4.01.0 ictce/5.5.0 easyconfig wrt deps & extensions --- .../a/Automake/Automake-1.15-ictce-5.5.0.eb | 33 +++++++++++++++++++ .../Autotools-20150215-ictce-5.5.0.eb | 17 ++++++++++ .../libreadline-6.3-ictce-5.5.0.eb | 32 ++++++++++++++++++ .../l/libtool/libtool-2.4.6-ictce-5.5.0.eb | 17 ++++++++++ .../o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 16 +++++++-- 5 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb new file mode 100644 index 0000000000..25677b6f64 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'Automake' +version = "1.15" + +homepage = 'http://www.gnu.org/software/automake/automake.html' +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('Autoconf', '2.69')] + +sanity_check_paths = { + 'files': ['bin/automake', 'bin/aclocal'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb new file mode 100644 index 0000000000..72e186977d --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb @@ -0,0 +1,17 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20150215' # date of the most recent change + +homepage = 'http://autotools.io' +description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +dependencies = [ + ('Autoconf', '2.69'), # 20120424 + ('Automake', '1.15'), # 20150105 + ('libtool', '2.4.6'), # 20150215 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb new file mode 100644 index 0000000000..128a4b2314 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """ The GNU Readline library provides a set of functions for use + by applications that allow users to edit command lines as they are typed + in. Both Emacs and vi editing modes are available. The Readline library + includes additional functions to maintain a list of previously-entered + command lines, to recall and perhaps reedit those lines, and perform + csh-like history expansion on previous commands.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb new file mode 100644 index 0000000000..1a6a78bca6 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb @@ -0,0 +1,17 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.6' + +homepage = 'http://www.gnu.org/software/libtool' +description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries + behind a consistent, portable interface.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [('M4', '1.4.17')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 51e6fb3d9d..8fc41ecd35 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -30,10 +30,22 @@ sources = [ patches = ['OCaml-%(version)s_icc-fixes.patch'] -builddependencies = [('Autoconf', '2.69')] -dependencies = [('ncurses', '5.9')] +builddependencies = [('Autotools', '20150215')] +dependencies = [ + ('ncurses', '5.9'), + ('libreadline', '6.3'), + ('GSL', '1.16'), +] # parallel build tends to break parallel = 1 +# handled by OPAM, order matters! +exts_list = [ + ('ocamlfind', '1.5.5'), + ('batteries', '2.3.1'), + ('ocaml+twt', '0.94.0'), + ('gsl', '1.18.5'), +] + moduleclass = 'lang' -- GitLab From 56fde423f5ec58a7f19990c3fe5b2901705785d4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 20 Feb 2016 18:02:30 +0100 Subject: [PATCH 0174/1089] fix M4 version --- easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb index 1a6a78bca6..cbd60cd24a 100644 --- a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb @@ -12,6 +12,6 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -dependencies = [('M4', '1.4.17')] +dependencies = [('M4', '1.4.16')] moduleclass = 'lib' -- GitLab From ff978f31b074e078fbfa85cd7d7219f3491f4aaf Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 21 Feb 2016 06:48:13 +0000 Subject: [PATCH 0175/1089] Add versionsuffix --- ...14-foss-2015b.eb => VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/v/VCFtools/{VCFtools-0.1.14-foss-2015b.eb => VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb} (100%) diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb similarity index 100% rename from easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b.eb rename to easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb -- GitLab From 9b9f388ef889a0c72a8c0d8fbbaa685e65b85d1d Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Sun, 21 Feb 2016 10:53:23 +0100 Subject: [PATCH 0176/1089] added missing ant easyconfig --- .../a/ant/ant-1.9.6-Java-1.7.0_75.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_75.eb diff --git a/easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_75.eb b/easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_75.eb new file mode 100644 index 0000000000..7da7aa32db --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_75.eb @@ -0,0 +1,26 @@ +name = 'ant' +version = '1.9.6' + +homepage = 'http://ant.apache.org/' +description = """Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files + as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.""" + +toolchain = {'name': 'dummy', 'version': ''} + +sources = ['apache-%(name)s-%(version)s-src.tar.gz'] +source_urls = ['http://archive.apache.org/dist/%(name)s/source/'] + +java = 'Java' +javaver = '1.7.0_75' +versionsuffix = '-%s-%s' % (java, javaver) + +dependencies = [(java, javaver)] + +builddependencies = [('JUnit', '4.11', versionsuffix)] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar', 'lib/ant.jar'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 1eae0abdd57fdba61ad9a63ceafa4f005e25e29e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 11:55:35 +0200 Subject: [PATCH 0177/1089] add easyconfig pyringe-1.0.2-intel-2015b-Python-2.7.10.eb --- ...pyringe-1.0.2-intel-2015b-Python-2.7.10.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..ed35150b5b --- /dev/null +++ b/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pyringe' +version = '1.0.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/google/pyringe' +description = """Debugger capable of attaching to and injecting code into python processes.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'usempi': True} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '2.7.10'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +moduleclass = 'tools' -- GitLab From 578aa3da52025de1a0ca1f59a9d188886ed66ddc Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 15:06:06 +0200 Subject: [PATCH 0178/1089] add easyconfig pyringe-1.0.2-intel-2016a-Python-2.7.11.eb, add easyconfig GDB-7.10.1-intel-2016a-Python-2.7.11.eb --- .../GDB-7.10.1-intel-2016a-Python-2.7.11.eb | 31 +++++++++++++++++++ ...pyringe-1.0.2-intel-2016a-Python-2.7.11.eb | 26 ++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 easybuild/easyconfigs/g/GDB/GDB-7.10.1-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/g/GDB/GDB-7.10.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GDB/GDB-7.10.1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..88be8d913f --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-7.10.1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '7.10.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_XZ] +source_urls = [GNU_SOURCE] + +patches = ['GDB-7.9-missing-makeinfo.patch'] + +dependencies = [ + ('ncurses', '6.0'), + ('Python', '2.7.11'), +] + +configopts = '--with-python' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..a162402911 --- /dev/null +++ b/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pyringe' +version = '1.0.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/google/pyringe' +description = """Debugger capable of attaching to and injecting code into python processes.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('GDB', '7.10.1', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +moduleclass = 'tools' -- GitLab From f4328f9ee705145ac10740461f8b859adb45a7e6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 14:19:28 +0100 Subject: [PATCH 0179/1089] delete intel/2015b pyringe easyconfig --- ...pyringe-1.0.2-intel-2015b-Python-2.7.10.eb | 25 ------------------- 1 file changed, 25 deletions(-) delete mode 100644 easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb deleted file mode 100644 index ed35150b5b..0000000000 --- a/easybuild/easyconfigs/p/pyringe/pyringe-1.0.2-intel-2015b-Python-2.7.10.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'pyringe' -version = '1.0.2' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://github.com/google/pyringe' -description = """Debugger capable of attaching to and injecting code into python processes.""" - -toolchain = {'name': 'intel', 'version': '2015b'} -toolchainopts = {'usempi': True} - -source_urls = [PYPI_SOURCE] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('Python', '2.7.10'), -] - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/site-packages/'], -} - -moduleclass = 'tools' -- GitLab From 56bad276998b249044197a0d25081350e84ebfc4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 15:22:35 +0200 Subject: [PATCH 0180/1089] add easyconfig Autotools-20150215-ictce-5.5.0.eb, add easyconfig Automake-1.15-ictce-5.5.0.eb, add easyconfig libtool-2.4.6-ictce-5.5.0.eb --- .../a/Automake/Automake-1.15-ictce-5.5.0.eb | 33 +++++++++++++++++++ .../Autotools-20150215-ictce-5.5.0.eb | 17 ++++++++++ .../l/libtool/libtool-2.4.6-ictce-5.5.0.eb | 17 ++++++++++ 3 files changed, 67 insertions(+) create mode 100644 easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb new file mode 100644 index 0000000000..25677b6f64 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-ictce-5.5.0.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'Automake' +version = "1.15" + +homepage = 'http://www.gnu.org/software/automake/automake.html' +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('Autoconf', '2.69')] + +sanity_check_paths = { + 'files': ['bin/automake', 'bin/aclocal'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb new file mode 100644 index 0000000000..72e186977d --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-ictce-5.5.0.eb @@ -0,0 +1,17 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20150215' # date of the most recent change + +homepage = 'http://autotools.io' +description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +dependencies = [ + ('Autoconf', '2.69'), # 20120424 + ('Automake', '1.15'), # 20150105 + ('libtool', '2.4.6'), # 20150215 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb new file mode 100644 index 0000000000..cbd60cd24a --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-ictce-5.5.0.eb @@ -0,0 +1,17 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.6' + +homepage = 'http://www.gnu.org/software/libtool' +description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries + behind a consistent, portable interface.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [('M4', '1.4.16')] + +moduleclass = 'lib' -- GitLab From 1ee5deb5089f1cdcd20e75d341de349d88e86aa4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 15:04:32 +0100 Subject: [PATCH 0181/1089] sync SQLite/Tcl easyconfigs --- easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb | 4 ++-- .../{Tcl-8.6.1-ictce-5.5.0.eb => Tcl-8.6.2-ictce-5.5.0.eb} | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename easybuild/easyconfigs/t/Tcl/{Tcl-8.6.1-ictce-5.5.0.eb => Tcl-8.6.2-ictce-5.5.0.eb} (93%) diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb index 68d585b3df..d2bc173ef8 100644 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb @@ -25,8 +25,8 @@ source_urls = ['http://www.sqlite.org/2014/'] sources = ['sqlite-autoconf-%s0%s0%s00.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename dependencies = [ - ('libreadline', '6.2'), - ('Tcl', '8.6.1'), + ('libreadline', '6.3'), + ('Tcl', '8.6.2'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb similarity index 93% rename from easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb rename to easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb index 335678c031..7f2d451b76 100644 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.1-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'Tcl' -version = '8.6.1' +version = '8.6.2' homepage = 'http://www.tcl.tk/' description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, @@ -13,7 +13,7 @@ source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ - ('zlib', '1.2.7'), + ('zlib', '1.2.8'), ] configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' -- GitLab From 29ea2e21048220d38970dd6256e0a1278fc99e04 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 16:22:16 +0200 Subject: [PATCH 0182/1089] add easyconfig libreadline-6.3-ictce-5.5.0.eb, add easyconfig SQLite-3.8.6-ictce-5.5.0.eb, add easyconfig Tcl-8.6.2-ictce-5.5.0.eb --- .../libreadline-6.3-ictce-5.5.0.eb | 32 ++++++++++++++++ .../s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb | 37 +++++++++++++++++++ .../t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb | 25 +++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb new file mode 100644 index 0000000000..128a4b2314 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """ The GNU Readline library provides a set of functions for use + by applications that allow users to edit command lines as they are typed + in. Both Emacs and vi editing modes are available. The Readline library + includes additional functions to maintain a list of previously-entered + command lines, to recall and perhaps reedit those lines, and perform + csh-like history expansion on previous commands.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb new file mode 100644 index 0000000000..d2bc173ef8 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb @@ -0,0 +1,37 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.8.6' + +homepage = 'http://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2014/'] +sources = ['sqlite-autoconf-%s0%s0%s00.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename + +dependencies = [ + ('libreadline', '6.3'), + ('Tcl', '8.6.2'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb new file mode 100644 index 0000000000..7f2d451b76 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.2' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('zlib', '1.2.8'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' -- GitLab From 564274eb22871497463c2e50a55a5e913d455989 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 15:25:45 +0100 Subject: [PATCH 0183/1089] remove custom libreadline/Tcl/SQLite easyconfigs --- .../libreadline-6.3-ictce-5.5.0.eb | 32 ---------------- .../s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb | 37 ------------------- .../t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb | 25 ------------- 3 files changed, 94 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb delete mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb deleted file mode 100644 index 128a4b2314..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.3' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """ The GNU Readline library provides a set of functions for use - by applications that allow users to edit command lines as they are typed - in. Both Emacs and vi editing modes are available. The Readline library - includes additional functions to maintain a list of previously-entered - command lines, to recall and perhaps reedit those lines, and perform - csh-like history expansion on previous commands.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '5.9')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs': [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb deleted file mode 100644 index d2bc173ef8..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb +++ /dev/null @@ -1,37 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -easyblock = 'ConfigureMake' - -name = 'SQLite' -version = '3.8.6' - -homepage = 'http://www.sqlite.org/' -description = "SQLite: SQL Database Engine in a C Library" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz -source_urls = ['http://www.sqlite.org/2014/'] -sources = ['sqlite-autoconf-%s0%s0%s00.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename - -dependencies = [ - ('libreadline', '6.3'), - ('Tcl', '8.6.2'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb deleted file mode 100644 index 7f2d451b76..0000000000 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Tcl' -version = '8.6.2' - -homepage = 'http://www.tcl.tk/' -description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, -suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -dependencies = [ - ('zlib', '1.2.8'), -] - -configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' - -runtest = 'test' - -start_dir = 'unix' - -moduleclass = 'lang' -- GitLab From aae0d2d746db75bb197dbeddc32ef35b4d2ea615 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 15:28:49 +0100 Subject: [PATCH 0184/1089] stick with libreadline 6.2 and zlib 1.2.7, for compatibility with existing easyconfigs --- .../libreadline-6.3-ictce-5.5.0.eb | 32 ------------------- .../s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb | 2 +- .../t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb | 2 +- 3 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb deleted file mode 100644 index 128a4b2314..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-5.5.0.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.3' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """ The GNU Readline library provides a set of functions for use - by applications that allow users to edit command lines as they are typed - in. Both Emacs and vi editing modes are available. The Readline library - includes additional functions to maintain a list of previously-entered - command lines, to recall and perhaps reedit those lines, and perform - csh-like history expansion on previous commands.""" - -toolchain = {'name': 'ictce', 'version': '5.5.0'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '5.9')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs': [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb index d2bc173ef8..ac855e7cba 100644 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.6-ictce-5.5.0.eb @@ -25,7 +25,7 @@ source_urls = ['http://www.sqlite.org/2014/'] sources = ['sqlite-autoconf-%s0%s0%s00.tar.gz' % tuple(version.split('.'))] # very weird way to calculate your filename dependencies = [ - ('libreadline', '6.3'), + ('libreadline', '6.2'), ('Tcl', '8.6.2'), ] diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb index 7f2d451b76..8c3980c54e 100644 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.2-ictce-5.5.0.eb @@ -13,7 +13,7 @@ source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ - ('zlib', '1.2.8'), + ('zlib', '1.2.7'), ] configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' -- GitLab From b825580bdccf60588f5150a60eab1fbb50d3ef1d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 15:56:35 +0100 Subject: [PATCH 0185/1089] stick to libreadline 6.2 --- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 8fc41ecd35..52574ce4b0 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -33,7 +33,7 @@ patches = ['OCaml-%(version)s_icc-fixes.patch'] builddependencies = [('Autotools', '20150215')] dependencies = [ ('ncurses', '5.9'), - ('libreadline', '6.3'), + ('libreadline', '6.2'), ('GSL', '1.16'), ] -- GitLab From bb8088a795a3739822b1baa6ea5dcbbaefb7d577 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 17:21:29 +0100 Subject: [PATCH 0186/1089] sync up OCaml 4.01.0 easyconfigs --- .../o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb | 21 ++++++++++++++----- .../o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 3 +-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb index 5c4386e5cf..8afea955fc 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb @@ -17,21 +17,32 @@ description = """OCaml is a general purpose industrial-strength programming lang toolchain = {'name': 'goolf', 'version': '1.4.10'} -ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[:-1]) opam_ver = '1.2.2' source_urls = [ - 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, + 'http://caml.inria.fr/pub/distrib/ocaml-%(version_major_minor)s', 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ - SOURCELOWER_TAR_GZ, + 'ocaml-%(version)s.tar.gz', 'opam-full-%s.tar.gz' % opam_ver, ] -builddependencies = [('Autoconf', '2.69')] -dependencies = [('ncurses', '5.9')] +builddependencies = [('Autotools', '20150215', '', ('GCC', '4.7.2'))] +dependencies = [ + ('ncurses', '5.9'), + ('libreadline', '6.3'), + ('GSL', '1.16'), +] # parallel build tends to break parallel = 1 +# handled by OPAM, order matters! +exts_list = [ + ('ocamlfind', '1.5.5'), + ('batteries', '2.3.1'), + ('ocaml+twt', '0.94.0'), + ('gsl', '1.18.5'), +] + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 52574ce4b0..3fb3f65385 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -17,10 +17,9 @@ description = """OCaml is a general purpose industrial-strength programming lang toolchain = {'name': 'ictce', 'version': '5.5.0'} -ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) opam_ver = '1.2.2' source_urls = [ - 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, + 'http://caml.inria.fr/pub/distrib/ocaml-%(version_major_minor)s', 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ -- GitLab From 71836c97bf340d96f338f8d4cad9ec9b3b728c37 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 17:29:36 +0100 Subject: [PATCH 0187/1089] fix source URLs for OCaml --- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 2 +- easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb index 8afea955fc..810207a42e 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb @@ -19,7 +19,7 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} opam_ver = '1.2.2' source_urls = [ - 'http://caml.inria.fr/pub/distrib/ocaml-%(version_major_minor)s', + 'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]), 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 3fb3f65385..144def4311 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -19,7 +19,7 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} opam_ver = '1.2.2' source_urls = [ - 'http://caml.inria.fr/pub/distrib/ocaml-%(version_major_minor)s', + 'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]), 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb index ed1f201357..12dba48bf0 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb @@ -17,10 +17,9 @@ description = """OCaml is a general purpose industrial-strength programming lang toolchain = {'name': 'foss', 'version': '2015a'} -ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) opam_ver = '1.2.2' source_urls = [ - 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, + 'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]), 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ -- GitLab From 054531f95e602be0d26c0b24a284e02cb197ddae Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 17:45:50 +0100 Subject: [PATCH 0188/1089] fix source URL for RAxML 7.2.6 --- .../easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-hybrid-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mpi-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mt-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-seq-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-hybrid-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mpi-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mt-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-seq-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-hybrid-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mpi-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mt-sse3.eb | 2 +- .../easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-seq-sse3.eb | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-hybrid-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-hybrid-sse3.eb index cbe5be6c23..985c883441 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-hybrid-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-hybrid-sse3.eb @@ -10,7 +10,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'usempi': True} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mpi-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mpi-sse3.eb index 884ad84637..e09f71abf5 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mpi-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mpi-sse3.eb @@ -10,7 +10,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'usempi': True} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mt-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mt-sse3.eb index 3a380bd6de..0fe0530f3a 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mt-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-mt-sse3.eb @@ -9,7 +9,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'goolf', 'version': '1.4.10'} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-seq-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-seq-sse3.eb index 02608c18da..af08c5c5e5 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-seq-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-goolf-1.4.10-seq-sse3.eb @@ -9,7 +9,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'goolf', 'version': '1.4.10'} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-hybrid-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-hybrid-sse3.eb index d138389b54..caa2264650 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-hybrid-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-hybrid-sse3.eb @@ -10,7 +10,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '4.1.13'} toolchainopts = {'usempi': True} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mpi-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mpi-sse3.eb index 72d074f334..f75155255a 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mpi-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mpi-sse3.eb @@ -10,7 +10,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '4.1.13'} toolchainopts = {'usempi': True} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mt-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mt-sse3.eb index d5270c4549..8d232532fb 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mt-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-mt-sse3.eb @@ -9,7 +9,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '4.1.13'} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-seq-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-seq-sse3.eb index 2cab68e67d..13378694a3 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-seq-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-4.1.13-seq-sse3.eb @@ -9,7 +9,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '4.1.13'} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-hybrid-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-hybrid-sse3.eb index 58fb5bd173..0868a2b38e 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-hybrid-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-hybrid-sse3.eb @@ -10,7 +10,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'usempi': True} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mpi-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mpi-sse3.eb index 2e5e7cabbc..3a1597463c 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mpi-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mpi-sse3.eb @@ -10,7 +10,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'usempi': True} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mt-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mt-sse3.eb index e8060e8191..153acb7424 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mt-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-mt-sse3.eb @@ -9,7 +9,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '5.3.0'} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-seq-sse3.eb b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-seq-sse3.eb index adabadb76b..e7ee2daf46 100644 --- a/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-seq-sse3.eb +++ b/easybuild/easyconfigs/r/RAxML/RAxML-7.2.6-ictce-5.3.0-seq-sse3.eb @@ -9,7 +9,7 @@ description = "RAxML search algorithm for maximum likelihood based inference of toolchain = {'name': 'ictce', 'version': '5.3.0'} -# download from http://sco.h-its.org/exelixis/countSource726.php +source_urls = ['http://sco.h-its.org/exelixis/resource/download/software/'] sources = [SOURCE_TAR_BZ2] skipsteps = ['configure', 'install'] -- GitLab From 2f983996a4c5947813959af930f86d425c9bae2b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 17:53:56 +0100 Subject: [PATCH 0189/1089] add easyconfigs for USEARCH --- .../u/USEARCH/USEARCH-5.2.236-i86linux32.eb | 29 +++++++++++++++++++ .../u/USEARCH/USEARCH-6.1.544-i86linux32.eb | 29 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 easybuild/easyconfigs/u/USEARCH/USEARCH-5.2.236-i86linux32.eb create mode 100644 easybuild/easyconfigs/u/USEARCH/USEARCH-6.1.544-i86linux32.eb diff --git a/easybuild/easyconfigs/u/USEARCH/USEARCH-5.2.236-i86linux32.eb b/easybuild/easyconfigs/u/USEARCH/USEARCH-5.2.236-i86linux32.eb new file mode 100644 index 0000000000..961153d9b4 --- /dev/null +++ b/easybuild/easyconfigs/u/USEARCH/USEARCH-5.2.236-i86linux32.eb @@ -0,0 +1,29 @@ +easyblock = 'Binary' + +name = 'USEARCH' +version = '5.2.236' +versionsuffix = '-i86linux32' + +homepage = 'http://www.drive5.com/usearch/index.html' +description = """USEARCH is a unique sequence analysis tool which offers search and clustering algorithms that are + often orders of magnitude faster than BLAST.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download via http://www.drive5.com/usearch/download.html +usearch_bin = 'usearch%s_%s' % (version, versionsuffix[1:]) +sources = [usearch_bin] + +install_cmd = "mkdir -p %%(installdir)s/bin && mv %s %%(installdir)s/bin/%%(namelower)s && " % usearch_bin +install_cmd += "chmod a+rx %(installdir)s/bin/%(namelower)s" + +modloadmsg = """USEARCH (32-bit) is licensed software but + can be used for free by individuals when registered. A 64-bit version is + also available. For more information see http://www.drive5.com/usearch .""" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/USEARCH/USEARCH-6.1.544-i86linux32.eb b/easybuild/easyconfigs/u/USEARCH/USEARCH-6.1.544-i86linux32.eb new file mode 100644 index 0000000000..07e180dab5 --- /dev/null +++ b/easybuild/easyconfigs/u/USEARCH/USEARCH-6.1.544-i86linux32.eb @@ -0,0 +1,29 @@ +easyblock = 'Binary' + +name = 'USEARCH' +version = '6.1.544' +versionsuffix = '-i86linux32' + +homepage = 'http://www.drive5.com/usearch/index.html' +description = """USEARCH is a unique sequence analysis tool which offers search and clustering algorithms that are + often orders of magnitude faster than BLAST.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download via http://www.drive5.com/usearch/download.html +usearch_bin = 'usearch%s_%s' % (version, versionsuffix[1:]) +sources = [usearch_bin] + +install_cmd = "mkdir -p %%(installdir)s/bin && mv %s %%(installdir)s/bin/%%(namelower)s && " % usearch_bin +install_cmd += "chmod a+rx %(installdir)s/bin/%(namelower)s" + +modloadmsg = """USEARCH (32-bit) is licensed software but + can be used for free by individuals when registered. A 64-bit version is + also available. For more information see http://www.drive5.com/usearch .""" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 7536aa23df9188929e6781e55a05a5988bb943a6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 21 Feb 2016 18:57:05 +0100 Subject: [PATCH 0190/1089] add comment in patch file --- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch index 1d8950ff29..3b6ab1f097 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -1,3 +1,5 @@ +fix for Fatal error: exception Invalid_argument("gettimeofday not implemented") +author: Kenneth Hoste (HPC-UGent) --- configure.orig 2015-10-06 10:19:12.763826416 +0200 +++ configure 2015-10-06 10:19:56.005026703 +0200 @@ -1015,7 +1015,7 @@ -- GitLab From 78b5df7b4437faf94ba8ea6b484e097973e27154 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 22 Feb 2016 12:49:20 +1300 Subject: [PATCH 0191/1089] Removed older version of libspatialite --- .../libspatialite-4.1.1-goolf-1.5.14.eb | 27 ------------------- .../libspatialite-configure.ac.patch | 12 --------- 2 files changed, 39 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb delete mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb deleted file mode 100644 index 8132d40673..0000000000 --- a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.1.1-goolf-1.5.14.eb +++ /dev/null @@ -1,27 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libspatialite' -version = '4.1.1' - -homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" -description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." - -toolchain = {'name': 'goolf', 'version': '1.5.14'} -toolchainopts = {'usempi': False, 'pic': True} - -download_suffix = '' -source_urls = ['http://www.gaia-gis.it/gaia-sins/'] -sources = [SOURCE_TAR_GZ] - -patches = ['libspatialite-configure.ac.patch'] - -dependencies = [('FreeXL','1.0.0g'),('GEOS','3.3.5'), ('SQLite', '3.8.4.3'), ('PROJ', '4.8.0')] -configopts = '--disable-geosadvanced' -builddependencies = [('CMake', '2.8.10.2')] - -sanity_check_paths = { - 'files': ["lib/libspatialite.la"], - 'dirs': ["lib","include"] - } - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch b/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch deleted file mode 100644 index aacff1481f..0000000000 --- a/easybuild/easyconfigs/l/libspatialite/libspatialite-configure.ac.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN libspatialite-4.1.1.orig/configure libspatialite-4.1.1/configure ---- libspatialite-4.1.1.orig/configure 2013-06-29 08:53:15.000000000 +0200 -+++ libspatialite-4.1.1/configure 2014-04-02 11:37:56.484423000 +0200 -@@ -263,7 +263,7 @@ - LIBS="$GEOS_LDFLAGS" - AC_SEARCH_LIBS(GEOSTopologyPreserveSimplify,geos_c,,AC_MSG_ERROR([could not find libgeos_c - you may need to specify the directory of a geos-config file using --with-geosconfig])) - LIBS="$LIBS_SAVE" -- LIBS=$LIBS$GEOS_LDFLAGS' -lgeos_c' -+ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" - - #----------------------------------------------------------------------- - # --enable-geosadvanced -- GitLab From 9f4b14efcfb9f49ad9a019c7221341b2cb879bd9 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 22 Feb 2016 12:52:30 +1300 Subject: [PATCH 0192/1089] Removed ec for libspatialite 4.3.0 with the Intel compiler suite --- .../libspatialite-4.3.0-intel-2015a.eb | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb deleted file mode 100644 index 732c224f99..0000000000 --- a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0-intel-2015a.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libspatialite' -version = '4.3.0' - -homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" -description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." - -toolchain = {'name': 'intel', 'version': '2015a'} -toolchainopts = {'usempi': False, 'pic': True} - -download_suffix = '' -source_urls = ['http://www.gaia-gis.it/gaia-sins/'] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('FreeXL','1.0.1'), - ('GEOS','3.3.9'), - ('SQLite', '3.8.9'), - ('PROJ', '4.9.1'), -] - -configopts = '--disable-geosadvanced' - -builddependencies = [('CMake', '3.2.2')] - -sanity_check_paths = { - 'files': ["lib/libspatialite.la"], - 'dirs': ["lib","include"] - } - -moduleclass = 'lib' -- GitLab From 5ef79c9ac22b4858d80057fda3c573a826aa1a9a Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Mon, 22 Feb 2016 09:35:39 +0100 Subject: [PATCH 0193/1089] added missing dep JUnit-4.11-Java-1.7.0_75.eb --- .../j/JUnit/JUnit-4.11-Java-1.7.0_75.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/j/JUnit/JUnit-4.11-Java-1.7.0_75.eb diff --git a/easybuild/easyconfigs/j/JUnit/JUnit-4.11-Java-1.7.0_75.eb b/easybuild/easyconfigs/j/JUnit/JUnit-4.11-Java-1.7.0_75.eb new file mode 100644 index 0000000000..73ee3252a1 --- /dev/null +++ b/easybuild/easyconfigs/j/JUnit/JUnit-4.11-Java-1.7.0_75.eb @@ -0,0 +1,25 @@ +easyblock = 'JAR' + +name = 'JUnit' +version = '4.11' + +homepage = 'http://sourceforge.net/projects/junit' +description = """A programmer-oriented testing framework for Java.""" + +toolchain = {'name': 'dummy', 'version': ''} + +sources = ['%(namelower)s-%(version)s.jar'] +source_urls = ['http://search.maven.org/remotecontent?filepath=junit/junit/%(version)s/'] + +java = 'Java' +javaver = '1.7.0_75' +versionsuffix = '-%s-%s' % (java, javaver) + +dependencies = [(java, javaver)] + +sanity_check_paths = { + 'files': sources, + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From c389d0a690c7f58d37383c99efb8430c0ad953be Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 11:10:20 +0200 Subject: [PATCH 0194/1089] add easyconfig htop-2.0.0.eb --- easybuild/easyconfigs/h/htop/htop-2.0.0.eb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/h/htop/htop-2.0.0.eb diff --git a/easybuild/easyconfigs/h/htop/htop-2.0.0.eb b/easybuild/easyconfigs/h/htop/htop-2.0.0.eb new file mode 100644 index 0000000000..cadc02fadc --- /dev/null +++ b/easybuild/easyconfigs/h/htop/htop-2.0.0.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'htop' +version = '2.0.0' + +homepage = 'http://hisham.hm/htop/' +description = """An interactive process viewer for Unix""" + +toolchain = {'name': 'dummy', 'version': ''} + +source_urls = ['http://hisham.hm/htop/releases/%(version)s/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [('ncurses', '6.0')] + +sanity_check_paths = { + 'files': ['bin/htop'], + 'dirs': ['share'], +} + +moduleclass = 'tools' -- GitLab From 0248c013c5411a7ae5f1e0aaf778088cf1105fd8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 10:41:52 +0100 Subject: [PATCH 0195/1089] fix DB dep in DB_File easyconfigs --- .../easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb | 1 + .../easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb | 26 +++++++++++++++++++ .../DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb | 13 +++------- .../DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb | 13 +++------- .../DB_File-1.831-intel-2015b-Perl-5.20.3.eb | 3 +-- 5 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb diff --git a/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb b/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb index e2cb4b55ad..3fd0bf8310 100644 --- a/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb @@ -6,6 +6,7 @@ description = """Berkeley DB enables the development of custom data management s without the overhead traditionally associated with such custom projects.""" toolchain = {'name': 'ictce', 'version': '5.5.0'} +toolchainopts = {'pic': True} source_urls = ['http://download.oracle.com/berkeley-db'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb b/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb new file mode 100644 index 0000000000..14aa5bb4b4 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb @@ -0,0 +1,26 @@ +name = 'DB' +version = '2.7.7' + +homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' +description = """Berkeley DB enables the development of custom data management solutions, + without the overhead traditionally associated with such custom projects.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'pic': True} + +source_urls = ['http://download.oracle.com/berkeley-db'] +sources = [SOURCELOWER_TAR_GZ] + +modextrapaths = { + 'PATH': ["BerkeleyDB/bin"], + 'CPATH': ["BerkeleyDB/include"], + 'LD_LIBRARY_PATH': ["BerkeleyDB/lib"], + 'LIBRARY_PATH': ["BerkeleyDB/lib"], +} + +sanity_check_paths = { + 'files': ["BerkeleyDB/include/db.h", "BerkeleyDB/include/db_cxx.h", "BerkeleyDB/lib/libdb.a"], + 'dirs': ["BerkeleyDB/bin"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb index bdcb00e69d..899ca0fe36 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb @@ -2,6 +2,7 @@ easyblock = 'PerlModule' name = 'DB_File' version = '1.831' +versionsuffix = '-Perl-%(perlver)s' homepage = 'http://perldoc.perl.org/DB_File.html' description = """Perl5 access to Berkeley DB version 1.x.""" @@ -11,19 +12,13 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} source_urls = ['http://www.cpan.org/modules/by-module/DB_File/PMQS'] sources = [SOURCE_TAR_GZ] -dependencies = [('DB', '2.7.7')] - -perl = 'Perl' -perlver = '5.18.2' -versionsuffix = '-%s-%s' % (perl, perlver) - dependencies = [ - (perl, perlver), + ('Perl', '5.20.3'), + ('DB', '2.7.7'), ] -perlmajver = perlver.split('.')[0] sanity_check_paths = { - 'files': ['lib/perl%s/site_perl/%s/x86_64-linux-thread-multi/DB_File.pm' % (perlmajver, perlver)], + 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb index 831d1e8494..899ca0fe36 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb @@ -2,6 +2,7 @@ easyblock = 'PerlModule' name = 'DB_File' version = '1.831' +versionsuffix = '-Perl-%(perlver)s' homepage = 'http://perldoc.perl.org/DB_File.html' description = """Perl5 access to Berkeley DB version 1.x.""" @@ -11,19 +12,13 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} source_urls = ['http://www.cpan.org/modules/by-module/DB_File/PMQS'] sources = [SOURCE_TAR_GZ] -dependencies = [('DB', '2.7.7')] - -perl = 'Perl' -perlver = '5.20.0' -versionsuffix = '-%s-%s' % (perl, perlver) - dependencies = [ - (perl, perlver), + ('Perl', '5.20.3'), + ('DB', '2.7.7'), ] -perlmajver = perlver.split('.')[0] sanity_check_paths = { - 'files': ['lib/perl%s/site_perl/%s/x86_64-linux-thread-multi/DB_File.pm' % (perlmajver, perlver)], + 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], } diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb index cfa6ec1084..1d9606650c 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb @@ -12,10 +12,9 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = ['http://www.cpan.org/modules/by-module/DB_File/PMQS'] sources = [SOURCE_TAR_GZ] -dependencies = [('DB', '2.7.7')] - dependencies = [ ('Perl', '5.20.3'), + ('DB', '2.7.7'), ] sanity_check_paths = { -- GitLab From a8db6bf6406186d5c3b505b0437c4f98d0f1452c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 10:45:58 +0100 Subject: [PATCH 0196/1089] fix Perl versions in DB_File easyconfigs --- .../d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb | 2 +- .../d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb index 899ca0fe36..99e1e729bd 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb @@ -13,7 +13,7 @@ source_urls = ['http://www.cpan.org/modules/by-module/DB_File/PMQS'] sources = [SOURCE_TAR_GZ] dependencies = [ - ('Perl', '5.20.3'), + ('Perl', '5.18.2'), ('DB', '2.7.7'), ] diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb index 899ca0fe36..bbc20f533c 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb @@ -13,7 +13,7 @@ source_urls = ['http://www.cpan.org/modules/by-module/DB_File/PMQS'] sources = [SOURCE_TAR_GZ] dependencies = [ - ('Perl', '5.20.3'), + ('Perl', '5.20.0'), ('DB', '2.7.7'), ] -- GitLab From 6fc8f1754a8192179e48dc53614c661b2096630e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 11:47:55 +0200 Subject: [PATCH 0197/1089] add easyconfig DB-2.7.7-intel-2016a.eb, add easyconfig DB_File-1.835-intel-2016a-Perl-5.20.3.eb --- .../easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb | 26 +++++++++++++++++++ .../DB_File-1.835-intel-2016a-Perl-5.20.3.eb | 25 ++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb create mode 100644 easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb diff --git a/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb b/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb new file mode 100644 index 0000000000..fc6e649d7b --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb @@ -0,0 +1,26 @@ +name = 'DB' +version = '2.7.7' + +homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' +description = """Berkeley DB enables the development of custom data management solutions, + without the overhead traditionally associated with such custom projects.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['http://download.oracle.com/berkeley-db'] +sources = [SOURCELOWER_TAR_GZ] + +modextrapaths = { + 'PATH': ["BerkeleyDB/bin"], + 'CPATH': ["BerkeleyDB/include"], + 'LD_LIBRARY_PATH': ["BerkeleyDB/lib"], + 'LIBRARY_PATH': ["BerkeleyDB/lib"], +} + +sanity_check_paths = { + 'files': ["BerkeleyDB/include/db.h", "BerkeleyDB/include/db_cxx.h", "BerkeleyDB/lib/libdb.a"], + 'dirs': ["BerkeleyDB/bin"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb new file mode 100644 index 0000000000..780f3183cd --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb @@ -0,0 +1,25 @@ +easyblock = 'PerlModule' + +name = 'DB_File' +version = '1.835' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://perldoc.perl.org/DB_File.html' +description = """Perl5 access to Berkeley DB version 1.x.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Perl', '5.20.3'), + ('DB', '2.7.7'), +] + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'dirs': [], +} + +moduleclass = 'data' -- GitLab From 1a3ec6a9434c91a7c0239eb6d93728e051bacb91 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 11:12:35 +0100 Subject: [PATCH 0198/1089] add missing configopts --- .../d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb | 2 ++ .../d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb | 2 ++ .../d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb index 99e1e729bd..38bc8c6673 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb @@ -17,6 +17,8 @@ dependencies = [ ('DB', '2.7.7'), ] +configopts = "LIB=$EBROOTDB/lib INCLUDE=$EBROOTDB/include" + sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb index bbc20f533c..0cb2264c0b 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb @@ -17,6 +17,8 @@ dependencies = [ ('DB', '2.7.7'), ] +configopts = "LIB=$EBROOTDB/lib INCLUDE=$EBROOTDB/include" + sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb index 1d9606650c..18e394a447 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb @@ -17,6 +17,8 @@ dependencies = [ ('DB', '2.7.7'), ] +configopts = "LIB=$EBROOTDB/lib INCLUDE=$EBROOTDB/include" + sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], -- GitLab From 06cfa4d1cfc60a1407e7ad551ae91ba2e5146c7c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 11:22:46 +0100 Subject: [PATCH 0199/1089] fix configopts --- .../d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb | 2 +- .../d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb | 2 +- .../d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb index 38bc8c6673..ae8fad8810 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb @@ -17,7 +17,7 @@ dependencies = [ ('DB', '2.7.7'), ] -configopts = "LIB=$EBROOTDB/lib INCLUDE=$EBROOTDB/include" +configopts = "LIB=$EBROOTDB/BerkeleyDB/lib INCLUDE=$EBROOTDB/BerkeleyDB/include" sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb index 0cb2264c0b..d043d18175 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb @@ -17,7 +17,7 @@ dependencies = [ ('DB', '2.7.7'), ] -configopts = "LIB=$EBROOTDB/lib INCLUDE=$EBROOTDB/include" +configopts = "LIB=$EBROOTDB/BerkeleyDB/lib INCLUDE=$EBROOTDB/BerkeleyDB/include" sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb index 18e394a447..bfb50297a7 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb @@ -17,7 +17,7 @@ dependencies = [ ('DB', '2.7.7'), ] -configopts = "LIB=$EBROOTDB/lib INCLUDE=$EBROOTDB/include" +configopts = "LIB=$EBROOTDB/BerkeleyDB/lib INCLUDE=$EBROOTDB/BerkeleyDB/include" sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], -- GitLab From bed52ee87acb7282f5e577ca7107cd77a4570a3a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 12:05:26 +0100 Subject: [PATCH 0200/1089] fix minor style issues in libspatialite easyconfig --- .../libspatialite-4.3.0a-foss-2015a.eb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb index 0c50d9148b..9c107ea9d9 100644 --- a/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-4.3.0a-foss-2015a.eb @@ -4,12 +4,12 @@ name = 'libspatialite' version = '4.3.0a' homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" -description = "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities." +description = """SpatiaLite is an open source library intended to extend the SQLite core to support + fully fledged Spatial SQL capabilities.""" toolchain = {'name': 'foss', 'version': '2015a'} toolchainopts = {'usempi': False, 'pic': True} -download_suffix = '' source_urls = ['http://www.gaia-gis.it/gaia-sins/'] sources = [SOURCE_TAR_GZ] @@ -20,13 +20,13 @@ dependencies = [ ('PROJ', '4.9.1'), ] -configopts = '--disable-geosadvanced' - builddependencies = [('CMake', '3.4.1')] +configopts = '--disable-geosadvanced' + sanity_check_paths = { - 'files': ["lib/libspatialite.la"], - 'dirs': ["lib","include"] - } + 'files': ['include/spatialite.h', 'lib/libspatialite.a', 'lib/libspatialite.%s' % SHLIB_EXT], + 'dirs': ['include/spatialite'], +} moduleclass = 'lib' -- GitLab From 3d06bee341da3eabb296d5135d0e6232c238763f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 14:40:00 +0200 Subject: [PATCH 0201/1089] add easyconfig ncurses-6.0.eb --- .../easyconfigs/n/ncurses/ncurses-6.0.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb new file mode 100644 index 0000000000..51d2a6f539 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.0' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' -- GitLab From deeb8507d99dc04fed2b4c98c6620b27a60844f6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 13:57:59 +0100 Subject: [PATCH 0202/1089] bump DB version to 4.8.30 --- .../easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb | 1 - .../easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb | 26 ------------------- .../d/DB/DB-4.8.30-goolf-1.4.10.eb | 4 +-- .../easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb | 18 +++++++++++++ .../easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb | 18 +++++++++++++ .../DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb | 4 +-- .../DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb | 4 +-- .../DB_File-1.831-intel-2015b-Perl-5.20.3.eb | 4 +-- 8 files changed, 41 insertions(+), 38 deletions(-) delete mode 100644 easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb create mode 100644 easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb create mode 100644 easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb diff --git a/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb b/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb index 3fd0bf8310..e2cb4b55ad 100644 --- a/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/d/DB/DB-2.7.7-ictce-5.5.0.eb @@ -6,7 +6,6 @@ description = """Berkeley DB enables the development of custom data management s without the overhead traditionally associated with such custom projects.""" toolchain = {'name': 'ictce', 'version': '5.5.0'} -toolchainopts = {'pic': True} source_urls = ['http://download.oracle.com/berkeley-db'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb b/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb deleted file mode 100644 index 14aa5bb4b4..0000000000 --- a/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2015b.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'DB' -version = '2.7.7' - -homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' -description = """Berkeley DB enables the development of custom data management solutions, - without the overhead traditionally associated with such custom projects.""" - -toolchain = {'name': 'intel', 'version': '2015b'} -toolchainopts = {'pic': True} - -source_urls = ['http://download.oracle.com/berkeley-db'] -sources = [SOURCELOWER_TAR_GZ] - -modextrapaths = { - 'PATH': ["BerkeleyDB/bin"], - 'CPATH': ["BerkeleyDB/include"], - 'LD_LIBRARY_PATH': ["BerkeleyDB/lib"], - 'LIBRARY_PATH': ["BerkeleyDB/lib"], -} - -sanity_check_paths = { - 'files': ["BerkeleyDB/include/db.h", "BerkeleyDB/include/db_cxx.h", "BerkeleyDB/lib/libdb.a"], - 'dirs': ["BerkeleyDB/bin"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb index bebd111842..bee3a45a5e 100644 --- a/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb @@ -11,8 +11,8 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCELOWER_TAR_GZ] sanity_check_paths = { - 'files': ["include/db.h"], - 'dirs': [], + 'files': ['include/db.h', 'include/db_cxx.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': ['bin'], } moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb new file mode 100644 index 0000000000..9f4aaab492 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb @@ -0,0 +1,18 @@ +name = 'DB' +version = '4.8.30' + +homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' +description = """Berkeley DB enables the development of custom data management solutions, + without the overhead traditionally associated with such custom projects.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +# download via http://www.oracle.com/technetwork/products/berkeleydb/downloads/, requires registration +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/db.h', 'include/db_cxx.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb new file mode 100644 index 0000000000..ba87547173 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb @@ -0,0 +1,18 @@ +name = 'DB' +version = '4.8.30' + +homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' +description = """Berkeley DB enables the development of custom data management solutions, + without the overhead traditionally associated with such custom projects.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +# download via http://www.oracle.com/technetwork/products/berkeleydb/downloads/, requires registration +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/db.h', 'include/db_cxx.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb index ae8fad8810..babf824aa1 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.18.2.eb @@ -14,11 +14,9 @@ sources = [SOURCE_TAR_GZ] dependencies = [ ('Perl', '5.18.2'), - ('DB', '2.7.7'), + ('DB', '4.8.30'), ] -configopts = "LIB=$EBROOTDB/BerkeleyDB/lib INCLUDE=$EBROOTDB/BerkeleyDB/include" - sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb index d043d18175..2eb7bd63e2 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-ictce-5.5.0-Perl-5.20.0.eb @@ -14,11 +14,9 @@ sources = [SOURCE_TAR_GZ] dependencies = [ ('Perl', '5.20.0'), - ('DB', '2.7.7'), + ('DB', '4.8.30'), ] -configopts = "LIB=$EBROOTDB/BerkeleyDB/lib INCLUDE=$EBROOTDB/BerkeleyDB/include" - sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb index bfb50297a7..7a984ebf4c 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.831-intel-2015b-Perl-5.20.3.eb @@ -14,11 +14,9 @@ sources = [SOURCE_TAR_GZ] dependencies = [ ('Perl', '5.20.3'), - ('DB', '2.7.7'), + ('DB', '4.8.30'), ] -configopts = "LIB=$EBROOTDB/BerkeleyDB/lib INCLUDE=$EBROOTDB/BerkeleyDB/include" - sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], -- GitLab From 7b5b30ccc3aec8aeba02be0c6dc49bdef1ce8381 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 14:00:10 +0100 Subject: [PATCH 0203/1089] fix source URL for DB 4.8.30 --- easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb | 2 +- easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb index bee3a45a5e..f567e411fb 100644 --- a/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-goolf-1.4.10.eb @@ -7,7 +7,7 @@ description = """Berkeley DB enables the development of custom data management s toolchain = {'name': 'goolf', 'version': '1.4.10'} -# download via http://www.oracle.com/technetwork/products/berkeleydb/downloads/, requires registration +source_urls = ['http://download.oracle.com/berkeley-db/'] sources = [SOURCELOWER_TAR_GZ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb index 9f4aaab492..42d43b6f8e 100644 --- a/easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-ictce-5.5.0.eb @@ -7,7 +7,7 @@ description = """Berkeley DB enables the development of custom data management s toolchain = {'name': 'ictce', 'version': '5.5.0'} -# download via http://www.oracle.com/technetwork/products/berkeleydb/downloads/, requires registration +source_urls = ['http://download.oracle.com/berkeley-db/'] sources = [SOURCELOWER_TAR_GZ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb index ba87547173..0155873f3f 100644 --- a/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2015b.eb @@ -7,7 +7,7 @@ description = """Berkeley DB enables the development of custom data management s toolchain = {'name': 'intel', 'version': '2015b'} -# download via http://www.oracle.com/technetwork/products/berkeleydb/downloads/, requires registration +source_urls = ['http://download.oracle.com/berkeley-db/'] sources = [SOURCELOWER_TAR_GZ] sanity_check_paths = { -- GitLab From 96a3cb72c685932ecda3566fc8c97146d1633318 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 15:35:50 +0100 Subject: [PATCH 0204/1089] bump DB version to 4.8.30 --- .../easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb | 26 ------------------- .../easyconfigs/d/DB/DB-4.8.30-intel-2016a.eb | 18 +++++++++++++ .../DB_File-1.835-intel-2016a-Perl-5.20.3.eb | 2 +- 3 files changed, 19 insertions(+), 27 deletions(-) delete mode 100644 easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb create mode 100644 easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2016a.eb diff --git a/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb b/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb deleted file mode 100644 index fc6e649d7b..0000000000 --- a/easybuild/easyconfigs/d/DB/DB-2.7.7-intel-2016a.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'DB' -version = '2.7.7' - -homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' -description = """Berkeley DB enables the development of custom data management solutions, - without the overhead traditionally associated with such custom projects.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -source_urls = ['http://download.oracle.com/berkeley-db'] -sources = [SOURCELOWER_TAR_GZ] - -modextrapaths = { - 'PATH': ["BerkeleyDB/bin"], - 'CPATH': ["BerkeleyDB/include"], - 'LD_LIBRARY_PATH': ["BerkeleyDB/lib"], - 'LIBRARY_PATH': ["BerkeleyDB/lib"], -} - -sanity_check_paths = { - 'files': ["BerkeleyDB/include/db.h", "BerkeleyDB/include/db_cxx.h", "BerkeleyDB/lib/libdb.a"], - 'dirs': ["BerkeleyDB/bin"], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2016a.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2016a.eb new file mode 100644 index 0000000000..aec133eedf --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-intel-2016a.eb @@ -0,0 +1,18 @@ +name = 'DB' +version = '4.8.30' + +homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' +description = """Berkeley DB enables the development of custom data management solutions, + without the overhead traditionally associated with such custom projects.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/db.h', 'include/db_cxx.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb index 780f3183cd..c1d977b9e2 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-intel-2016a-Perl-5.20.3.eb @@ -14,7 +14,7 @@ sources = [SOURCE_TAR_GZ] dependencies = [ ('Perl', '5.20.3'), - ('DB', '2.7.7'), + ('DB', '4.8.30'), ] sanity_check_paths = { -- GitLab From f01d759d7a83885c7cd546e242c2849723a50b95 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 17:32:53 +0200 Subject: [PATCH 0205/1089] add easyconfig BioPerl-1.6.924-intel-2016a-Perl-5.20.3.eb --- ...BioPerl-1.6.924-intel-2016a-Perl-5.20.3.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/b/BioPerl/BioPerl-1.6.924-intel-2016a-Perl-5.20.3.eb diff --git a/easybuild/easyconfigs/b/BioPerl/BioPerl-1.6.924-intel-2016a-Perl-5.20.3.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.6.924-intel-2016a-Perl-5.20.3.eb new file mode 100644 index 0000000000..4145ed2b91 --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.6.924-intel-2016a-Perl-5.20.3.eb @@ -0,0 +1,23 @@ +easyblock = 'PerlModule' + +name = 'BioPerl' +version = '1.6.924' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://www.bioperl.org/' +description = """Bioperl is the product of a community effort to produce Perl code which is useful in biology. + Examples include Sequence objects, Alignment objects and database searching objects.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/bioperl/bioperl-live/archive/'] +sources = ['release-%s.tar.gz' % version.replace('.', '-')] + +dependencies = [ + ('Perl', '5.20.3'), + ('DB_File', '1.835', versionsuffix), +] + +options = {'modulename': 'Bio::Perl'} + +moduleclass = 'bio' -- GitLab From db62cbe554a9e0000a51489ac73e335bda616c77 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 17:54:42 +0200 Subject: [PATCH 0206/1089] add easyconfig MAST-20160111-intel-2015b-R-3.2.1.eb --- .../MAST/MAST-20160111-intel-2015b-R-3.2.1.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/m/MAST/MAST-20160111-intel-2015b-R-3.2.1.eb diff --git a/easybuild/easyconfigs/m/MAST/MAST-20160111-intel-2015b-R-3.2.1.eb b/easybuild/easyconfigs/m/MAST/MAST-20160111-intel-2015b-R-3.2.1.eb new file mode 100644 index 0000000000..c085da3378 --- /dev/null +++ b/easybuild/easyconfigs/m/MAST/MAST-20160111-intel-2015b-R-3.2.1.eb @@ -0,0 +1,25 @@ +easyblock = 'RPackage' + +name = 'MAST' +version = '20160111' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/RGLab/MAST' +description = """Tools and methods for analysis of single cell assay data in R""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/RGLab/MAST/archive/'] +sources = ['8234b18.tar.gz'] + +dependencies = [ + ('R', '3.2.1'), + ('R-bundle-Bioconductor', '3.1', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'lib' -- GitLab From 9976756eff680b58611c1c762960589766047b78 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 17:11:27 +0100 Subject: [PATCH 0207/1089] update list of extensions for R 3.2.1 (req. for ShrinkBayes) --- easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb index 73337ba428..0b60771f8e 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb @@ -395,6 +395,13 @@ exts_list = [ ('Lmoments', '1.1-6', ext_options), ('distillery', '1.0-2', ext_options), ('extRemes', '2.0-7', ext_options), + ('pixmap', '0.4-11', ext_options), + ('tkrplot', '0.0-23', ext_options), + ('misc3d', '0.8-4', ext_options), + ('multicool', '0.1-9', ext_options), + ('ks', '1.10.1', ext_options), + ('logcondens', '2.1.4', ext_options), + ('Iso', '0.0-17', ext_options), ] moduleclass = 'lang' -- GitLab From 94fe4826fb4a4c93f7852e3b7f351d742799a2cb Mon Sep 17 00:00:00 2001 From: John-Paul Robinson Date: Mon, 22 Feb 2016 10:12:08 -0600 Subject: [PATCH 0208/1089] Create texinfo 4.13a easyconfig Create a texinfo 4.13 easyconfig based on the newer 5.2 easyconfig to support builing older GCC (<=4.7.2) on newer systems. The 4.x releases of texinfo tolerated a document parsing error in earlier versions of GCC. In particular, loading the resulting module allows building GCC 4.7.2 on CentOS7. This GCC is the foundation of the goolf-1.4.10 toolchain used by many bioinformatics packages in the current EasyBuild (2.6). The easyconfig's GCC requirement was set to 4.8.4 as a convinience to match the version of GCC likely already built by the goolf-1.7.20 toolchain. --- .../t/texinfo/texinfo-4.13a-GCC-4.8.4.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/t/texinfo/texinfo-4.13a-GCC-4.8.4.eb diff --git a/easybuild/easyconfigs/t/texinfo/texinfo-4.13a-GCC-4.8.4.eb b/easybuild/easyconfigs/t/texinfo/texinfo-4.13a-GCC-4.8.4.eb new file mode 100644 index 0000000000..ab42d5c737 --- /dev/null +++ b/easybuild/easyconfigs/t/texinfo/texinfo-4.13a-GCC-4.8.4.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'texinfo' +version = '4.13a' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """Texinfo is the official documentation format of the GNU project.""" + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'GCC', 'version': '4.8.4'} + +osdependencies = ['texlive'] + +preinstallopts = "make TEXMF=%(installdir)s/texmf install-tex && " + +# This will overwrite a users $TEXMFHOME so this module is best used as a build dependency +modextravars = {'TEXMFHOME': '%(installdir)s/texmf'} +modloadmsg = "\n\nWARNING: This texinfo module has (re)defined the value for the environment variable \\$TEXMFHOME.\n" +modloadmsg += "If you use a custom texmf directory (such as ~/texmf) you should copy files found in the\n" +modloadmsg += "new \\$TEXMFHOME to your custom directory and reset the value of \\$TEXMFHOME to point to that space:\n" +modloadmsg += "\tcp -r $TEXMFHOME/* /path/to/your/texmf\n" +modloadmsg += "\texport TEXMFHOME=/path/to/your/texmf\n\n" + +sanity_check_paths = { + 'files': ['bin/info', 'bin/makeinfo', 'bin/texi2pdf', 'texmf/tex/texinfo/texinfo.tex'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 287331b8e9c78e397f19d4b6a5f01f5c149eca66 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 22 Feb 2016 20:24:46 +0100 Subject: [PATCH 0209/1089] fix output of 'pplacer --version' --- .../pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index b23402e2e0..7d55417f25 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -39,6 +39,9 @@ prebuildopts = "rm -rf %(installdir)s && export OPAMROOT=%(installdir)s && opam prebuildopts += "opam repo add pplacer-deps %(builddir)s/pplacer-opam-repository*/ && " prebuildopts += "opam update pplacer-deps && eval `opam config env` && " prebuildopts += "export OCAML_BACKEND=gcc && cat opam-requirements.txt | xargs opam install -y && " +prebuildopts += "echo 'let version = \"v%(version)s\"\n' > common_src/version.ml && " + +# parallel build tends to break parallel = 1 files_to_copy = ['bin'] @@ -48,4 +51,6 @@ sanity_check_paths = { 'dirs': [], } +sanity_check_commands = [('pplacer', '--version | grep %(version)s')] + moduleclass = 'bio' -- GitLab From 9dbf17be9966d47aa53cb66632d15ff725c9bf84 Mon Sep 17 00:00:00 2001 From: John-Paul Robinson Date: Mon, 22 Feb 2016 14:00:24 -0600 Subject: [PATCH 0210/1089] Removed GCC version dependency from texinfo-4.13a easyconfig Update the easyconfig for texinfo to build using the dummy toolchain. This removes the version dependency on a particular GCC for the build and allows a cleaner dependency chain. The goal of building GCC 4.7.2 with this easyconfig won't depend on building a later version of GCC first. It will simply depend on the compiler already available in the environment. --- .../t/texinfo/{texinfo-4.13a-GCC-4.8.4.eb => texinfo-4.13a.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/t/texinfo/{texinfo-4.13a-GCC-4.8.4.eb => texinfo-4.13a.eb} (95%) diff --git a/easybuild/easyconfigs/t/texinfo/texinfo-4.13a-GCC-4.8.4.eb b/easybuild/easyconfigs/t/texinfo/texinfo-4.13a.eb similarity index 95% rename from easybuild/easyconfigs/t/texinfo/texinfo-4.13a-GCC-4.8.4.eb rename to easybuild/easyconfigs/t/texinfo/texinfo-4.13a.eb index ab42d5c737..1f3105220a 100644 --- a/easybuild/easyconfigs/t/texinfo/texinfo-4.13a-GCC-4.8.4.eb +++ b/easybuild/easyconfigs/t/texinfo/texinfo-4.13a.eb @@ -9,7 +9,7 @@ description = """Texinfo is the official documentation format of the GNU project source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -toolchain = {'name': 'GCC', 'version': '4.8.4'} +toolchain = {'name': 'dummy', 'version': ''} osdependencies = ['texlive'] -- GitLab From 32da2fef77be402b96b2f0ebc7791d8226879634 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 23 Feb 2016 10:03:29 +1030 Subject: [PATCH 0211/1089] Add picard 1.141 and 2.1.0 with Java 1.8.0_74 --- .../p/picard/picard-1.141-Java-1.8.0_74.eb | 18 +++++++++++++++++ .../p/picard/picard-2.1.0-Java-1.8.0_74.eb | 20 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb create mode 100644 easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb diff --git a/easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb b/easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb new file mode 100644 index 0000000000..3c1e54038f --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb @@ -0,0 +1,18 @@ +name = 'picard' +version = '1.141' + +homepage = 'http://broadinstitute.github.io/picard/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM + (http://samtools.github.io/hts-specs) format.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] +sources = ['%(name)s-tools-%(version)s.zip'] + +java = 'Java' +javaver = '1.8.0_74' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb b/easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb new file mode 100644 index 0000000000..2c1613a976 --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb @@ -0,0 +1,20 @@ +name = 'picard' +version = '2.1.0' + +homepage = 'http://broadinstitute.github.io/picard/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM + (http://samtools.github.io/hts-specs) format.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] +sources = ['%(name)s-tools-%(version)s.zip'] + +java = 'Java' +javaver = '1.8.0_74' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] + +modloadmsg = "To execute picard run: java -jar \\${EBROOTPICARD}/%(name)s.jar" + +moduleclass = 'bio' -- GitLab From 79893898874cac6df84108d8faa8f2482bf3b0c8 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 23 Feb 2016 10:04:51 +1030 Subject: [PATCH 0212/1089] Added NextClip 1.3.1 using foss-2015b --- .../n/NextClip/NextClip-1.3.1-foss-2015b.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb diff --git a/easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb b/easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb new file mode 100644 index 0000000000..b4ac0527df --- /dev/null +++ b/easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb @@ -0,0 +1,24 @@ +easyblock = 'MakeCp' + +name = 'NextClip' +version = '1.3.1' + +homepage = 'https://github.com/richardmleggett/nextclip' +description = """Nextera Long Mate Pair analysis and processing tool.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = ['https://github.com/richardmleggett/nextclip/archive'] +sources = ['NextClip_v%(version)s.tar.gz'] + +files_to_copy = ['bin', 'examples', 'scripts', 'nextclipmanual.pdf'] + +sanity_check_paths = { + 'files': ["bin/nextclip"], + 'dirs': [], +} + +# to add script folder to path just uncomment this line +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' -- GitLab From ba11c9863958218fa12ec282f9d15ad2e5a29380 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 23 Feb 2016 12:29:59 +1030 Subject: [PATCH 0213/1089] Made changes according to suggestions by @boegel --- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb index dfcbaddec1..71dd3c4e06 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb @@ -20,13 +20,10 @@ sources = ['%(name)s_%(version)s.tar.gz' ] prebuildopts = 'cd jni && ' -os_type = platform.system() -if os_type == 'Linux': - buildopts = '-f makefile.linux' -elif os_type == 'Darwin': - buildopts = '-f makefile.osx' +suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % suff -files_to_copy = ['./*'] +files_to_copy = ['*'] sanity_check_paths = { 'files': ['bbmap.sh'], -- GitLab From 5ef9ccfb95a4bbc11a2f2c636ec3ea444522d387 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 23 Feb 2016 12:31:01 +1030 Subject: [PATCH 0214/1089] Added easy config for Java 1.8.0_74 --- .../BBMap-35.82-foss-2015b-Java-1.8.0_74.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb new file mode 100644 index 0000000000..c02118b3a9 --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb @@ -0,0 +1,37 @@ +import platform + +easyblock = 'MakeCp' + +name = 'BBMap' +version = '35.82' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +java = 'Java' +javaver = '1.8.0_74' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver, '', True)] + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz' ] + +prebuildopts = 'cd jni && ' + +suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % suff + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': ['bbmap.sh'], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the compiled jni C code." + +moduleclass = 'bio' -- GitLab From c0c654f960fc9865838fa0e1eb87fa608c917529 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 10:46:38 +0200 Subject: [PATCH 0215/1089] add easyconfig Java-1.8.0_74.eb --- easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb new file mode 100644 index 0000000000..c9ef30b97e --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_74.eb @@ -0,0 +1,15 @@ +name = 'Java' +version = '1.8.0_74' + +homepage = 'http://java.com/' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy + Java applications on desktops and servers.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download the tar.gz directly from http://www.oracle.com/technetwork/java/javase/downloads/index.html +(vp, vs) = version.split('_') +altver = '%su%s' % (vp.split('.')[1], vs) +sources = ['jdk-%s-linux-x64.tar.gz' % altver] + +moduleclass = 'lang' -- GitLab From fc228cbf1815d938ba8121592264bbc26c525f95 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 23 Feb 2016 10:17:59 +0100 Subject: [PATCH 0216/1089] Remove hard-coded -xSSE4.2 for scipy with intel compiler --- .../p/Python/Python-3.5.1-intel-2016a.eb | 1 + .../p/Python/numpy-1.10.4-sse42.patch | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/p/Python/numpy-1.10.4-sse42.patch diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb index 0a2f41e168..d0254354b9 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb @@ -41,6 +41,7 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/n/numpy/'], 'patches': [ 'numpy-1.8.0-mkl.patch', # % numpyversion, + 'numpy-%s-sse42.patch' % numpyversion, ], }), ('scipy', scipyversion, { diff --git a/easybuild/easyconfigs/p/Python/numpy-1.10.4-sse42.patch b/easybuild/easyconfigs/p/Python/numpy-1.10.4-sse42.patch new file mode 100644 index 0000000000..75ffeaa0d5 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/numpy-1.10.4-sse42.patch @@ -0,0 +1,25 @@ +#Remove hard coded -xSSE4.2 compilation flag for Intel compilers (add the usual -xHOST) +#compilation would fail on non-SSE4.2 CPUs, and for further CPUs/compilers it would restrict the generated code to SSE4.2 +# February 19th, 2016 by B. Hajgato - Free University Brussels (VUB) +--- ./numpy/distutils/intelccompiler.py.orig 2016-01-06 22:07:54.000000000 +0100 ++++ ./numpy/distutils/intelccompiler.py 2016-02-19 15:07:00.438235792 +0100 +@@ -54,7 +54,7 @@ + def __init__(self, verbose=0, dry_run=0, force=0): + UnixCCompiler.__init__(self, verbose, dry_run, force) + self.cc_exe = ('icc -m64 -fPIC -fp-model strict -O3 ' +- '-fomit-frame-pointer -openmp -xSSE4.2') ++ '-fomit-frame-pointer -openmp -xHOST') + compiler = self.cc_exe + if platform.system() == 'Darwin': + shared_flag = '-Wl,-undefined,dynamic_lookup' +--- ./numpy/distutils/fcompiler/intel.py.orig 2016-01-07 03:16:25.000000000 +0100 ++++ ./numpy/distutils/fcompiler/intel.py 2016-02-19 15:07:16.424220745 +0100 +@@ -123,7 +123,7 @@ + return ['-openmp -fp-model strict'] + + def get_flags_arch(self): +- return ['-xSSE4.2'] ++ return ['-xHOST'] + + # Is there no difference in the version string between the above compilers + # and the Visual compilers? -- GitLab From afdf8a54cf71a27b8f4f6824897c26b59dc880c0 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 11:14:44 +0100 Subject: [PATCH 0217/1089] fix remark --- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb index 810207a42e..0a78e38ade 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb @@ -23,7 +23,7 @@ source_urls = [ 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ - 'ocaml-%(version)s.tar.gz', + SOURCELOWER_TAR_GZ, 'opam-full-%s.tar.gz' % opam_ver, ] diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb index 144def4311..eb591f01b3 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -23,7 +23,7 @@ source_urls = [ 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ - 'ocaml-%(version)s.tar.gz', + SOURCELOWER_TAR_GZ, 'opam-full-%s.tar.gz' % opam_ver, ] -- GitLab From afaa6ff4b4f85865b5ae8ff83ce0a4d9f7d3610b Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 23 Feb 2016 11:36:14 +0100 Subject: [PATCH 0218/1089] configfiles with numpy 1.10 included --- .../p/Python/Python-2.7.11-intel-2015b.eb | 5 +++- .../p/Python/Python-2.7.11-intel-2016a.eb | 5 +++- .../p/Python/Python-3.5.1-intel-2016a.eb | 2 +- .../p/Python/numpy-1.10.1-sse42.patch | 25 +++++++++++++++++++ 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 easybuild/easyconfigs/p/Python/numpy-1.10.1-sse42.patch diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb index 256977ab08..74d0c82b50 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb @@ -43,7 +43,10 @@ exts_list = [ }), ('numpy', numpyversion, { 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': ['numpy-1.8.0-mkl.patch'], + 'patches': [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%s-sse42.patch' % numpyversion, + ], }), ('scipy', scipyversion, { 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb index 68dbf9f030..6819a492c9 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb @@ -43,7 +43,10 @@ exts_list = [ }), ('numpy', numpyversion, { 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': ['numpy-1.8.0-mkl.patch'], + 'patches': [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%s-sse42.patch' % numpyversion, + ], }), ('scipy', scipyversion, { 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb index d0254354b9..e610aff618 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb @@ -40,7 +40,7 @@ exts_list = [ ('numpy', numpyversion, { 'source_urls': ['https://pypi.python.org/packages/source/n/numpy/'], 'patches': [ - 'numpy-1.8.0-mkl.patch', # % numpyversion, + 'numpy-1.8.0-mkl.patch', 'numpy-%s-sse42.patch' % numpyversion, ], }), diff --git a/easybuild/easyconfigs/p/Python/numpy-1.10.1-sse42.patch b/easybuild/easyconfigs/p/Python/numpy-1.10.1-sse42.patch new file mode 100644 index 0000000000..60cdd96731 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/numpy-1.10.1-sse42.patch @@ -0,0 +1,25 @@ +#Remove hard coded -xSSE4.2 compilation flag for Intel compilers (add the usual -xHOST) +#compilation would fail on non-SSE4.2 CPUs, and for further CPUs/compilers it would restrict the generated code to SSE4.2 +# February 19th, 2016 by B. Hajgato - Free University Brussels (VUB) +--- numpy/distutils/intelccompiler.py.orig 2015-10-12 16:29:01.000000000 +0200 ++++ numpy/distutils/intelccompiler.py 2016-02-23 11:31:50.350422787 +0100 +@@ -49,7 +49,7 @@ + def __init__(self, verbose=0, dry_run=0, force=0): + UnixCCompiler.__init__(self, verbose, dry_run, force) + self.cc_exe = ('icc -m64 -fPIC -fp-model strict -O3 ' +- '-fomit-frame-pointer -openmp -xSSE4.2') ++ '-fomit-frame-pointer -openmp -xHOST') + compiler = self.cc_exe + self.set_executables(compiler=compiler, + compiler_so=compiler, +--- numpy/distutils/fcompiler/intel.py.orig 2015-10-12 16:29:01.000000000 +0200 ++++ numpy/distutils/fcompiler/intel.py 2016-02-23 11:31:50.350422787 +0100 +@@ -123,7 +123,7 @@ + return ['-openmp -fp-model strict'] + + def get_flags_arch(self): +- return ['-xSSE4.2'] ++ return ['-xHOST'] + + # Is there no difference in the version string between the above compilers + # and the Visual compilers? -- GitLab From 8cb4757e1083c7f7748737ac153c7c72a2657156 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 11:45:49 +0100 Subject: [PATCH 0219/1089] use pplacer easyblock --- ...cer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb index 7d55417f25..67fa1882a4 100644 --- a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -1,5 +1,3 @@ -easyblock = 'MakeCp' - name = 'pplacer' version = '1.1.alpha16' @@ -34,23 +32,7 @@ builddependencies = [ ('M4', '1.4.17'), ] -# see http://matsen.github.io/pplacer/compiling.html#opam -prebuildopts = "rm -rf %(installdir)s && export OPAMROOT=%(installdir)s && opam init && " -prebuildopts += "opam repo add pplacer-deps %(builddir)s/pplacer-opam-repository*/ && " -prebuildopts += "opam update pplacer-deps && eval `opam config env` && " -prebuildopts += "export OCAML_BACKEND=gcc && cat opam-requirements.txt | xargs opam install -y && " -prebuildopts += "echo 'let version = \"v%(version)s\"\n' > common_src/version.ml && " - # parallel build tends to break parallel = 1 -files_to_copy = ['bin'] - -sanity_check_paths = { - 'files': ['bin/guppy', 'bin/pplacer', 'bin/rppr'], - 'dirs': [], -} - -sanity_check_commands = [('pplacer', '--version | grep %(version)s')] - moduleclass = 'bio' -- GitLab From 031c4c9f1f87fcccf0248a2f0c73bf1c99e2645a Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 23 Feb 2016 21:16:18 +1030 Subject: [PATCH 0220/1089] removed import statements and wrapped lines longer than 120 chars --- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb | 5 ++--- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb index 71dd3c4e06..2679eeb7f4 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb @@ -1,5 +1,3 @@ -import platform - easyblock = 'MakeCp' name = 'BBMap' @@ -32,6 +30,7 @@ sanity_check_paths = { modextrapaths = {'PATH': ''} -modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the compiled jni C code." +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the + compiled jni C code." moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb index c02118b3a9..e9d0c0554f 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb @@ -1,5 +1,3 @@ -import platform - easyblock = 'MakeCp' name = 'BBMap' @@ -32,6 +30,7 @@ sanity_check_paths = { modextrapaths = {'PATH': ''} -modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the compiled jni C code." +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the + compiled jni C code." moduleclass = 'bio' -- GitLab From fbf8fc17849937fc4749f29ee88bb6d042a73049 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 11:47:46 +0100 Subject: [PATCH 0221/1089] sync up R 3.2.1 and 3.2.3 easyconfigs w.r.t. list of extensions --- .../easyconfigs/r/R/R-3.2.1-foss-2015b.eb | 21 +++++++++++++++++++ .../easyconfigs/r/R/R-3.2.1-intel-2015a.eb | 21 +++++++++++++++++++ .../easyconfigs/r/R/R-3.2.3-foss-2015b.eb | 21 +++++++++++++++++++ 3 files changed, 63 insertions(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb index 79832f4acc..23d28da007 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb @@ -383,6 +383,27 @@ exts_list = [ ('EasyABC', '1.5', ext_options), ('shape', '1.4.2', ext_options), ('tidyr', '0.3.1', ext_options), + ('whisker', '0.3-2', ext_options), + ('rstudioapi', '0.4.0', ext_options), + ('roxygen2', '5.0.1', ext_options), + ('git2r', '0.13.1', ext_options), + ('xml2', '0.1.2', ext_options), + ('rversions', '1.0.2', ext_options), + ('devtools', '1.9.1', ext_options), + ('Rook', '1.1-1', ext_options), + ('rjson', '0.2.15', ext_options), + ('Cairo', '1.5-9', ext_options), + ('RMTstat', '0.3', ext_options), + ('Lmoments', '1.1-6', ext_options), + ('distillery', '1.0-2', ext_options), + ('extRemes', '2.0-7', ext_options), + ('pixmap', '0.4-11', ext_options), + ('tkrplot', '0.0-23', ext_options), + ('misc3d', '0.8-4', ext_options), + ('multicool', '0.1-9', ext_options), + ('ks', '1.10.1', ext_options), + ('logcondens', '2.1.4', ext_options), + ('Iso', '0.0-17', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb index 06397a454b..b7ba0004fa 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb @@ -383,6 +383,27 @@ exts_list = [ ('EasyABC', '1.5', ext_options), ('shape', '1.4.2', ext_options), ('tidyr', '0.3.1', ext_options), + ('whisker', '0.3-2', ext_options), + ('rstudioapi', '0.4.0', ext_options), + ('roxygen2', '5.0.1', ext_options), + ('git2r', '0.13.1', ext_options), + ('xml2', '0.1.2', ext_options), + ('rversions', '1.0.2', ext_options), + ('devtools', '1.9.1', ext_options), + ('Rook', '1.1-1', ext_options), + ('rjson', '0.2.15', ext_options), + ('Cairo', '1.5-9', ext_options), + ('RMTstat', '0.3', ext_options), + ('Lmoments', '1.1-6', ext_options), + ('distillery', '1.0-2', ext_options), + ('extRemes', '2.0-7', ext_options), + ('pixmap', '0.4-11', ext_options), + ('tkrplot', '0.0-23', ext_options), + ('misc3d', '0.8-4', ext_options), + ('multicool', '0.1-9', ext_options), + ('ks', '1.10.1', ext_options), + ('logcondens', '2.1.4', ext_options), + ('Iso', '0.0-17', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb index 5a07a10c24..ce43b870fa 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb @@ -394,6 +394,27 @@ exts_list = [ ('tensorA', '0.36', ext_options), ('EasyABC', '1.5', ext_options), ('shape', '1.4.2', ext_options), + ('whisker', '0.3-2', ext_options), + ('rstudioapi', '0.4.0', ext_options), + ('roxygen2', '5.0.1', ext_options), + ('git2r', '0.13.1', ext_options), + ('xml2', '0.1.2', ext_options), + ('rversions', '1.0.2', ext_options), + ('devtools', '1.9.1', ext_options), + ('Rook', '1.1-1', ext_options), + ('rjson', '0.2.15', ext_options), + ('Cairo', '1.5-9', ext_options), + ('RMTstat', '0.3', ext_options), + ('Lmoments', '1.1-6', ext_options), + ('distillery', '1.0-2', ext_options), + ('extRemes', '2.0-7', ext_options), + ('pixmap', '0.4-11', ext_options), + ('tkrplot', '0.0-23', ext_options), + ('misc3d', '0.8-4', ext_options), + ('multicool', '0.1-9', ext_options), + ('ks', '1.10.1', ext_options), + ('logcondens', '2.1.4', ext_options), + ('Iso', '0.0-17', ext_options), ] moduleclass = 'lang' -- GitLab From 3801590fa7c269c8915ca8bbb7b88e10d2653927 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 23 Feb 2016 11:50:08 +0100 Subject: [PATCH 0222/1089] numpy patches for -xSSE4.2 added --- .../numpy-1.10.1-intel-2015b-Python-2.7.10.eb | 5 +++- .../n/numpy/numpy-1.10.1-sse42.patch | 25 +++++++++++++++++++ .../numpy-1.10.4-intel-2015b-Python-2.7.10.eb | 5 +++- .../numpy-1.10.4-intel-2016a-Python-2.7.11.eb | 5 +++- .../n/numpy/numpy-1.10.4-sse42.patch | 25 +++++++++++++++++++ 5 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.10.1-sse42.patch create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.10.4-sse42.patch diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.10.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/n/numpy/numpy-1.10.1-intel-2015b-Python-2.7.10.eb index 49bbddc678..8d802d968f 100644 --- a/easybuild/easyconfigs/n/numpy/numpy-1.10.1-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/n/numpy/numpy-1.10.1-intel-2015b-Python-2.7.10.eb @@ -13,7 +13,10 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['numpy-1.8.0-mkl.patch'] +patches = [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%(version)s-sse42.patch', +] python = 'Python' pyver = '2.7.10' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.10.1-sse42.patch b/easybuild/easyconfigs/n/numpy/numpy-1.10.1-sse42.patch new file mode 100644 index 0000000000..60cdd96731 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.10.1-sse42.patch @@ -0,0 +1,25 @@ +#Remove hard coded -xSSE4.2 compilation flag for Intel compilers (add the usual -xHOST) +#compilation would fail on non-SSE4.2 CPUs, and for further CPUs/compilers it would restrict the generated code to SSE4.2 +# February 19th, 2016 by B. Hajgato - Free University Brussels (VUB) +--- numpy/distutils/intelccompiler.py.orig 2015-10-12 16:29:01.000000000 +0200 ++++ numpy/distutils/intelccompiler.py 2016-02-23 11:31:50.350422787 +0100 +@@ -49,7 +49,7 @@ + def __init__(self, verbose=0, dry_run=0, force=0): + UnixCCompiler.__init__(self, verbose, dry_run, force) + self.cc_exe = ('icc -m64 -fPIC -fp-model strict -O3 ' +- '-fomit-frame-pointer -openmp -xSSE4.2') ++ '-fomit-frame-pointer -openmp -xHOST') + compiler = self.cc_exe + self.set_executables(compiler=compiler, + compiler_so=compiler, +--- numpy/distutils/fcompiler/intel.py.orig 2015-10-12 16:29:01.000000000 +0200 ++++ numpy/distutils/fcompiler/intel.py 2016-02-23 11:31:50.350422787 +0100 +@@ -123,7 +123,7 @@ + return ['-openmp -fp-model strict'] + + def get_flags_arch(self): +- return ['-xSSE4.2'] ++ return ['-xHOST'] + + # Is there no difference in the version string between the above compilers + # and the Visual compilers? diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2015b-Python-2.7.10.eb index db4b5f54bf..a7d1f53ad3 100644 --- a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2015b-Python-2.7.10.eb @@ -13,7 +13,10 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['numpy-1.8.0-mkl.patch'] +patches = [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%(version)s-sse42.patch', +] python = 'Python' pyver = '2.7.10' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2016a-Python-2.7.11.eb index b76b0c1b2e..62945ed938 100644 --- a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-intel-2016a-Python-2.7.11.eb @@ -14,7 +14,10 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['numpy-1.8.0-mkl.patch'] +patches = [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%(version)s-sse42.patch', +] dependencies = [ ('Python', '2.7.11'), diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-sse42.patch b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-sse42.patch new file mode 100644 index 0000000000..75ffeaa0d5 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-sse42.patch @@ -0,0 +1,25 @@ +#Remove hard coded -xSSE4.2 compilation flag for Intel compilers (add the usual -xHOST) +#compilation would fail on non-SSE4.2 CPUs, and for further CPUs/compilers it would restrict the generated code to SSE4.2 +# February 19th, 2016 by B. Hajgato - Free University Brussels (VUB) +--- ./numpy/distutils/intelccompiler.py.orig 2016-01-06 22:07:54.000000000 +0100 ++++ ./numpy/distutils/intelccompiler.py 2016-02-19 15:07:00.438235792 +0100 +@@ -54,7 +54,7 @@ + def __init__(self, verbose=0, dry_run=0, force=0): + UnixCCompiler.__init__(self, verbose, dry_run, force) + self.cc_exe = ('icc -m64 -fPIC -fp-model strict -O3 ' +- '-fomit-frame-pointer -openmp -xSSE4.2') ++ '-fomit-frame-pointer -openmp -xHOST') + compiler = self.cc_exe + if platform.system() == 'Darwin': + shared_flag = '-Wl,-undefined,dynamic_lookup' +--- ./numpy/distutils/fcompiler/intel.py.orig 2016-01-07 03:16:25.000000000 +0100 ++++ ./numpy/distutils/fcompiler/intel.py 2016-02-19 15:07:16.424220745 +0100 +@@ -123,7 +123,7 @@ + return ['-openmp -fp-model strict'] + + def get_flags_arch(self): +- return ['-xSSE4.2'] ++ return ['-xHOST'] + + # Is there no difference in the version string between the above compilers + # and the Visual compilers? -- GitLab From 9a32aba82c42a4c8b6b0680b28ddf172aa9c64db Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 11:52:05 +0100 Subject: [PATCH 0223/1089] remove duplicate entries in R extensions list --- easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb | 2 -- easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb | 2 -- 2 files changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb index 23d28da007..b1cc503084 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb @@ -366,8 +366,6 @@ exts_list = [ ('SuperLearner', '2.0-15', ext_options), ('lpSolve', '5.6.13', ext_options), ('mediation', '4.4.5', ext_options), - ('lpSolve', '5.6.13', ext_options), - ('mediation', '4.4.5', ext_options), ('caret', '6.0-57', ext_options), ('adabag', '4.1', ext_options), ('parallelMap', '1.3', ext_options), diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb index b7ba0004fa..0e86ace8cb 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb @@ -366,8 +366,6 @@ exts_list = [ ('SuperLearner', '2.0-15', ext_options), ('lpSolve', '5.6.13', ext_options), ('mediation', '4.4.5', ext_options), - ('lpSolve', '5.6.13', ext_options), - ('mediation', '4.4.5', ext_options), ('caret', '6.0-57', ext_options), ('adabag', '4.1', ext_options), ('parallelMap', '1.3', ext_options), -- GitLab From d6f0769eac43fe6b190c5deef61b372d41880623 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 14:15:34 +0100 Subject: [PATCH 0224/1089] fix sanity check for xtrans --- easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb | 5 ++--- easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb | 5 ++--- easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb | 5 ++--- .../easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb | 7 ++++--- easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb | 5 ++--- easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb | 5 ++--- 6 files changed, 14 insertions(+), 18 deletions(-) diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb index 1d6eb396ed..0edc961a34 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb @@ -15,9 +15,8 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', - 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', - 'Xtranstli.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtranstli.c', 'Xtransutil.c']], 'dirs': [], } diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb index 23de4f9f86..1a4f54a0c5 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb @@ -15,9 +15,8 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', - 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', - 'Xtranstli.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], 'dirs': [], } diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb index f7ff52f126..01968fd489 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb @@ -15,9 +15,8 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', - 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', - 'Xtranstli.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], 'dirs': [], } diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb index aba9aa9dae..0f0fef97b7 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb @@ -15,9 +15,10 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', - 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', - 'Xtranstli.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', 'Xtranslcl.c', + 'Xtranssock.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], 'dirs': [], } diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb index 3b75c81b7b..0613532497 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb @@ -15,9 +15,8 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', - 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', - 'Xtranstli.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], 'dirs': [], } diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb index bfcb216ed9..21b74f6cfe 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb @@ -15,9 +15,8 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', - 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', - 'Xtranstli.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], 'dirs': [], } -- GitLab From f6644ed91896d7a7d17000d33204d46d54ebdf6c Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 23 Feb 2016 14:23:05 +0100 Subject: [PATCH 0225/1089] {vis}[intel-2016b] libX11 1.6.3 (REVIEW) --- .../inputproto-2.3.1-intel-2016a.eb | 19 ++++++++++ .../k/kbproto/kbproto-1.0.7-intel-2016a.eb | 19 ++++++++++ .../l/libX11/libX11-1.6.3-intel-2016a.eb | 37 +++++++++++++++++++ .../l/libXau/libXau-1.0.8-intel-2016a.eb | 25 +++++++++++++ .../libpthread-stubs-0.3-intel-2016a.eb | 20 ++++++++++ .../l/libxcb/libxcb-1.11.1-intel-2016a.eb | 31 ++++++++++++++++ ...cb-proto-1.11-intel-2016a-Python-2.7.11.eb | 27 ++++++++++++++ .../xextproto/xextproto-7.3.0-intel-2016a.eb | 25 +++++++++++++ .../x/xproto/xproto-7.0.28-intel-2016a.eb | 23 ++++++++++++ .../x/xtrans/xtrans-1.3.5-intel-2016a.eb | 23 ++++++++++++ 10 files changed, 249 insertions(+) create mode 100644 easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb new file mode 100644 index 0000000000..323816dd0b --- /dev/null +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'inputproto' +version = '2.3.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org InputProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb new file mode 100644 index 0000000000..29d6a6987a --- /dev/null +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'kbproto' +version = '1.0.7' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org KBProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb new file mode 100644 index 0000000000..abaa07d7cf --- /dev/null +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libX11' +version = '1.6.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xextproto', '7.3.0'), + ('xcb-proto', '1.11', '-Python-2.7.11'), + ('inputproto', '2.3.1'), + ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), + ('kbproto', '1.0.7'), + ('xtrans', '1.3.5'), +] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'cursorfont.h', 'ImUtil.h', 'Xcms.h', 'XKBlib.h', 'XlibConf.h', 'Xlib.h', 'Xlibint.h', 'Xlib-xcb.h', + 'Xlocale.h', 'Xregion.h', 'Xresource.h', 'Xutil.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb new file mode 100644 index 0000000000..cca4ea1438 --- /dev/null +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXau' +version = '1.0.8' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXau package contains a library implementing the X11 Authorization Protocol. +This is useful for restricting client access to the display.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb new file mode 100644 index 0000000000..afc1225690 --- /dev/null +++ b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libpthread-stubs' +version = '0.3' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +sanity_check_paths = { + 'files': ['lib/pkgconfig/pthread-stubs.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb new file mode 100644 index 0000000000..0a842ce83c --- /dev/null +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libxcb' +version = '1.11.1' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('xcb-proto', '1.11', '-Python-2.7.11'), + ('libpthread-stubs', '0.3'), +] +dependencies = [ + ('libXau', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", + "-randr", "-record", "-render", "-res", "-screensaver", + "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", + "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'dirs': ['include/xcb', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..80c7b50387 --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-proto' +version = '1.11' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pyver = '2.7.11' +versionsuffix = '-%s-%s' % (python, pyver) +builddependencies = [(python, pyver)] + +pyshortver = '.'.join(pyver.split('.')[0:2]) + +sanity_check_paths = { + 'files': ['lib/pkgconfig/xcb-proto.pc'], + 'dirs': ['lib/python%s/site-packages/xcbgen' % pyshortver] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb new file mode 100644 index 0000000000..dcc6160700 --- /dev/null +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'xextproto' +version = '7.3.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """XExtProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'agproto.h', 'cupproto.h', 'dbeproto.h', 'dpmsproto.h', 'EVIproto.h', 'geproto.h', 'lbxproto.h', + 'mitmiscproto.h', 'multibufproto.h', 'securproto.h', 'shapeproto.h', 'shm.h', 'shmstr.h', 'syncproto.h', + 'xtestconst.h', 'xtestext1proto.h' + ] + ], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb new file mode 100644 index 0000000000..1d3df458a7 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.28' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', + 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', + 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', + 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb new file mode 100644 index 0000000000..217429b1ab --- /dev/null +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xtrans' +version = '1.3.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """xtrans includes a number of routines to make X implementations transport-independent; + at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 4810e815ae6b4bea733def7fae731886979003e6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 14:47:40 +0100 Subject: [PATCH 0226/1089] fix double files entry --- easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb index 0f0fef97b7..ed6733fd17 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb @@ -15,8 +15,6 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', 'Xtranslcl.c', - 'Xtranssock.c', 'Xtransutil.c']], 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], 'dirs': [], -- GitLab From 6878b7887ac71609905c68debe4face53a5ed438 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 14:48:31 +0100 Subject: [PATCH 0227/1089] add patch for building multicool with intel/2015a --- easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb | 2 +- .../r/R/multicool-0.1-9_icpc-wd308.patch | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb index 0e86ace8cb..81ca43ddff 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb @@ -398,7 +398,7 @@ exts_list = [ ('pixmap', '0.4-11', ext_options), ('tkrplot', '0.0-23', ext_options), ('misc3d', '0.8-4', ext_options), - ('multicool', '0.1-9', ext_options), + ('multicool', '0.1-9', dict(ext_options.items() + [('patches', [('multicool-0.1-9_icpc-wd308.patch', 1)])])), ('ks', '1.10.1', ext_options), ('logcondens', '2.1.4', ext_options), ('Iso', '0.0-17', ext_options), diff --git a/easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch b/easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch new file mode 100644 index 0000000000..cb7beebcc6 --- /dev/null +++ b/easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch @@ -0,0 +1,14 @@ +diff -ruN multicool.orig/MD5 multicool/MD5 +--- multicool.orig/MD5 2015-10-28 18:39:18.000000000 +0100 ++++ multicool/MD5 2016-02-23 14:09:09.547773000 +0100 +@@ -20,3 +20,4 @@ + b18b7e9e5912cf1014aa2c2fa8e86047 *src/compositions.cpp + 79239d0d8b59b7533a639d668c3a0857 *src/multicool.cpp + 62c660482671757c5490a422d955cbe1 *src/multinomial.h ++b1d3a4d02405fe08c7983c479bc27f13 *src/Makevars +diff -ruN multicool.orig/src/Makevars multicool/src/Makevars +--- multicool.orig/src/Makevars 1970-01-01 01:00:00.000000000 +0100 ++++ multicool/src/Makevars 2016-02-23 13:24:01.456230240 +0100 +@@ -0,0 +1,2 @@ ++# disable Intel C++ compiler (icpc) warning/error #308, to avoid 'member "std::complex::_M_value" is inaccessible' ++PKG_CXXFLAGS = -wd308 -- GitLab From 752b19dbf1591386f9162513035d783916619b86 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 15:07:19 +0100 Subject: [PATCH 0228/1089] add comment in patch file --- easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch b/easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch index cb7beebcc6..35704c2945 100644 --- a/easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch +++ b/easybuild/easyconfigs/r/R/multicool-0.1-9_icpc-wd308.patch @@ -1,3 +1,5 @@ +add -wd308 compiler option to avoid compiler warning #308 being treated as an error +author: Kenneth Hoste (HPC-UGent) diff -ruN multicool.orig/MD5 multicool/MD5 --- multicool.orig/MD5 2015-10-28 18:39:18.000000000 +0100 +++ multicool/MD5 2016-02-23 14:09:09.547773000 +0100 -- GitLab From 48c9941ab0e9a10a48691e432d81dc940cb1fa3f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 15:16:02 +0100 Subject: [PATCH 0229/1089] Hercules foundation is now FWO --- setup.py | 2 +- test/__init__.py | 2 +- test/easyconfigs/easyconfigs.py | 2 +- test/easyconfigs/suite.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 73bcfd5c01..52810146f6 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# the Hercules foundation (http://www.herculesstichting.be/in_English) +# FWO (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild diff --git a/test/__init__.py b/test/__init__.py index c4b9363e8a..2769d58e65 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -5,7 +5,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# the Hercules foundation (http://www.herculesstichting.be/in_English) +# FWO (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index e2e81c58df..5f0914847a 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -5,7 +5,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# the Hercules foundation (http://www.herculesstichting.be/in_English) +# FWO (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild diff --git a/test/easyconfigs/suite.py b/test/easyconfigs/suite.py index 6afbd6ffb1..bfdd952cee 100644 --- a/test/easyconfigs/suite.py +++ b/test/easyconfigs/suite.py @@ -6,7 +6,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# the Hercules foundation (http://www.herculesstichting.be/in_English) +# FWO (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild -- GitLab From ed3d5eedf7410555842e2c32df5dba82cfc2a058 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 15:25:05 +0100 Subject: [PATCH 0230/1089] fix remarks --- setup.py | 2 +- test/__init__.py | 2 +- test/easyconfigs/easyconfigs.py | 2 +- test/easyconfigs/suite.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 52810146f6..e1abe096bf 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# FWO (http://www.fwo.be/en) +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild diff --git a/test/__init__.py b/test/__init__.py index 2769d58e65..856f7e4178 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -5,7 +5,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# FWO (http://www.fwo.be/en) +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 5f0914847a..f3b329c872 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -5,7 +5,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# FWO (http://www.fwo.be/en) +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild diff --git a/test/easyconfigs/suite.py b/test/easyconfigs/suite.py index bfdd952cee..79a1fb0d08 100644 --- a/test/easyconfigs/suite.py +++ b/test/easyconfigs/suite.py @@ -6,7 +6,7 @@ # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), # with support of Ghent University (http://ugent.be/hpc), # the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en), -# FWO (http://www.fwo.be/en) +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) # and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en). # # http://github.com/hpcugent/easybuild -- GitLab From 9dfe8a7ff4e67d9f2707bbd8dd3a2e4d079a33ca Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Tue, 23 Feb 2016 16:06:10 +0100 Subject: [PATCH 0231/1089] added new libxml2 with proper configure options to use zlib provided by easybuild --- .../l/libxml2/libxml2-2.9.3-goolf-1.7.20.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-goolf-1.7.20.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-goolf-1.7.20.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-goolf-1.7.20.eb new file mode 100644 index 0000000000..66513c188b --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-goolf-1.7.20.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'goolf', 'version': '1.7.20'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' -- GitLab From 007e97273afcad25295f6ab2989fb52cde171ef9 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 18:05:38 +0200 Subject: [PATCH 0232/1089] add easyconfig ANSYS_CFD-17.0.eb --- .../easyconfigs/a/ANSYS_CFD/ANSYS_CFD-17.0.eb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 easybuild/easyconfigs/a/ANSYS_CFD/ANSYS_CFD-17.0.eb diff --git a/easybuild/easyconfigs/a/ANSYS_CFD/ANSYS_CFD-17.0.eb b/easybuild/easyconfigs/a/ANSYS_CFD/ANSYS_CFD-17.0.eb new file mode 100644 index 0000000000..0217d1be22 --- /dev/null +++ b/easybuild/easyconfigs/a/ANSYS_CFD/ANSYS_CFD-17.0.eb @@ -0,0 +1,15 @@ +easyblock = 'EB_FLUENT' + +name = 'ANSYS_CFD' +version = '17.0' + +homepage = 'http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics' +description = """ANSYS computational fluid dynamics (CFD) simulation software allows you to predict, with confidence, + the impact of fluid flows on your product throughout design and manufacturing as well as during end use. + ANSYS renowned CFD analysis tools include the widely used and well-validated ANSYS Fluent and ANSYS CFX.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +sources = ['FLUIDSTRUCTURES_%s_LINX64.tar' % ''.join(version.split('.'))] + +moduleclass = 'cae' -- GitLab From 1334f50e26a5190c56a8cb49feda8253e36d6cf4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 17:21:56 +0100 Subject: [PATCH 0233/1089] add HCsnip to Bioconductor bundles --- .../R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb | 5 +++++ .../R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb | 5 +++++ .../R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb index b172ff0137..bcc39b48aa 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb @@ -133,6 +133,11 @@ exts_list = [ ('derfinder', '1.2.1', bioconductor_options), ('polyester', '1.4.0', bioconductor_options), ('Rsubread', '1.18.0', bioconductor_options), + ('pcaMethods', '1.58.0', bioconductor_options), + ('CGHbase', '1.28.0', bioconductor_options), + ('marray', '1.46.0', bioconductor_options), + ('sigaR', '1.12.0', bioconductor_options), + ('HCsnip', '1.8.0', bioconductor_options), ] modextrapaths = {'R_LIBS': ''} diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb index 8c43cb0960..180d089207 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb @@ -133,6 +133,11 @@ exts_list = [ ('derfinder', '1.2.1', bioconductor_options), ('polyester', '1.4.0', bioconductor_options), ('Rsubread', '1.18.0', bioconductor_options), + ('pcaMethods', '1.58.0', bioconductor_options), + ('CGHbase', '1.28.0', bioconductor_options), + ('marray', '1.46.0', bioconductor_options), + ('sigaR', '1.12.0', bioconductor_options), + ('HCsnip', '1.8.0', bioconductor_options), ] modextrapaths = {'R_LIBS': ''} diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb index 1a0beb9ba9..01e62a5a31 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb @@ -134,6 +134,10 @@ exts_list = [ ('polyester', '1.4.0', bioconductor_options), ('Rsubread', '1.18.0', bioconductor_options), ('pcaMethods', '1.58.0', bioconductor_options), + ('CGHbase', '1.28.0', bioconductor_options), + ('marray', '1.46.0', bioconductor_options), + ('sigaR', '1.12.0', bioconductor_options), + ('HCsnip', '1.8.0', bioconductor_options), ] modextrapaths = {'R_LIBS': ''} -- GitLab From 97c56f72dec2eef45e1cd0379ee51a54b826830e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 17:26:59 +0100 Subject: [PATCH 0234/1089] fix order --- .../R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb | 2 +- .../R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb | 2 +- .../R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb index bcc39b48aa..9b319b7e55 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb @@ -134,8 +134,8 @@ exts_list = [ ('polyester', '1.4.0', bioconductor_options), ('Rsubread', '1.18.0', bioconductor_options), ('pcaMethods', '1.58.0', bioconductor_options), - ('CGHbase', '1.28.0', bioconductor_options), ('marray', '1.46.0', bioconductor_options), + ('CGHbase', '1.28.0', bioconductor_options), ('sigaR', '1.12.0', bioconductor_options), ('HCsnip', '1.8.0', bioconductor_options), ] diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb index 180d089207..e7aac6aac1 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb @@ -134,8 +134,8 @@ exts_list = [ ('polyester', '1.4.0', bioconductor_options), ('Rsubread', '1.18.0', bioconductor_options), ('pcaMethods', '1.58.0', bioconductor_options), - ('CGHbase', '1.28.0', bioconductor_options), ('marray', '1.46.0', bioconductor_options), + ('CGHbase', '1.28.0', bioconductor_options), ('sigaR', '1.12.0', bioconductor_options), ('HCsnip', '1.8.0', bioconductor_options), ] diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb index 01e62a5a31..e6d844c21e 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb @@ -134,8 +134,8 @@ exts_list = [ ('polyester', '1.4.0', bioconductor_options), ('Rsubread', '1.18.0', bioconductor_options), ('pcaMethods', '1.58.0', bioconductor_options), - ('CGHbase', '1.28.0', bioconductor_options), ('marray', '1.46.0', bioconductor_options), + ('CGHbase', '1.28.0', bioconductor_options), ('sigaR', '1.12.0', bioconductor_options), ('HCsnip', '1.8.0', bioconductor_options), ] -- GitLab From 03f1bcdd659c63cc48230b1fc4e6bbc37bbe637d Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 23 Feb 2016 17:51:03 +0100 Subject: [PATCH 0235/1089] removes craype and fftw from the toolchain --- easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb | 2 -- easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb | 2 -- easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb | 2 -- easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb | 2 -- easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb | 2 -- easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb | 2 -- 6 files changed, 12 deletions(-) diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb index c35ce0b32e..4fa134a241 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb @@ -11,10 +11,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ ('PrgEnv-cray/5.2.40', EXTERNAL_MODULE), ('cce/8.3.12', EXTERNAL_MODULE), - ('craype/2.4.0', EXTERNAL_MODULE), ('cray-libsci/13.0.4', EXTERNAL_MODULE), ('cray-mpich/7.2.2', EXTERNAL_MODULE), - ('fftw/3.3.4.3', EXTERNAL_MODULE), ] moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb index 3433ca305d..947665d0f0 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb @@ -11,10 +11,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ ('PrgEnv-cray/5.2.82', EXTERNAL_MODULE), ('cce/8.4.1', EXTERNAL_MODULE), - ('craype/2.4.2', EXTERNAL_MODULE), ('cray-libsci/13.2.0', EXTERNAL_MODULE), ('cray-mpich/7.2.6', EXTERNAL_MODULE), - ('fftw/3.3.4.5', EXTERNAL_MODULE), ] moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb index f804d0e859..4f31279f13 100644 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb @@ -11,10 +11,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ ('PrgEnv-gnu/5.2.40', EXTERNAL_MODULE), ('gcc/4.8.2', EXTERNAL_MODULE), - ('craype/2.4.0', EXTERNAL_MODULE), ('cray-libsci/13.0.4', EXTERNAL_MODULE), ('cray-mpich/7.2.2', EXTERNAL_MODULE), - ('fftw/3.3.4.3', EXTERNAL_MODULE), ] moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb index 15eb5087e5..410ddc97f5 100644 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb @@ -11,10 +11,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ ('PrgEnv-gnu/5.2.82', EXTERNAL_MODULE), ('gcc/4.9.3', EXTERNAL_MODULE), - ('craype/2.4.2', EXTERNAL_MODULE), ('cray-libsci/13.2.0', EXTERNAL_MODULE), ('cray-mpich/7.2.6', EXTERNAL_MODULE), - ('fftw/3.3.4.5', EXTERNAL_MODULE), ] moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb index 5ee5f118a3..0c39be9a84 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb @@ -11,10 +11,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ ('PrgEnv-intel/5.2.82', EXTERNAL_MODULE), ('intel/15.0.1.133', EXTERNAL_MODULE), - ('craype/2.4.0', EXTERNAL_MODULE), ('cray-libsci/13.0.4', EXTERNAL_MODULE), ('cray-mpich/7.2.2', EXTERNAL_MODULE), - ('fftw/3.3.4.3', EXTERNAL_MODULE), ] moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb index 7846b2d7c5..d021b8f24e 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb @@ -11,10 +11,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ ('PrgEnv-intel/5.2.82', EXTERNAL_MODULE), ('intel/15.0.1.133', EXTERNAL_MODULE), - ('craype/2.4.2', EXTERNAL_MODULE), ('cray-libsci/13.2.0', EXTERNAL_MODULE), ('cray-mpich/7.2.6', EXTERNAL_MODULE), - ('fftw/3.3.4.5', EXTERNAL_MODULE), ] moduleclass = 'toolchain' -- GitLab From 009ca8514d0d7008cdd3bb986c2ec1eb9cf64095 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 18:23:18 +0100 Subject: [PATCH 0236/1089] add more extensions, use patch file when building multicool with intel toolchain --- easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb | 5 +++++ easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb | 5 +++++ easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb | 7 ++++++- easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb | 5 +++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb index b1cc503084..de7294123d 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-foss-2015b.eb @@ -402,6 +402,11 @@ exts_list = [ ('ks', '1.10.1', ext_options), ('logcondens', '2.1.4', ext_options), ('Iso', '0.0-17', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.0-24', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb index 81ca43ddff..644dcc259b 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015a.eb @@ -402,6 +402,11 @@ exts_list = [ ('ks', '1.10.1', ext_options), ('logcondens', '2.1.4', ext_options), ('Iso', '0.0-17', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.0-24', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb index 0b60771f8e..36f8e25856 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.1-intel-2015b.eb @@ -398,10 +398,15 @@ exts_list = [ ('pixmap', '0.4-11', ext_options), ('tkrplot', '0.0-23', ext_options), ('misc3d', '0.8-4', ext_options), - ('multicool', '0.1-9', ext_options), + ('multicool', '0.1-9', dict(ext_options.items() + [('patches', [('multicool-0.1-9_icpc-wd308.patch', 1)])])), ('ks', '1.10.1', ext_options), ('logcondens', '2.1.4', ext_options), ('Iso', '0.0-17', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.0-24', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb index ce43b870fa..aae3ac82f6 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb @@ -415,6 +415,11 @@ exts_list = [ ('ks', '1.10.1', ext_options), ('logcondens', '2.1.4', ext_options), ('Iso', '0.0-17', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.1-2', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), ] moduleclass = 'lang' -- GitLab From 7ff6b215544bef956a196f30cc7bc67876ffb786 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 18:43:57 +0100 Subject: [PATCH 0237/1089] add --with-zlib configure argument in libxml easyconfigs --- .../l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED-Python-2.7.3.eb | 2 +- .../easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED.eb | 2 +- .../l/libxml2/libxml2-2.8.0-goolf-1.4.10-Python-2.7.3.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10.eb | 2 +- .../l/libxml2/libxml2-2.8.0-ictce-4.0.6-Python-2.7.3.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6.eb | 2 +- .../l/libxml2/libxml2-2.8.0-ictce-4.1.13-Python-2.7.3.eb | 2 +- .../l/libxml2/libxml2-2.8.0-ictce-5.3.0-Python-2.7.3.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0.eb | 2 +- .../l/libxml2/libxml2-2.8.0-intel-2015a-Python-2.7.3.eb | 2 +- .../easyconfigs/l/libxml2/libxml2-2.9.0-goalf-1.1.0-no-OFED.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-5.3.0.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gmpolf-1.4.8.eb | 2 +- .../easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.1.0-no-OFED.eb | 2 +- .../easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.5.12-no-OFED.eb | 2 +- .../easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.5.14.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.3.0.eb | 2 +- .../l/libxml2/libxml2-2.9.1-ictce-5.5.0-Python-2.7.6.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-7.1.2.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-intel-2014b.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.2.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GNU-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015a.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015b.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.14.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.7.20.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014.06.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014b.eb | 2 +- .../l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.10.eb | 2 +- .../l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.9.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a.eb | 2 +- easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015b.eb | 2 +- .../l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb | 2 +- .../l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.10.eb | 2 +- .../l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.11.eb | 2 +- .../l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11.eb | 2 +- 46 files changed, 46 insertions(+), 46 deletions(-) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED-Python-2.7.3.eb index 5fdaa5d70c..e98bac6018 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED-Python-2.7.3.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.3' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED.eb index 952422def7..4a4a4816ab 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goalf-1.1.0-no-OFED.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10-Python-2.7.3.eb index 4a1316692f..e1868be130 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10-Python-2.7.3.eb @@ -13,7 +13,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.3' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10.eb index f2fa0134cb..00021cddc9 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-goolf-1.4.10.eb @@ -15,7 +15,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6-Python-2.7.3.eb index 33784ddde9..b82e8e6c93 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6-Python-2.7.3.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.3' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6.eb index 3117fe0a65..91e1ffbc9c 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.0.6.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.1.13-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.1.13-Python-2.7.3.eb index cc27d1b86c..31e824b5ea 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.1.13-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-4.1.13-Python-2.7.3.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.3' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0-Python-2.7.3.eb index 61308782ea..5a92ef8bcb 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0-Python-2.7.3.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.3' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0.eb index fd29030590..98b15d6f97 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-ictce-5.3.0.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2015a-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2015a-Python-2.7.3.eb index 81d93bf45c..3f185c7e6d 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2015a-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2015a-Python-2.7.3.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.3' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goalf-1.1.0-no-OFED.eb index 8a4a61220f..0567c075f0 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goalf-1.1.0-no-OFED.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goolf-1.4.10.eb index 0aa0c13986..ee43d716e2 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-goolf-1.4.10.eb @@ -15,7 +15,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.0.6.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.0.6.eb index b1af1bc74e..06cdc26c76 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.0.6.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.1.13.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.1.13.eb index 1364db9fd8..3042a3cf37 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-4.1.13.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-5.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-5.3.0.eb index c35a6e9fc3..f0aa6dee9c 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.0-ictce-5.3.0.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gmpolf-1.4.8.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gmpolf-1.4.8.eb index 60a6e14404..33b6562e0f 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gmpolf-1.4.8.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gmpolf-1.4.8.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.1.0-no-OFED.eb index b388d01bd8..e44ddd0d64 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.1.0-no-OFED.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.5.12-no-OFED.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.5.12-no-OFED.eb index f80ae7c225..90b9bc8ea5 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.5.12-no-OFED.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goalf-1.5.12-no-OFED.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb index 6bb7068cf9..487bf333ac 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-gompi-1.4.12-no-OFED.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10.eb index 2382dbbd47..5448805458 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.5.14.eb index 72ae920157..b09000568f 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.5.14.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.0.6.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.0.6.eb index 8a60398865..3e1cc77790 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.0.6.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.1.13.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.1.13.eb index a2720d5e9b..5da6298832 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-4.1.13.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb index 1c1b880f56..aa7e4b1f77 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.2.0.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.3.0.eb index 90f80b2804..e50f08d5e3 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.3.0.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.7')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0-Python-2.7.6.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0-Python-2.7.6.eb index 449f38ddfb..9d4e84392a 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0-Python-2.7.6.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0-Python-2.7.6.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.6' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0.eb index 118fae1f4c..0cdacffa3a 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-5.5.0.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-7.1.2.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-7.1.2.eb index 615b01f264..ca67a911c1 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-7.1.2.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-ictce-7.1.2.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-intel-2014b.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-intel-2014b.eb index 222bbd19cd..c6335dd8b2 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-intel-2014b.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.2.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.2.eb index 7575c86f51..841eddc11e 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.2.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.3-2.25.eb index 01f5647249..8d892b499f 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GCC-4.9.3-2.25.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GNU-4.9.3-2.25.eb index 9bdf731db3..3c33fb41da 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-GNU-4.9.3-2.25.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015a.eb index 541ab91f1b..ae39cc8c24 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015a.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015a.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015b.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015b.eb index 8fd891d71a..ad02e51c2e 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015b.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-foss-2015b.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.14.eb index 9d5d34d98e..f232e382c0 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.14.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.7.20.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.7.20.eb index aa5618634d..22d8c149d6 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.7.20.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014.06.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014.06.eb index fe435074c9..acdd85b6e6 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014.06.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014.06.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014b.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014b.eb index 7f753229e0..22aefe7d0c 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2014b.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.10.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.10.eb index e102ff79f5..37724f23f1 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.10.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.10.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.10' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.9.eb index da831a62f3..307b1793d4 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a-Python-2.7.9.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.9' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a.eb index f49980dfe3..1a4f4c99c4 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015a.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015b.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015b.eb index b18959ba97..b95f92dfd9 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2015b.eb @@ -17,7 +17,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [('zlib', '1.2.8')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb index 28c3bb06af..6cafc86e4f 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a-Python-2.7.11.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.11' pythonshortver = '.'.join(pythonver.split('.')[:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.10.eb index 51c493e7e0..34777c9cc6 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.10.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.10' pythonshortver = '.'.join(pythonver.split('.')[0:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.11.eb index 61e0b9ca78..b28071061a 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2015b-Python-2.7.11.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pythonver = '2.7.11' pythonshortver = '.'.join(pythonver.split('.')[:2]) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11.eb index 41e4fc099e..41e2af0e98 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11.eb @@ -14,7 +14,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' pyver = '2.7.11' pyshortver = '.'.join(pyver.split('.')[:2]) -- GitLab From 263c142e3957856e7b302834d5aa74a217b8893a Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 24 Feb 2016 05:29:55 +1030 Subject: [PATCH 0238/1089] triple-quote wrapping string --- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb index 2679eeb7f4..1bf6254658 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb @@ -30,7 +30,7 @@ sanity_check_paths = { modextrapaths = {'PATH': ''} -modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the - compiled jni C code." +modloadmsg = """For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the + compiled jni C code.""" moduleclass = 'bio' -- GitLab From 9813d105d5aa2726a0c4ef66f48d6b9495995ade Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 24 Feb 2016 05:30:30 +1030 Subject: [PATCH 0239/1089] triple-quote wrapping string --- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb index e9d0c0554f..d0f2ef813c 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb @@ -30,7 +30,7 @@ sanity_check_paths = { modextrapaths = {'PATH': ''} -modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the - compiled jni C code." +modloadmsg = """For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the + compiled jni C code.""" moduleclass = 'bio' -- GitLab From 2c337996819704e08175c378fc033633ef940ead Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 23 Feb 2016 21:11:05 +0100 Subject: [PATCH 0240/1089] add additional deps required for Bioconductor extensions --- easybuild/easyconfigs/r/R/R-3.2.0-goolf-1.7.20.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.0-goolf-1.7.20.eb b/easybuild/easyconfigs/r/R/R-3.2.0-goolf-1.7.20.eb index 37f178514d..499d383ce4 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.0-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.0-goolf-1.7.20.eb @@ -348,6 +348,11 @@ exts_list = [ ('gdalUtils', '0.3.1', ext_options), ('pracma', '1.8.3', ext_options), ('bio3d', '2.2-2', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.0-24', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), ] moduleclass = 'lang' -- GitLab From 3f5d02ad4d2f1206346fca2a7a0ef370c26e5702 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Tue, 23 Feb 2016 21:36:38 +0100 Subject: [PATCH 0241/1089] ctffind-4.0.17-intel-2015a.eb --- .../c/ctffind/ctffind-4.0.17-intel-2015a.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015a.eb diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015a.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015a.eb new file mode 100644 index 0000000000..650aea81eb --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015a.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'MakeCp' + +name = 'ctffind' +version = '4.0.17' + +homepage = 'http://grigoriefflab.janelia.org/ctffind4' +description = """program for finding CTFs of electron micrographs""" + +toolchain = {'name': 'intel', 'version': '2015a'} +toolchainopts = {'openmp': True} + +source_urls = ['http://grigoriefflab.janelia.org/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('GSL', '1.16')] + +# when running ./configure in the root folder it fails. +# application doesn't provide a 'make install' +prebuildopts = 'mkdir build && cd build && ' +prebuildopts += ' ../configure --enable-static --disable-debug --enable-optimisations --enable-openmp FC=${FC} F77=${F77} && ' + +files_to_copy = [(['build/ctffind'], 'bin'), 'doc', 'scripts'] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +modloadmsg = """Define OMP_NUM_THREADS or use the command line option --omp-num-threads=N when using this application""" + +moduleclass = 'bio' -- GitLab From 992f0591971ca3c922def68b7ab40e1556b40853 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Wed, 24 Feb 2016 14:13:55 +1300 Subject: [PATCH 0242/1089] New EasyConfig for non-Python version of libxml2 2.9.3 with the foss 2015a toolchain --- .../l/libxml2/libxml2-2.9.3-foss-2015a.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb new file mode 100644 index 0000000000..7c1a817fb6 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2015a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' + +dependencies = [ + ('zlib', '1.2.8'), +] + +moduleclass = 'lib' -- GitLab From 3021683dd3556e76a3a06e229d4e338153d82764 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Wed, 24 Feb 2016 14:22:59 +1300 Subject: [PATCH 0243/1089] No longer require python bindings for libxml2 dependency --- easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb index fdbd875ff2..001e2879da 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.1-foss-2015a.eb @@ -20,7 +20,7 @@ dependencies = [ ('netCDF', '4.3.3.1'), ('HDF5', '1.8.16'), ('expat', '2.1.0'), - ('libxml2', '2.9.3', '-Python-2.7.11'), + ('libxml2', '2.9.3'), ('zlib', '1.2.8'), ] -- GitLab From 5b24009a577a16d5a09779397447cac1a3269c88 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 24 Feb 2016 07:17:15 +0000 Subject: [PATCH 0244/1089] Use Boost 1.60.0 without Python extra ver for BH --- easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb b/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb index 314d4d2d26..16cdd37dda 100644 --- a/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb +++ b/easybuild/easyconfigs/b/BH/BH-1.60.0-1-foss-2015b-R-3.2.3.eb @@ -25,7 +25,7 @@ versionsuffix = '-%s-%s' % (r, rver) dependencies = [ (r, rver), - ('Boost', '1.58.0', '-Python-2.7.10'), + ('Boost', '1.60.0'), ] sanity_check_paths = { -- GitLab From 2d163f93442b9a6ba1a2199077229050ae80edff Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Wed, 24 Feb 2016 09:03:56 +0100 Subject: [PATCH 0245/1089] switch toolchain from intel-2015a to intel-2015b --- ...find-4.0.17-intel-2015a.eb => ctffind-4.0.17-intel-2015b.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/c/ctffind/{ctffind-4.0.17-intel-2015a.eb => ctffind-4.0.17-intel-2015b.eb} (95%) diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015a.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015b.eb similarity index 95% rename from easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015a.eb rename to easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015b.eb index 650aea81eb..c378da306a 100644 --- a/easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015a.eb +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.0.17-intel-2015b.eb @@ -11,7 +11,7 @@ version = '4.0.17' homepage = 'http://grigoriefflab.janelia.org/ctffind4' description = """program for finding CTFs of electron micrographs""" -toolchain = {'name': 'intel', 'version': '2015a'} +toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'openmp': True} source_urls = ['http://grigoriefflab.janelia.org/sites/default/files/'] -- GitLab From 2a35ad1780dabe3004626493e8af25e727e92483 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 24 Feb 2016 09:05:36 +0100 Subject: [PATCH 0246/1089] {compiler}[intel-2016b] LLVM 3.7.1 (REVIEW) --- .../l/LLVM/LLVM-3.7.1-intel-2016a.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb new file mode 100644 index 0000000000..2605ca36ca --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'LLVM' +version = '3.7.1' + +homepage = "http://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] + +builddependencies = [ + ('CMake', '3.4.3'), + ('Python', '2.7.11'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' + +sanity_check_paths = { + 'files': ['bin/llvm-ar'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +separate_build_dir = True + +moduleclass = 'compiler' -- GitLab From 1c022d289c4f01b916e7e531e83905d8ce590b7d Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 24 Feb 2016 09:52:52 +0100 Subject: [PATCH 0247/1089] {system}[intel-2016b] eudev 3.1.5 (REVIEW) --- .../e/eudev/eudev-3.1.5-intel-2016a.eb | 33 +++++++++++++++++++ .../g/gperf/gperf-3.0.4-intel-2016a.eb | 22 +++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 easybuild/easyconfigs/e/eudev/eudev-3.1.5-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/e/eudev/eudev-3.1.5-intel-2016a.eb b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-intel-2016a.eb new file mode 100644 index 0000000000..8da9fd6afa --- /dev/null +++ b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-intel-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'eudev' +version = '3.1.5' + +homepage = 'https://wiki.gentoo.org/wiki/Project:Eudev' +description = """eudev is a fork of systemd-udev with the goal of obtaining + better compatibility with existing software such as + OpenRC and Upstart, older kernels, various toolchains + and anything else required by users and various distributions.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'cstd': 'c99'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://dev.gentoo.org/~blueness/%(name)s/'] +patches = ['%(name)s-3.1.2_pre-2.6.34_kernel.patch'] + +builddependencies = [ + ('gperf', '3.0.4'), +] + +osdependencies = [('kernel-headers', 'linux-libc-dev')] + +configopts = '--disable-blkid --disable-selinux --disable-gudev --disable-manpages ' +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/udevadm', 'include/libudev.h', 'include/udev.h', 'lib/libudev.so.1'], + 'dirs': [], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb new file mode 100644 index 0000000000..5938576aa7 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/gperf/' +description = """GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash + function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash + function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single + string comparison only.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 88d299aab7ad9f435840b3605e00feabfb219c5d Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 24 Feb 2016 10:12:22 +0100 Subject: [PATCH 0248/1089] Removed version from PrgEnv-*, as recommended by Cray (and in order to avoid the swap bugs) --- easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb | 3 ++- easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb | 3 ++- easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb | 3 ++- easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb | 3 ++- easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb | 3 ++- easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb index 4fa134a241..c636f35399 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb @@ -9,7 +9,8 @@ description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ - ('PrgEnv-cray/5.2.40', EXTERNAL_MODULE), + # PrgEnv version is not pinned, as Cray recommends to use the latest (default) version + ('PrgEnv-cray', EXTERNAL_MODULE), ('cce/8.3.12', EXTERNAL_MODULE), ('cray-libsci/13.0.4', EXTERNAL_MODULE), ('cray-mpich/7.2.2', EXTERNAL_MODULE), diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb index 947665d0f0..39476d8b11 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb @@ -9,7 +9,8 @@ description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ - ('PrgEnv-cray/5.2.82', EXTERNAL_MODULE), + # PrgEnv version is not pinned, as Cray recommends to use the latest (default) version + ('PrgEnv-cray', EXTERNAL_MODULE), ('cce/8.4.1', EXTERNAL_MODULE), ('cray-libsci/13.2.0', EXTERNAL_MODULE), ('cray-mpich/7.2.6', EXTERNAL_MODULE), diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb index 4f31279f13..0612076d5a 100644 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb @@ -9,7 +9,8 @@ description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ - ('PrgEnv-gnu/5.2.40', EXTERNAL_MODULE), + # PrgEnv version is not pinned, as Cray recommends to use the latest (default) version + ('PrgEnv-gnu', EXTERNAL_MODULE), ('gcc/4.8.2', EXTERNAL_MODULE), ('cray-libsci/13.0.4', EXTERNAL_MODULE), ('cray-mpich/7.2.2', EXTERNAL_MODULE), diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb index 410ddc97f5..370978db76 100644 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb @@ -9,7 +9,8 @@ description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ - ('PrgEnv-gnu/5.2.82', EXTERNAL_MODULE), + # PrgEnv version is not pinned, as Cray recommends to use the latest (default) version + ('PrgEnv-gnu', EXTERNAL_MODULE), ('gcc/4.9.3', EXTERNAL_MODULE), ('cray-libsci/13.2.0', EXTERNAL_MODULE), ('cray-mpich/7.2.6', EXTERNAL_MODULE), diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb index 0c39be9a84..e5197716b4 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb @@ -9,7 +9,8 @@ description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ - ('PrgEnv-intel/5.2.82', EXTERNAL_MODULE), + # PrgEnv version is not pinned, as Cray recommends to use the latest (default) version + ('PrgEnv-intel', EXTERNAL_MODULE), ('intel/15.0.1.133', EXTERNAL_MODULE), ('cray-libsci/13.0.4', EXTERNAL_MODULE), ('cray-mpich/7.2.2', EXTERNAL_MODULE), diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb index d021b8f24e..ead4db02ae 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb @@ -9,7 +9,8 @@ description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module toolchain = {'name': 'dummy', 'version': 'dummy'} dependencies = [ - ('PrgEnv-intel/5.2.82', EXTERNAL_MODULE), + # PrgEnv version is not pinned, as Cray recommends to use the latest (default) version + ('PrgEnv-intel', EXTERNAL_MODULE), ('intel/15.0.1.133', EXTERNAL_MODULE), ('cray-libsci/13.2.0', EXTERNAL_MODULE), ('cray-mpich/7.2.6', EXTERNAL_MODULE), -- GitLab From 986ed755dd319a212e3872e4b0998f2ebf6ae016 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Wed, 24 Feb 2016 13:46:34 +0100 Subject: [PATCH 0249/1089] fix pcre config options. Required for future R lang releases --- easybuild/easyconfigs/p/PCRE/PCRE-8.12-goalf-1.1.0-no-OFED.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.12-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.3.0.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.5.0.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.35-intel-2014b.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.36-foss-2015a.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2015a.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.37-foss-2015a.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015a.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015b.eb | 2 +- easybuild/easyconfigs/p/PCRE/PCRE-8.38-intel-2016a.eb | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goalf-1.1.0-no-OFED.eb index 4a9ef5925f..497a1cd036 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goalf-1.1.0-no-OFED.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://prdownloads.sourceforge.net/pcre'] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goolf-1.4.10.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goolf-1.4.10.eb index 5916d698fc..a1e4190b59 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-goolf-1.4.10.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://prdownloads.sourceforge.net/pcre'] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-4.0.6.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-4.0.6.eb index e5f29eb85e..c2c366d78a 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-4.0.6.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://prdownloads.sourceforge.net/pcre'] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.3.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.3.0.eb index 871d373c07..97cfc3e3dd 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.3.0.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://prdownloads.sourceforge.net/pcre'] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.5.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.5.0.eb index 365ae1e42a..c8297a55fa 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.12-ictce-5.5.0.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://prdownloads.sourceforge.net/pcre'] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.35-intel-2014b.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.35-intel-2014b.eb index a4df16eaad..4db7f55f63 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.35-intel-2014b.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.35-intel-2014b.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.36-foss-2015a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.36-foss-2015a.eb index 7881c04da4..bb1b441bcd 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.36-foss-2015a.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.36-foss-2015a.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2015a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2015a.eb index f2529df084..968b4462f3 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2015a.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2015a.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.37-foss-2015a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.37-foss-2015a.eb index 58ef584548..2142c1c7b5 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.37-foss-2015a.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.37-foss-2015a.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015a.eb index 1218fbc5d1..7e31b8922b 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015a.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015a.eb @@ -13,6 +13,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015b.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015b.eb index ac1733e912..1be2911b8b 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015b.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.37-intel-2015b.eb @@ -15,6 +15,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.38-intel-2016a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-intel-2016a.eb index 61beae9c6a..12bd040e3c 100644 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.38-intel-2016a.eb +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-intel-2016a.eb @@ -15,6 +15,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-pic --disable-cpp --enable-utf8 --enable-unicode-properties" +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" moduleclass = 'devel' -- GitLab From a9eda46e61ffa115f7ff86d5fc1a2b0f20661c5d Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 24 Feb 2016 14:19:58 +0100 Subject: [PATCH 0250/1089] {vis}[intel-2016b] libXext 1.3.3 (REVIEW) --- .../l/libXext/libXext-1.3.3-intel-2016a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb new file mode 100644 index 0000000000..5ca8f8bd74 --- /dev/null +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libXext' +version = '1.3.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """Common X Extensions library""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXdmcp', '1.1.2'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'dpms.h', 'extutil.h', 'MITMisc.h', 'multibuf.h', 'security.h', 'shape.h', 'sync.h', 'Xag.h', 'Xcup.h', + 'Xdbe.h', 'XEVI.h', 'Xext.h', 'Xge.h', 'XLbx.h', 'XShm.h', 'xtestext1.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 135f9f3580f2f147abfbec19015524e2957ae9f3 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 24 Feb 2016 14:29:54 +0100 Subject: [PATCH 0251/1089] {vis}[intel-2016b] libXfixes 5.0.1 (REVIEW) --- .../fixesproto/fixesproto-5.0-intel-2016a.eb | 19 +++++++++++++++ .../libXfixes/libXfixes-5.0.1-intel-2016a.eb | 24 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb new file mode 100644 index 0000000000..33951308af --- /dev/null +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'fixesproto' +version = '5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org FixesProto protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb new file mode 100644 index 0000000000..3dd084da60 --- /dev/null +++ b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libXfixes' +version = '5.0.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Fixes extension library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fixesproto', '5.0'), + ('xextproto', '7.3.0'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xfixes.h', 'lib/libXfixes.a', 'lib/libXfixes.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 89f50747efa7402b7ab8083d77f81e835c8dd3ba Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 24 Feb 2016 14:44:16 +0100 Subject: [PATCH 0252/1089] {vis}[intel-2016b] libXdamage 1.1.4 (REVIEW) --- .../libXdamage-1.1.4-intel-2016a.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb new file mode 100644 index 0000000000..bc72561b6e --- /dev/null +++ b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdamage' +version = '1.1.4' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Damage extension library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +dependencies = [ + ('libX11', '1.6.3'), + ('libxcb', '1.11.1'), + ('libXau', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xdamage.h', 'lib/libXdamage.%s' % SHLIB_EXT, 'lib/libXdamage.a'], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From d326521cc5f6abeeaee36467739e71614c9977f3 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 24 Feb 2016 15:03:10 +0100 Subject: [PATCH 0253/1089] {vis}[intel-2016b] libXfont 1.5.1 (REVIEW) --- .../fontsproto-2.1.3-intel-2016a.eb | 20 ++++++++++++ .../l/libXfont/libXfont-1.5.1-intel-2016a.eb | 31 +++++++++++++++++++ .../libfontenc-1.1.3-intel-2016a.eb | 23 ++++++++++++++ .../xorg-macros-1.19.0-intel-2016a.eb | 22 +++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb new file mode 100644 index 0000000000..5b1c1517ba --- /dev/null +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'fontsproto' +version = '2.1.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X11 font extension wire protocol" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb new file mode 100644 index 0000000000..027bd58513 --- /dev/null +++ b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXfont' +version = '1.5.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X font libary""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fontsproto', '2.1.3'), + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), + ('xorg-macros', '1.19.0'), + ('libfontenc', '1.1.3'), +] +dependencies = [ + ('libX11', '1.6.3'), + ('freetype', '2.6.2'), +] + +sanity_check_paths = { + 'files': ['lib/libXfont.%s' % SHLIB_EXT, 'lib/libXfont.a'], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb new file mode 100644 index 0000000000..458d0fa78b --- /dev/null +++ b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfontenc' +version = '1.1.3' + +homepage = 'http://www.freedesktop.org/wiki/Software/xlibs/' +description = """X11 font encoding library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['include/X11/fonts/fontenc.h', 'lib/libfontenc.%s' % SHLIB_EXT, 'lib/libfontenc.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb new file mode 100644 index 0000000000..0697bb42ab --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.0' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From b7a106dd1c2fb81345546e08566979fbcfd9a9ff Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 24 Feb 2016 22:05:45 +0100 Subject: [PATCH 0254/1089] fixed wrong reference to prgenv-gnu --- easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb | 2 +- easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb | 2 +- easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb | 2 +- easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb index c636f35399..bf91772267 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb @@ -4,7 +4,7 @@ name = 'CrayCCE' version = '2015.06-XC' homepage = 'http://docs.cray.com/books/S-9407-1511' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: November 2015).\n""" +description = """Toolchain using Cray compiler wrapper, using PrgEnv-cray module (PE release: November 2015).\n""" toolchain = {'name': 'dummy', 'version': 'dummy'} diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb index 39476d8b11..dbf091ccf3 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb @@ -4,7 +4,7 @@ name = 'CrayCCE' version = '2015.11-XC' homepage = 'http://docs.cray.com/books/S-9407-1511' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: November 2015).\n""" +description = """Toolchain using Cray compiler wrapper, using PrgEnv-cray module (PE release: November 2015).\n""" toolchain = {'name': 'dummy', 'version': 'dummy'} diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb index e5197716b4..c80854490a 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb @@ -4,7 +4,7 @@ name = 'CrayIntel' version = '2015.06-XC' homepage = 'http://docs.cray.com/books/S-9407-1511' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: November 2015).\n""" +description = """Toolchain using Cray compiler wrapper, using PrgEnv-intel module (PE release: November 2015).\n""" toolchain = {'name': 'dummy', 'version': 'dummy'} diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb index ead4db02ae..cc105734db 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb @@ -4,7 +4,7 @@ name = 'CrayIntel' version = '2015.11-XC' homepage = 'http://docs.cray.com/books/S-9407-1511' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: November 2015).\n""" +description = """Toolchain using Cray compiler wrapper, using PrgEnv-intel module (PE release: November 2015).\n""" toolchain = {'name': 'dummy', 'version': 'dummy'} -- GitLab From 34f5c330aebf494428f2b9c8dfb9546af34852d9 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 25 Feb 2016 06:41:57 +0000 Subject: [PATCH 0255/1089] Update fastqc dummy to 0.11.4 --- .../easyconfigs/f/fastqc/fastqc-0.11.4.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb new file mode 100644 index 0000000000..a4d75eb501 --- /dev/null +++ b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb @@ -0,0 +1,27 @@ +easyblock = 'EB_Java' + +name = 'fastqc' +version = '0.11.4' + +homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] +sources = ['%(name)s_v%(version)s.zip'] + +dependencies = [('Java', '1.7.0_80')] + +postinstallcmds = ["chmod -R a+rx %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] + +modextrapaths = {'PATH': ['']} + +sanity_check_paths = { + 'files': ['fastqc'], + 'dirs': [], +} + +sanity_check_commands = [('fastqc', '-v')] + +moduleclass = 'bio' -- GitLab From 6b5d0f1a13edc489f1891040fcef60a7be877098 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 25 Feb 2016 07:50:03 +0100 Subject: [PATCH 0256/1089] added xproto as builddep for libxcb (needed by libXau) --- easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb index 0a842ce83c..f95256fd36 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -14,6 +14,7 @@ sources = [SOURCELOWER_TAR_GZ] builddependencies = [ ('xcb-proto', '1.11', '-Python-2.7.11'), + ('xproto', '7.0.28'), ('libpthread-stubs', '0.3'), ] dependencies = [ -- GitLab From 6666182f017dd3e4af2fe21f48e4bdc72088f063 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 25 Feb 2016 06:57:03 +0000 Subject: [PATCH 0257/1089] Update cutadapt to 1.9.1 for foss-2015b, update homepage/description and authors --- ...cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..89051e4847 --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Author: Adam Huffman +# The Francis Crick Institute + +easyblock = "PythonPackage" + +name = 'cutadapt' +version = '1.9.1' + +homepage = 'http://opensource.scilifelab.se/projects/cutadapt/' +description = """ Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads. """ + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pyver = '2.7.10' +pyshortver = '.'.join(pyver.split('.')[:2]) + +versionsuffix = "-%s-%s" % (python, pyver) + +dependencies = [ + (python, pyver), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt', 'lib/python%s/site-packages/cutadapt/_align.so' % pyshortver], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From ea900fa9a9db4e81443148e70091e6d1bc29c412 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 25 Feb 2016 07:15:08 +0000 Subject: [PATCH 0258/1089] Port STAR 2.5.1b to foss-2015b --- .../s/STAR/STAR-2.5.1b-foss-2015b.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/s/STAR/STAR-2.5.1b-foss-2015b.eb diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.5.1b-foss-2015b.eb b/easybuild/easyconfigs/s/STAR/STAR-2.5.1b-foss-2015b.eb new file mode 100644 index 0000000000..8c14b0d9a6 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.5.1b-foss-2015b.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Author: Adam Huffman +# The Francis Crick Institute + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.5.1b' + +homepage = 'https://code.google.com/p/rna-star/' +description = """ STAR aligns RNA-seq reads to a reference genome using + uncompressed suffix arrays. """ + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = ['https://github.com/alexdobin/STAR/archive/'] +sources = ['%(version)s.tar.gz'] + +# a binary is provided with the source files. We delete it +prebuildopts = 'rm -fr bin/ && ' + +parallel = 1 + +files_to_copy = [(["source/STAR"], "bin"), "CHANGES.md", "doc", "extras", "LICENSE", "README.md", "RELEASEnotes.md"] + +sanity_check_paths = { + 'files': ["bin/STAR"], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 46da2c8bba97084769a33fd6923df165f86bd8de Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 25 Feb 2016 07:29:55 +0000 Subject: [PATCH 0259/1089] Update picard to 2.1.0 including move to GitHub --- .../easyconfigs/p/picard/picard-2.1.0.eb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 easybuild/easyconfigs/p/picard/picard-2.1.0.eb diff --git a/easybuild/easyconfigs/p/picard/picard-2.1.0.eb b/easybuild/easyconfigs/p/picard/picard-2.1.0.eb new file mode 100644 index 0000000000..d68d511ad0 --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-2.1.0.eb @@ -0,0 +1,20 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Adam Huffman +# The Francis Crick Institute + +name = 'picard' +version = '2.1.0' + +homepage = 'http://broadinstitute.github.io/picard/' +description = """ A set of command line tools (in Java) for manipulating + high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM + and VCF.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://github.com/broadinstitute/%(name)s/releases/download/%(version)s'] +sources = ['%(name)s-tools-%(version)s.zip'] + +dependencies = [('Java', '1.8.0_74')] + +moduleclass = 'bio' -- GitLab From 86c85bba0a716af4148bf1f2a945d7e3ea22f031 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 25 Feb 2016 09:56:09 +0100 Subject: [PATCH 0260/1089] {vis}[intel-2016b] Mesa-11.1.2 (WIP) --- .../l/libdrm/libdrm-2.4.67-intel-2016a.eb | 28 +++++++ .../l/libxml2/libxml2-2.9.3-intel-2016a.eb | 29 ++++++++ .../m/Mesa/Mesa-11.1.2-intel-2016a.eb | 74 +++++++++++++++++++ 3 files changed, 131 insertions(+) create mode 100644 easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb new file mode 100644 index 0000000000..5a91110f77 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libdrm' +version = '2.4.67' + +homepage = 'http://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +source_urls = ['http://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +builddependencies = [ + ('libpthread-stubs', '0.3'), +] + +dependencies = [ + ('libpciaccess', '0.13.4'), +] + +sanity_check_paths = { + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.so', + 'lib/libdrm_radeon.so', 'lib/libdrm.so', 'lib/libkms.so'], + 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb new file mode 100644 index 0000000000..b762d96901 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb new file mode 100644 index 0000000000..c0e3c997a1 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb @@ -0,0 +1,74 @@ +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '11.1.2' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] + +pythonver = '2.7.11' +pythonshortver = '.'.join(pythonver.split('.')[0:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +builddependencies = [ + ('flex', '2.5.39'), + ('Bison', '3.0.4'), + ('Autotools', '20150215'), + ('pkg-config', '0.29'), + ('glproto', '1.4.17'), + ('kbproto', '1.0.7'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.28'), + ('makedepend', '1.0.5'), +] + +dependencies = [ + ('libxml2', '2.9.3'), + ('libdrm', '2.4.67'), + ('libX11', '1.6.3',), + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), + ('libXdamage', '1.1.4'), + ('libXfont', '1.5.1'), + ('LLVM', '3.7.1'), + ('eudev', '3.1.5'), +] + +# Use the os provided libudev or the EB provided eudev +#osdependencies = ['libudev'] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri --enable-xlib-glx" +configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl --with-osmesa-bits=32 --enable-texture-float " + +# package-config files for os dependencies are in an os specific place +#preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' +preconfigopts = ' libtoolize && ' + +prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' + +sanity_check_paths = { + 'files': ['lib/libGL.so', 'lib/libOSMesa.so', + 'lib/libGLESv1_CM.so', 'lib/libGLESv2.so', + 'include/GL/glext.h', 'include/GL/gl_mangle.h', + 'include/GL/glx.h', 'include/GL/osmesa.h', + 'include/GL/wglext.h', 'include/GL/gl.h', + 'include/GL/glxext.h', 'include/GL/glx_mangle.h', + 'include/GLES/gl.h', 'include/GLES2/gl2.h', + 'include/GLES3/gl3.h'], + 'dirs': [] +} + +maxparallel = 1 + +moduleclass = 'vis' -- GitLab From 6c0fab2653861c660cede78a50dffa74c84aa6ff Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 25 Feb 2016 09:59:48 +0100 Subject: [PATCH 0261/1089] xorg-macros flrshed out --- .../xorg-macros-1.19.0-intel-2016a.eb | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb deleted file mode 100644 index 0697bb42ab..0000000000 --- a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'xorg-macros' -version = '1.19.0' - -homepage = 'http://cgit.freedesktop.org/xorg/util/macros' -description = """X.org macros utilities.""" -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! -sources = ['util-macros-%(version)s.tar.gz'] - -builddependencies = [('Autotools', '20150215')] - -preconfigopts = './autogen.sh && ' - -sanity_check_paths = { - 'files': ['share/pkgconfig/xorg-macros.pc'], - 'dirs': [], -} - -moduleclass = 'devel' -- GitLab From 03e33466685a1ccdbc19f79c0a8e209bda71b667 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 25 Feb 2016 10:01:34 +0100 Subject: [PATCH 0262/1089] {devel}[intel-2016b] xorg-mactos 1.19.0 (REVIEW) --- .../xorg-macros-1.19.0-intel-2016a.eb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb new file mode 100644 index 0000000000..0697bb42ab --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.0' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 2271ac6e1a3e0de4a61166fbe3332732fd6182c5 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 25 Feb 2016 10:42:30 +0100 Subject: [PATCH 0263/1089] added libXdmcp as dep for libxcb --- .../l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb | 25 +++++++++++++++++++ .../l/libxcb/libxcb-1.11.1-intel-2016a.eb | 1 + 2 files changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb new file mode 100644 index 0000000000..248b0fbfbc --- /dev/null +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdmcp' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is +useful for allowing clients to interact with the X Display Manager. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['%(name)s.a', '%(name)s.so']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb index f95256fd36..0a6fed4f0e 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -19,6 +19,7 @@ builddependencies = [ ] dependencies = [ ('libXau', '1.0.8'), + ('libXdmcp', '1.1.2'), ] sanity_check_paths = { -- GitLab From 6f9e153c549f204d30d534593425b076eb44acc2 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 25 Feb 2016 11:07:12 +0100 Subject: [PATCH 0264/1089] libXdmcp dep moved to libxcb/libX11 --- easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb index 5ca8f8bd74..3e89327b58 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb @@ -19,7 +19,6 @@ builddependencies = [ dependencies = [ ('libX11', '1.6.3'), - ('libXdmcp', '1.1.2'), ] sanity_check_paths = { -- GitLab From 6d8707cc3a58a9174380ca0a92907269e16da346 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 25 Feb 2016 11:17:36 +0000 Subject: [PATCH 0265/1089] Use SHLIB_EXT for Python shared objects --- .../c/cutadapt/cutadapt-1.5-goolf-1.4.10-Python-2.7.10.eb | 2 +- .../c/cutadapt/cutadapt-1.5-intel-2014b-Python-2.7.8.eb | 2 +- .../c/cutadapt/cutadapt-1.8.1-intel-2015a-Python-2.7.9.eb | 2 +- .../c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-goolf-1.4.10-Python-2.7.10.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-goolf-1.4.10-Python-2.7.10.eb index 1d7c0f2ab8..141aedc7d3 100644 --- a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-goolf-1.4.10-Python-2.7.10.eb +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-goolf-1.4.10-Python-2.7.10.eb @@ -26,7 +26,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/python%s/site-packages/cutadapt/_align.so' % pyshortver], + 'files': ['lib/python%s/site-packages/cutadapt/_align.%s' % (pyshortver, SHLIB_EXT)], 'dirs': [], } diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-intel-2014b-Python-2.7.8.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-intel-2014b-Python-2.7.8.eb index 259ebe78db..c50c4a1b5f 100644 --- a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-intel-2014b-Python-2.7.8.eb +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.5-intel-2014b-Python-2.7.8.eb @@ -26,7 +26,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['bin/cutadapt', 'lib/python%s/site-packages/cutadapt/_align.so' % pyshortver], + 'files': ['bin/cutadapt', 'lib/python%s/site-packages/cutadapt/_align.%s' % (pyshortver, SHLIB_EXT)], 'dirs': [], } diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.8.1-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.8.1-intel-2015a-Python-2.7.9.eb index 880a7ad08e..8898d1ce85 100644 --- a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.8.1-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.8.1-intel-2015a-Python-2.7.9.eb @@ -29,7 +29,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['bin/cutadapt', 'lib/python%s/site-packages/cutadapt/_align.so' % pyshortver], + 'files': ['bin/cutadapt', 'lib/python%s/site-packages/cutadapt/_align.%s' % (pyshortver, SHLIB_EXT)], 'dirs': [], } diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb index 89051e4847..6c74a88bb4 100644 --- a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2015b-Python-2.7.10.eb @@ -30,7 +30,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['bin/cutadapt', 'lib/python%s/site-packages/cutadapt/_align.so' % pyshortver], + 'files': ['bin/cutadapt', 'lib/python%s/site-packages/cutadapt/_align.%s' % (pyshortver, SHLIB_EXT)], 'dirs': [], } -- GitLab From c98cc913e1018a12ac3b6ba5f01136dc266bc0c0 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 25 Feb 2016 12:16:01 +0000 Subject: [PATCH 0266/1089] Port PLINK to foss-2015b --- .../p/PLINK/PLINK-1.07-foss-2015b.eb | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb b/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb new file mode 100644 index 0000000000..ec21e3a09b --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Author: Adam Huffman +# The Francis Crick Institute + +easyblock = 'MakeCp' + +name = 'PLINK' +version = '1.07' + +homepage = 'http://pngu.mgh.harvard.edu/~purcell/plink/' +description = """ PLINK is a free, open-source whole genome association analysis toolset, + designed to perform a range of basic, large-scale analyses in a computationally efficient manner. + The focus of PLINK is purely on analysis of genotype/phenotype data, so there is no support for + steps prior to this (e.g. study design and planning, generating genotype or CNV calls from raw data). + Through integration with gPLINK and Haploview, there is some support for the subsequent visualization, + annotation and storage of results. """ + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'openmp': True} + +sources = ['%(namelower)s-%(version)s-src.zip'] +source_urls = ['http://pngu.mgh.harvard.edu/~purcell/plink/dist/'] + +dependencies = [('zlib', '1.2.8')] + +# plink makefile is a little bit tricky so we pass every options as arguments +# review plink original makefile for details +# if you want "new version check" change to WITH_WEBCHECK="1", but if your compute nodes +# have no internet access better leave it as is +buildopts = ' CXX_UNIX="$CXX $CXXFLAGS" WITH_R_PLUGINS=1 WITH_WEBCHECK="" WITH_ZLIB=1 ' +buildopts += ' WITH_LAPACK=1 FORCE_DYNAMIC=1 LIB_LAPACK=$BLAS_LAPACK_LIB_DIR/libmkl_lapack.a' + +files_to_copy = [ + (["plink", "gPLINK.jar"], 'bin'), + "test.map", + "test.ped", + "COPYING.txt", + "README.txt", +] + +sanity_check_paths = { + 'files': ["bin/plink", "bin/gPLINK.jar", "test.map", "test.ped", "COPYING.txt", "README.txt"], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 2b0f12104a46fe2ba2a90cc601dd88e3b1b0c7b8 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 25 Feb 2016 14:21:31 +0000 Subject: [PATCH 0267/1089] GROMACS 5.1.2 for foss 2015b --- .../GROMACS-5.1.2-foss-2015b-hybrid.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb new file mode 100644 index 0000000000..8744e777c7 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +# +# Version 5.1.2 +# Author: Adam Huffman +# The Francis Crick Institute +## + +name = 'GROMACS' +version = '5.1.2' +versionsuffix = '-hybrid' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['ftp://ftp.gromacs.org/pub/gromacs/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('CMake', '3.2.2'), + ('libxml2', '2.9.2') +] + +dependencies = [('Boost', '1.60.0')] + +moduleclass = 'bio' -- GitLab From 2377dc54b8e60769418bdf65bd831f68bbd99765 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Fri, 26 Feb 2016 16:46:13 +1030 Subject: [PATCH 0268/1089] move sources and source_urls line above toolchain line --- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb | 6 +++--- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb index 2679eeb7f4..a0696f7e27 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb @@ -6,6 +6,9 @@ version = '35.82' homepage = 'https://sourceforge.net/projects/bbmap/' description = """BBMap short read aligner, and other bioinformatic tools.""" +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz' ] + toolchain = {'name': 'foss', 'version': '2015b'} java = 'Java' @@ -13,9 +16,6 @@ javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver, '', True)] -source_urls = [SOURCEFORGE_SOURCE] -sources = ['%(name)s_%(version)s.tar.gz' ] - prebuildopts = 'cd jni && ' suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb index e9d0c0554f..a8764758d2 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb @@ -6,6 +6,9 @@ version = '35.82' homepage = 'https://sourceforge.net/projects/bbmap/' description = """BBMap short read aligner, and other bioinformatic tools.""" +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz' ] + toolchain = {'name': 'foss', 'version': '2015b'} java = 'Java' @@ -13,9 +16,6 @@ javaver = '1.8.0_74' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver, '', True)] -source_urls = [SOURCEFORGE_SOURCE] -sources = ['%(name)s_%(version)s.tar.gz' ] - prebuildopts = 'cd jni && ' suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] -- GitLab From a3f61ea62aed39594de22d5f876ccf718a365e9a Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Fri, 26 Feb 2016 17:21:36 +1030 Subject: [PATCH 0269/1089] Added patch to modify shebang lines of supplied scripts --- .../n/NextClip/NextClip-1.3.1-foss-2015b.eb | 2 + .../n/NextClip/NextClip_scripts_shebang.patch | 60 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch diff --git a/easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb b/easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb index b4ac0527df..3b2f0c8e13 100644 --- a/easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb +++ b/easybuild/easyconfigs/n/NextClip/NextClip-1.3.1-foss-2015b.eb @@ -11,6 +11,8 @@ toolchain = {'name': 'foss', 'version': '2015b'} source_urls = ['https://github.com/richardmleggett/nextclip/archive'] sources = ['NextClip_v%(version)s.tar.gz'] +patches = ['NextClip_scripts_shebang.patch'] + files_to_copy = ['bin', 'examples', 'scripts', 'nextclipmanual.pdf'] sanity_check_paths = { diff --git a/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch b/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch new file mode 100644 index 0000000000..4e078bad33 --- /dev/null +++ b/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch @@ -0,0 +1,60 @@ +diff --git a/scripts/index_bwa.sh b/scripts/index_bwa.sh +index 2862e42..472d7f1 100755 +--- a/scripts/index_bwa.sh ++++ b/scripts/index_bwa.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + + source bwa-0.6.1 + +diff --git a/scripts/nextclip_index_reference.pl b/scripts/nextclip_index_reference.pl +index 03810b3..b7f7649 100755 +--- a/scripts/nextclip_index_reference.pl ++++ b/scripts/nextclip_index_reference.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl -w + + # Script: nextclip_index_reference.pl + # Purpose: Produce simple index file of a reference +diff --git a/scripts/nextclip_lmp_analysis.pl b/scripts/nextclip_lmp_analysis.pl +index 8af0b21..39b0f20 100755 +--- a/scripts/nextclip_lmp_analysis.pl ++++ b/scripts/nextclip_lmp_analysis.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl -w + + # Script: nextclip_lmp_analysis.pl + # Purpose: NextClip Long Mate Pair analysis pipeline +diff --git a/scripts/nextclip_make_report.pl b/scripts/nextclip_make_report.pl +index ed05261..1c80fba 100755 +--- a/scripts/nextclip_make_report.pl ++++ b/scripts/nextclip_make_report.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl -w + + # Script: nextclip_make_report.pl + # Purpose: Produce PDF report of NextClip analysis +diff --git a/scripts/nextclip_plot_graphs.sh b/scripts/nextclip_plot_graphs.sh +index f6a3a2b..d4b809e 100755 +--- a/scripts/nextclip_plot_graphs.sh ++++ b/scripts/nextclip_plot_graphs.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + + # Script: nextclip_plot_graphs.sh + # Purpose: Plot insert length and read length graphs for NextClip +diff --git a/scripts/nextclip_sam_parse.pl b/scripts/nextclip_sam_parse.pl +index cc04193..692326a 100755 +--- a/scripts/nextclip_sam_parse.pl ++++ b/scripts/nextclip_sam_parse.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl -w + + # Script: nextclip_sam_parse.pl + # Purpose: Parse SAM files for NextClip -- GitLab From d10e09de068ed2cfa0e70e8fe7d6e17901803ed3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 26 Feb 2016 09:45:59 +0100 Subject: [PATCH 0270/1089] fix remarks by @ladc --- .../easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb | 2 ++ .../l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb index 13281d87fa..bea932c18d 100644 --- a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.7-goolf-1.4.10.eb @@ -12,6 +12,8 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ['http://sourceforge.net/projects/lcms/files/lcms/%(version)s/'] sources = ['lcms2-%(version)s.tar.gz'] +dependencies = [('libjpeg-turbo', '1.4.2')] + sanity_check_paths = { 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb index 548eb81065..c9cc4d2e6f 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-goolf-1.4.10.eb @@ -23,8 +23,8 @@ runtest = "test" sanity_check_paths = { 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', 'bin/tjbench', 'bin/wrjpgcom', - 'lib/libjpeg.a', 'libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', 'lib/libturbojpeg.%s' % SHLIB_EXT], - 'dirs': ['include', 'man', 'share'], + 'lib/libjpeg.a', 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share/man'], } moduleclass = 'lib' -- GitLab From f1b8cfbe20d85d6b6286bc08e9b111b30acaa517 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 26 Feb 2016 09:57:28 +0100 Subject: [PATCH 0271/1089] add configopts related to dependencies to ImageMagick easyconfig --- .../i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb index adc09ca30a..160c3c8697 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb @@ -25,6 +25,8 @@ dependencies = [ ('pkg-config', '0.27.1'), ] +configopts = "--with-gslib --with-x" + sanity_check_paths = { 'files': [], 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], -- GitLab From ca253943c24e7b1d039257ae86dac74b9f4b594c Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Fri, 26 Feb 2016 10:09:16 +0100 Subject: [PATCH 0272/1089] style fix. builddeps after deps --- .../i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb index e9fe2f9009..8b641aebb3 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-6.9.3-3-goolf-1.4.10.eb @@ -11,10 +11,6 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] source_urls = ['https://launchpad.net/imagemagick/main/%(version)s/+download/'] -builddependencies = [ - ('pkg-config', '0.27.1'), -] - dependencies = [ ('bzip2', '1.0.6'), ('freetype', '2.5.0.1'), @@ -28,6 +24,10 @@ dependencies = [ ('LittleCMS', '2.7'), ] +builddependencies = [ + ('pkg-config', '0.27.1'), +] + configopts = "--with-gslib --with-x" sanity_check_paths = { -- GitLab From a8bfd828e19fecac84950b22b97cb7f8c803490a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 26 Feb 2016 13:58:13 +0200 Subject: [PATCH 0273/1089] add easyconfig MLC-3.0.eb --- easybuild/easyconfigs/m/MLC/MLC-3.0.eb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/m/MLC/MLC-3.0.eb diff --git a/easybuild/easyconfigs/m/MLC/MLC-3.0.eb b/easybuild/easyconfigs/m/MLC/MLC-3.0.eb new file mode 100644 index 0000000000..6f9d7320ea --- /dev/null +++ b/easybuild/easyconfigs/m/MLC/MLC-3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'Tarball' + +name = 'MLC' +version = '3.0' + +homepage = 'https://software.intel.com/en-us/articles/intelr-memory-latency-checker' +description = """Intel Memory Latency Checker (Intel MLC) is a tool used to measure memory latencies and b/w, + and how they change with increasing load on the system.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download requires agreeing to license +# https://software.intel.com/en-us/articles/intelr-memory-latency-checker#download +sources = ['mlcv3.0.tgz'] + +sanity_check_paths = { + 'files': ['Linux/mlc', 'Linux/mlc_avx512', 'mlc_license.txt', 'readme.pdf'], + 'dirs': [], +} + +modextrapaths = {'PATH': 'Linux'} + +moduleclass = 'tools' -- GitLab From 8c0dab16657a63779f5f1ab23d30528a131fe803 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 26 Feb 2016 13:37:19 +0100 Subject: [PATCH 0274/1089] Python added as dep instead of builddep for xcb-proto --- .../x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb index 80c7b50387..ab4aaa83ac 100644 --- a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb @@ -15,7 +15,7 @@ sources = [SOURCELOWER_TAR_GZ] python = 'Python' pyver = '2.7.11' versionsuffix = '-%s-%s' % (python, pyver) -builddependencies = [(python, pyver)] +dependencies = [(python, pyver)] pyshortver = '.'.join(pyver.split('.')[0:2]) -- GitLab From 37064bb76ce2e9c22f0ee04b5d5c570e7efed68c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 26 Feb 2016 15:21:28 +0100 Subject: [PATCH 0275/1089] add metagenomeSeq in Bioconductor bundle --- .../R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb | 1 + .../R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb | 1 + .../R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb | 1 + 3 files changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb index 9b319b7e55..1fcada1694 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-goolf-1.7.20-R-3.2.0.eb @@ -138,6 +138,7 @@ exts_list = [ ('CGHbase', '1.28.0', bioconductor_options), ('sigaR', '1.12.0', bioconductor_options), ('HCsnip', '1.8.0', bioconductor_options), + ('metagenomeSeq', '1.10.0', bioconductor_options), ] modextrapaths = {'R_LIBS': ''} diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb index e7aac6aac1..21cd4399f4 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015a-R-3.2.1.eb @@ -138,6 +138,7 @@ exts_list = [ ('CGHbase', '1.28.0', bioconductor_options), ('sigaR', '1.12.0', bioconductor_options), ('HCsnip', '1.8.0', bioconductor_options), + ('metagenomeSeq', '1.10.0', bioconductor_options), ] modextrapaths = {'R_LIBS': ''} diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb index e6d844c21e..c3940a9034 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-intel-2015b-R-3.2.1.eb @@ -138,6 +138,7 @@ exts_list = [ ('CGHbase', '1.28.0', bioconductor_options), ('sigaR', '1.12.0', bioconductor_options), ('HCsnip', '1.8.0', bioconductor_options), + ('metagenomeSeq', '1.10.0', bioconductor_options), ] modextrapaths = {'R_LIBS': ''} -- GitLab From b31fab3acd0c8a686836236940bdf97239e5fede Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 26 Feb 2016 15:32:15 +0100 Subject: [PATCH 0276/1089] add xcb-proto with system python dep (toolchainless) --- .../l/libxcb/libxcb-1.11.1-intel-2016a.eb | 2 ++ .../easyconfigs/x/xcb-proto/xcb-proto-1.11.eb | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb index 0a6fed4f0e..faa9778d64 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -14,6 +14,8 @@ sources = [SOURCELOWER_TAR_GZ] builddependencies = [ ('xcb-proto', '1.11', '-Python-2.7.11'), + # Alternatively, you can use xcb-proto using system Python: + #('xcb-proto', 1.11', '', ('dummy', 'dummy')) ('xproto', '7.0.28'), ('libpthread-stubs', '0.3'), ] diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb new file mode 100644 index 0000000000..27a89ed005 --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-proto' +version = '1.11' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +pyshortver = '.'.join(SYS_PYTHON_VERSION.split('.')[0:2]) + +sanity_check_paths = { + 'files': ['lib/pkgconfig/xcb-proto.pc'], + 'dirs': ['lib/python%s/site-packages/xcbgen' % pyshortver] +} + +moduleclass = 'devel' -- GitLab From d24df53180230f32708ac4364cedcf6d63710433 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 26 Feb 2016 15:37:36 +0100 Subject: [PATCH 0277/1089] use of 'pyver' template --- .../xcb-proto-1.11-intel-2016a-Python-2.7.11.eb | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb index ab4aaa83ac..97ddefed62 100644 --- a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb @@ -12,16 +12,12 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['http://xcb.freedesktop.org/dist/'] sources = [SOURCELOWER_TAR_GZ] -python = 'Python' -pyver = '2.7.11' -versionsuffix = '-%s-%s' % (python, pyver) -dependencies = [(python, pyver)] - -pyshortver = '.'.join(pyver.split('.')[0:2]) +versionsuffix = '-Python-%(pyver)s' +dependencies = [('Python', '2.7.11')] sanity_check_paths = { 'files': ['lib/pkgconfig/xcb-proto.pc'], - 'dirs': ['lib/python%s/site-packages/xcbgen' % pyshortver] + 'dirs': ['lib/python%(pyshortver)s/site-packages/xcbgen' % pyshortver] } moduleclass = 'devel' -- GitLab From 28295bfcdf710044b12df5ce0b42839aaf3c0e51 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Sat, 27 Feb 2016 07:32:32 +1030 Subject: [PATCH 0278/1089] Cleaned up patch file. 1) Added comment and author. 2) Strip superfluous `-w` from perl shebang line. - the scripts already use the `use warnings;` pragma. --- .../n/NextClip/NextClip_scripts_shebang.patch | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch b/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch index 4e078bad33..35d7d7811b 100644 --- a/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch +++ b/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch @@ -1,5 +1,6 @@ -diff --git a/scripts/index_bwa.sh b/scripts/index_bwa.sh -index 2862e42..472d7f1 100755 +Fix hardcoding of /usr/bin/perl, use perl available through $PATH +Fix hardcoding of /bin/bash, use bash available through $PATH +author: Nathan S. Watson-Haigh (ACPFG) --- a/scripts/index_bwa.sh +++ b/scripts/index_bwa.sh @@ -1,4 +1,4 @@ @@ -8,38 +9,30 @@ index 2862e42..472d7f1 100755 source bwa-0.6.1 -diff --git a/scripts/nextclip_index_reference.pl b/scripts/nextclip_index_reference.pl -index 03810b3..b7f7649 100755 --- a/scripts/nextclip_index_reference.pl +++ b/scripts/nextclip_index_reference.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w -+#!/usr/bin/env perl -w ++#!/usr/bin/env perl # Script: nextclip_index_reference.pl # Purpose: Produce simple index file of a reference -diff --git a/scripts/nextclip_lmp_analysis.pl b/scripts/nextclip_lmp_analysis.pl -index 8af0b21..39b0f20 100755 --- a/scripts/nextclip_lmp_analysis.pl +++ b/scripts/nextclip_lmp_analysis.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w -+#!/usr/bin/env perl -w ++#!/usr/bin/env perl # Script: nextclip_lmp_analysis.pl # Purpose: NextClip Long Mate Pair analysis pipeline -diff --git a/scripts/nextclip_make_report.pl b/scripts/nextclip_make_report.pl -index ed05261..1c80fba 100755 --- a/scripts/nextclip_make_report.pl +++ b/scripts/nextclip_make_report.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w -+#!/usr/bin/env perl -w ++#!/usr/bin/env perl # Script: nextclip_make_report.pl # Purpose: Produce PDF report of NextClip analysis -diff --git a/scripts/nextclip_plot_graphs.sh b/scripts/nextclip_plot_graphs.sh -index f6a3a2b..d4b809e 100755 --- a/scripts/nextclip_plot_graphs.sh +++ b/scripts/nextclip_plot_graphs.sh @@ -1,4 +1,4 @@ @@ -48,13 +41,11 @@ index f6a3a2b..d4b809e 100755 # Script: nextclip_plot_graphs.sh # Purpose: Plot insert length and read length graphs for NextClip -diff --git a/scripts/nextclip_sam_parse.pl b/scripts/nextclip_sam_parse.pl -index cc04193..692326a 100755 --- a/scripts/nextclip_sam_parse.pl +++ b/scripts/nextclip_sam_parse.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w -+#!/usr/bin/env perl -w ++#!/usr/bin/env perl # Script: nextclip_sam_parse.pl # Purpose: Parse SAM files for NextClip -- GitLab From 1c72713e304c89211af163e7b5198c679f7efd12 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Sat, 27 Feb 2016 00:02:38 +0100 Subject: [PATCH 0279/1089] syntax corrected --- .../x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb index 97ddefed62..67fb1d84ea 100644 --- a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb @@ -17,7 +17,7 @@ dependencies = [('Python', '2.7.11')] sanity_check_paths = { 'files': ['lib/pkgconfig/xcb-proto.pc'], - 'dirs': ['lib/python%(pyshortver)s/site-packages/xcbgen' % pyshortver] + 'dirs': ['lib/python%(pyshortver)s/site-packages/xcbgen'] } moduleclass = 'devel' -- GitLab From c20c697fea73326d6717032c50feb178c94eb0ee Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 26 Feb 2016 23:31:01 +0000 Subject: [PATCH 0280/1089] Update GROMACS to 5.1.2 for foss 2015b --- .../easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb index 8744e777c7..db2a991381 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2015b-hybrid.eb @@ -30,7 +30,7 @@ source_urls = ['ftp://ftp.gromacs.org/pub/gromacs/'] sources = [SOURCELOWER_TAR_GZ] builddependencies = [ - ('CMake', '3.2.2'), + ('CMake', '3.4.1'), ('libxml2', '2.9.2') ] -- GitLab From efbe383c0a9c022f859c2f59f6be6d4199aa199d Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 27 Feb 2016 08:32:37 +0000 Subject: [PATCH 0281/1089] Add fixes for building with modern GCC --- .../p/PLINK/PLINK-1.07-foss-2015b.eb | 4 +- .../p/PLINK/PLINK-1.07_redeclaration.patch | 68 +++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb b/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb index ec21e3a09b..8218ead1ea 100644 --- a/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb +++ b/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb @@ -24,6 +24,8 @@ toolchainopts = {'openmp': True} sources = ['%(namelower)s-%(version)s-src.zip'] source_urls = ['http://pngu.mgh.harvard.edu/~purcell/plink/dist/'] +patches = ['PLINK-1.07_redeclaration.patch'] + dependencies = [('zlib', '1.2.8')] # plink makefile is a little bit tricky so we pass every options as arguments @@ -31,7 +33,7 @@ dependencies = [('zlib', '1.2.8')] # if you want "new version check" change to WITH_WEBCHECK="1", but if your compute nodes # have no internet access better leave it as is buildopts = ' CXX_UNIX="$CXX $CXXFLAGS" WITH_R_PLUGINS=1 WITH_WEBCHECK="" WITH_ZLIB=1 ' -buildopts += ' WITH_LAPACK=1 FORCE_DYNAMIC=1 LIB_LAPACK=$BLAS_LAPACK_LIB_DIR/libmkl_lapack.a' +buildopts += ' WITH_LAPACK=1 FORCE_DYNAMIC=1 LIB_LAPACK=$EBROOTOPENBLAS/lib/libopenblas.so' files_to_copy = [ (["plink", "gPLINK.jar"], 'bin'), diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch b/easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch new file mode 100644 index 0000000000..20e3f284a8 --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch @@ -0,0 +1,68 @@ +diff --git a/sets.cpp b/sets.cpp +index 3a8f92f..adef60f 100644 +--- a/sets.cpp ++++ b/sets.cpp +@@ -768,11 +768,11 @@ vector_t Set::profileTestScore() + ////////////////////////////////////////////// + // Reset original missing status + +- vector::iterator i = PP->sample.begin(); +- while ( i != PP->sample.end() ) ++ vector::iterator i_iter = PP->sample.begin(); ++ while ( i_iter != PP->sample.end() ) + { +- (*i)->missing = (*i)->flag; +- ++i; ++ (*i_iter)->missing = (*i_iter)->flag; ++ ++i_iter; + } + + //////////////////////////////////////////////// +diff --git a/elf.cpp b/elf.cpp +index ec2ed3d..49bda44 100644 +--- a/elf.cpp ++++ b/elf.cpp +@@ -1175,10 +1175,10 @@ void Plink::elfBaseline() + << setw(8) << gcnt << " " + << setw(8) << (double)cnt / (double)gcnt << "\n"; + +- map::iterator i = chr_cnt.begin(); +- while ( i != chr_cnt.end() ) ++ map::iterator i_iter = chr_cnt.begin(); ++ while ( i_iter != chr_cnt.end() ) + { +- int c = i->first; ++ int c = i_iter->first; + int x = chr_cnt.find( c )->second; + int y = chr_gcnt.find( c )->second; + +@@ -1189,7 +1189,7 @@ void Plink::elfBaseline() + << setw(8) << y << " " + << setw(8) << (double)x / (double)y << "\n"; + +- ++i; ++ ++i_iter; + } + + } +diff --git a/idhelp.cpp b/idhelp.cpp +index a9244fa..8353c9e 100644 +--- a/idhelp.cpp ++++ b/idhelp.cpp +@@ -772,12 +772,12 @@ void IDHelper::idHelp() + for (int j = 0 ; j < jointField.size(); j++ ) + { + set & jf = jointField[j]; +- set::iterator j = jf.begin(); ++ set::iterator j_iter = jf.begin(); + PP->printLOG(" { "); +- while ( j != jf.end() ) ++ while ( j_iter != jf.end() ) + { +- PP->printLOG( (*j)->name + " " ); +- ++j; ++ PP->printLOG( (*j_iter)->name + " " ); ++ ++j_iter; + } + PP->printLOG(" }"); + } -- GitLab From 36ed24d791b618dc064b589abc3f5829f3373e8a Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 27 Feb 2016 08:58:37 +0000 Subject: [PATCH 0282/1089] Update BWA to 0.7.13, including move to GitHub --- .../b/BWA/BWA-0.7.13-foss-2015b.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb new file mode 100644 index 0000000000..2d42585347 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb @@ -0,0 +1,32 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Version >= 0.7.13 +# Author: Adam Huffman +# The Francis Crick Institute +## + +name = 'BWA' +version = '0.7.13' + +homepage = 'https://github.com/lh3/bwa' +description = """Burrows-Wheeler Aligner (BWA) is an efficient program that aligns + relatively short nucleotide sequences against a long reference sequence such as the human genome.""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] + +#Sanity check included in custom easyblock + +moduleclass = 'bio' -- GitLab From 2537e3c0735b05034ae291b72fc65aa946e0960e Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 27 Feb 2016 09:08:57 +0000 Subject: [PATCH 0283/1089] Update Bowtie2 to 2.2.7 --- .../b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb new file mode 100644 index 0000000000..2b67034216 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Robert Schmidt +# Ottawa Hospital Research Institute - Bioinformatics Team +# Modified by: Adam Huffman >adam.huffman@crick.ac.uk> +# The Francis Crick Institute + +easyblock = 'MakeCp' + +name = 'Bowtie2' +version = '2.2.7' + +homepage = 'http://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads + to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s + of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. + Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, + its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = ['%(namelower)s-%(version)s-source.zip'] +source_urls = [('http://sourceforge.net/projects/bowtie-bio/files/%(namelower)s/%(version)s', 'download')] + +files_to_copy = [ + (["bowtie2", "bowtie2-align-l", "bowtie2-align-s", "bowtie2-build", "bowtie2-build-l", "bowtie2-build-s", + "bowtie2-inspect", "bowtie2-inspect-l", "bowtie2-inspect-s"], 'bin'), + "doc", "example", "scripts", "MANUAL", "MANUAL.markdown", "NEWS"] + +sanity_check_paths = { + 'files': ["bin/bowtie2-align-l", "bin/bowtie2-build", "bin/bowtie2-inspect"], + 'dirs': [], +} + +# to add script folder to path just uncomment this line +#modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' -- GitLab From 9938fc7b765ad8f868236c6a5d0be506158f59ea Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 27 Feb 2016 09:10:41 +0000 Subject: [PATCH 0284/1089] Fix typo --- easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb index 2b67034216..f74362241f 100644 --- a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.7-foss-2015b.eb @@ -4,7 +4,7 @@ # Biozentrum - University of Basel # Modified by: Robert Schmidt # Ottawa Hospital Research Institute - Bioinformatics Team -# Modified by: Adam Huffman >adam.huffman@crick.ac.uk> +# Modified by: Adam Huffman # The Francis Crick Institute easyblock = 'MakeCp' -- GitLab From a17dc36d1ae356e5982d0beacbd21b68222670d3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 27 Feb 2016 10:30:57 +0100 Subject: [PATCH 0285/1089] fix FFTW lib/include path in configopts for GROMACS w/ CrayGNU --- .../g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb index 94600c2c59..7d022ac778 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb @@ -31,8 +31,8 @@ sources = [ 'regressiontests-%(version)s.tar.gz', ] -preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW} && " -preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/../include && " +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:$EBROOTFFTW/lib && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$EBROOTFFTW/include && " dependencies = [ ('fftw/3.3.4.5', EXTERNAL_MODULE), -- GitLab From e1f2153568e1e11ac44c07ebcbb0ddda5f34ea89 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 27 Feb 2016 10:31:23 +0100 Subject: [PATCH 0286/1089] fix FFTW lib/include path in configopts for GROMACS w/ CrayGNU --- .../g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb index 8fe8110183..eb693a5ca3 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb @@ -31,8 +31,8 @@ sources = [ 'regressiontests-%(version)s.tar.gz', ] -preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW} && " -preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/../include && " +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW}/lib && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/include && " dependencies = [ ('fftw/3.3.4.3', EXTERNAL_MODULE), -- GitLab From 9922ff5412d8eaa7cb477e2fb31de862bb9988a1 Mon Sep 17 00:00:00 2001 From: perettig Date: Sat, 27 Feb 2016 12:04:23 +0100 Subject: [PATCH 0287/1089] deleted deprecated .eb versions 5.x --- .../b/Bison/Bison-3.0.2-CrayGNU-5.1.29.eb | 22 ---- .../b/Bison/Bison-3.0.2-CrayGNU-5.2.25.eb | 22 ---- .../b/Bison/Bison-3.0.2-CrayGNU-5.2.40.eb | 22 ---- .../b/bzip2/bzip2-1.0.6-CrayGNU-5.1.29.eb | 15 --- .../b/bzip2/bzip2-1.0.6-CrayGNU-5.2.25.eb | 15 --- .../b/bzip2/bzip2-1.0.6-CrayGNU-5.2.40.eb | 15 --- .../c/CMake/CMake-3.2.2-CrayGNU-5.1.29.eb | 23 ---- .../c/CMake/CMake-3.2.2-CrayGNU-5.2.25.eb | 23 ---- .../c/CMake/CMake-3.2.2-CrayGNU-5.2.40.eb | 23 ---- .../c/CP2K/CP2K-2.6.0-CrayGNU-5.1.29.eb | 38 ------ .../c/CP2K/CP2K-2.6.0-CrayGNU-5.2.25.eb | 38 ------ .../c/CP2K/CP2K-2.6.0-CrayGNU-5.2.40.eb | 38 ------ .../easyconfigs/c/CrayCCE/CrayCCE-5.1.29.eb | 16 --- .../easyconfigs/c/CrayCCE/CrayCCE-5.2.25.eb | 16 --- .../easyconfigs/c/CrayCCE/CrayCCE-5.2.40.eb | 16 --- .../easyconfigs/c/CrayGNU/CrayGNU-5.1.29.eb | 16 --- .../easyconfigs/c/CrayGNU/CrayGNU-5.2.25.eb | 16 --- .../easyconfigs/c/CrayGNU/CrayGNU-5.2.40.eb | 16 --- .../c/CrayIntel/CrayIntel-5.1.29.eb | 16 --- .../c/CrayIntel/CrayIntel-5.2.25.eb | 16 --- .../c/CrayIntel/CrayIntel-5.2.40.eb | 16 --- .../f/flex/flex-2.5.39-CrayGNU-5.1.29.eb | 14 --- .../f/flex/flex-2.5.39-CrayGNU-5.2.25.eb | 14 --- .../f/flex/flex-2.5.39-CrayGNU-5.2.40.eb | 14 --- .../GROMACS-4.6.7-CrayGNU-5.1.29-mpi.eb | 38 ------ .../GROMACS-4.6.7-CrayGNU-5.2.25-mpi.eb | 38 ------ .../GROMACS-4.6.7-CrayGNU-5.2.40-mpi.eb | 38 ------ .../h/HPL/HPL-2.1-CrayCCE-5.1.29.eb | 22 ---- .../h/HPL/HPL-2.1-CrayCCE-5.2.25.eb | 22 ---- .../h/HPL/HPL-2.1-CrayCCE-5.2.40.eb | 22 ---- .../h/HPL/HPL-2.1-CrayGNU-5.1.29.eb | 18 --- .../h/HPL/HPL-2.1-CrayGNU-5.2.25.eb | 18 --- .../h/HPL/HPL-2.1-CrayGNU-5.2.40.eb | 18 --- .../h/HPL/HPL-2.1-CrayIntel-5.1.29.eb | 18 --- .../h/HPL/HPL-2.1-CrayIntel-5.2.25.eb | 18 --- .../h/HPL/HPL-2.1-CrayIntel-5.2.40.eb | 18 --- .../j/JasPer/JasPer-1.900.1-CrayGNU-5.1.29.eb | 21 ---- .../j/JasPer/JasPer-1.900.1-CrayGNU-5.2.25.eb | 21 ---- .../l/Libint/Libint-1.1.4-CrayGNU-5.1.29.eb | 24 ---- .../l/Libint/Libint-1.1.4-CrayGNU-5.2.25.eb | 24 ---- .../libreadline-6.3-CrayGNU-5.1.29.eb | 30 ----- .../libreadline-6.3-CrayGNU-5.2.25.eb | 30 ----- .../l/libxc/libxc-2.2.1-CrayGNU-5.1.29.eb | 32 ----- .../l/libxc/libxc-2.2.1-CrayGNU-5.2.25.eb | 32 ----- .../m/M4/M4-1.4.17-CrayGNU-5.1.29.eb | 23 ---- .../m/M4/M4-1.4.17-CrayGNU-5.2.25.eb | 23 ---- .../n/ncurses/ncurses-5.9-CrayGNU-5.1.29.eb | 36 ------ .../n/ncurses/ncurses-5.9-CrayGNU-5.2.25.eb | 36 ------ ...numpy-1.9.2-CrayGNU-5.1.29-Python-2.7.9.eb | 26 ---- ...numpy-1.9.2-CrayGNU-5.2.25-Python-2.7.9.eb | 26 ---- .../Python-2.7.9-CrayGNU-5.1.29-bare.eb | 39 ------ .../p/Python/Python-2.7.9-CrayGNU-5.1.29.eb | 115 ------------------ .../Python-2.7.9-CrayGNU-5.2.25-bare.eb | 39 ------ .../p/Python/Python-2.7.9-CrayGNU-5.2.25.eb | 115 ------------------ .../s/Szip/Szip-2.1-CrayGNU-5.1.29.eb | 23 ---- .../s/Szip/Szip-2.1-CrayGNU-5.2.25.eb | 23 ---- ...cipy-0.15.1-CrayGNU-5.1.29-Python-2.7.9.eb | 19 --- ...cipy-0.15.1-CrayGNU-5.2.25-Python-2.7.9.eb | 19 --- .../t/tcsh/tcsh-6.18.01-CrayGNU-5.1.29.eb | 39 ------ .../t/tcsh/tcsh-6.18.01-CrayGNU-5.2.25.eb | 39 ------ .../w/WRF/WRF-3.6.1-CrayGNU-5.1.29-dmpar.eb | 42 ------- .../w/WRF/WRF-3.6.1-CrayGNU-5.2.25-dmpar.eb | 42 ------- .../z/zlib/zlib-1.2.8-CrayGNU-5.1.29.eb | 22 ---- .../z/zlib/zlib-1.2.8-CrayGNU-5.2.25.eb | 22 ---- 64 files changed, 1750 deletions(-) delete mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.1.29.eb delete mode 100644 easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.25.eb delete mode 100644 easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.40.eb delete mode 100644 easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.1.29.eb delete mode 100644 easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.25.eb delete mode 100644 easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.40.eb delete mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.1.29-mpi.eb delete mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.25-mpi.eb delete mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.40-mpi.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.1.29.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.25.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.40.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.40.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.1.29.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.25.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.40.eb delete mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.1.29-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.25-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29-bare.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25-bare.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.1.29-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.25-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.25.eb delete mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.1.29-dmpar.eb delete mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.25-dmpar.eb delete mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.1.29.eb delete mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.25.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.1.29.eb deleted file mode 100644 index 96873ab500..0000000000 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Bison' -version = '3.0.2' - -homepage = 'http://www.gnu.org/software/bison' -description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar - into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [('M4', '1.4.17')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], - 'dirs': [], -} - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.25.eb deleted file mode 100644 index 79f11b47fe..0000000000 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Bison' -version = '3.0.2' - -homepage = 'http://www.gnu.org/software/bison' -description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar - into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [('M4', '1.4.17')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], - 'dirs': [], -} - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.40.eb deleted file mode 100644 index 67832ccafa..0000000000 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Bison' -version = '3.0.2' - -homepage = 'http://www.gnu.org/software/bison' -description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar - into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [('M4', '1.4.17')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], - 'dirs': [], -} - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.1.29.eb deleted file mode 100644 index a04591dede..0000000000 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,15 +0,0 @@ -name = 'bzip2' -version = '1.0.6' - -homepage = 'http://www.bzip.org/' -description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically - compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical - compressors), whilst being around twice as fast at compression and six times faster at decompression.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.bzip.org/%(version)s'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.25.eb deleted file mode 100644 index 3f96190606..0000000000 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,15 +0,0 @@ -name = 'bzip2' -version = '1.0.6' - -homepage = 'http://www.bzip.org/' -description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically - compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical - compressors), whilst being around twice as fast at compression and six times faster at decompression.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.bzip.org/%(version)s'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.40.eb deleted file mode 100644 index 58489cb68f..0000000000 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,15 +0,0 @@ -name = 'bzip2' -version = '1.0.6' - -homepage = 'http://www.bzip.org/' -description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically - compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical - compressors), whilst being around twice as fast at compression and six times faster at decompression.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.bzip.org/%(version)s'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.1.29.eb deleted file mode 100644 index 68df962efa..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.2.2' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'dynamic': True} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.25.eb deleted file mode 100644 index 75190be28b..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.2.2' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'dynamic': True} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.40.eb deleted file mode 100644 index 275dc8cada..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.2.2' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'dynamic': True} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.1.29.eb deleted file mode 100644 index e1f9bdb729..0000000000 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,38 +0,0 @@ -name = 'CP2K' -version = '2.6.0' - -homepage = 'http://www.cp2k.org/' -description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular - simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different - methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and - classical pair and many-body potentials. """ - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_BZ2] -source_urls = [SOURCEFORGE_SOURCE] - -patches = [ - 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', -] - -dependencies = [ - ('Libint', '1.1.4'), - ('libxc', '2.2.1'), -] - -builddependencies = [ - ('flex', '2.5.39'), - ('Bison', '3.0.2'), -] - -# don't use parallel make, results in compilation failure -# because Fortran module files aren't created before they are needed -parallel = 1 - -# regression test reports failures -ignore_regtest_fails = True - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.25.eb deleted file mode 100644 index 43baa97a11..0000000000 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,38 +0,0 @@ -name = 'CP2K' -version = '2.6.0' - -homepage = 'http://www.cp2k.org/' -description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular - simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different - methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and - classical pair and many-body potentials. """ - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_BZ2] -source_urls = [SOURCEFORGE_SOURCE] - -patches = [ - 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', -] - -dependencies = [ - ('Libint', '1.1.4'), - ('libxc', '2.2.1'), -] - -builddependencies = [ - ('flex', '2.5.39'), - ('Bison', '3.0.2'), -] - -# don't use parallel make, results in compilation failure -# because Fortran module files aren't created before they are needed -parallel = 1 - -# regression test reports failures -ignore_regtest_fails = True - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.40.eb deleted file mode 100644 index eea0ba5f73..0000000000 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,38 +0,0 @@ -name = 'CP2K' -version = '2.6.0' - -homepage = 'http://www.cp2k.org/' -description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular - simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different - methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and - classical pair and many-body potentials. """ - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_BZ2] -source_urls = [SOURCEFORGE_SOURCE] - -patches = [ - 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', -] - -dependencies = [ - ('Libint', '1.1.4'), - ('libxc', '2.2.1'), -] - -builddependencies = [ - ('flex', '2.5.39'), - ('Bison', '3.0.2'), -] - -# don't use parallel make, results in compilation failure -# because Fortran module files aren't created before they are needed -parallel = 1 - -# regression test reports failures -ignore_regtest_fails = True - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.1.29.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.1.29.eb deleted file mode 100644 index 766d96d756..0000000000 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.1.29.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayCCE' -version = '5.1.29' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-cray module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-cray/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.0', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.25.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.25.eb deleted file mode 100644 index 7a2e621e24..0000000000 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.25.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayCCE' -version = '5.2.25' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-cray module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-cray/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.2', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.40.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.40.eb deleted file mode 100644 index b31f4b3a23..0000000000 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-5.2.40.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayCCE' -version = '5.2.40' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-cray module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-cray/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.2', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.1.29.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.1.29.eb deleted file mode 100644 index b3e7499933..0000000000 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.1.29.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayGNU' -version = '5.1.29' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-gnu/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.0', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.25.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.25.eb deleted file mode 100644 index 4015746894..0000000000 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.25.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayGNU' -version = '5.2.25' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-gnu/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.2', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.40.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.40.eb deleted file mode 100644 index dbbbbbd303..0000000000 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-5.2.40.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayGNU' -version = '5.2.40' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-gnu/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.2', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.1.29.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.1.29.eb deleted file mode 100644 index 7c17b80f7e..0000000000 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.1.29.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayIntel' -version = '5.1.29' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-intel module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-intel/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.0', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.25.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.25.eb deleted file mode 100644 index edaac85f54..0000000000 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.25.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayIntel' -version = '5.2.25' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-intel module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-intel/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.2', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.40.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.40.eb deleted file mode 100644 index 5937accfe4..0000000000 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-5.2.40.eb +++ /dev/null @@ -1,16 +0,0 @@ -easyblock = 'Toolchain' - -name = 'CrayIntel' -version = '5.2.40' - -homepage = '(none)' -description = """Toolchain using Cray compiler wrapper, using PrgEnv-intel module.""" - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -dependencies = [ - ('PrgEnv-intel/' + version, EXTERNAL_MODULE), # also loads cray-libsci - ('fftw/3.3.4.2', EXTERNAL_MODULE), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.1.29.eb deleted file mode 100644 index a6d2ced89c..0000000000 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,14 +0,0 @@ -name = 'flex' -version = '2.5.39' - -homepage = 'http://flex.sourceforge.net/' -description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, - sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.25.eb deleted file mode 100644 index e9455b96ac..0000000000 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,14 +0,0 @@ -name = 'flex' -version = '2.5.39' - -homepage = 'http://flex.sourceforge.net/' -description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, - sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.40.eb deleted file mode 100644 index 470ec059e0..0000000000 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,14 +0,0 @@ -name = 'flex' -version = '2.5.39' - -homepage = 'http://flex.sourceforge.net/' -description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, - sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.1.29-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.1.29-mpi.eb deleted file mode 100644 index 1aa3886405..0000000000 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.1.29-mpi.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University -# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ -# George Tsouloupas , Kenneth Hoste -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html -## -name = 'GROMACS' -version = '4.6.7' -versionsuffix = '-mpi' - -homepage = 'http://www.gromacs.org' -description = """GROMACS is a versatile package to perform molecular dynamics, - i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'usempi': True} - -# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz -source_urls = [ - 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources - 'http://gerrit.gromacs.org/download/', # regression tests sources -] -sources = [ - SOURCELOWER_TAR_GZ, - 'regressiontests-%(version)s.tar.gz', -] - -builddependencies = [('CMake', '3.2.2')] - -runtest = False - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.25-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.25-mpi.eb deleted file mode 100644 index 4a945e2af8..0000000000 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.25-mpi.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University -# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ -# George Tsouloupas , Kenneth Hoste -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html -## -name = 'GROMACS' -version = '4.6.7' -versionsuffix = '-mpi' - -homepage = 'http://www.gromacs.org' -description = """GROMACS is a versatile package to perform molecular dynamics, - i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'usempi': True} - -# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz -source_urls = [ - 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources - 'http://gerrit.gromacs.org/download/', # regression tests sources -] -sources = [ - SOURCELOWER_TAR_GZ, - 'regressiontests-%(version)s.tar.gz', -] - -builddependencies = [('CMake', '3.2.2')] - -runtest = False - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.40-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.40-mpi.eb deleted file mode 100644 index 239ea564c8..0000000000 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-5.2.40-mpi.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University -# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ -# George Tsouloupas , Kenneth Hoste -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html -## -name = 'GROMACS' -version = '4.6.7' -versionsuffix = '-mpi' - -homepage = 'http://www.gromacs.org' -description = """GROMACS is a versatile package to perform molecular dynamics, - i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'usempi': True} - -# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz -source_urls = [ - 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources - 'http://gerrit.gromacs.org/download/', # regression tests sources -] -sources = [ - SOURCELOWER_TAR_GZ, - 'regressiontests-%(version)s.tar.gz', -] - -builddependencies = [('CMake', '3.2.2')] - -runtest = False - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.1.29.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.1.29.eb deleted file mode 100644 index a7abc8534e..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.1.29.eb +++ /dev/null @@ -1,22 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayCCE', 'version': '5.1.29'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -patches = [ - # fix Make dependencies, so parallel build also works - 'HPL_parallel-make.patch', - 'HPL-2.1_LINKER-ld.patch', -] - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.25.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.25.eb deleted file mode 100644 index 109c7ddafc..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.25.eb +++ /dev/null @@ -1,22 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayCCE', 'version': '5.2.25'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -patches = [ - # fix Make dependencies, so parallel build also works - 'HPL_parallel-make.patch', - 'HPL-2.1_LINKER-ld.patch', -] - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.40.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.40.eb deleted file mode 100644 index b91a1eb499..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-5.2.40.eb +++ /dev/null @@ -1,22 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayCCE', 'version': '5.2.40'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -patches = [ - # fix Make dependencies, so parallel build also works - 'HPL_parallel-make.patch', - 'HPL-2.1_LINKER-ld.patch', -] - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.1.29.eb deleted file mode 100644 index 806d976659..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.25.eb deleted file mode 100644 index b4acf0c1bc..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.40.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.40.eb deleted file mode 100644 index dcfcc5ca6e..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-5.2.40.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.40'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.1.29.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.1.29.eb deleted file mode 100644 index c8cac688c8..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.1.29.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayIntel', 'version': '5.1.29'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.25.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.25.eb deleted file mode 100644 index 0344d227a5..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.25.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayIntel', 'version': '5.2.25'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.40.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.40.eb deleted file mode 100644 index 8a33b68ad9..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-5.2.40.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayIntel', 'version': '5.2.40'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.1.29.eb deleted file mode 100644 index feca7c584a..0000000000 --- a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'JasPer' -version = '1.900.1' - -homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' -description = """The JasPer Project is an open-source initiative to provide a free - software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_ZIP] -source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] - -sanity_check_paths = { - 'files': ["bin/jasper", "lib/libjasper.a"], - 'dirs': ["include"], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.25.eb deleted file mode 100644 index 606c94876c..0000000000 --- a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'JasPer' -version = '1.900.1' - -homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' -description = """The JasPer Project is an open-source initiative to provide a free - software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_ZIP] -source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] - -sanity_check_paths = { - 'files': ["bin/jasper", "lib/libjasper.a"], - 'dirs': ["include"], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.1.29.eb deleted file mode 100644 index 7d4d9128c9..0000000000 --- a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'Libint' -version = '1.1.4' - -homepage = 'https://sourceforge.net/p/libint/' -description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body - matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'opt': True, 'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') - -configopts = "--enable-deriv --enable-r12" - -sanity_check_paths = { - 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + - ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + - ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + - ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], - 'dirs':[], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.25.eb deleted file mode 100644 index e7bca79f1d..0000000000 --- a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'Libint' -version = '1.1.4' - -homepage = 'https://sourceforge.net/p/libint/' -description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body - matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'opt': True, 'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') - -configopts = "--enable-deriv --enable-r12" - -sanity_check_paths = { - 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + - ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + - ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + - ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], - 'dirs':[], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.1.29.eb deleted file mode 100644 index 1069375589..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.3' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """The GNU Readline library provides a set of functions for use by applications that - allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. - The Readline library includes additional functions to maintain a list of previously-entered command lines, - to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '5.9')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs' : [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.25.eb deleted file mode 100644 index 33f071a9b3..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.3' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """The GNU Readline library provides a set of functions for use by applications that - allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. - The Readline library includes additional functions to maintain a list of previously-entered command lines, - to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '5.9')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs' : [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.1.29.eb deleted file mode 100644 index 548d650cde..0000000000 --- a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libxc' -version = '2.2.1' - -homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' -description = """Libxc is a library of exchange-correlation functionals for density-functional theory. - The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'opt': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] - -configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' - -# From the libxc mailing list -# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect -# a fully working testsuite soon (unless someone wants to volunteer to do -# it, of course ) In the meantime, unless the majority of the tests -# fail, your build should be fine. -#runtest = 'check' - -sanity_check_paths = { - 'files': ['lib/libxc.a'], - 'dirs': ['include'], -} - -parallel = 1 - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.25.eb deleted file mode 100644 index 79002b6ce4..0000000000 --- a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libxc' -version = '2.2.1' - -homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' -description = """Libxc is a library of exchange-correlation functionals for density-functional theory. - The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'opt': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] - -configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' - -# From the libxc mailing list -# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect -# a fully working testsuite soon (unless someone wants to volunteer to do -# it, of course ) In the meantime, unless the majority of the tests -# fail, your build should be fine. -#runtest = 'check' - -sanity_check_paths = { - 'files': ['lib/libxc.a'], - 'dirs': ['include'], -} - -parallel = 1 - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.1.29.eb deleted file mode 100644 index de4b325756..0000000000 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'M4' -version = '1.4.17' - -homepage = 'http://www.gnu.org/software/m4/m4.html' -description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible - although it has some extensions (for example, handling more than 9 positional parameters to macros). - GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -configopts = "--enable-cxx" - -sanity_check_paths = { - 'files': ["bin/m4"], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.25.eb deleted file mode 100644 index 06f80557f1..0000000000 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'M4' -version = '1.4.17' - -homepage = 'http://www.gnu.org/software/m4/m4.html' -description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible - although it has some extensions (for example, handling more than 9 positional parameters to macros). - GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -configopts = "--enable-cxx" - -sanity_check_paths = { - 'files': ["bin/m4"], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.1.29.eb deleted file mode 100644 index 6b7bb1c347..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'optarch': True, 'shared': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['ncurses-%(version)s_configure_darwin.patch'] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.25.eb deleted file mode 100644 index 01680ab5b7..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'optarch': True, 'shared': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['ncurses-%(version)s_configure_darwin.patch'] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.1.29-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.1.29-Python-2.7.9.eb deleted file mode 100644 index 49b27458ee..0000000000 --- a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.1.29-Python-2.7.9.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'numpy' -version = '1.9.2' - -homepage = 'http://www.numpy.org' -description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: - a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran - code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, - NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be - defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['numpy-1.8.0-mkl.patch'] - -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.25-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.25-Python-2.7.9.eb deleted file mode 100644 index fa04b42299..0000000000 --- a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-5.2.25-Python-2.7.9.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'numpy' -version = '1.9.2' - -homepage = 'http://www.numpy.org' -description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: - a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran - code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, - NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be - defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['numpy-1.8.0-mkl.patch'] - -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29-bare.eb deleted file mode 100644 index 5c84059a20..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29-bare.eb +++ /dev/null @@ -1,39 +0,0 @@ -name = 'Python' -version = '2.7.9' -versionsuffix = '-bare' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True, 'opt': True} - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -# bare installation: no extensions included -exts_list = [] - -buildopts = 'LINKCC="$CC -dynamic"' - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29.eb deleted file mode 100644 index 2e085966c7..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,115 +0,0 @@ -name = 'Python' -version = '2.7.9' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -numpyversion = '1.9.1' -scipyversion = '0.14.1' - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -buildopts = 'LINKCC="$CC -dynamic"' - -# order is important! -# package versions updated Jan 19th 2015 -exts_list = [ - ('setuptools', '11.3.1', { - 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], - }), - ('pip', '6.0.6', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], - }), - ('nose', '1.3.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], - }), - ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': [ - 'numpy-1.8.0-mkl.patch', # % numpyversion, - ], - }), - ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], - }), - ('blist', '1.3.6', { - 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], - }), - ('mpi4py', '1.3.1', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], - }), - ('paycheck', '1.0.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], - }), - ('argparse', '1.2.1', { - 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], - }), - ('lockfile', '0.10.2', { - 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], - }), - ('Cython', '0.21.2', { - 'source_urls': ['http://www.cython.org/release/'], - }), - ('six', '1.9.0', { - 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], - }), - ('dateutil', '2.4.0', { - 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', - 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], - }), - ('deap', '1.0.1', { - 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], - }), - ('decorator', '3.4.0', { - 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], - }), - ('arff', '2.0.1', { - 'source_tmpl': 'liac-%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], - }), - ('ecdsa', '0.11', { - 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], - }), - ('paramiko', '1.15.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], - }), - ('pyparsing', '2.0.3', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], - }), - ('netifaces', '0.10.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], - }), - ('netaddr', '0.7.13', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], - }), -] - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25-bare.eb deleted file mode 100644 index 1e9572eb83..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25-bare.eb +++ /dev/null @@ -1,39 +0,0 @@ -name = 'Python' -version = '2.7.9' -versionsuffix = '-bare' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True, 'opt': True} - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -# bare installation: no extensions included -exts_list = [] - -buildopts = 'LINKCC="$CC -dynamic"' - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25.eb deleted file mode 100644 index 0c1b139dda..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,115 +0,0 @@ -name = 'Python' -version = '2.7.9' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -numpyversion = '1.9.1' -scipyversion = '0.14.1' - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -buildopts = 'LINKCC="$CC -dynamic"' - -# order is important! -# package versions updated Jan 19th 2015 -exts_list = [ - ('setuptools', '11.3.1', { - 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], - }), - ('pip', '6.0.6', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], - }), - ('nose', '1.3.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], - }), - ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': [ - 'numpy-1.8.0-mkl.patch', # % numpyversion, - ], - }), - ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], - }), - ('blist', '1.3.6', { - 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], - }), - ('mpi4py', '1.3.1', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], - }), - ('paycheck', '1.0.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], - }), - ('argparse', '1.2.1', { - 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], - }), - ('lockfile', '0.10.2', { - 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], - }), - ('Cython', '0.21.2', { - 'source_urls': ['http://www.cython.org/release/'], - }), - ('six', '1.9.0', { - 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], - }), - ('dateutil', '2.4.0', { - 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', - 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], - }), - ('deap', '1.0.1', { - 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], - }), - ('decorator', '3.4.0', { - 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], - }), - ('arff', '2.0.1', { - 'source_tmpl': 'liac-%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], - }), - ('ecdsa', '0.11', { - 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], - }), - ('paramiko', '1.15.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], - }), - ('pyparsing', '2.0.3', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], - }), - ('netifaces', '0.10.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], - }), - ('netaddr', '0.7.13', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], - }), -] - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.1.29.eb deleted file mode 100644 index 04ccb9df33..0000000000 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Szip' -version = '2.1' - -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' -description = "Szip compression software, providing lossless compression of scientific data" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True, 'dynamic': True} - -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic" - -sanity_check_paths = { - 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + - ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.25.eb deleted file mode 100644 index ce6dcbcc3d..0000000000 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Szip' -version = '2.1' - -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' -description = "Szip compression software, providing lossless compression of scientific data" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True, 'dynamic': True} - -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic" - -sanity_check_paths = { - 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + - ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.1.29-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.1.29-Python-2.7.9.eb deleted file mode 100644 index d6c03f828c..0000000000 --- a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.1.29-Python-2.7.9.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'scipy' -version = '0.15.1' -versionsuffix = '-Python-2.7.9' - -homepage = 'http://www.scipy.org' -description = """SciPy is a collection of mathematical algorithms and convenience - functions built on the Numpy extension for Python.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True} - -source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('numpy', '1.9.2', versionsuffix), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.25-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.25-Python-2.7.9.eb deleted file mode 100644 index be06b3e907..0000000000 --- a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-5.2.25-Python-2.7.9.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'scipy' -version = '0.15.1' -versionsuffix = '-Python-2.7.9' - -homepage = 'http://www.scipy.org' -description = """SciPy is a collection of mathematical algorithms and convenience - functions built on the Numpy extension for Python.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True} - -source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('numpy', '1.9.2', versionsuffix), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.1.29.eb deleted file mode 100644 index b62190e55f..0000000000 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,39 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit -# Authors:: Valentin Plugaru -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html -## -easyblock = 'ConfigureMake' - -name = 'tcsh' -version = '6.18.01' - -homepage = 'http://www.tcsh.org' -description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). - It is a command language interpreter usable both as an interactive login shell and a shell script command - processor. It includes a command-line editor, programmable word completion, spelling correction, a history - mechanism, job control and a C-like syntax.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'dynamic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [ - 'ftp://ftp.astron.com/pub/%(namelower)s', - 'ftp://ftp.astron.com/pub/%(namelower)s/old', -] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/tcsh"], - 'dirs': [] -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.25.eb deleted file mode 100644 index c678adaf68..0000000000 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,39 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit -# Authors:: Valentin Plugaru -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html -## -easyblock = 'ConfigureMake' - -name = 'tcsh' -version = '6.18.01' - -homepage = 'http://www.tcsh.org' -description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). - It is a command language interpreter usable both as an interactive login shell and a shell script command - processor. It includes a command-line editor, programmable word completion, spelling correction, a history - mechanism, job control and a C-like syntax.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'dynamic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [ - 'ftp://ftp.astron.com/pub/%(namelower)s', - 'ftp://ftp.astron.com/pub/%(namelower)s/old', -] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/tcsh"], - 'dirs': [] -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.1.29-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.1.29-dmpar.eb deleted file mode 100644 index cfdc17ab69..0000000000 --- a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.1.29-dmpar.eb +++ /dev/null @@ -1,42 +0,0 @@ -name = 'WRF' -version = '3.6.1' - -homepage = 'http://www.wrf-model.org' -description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale - numerical weather prediction system designed to serve both operational forecasting and atmospheric - research needs.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 - -sources = ['%(name)sV%(version)s.TAR.gz'] -source_urls = [ - 'http://www2.mmm.ucar.edu/wrf/src/', - 'http://www.mmm.ucar.edu/wrf/src/', -] - -# use tcsh provided by system, using an EB-provided tcsh results in a hanging build command on some Cray systems -osdependencies = ['tcsh'] -#builddependencies = [('tcsh', '6.18.01')] - -dependencies = [ - ('JasPer', '1.900.1'), - ('cray-netcdf/4.3.2', EXTERNAL_MODULE), - ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), -] - -patches = [ - 'WRF_parallel_build_fix.patch', - 'WRF-3.6.1_known_problems.patch', - 'WRF_tests_limit-runtimes.patch', -] - -# limit parallel build to 20 -maxparallel = 20 - -buildtype = "dmpar" -versionsuffix = '-%s' % buildtype - -runtest = False - -moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.25-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.25-dmpar.eb deleted file mode 100644 index b4103d924f..0000000000 --- a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-5.2.25-dmpar.eb +++ /dev/null @@ -1,42 +0,0 @@ -name = 'WRF' -version = '3.6.1' - -homepage = 'http://www.wrf-model.org' -description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale - numerical weather prediction system designed to serve both operational forecasting and atmospheric - research needs.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 - -sources = ['%(name)sV%(version)s.TAR.gz'] -source_urls = [ - 'http://www2.mmm.ucar.edu/wrf/src/', - 'http://www.mmm.ucar.edu/wrf/src/', -] - -# use tcsh provided by system, using an EB-provided tcsh results in a hanging build command on some Cray systems -osdependencies = ['tcsh'] -#builddependencies = [('tcsh', '6.18.01')] - -dependencies = [ - ('JasPer', '1.900.1'), - ('cray-netcdf/4.3.2', EXTERNAL_MODULE), - ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), -] - -patches = [ - 'WRF_parallel_build_fix.patch', - 'WRF-3.6.1_known_problems.patch', - 'WRF_tests_limit-runtimes.patch', -] - -# limit parallel build to 20 -maxparallel = 20 - -buildtype = "dmpar" -versionsuffix = '-%s' % buildtype - -runtest = False - -moduleclass = 'geo' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.1.29.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.1.29.eb deleted file mode 100644 index e23fdc62cb..0000000000 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.1.29.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'zlib' -version = '1.2.8' - -homepage = 'http://www.zlib.net/' -description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, - not covered by any patents -- lossless data-compression library for use on virtually any - computer hardware and operating system.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.1.29'} -toolchainopts = {'pic': True, 'dynamic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] - -sanity_check_paths = { - 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.25.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.25.eb deleted file mode 100644 index 196dc1e3be..0000000000 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-5.2.25.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'zlib' -version = '1.2.8' - -homepage = 'http://www.zlib.net/' -description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, - not covered by any patents -- lossless data-compression library for use on virtually any - computer hardware and operating system.""" - -toolchain = {'name': 'CrayGNU', 'version': '5.2.25'} -toolchainopts = {'pic': True, 'dynamic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] - -sanity_check_paths = { - 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'lib' -- GitLab From 732df2686676167f531b7e4de3268b978f878747 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 27 Feb 2016 14:31:03 +0100 Subject: [PATCH 0288/1089] update with R 3.2.3 easyconfig in current develop --- .../easyconfigs/r/R/R-3.2.3-foss-2015b.eb | 1 - .../easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 26 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb index aae3ac82f6..229ad73a8c 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb @@ -56,7 +56,6 @@ exts_list = [ 'utils', # non-standard libraries, should be specified with fixed versions! ('Rmpi', '0.6-5', ext_options), - ('Rmpi', '0.6-5', ext_options), ('abind', '1.4-3', ext_options), ('magic', '1.5-6', ext_options), ('geometry', '0.3-6', ext_options), diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index 2f1c082832..46ed150b7a 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -393,6 +393,32 @@ exts_list = [ ('tensorA', '0.36', ext_options), ('EasyABC', '1.5', ext_options), ('shape', '1.4.2', ext_options), + ('whisker', '0.3-2', ext_options), + ('rstudioapi', '0.4.0', ext_options), + ('roxygen2', '5.0.1', ext_options), + ('git2r', '0.13.1', ext_options), + ('xml2', '0.1.2', ext_options), + ('rversions', '1.0.2', ext_options), + ('devtools', '1.9.1', ext_options), + ('Rook', '1.1-1', ext_options), + ('rjson', '0.2.15', ext_options), + ('Cairo', '1.5-9', ext_options), + ('RMTstat', '0.3', ext_options), + ('Lmoments', '1.1-6', ext_options), + ('distillery', '1.0-2', ext_options), + ('extRemes', '2.0-7', ext_options), + ('pixmap', '0.4-11', ext_options), + ('tkrplot', '0.0-23', ext_options), + ('misc3d', '0.8-4', ext_options), + ('multicool', '0.1-9', ext_options), + ('ks', '1.10.1', ext_options), + ('logcondens', '2.1.4', ext_options), + ('Iso', '0.0-17', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.1-2', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), ] moduleclass = 'lang' -- GitLab From b0d06e61a6bb264589f31d972212e831480b7c76 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 27 Feb 2016 17:56:10 +0100 Subject: [PATCH 0289/1089] add binutils as dependency in flex easyconfig --- easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb index 0c9f4d80a4..e1a9437774 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.3.0.eb @@ -13,6 +13,9 @@ source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] dependencies = [('Bison', '3.0.4')] +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.26', '', True)] + parallel = 1 moduleclass = 'lang' -- GitLab From ce8f1d793d00f67a5dce1baaa21ffec30ccc7471 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 27 Feb 2016 20:09:20 +0000 Subject: [PATCH 0290/1089] Add details about purpose and provenance of the patch --- .../easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch b/easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch index 20e3f284a8..9ba80c7478 100644 --- a/easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch +++ b/easybuild/easyconfigs/p/PLINK/PLINK-1.07_redeclaration.patch @@ -1,3 +1,10 @@ +Taken from https://github.com/Homebrew/homebrew-science/pull/958 + +This fixes code in PLINK that causes errors when building with +GCC >= 4.8. + +The patch is itself derived from Debian originally. + diff --git a/sets.cpp b/sets.cpp index 3a8f92f..adef60f 100644 --- a/sets.cpp -- GitLab From fec82c4c000dd1f46ab3e57f95f3ec7479092339 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 27 Feb 2016 20:12:03 +0000 Subject: [PATCH 0291/1089] Use platform-agnostic dynamic library extension --- easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb b/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb index 8218ead1ea..3dbf1f6dcc 100644 --- a/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb +++ b/easybuild/easyconfigs/p/PLINK/PLINK-1.07-foss-2015b.eb @@ -33,7 +33,7 @@ dependencies = [('zlib', '1.2.8')] # if you want "new version check" change to WITH_WEBCHECK="1", but if your compute nodes # have no internet access better leave it as is buildopts = ' CXX_UNIX="$CXX $CXXFLAGS" WITH_R_PLUGINS=1 WITH_WEBCHECK="" WITH_ZLIB=1 ' -buildopts += ' WITH_LAPACK=1 FORCE_DYNAMIC=1 LIB_LAPACK=$EBROOTOPENBLAS/lib/libopenblas.so' +buildopts += ' WITH_LAPACK=1 FORCE_DYNAMIC=1 LIB_LAPACK=$EBROOTOPENBLAS/lib/libopenblas.%s' % SHLIB_EXT files_to_copy = [ (["plink", "gPLINK.jar"], 'bin'), -- GitLab From 3ab3bd7a72ddaf4c7aa4ca42b3d283b3e68c63e9 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 27 Feb 2016 20:16:27 +0000 Subject: [PATCH 0292/1089] Remove superfluous comment --- easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb index 2d42585347..c4baaa942f 100644 --- a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb @@ -27,6 +27,4 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['https://github.com/lh3/%(name)s/archive/'] sources = ['v%(version)s.tar.gz'] -#Sanity check included in custom easyblock - moduleclass = 'bio' -- GitLab From 881a1af7508fe81b6716e69ca4cf91469764b885 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 08:24:29 +0000 Subject: [PATCH 0293/1089] Port HTSeq and matplotlib dep to foss-2015b --- .../HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb | 32 +++++++++++++ ...tplotlib-1.5.1-foss-2015b-Python-2.7.10.eb | 45 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb create mode 100644 easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..59b6c70412 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb @@ -0,0 +1,32 @@ +easyblock = "PythonPackage" + +name = 'HTSeq' +version = '0.6.1p1' + +homepage = 'http://www-huber.embl.de/users/anders/HTSeq/' +description = """A framework to process and analyze data from high-throughput sequencing (HTS) assays""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pythonver = '2.7.10' +pyshortver = '.'.join(pythonver.split('.')[0:2]) +versionsuffix = '-%s-%s' % (python, pythonver) +eggname = '%%(name)s-%%(version)s-py%s-linux-x86_64.egg' % pyshortver + +dependencies = [ + (python, pythonver), + ('matplotlib', '1.5.1', versionsuffix), +] + +sanity_check_paths = { + 'files': ["bin/htseq-count", "bin/htseq-qa"], + 'dirs': ["lib/python%s/site-packages/%s" % (pyshortver, eggname)], +} + +options = {'modulename': '%(name)s'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..207a23ff90 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb @@ -0,0 +1,45 @@ +easyblock = 'Bundle' + +name = 'matplotlib' +version = '1.5.1' +versionsuffix = '-Python-%(pyver)s' + +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.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' +exts_filter = ('python -c "import %(ext_name)s"', '') + +dependencies = [ + ('Python', '2.7.10'), + ('freetype', '2.6.2'), + ('libpng', '1.6.21'), +] + +exts_list = [ + ('Cycler', '0.9.0', { + 'modulename': 'cycler', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'source_tmpl': 'cycler-%(version)s.tar.gz', + }), + (name, version, { + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + }), +] + +# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module +full_sanity_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' -- GitLab From 23f91104b705ad48bb482f5e9dd34e22c11e1b10 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 08:27:08 +0000 Subject: [PATCH 0294/1089] Change moduleclass to bio --- .../h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb index 59b6c70412..84e43a6849 100644 --- a/easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/h/HTSeq/HTSeq-0.6.1p1-foss-2015b-Python-2.7.10.eb @@ -29,4 +29,4 @@ sanity_check_paths = { options = {'modulename': '%(name)s'} -moduleclass = 'data' +moduleclass = 'bio' -- GitLab From 345cfaa10d12af8d373e52420b02c22ef47226c8 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 10:32:34 +0000 Subject: [PATCH 0295/1089] Add missing deps freetype and libpng --- .../f/freetype/freetype-2.6.2-foss-2015b.eb | 21 +++++++++++++++++++ .../l/libpng/libpng-1.6.21-foss-2015b.eb | 19 +++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2015b.eb create mode 100644 easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2015b.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2015b.eb new file mode 100644 index 0000000000..54449d2405 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2015b.eb @@ -0,0 +1,21 @@ +name = 'freetype' +version = '2.6.2' + +homepage = 'http://freetype.org' +description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and + portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display + servers, font conversion tools, text image generation tools, and many other products as well.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('libpng', '1.6.21')] + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb new file mode 100644 index 0000000000..eb62c5487c --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.21' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('zlib', '1.2.8')] + +configopts = "--with-pic" + +moduleclass = 'lib' -- GitLab From 2ee94c2ec31992f07aeca2aa10ed443b97b87235 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 28 Feb 2016 14:08:46 +0100 Subject: [PATCH 0296/1089] add missing easyconfigs to resolve deps for R 3.2.3 w/ intel/2016a --- .../c/cURL/cURL-7.47.0-intel-2016a.eb | 31 +++++++++++++++++ .../d/Doxygen/Doxygen-1.8.11-intel-2016a.eb | 19 +++++++++++ .../g/GDAL/GDAL-2.0.2-intel-2016a.eb | 29 ++++++++++++++++ .../l/libxml2/libxml2-2.9.3-intel-2016a.eb | 29 ++++++++++++++++ .../n/netCDF/netCDF-4.3.3.1-intel-2016a.eb | 34 +++++++++++++++++++ 5 files changed, 142 insertions(+) create mode 100644 easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb new file mode 100644 index 0000000000..d47702643f --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.47.0' + +homepage = 'http://curl.haxx.se' +description = """libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, + POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports + SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, + proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, + Kerberos), file transfer resume, http proxy tunneling and more.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://curl.haxx.se/download/'] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# dependencies = [('OpenSSL', '1.0.1r')] +# configopts = "--with-ssl=$EBROOTOPENSSL" + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb new file mode 100644 index 0000000000..dd1ad80d3a --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb @@ -0,0 +1,19 @@ +name = 'Doxygen' +version = '1.8.11' + +homepage = 'http://www.doxygen.org' +description = """Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] + +builddependencies = [ + ('CMake', '3.4.1'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a.eb new file mode 100644 index 0000000000..203a2ae454 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.0.2' + +homepage = 'http://www.gdal.org/' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('netCDF', '4.3.3.1'), + ('expat', '2.1.0'), + ('libxml2', '2.9.3'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['lib/libgdal.%s' % SHLIB_EXT, 'lib/libgdal.a'], + 'dirs': ['bin', 'include'] +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb new file mode 100644 index 0000000000..b762d96901 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016a.eb new file mode 100644 index 0000000000..40796ae26b --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016a.eb @@ -0,0 +1,34 @@ +name = 'netCDF' +version = '4.3.3.1' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/', + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/old', +] + +dependencies = [ + ('HDF5', '1.8.16'), + ('cURL', '7.47.0'), +] + +builddependencies = [ + ('CMake', '3.4.1'), + ('Doxygen', '1.8.11'), +] + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF ", + "-DBUILD_SHARED_LIBS=ON ", +] + +moduleclass = 'data' -- GitLab From 8dd7e4c9c70387654f7b9e18936ad94767d668fc Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 20:59:47 +0000 Subject: [PATCH 0297/1089] Add sanity checks from intel version --- easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb index eb62c5487c..03fb87f59f 100644 --- a/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2015b.eb @@ -16,4 +16,11 @@ dependencies = [('zlib', '1.2.8')] configopts = "--with-pic" +majminver = ''.join(version.split('.')[:2]) +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', 'lib/libpng.a', + 'lib/libpng.%s' % SHLIB_EXT, 'lib/libpng%s.a' % majminver, 'lib/libpng%s.%s' % (majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % majminver, 'share/man'], +} + moduleclass = 'lib' -- GitLab From 9ccd759202411cc04a8a5c4c20dfe5f0601cf9f4 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 21:08:20 +0000 Subject: [PATCH 0298/1089] Revert homepage to SourceForge, keep source url as GitHub --- easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb index c4baaa942f..2018ca59b4 100644 --- a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2015b.eb @@ -12,12 +12,14 @@ # Version >= 0.7.13 # Author: Adam Huffman # The Francis Crick Institute +# +# Note that upstream development is mainly at: https://github.com/lh3/bwa ## name = 'BWA' version = '0.7.13' -homepage = 'https://github.com/lh3/bwa' +homepage = 'http://bio-bwa.sourceforge.net/' description = """Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively short nucleotide sequences against a long reference sequence such as the human genome.""" -- GitLab From 4c85cfcbcaf4214827916aa863bfb6425503d90b Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 21:21:01 +0000 Subject: [PATCH 0299/1089] Port to foss-2015b with Perl 5.22.0 --- .../PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb new file mode 100644 index 0000000000..c5cac8c87f --- /dev/null +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb @@ -0,0 +1,118 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by Adam Huffman +# The Francis Crick Institute + +easyblock = 'Tarball' + +name = 'PRINSEQ' +version = '0.20.4' + +homepage = 'http://prinseq.sourceforge.net' +description = """A bioinformatics tool to PRe-process and show INformation of SEQuence data.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = ['http://sourceforge.net/projects/prinseq/files/standalone/'] +sources = ['%(namelower)s-lite-%(version)s.tar.gz'] + +perl = 'Perl' +perlver = '5.22.0' +versionsuffix = '-%s-%s' % (perl, perlver) + +dependencies = [ + (perl, perlver), +] + +# these are the perl libraries dependencies +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('ExtUtils::Depends', '0.405', { + 'source_tmpl': 'ExtUtils-Depends-0.405.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + }), + ('ExtUtils::PkgConfig', '1.15', { + 'source_tmpl': 'ExtUtils-PkgConfig-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + }), + ('Getopt::Long', '2.48', { + 'source_tmpl': 'Getopt-Long-2.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV/'], + }), + ('Pod::Usage', '1.68', { + 'source_tmpl': 'Pod-Usage-1.68.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + }), + ('File::Temp', '0.2304', { + 'source_tmpl': 'File-Temp-0.2304.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/'], + }), + ('Digest::MD5', '2.54', { + 'source_tmpl': 'Digest-MD5-2.54.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS/'], + }), + ('File::Spec', '3.62', { + 'source_tmpl': 'PathTools-3.62.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS/'], + }), + ('JSON', '2.90', { + 'source_tmpl': 'JSON-2.90.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA/'], + }), + ('Cairo', '1.106', { + 'source_tmpl': 'Cairo-1.106.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + }), + ('Statistics::PCA', '0.0.1', { + 'source_tmpl': 'Statistics-PCA-0.0.1.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSTH/'], + }), + ('MIME::Base64', '3.15', { + 'source_tmpl': 'MIME-Base64-3.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS/'], + }), + ('Math::Cephes::Matrix', '0.5304', { + 'source_tmpl': 'Math-Cephes-0.5304.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/'], + }), + ('Math::MatrixReal', '2.12', { + 'source_tmpl': 'Math-MatrixReal-2.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LETO/'], + }), + ('Text::SimpleTable', '2.03', { + 'source_tmpl': 'Text-SimpleTable-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRAMBERG/'], + }), + ('Contextual::Return', '0.004008', { + 'source_tmpl': 'Contextual-Return-0.004008.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCONWAY/'], + }), + ('Want', '0.26', { + 'source_tmpl': 'Want-0.26.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN/'], + }), +] + +# this is the script which relies in many extra Perl libraries so we verify it's working fine +sanity_check_commands = [('perl', '%(installdir)s/prinseq-graphs.pl')] + +modextrapaths = { + 'PATH': "", # add installation dir to PATH + 'PERL5LIB': 'lib/perl5/site_perl/%s/' % (perlver) +} + +postinstallcmds = [ + "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line + "chmod +x %(installdir)s/*.pl" # add execution permission +] + +sanity_check_paths = { + 'files': ['prinseq-lite.pl', 'prinseq-graphs.pl', 'prinseq-graphs-noPCA.pl'], + 'dirs': [] +} + +moduleclass = 'bio' -- GitLab From e3b608a17ab7d1d29ad29f1585ca97e9048ae9c6 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 21:23:08 +0000 Subject: [PATCH 0300/1089] Use bare Perl --- .../p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb index c5cac8c87f..9d69ec6346 100644 --- a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb @@ -23,7 +23,7 @@ perlver = '5.22.0' versionsuffix = '-%s-%s' % (perl, perlver) dependencies = [ - (perl, perlver), + (perl, perlver, '-bare'), ] # these are the perl libraries dependencies -- GitLab From 1fd2f757002f308e9a18d8da6607d72be91112fb Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 21:55:51 +0000 Subject: [PATCH 0301/1089] Port TopHat2 to foss-2015b --- .../t/TopHat/TopHat-2.1.1-foss-2015b.eb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb new file mode 100644 index 0000000000..31db65ea57 --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'TopHat' +version = '2.1.1' + +homepage = 'http://ccb.jhu.edu/software/tophat/' +description = """TopHat is a fast splice junction mapper for RNA-Seq reads.""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://ccb.jhu.edu/software/tophat/downloads/'] + +patches = [ + 'tophat_ictce.patch', + 'tophat-2.0.13-zlib.patch', +] + +dependencies = [ + ('Boost', '1.60.0'), + ('zlib', '1.2.8'), +] + +configopts = '--with-boost=$EBROOTBOOST' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/tophat'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 78dc6d965f6ee331912f3d693fbb044ce7e713db Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 22:03:45 +0000 Subject: [PATCH 0302/1089] Disable obsolete bundled SeqAn patch for ictce --- easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb index 31db65ea57..dfc3160664 100644 --- a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb @@ -20,7 +20,7 @@ sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://ccb.jhu.edu/software/tophat/downloads/'] patches = [ - 'tophat_ictce.patch', + #'tophat_ictce.patch', 'tophat-2.0.13-zlib.patch', ] -- GitLab From 2a49fc45bee7a42924637dc5db55c101d5081b91 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 22:06:27 +0000 Subject: [PATCH 0303/1089] Remove reference to obsolete patch --- easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb index dfc3160664..3bdcb05552 100644 --- a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.1-foss-2015b.eb @@ -20,7 +20,6 @@ sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://ccb.jhu.edu/software/tophat/downloads/'] patches = [ - #'tophat_ictce.patch', 'tophat-2.0.13-zlib.patch', ] -- GitLab From c57b21df6e316880f727115ae54e8018ba22e9bd Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 22:34:55 +0000 Subject: [PATCH 0304/1089] Update ATSAS PR to 2.7.1 for EL7 --- .../a/ATSAS/ATSAS-2.7.1-1.el7.x86_64.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/a/ATSAS/ATSAS-2.7.1-1.el7.x86_64.eb diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.7.1-1.el7.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.7.1-1.el7.x86_64.eb new file mode 100644 index 0000000000..d2e1adc5f0 --- /dev/null +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.7.1-1.el7.x86_64.eb @@ -0,0 +1,24 @@ +easyblock = 'Tarball' + +name = 'ATSAS' +version = '2.7.1-1' +versionsuffix = '.el7.x86_64' + +homepage = 'http://www.embl-hamburg.de/ExternalInfo/Research/Sax/software.html' +description = """ATSAS is a program suite for small-angle scattering data analysis from biological macromolecules.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download via http://www.embl-hamburg.de/biosaxs/download.html +sources = ['%(name)s-%(version)s%(versionsuffix)s.tar.gz'] + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib64/atsas'], +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib64/atsas', 'share/atsas'], +} + +moduleclass = 'bio' -- GitLab From 706d522e108ed3af7d674ac1bb113b427cca4a18 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 28 Feb 2016 22:58:56 +0000 Subject: [PATCH 0305/1089] Port Exonerate to foss-2015b --- .../e/Exonerate/Exonerate-2.2.0-foss-2015b.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb new file mode 100644 index 0000000000..56718e16b7 --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.2.0' + +homepage = 'http://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate' +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('GLib', '2.34.3')] + +# parallel build fails +parallel = 1 + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["exonerate", "fastaclip", "fastaoverlap"]], + 'dirs': ["share"], +} + +moduleclass = 'bio' -- GitLab From 27e6de9cdc5b54a3fbe4949e34e2cf94aefcb414 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Mon, 29 Feb 2016 14:19:59 +1030 Subject: [PATCH 0306/1089] Do not patch standard /bin/bash shebang --- .../n/NextClip/NextClip_scripts_shebang.patch | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch b/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch index 35d7d7811b..41d0a5aee9 100644 --- a/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch +++ b/easybuild/easyconfigs/n/NextClip/NextClip_scripts_shebang.patch @@ -1,14 +1,5 @@ Fix hardcoding of /usr/bin/perl, use perl available through $PATH -Fix hardcoding of /bin/bash, use bash available through $PATH author: Nathan S. Watson-Haigh (ACPFG) ---- a/scripts/index_bwa.sh -+++ b/scripts/index_bwa.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/usr/bin/env bash - - source bwa-0.6.1 - --- a/scripts/nextclip_index_reference.pl +++ b/scripts/nextclip_index_reference.pl @@ -1,4 +1,4 @@ @@ -33,14 +24,6 @@ author: Nathan S. Watson-Haigh (ACPFG) # Script: nextclip_make_report.pl # Purpose: Produce PDF report of NextClip analysis ---- a/scripts/nextclip_plot_graphs.sh -+++ b/scripts/nextclip_plot_graphs.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/usr/bin/env bash - - # Script: nextclip_plot_graphs.sh - # Purpose: Plot insert length and read length graphs for NextClip --- a/scripts/nextclip_sam_parse.pl +++ b/scripts/nextclip_sam_parse.pl @@ -1,4 +1,4 @@ -- GitLab From f3d74231e0f1cb067f670ada15b04c1b3bc167ee Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 29 Feb 2016 08:14:15 +0000 Subject: [PATCH 0307/1089] Add GLib-2.34.3 for foss-2015b, dep of Exonerate --- .../g/GLib/GLib-2.34.3-foss-2015b.eb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb new file mode 100644 index 0000000000..7b323a630d --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.34.3' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://ftp.gnome.org/pub/gnome/sources/glib/%(version_major_minor)s/'] +sources = ['glib-%(version)s.tar.xz'] + +dependencies = [ + ('libffi', '3.0.13'), + ('gettext', '0.18.2'), + ('libxml2', '2.9.1'), +] +builddependencies = [('Python', '2.7.3')] + +moduleclass = 'vis' -- GitLab From 5696614ee4628512d461fd548e76d172f013c2fc Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 29 Feb 2016 08:21:31 +0000 Subject: [PATCH 0308/1089] Add gettext 0.18.2 for foss-2015b, required by Exonerate --- .../g/gettext/gettext-0.18.2-foss-2015b.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.18.2-foss-2015b.eb diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.18.2-foss-2015b.eb b/easybuild/easyconfigs/g/gettext/gettext-0.18.2-foss-2015b.eb new file mode 100644 index 0000000000..e7d30bfac7 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.18.2-foss-2015b.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.18.2' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = '--without-emacs' + +moduleclass = 'vis' -- GitLab From 16dff43802386b1e30413b192c45ba9ad28c6da9 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 29 Feb 2016 08:27:30 +0000 Subject: [PATCH 0309/1089] Add libxml2 2.9.1 for foss-2015b, required by Exonerate --- .../l/libxml2/libxml2-2.9.1-foss-2015b.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-foss-2015b.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-foss-2015b.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-foss-2015b.eb new file mode 100644 index 0000000000..03c075bd1a --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-foss-2015b.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.1' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' -- GitLab From 39cce5364c3d11f2fe5beb6d4df0b7b9a217156e Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 29 Feb 2016 08:31:24 +0000 Subject: [PATCH 0310/1089] Add libreadline-6.2 & Python-2.7.3 for foss-2015b, required by Exonerate --- .../libreadline/libreadline-6.2-foss-2015b.eb | 30 ++++++ .../p/Python/Python-2.7.3-foss-2015b.eb | 91 +++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.3-foss-2015b.eb diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb new file mode 100644 index 0000000000..6589e3ba7c --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.2' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.3-foss-2015b.eb b/easybuild/easyconfigs/p/Python/Python-2.7.3-foss-2015b.eb new file mode 100644 index 0000000000..7bff359058 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.3-foss-2015b.eb @@ -0,0 +1,91 @@ +name = 'Python' +version = '2.7.3' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.6.1' +scipyversion = '0.10.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.2'), + ('ncurses', '5.9'), + # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +exts_list = [ + ('setuptools', '0.6c11', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '1.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.1.2', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-%s_distutils_multiple-lib-dirs.patch' % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('mpi4py', '1.3', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('lockfile', '0.9.1', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.17.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.1.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.1', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '0.9.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '1.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.8', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.12.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), +] + +moduleclass = 'lang' -- GitLab From 9d482c5f629fd622429a12205cc78e75481f2823 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 29 Feb 2016 09:12:02 +0000 Subject: [PATCH 0311/1089] Fix source location for Exonerate --- easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb index 56718e16b7..6a9d4b5398 100644 --- a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.2.0-foss-2015b.eb @@ -17,7 +17,7 @@ description = """ Exonerate is a generic tool for pairwise sequence comparison. toolchain = {'name': 'foss', 'version': '2015b'} -source_urls = [homepage] +source_urls = ['http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/%(namelower)s/'] sources = [SOURCELOWER_TAR_GZ] dependencies = [('GLib', '2.34.3')] -- GitLab From 25fc417f23ed3aace68b32d6940139fa6ce109a2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 29 Feb 2016 11:09:45 +0100 Subject: [PATCH 0312/1089] minor update in sanity_check_paths in ATSAS easyconfigs --- easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb | 2 +- easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb index 60a094505c..3806f502e6 100644 --- a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb @@ -18,7 +18,7 @@ modextrapaths = { sanity_check_paths = { 'files': [], - 'dirs': ['bin', 'lib64/atsas'], + 'dirs': ['bin', 'lib64/atsas', 'share/atsas'], } moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb index 5dc5ca2151..53cffee901 100644 --- a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb @@ -18,7 +18,7 @@ modextrapaths = { sanity_check_paths = { 'files': [], - 'dirs': ['bin', 'lib64/atsas'], + 'dirs': ['bin', 'lib64/atsas', 'share/atsas'], } moduleclass = 'bio' -- GitLab From eeeeb1d63b5aa30279312e603ab101ca0b9b801d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 29 Feb 2016 11:14:21 +0100 Subject: [PATCH 0313/1089] no 'atsas' subdir in 'share' for older ATSAS versions --- easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb | 2 +- easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb index 3806f502e6..72a18e6d64 100644 --- a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.el6.x86_64.eb @@ -18,7 +18,7 @@ modextrapaths = { sanity_check_paths = { 'files': [], - 'dirs': ['bin', 'lib64/atsas', 'share/atsas'], + 'dirs': ['bin', 'lib64/atsas', 'share'], } moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb index 53cffee901..8f8ca911d7 100644 --- a/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb +++ b/easybuild/easyconfigs/a/ATSAS/ATSAS-2.5.1-1.sl5.x86_64.eb @@ -18,7 +18,7 @@ modextrapaths = { sanity_check_paths = { 'files': [], - 'dirs': ['bin', 'lib64/atsas', 'share/atsas'], + 'dirs': ['bin', 'lib64/atsas', 'share'], } moduleclass = 'bio' -- GitLab From 9615ed7316f14d2de87e1c4eb2be54a01236071a Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Mon, 29 Feb 2016 14:44:13 +0100 Subject: [PATCH 0314/1089] Add easyconfig for latest MVAPICH2 2.1 and 2.2b --- .../m/MVAPICH2/MVAPICH2-2.1-GCC-4.9.3-2.25.eb | 17 +++++++++++++++++ .../m/MVAPICH2/MVAPICH2-2.2b-GCC-4.9.3-2.25.eb | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.1-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.2b-GCC-4.9.3-2.25.eb diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.1-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.1-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..13f9a5a43d --- /dev/null +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.1-GCC-4.9.3-2.25.eb @@ -0,0 +1,17 @@ +name = 'MVAPICH2' +version = '2.1' + +homepage = 'http://mvapich.cse.ohio-state.edu/overview/mvapich2/' +description = "This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH." + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/'] +sources = [SOURCELOWER_TAR_GZ] + +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['0095ceecb19bbb7fb262131cb9c2cdd6'] + +builddependencies = [('Bison', '3.0.4')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.2b-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.2b-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..7f35d9ebdf --- /dev/null +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.2b-GCC-4.9.3-2.25.eb @@ -0,0 +1,17 @@ +name = 'MVAPICH2' +version = '2.2b' + +homepage = 'http://mvapich.cse.ohio-state.edu/overview/mvapich2/' +description = "This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH." + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/'] +sources = [SOURCELOWER_TAR_GZ] + +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['5651e8b7a72d7c77ca68da48f3a5d108'] + +builddependencies = [('Bison', '3.0.4')] + +moduleclass = 'mpi' -- GitLab From 59b3ad2fd4b84df9d337f8ec5e1b94dcb7dbaf40 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Mon, 29 Feb 2016 14:57:59 +0100 Subject: [PATCH 0315/1089] Add new toolchain foos_mv2 2016a Same as foss 2016a except that OpenMPI is replaced by MVAPICH2. --- .../b/Bison/Bison-3.0.4-GCC-4.9.3-2.25.eb | 22 ++++++++++++ .../f/FFTW/FFTW-3.3.4-gmvapich2-2016a.eb | 34 ++++++++++++++++++ .../easyconfigs/f/foss_mv2/foss_mv2-2016a.eb | 35 +++++++++++++++++++ .../g/gmvapich2/gmvapich2-2016a.eb | 25 +++++++++++++ ...ich2-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb | 25 +++++++++++++ 5 files changed, 141 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmvapich2-2016a.eb create mode 100644 easybuild/easyconfigs/f/foss_mv2/foss_mv2-2016a.eb create mode 100644 easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb create mode 100644 easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmvapich2-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..570b1b1c8b --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-2.25.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmvapich2-2016a.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmvapich2-2016a.eb new file mode 100644 index 0000000000..757b5eba91 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmvapich2-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'FFTW' +version = '3.3.4' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gmvapich2', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [homepage] + +common_configopts = "--enable-threads --enable-openmp --with-pic" + +configopts = [ + common_configopts + " --enable-single --enable-sse2 --enable-mpi", + common_configopts + " --enable-long-double --enable-mpi", + common_configopts + " --enable-quad-precision", + common_configopts + " --enable-sse2 --enable-mpi", # default as last +] + +sanity_check_paths = { + 'files': ['bin/fftw%s' % x for x in ['-wisdom', '-wisdom-to-conf', 'f-wisdom', 'l-wisdom', 'q-wisdom']] + + ['include/fftw3%s' % x for x in ['-mpi.f03', '-mpi.h', '.f', '.f03', + '.h', 'l-mpi.f03', 'l.f03', 'q.f03']] + + ['lib/libfftw3%s%s.a' % (x, y) for x in ['', 'f', 'l'] for y in ['', '_mpi', '_omp', '_threads']] + + ['lib/libfftw3q.a', 'lib/libfftw3q_omp.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/foss_mv2/foss_mv2-2016a.eb b/easybuild/easyconfigs/f/foss_mv2/foss_mv2-2016a.eb new file mode 100644 index 0000000000..868fa56f62 --- /dev/null +++ b/easybuild/easyconfigs/f/foss_mv2/foss_mv2-2016a.eb @@ -0,0 +1,35 @@ +easyblock = 'Toolchain' + +name = 'foss_mv2' +version = '2016a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + MVAPICH2 for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +gccver = '4.9.3-2.25' + +blaslib = 'OpenBLAS' +blasver = '0.2.15' +blas = '%s-%s' % (blaslib, blasver) +blassuff = '-LAPACK-3.6.0' + +# toolchain used to build foss dependencies +comp_mpi_tc_name = 'gmvapich2' +comp_mpi_tc = (comp_mpi_tc_name, version) + +# compiler toolchain depencies +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preperation functions +# For binutils, stick to http://wiki.osdev.org/Cross-Compiler_Successful_Builds +dependencies = [ + ('GCC', gccver), + ('MVAPICH2', '2.2b', '', ('GCC', gccver)), + (blaslib, blasver, blassuff, ('GCC', gccver)), + ('FFTW', '3.3.4', '', comp_mpi_tc), + ('ScaLAPACK', '2.0.2', '-%s%s' % (blas, blassuff), comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb b/easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb new file mode 100644 index 0000000000..efd6351300 --- /dev/null +++ b/easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb @@ -0,0 +1,25 @@ +easyblock = "Toolchain" + +name = 'gmvapich2' +version = '2016a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including MVAPICH2 for MPI support.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +compname = 'GCC' +compver = '4.9.3-2.25' +comp = (compname, compver) + +mpilib = 'MVAPICH2' +mpiver = '2.2b' + +# compiler toolchain dependencies +dependencies = [ + comp, + (mpilib, mpiver, '', comp), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmvapich2-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmvapich2-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb new file mode 100644 index 0000000000..ea5206c7ec --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmvapich2-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb @@ -0,0 +1,25 @@ +name = 'ScaLAPACK' +version = '2.0.2' + +homepage = 'http://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gmvapich2', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] + +blaslib = 'OpenBLAS' +blasver = '0.2.15' +blassuff = '-LAPACK-3.6.0' + +versionsuffix = "-%s-%s%s" % (blaslib, blasver, blassuff) + +dependencies = [(blaslib, blasver, blassuff, ('GCC', '4.9.3-2.25'))] + +# parallel build tends to fail, so disabling it +parallel = 1 + +moduleclass = 'numlib' -- GitLab From 5568d14ced220871b5303bd34e8cf295dfb338c8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 29 Feb 2016 20:05:44 +0200 Subject: [PATCH 0316/1089] add easyconfig Boost-1.60.0-intel-2016a-Python-2.7.11.eb --- .../Boost-1.60.0-intel-2016a-Python-2.7.11.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/b/Boost/Boost-1.60.0-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.60.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/b/Boost/Boost-1.60.0-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..5a42251165 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.60.0-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,23 @@ +name = 'Boost' +version = '1.60.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('Python', '2.7.11'), +] + +# also build boost_mpi +boost_mpi = True + +moduleclass = 'devel' -- GitLab From a13cd4a58ec6afa53a1a94456cde5b0132321982 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 29 Feb 2016 19:56:21 +0100 Subject: [PATCH 0317/1089] fix binutils version in M4 easyconfig --- easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb index 0a925c97ef..434b6f02ff 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb @@ -14,7 +14,7 @@ sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.26', '', True)] configopts = "--enable-cxx" -- GitLab From 56f9e64c25579bf780f1673462c44839ef9b62ae Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 29 Feb 2016 19:57:44 +0100 Subject: [PATCH 0318/1089] fix source URL for GCC tarball in GCCcore easyconfig --- easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb index e7aac86863..1f2fc04edb 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'dummy', 'version': ''} mpfr_version = '3.1.3' source_urls = [ - 'http://ftpmirror.gnu.org/%(namelower)s/%(namelower)s-%(version)s', # GCC auto-resolving HTTP mirror + 'http://ftpmirror.gnu.org/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror 'http://ftpmirror.gnu.org/gmp', # idem for GMP 'http://ftpmirror.gnu.org/mpfr', # idem for MPFR 'http://www.multiprecision.org/mpc/download', # MPC official -- GitLab From 99911e51a62b180a0e56cb2e817e54ad28acbd71 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 1 Mar 2016 06:21:44 +1030 Subject: [PATCH 0319/1089] Moved sources and source_urls to below toolchain --- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb | 4 ++-- .../b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb index 543fdf8204..cd21d99d6d 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_66.eb @@ -6,11 +6,11 @@ version = '35.82' homepage = 'https://sourceforge.net/projects/bbmap/' description = """BBMap short read aligner, and other bioinformatic tools.""" +toolchain = {'name': 'foss', 'version': '2015b'} + source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz' ] -toolchain = {'name': 'foss', 'version': '2015b'} - java = 'Java' javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb index 5ec7a87ccc..dff5ba78e2 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-35.82-foss-2015b-Java-1.8.0_74.eb @@ -6,11 +6,11 @@ version = '35.82' homepage = 'https://sourceforge.net/projects/bbmap/' description = """BBMap short read aligner, and other bioinformatic tools.""" +toolchain = {'name': 'foss', 'version': '2015b'} + source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz' ] -toolchain = {'name': 'foss', 'version': '2015b'} - java = 'Java' javaver = '1.8.0_74' versionsuffix = '-%s-%s' % (java, javaver) -- GitLab From 2396154e2efec2abc991051f89c4bbfdd954969c Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 1 Mar 2016 09:12:29 +1030 Subject: [PATCH 0320/1089] rm empty line and moved sources above dependencies. --- .../g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb index 01cd80052a..db19b2803a 100644 --- a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2015-12-31.v2-foss-2015b.eb @@ -14,6 +14,9 @@ description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST toolchain = {'name': 'foss', 'version': '2015b'} +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] + # with these deps you can use standard compressed files # to support files in gobby format take a look at README for extra dependencies # http://research-pub.gene.com/gmap/src/README @@ -22,9 +25,6 @@ dependencies = [ ('zlib', '1.2.8'), ] -source_urls = ['http://research-pub.gene.com/gmap/src/'] -sources = [SOURCELOWER_TAR_GZ] - # you can change the MAX_READLENGTH for GSNAP with something like this. # details in the README http://research-pub.gene.com/gmap/src/README #configopts = 'MAX_READLENGTH=250' @@ -35,4 +35,3 @@ sanity_check_paths = { } moduleclass = 'bio' - -- GitLab From 59c143639c705d0790db523ba85984b9ebe2c9db Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 1 Mar 2016 11:02:34 +1030 Subject: [PATCH 0321/1089] Patch fastqc shebang --- .../f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb | 2 ++ .../f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb | 2 ++ .../f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb | 2 ++ .../f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb | 2 ++ easybuild/easyconfigs/f/FastQC/FastQC_shebang.patch | 11 +++++++++++ 5 files changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/f/FastQC/FastQC_shebang.patch diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb index 505f4f2807..02def8d267 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb @@ -22,6 +22,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} sources = ['%(namelower)s_v%(version)s.zip'] source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +patches = ['FastQC_shebang.patch'] + java = 'Java' javaver = '1.7.0_80' versionsuffix = '-%s-%s' % (java, javaver) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb index c8f4df417f..77e77bc53c 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb @@ -14,6 +14,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] sources = ['%(namelower)s_v%(version)s.zip'] +patches = ['FastQC_shebang.patch'] + java = 'Java' javaver = '1.7.0_60' versionsuffix = '-%s-%s' % (java, javaver) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb index 5b66419773..cda11898cd 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb @@ -14,6 +14,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] sources = ['%(namelower)s_v%(version)s.zip'] +patches = ['FastQC_shebang.patch'] + java = 'Java' javaver = '1.7.0_80' versionsuffix = '-%s-%s' % (java, javaver) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb index 301434b905..811ae1b2f1 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb @@ -14,6 +14,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] sources = ['%(namelower)s_v%(version)s.zip'] +patches = ['FastQC_shebang.patch'] + java = 'Java' javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC_shebang.patch b/easybuild/easyconfigs/f/FastQC/FastQC_shebang.patch new file mode 100644 index 0000000000..8e9733bfce --- /dev/null +++ b/easybuild/easyconfigs/f/FastQC/FastQC_shebang.patch @@ -0,0 +1,11 @@ +Fix hardcoding of /usr/bin/perl, use perl available through $PATH +author: Nathan S. Watson-Haigh (ACPFG) +--- fastqc.orig 2016-03-01 10:53:17.433849105 +1030 ++++ fastqc 2016-03-01 10:53:44.850579745 +1030 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/bin/env perl + use warnings; + use strict; + use FindBin qw($RealBin); + -- GitLab From e235142f01298e92a3ba422e3ae49c75f8b40b00 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 1 Mar 2016 11:03:20 +1030 Subject: [PATCH 0322/1089] Added FastQC easyconfig for Java 1.8.0_74 --- .../f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb new file mode 100644 index 0000000000..1ade195661 --- /dev/null +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb @@ -0,0 +1,33 @@ +easyblock = 'PackedBinary' + +name = 'FastQC' +version = '0.11.4' + +homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' +description = """FastQC is a quality control application for high throughput sequence data. + It reads in sequence data in a variety of formats and can either provide an interactive + application to review the results of several different QC checks, or create an HTML based + report which can be integrated into a pipeline.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +sources = ['%(namelower)s_v%(version)s.zip'] + +patches = ['FastQC_shebang.patch'] + +java = 'Java' +javaver = '1.8.0_74' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] + +postinstallcmds = ['chmod +x %(installdir)s/fastqc'] + +sanity_check_paths = { + 'files': ['fastqc'], + 'dirs': [], +} + +sanity_check_commands = [('fastqc', '-v')] + +moduleclass = 'bio' -- GitLab From 3fb3472a3993017be1dbe49d2dd4384d9b3d8674 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 1 Mar 2016 13:03:14 +1030 Subject: [PATCH 0323/1089] Added additional dependencies for foss-2015b --- .../s/SQLite/SQLite-3.8.8.1-foss-2015b.eb | 38 +++++++++++++++++++ .../t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb | 24 ++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-foss-2015b.eb create mode 100644 easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-foss-2015b.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-foss-2015b.eb new file mode 100644 index 0000000000..b3cfb08afd --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-foss-2015b.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.8.8.1' + +homepage = 'http://www.sqlite.org/' +description = 'SQLite: SQL Database Engine in a C Library' + +toolchain = {'name': 'foss', 'version': '2015b'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2015/'] +version_str = '%(version_major)s' + ''.join('%02d' % int(x) for x in version.split('.')[1:]) +sources = ['sqlite-autoconf-%s.tar.gz' % version_str] + +dependencies = [ + ('libreadline', '6.3'), + ('Tcl', '8.6.3'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb new file mode 100644 index 0000000000..31e024fb43 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.3' +versionsuffix = '-no-X11' + +homepage = 'http://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building + a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('Tcl', version), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' + +start_dir = 'unix' + +moduleclass = 'vis' -- GitLab From 422795e79def0a88f53e09422dbb906e261a1080 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 1 Mar 2016 13:12:08 +1030 Subject: [PATCH 0324/1089] Ignore EasyBuild log files generated when using gc3pie --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8179a745b4..ed706988e3 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ dist/ *egg-info/ *.swp *.ropeproject/ +eb-*.log -- GitLab From c54e5589cbcb366b1b2b76a4ed2348722307d723 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 1 Mar 2016 09:08:09 +0100 Subject: [PATCH 0325/1089] use system python xcb-proto (with dummy toolchain) --- .../l/libxcb/libxcb-1.11.1-intel-2016a.eb | 4 +--- ...cb-proto-1.11-intel-2016a-Python-2.7.11.eb | 23 ------------------- 2 files changed, 1 insertion(+), 26 deletions(-) delete mode 100644 easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb index faa9778d64..fb5897b62d 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -13,9 +13,7 @@ source_urls = ['http://xcb.freedesktop.org/dist/'] sources = [SOURCELOWER_TAR_GZ] builddependencies = [ - ('xcb-proto', '1.11', '-Python-2.7.11'), - # Alternatively, you can use xcb-proto using system Python: - #('xcb-proto', 1.11', '', ('dummy', 'dummy')) + ('xcb-proto', '1.11', '', True), ('xproto', '7.0.28'), ('libpthread-stubs', '0.3'), ] diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb deleted file mode 100644 index 67fb1d84ea..0000000000 --- a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.11.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'xcb-proto' -version = '1.11' - -homepage = 'http://xcb.freedesktop.org/' -description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, -latency hiding, direct access to the protocol, improved threading support, and extensibility.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://xcb.freedesktop.org/dist/'] -sources = [SOURCELOWER_TAR_GZ] - -versionsuffix = '-Python-%(pyver)s' -dependencies = [('Python', '2.7.11')] - -sanity_check_paths = { - 'files': ['lib/pkgconfig/xcb-proto.pc'], - 'dirs': ['lib/python%(pyshortver)s/site-packages/xcbgen'] -} - -moduleclass = 'devel' -- GitLab From 1bc43aa964c4c9b1bbf2248d5179def7f2e3a3eb Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 1 Mar 2016 09:13:04 +0100 Subject: [PATCH 0326/1089] added comment for xcb-proto --- easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb index 27a89ed005..6a306d862e 100644 --- a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb +++ b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11.eb @@ -7,6 +7,8 @@ homepage = 'http://xcb.freedesktop.org/' description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.""" +# even though xcb-proto is installed with configure-make-make install, nothing is actually built; +# only .py files are installed using Python, and some .xlm flies copied, so OK to use dummy toolchain toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['http://xcb.freedesktop.org/dist/'] -- GitLab From 178df22db68499259f8f0b9039d6679e7d0707e7 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 1 Mar 2016 09:16:14 +0100 Subject: [PATCH 0327/1089] libX11 using system python dependent xcb-proto --- easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb index abaa07d7cf..5df5e13e43 100644 --- a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb @@ -13,7 +13,7 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xextproto', '7.3.0'), - ('xcb-proto', '1.11', '-Python-2.7.11'), + ('xcb-proto', '1.11', '', True), ('inputproto', '2.3.1'), ('xproto', '7.0.28'), ('libpthread-stubs', '0.3'), -- GitLab From dabd9c350d7c563b0afcfd5ba24418d6e90b2394 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 1 Mar 2016 09:49:09 +0100 Subject: [PATCH 0328/1089] minor style fixes in X lib easyconfigs --- .../easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb | 2 +- .../easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb | 2 +- .../easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb | 8 ++++---- .../x/xextproto/xextproto-7.3.0-intel-2016a.eb | 1 - .../easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb | 1 - 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb index cca4ea1438..243dbd6f22 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb @@ -18,7 +18,7 @@ builddependencies = [ ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb index 248b0fbfbc..24fc239d5e 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb @@ -18,7 +18,7 @@ builddependencies = [ ('xproto', '7.0.28'), ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['%(name)s.a', '%(name)s.so']], + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb index fb5897b62d..098e8569bb 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -23,10 +23,10 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb index dcc6160700..af65fa2a9d 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb index 217429b1ab..bb8657a96c 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] -- GitLab From 13e0fd850081d09820f7b98047e2b220018c26cf Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 1 Mar 2016 10:03:03 +0100 Subject: [PATCH 0329/1089] don't hardcode optarch=True in xextproto/xtrans easyconfigs --- .../easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb | 1 - .../easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb | 1 - .../easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb | 1 - easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb | 1 - easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb | 1 - easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb | 1 - .../easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb | 1 - easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb | 1 - easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb | 1 - easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.4.10.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.5.14.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-4.1.13.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-5.3.0.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb | 1 - easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb | 1 - 20 files changed, 20 deletions(-) diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb index d4118dc48c..222c1cb8a9 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb index 6e6a5a03b2..f8d28a6517 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb index 054bc51cbe..7e5dd65346 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '4.1.13'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb index 4f5a5e2a0d..e73a8f9515 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb index 829a1e95f8..0f74426405 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2014b'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb index 0c9b21f3fb..bceed61321 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'foss', 'version': '2014b'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb index 18ab59d5ae..eb7322e162 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb index 673a0e5e21..6156597f8b 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2014b'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb index 494a482b64..96189817b0 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015a'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb index 6c19b3821e..d2b93b5852 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb @@ -7,7 +7,6 @@ homepage = "http://www.freedesktop.org/wiki/Software/xlibs" description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015b'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.4.10.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.4.10.eb index 6694ef584a..247e613160 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.4.10.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'goolf', 'version': '1.4.10'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.5.14.eb index 7ac7af4a53..33279f3ceb 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-goolf-1.5.14.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'goolf', 'version': '1.5.14'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-4.1.13.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-4.1.13.eb index ec378cd83c..7b02bd54ca 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-4.1.13.eb @@ -8,7 +8,6 @@ description = """xtrans includes a number of routines to make X implementations at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet. """ toolchain = {'name': 'ictce', 'version': '4.1.13'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-5.3.0.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-5.3.0.eb index 98cc20e543..2b8c6ebbdd 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.2-ictce-5.3.0.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'ictce', 'version': '5.3.0'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb index 0edc961a34..6edc4ce87f 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.2.6-foss-2014b.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'foss', 'version': '2014b'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb index 1a4f54a0c5..eac6d863c0 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2014b.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'intel', 'version': '2014b'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb index 01968fd489..788f0681d1 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.4-intel-2015a.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'intel', 'version': '2015a'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb index ed6733fd17..573dd33276 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-goolf-1.5.14.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'goolf', 'version': '1.5.14'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb index 0613532497..a2e3133d2a 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015a.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'intel', 'version': '2015a'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb index 21b74f6cfe..e36d13a40f 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2015b.eb @@ -9,7 +9,6 @@ description = """xtrans includes a number of routines to make X implementations """ toolchain = {'name': 'intel', 'version': '2015b'} -toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] -- GitLab From 09f7bcf1f365506804290e641cc0d42e32528357 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 1 Mar 2016 10:10:13 +0100 Subject: [PATCH 0330/1089] minor style fixes in libXau/libXdmcp/libxcb easyconfigs --- easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2014b.eb | 2 +- .../easyconfigs/l/libXau/libXau-1.0.8-goolf-1.4.10.eb | 2 +- .../easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb | 2 +- .../easyconfigs/l/libXau/libXau-1.0.8-ictce-4.1.13.eb | 2 +- .../easyconfigs/l/libXau/libXau-1.0.8-ictce-5.3.0.eb | 2 +- .../easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb | 2 +- .../easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb | 2 +- .../easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb | 2 +- .../easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb | 2 +- .../easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb | 2 +- .../easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb | 2 +- .../easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb | 2 +- .../l/libxcb/libxcb-1.10-foss-2014b-Python-2.7.8.eb | 8 ++++---- .../l/libxcb/libxcb-1.10-intel-2014b-Python-2.7.8.eb | 8 ++++---- .../l/libxcb/libxcb-1.11-goolf-1.5.14-Python-2.7.9.eb | 8 ++++---- .../l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.10.eb | 8 ++++---- .../l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.9.eb | 8 ++++---- .../l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.10.eb | 8 ++++---- .../l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.11.eb | 8 ++++---- .../libxcb/libxcb-1.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb | 8 ++++---- .../l/libxcb/libxcb-1.8-goolf-1.4.10-Python-2.7.3.eb | 8 ++++---- .../l/libxcb/libxcb-1.8-goolf-1.5.14-Python-2.7.3.eb | 8 ++++---- .../l/libxcb/libxcb-1.8-ictce-4.0.6-Python-2.7.3.eb | 8 ++++---- .../l/libxcb/libxcb-1.8-ictce-4.1.13-Python-2.7.3.eb | 8 ++++---- .../l/libxcb/libxcb-1.8-ictce-5.3.0-Python-2.7.3.eb | 8 ++++---- .../l/libxcb/libxcb-1.8-intel-2014b-Python-2.7.8.eb | 8 ++++---- 26 files changed, 68 insertions(+), 68 deletions(-) diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2014b.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2014b.eb index fb7fa9047c..7a01f9c781 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2014b.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2014b.eb @@ -18,7 +18,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.4.10.eb index bb9632f8a7..12dd6869a6 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.4.10.eb @@ -14,7 +14,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb index 658d67c165..f1bc2bfb36 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb @@ -18,7 +18,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-4.1.13.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-4.1.13.eb index 20b6db8b12..2131263c1d 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-4.1.13.eb @@ -14,7 +14,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-5.3.0.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-5.3.0.eb index 7fec589824..6493f4c619 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-ictce-5.3.0.eb @@ -14,7 +14,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb index 4d40c3b428..22bf8016cf 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb @@ -18,7 +18,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb index 724c920249..408dc4aede 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb @@ -18,7 +18,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb index 9cfc777f9e..9304d0fc79 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb @@ -18,7 +18,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['libXau.a', 'libXau.%s' % SHLIB_EXT]], + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb index a15cb924db..735a0391ab 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb @@ -18,7 +18,7 @@ builddependencies = [ ('xproto', '7.0.26'), ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['%(name)s.a', '%(name)s.so']], + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb index dfac851674..cc513f2315 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb @@ -18,7 +18,7 @@ builddependencies = [ ('xproto', '7.0.27'), ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['%(name)s.a', '%(name)s.so']], + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb index 0bcd783d04..79416debdd 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb @@ -18,7 +18,7 @@ builddependencies = [ ('xproto', '7.0.27'), ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['%(name)s.a', '%(name)s.so']], + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb index e4f8395c43..93de3908f0 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb @@ -18,7 +18,7 @@ builddependencies = [ ('xproto', '7.0.28'), ] sanity_check_paths = { - 'files': ['lib/%s' % x for x in ['%(name)s.a', '%(name)s.so']], + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.10-foss-2014b-Python-2.7.8.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.10-foss-2014b-Python-2.7.8.eb index 104ccdae65..6921c06b50 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.10-foss-2014b-Python-2.7.8.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.10-foss-2014b-Python-2.7.8.eb @@ -26,10 +26,10 @@ dependencies = [ #preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.10-intel-2014b-Python-2.7.8.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.10-intel-2014b-Python-2.7.8.eb index 72ed48fe99..ce3fc060e8 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.10-intel-2014b-Python-2.7.8.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.10-intel-2014b-Python-2.7.8.eb @@ -24,10 +24,10 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-goolf-1.5.14-Python-2.7.9.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-goolf-1.5.14-Python-2.7.9.eb index 26de0f9322..5ba8e74d17 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-goolf-1.5.14-Python-2.7.9.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-goolf-1.5.14-Python-2.7.9.eb @@ -21,10 +21,10 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.10.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.10.eb index 4f2074c3fb..24ebce544e 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.10.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.10.eb @@ -24,10 +24,10 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.9.eb index d72a9273ac..5da025a420 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2015a-Python-2.7.9.eb @@ -24,10 +24,10 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.10.eb index 6621cf1702..89cf21ee1e 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.10.eb @@ -24,10 +24,10 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.11.eb index cc7392bf9e..59081eb776 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2015b-Python-2.7.11.eb @@ -24,10 +24,10 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb index 2a52455403..3b3682ba69 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb @@ -25,10 +25,10 @@ dependencies = [ preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.4.10-Python-2.7.3.eb index a52d5bb05d..ed4684b89c 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.4.10-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.4.10-Python-2.7.3.eb @@ -25,10 +25,10 @@ dependencies = [ preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.5.14-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.5.14-Python-2.7.3.eb index 056448ccd2..768ffc0072 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.5.14-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-goolf-1.5.14-Python-2.7.3.eb @@ -25,10 +25,10 @@ dependencies = [ preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.0.6-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.0.6-Python-2.7.3.eb index 1368050899..228e1f7aaf 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.0.6-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.0.6-Python-2.7.3.eb @@ -25,10 +25,10 @@ dependencies = [ preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.1.13-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.1.13-Python-2.7.3.eb index 68e4849e58..4733d7980f 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.1.13-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-4.1.13-Python-2.7.3.eb @@ -25,10 +25,10 @@ dependencies = [ preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-5.3.0-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-5.3.0-Python-2.7.3.eb index 16f804c17d..e27e71a1c5 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-5.3.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-ictce-5.3.0-Python-2.7.3.eb @@ -25,10 +25,10 @@ dependencies = [ preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-intel-2014b-Python-2.7.8.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-intel-2014b-Python-2.7.8.eb index 8c055b9572..008c8f05f6 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.8-intel-2014b-Python-2.7.8.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.8-intel-2014b-Python-2.7.8.eb @@ -25,10 +25,10 @@ dependencies = [ preconfigopts = "rm -r aclocal.m4 configure Makefile.in ltmain.sh && ./autogen.sh && " sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], 'dirs': ['include/xcb', 'lib/pkgconfig'], } -- GitLab From f5dc75d383fdf09e64c446e1ab94694f2e84d493 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Tue, 1 Mar 2016 10:55:10 +0100 Subject: [PATCH 0331/1089] GAMESS-US for intel/2016a --- .../GAMESS-US-20141205-R1-intel-2016a.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20141205-R1-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20141205-R1-intel-2016a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20141205-R1-intel-2016a.eb new file mode 100644 index 0000000000..b9f96d96e3 --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20141205-R1-intel-2016a.eb @@ -0,0 +1,23 @@ +name = 'GAMESS-US' +version = '20141205-R1' + +homepage = 'http://www.msg.chem.iastate.edu/gamess/index.html' +description = """ The General Atomic and Molecular Electronic Structure System (GAMESS) + is a general ab initio quantum chemistry package. """ + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True} + +# manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +# rename gamess-current.tar.gz by changing 'current' to the proper version +sources = ['gamess-%(version)s.tar.gz'] +checksums = ['6403592eaa885cb3691505964d684516'] + +patches = ['GAMESS-US_rungms-slurm.patch'] + +# increase these numbers if your system is bigger in terms of cores-per-node or number of nodes +# it's OK if these values are larger than what your system provides +maxcpus = '1000' +maxnodes = '100000' + +moduleclass = 'chem' -- GitLab From 1f99e880ce30ff3e36228c2f81e7ff171519586e Mon Sep 17 00:00:00 2001 From: Ewan Higgs Date: Tue, 1 Mar 2016 11:51:14 +0100 Subject: [PATCH 0332/1089] Bring xtrans sanity check in line with new 2015 check. --- easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb index 8366af681c..983b4ae968 100644 --- a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-intel-2016a.eb @@ -15,9 +15,8 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] sanity_check_paths = { - 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtransdnet.c', 'Xtrans.h', - 'Xtransint.h', 'Xtranslcl.c', 'Xtransos2.c', 'Xtranssock.c', - 'Xtranstli.c', 'Xtransutil.c']], + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], 'dirs': [], } -- GitLab From f1ea4e405247379130399eecb2ea64b88ad2ef1a Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Tue, 1 Mar 2016 14:39:31 +0100 Subject: [PATCH 0333/1089] Rename foss_mv2/2016a to gmvolf/2016a --- .../{f/foss_mv2/foss_mv2-2016a.eb => g/gmvolf/gmvolf-2016a.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/{f/foss_mv2/foss_mv2-2016a.eb => g/gmvolf/gmvolf-2016a.eb} (98%) diff --git a/easybuild/easyconfigs/f/foss_mv2/foss_mv2-2016a.eb b/easybuild/easyconfigs/g/gmvolf/gmvolf-2016a.eb similarity index 98% rename from easybuild/easyconfigs/f/foss_mv2/foss_mv2-2016a.eb rename to easybuild/easyconfigs/g/gmvolf/gmvolf-2016a.eb index 868fa56f62..b9a63b2c7c 100644 --- a/easybuild/easyconfigs/f/foss_mv2/foss_mv2-2016a.eb +++ b/easybuild/easyconfigs/g/gmvolf/gmvolf-2016a.eb @@ -1,6 +1,6 @@ easyblock = 'Toolchain' -name = 'foss_mv2' +name = 'gmvolf' version = '2016a' homepage = '(none)' -- GitLab From 41d4edb4448ceed6054e0ec90e1f016dcbc6257a Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Tue, 1 Mar 2016 14:52:20 +0100 Subject: [PATCH 0334/1089] Add new toolchain gmpolf/2016a (same as foss/2016a but with MPICH 3.2) --- .../f/FFTW/FFTW-3.3.4-gmpich-2016a.eb | 34 ++++++++++++++++++ .../easyconfigs/g/gmpich/gmpich-2016a.eb | 25 +++++++++++++ .../easyconfigs/g/gmpolf/gmpolf-2016a.eb | 35 +++++++++++++++++++ .../m/MPICH/MPICH-3.2-GCC-4.9.3-2.25.eb | 16 +++++++++ ...pich-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb | 25 +++++++++++++ 5 files changed, 135 insertions(+) create mode 100644 easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmpich-2016a.eb create mode 100644 easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb create mode 100644 easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb create mode 100644 easybuild/easyconfigs/m/MPICH/MPICH-3.2-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmpich-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmpich-2016a.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmpich-2016a.eb new file mode 100644 index 0000000000..71efac9c7e --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gmpich-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'FFTW' +version = '3.3.4' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gmpich', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [homepage] + +common_configopts = "--enable-threads --enable-openmp --with-pic" + +configopts = [ + common_configopts + " --enable-single --enable-sse2 --enable-mpi", + common_configopts + " --enable-long-double --enable-mpi", + common_configopts + " --enable-quad-precision", + common_configopts + " --enable-sse2 --enable-mpi", # default as last +] + +sanity_check_paths = { + 'files': ['bin/fftw%s' % x for x in ['-wisdom', '-wisdom-to-conf', 'f-wisdom', 'l-wisdom', 'q-wisdom']] + + ['include/fftw3%s' % x for x in ['-mpi.f03', '-mpi.h', '.f', '.f03', + '.h', 'l-mpi.f03', 'l.f03', 'q.f03']] + + ['lib/libfftw3%s%s.a' % (x, y) for x in ['', 'f', 'l'] for y in ['', '_mpi', '_omp', '_threads']] + + ['lib/libfftw3q.a', 'lib/libfftw3q_omp.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb b/easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb new file mode 100644 index 0000000000..d495830401 --- /dev/null +++ b/easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb @@ -0,0 +1,25 @@ +easyblock = "Toolchain" + +name = 'gmpich' +version = '2016a' + +homepage = '(none)' +description = """gcc and GFortran based compiler toolchain, + including MPICH for MPI support.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +compname = 'GCC' +compver = '4.9.3-2.25' +comp = (compname, compver) + +mpilib = 'MPICH' +mpiver = '3.2' + +# compiler toolchain dependencies +dependencies = [ + comp, + (mpilib, mpiver, '', comp), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb b/easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb new file mode 100644 index 0000000000..391d1f7f0c --- /dev/null +++ b/easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb @@ -0,0 +1,35 @@ +easyblock = "Toolchain" + +name = 'gmpolf' +version = '2016a' + +homepage = '(none)' +description = """gcc and GFortran based compiler toolchain, + MPICH for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +gccver = '4.9.3-2.25' + +blaslib = 'OpenBLAS' +blasver = '0.2.15' +blas = '%s-%s' % (blaslib, blasver) +blassuff = '-LAPACK-3.6.0' + +# toolchain used to build foss dependencies +comp_mpi_tc_name = 'gmpich' +comp_mpi_tc = (comp_mpi_tc_name, version) + +# compiler toolchain depencies +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preperation functions +# For binutils, stick to http://wiki.osdev.org/Cross-Compiler_Successful_Builds +dependencies = [ + ('GCC', gccver), + ('MVAPICH2', '2.2b', '', ('GCC', gccver)), + (blaslib, blasver, blassuff, ('GCC', gccver)), + ('FFTW', '3.3.4', '', comp_mpi_tc), + ('ScaLAPACK', '2.0.2', '-%s%s' % (blas, blassuff), comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-3.2-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/m/MPICH/MPICH-3.2-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..06251f71e8 --- /dev/null +++ b/easybuild/easyconfigs/m/MPICH/MPICH-3.2-GCC-4.9.3-2.25.eb @@ -0,0 +1,16 @@ +name = 'MPICH' +version = '3.2' + +homepage = 'http://www.mpich.org/' +description = """MPICH v3.x is an open source high-performance MPI 3.0 implementation. +It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.mpich.org/static/tarballs/%(version)s'] + +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['f414cfa77099cd1fa1a5ae4e22db508a'] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmpich-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmpich-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb new file mode 100644 index 0000000000..9cf751a2ad --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gmpich-2016a-OpenBLAS-0.2.15-LAPACK-3.6.0.eb @@ -0,0 +1,25 @@ +name = 'ScaLAPACK' +version = '2.0.2' + +homepage = 'http://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gmpich', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] + +blaslib = 'OpenBLAS' +blasver = '0.2.15' +blassuff = '-LAPACK-3.6.0' + +versionsuffix = "-%s-%s%s" % (blaslib, blasver, blassuff) + +dependencies = [(blaslib, blasver, blassuff, ('GCC', '4.9.3-2.25'))] + +# parallel build tends to fail, so disabling it +parallel = 1 + +moduleclass = 'numlib' -- GitLab From 53522dffe1b16b4875262a28d04e656704bbd150 Mon Sep 17 00:00:00 2001 From: Toon Verstraelen Date: Tue, 1 Mar 2016 15:59:25 +0100 Subject: [PATCH 0335/1089] New horton easyconfig --- ...Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 59 +++++++++++++++++++ .../l/Libint/Libint-2.0.3-intel-2015b.eb | 14 +++++ 2 files changed, 73 insertions(+) create mode 100644 easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb create mode 100644 easybuild/easyconfigs/l/Libint/Libint-2.0.3-intel-2015b.eb diff --git a/easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb new file mode 100644 index 0000000000..b7da1e5b9b --- /dev/null +++ b/easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb @@ -0,0 +1,59 @@ +easyblock = "PythonPackage" +name = 'horton' +version = '2.0.0' + +homepage = 'http://theochem.github.io/horton' +description = """\ +HORTON is a Helpful Open-source Research TOol for N-fermion systems, written +primarily in the Python programming language. (HORTON is named after the helpful +pachyderm, not the Canadian caffeine supply store.) The ultimate goal of HORTON +is to provide a platform for testing new ideas on the quantum many-body problem +at a reasonable computational cost. Although HORTON is primarily designed to be +a quantum-chemistry program, it can perform computations involving model +Hamiltonians, and could be extended for computations in nuclear physics.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/theochem/horton/releases/download/%s' % version] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pythonversion = '2.7.10' +pythonshortversion = ".".join(pythonversion.split(".")[:-1]) +pythonversionsuffix = "-%s-%s" % (python, pythonversion) + +hdf5version = '1.8.15-patch1' +hdf5versionsuffix = '-HDF5-%s-serial' % hdf5version + +versionsuffix = pythonversionsuffix + hdf5versionsuffix + +dependencies = [ + (python, pythonversion), + ('h5py', '2.5.0', versionsuffix), + ('matplotlib', '1.4.3', pythonversionsuffix), + ('sympy', '0.7.6.1', pythonversionsuffix), + ('Libint', '2.0.3'), + ('libxc', '2.2.2'), +] + + +prebuildopts = ' '.join([ + 'BLAS_EXTRA_COMPILE_ARGS=-DMKL_ILP64:-I${MKLROOT}/include', + 'BLAS_LIBRARY_DIRS=${MKLROOT}/lib/intel64', + 'BLAS_LIBRARIES=mkl_intel_ilp64:mkl_core:mkl_sequential:pthread:m:mkl_def', +]) + +# Avoid need for X11 in tests by specifying "backend: agg" in matplotlibrc +runtest = ' '.join([ + 'export MATPLOTLIBRC=$PWD;', + 'echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc;', + '%s python setup.py build_ext -i; ' % prebuildopts, + 'nosetests -v', +]) + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/horton' % pythonshortversion] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.0.3-intel-2015b.eb b/easybuild/easyconfigs/l/Libint/Libint-2.0.3-intel-2015b.eb new file mode 100644 index 0000000000..114eb8bcef --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.0.3-intel-2015b.eb @@ -0,0 +1,14 @@ +name = 'Libint' +version = '2.0.3' + +homepage = 'https://sourceforge.net/p/libint' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'pic': True} + +sources = ['libint-%(version)s-stable.tgz'] +source_urls = ['http://downloads.sourceforge.net/project/libint/libint-for-mpqc'] + +moduleclass = 'chem' -- GitLab From 8a11bb1ce7d28aef4ba678bb2d5f8d040a98eb4e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 1 Mar 2016 17:23:04 +0100 Subject: [PATCH 0336/1089] fix syntax & style issues in horton easyconfig file --- ...Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 53 +++++++++++++++++ ...Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 59 ------------------- 2 files changed, 53 insertions(+), 59 deletions(-) create mode 100644 easybuild/easyconfigs/h/horton/horton-2.0.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb delete mode 100644 easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb diff --git a/easybuild/easyconfigs/h/horton/horton-2.0.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/h/horton/horton-2.0.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb new file mode 100644 index 0000000000..ab045435b2 --- /dev/null +++ b/easybuild/easyconfigs/h/horton/horton-2.0.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonPackage' + +name = 'horton' +version = '2.0.0' + +homepage = 'http://theochem.github.io/horton' +description = """HORTON is a Helpful Open-source Research TOol for N-fermion systems, written + primarily in the Python programming language. (HORTON is named after the helpful + pachyderm, not the Canadian caffeine supply store.) The ultimate goal of HORTON + is to provide a platform for testing new ideas on the quantum many-body problem + at a reasonable computational cost. Although HORTON is primarily designed to be + a quantum-chemistry program, it can perform computations involving model + Hamiltonians, and could be extended for computations in nuclear physics.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/theochem/horton/releases/download/%s' % version] +sources = [SOURCE_TAR_GZ] + +pyver = '2.7.10' +hdf5ver = '1.8.15-patch1' +versionsuffix = '-Python-%s-HDF5-%s-serial' % (pyver, hdf5ver) + +dependencies = [ + ('Python', pyver), + ('h5py', '2.5.0', versionsuffix), + ('matplotlib', '1.4.3', '-Python-%s' % pyver), + ('sympy', '0.7.6.1', '-Python-%s' % pyver), + ('Libint', '2.0.3'), + ('libxc', '2.2.2'), +] + +prebuildopts = ' '.join([ + 'BLAS_EXTRA_COMPILE_ARGS=-DMKL_ILP64:-I${MKLROOT}/include', + 'BLAS_LIBRARY_DIRS=${MKLROOT}/lib/intel64', + 'BLAS_LIBRARIES=mkl_intel_ilp64:mkl_core:mkl_sequential:pthread:m:mkl_def', +]) + +# Avoid need for X11 in tests by specifying "backend: agg" in matplotlibrc +runtest = ' '.join([ + 'export MATPLOTLIBRC=$PWD;', + 'echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc;', + '%s python setup.py build_ext -i; ' % prebuildopts, + 'nosetests -v', +]) + +pyshortver = '.'.join(pyver.split('.')[:2]) +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/horton' % pyshortver], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb deleted file mode 100644 index b7da1e5b9b..0000000000 --- a/easybuild/easyconfigs/h/horton/horton-2.0.0-intel2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb +++ /dev/null @@ -1,59 +0,0 @@ -easyblock = "PythonPackage" -name = 'horton' -version = '2.0.0' - -homepage = 'http://theochem.github.io/horton' -description = """\ -HORTON is a Helpful Open-source Research TOol for N-fermion systems, written -primarily in the Python programming language. (HORTON is named after the helpful -pachyderm, not the Canadian caffeine supply store.) The ultimate goal of HORTON -is to provide a platform for testing new ideas on the quantum many-body problem -at a reasonable computational cost. Although HORTON is primarily designed to be -a quantum-chemistry program, it can perform computations involving model -Hamiltonians, and could be extended for computations in nuclear physics.""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['https://github.com/theochem/horton/releases/download/%s' % version] -sources = [SOURCE_TAR_GZ] - -python = 'Python' -pythonversion = '2.7.10' -pythonshortversion = ".".join(pythonversion.split(".")[:-1]) -pythonversionsuffix = "-%s-%s" % (python, pythonversion) - -hdf5version = '1.8.15-patch1' -hdf5versionsuffix = '-HDF5-%s-serial' % hdf5version - -versionsuffix = pythonversionsuffix + hdf5versionsuffix - -dependencies = [ - (python, pythonversion), - ('h5py', '2.5.0', versionsuffix), - ('matplotlib', '1.4.3', pythonversionsuffix), - ('sympy', '0.7.6.1', pythonversionsuffix), - ('Libint', '2.0.3'), - ('libxc', '2.2.2'), -] - - -prebuildopts = ' '.join([ - 'BLAS_EXTRA_COMPILE_ARGS=-DMKL_ILP64:-I${MKLROOT}/include', - 'BLAS_LIBRARY_DIRS=${MKLROOT}/lib/intel64', - 'BLAS_LIBRARIES=mkl_intel_ilp64:mkl_core:mkl_sequential:pthread:m:mkl_def', -]) - -# Avoid need for X11 in tests by specifying "backend: agg" in matplotlibrc -runtest = ' '.join([ - 'export MATPLOTLIBRC=$PWD;', - 'echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc;', - '%s python setup.py build_ext -i; ' % prebuildopts, - 'nosetests -v', -]) - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%s/site-packages/horton' % pythonshortversion] -} - -moduleclass = 'chem' -- GitLab From 85f5c7e0dab202958c57ad7cb10fb67f786c8aa0 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 1 Mar 2016 17:13:24 +0000 Subject: [PATCH 0337/1089] Bump Python dep of GLib to 2.7.11 --- easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb index 7b323a630d..9226838fbe 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb @@ -17,6 +17,6 @@ dependencies = [ ('gettext', '0.18.2'), ('libxml2', '2.9.1'), ] -builddependencies = [('Python', '2.7.3')] +builddependencies = [('Python', '2.7.11')] moduleclass = 'vis' -- GitLab From d7d10195adce9a593aa947a3fd4a0ba24c63f910 Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 1 Mar 2016 18:31:13 +0100 Subject: [PATCH 0338/1089] Adding Gromacs for CrayIntel --- .../CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb | 22 +++++++++ .../GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb | 45 +++++++++++++++++++ .../ncurses-5.9-CrayIntel-2015.11-XC.eb | 36 +++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb new file mode 100644 index 0000000000..8fe0d6e4d8 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.2.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb new file mode 100644 index 0000000000..492e226263 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +## +name = 'GROMACS' +version = '4.6.7' +versionsuffix = '-mpi' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} +toolchainopts = {'usempi': True} + +# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz +source_urls = [ + 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources + 'http://gerrit.gromacs.org/download/', # regression tests sources +] +sources = [ + SOURCELOWER_TAR_GZ, + 'regressiontests-%(version)s.tar.gz', +] + +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:$EBROOTFFTW/lib && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$EBROOTFFTW/include && " + +dependencies = [ + ('fftw/3.3.4.5', EXTERNAL_MODULE), +] + +builddependencies = [('CMake', '3.2.2')] + +runtest = False + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb new file mode 100644 index 0000000000..c7ee77bd84 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} +toolchainopts = {'optarch': True, 'shared': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['ncurses-%(version)s_configure_darwin.patch'] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' -- GitLab From 1f685ceb9d80a2941679fe46507deaaf3ae549e8 Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 1 Mar 2016 18:34:22 +0100 Subject: [PATCH 0339/1089] adding wrf CrayIntel --- .../JasPer-1.900.1-CrayIntel-2015.11-XC.eb | 21 ++++++++++ .../ncurses-5.9-CrayIntel-2015.11-XC.eb | 36 ++++++++++++++++++ .../tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb | 38 +++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb create mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb new file mode 100644 index 0000000000..45bc1007dd --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'JasPer' +version = '1.900.1' + +homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' +description = """The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_ZIP] +source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] + +sanity_check_paths = { + 'files': ["bin/jasper", "lib/libjasper.a"], + 'dirs': ["include"], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb new file mode 100644 index 0000000000..c7ee77bd84 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} +toolchainopts = {'optarch': True, 'shared': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['ncurses-%(version)s_configure_darwin.patch'] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb new file mode 100644 index 0000000000..df83e70f3b --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.18.01' + +homepage = 'http://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/tcsh"], + 'dirs': [] +} + +moduleclass = 'tools' -- GitLab From 43be742f7950497b92e6004429e1505b6e7b7ab3 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 1 Mar 2016 17:39:51 +0000 Subject: [PATCH 0340/1089] Fix GLib Python dep to 2.7.10 --- easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb index 9226838fbe..04873f8e5c 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.34.3-foss-2015b.eb @@ -17,6 +17,6 @@ dependencies = [ ('gettext', '0.18.2'), ('libxml2', '2.9.1'), ] -builddependencies = [('Python', '2.7.11')] +builddependencies = [('Python', '2.7.10')] moduleclass = 'vis' -- GitLab From 7e675b855e2101b45b32327fca4557549dc15d3a Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 1 Mar 2016 18:40:50 +0100 Subject: [PATCH 0341/1089] add wrf --- .../WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb new file mode 100644 index 0000000000..dc552a3235 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb @@ -0,0 +1,41 @@ +name = 'WRF' +version = '3.6.1' + +homepage = 'http://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +sources = ['%(name)sV%(version)s.TAR.gz'] +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] + +# csh is used by WRF install scripts +builddependencies = [('tcsh', '6.18.01')] + +dependencies = [ + ('JasPer', '1.900.1'), + ('cray-netcdf/4.3.2', EXTERNAL_MODULE), + ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), +] + +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF-3.6.1_known_problems.patch', + 'WRF_tests_limit-runtimes.patch', +] + +# limit parallel build to 20 +maxparallel = 20 + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +runtest = False + +moduleclass = 'geo' -- GitLab From 6d09160f4ab0a0189093278d00998be5eeb280dc Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Tue, 1 Mar 2016 18:41:10 +0100 Subject: [PATCH 0342/1089] Remove explicit ConfigureMake in MPICH easyconfig because it now has its own easyblock --- easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb | 2 -- easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb | 2 -- 2 files changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb index ecc1ac4836..971d6adf6f 100644 --- a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb +++ b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'MPICH' version = '3.0.3' diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb index f81230a16b..1b8044cecf 100644 --- a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb +++ b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'MPICH' version = '3.0.4' -- GitLab From daa3272710f05a34d76e94a6b3941c1215a1422a Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Tue, 1 Mar 2016 20:26:02 +0100 Subject: [PATCH 0343/1089] Update MPICH easyconfig files --- .../m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb | 16 +++------------- .../m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb | 17 +++-------------- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb index 971d6adf6f..e96f02635c 100644 --- a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb +++ b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.3-ClangGCC-1.1.3.eb @@ -8,19 +8,9 @@ It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).""" toolchain = {'name': 'ClangGCC', 'version': '1.1.3'} sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.mpich.org/static/tarballs/%s' % version] +source_urls = ['http://www.mpich.org/static/tarballs/%(version)s'] -# MPICH configure wants F90/F90FLAGS to be renamed to FC/FCFLAGS. -preconfigopts = 'export FC="$F90"; export FCFLAGS="$F90FLAGS"; unset F90; unset F90FLAGS; ' - -# Build shared libraries -configopts = '--enable-shared' - -sanity_check_paths = { - 'files': ['bin/mpicc', 'bin/mpicxx', 'bin/mpic++', 'bin/mpif77', 'bin/mpif90', - 'bin/mpiexec', 'bin/mpirun', - 'include/mpi.h', 'include/mpi.mod', 'include/mpif.h'], - 'dirs': [], -} +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['ee2b8a8b88e3915804df0efcc747c48b'] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb index 1b8044cecf..cf4928e564 100644 --- a/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb +++ b/easybuild/easyconfigs/m/MPICH/MPICH-3.0.4-GCC-4.8.1.eb @@ -7,21 +7,10 @@ It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).""" toolchain = {'name': 'GCC', 'version': '4.8.1'} -sources = ['mpich-%(version)s.tar.gz'] +sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://www.mpich.org/static/tarballs/%(version)s'] -# MPICH configure wants F90/F90FLAGS to be renamed to FC/FCFLAGS. -preconfigopts = 'export FC="$F90"; export FCFLAGS="$F90FLAGS"; unset F90; unset F90FLAGS; ' - -# Build shared libraries -configopts = '--enable-shared' - -sanity_check_paths = { - 'files': ['bin/mpicc', 'bin/mpicxx', 'bin/mpic++', 'bin/mpif77', 'bin/mpif90', 'bin/mpiexec', 'bin/mpirun', - 'include/mpi.h', 'include/mpi.mod', 'include/mpif.h', 'lib/libfmpich.a', 'lib/libfmpich.%s' % SHLIB_EXT, - 'lib/libmpich.a', 'lib/libmpich.%s' % SHLIB_EXT, 'lib/libmpichcxx.a', 'lib/libmpichcxx.%s' % SHLIB_EXT, 'lib/libmpichf90.a', - 'lib/libmpichf90.%s' % SHLIB_EXT], - 'dirs': [], -} +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['9c5d5d4fe1e17dd12153f40bc5b6dbc0'] moduleclass = 'mpi' -- GitLab From fc76451b18136caaa9a9cc19f0454d1b7da9e238 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 2 Mar 2016 15:20:59 +1030 Subject: [PATCH 0344/1089] More foss-2015b dependencies --- .../easyconfigs/t/Tcl/Tcl-8.6.3-foss-2015b.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-foss-2015b.eb diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-foss-2015b.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-foss-2015b.eb new file mode 100644 index 0000000000..ec3f168cb0 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-foss-2015b.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.3' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('zlib', '1.2.8'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' -- GitLab From 7cf577650c3dcd1123711d9c309bffb0b7911724 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 2 Mar 2016 10:57:57 +0100 Subject: [PATCH 0345/1089] 2 --- .../g/glproto/glproto-1.4.17-intel-2016a.eb | 20 ++++++++++++++ .../libpciaccess-0.13.4-intel-2016a.eb | 26 ++++++++++++++++++ .../m/Mesa/Mesa-11.1.2-intel-2016a.eb | 7 ++--- .../easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz | Bin 0 -> 957783 bytes .../makedepend-1.0.5-intel-2016a.eb | 20 ++++++++++++++ 5 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb create mode 100644 easybuild/easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz create mode 100644 easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb new file mode 100644 index 0000000000..c26a1ac08a --- /dev/null +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'glproto' +version = '1.4.17' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb new file mode 100644 index 0000000000..2ac72299c5 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.13.4' + +homepage = 'http://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +source_urls = ['http://cgit.freedesktop.org/xorg/lib/libpciaccess/snapshot'] +sources = [SOURCE_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +builddependencies = [ + ('Autotools', '20150215'), + ('xorg-macros', '1.19.0'), +] + +preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb index c0e3c997a1..9f80ae7c43 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb @@ -16,17 +16,14 @@ source_urls = [ 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', ] -pythonver = '2.7.11' -pythonshortver = '.'.join(pythonver.split('.')[0:2]) -versionsuffix = '-%s-%s' % ('Python', pythonver) - builddependencies = [ - ('flex', '2.5.39'), + ('flex', '2.6.0'), ('Bison', '3.0.4'), ('Autotools', '20150215'), ('pkg-config', '0.29'), ('glproto', '1.4.17'), ('kbproto', '1.0.7'), + ('libpthread-stubs', '0.3'), ('xextproto', '7.3.0'), ('xproto', '7.0.28'), ('makedepend', '1.0.5'), diff --git a/easybuild/easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz b/easybuild/easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..220679b472741c37e8fbfb6655cbd0687f87b9fd GIT binary patch literal 957783 zcmV(tK@@Ke%N{P@PT;n zr~H5S&-yo_HS~g3JTcbA`^cWnWF$smB(wrVu~uk0=W_#0YKeF2Gu2>iEPInAo-w9{S$Qw@*v9VJZ?Pt%PnE-tx z_97|8NjORtb|l4Kh$ZXBVXh2zMc3j7=q{#fJhie)$#jva_dx?Y?_-f*5s;UxlFYGL2g(Dg=3pz-u( zMKX~hkS=Mb7T-pVPj<)i6_zpy+A_~?%QEkNDuEL zp;;$7O#u=%?1ZR{L^va;Id`GVE0$zI(&OrVID6yf1=lfzP#XOdy zx!(i^z>4?%(>I6jPQ~`Y2l0OU_;~x^^g|c0$t1*Ec_kGlZ#wfmAjT#lJ4lvb2N1m7 zJ>GeP8QU-W`~A}oME_p@^kDboMC=_Ni*0eVeSF&AdAGlPERNnCA03|TT0)#iB1&TZ zFEDe&;sD27nb@8mt37{!{9;h%yJBKrNyyQW-WBMwp|i8)mxV;^^uu7xI|OXbLJ-y; zk(xI}3<94|l4Q2kYAqHE3p!?n(YWO+9B~WE21MI2mW^l9@vw}%b|gzoB;glmXbNvc zG6sr*7BVd(SRLz;9VN6GI}dg1tUS7!RHbu_l8GN*+%!8*^2(%iY02mwbjP86f@GG(5TDkSd!-&4>@v?^sJ zN~ZQDwm$Qv9TSpS7$vNOLi39AeAX^D^AE-AXx0GN-#8c z9z`G+y9)#S6VGSF^;o?30ykX5f-uAu={*S+mIkS_$Q)jjd=2e?Ib)H+vuWS5LEzZ> z6#6frtE6ysvA_L~4^3E5VKzG*LIGhx^k9l*tn7HBZhSHX@2XdA4 zxDl<7-?Yvfbwm_<7>7Pt41qM2NJHY!yMrAb<2iziEFo1je-@Q$wqB)6dku`Wbz-mw zu4LN=I~K%PC*}B1sdH?sF-;fqfb7JKFNm-;A>Q^6UcYbD>8IL&5-V_x7izHErSF{& zuiy6%ZUZ8EEfl5{@-_?rWDX%?+tJ$_dHP4rFP_nARy$25u+hv%n+h}GVDeh(nYn)9 zOkL4x?Fi{iLd`2t0ncMd+mxafw<>2FR^zOW(MGj()^61~bQ^sYV7| zH$~)?Y&Pw#G?xa{=8;BVwdlKe;|K-v4>6oy)*J6uR<7zeuP}@$eEbTXX3(qrm{ZY zC{NeB#x!M_BT8O+L5QC*qVIqlTNVG{nSR!~H3o_hN+Nbc>7GOtwBnr`@~(Maiowvf zT8$@2kX-TYx0;(Ha1)4HgvD}w-@`nHNjhP(a1r_AWdHvI_HwD*yA>BH6#6nEi|x1$le9eZAcN=Nt?b zcj7s9wG!LO$R_Ph-@o^Dbcdbvcs52pGdTGLZ$yy;-T{`vZn|0HRbf~o-yXB0#>_4m z*jnnIE7f$a){^_;s0;|*pOWbeY=6%D0k&@Nz?C_U! zeXSmU{81UBvvdB}zuv8S?N#}jr?dMM4wx1G*-YU-I^u6A1b-visc-#!`0{W39S(oW zoWgxn+^PHb67n@{SxJ<1d{Piu94Wcgf)vVmOhHs8J(VESlto@kM^RIJ%`Xru+7xZr zO&bNrEJUqVSCr~pZ*xl=glVKfNp_0FrB>Y(riu75tK|&>FQ6KTt6-}l+AqHCXgs`{ z-afOzoPhh7-%u+#DEOW~KifUrGu~09ww1a4k7|)~`k^bCb8&Qh`1*MJt@yZo{QBhF zFn(jh>{w32DqeHm%S!uiTCWh**Y$ugCaInalbm48#JvMx?Su^`!jZ>)Wwv8MV0AQBHG zeLE2FQBWVu&>p&+*raIRmK**X;{cd3JFJ6)vjfp3Vs#yowOsccFVo# z>G_2E7lE|*WB;Vyu-`LEwOg3goB0@%kxOk|H3^Aih#VHujQ|r zfZW3(WAwwA>@syr-1DBmWB4*{b25q=bVC{Ltv!&>m_^|bDf^NgKkyX@LIR>tgqK#) zV*SxOW{c4mf9!f^iY=t&LfeQ;V1>V&~D$+GT`PzEx!4u)%bXJ);hnr=?Xl3 zw9TKl&3~M4@pJ3Ua;hyWq<#doyBMWrfOAP@C{_)lC6zD-VFC|Njm#QZ|CVK**F@Uc zlR-@O#r(_UK(JYNlpHPh0u=C1%mTMqF zQ3ElW%dSX$)RfRr;8zGM;zi4qSFK>~`=ayW+jhZgrDdoxC11)JLOL7My4dUg_;zG^&Pvq%=CZE9UECE<51gZ>qjXiB5Cl$u&s$8tn>(Gl&( zB^3J`aDog|+bN zF3iQ(8FsQ6wdY&{hKgp`5bbt9bYSX#wrGH!t|GZg&uA?JngKU|3B(H-2C(W{|`U^-$taFs$8E1&mFrU3_S8Y@iN9+j#Cs%Md3WZ z{p?wX&hj6B=`7zMQ)f%>)d=3)Y~xSu*2&>-IkLw9(EQ;?_7Bq~vXkAAP8e3t@PDTh zd^*3UW6uBB2|jU_PVxVroZxpU$@uC6{PjOi@aZMy=NBMYA$K!AsDcoQ1Ltwz!i)|| zV^)1-YcWz-dU{F;?dXeK%k5^P^7?51>S3j>1aSyo;$a2U8jJkG&klQB* zs6@E~PfJiQ0le$e;dE+OAGFIDOI;1woSdbrGojdZbU3cy!u7JUBOuL)8sZ335@%0$rG~&M2pTc2S+m z8VQ@)3B*I=a3(c8Wts67_s*KS^(NBKEb{0w1hJCFo2quCyp`Y+g3q(N4Bn*@4HWn` zM8e)15k`fH()=r$pNg!oUOE)ar$ZSPCzU!*_E$2yVi;LkduEXG7Ud{5s#(;kgD+oF zQ_J`*f$>z=^(&Dt)?PM7C~>6jGtQQ(u-C;^%vQ?y@?S3(Z#wd1rpkIk@)8+l) zOfD6n>qFh@$+hN&dWfs@(w5<^S*+WtKTKbfTQk|>Dy!2(U3Upjl5m!`gy2#gs1LPl zMd6ICtE%U0vZ$}2*x`<O0R(SFX0Jv=LPBX&*f8 zgr|54XbSkbL00aGL0I4P#Aa6E78Xsy5DpnxP1cYut*RUSRM&DvUsD6MLjAt8Gl1p| zUcT$^zalPXt)Y3WLSMl}Tim?KyIT~?D7112%{xlA$7z#xYjmy0Ny8W-qXR2~{9NWT z^>Y6;_Yepvej@J;`CZw^mR2Rl18i|(|= ziMmroT*%%~LgLC1g-6Z{HEph>3vRYL4S;c`v?Q>vtUIQ*%A5+~nHQz}ms$D&7V#aw zSSAC<8NlQRTrKu$x?@A~br33gXVve!Vk4STpX98HWfV(0c|WNuRI7vE7GKoq>IW;z zSvAF1Ay<)gg?s;jbR;bgTkXy<|+;pTXK8u?hUMmAdzW(a)t%3#t`7+h2 zsbA8&Rk~=mgtT5nTAFWGtG_&v*v%&W-j3*WX-g{t-Frm3=5R+;7Bz+KyRcxvBfvB$ z;wYlvLiEAmoAsb>--0(U;0E_*~BR<(^ZG0cIc*{tV2lv0Z8F6a^23SDE3V=d9^IAV;y&Uep*^X!>O56NL|8&yZ} zncgjmoce0}RHT;<+3Oam!^WIS78cY!IQk|}Oy8+5zOIxuMZLxA0@f1BARMG_alm(g zct@T(3u!hR^;H^(G5oHApO91yGN|Gxr!a#uNKz?}s3CtZ1H$F>Fb9PFd9>bMrg1^QcaN zY9npRwk$hIsF}gb-7f*UG1sf|y}5J>>mg^3G|W-!-NE+T-ND=Koj3i1U2+QQ=I3<9 z=5KC98FC(62H_&m^N)A;cehUp^P~Ibr;z3OCm&8uci-mIGHiN8%fz5a9BMiVm&@uECQS7G|vqSgY^ntrdx9&ssn80j)7gCpfFzI*MAEVwm~P%AvXM>YEGHjq;qiZ%42(hZI8n zX9d~4sk_$iV9YR**l5ftEg{EY9 zGoXvc6=SWWW`k`Mqwq?tnEZ8B&nwx&jW|=mvNeyRUxec*uBoYC=<5orip?u3U1h9x zG?hbAIVQ5lkETYF-K)fCqXcscBAz^yehv~({5wI0MUXon9+#0k_T??00wH&9tu#Sh zr=WN&h3@1)aZZ$XR*sPdQWawD;f|(9mlop80tkmPg3Lhpzo>B=T1V~CoV=^`^?YyK zcn`mOax;DM-Q`UXKkQuIfJKd)7#ix_T-n#~9rrqW%7$3pg8_&d4B#Yh`Bt-}Akd<< zHSJl=f2H#*4p!$&S5Mi>Dqwxvimm=gZ? zJ2Sg0Y4xy8!gtQ?IZfi#&dly=cXr-V*fTo3%xQppr+v1~``O+{)&r+YSBTsU{0*8= zXj==%`L2cGV(+>K?}==U*s^P0SuhE_r8zU;JIG^(cLN0Tn;R4JgUB;KVv6pBz4p5q z+&mPBVvt!GwhbJ7P{v0lu(o~s(R|=H`;!QE!`=vcZ@LqZ$%PRnWFdO5cs6b_zPRvG zFeB)iM>i1jompH#HE!RFJ?2fHM$BZ0vWJSMyXbzCt|MA4Hho$%z9=8F2%3$qsCdfk zt0 zt!|^=KKg^-tvZkFV%`AIxzQ*%naayWv%dqb%)$)E1e8oBiXR07G$ddk7t_+7`TKuS z*Pm_gW&N4Y93zdxCat`_W5Jugqf5bODF}_T`SPKNUNC0qtq+vA6@C_Ab@jC z0(oNjD0u(XhhYN%9HeFAFz@f}U>r$!1C-cz1(ZE|WL>X{)5Fe7k;1!moS}Ybxe>e$ z997pD`sl`%yTSt%!#*qCW*vfM@*!XMsXP zjmLW>`^=mI>y;P(Q06za{CDA~zQhi8V>kpcn+MJ|QDXc0J|vSko{Q&|ZcU2xGad|U zL=4QP6hoMDp+v%6-<{Q}TtyY#(VjX#<|Vw33wj6BmittuPk zQn6OeWrFuAH0}%$%lMKKcGosv18~r6a00ag{#jp<3=t_UB4R#l$`D$O!!#BG)l#53 z&2%tlXvE;QR)pJ<;D}mz@w{Y8HAbntWL~uh9j)Hn;c(4`aP=r$N=CTIenU`5xnAM<7Lx2(+Y?QC#tq4E!rY zVzaQBX=yhQ2;{2m-6RWcQu^|j^Ui7i>;gmsXr8)Cwz1RPZSDQB-~RKjgTtfa&i{0K z{gcywpMCn@tdcdZhS%oJ?Va`a{b)R~ov*Gpojp9xpZ>x70VRA?gj;9rK1Hnp=f6Q) z1zvdkrZ66C3+oQdT+5zePQ^rpE5~N$ZsgV)yC2DAvJN@{^O9wiBEL6%2Z*>q8~EBk z!_CZ7_XkIPVQ2wi97S+o>3AW7e4X`__5?&mYp#IqcSj*n1{0+zxWpPNo#S5n45aNV zcCT!c5X($6fCnuPx29~`r1y0#;+T2130xQKErAR>1(r^h32qF;sG1ufMI)y;g3&gA zleC9b5K1gIOj%eU&K;VkzFE{OISCZs{G&CQOe@-^4BQx7w?At1-#4CW{D&Lj6-XJq*KmfP-NEc^KPfoJO@+Op+goiU$uPk{u`|-FB~; z*Gt-Yu~fbQ&~Mo2THer_hg$tN=#Etbq^gO^x-5|#-Ep39*`Cf(=ZWBPPmdrKtH*lF zXnNi9cCn=Ix7Cxg!eOU_u)qp>-FgwGD>Vz0caCF}w32!U8Y$>a@b_#!b{rWmcWB_c z&GQ`TVY?Uq-8<|IcAKhbrh{wTo94eB9Z;`}746Y6Zmu-rMjKlrWus-dAVcnHO5@(l zk(wyt0s$MzlSl1?mKOMjGM5_#=KWwE6xq^`?jmD4^_?L6)w02>;%__*m3P7%k=TU{ z4``JLF9HsQW~E=l!q5Gk6Gi{vMvmHUx3^ux7XYK4(s@lmY68 zDO>d#=&g;JYrDqDnNJ*==jJ5R9MHE%!r%~QNF}w5=j|~wV6BRl4{mn#G-0a`!diMW@;9T+o~2=;9dR%?=+vr% z0qj%|EK17Ax;M!sjomb6`U6_T1Ribo-XmJ%Z19s(8J{>;qCVuGJ}TLmvpB0;W~$eYVX#o1W!X6E%8^v{UuIh;wcEh&1v;GTKQlTs6$Trv~z_(2e^-uoGQ_CP`!evD!H{aM9L=WH)N?(TaxWzAwG6EKZFajGI2mc)x9>km+A6zIs z2UI@L-FS7n3{DGZJYYgQMj_L0j)Z49j8MR*_bpCMW(>P3qio>NFeI6NBB?zV`z+ui zgfso)UPie#VU{N4Rj_CN?17Q7WeS!7hXZ(bK$R3P0F=H7y2yS1I4gDsxXEzIqC#nL zI1Y@Gv?+jOWR6+nEML!a6Vxrl%LVapGtMcYxu0;1>A8vkOH>u?myc7-|3|3hZ;TP_ zQJG%Q7@`<7{s=u#ONk z1HZ@8C4=rd@{K8onz40voRO*Wr;G7$6+8)*(9U0hjcMzL&{Z0f<#=RPK^y~6^Qu}U z3GU>e-))~ILe55@q%M)gPa9_fM?Q??!I-a%qg*T(_2vN^1-z$nwG#Xm2!|sJ%Xlyg z)2(YbcPcc^m+f(ftPJ|eVY}0#9nKqY^0v1?N8nD#FKcLH{Ovb|0@D0=G+%TcIwQEI z;Qx0)gc`>F+uGglic-kaT|~F~%?7znrZ)Ly@&yp#F)GNw>YMm4!@V88M@yZnk#9BSZUx{$Pfg|MJkz@OhG9!#XcrBEzfhSi{Drl?M2c8U zu=Cw=uq8iloEOy(7x~XQ3|>J0+a<@t0tE&L`|(mD1;|AwB?$8l_2*eIzbY?bE)ZId z#Ru&W_O%Q8hTcK`b=Wu?$c$F7wK4CfQp4Dor=UUUxuSOt>S_!H>~t7W3W6g{)EexA zFiodCG#WGxK23miJS`jJsssql08LiQu%I<8!kFrClQho?CujOrnDy4_sw2qZd^X=o zfP$p~_EnW({B=#Re{(3%YPyvLP?6iAacWt|NBZ^cZ0_4PcmIF^^P))}@4@OhjbMbOJ<=7lnDMY)FBOZ*1)kjW9wq4UZcQ?6oMR$L zqx(mzKiFv>HM*Y$?W2CHyVq#8Ugih~^Ts)uqnkNH|5?;YTnal!Y9V7qu#nfcDk6=a z5x;O{Lhq}gmkdCb4qgwCXEj)x^;$ZWsQvb^UeD{h_Q(Nkh3|2Ed!hl@<7u}d?SyOg zENLSUGTJ+07nq}|p#YRn2t)`2VqJB6o$WHTh!piV^M2~ua7^ey6!8f>K1~?)R6r$B z0GMipI3@j|Ba%2d5H*TPS(B5OEu|L~Qf_ z^hWz^TR$(AFSL?g&XJA;O-flSYb8`S*^d(Z09C5nFLavNB#a`UHacXrHek9;!xG64 z%B}Tal25m;+<~f1{z(iMv4ROI@_!){r_QgDY*0o!o8c(4IHoMK*5>OqoPr*;_wq4C zY`aFS8tP3aTAeFC^RPW~F~iaIT_5e8Ls-+(5QpKNE`8UB=n{=C)Kbn;s^#B6iIZcC zX&yN2GI=&(*ktp(vb{=qlZ~E>hXpPjrW9ma5G(6Tq{$-bS|~>XHgth)>fy~TCQ86l z6dyOxVzc&)f1nxor@?^kr-3uv$k8L3(FTbyYirJI>TP7g{z9031$NzLhIOFMMfPtl z@gUw6q@E;Ez|CgD*Mr59pYR#&-d|p zb+fjG)j@IJU^rBJHynI5@?ac_+Qi&5-z=o4y-?^Glm1FyeKR4?oL?^~6yXNb4dXMW zQ$WyyUGyA~eDU*9l+N+LTitBx0w4_8;Mp9dLqzR-N3a>kPUy%RInLtq$-1ZqUx)aH zGYV1xy zfUT1G_nTnAy08YzY?)N^Y7&NgBD~Cvc}OAS`WO>V@!l~Cv0xg61reJ?YBTIK}BKpUp2m$aDi$cf+CcMjbA{!1deLjtaH3a;226R@?dI)d+a)DtoL{m#i5 zI{+&=Vzl$(j&R2$Cv^p;d!kw?Z7b5Q*zd4&%1p|BELv!Kq5h%H_mQqRmq38ZG3G8G z_FHpG>EynLk@*IOgP}7Uh%y|PvF^PlaV368Bi;>xf~6e{uB@q-jDiK?gRI`~C7}?D zCy$1&9+&wy%axqJ1Q`|~Qp7+!g@xsJ8UwTxl?KHSNIeEpN&+bbAeC}1?G%MT%0y)? zH15z6h;ai-#3l`(tQ99LdJrGis`1Bl0jO)T=MH(|h2||0AF6}sp zFzZ$+N4rfT-Cz{PY&4B_i}ZR4evpBbEUiDK&47%pY!VBw`Y$ta46&tu5qmr^3HmZH zwx@+i#HHbA#SC#cLt-%*9sCN$yhA438OKOxGZaM3%^~85;t37dfn+#IIjHY=2AqJx z%kR#a&GVEWVTb@2o*yPMUU~f%UiJ(t=5REXGIghLS%r`S0tuyG_$(2nz!P8=Bj6~p z*b{>6cc_+1kPbJo$0o1`N*vcY8i8$HE{`xADw0)`QTJrBbaFH;Z`|2&ylR23zduNxWF_T6wqT-z(4b*$ct{7qb5~VpZtkXW9O| z9`t+V${ZRq&Yaslxbg;v&0760#dKYJV%jrr^du~=++c|XpUL_v-xzQXI1b+C8*GQR zi-lV_xNCaAX` zi)d{n|4_=1611YNK%ENdS@rGntq&LB2eCNq1g(vOh7rnO#YC|DhwbgWe%NUhEa7C% zgZfttwc4`R-lqXIwb zK|h05>=J|llvMUS{*s&J<*3U3;$f|jCy%8)-hjGkj0|^R42MiCVrwu2iAAD@N0L2} zA4FH9S*b1`3-$@-RjH;=tWsYATV29dPsg^x(4>(q7+AOQDgQ}5?C8=Pe;PaL&^4Z5 z%UB7XV=0mAvqpFPdO#2~QO;$+HB`ZisR+wAACr@koq4;L&)~~c=%Ghbx+wwC}LJwdRdnbQ_I(b5VXg`>F{No9T z0xw**K3eAo(aH-^VA8W71grINg(OQwgh%tBl<@pt)SKDg*3_G+K|759CHMs>qlG9o zi?NlhYVz9t|5$@Jqbe^Ui);Rlg`>-Vr?*?Ez~4OKMKt+bJg+yrp*gw!thB~gCK~e# zOLCcM``;tK$ap(!jURvtbz{XpQ8mumIR!zG8NB}zAr&NBg};H z!`fL6ia#a{orZC(P*-LH>&n23mp?uVHLO(=fmZ>olw+W943Iu~Ssc?E)Sp5=L^x_JStOQeH;*d*o^Ypy3YV`R4@GNibFCnQw^X1o1bYmMByb8OKYT>RVpRmexi6i02 z23MwpPcHisbovoWRD~-{gr&ucSn z^R3fObXP|P%=JfpBS4>8F0D_Ecj`17*ejtE6*mg?+FIJHby`auRH)BZ+MsG%L8p2? zm(r;olBn#fzprOlD_(V6>%o|sDi*oIXdC{GEhVT!Il9(7TPuaiH>_`?OT5SpaSGKF z&fHFBc(5>BKuHfYT;2z&BpXqv|w!gVVjvYIQ}UW8%Q^nD5m_Wg1sjJOX@m*t?sE-!1%-9$b`n z-{gf4;gVYclQFlvWoRBM3YIJKeDOeX<)~3X%OgI>OWk<|tYzo^sv}1_LQIOf<`l32nUT z-5QMMVh447J@TMm( zp_6#>dHl!9Xk$nvl=xX;`(DHZDE~*@v%j@%EZbk>zd{!{hu{whKd>RBY3cw;xDDWI zLrOnNTUnB^4tiCR0pFYRzu$T6N-J5mp~=1HJ2bWB)z0jDc4l^GhKwL2PbfwdSiS4t zkmar)Y!`P z^UkZhqR6W1Um?{!v5O;XA%-WycXvH!Ni7uVaygzQSe}Lh-B}eT3;VZPy+ZK9_%gf` z)C_);g_cad6{4uj4pYjv+G$f4eP(?VRQKjnh5+s6mmm?ElW$U?$J7ZDv;GY^q@!QX zPOf&M^zmR<5+(Sd?HUdCgC%XnXVMyvVv}n&FwoNEDU7}$m2hjoq7jBFa@|L7gOm zg^8QG_rk9j>ua!(TxkvgxAe5lnrkxZ?EjMvYqN=j2hDi3K}C^!ccH2KK$DhF@}y$uc)t! z!BxmTR+7gULS3fmdAV==s+xvLOLzRoih5mL4D~iS$sAss_gDLGPs6AJ3u=1Vr{!wb zqLj4)M>6xs;%k+JA@fy9D6;^saI_5Nm{6p((RJs|eEKe=7d(2>!pIgpWLjnZPuS{5 ztB)J~#10etAGc9e57zlKSk_M5KFiODvl=Wvyr#q6)BXl)WTh$KSqRLKS2P6#T6R~q z1XKbIt`PZQNwP_jQjdQYtppdXm?A`3xEGz#IUoz1oZ$S71ZU59+{Pd<0TL!6Yxra6 z#OM;LYh<1=m4nYK$lcC3+sU6l>FGShOu z8%F)JxL&tI%F`+ge=Hk$;NSBI3BpXZI8G`Ht~^%N>tzA*3ytr9{cbEEzSYP*SX zlwMRpxcdzp<&p)${5)6yz9}b^A?L?t0T)H&M|UkS<=x zR#+U))$6`pVI~YhM}8Xf$r;0*jhi9|hgLSdgTm1^*~PMJ(4+tS(C^ELUYn7%nQ3n)*Ha|kbBGAaVD{Wd6hBe8f^n>8hRz7C{%R2^25=)%+2bI9b*DJ?Amz{4e5c? z)T}s65}njXM(Ox+(LRIcvL5@&YFGH5MPFI%Ik}s3h=n6ccfZ@9BT`RXhb_6MZOFY0 zolQ_?WZ3e}XqaL|M3~=2%k){YGc|4K_j&Vl>gG8XIq>~iDS`_oyP14v@YeJp9 zuJvqNaFp3Q5k4;An8+Gi<;;lfrl89(`ow6d6xf9ma)QjUhLV#3D{rG&js zqp1`Gtv?^qhPAn=bOic6#W=sNjkFi~Lu4|P?e_XN?WV5rr*L^iAGzBrJip8_!4_Az z?Nz1GENpdr6qOGK?sIxz#X_cOZ~PC}>Ys`Vb6E*&o{YtaeP&5fomEAtgP)Imy<(7Y zhJDM1&sE{s9NXFf$) zQB8xjyU0)GQv^aJz>W5z%f4l2r4_oDiy@*vDO7QRD*g%8Vc!##$b?&p=U^kpZ~en^ z_mz@WX}k1lPT-zXGC!df!_(_`$2Y@FK{e;W({?KNi=jSs-NqSKdV{P5Q->&s_ZOsO%bh0spPmNa52dUTOAno+;@cpIw|>o-(BsZqz^$ zhs@d^hahXkeKVbCA5Z%l$l|b}Ha1B!w*v{z7#Q6Y1&eiHiUHvJfs0-`ZR6B(TW&i&qMy8REoWZormR@WE* zD^@Xa%wYUu@?cwrfW&GUDu2BMBZ>8&Gj)@|**B-2@gatK|5$-@eohGd_w#{yo{75L z2Xh#a9M%tdJC|1r+y<|Vc@a1dN&VpL_~)UX$0<-&To}xB%o8T1*eU~L7m)bX<$RGh zFbBK2ImRzTY5g*&tASWlTSJ?rmB6tSHy?QwAbk-Z{A^ zLwwG>^}&{i%Zjw|zG;*A`p((b`u#%+iD;B)?8t$CJ+}gKc%|@UEw|2!;%MQGxu;~|~| zHvfqkC80fA?1VfPIaZnDRAHLG`}Hi8M`rxs28#@Q@}N&&zG&sQVty{Yz9?>LmO$~| zW)^*2F{3V*Pw_RGV*99Z+0_`qxi4S#YK0oOt+_5{S|eOniT>VNG!Qal$yHVEQFrNxV+9IBv99$f z=%e%KSW{w(EDNbA&}{OM^=ezA!(ATo&&>#%1#+i!%W$O10Gas6IR7qjwy&uC9a|$*peU(>zRe*f1O<&VEn>1`sCbyb+d}H ztRNE@rE0AtqvU9CO3jHbl3*-q-WVwfHgt3>Q(TrRdvFu<0r%VQj`0-r@15yII*jy74hSJFRW0j zRH3V%KIzR0RGr1B9`C$LRQ1ImYM0D|om>nTgScrqD(mqH$@=hpc~ulp9T)$fuB2l} zblmpdn?30!jZL}7-s~CnV{^)h&!@vm8?D7!rd57fd-B?A9^LrfPc$X;C>=)1Tx3tX zAk$}=Nk-HuG>jziI9F77g(C6|_@aP0?)%B<3Znomy5}saTrs_`qqv-L#sN>C> zigIFmbupNy0<Oh>_&Ar74}s5ip@%k7*9Tf@`q4Js3>=%l&l3TT9V@&I zFmfc>>XzuNHVdb804w6xolrDV)4q4H--+FV95sxz=7pwB9GV|O$-s94avNAbm0QEt ze8w*7$-(7n&}ox2jShBpZr#*K%zHBk%!zRuOpP$U#l#0^wDUH4Bb^z#>1*@N$O}im z0~L0I*W)*;o5RKT1_K1+gGcLt z_;&s=`F;i8r(yOWh>D62nvsa4>lhHCN z3KOrYAlcp5j^ZILgPeO+?$DwKf;aOvT7|ts$&m2_Dp#y283dnPD_r+e-e(s8kxJKy zgg0w7G>Jix``(OQB-+UVB%w;^KznK0wmw0FnazjTO&xs<)R+yGD0! zhZJ3Sw6K%Y&aW>6grLS=r-R?ky-q{@hNniiwcGu!+3I#1yUq4q1JaxA?q2gd?Yn=c zzXtzh-~T3m>;EBb(_vm6ifeSd!N8PvZGMDl5QnJJa>V{`KyD54N3)nVxaO-@EszzO z9SvP9X~S@w((%fBR6G)nZS5qmV0%(l0p`~mP58Ho%Z}I}Tv50Yqh})!N*T>-+E6jp zZtU22G0h!KfkA=w3LD@K2%*F;!4{m>@WLbQpRj4BPV6U=eL)u$AIJ@~r}d{J&$YBq zt_5;AT|SI3C7A$kG@8};y5pjT04ME|h%0%Bwk$&6!>fsa<0bQ0vBnpEw}?q#MVo+x zPL$1tz5X^feTsgYHP9AzEo6$pOdB*=hW-X|eLVFz`1iW@^U1}>^UDjZclL|+b8j%{ zon8F$ngnt@tOdHwm|Q>dkgtR`#b%Jspy~j8dOSG%2oSw@C!bC(e!)|#_a_%;$HSra z{(PYIw0>`JadLS1sW;I2mxKQK@Yuk}-Hz;8z_Flj$22;46VOS4cTKp>zrb*+;f;Zr zbzl=@*WJ-<^_T$;liVkh${|&{@HJ}0gAi33P`~d55Bc!$kg<*)qeyms;L7wUQgP&1 zE)?TDT23VStL1gr#*&bWURTD9>q4^_rxj3sY>b%=a4K%OLT8|5Qf)oEyDC;1EidV? zoaUp}o2DV=+NNdTn=|RA3a0~2cQIw@Ds5I5Y6L9-$?ubjN8YB5Q3pdEZQ=wH6{Kj= z(1PQvAJ|?Ac0Lz>LN5R(>$?d}eO_ycV^PjMK(lh>wv~1Ba_vL^(|vnw3+MvC_KDHf zh|w0D@iJzaN3Te;6hf7Tl7g`<7m$xIKxI0}Of=6_I26Q?rVXc2A-D5? zA$XPOdjcIDCM?RT7r|w0NSr{CY2870CAiq3U75s784vp+p~>|#lfdF=XQ6BuVvG#`E>5$ZTme#hEz5TiV(JB@a6j$o-U zrewW{idJfDoQg>8=pRW^zfo?>hU*rvPF>oHO%ebwK+nJRr!l<}@Q_$h7>9W`W$Qc) z7f_-q26w-s-G(r8txVJ3y?3jmML#u0LTSX>F1pdpe` zs=?elAvec3yU^pn@2Hg2PkU#V?|X+AmxJShe%?PG^e#@$J_xoQX-SNrN$5Lt5SVNW zQTPG+Zwx!DPULktT0Rx1!p+vm8|14B z1ez(X@i%L~)-LhkK-*|&*XR8UkTh;^#_FfEK5vh zA{d+m=9(q#YoZw)?1lmFhY2rgw(C7RuSv%0H7$JNyAbZLa9Gf29I-cRwTpPB{rblS z>LX}yH*>a1(Fh>`Y@#M=8LZIv=?oWEY7OWVk{BfX8|#{Wo05|$JFLkA_9m*K$qThQ z7ruy}c!;2<+LoNIV)|#DzNRRb8HpVIFQ~;S!-<#kP&93^&C#e+>2P@n?R4&vrMC;mnH->?UOw`s*fO)x{u%tjr2uW;dUo#4&Z!`-zvC=s-v>a)@*mKUICSki!FHXLgIS6M*x}%JovzGiA`P15u?Bhdz0i|sP=~3Bu7_bajByK2l`|X5qo7H| zG}HMBU8kDlf}7j|UZD4>7kGe5+Yz2g(}QsTLC;QL!6rW-yw<@bni_! zQwG>;HyZTNmJc?@M&}ZQQ6B?OgX>m%_eLV1@C81-a!33fIFBi9l(cKQ372X{*i?G* zQeL76pPMc+tQ89!4+&L=tKRO)>NUlK2-XA7gyp)~YEzv=gb!I)N{Ma475czabK7q5 z6UHt!iHAsCS)B>6NiO9UapbwI+Xiy!j}Yz1rmg2LQTLCynvx};KpNs{BBnOgP9&^^iS1Dl1`?J4VPK}L zkSt15R{ySi1<#%P?i`{L5#vMt{jLrI5?w2x3l$l*j)JXiwC+1!iEp=rZ}%(lVI=SC zT?`*B5DV}yDZq=I;`^R)d}X=!dAaM_5xMLEW*=2KlEHSR(urD%%n?b)#@CL?efM8b zYP~dat*^m1weJYuUq%4yT-FC3TgF$_23WGkit0de1e+SWPN&PhO6gx$eY6LxH~02s z8`wS&5(*hQ#n+v}%i=rvDoP)pT{E#|D%BGa7+^PAx~j5l_*6g;se~{}^7{Fxejvgh zq#X8rzP7m`sX*XUbjBBoY;xp~GFE62S@w5g)Y=!MlA;*Fj7X8qbIE*AR!?Sg*uDScT+qKAWee|{77CF==?;UUI-mv#u>f9b5`7YJNpd| zYh|`x-H9jmC$4=_+>eVlcm+-SA_G7H723bae|Eb0bN6~Le}%rcue*CU3KB-oPbEZ{ zkfXw11!Udb5<0)#{vCrF@UPgCF05sOPYM3@$h&d)(Yf|UH~e^i-4aFPa~qzOcYD|H zDT}#}wJ+=|nG;41JmD8Kg%idw1?b7zeMGO9`;87xd$E@JmECOILz>;@FAp=?N!08< zK5_;pa-oqh)bwlY+Q?Ik<936-5NMprDopnOm%Tr2XyeKjh2i@Z{e}0-j!;rSG%$FC zkTk*A;kIpj0B1OsEf-P&)s|F>N@9rd{q66X_Eduej?<_6JnilvscO%A?X}mufL6rd zosaJG=V%nl#~OJI%a8Tus{Qt6c=^^u5tVj0wlV*RHy&bXbeqJF$NXW+#-sHQ_~3W6 zVCF|3)_`KBZ+%{qzFCw0K#vu^;Lc#EVfi5XO!CUp7i@R%=#fC-AiVk=ADmF=Urnod zKZqV2Afb()(TM&|!ZT?AT`BnEB$6-DiT=`;Fa5}tUVC7_6M*uUsP8^bx|4_`SnkhE zk#X#nz+ZlW@%_g&A5>=(%lGfqR= zZu33&a_qex7ZiBl6?l*-U^aoi=U%$av1^XfF3sr!x3N5%;=lO9^?K)9MxD*V@fBTzalG_o+HzF?=62_zxOt@-)P$S zeS?rbe1n4WP(DuhML%+yk{=sU-*iM%!4LCj#FvZ&hPB^L?AHtZ_0fYX{k0!W%-4A0 zHg@qyzqoj8zn$2x7rOA2zf8jO1V=iF`Kp1>`{v7i`SL(MAFWcF6pi1fCnzt_`+5Oa zhvJV&f3E2->-tM-o?L85y*R~aCG`C=GJtgT2v6Kqca1u~B8lMj8a<=vuw3d7LiK+< zTFnz+K8<9=Y)r!8B=c2x^0}h-ON!pl6@5@#@9}xWw{sB7S@!NbIjwRyHK&ry+ zM#ly|&%65D+PZmSzNKsHxN^e_3|D{z9EzqoimTYM4anMhv0A9VvS9oKs)8DJqzgfFcvlguIG5b~H> z;R8qB36u_e=E9-FAjyWI(}R;$!|4hoZ{b7-@LHm7e ztsQI{#T5MZI&TLg;x%I6o?1iwkEC|fBBt9gL|JYKSeV9&Wn#>CW?mXA9wTGkk~hst zhM936+<)NyA|Ax6tef_j82^#mgkfa7Ml>(umh+zhN-a%gSf%%Gy8oEGeazqCA~FS$@!^Le z#-Q(Uwk6%{~U%6#b?0B6psv7%A`s^EV8WaEMT`op^ZYEBQ|8~pgu zBOWcXWc&pwG5&`9mZ@VnGk)hVYPQHIZLAo!%zPDyW!B7mb!J2CnfptQpJvhgSIm_; z1vHzMDTb_>TZ&mVzYvl1P9Y)j{X%lMEX$UCja-^ngxR)Sv5jo8jiO@rS2M+!eajVl zoGq3cIx$|RjIeRJ0^>}PabckcnL-b8g`7@fE!ra;K_R>N=j-Mk#XTQnm z5jM}123Y3jBVGvN{N&rlx;g5^{h1$_{l@-?EpB6f-4)FQ^0$A;2cOvyA0}e;Of?Ar zv*L1u{x6xVO-i!j@re2-vV&9*gI(|!4!B2O%?hXI^gy$8`Ui4_?sr);;Su$B;u7VD z`C>N!*+s8)^AlM{`6|<6p3&4C>6=_wMECoN`{Tm?0PfNL0RGWy44Fvp!Nnt6_~Nnq z{lxtt?O*T?rdL1cMu@94KVp5$6O*aG-FLp;H(wu^Z}!TiR43-g*us%!K=p5AEU7wi znD*P6{hHdZ>(1AU4bw(wwx2mu{fl^0{o_h5X9+vCqFGh`hF<(;^oDiicbwWpzq}^! z)2u9&_yZ@tdEI`$7YNn2C{+SZajK$lJ@eWbyGkH&j#gWv>POWd&u%i{6LEcBvU7o zhCCg0t0Viz@AMi{ zI2EZApOL}}KO1EVzs!DNSzbl_)=Sd4)v#Bo<~D+0%FSHestJis$qkUTPWcAX>w*bO zwZem#ujy>+xM-dd??F#-Z09$wxA686Jkw?MQbVN+QTEY*6~6kUQV z_QUQ6U`X>diB0tvkj(rt6^nMAs@?_u@{K$8Kz`er-ic2JIa?vVK1)TIcRdk&1(%9B z@7&yjveq7aMq`f)Fcv%{`zwu5(R58iR5v>7cIU|mX*sc=u0*zGjc$Qxvb!dhXgN^V zmDUR?to(SJ+s3+Wqd&n*c|(-cI%P%nHj648?xsdDoPnsP~pB?!A&m1wMJL#w5#}8 z1U|y^o^VJ^I{!&}<7N#ZNO!9#dPfvLCL|<9$SngX=J|e^O7k?Wd5h~f%s8#1HJYPitAwRcYvHZhFZy!r}^A(;y-r$FiH@?iUXpJ${jm+75vV5mj z%(^|g42JRSsjX9l6>~M9lqIIn98o*A;71XP{*QF0664^6f3 zS6!)bkrF|NAGZ?!VL@G=sdD_d*DE1m(=)sfJZCPV2^&z0uf7Ent($+6aX!4fXWmH^ zZ|X7yq7C~jqFM+C#)f2Z7Q9ayMQZ?5bg!_Ke>Sh&(4j-MWe}{)U@*Ovgvgaan3|;* z+@Fzf(8bCQTP3$Hz0{?{v*C2WI_Qnnl5NC4`DGnM<9?BNhiR(mB>GTL$M@aJ_GPrt zS1~kgW)u(4F6Rj@#pWLiy44CvGmr9@Vt%D=bQ^(&DQqiqn!?g6-TLfFm6g161I8$S z5x+dvpP%9Kuz)+ZvC=5Venp_g_=c*sSnupWJ2m*{o6Cr7fftE^aVweJIKdAsJxWeb zO|9|hyojgEq|nmq!o^MHt2jDIiU>e_ldH?6jV)bozOwCU+XblC8cZ6_4!|** z3(HVO7r#hn-ndl!LYE$f-2#S_Oj$BEdr(l<>5hSxE@HnVwO+wB%3kT1=HWKC4VSi6 z(RU~s7oN-n2KUudJ~iXWbDtd{PF$1ZlS>;|8|xp)6g>H$1mKYmaI!jE-sU%drb z)FQ3hRpNrWGo5OnWWPBhfi;cQc?r1ks6bGT)*<9mZ8lmbZ73*f-s!?7D?`x@9%T!U zXA~a$g_F_!RW>I{Mh{lIjTs`2{LTCsnU}T7kH^GDoM*U#hx;jib)mV)I@6Xc|st`N?juVaskn@awFs$y2bs? zAX&Lu*;f83dUbTtDm42EkUtAqQfWhf&|>9wiy_|dG}T$gFAl$5%w za&08ZVquhMrT>BcJfMr{3aCP4#p1BLF-!RDGy{hQTf+Je*nuOQocBo`!CyKnvnU3q zr5KGf|NiGMKdc*f&fPuG z=0&_{jj~1i%--UdJCoIQf5iT~jW6AGp%n*h#+@51Kr^GEcl{8OT`t1Bj*w@>&Ssq==sOUs1U%OoC#$&Pp+<085(V^#l=_@IIRaXAWtq`t1UN0JWsS#j$vQ|7zV|?y| zA6cKzu95XQTS$9RX$_!G;C0UWAdTX()sKu+6SF6o@??5d0vXmYi^>+rhST#>rCoY{ zzi7trICnPDSh}cW4hdP)=gTpL1c?V}qQfN>P=C5;E|?NGmOi|lf_&Z7n2w8jnvS#M zoUE5~pdO<(aLAT zt9I|U)$ZA98)dzHn9d_5QUWQ{^68%2V3 zaoa5IZc=0xH<@7;M=lI^^hP!zHgy|U8;^_eF*ywRNQ2#m%8TdjhY9S?TABIP)rWqO z`PBsJ8pIexQ*W%7NgGJ=N)<+@v+qypVx%u1xFK(2L1Zsd3In)NW`TY^HMnn}y@W3w zt+Cj(i{A=_nDEq*Vmcn;7vWWb{#Ekf<%OOXMV2al=?in+U5rL6Hy2m%|DpqVy0N;} zIGz3@o}?N!QrXw+O8t9%fnW>$1sx%y-B2frvSgM+$08km z)eYr}q2ZlyXcC@UNlg71(*)SC{nSb_>|c9L)G5~;23JVy5>C)0Asi*6Dcpih2C>@! zm=Pt<6CZQI2dmxN6hz)+F2^z`_WM9*P>M#X+aiO`QbSMM-bIm(q(w%=QzGJLBcusM zgrn>h=(pAF!)|gU-6wmyI?->4K2;c4Vp4L4WH@Ma{4Bn1)|^q0gVlV$tJ}oyu~B=x z06pZhS;YMVH&Vbas9OixnNK58@PYz^aEfVwe*wHTIHCJ&k-`DZyG=}6xA5BP{qkUt z*&6U36>_6Xa?S5H;M*LZ9NI&!HY%;51y*jQ6}_qqTQ9;75zvU7gM_>lDd`QT$ZWXz zbb6lKp^lyWPl+X>12$^R<)!)2ILZy<=!K*%kJ-4==*4Hi@%Hb0SxCL+N(;`4y)F=g z4+cpO14iGqNmCOV?VdPykakARgspVv*w86V3WHe|BeK}c8HDehEIcLw&w|7h=S-*=M^*ye^w<}cA;ZnzL!mD&F4Ak57| z8Hsd^bpSmC8Ek?IQF^4XKZ(W|_VglBFJ2!VtG$;`)c#AgqgLt;vdE-?k$r_puIQV| zi)R{7q&LcvS6AUFCdWi}{xY8MCSUPRdW#&(qOl7) zFOj6KU@#c#ullK5{Uip6IOENMb=5^-edAuPaP;9rV*1c2H1LP}9p@s`;vmVH4wLlC zMCxaw7+i@f4F}0ovIz7URFd!{_FKSU%N%U~l#4{>8wEsWz)A*y$$3*!%q8Hq0Q@&s zq_%OO@g$NZk0MT8fc_=|nVA(gA?NLnaqonGp?_wk^!3@L30*UDB+CoRRT)2#X-cs27g)dj!QOGk7}o8eWq0Lp;$b7o_!(UK?ZjlR+SU zjuvt5~oQ_J~fxO?~!O|yH)7L$M_ z;XE+{$h|ntv_aJAAmoZYJ?-Ju1O9l(i8vUddt}&h+P}`M!G~)Z#CaHhV1OC-?1I3+ zQmLOvY7aRWlXyJg=;9b;V-Rr)vuM`EH|N^p+x&M4s$NEN(%7|m0mm3Cvw9y+k{Zbs zayD@doqcH8c`%!NfC4vC%Oz_#;RU={)GIr?i&9FBX^Z=F=uj%7$INMXnY~zemoRInJSS8zTc#iOW)=|0v5W#A$w=uU0#n_nT+g4SuH>VNUDiAk7V64 z8+g?hzCeP$uoHN(QC#D?td8WBrL=EdN|!)fL&LHS#BeOzLAkJKc3RL}!J8}X3`{<* zkyTGMirq09+8?9g`(tFBE||<-&c|G7{BbczBK?AX80aVBeYwC3olNZ=lrNHBBO<{3 z+!Hm%G=-d?`F$f$l623;n}v4(Ce3273DTCQLB54xM>tIQnWVQD=3thyIkM<{Dlo~b zjlpbLsNhAz!nEVW-oj|7k&}GaWFEYT;F=n%?sPnkhLip^=8GJq3gdTC#|gX?fkPCJ zoiw=cd_;+tIdAM`cwNs4vQ?7mY-T;vif)0D^S(?bI>S5V6c5IjtT*P=w3G3*r7o&o ze%mT@&`T+F3(ZvV5~waqzE#ZlP3b|fjYtw967hkNB+y1@qNXF%5QZ3}1K$E&q%$VF z-2l6ed4R&ayr`+%T-BU2XXShj$4FlzbYx8?RB?9$95tIQE0%&g- zU0{kxOlO@)-gj80NwZQa$V)kj>2ltLW;88&yaIPgG9DV-O+4OObKOKx8mzGM$Z~;w zGQCZsL2R!g6X?r{uczY!W$daXq;7spCjM;xm5$a|(43CmSN!Th@tYhzJ&8^^a&)9t zQ2MU`Y{u73(L&fZJngf@j$F`8<)`1Xu;!jwDq3ht0O(iBzAUIkZU;r{yn@E)n0}U4`oyd=Ycgn! z5w`&T)4AI@Rkgv--UVsnPOcQJ%UW~I^m<~hmJ>?}tuVQ5a=zgY^C~_Wm{l^D-wG?Y z%*7_;w|RRR8A91p{H|nDP=Ex15;SbH@Gl#$-2S7`^T%_Iz%3=nru$_0|3L4#3o}^xp z2rxx&(lfKaD9g3a+0e9zEL<_EBJ=C3BaDlghK@5XKg|MNjqJd!nQZPDuK+h&_<}TR z%hs3PS#NU0EusnwFecGNr*R2IM7Q4Mxx7H-9jn_@zBKW>R?yeg2@onsguzpyV62je zv$&4p?gy&UPtIaaKkXE$FpadWHLvBGGe?W)y9h35ktqo>7NkMCZ|MOEGlY}%%dlqF zlt8ik4GHPJQmjQcrB0%3GZcZ-yeFx>_nx9tnD;FBn^C|7<+1OLk*q0{pNvF2GbKnh z;Fai|x$jAb;Jw#g`KAafKD;tRuMd*QTY2NGWwVTaSqYs4&~A@0;xlD5!&ufvu_{4J z1HGDTuViY5+11iIY`ZUmbndoT8B#a9Ke_hq#_8F1#NXb|IS1Cp?$?*(-C8+ZO zS~YI7RekU3gbS*o z4^kCiSl|XQ5r|!ZT`<4!?|8DQsuVXEpKJ$Jzr-n~M!_OqZ(cXPUR@vHpI)XAOaw|$ z)jjxH`9J^p_ZR)^$0xnbux|nJv?8nUNpkX^NaKWl=$ky`}gq^^HI8= z@bCVE)wKuzXKnq#gVlR$Kyj@7pVhUE^#>dONBvtZBu{45eEysKTl`A3PU2xJJ%_U< zo30uZ2OQ433Q=xxHVy|0ccIys9qoMBHr0eM%QDq2wB=)R%?$RKW;$Ld+O;piquhZN}2)nG?@;2 zBvY!Z{b83xCB&ZUQNdSK$f{IoY?06dv&WAkxJQ7i1e%8|3xFDGq4iJFi%+ki8F)0s z01+(qh{l6di^iV4e660*Z2Rif^rRnm)$_OubY_H;9pRJo98mAcHHk{1(lKwTC?=th z7S^uUk)>M-CpgNnO2}RXF({hukIaIG+AHF&`+5=MZD2jx}oUxW< zi-jC-FPemLKcy-E2D>NHIg(tBqiz&mL>!uabUlBIa54MHCtK?vSwS>UJw@`j4i{&n zzB`{xMw_kH<>h7bY&dNuMN@EIfvrn->~h>czwLIDi8i4=LImk^~cg92`VHx+-oew#>oh!zHVv+O z!(F_^FLLgdes-kr8Ru)$I1+cYUWOqn84L+4u{XSk zfqo|etV4P!tT#XrD*k(-+qhOhBz8YwyZEvRr>=fEj|kc7XK>oc$Z+Wz4)icthIK!T z(7X+>;u$5}`wqSUu`@{q;fLsNf&>6k5lReD)qZe*>VkmkV#S4B4M;Wb;;R<5psh5Y ziA2vXDYgI{|8Sx)+*yo>c@$30nUPNs8={%~P%tZ|5OFDYI4;m!0B6VQ5(woKb%Hkq zUJsGJpkCw)U2e@qyv3)PRGeWEiG3* zR+RFNx>75xm1P`5#=(Rvwnq(2WyA*1D*_i^=5+)%7*@~xzf712_z6#yZPo_6J|mxG8!*k zITmgOye|PKpjd@)X%|kdAas)GFj^VI;#~l9M#K+lQ&4Mz7rfT!a5dPZ-gGdy)~Al_ zP{NBO?yY0V@*sV?+!2 zEwkt&z)1rz!|pXJVSLrW{yNfMb_%p7-a?z5fXfH&h90&Cm3z}JEw8_Kb!x($5P%ip zBDnJ>cyl&RVO8wds#~OtBcK-R**;0i484gLnhH*nq?v3wy*1AX1!JuzKyh5cn8Gwg z=MFS?h9UlgR5a(|@QkRf6dy_jrD}}t{RZVNo(E|oMY8W&P^_u!*4dP&oIME5cB81r zYs6s2df9#i+Xy#lh$Qt0BQr(=9{xvtTB>OsP7557S|6>u-mYxc^(gCA^_{-3c8;5nJlx| zu>w!GgN1-fkl`VwS+%c+{q3NFZ+G=GHO9S5#WEh?SJn+$?&6jp)xZ*5)kiT+BwFm0 z6yfoZtaDO@^*(<)BgYc`|}qs4_^J(;nDHypMUxFxBsrt%58@y zU8s9@9{=M*e=tl&zmL<&^y2dB`i~0vEu`C&LGu2ChmRgt$k%qe_L18DRQpIxd?E({ z2K7I9U6CvSw0Pq@WeO$pkaydj2=4;jR6m=$jBD35(SiW0Nh7T;gR^evKQSR-A^8)R zJ4L!Nou0H#!f`WE?vImysIvrcEFJ=Q)`a#`dh;r2R%Fv*>hi6j(Z5VV-BgrVMcll3 z*KX7G71Ta5!PKDEJ_W6BZnn~!cC)=i*Ft-_cGG;-Uc-m4prIQ4g&Xfv#X=$UXn&Ya zHHcbE47bfz^SHg%!geY}V2$ud2bIiIPl0qBc5!9!f=e|r+2F)?ux0r25HNQMv}G}YN0+*47Q#>mGf#Fa!I1q8R|N;ez= z*SA6=3#m0|M!FZz1IwFrDL*pa%FK#!vSiO@qG{mY0sd`uJ~D8&|-!toiRN4?&S7nb_p#>6)W%Z1(G#{4=+Cp|zAPKTN@vpYjO$mKLSXZHoV zpYmLkv(=3&cNk6sG@S1B8PZdo>2_7Vs>T%Itx+u=>L9)7q9ORqVM3ueh3mIF8WA*H zwt%#e=3$|RDI?k@RsX+im4I4W?a9*p0437%MwE6#CIsb4l=1~PJnPdPi$*Tgi2D}W zPEW5bFd^+~rWxR2OY3d;S8vtN0%vWUQI~HO&i~UW*#?*I5g z?Y4Hm{Z{SDaY(U5>#D!YM~%5pfcORjttGZxPTxH#zvJw3 zz^jer%Hkrnqc%v|MTa?cyEJ?@;f`K{sSmHEd+@fmJ(BGMdWFX549FdN-vBnZ^$ z5T*n>|2H5CUmQEvwO(#qUhjH@U(ilf3EK%wXSN}~0CA#3nV!d|6M%3k={>3Gu?~@H z#5RytfZJo6Bmw%=)bJ4+!K+n=MJOgrwIl(nFeM5!>P2oQP7QSDr%Y>$i#dUS03`Dd zBy~oy%t@NS%#jF<8XL_k^=x<7++iufA>yd85706}!l{85rzya=Z2!fN=6GxK1Goxp zL)6Yv8j0~jGGr5Tv=B_uRFJ?Dny<-mXJf);s&;H#-L-Y+Wq3`v3@xObV=PF8C>&@9 zPZHD&QaZoq*La4-(g9Xu91;Zs)9<3EGtejJNpBO2Hh}NKb;9$m1yTq{nrOI;f*wzs zSs;h(gwpT>8&POsi5|#EW%gneqWlzIh+*fLMHayLqeTZvtj_w^O|G}}OC+2DG=;77 z*d7!I9S*Ny?u5pHHb&1&Y*^K}ZvjoK12&gP;IonIRDVlXI!_;;FIw+b04;<^9NFy>(E9c0J zSQt#E#(<%NVFVhnH+eFzNp=8(V38Iw>=E3O3IiAM(l|{0Pz3B;rrnZgPwM*YF^2hNR5vv;2lmS!cU{tDS6!AwZK`&=n&oua>N$<@ zq#>UiUBU5ANg2gPM5%gmaMVaA*L@KobKYPg7<=RRBBDlsyPpsiP)^kOcW>Tp0w=Co zsuifVFzotOP$T9sc)Qtdx#cqax%%E4@S+e%WZ^c7Bfi$i%ZH^6EETGXyg`Y)ftxZ? zhedH^=HDDy1bG1zCWmevfjPe5Qa+~5SM-W*>QoCh>i!Xjdn_cXo;VRWg}oR+%`y{+ zr(!}klj{*0QURy};LwWj4Rk@)YP7&Inw|WCXov1$;hVOAcwyY*0R% zBtQlB=nQK#4|gUJ0WsH_rsnw2N)c-(LTeI9VO_FlM^n_UXa5^)qI~&)Su^yc8DDeT znh2l@d?+b<^f}C+j`$Yo3*DgT&jd?{jFzK*ADTWN89tvb8mK0lM^)?g3IZ@bjju#X z`17ls)P;(MA-l1m9k-e^qO%&Gl7+e4tqaQi_q_ zj~3O6X|a)RGM2?v>PMgkiJYYFCM?8DNqMWQq#WGttJa47oLo!} znw$OMUAv6}XZqE8S8MeG7Ma~NR|GfIZf;mg*4m`k`8H}TwFymppFtnR=m}{Hw8l03 z4AEnNvQkav!Cd?1PDUQR2Nc7Eg$Eoah%CNPg-+-tNobt}j3#*cY5k#X)~aaT1DiX> z#u4BoLhR2n*%aN*B$QD1Jn90Mz@#IR5KSv4;t7yVsYTD#n$YaX!(2zHgQJ-WL~IXN zz;x6Dim6^EI26)Tise?0F!?{>ZkQ{M#`U^Jx|@zIN!th^@{YkK%JodtxvQw1b=hE} zyZv|sd&h@|M3ksIXI@J!xma|9SdS?zad0__q>*l)HWz6kIIw*}8o2v(E736o3{git z`u^emuk_@S8sa-mT0ve%>I@izVe}e>Xrt%&%^4AGs+R7pK7OEiibZbxL315DsH;b7 zkJk}v$kY28X(KioM+1N{;<9j_)bp0Kf^()iNLL{~lTt!52aB7)9|an9(dyIcNp65n*KE4Hp$lwT+o+q0cO{A^G=8A_jR4;HULi^k{_VRshn+X=aFW7yD*g$24QShWj zO~sB4h1b_#I5UmpHXTYOJN~)C|5@k|n4W)gd>EpWqu#?^D!2ncyIUm1(YN%jGi^n2E_iExgwgy|Ct*9SUNi+rgKal^B^Yr|V$mpCp%=hHv}tw_>Njl2L8 zv9gJ@)@@7c#SC>s+El9|&j_6s)z4zO^?(<^*V@B~PXJGHm^&tp9bLGQKFABJS9agr z;sUbZwziE*eo|I9rJeVqj1%ch1z61mCKKWpA6UcqNTcXs;DfIJ z^PGQrV`8?)ZJg~R6Xq5AVaj*AIHc0@0{(?56RSoz2l*5uRU(o@UZd7HCF4(AqKQGz zOb`Ibu5LWO*9}h}QajZ>d?c;m3IiZiNnW8z%)Bh~pCxw?GlpR@Y_Q!>xj_SNLV$Zn zvK(CWfWhFG$QrV+2?N7|Zh}IV!6itB1_r%Lbz>C(EY9YQp-FG@6hlrNvNP;i>Vw8D zJqp=^UDnyhibogWK7=Zu;co`iNQNQ5uHV)gf(Aa+rb9}tw3mQ}R+!!ty0fga+ecFGt0mn0-B#JHx+S&O8QqMKfd zB|tRf0F^`xWppVd$wav-d~zRvgGOf>`M!dA_u+kzIs$43`KCNPfmfWikSij&Kpj6p zCrt{dOjeul4a20uI7ueTF-v0<;TUW(cIM8-&Ydt0oL({LL?e*Yl^_d2WN5X-G3KPM zNN+`9UrF;q1945`0vxNRxEB>J2uV12YmF(8!Ia4+Sx7Jr)!)u5+LFk@=7_KP7*A7; zKsQU9YBrk|CEJEG&*9fB!fH{y7KyR884(9ZSrcZ1vw(~fD;Lj}RmiYjg)ioW5Wqi31xEL&75x%VO<(sh^e;a81jmfmp(VSA`oOi5cRDjq2z66tVE!Nh8g{S)aS9Gy~b;@mFOp| z4ka(O=T@C&&7$ru=u?X}fayc4%; z`U(8HJf}6MOEOlCvkBgiJ#9iaz{XiRXJTSvSqwMVAVWhe2j`RvR`qzQYW@2bkXxbQMWv(!0bj#|6GJRP*}hLHSqFtvAPdFt zk++UlkMA1;SPE%apo-F}fmquFvElkqI56y#)qu>5%U@5$713_*GsdWs=6S#}1=v;R zv=R5~1q(sEVj)_(#YB zBui$HMIbY0ySr*>_uFrmX{UaA1s7@@KDZ~VV#qhvx)FhmHi>6!0zMi?vZ~2ACHYpQ zmr|%VzG=iWM6B9V0^V#bj;@}BdC7DhC!@<$hj|S^(G2W0C5-S(V z4GGz(6Y{1-o0HwKm9?NKyt$7}?Bz>%1YQ|+lk&WRH-At8$>=_ac$1 z2qqsQj1<_MtE1@YehSV_R(y-_WgECOkg_S`@u~gLiD- z&F+%809bZY1-ZKa3TA#RG*5|^=AZ)PHNze!UAe{_BR?e4*>`|7x32#H<%nT-0HMW2 zK<+m0>VajG7g^RsC~C}#565aN>~^OEbe+TA`+XCxfRM1O06tGp5-~*~1my`Mk+yLj z$6^B&o>6L_iME^2I&svvQzNWXH%24I=3fvwM_dTCB_trsWElT@>LDElq;#P% z%rncE4L6P}A|V;LTh#KNg<~`xCLu{9F>1-18x!)N!m>)Ti(<_a>WvajDK>9+2RH)5 z>aXZ~|JAk%er+_!-A5)8IKo2m!KirRK>djCQ8T8Xk!WKOqTlzQ9&J}iCVdNclVmy9 zpVA&8(&&s5E9PC1r-@t7^DoJHm^e*}TMA9OqFnD>?c7I~yyNQkLKcH1nMNy3xDe``V{3Sz?=o$O;iP; zH*Nrph*l7or6InR?t*T>Hj0{_ZZU)&8N3|X8|JV(0IB>`T_LQ~m^(AvGv{0EK*-72*A@TBd=@>;MuSk+=<# zPlt_C;Ht@q!|+`_sI`{~1t(!2o3rRj9HaG(T&EarY08NdBn(Z^3=lKGjWW*L&@&mFXC*Okaj#l0k#>1ammf zLMa;;y4A71O{eX(_GVFEv&C@#3#4$I+zcN^T@B^*L+R2>TL{`#*8^{}cZ|6aODA4nll;q||5c3t|8Q;fKk@(nIr0B( z_oc=Ebnb29Smg_DrfeMPbU*VY^B_nYe*PON{{%5m`Ui4HyZ>)P7keYG@* zC#~ru?zgz9R0Cc!Jzv(gd6yU?LgM3V2Qwr`v55z2>8jge_Y`i(X~2zrdy2{AF7dAF zn$!av5sPBBH!F)pSqbhbbb%crp%G69ROS`B5^x9=6dXk3=;T_RVa$BA!Jupe;#Gbo z(Rhc~3X@HvQ~e3X6r>B2h5^l)+fwHbz(Iv+nsj51jGJ_)MrkREQu3p(>Wl-F?=hkD z4Pjr4Gfg@I9q1pUx{u>7`_3dRb+Ew@nUydVoc#hE?GcXPiNr(7#wuG;D}XdqHniYUZv+D=T;DnHOWR7Nr$ax zMX^OubVwl&kUermKzarYXU9M7siT9Z$G_|x?y3DFj4l83{*%2Ys=9LozpHhVwLxcW zPzO&bgTvqVUp}d;y`+G;&Tqd^z2G^XI+X05~1R8$1|MKY}^t1P3@8vO4g)iZu+WQ%PsiU8E zoX)DP=+XX53}gCI?d%@!AH2lTL(9j9@Usq+J3Ka(f7w6UtE-*E{Ucn5r-uj70j?v| zIKXDG-pjq+25thjgzM~Y2Nc8KuaEZZh@R~2Jcss^Ilzx_)vE*>V zXdI)PhU9Vxr|@(f{~?%0OJ4Oz8$>`(2Q+7dm7}L(yPuj|tnAcJX&RW@=e!u4yHijs zOx46OlcW}w*ihskgGO|ye;}JVi_hykadeQwl?qUL9B|^2E+CHaw68B0ijB@_R-(H0 z`?RKftx=g6+aNm?9k2;wH0coOa!%brlAa%U&lp{SOcq~^#HicVcO(V#3{$l)72o`y;UI} z5QMc%2syM(=$@aA(IxE+y50Th+2Jc14n6$@FX8quFJBxyk(clkUjn;kULO4NQeMJS zcsVeQzK|vd*r0hT58)X(W69$ee}A%nNN?yVyu8qFe&)v)pDN>lJUe_r&&GpK6;3L^ zkB^QI_qlm`3QIUj()g-FO>T3%>69$th|z@8Ex;h+t!9OUOi2IA`g8}qZC(ugRx``O zYd~)Y7xaq93q!rj-I@UsozqOpvl&ZR<=awN>@z;1y!ax9FPrrg8jM9UbmI-3L_u z5tJE0z`Snd19guCmWKXARB=a>-1yn32NK zk-;`~$@L*w4XcfDPYUB9)_qeAJt9-*9wwBK)C=waDwTtgP#G*`rmQlOI3*qRG4$Jc z%)#2(@a`(sZgD2@j4i7lU_271IOZVfy29)wvi6NgHQm^C-)NjfQXM$i)}wC;LjXqO zi^!^;kfLYeF765u7!OFu(&)L3%EVnGb1_YKAYa?Vkut4urk))hyne;?YX(DPjtN~M zRFEnS6yS$FWh%)LDXN48sZN4d_MxpK2&JeF7Nk08orcr?M2GVwU^9qT8LX-d3RQwJ72`-{ zaH3)y2=y89DTC-LZ~?ilv5VT8l?2?G%q|#s7iDks9ayFe!oeUR=5>z}x)5gao}WQA zjToyAgw)nEGG|kR&epP)suI4cZfTu?DK%IooV;CIH_h?9hvE0@m4>Li#pwmJz6kF%X~Ki4YEM-U>1hL&y<#O(I8;F$X40 z`zP70kjDMpprqYzw%beX<*(i@n*lUiy7=u@?s&Omf+T>pz$CcVz|(3rl~W$H8p|2I z2U*XX*DK2f5W$uw026CIKp0>!0jPCjW_H{ct3?+%=v-eCJrmV`s>53#y2e!pBs59R zD2h&dt*2T?# z%NtfLbf^|fJ{wPqf>z+vw3CZ-qqw-T*j?HUNw2Y%aV%$JNFHl`REwBBY>2BT#=CVQ z1vu6b^)4aP*{RCC|4b&Prqj;Ew!>&UouKSXWJX~hE#t4*9PKn_->gM-p!vJHy_ij? z_BhS9WDJy0aYFn>?QezA(&udm`6~U5`JV}A0^7tkZ8Ab_99omC6@@xN-EyhsUu?Sc z3$6V(_(ebXv)H8sv)mS|xVps$PElNBOJV&$HS=fhT@#eXUOovZnSj=f{lJ{)thedtlY&ogAtqjKGj+w zu0>ru-zUz(=tjQcAP|KhX%|nw-&Fe&)}{~>IBO`Ym_Z4}6Y3=$thXI3F^(TclVy$X z;d@|$mB5efwe`naFdnW_rM{e(8>{Zib^qnPHLvDI=Iw^}_CDJ^pb%g>2-6Rgp@AoF z6Te}U37y?7NgCvNi9zuxe-6XLPk>1;@Cpcs3<$K_R?4oAlr54%_>g%9=8{NRmV-?< zD@F7YpeeX&2AIJ|a=V$}hj4j4xOWf8l~IRA4J)#tZ3}??bzZEmo9ph)YUANsO_6w8 zrD+%+E|i*fM*V5p8DDPeeYbH<+_%BkYJGJzkT-&SlpO>|2MLw}_3+_C)sSg^t=3jo zS5>easG4c(ebz+ciw?9t{dRm=I!qdt9f~Cj5Vk4w-nd)oaoCJMgEx7rp)o_+`}h*& z41g=)!ww;L+vkxWN+z(9{z1Wj;L~wN6dYh;*6{ZZdc{ps_Q#`@6Zrcjq-cfWO&m)E z28!|2brcQ*vzF4O-f=$qlVI+2$8iTKM9S~@hSJT z#99P6h|=e>y-0zPXl5}Wnrc8j8v;kLB0ej_h}e$_zd_a;GZ0}V2e5MxF6FDV1WVC% zl}EO+)6%rwtNqg)?PHO5odWNRxv#w+5qP&Go-^8-*!ArtQxv^w7e%1Nu#8AR{Dsv( z<}4;;>b!ZA*NG5i+?xYW|W+6 z5cOh_FX<3+gp}d-!26E{RQ8Ayf^0f%Y2PCXtgX`|Y0@dcCV*91d;IueV{Nsu{>WC9 z8-YIFXINB?-kUYPi#=9#=5;8tg*WRP4<5edzspLNlyN(KINYpK&6U+RtLty^KS00D z?03Juy+?Id?rqBd-0~6-i|6sJT3^rF#^N=|Z|NR{zxP(5pn0~wI=co|@XC9I-+MD% zDO!vAS<<-7viHso|AORBqi000q*jYA-Q?6-F#}LLZW!cc9MsLeS#E0_VG7hCPylv3 zw&=VY&Ru4bH#G)yXWKcr*S=TMJk@BLBC9z11wM2>JQhIV%A2+Ijr#~>xc>z}0Hnde z5qjyp_6xlZ@o-26zwXj2Fsr`Vmy|3q~EBG)zxLf4^6MN z3^aJ}(0CD%<;UX}lu)w;4?dx3N9}Ou<&%RKjatnwkF<1vv~=xMjt%Vk_us7fv+!Xme{l=+ zA=j0Q>m%sYL^t6bx4R{@9&cG=&@8V1)2jyhs;o8FH;7Wy*$y=53=H&~0k<(~sAOE+ z5RsS-WxSt$`kK~NzMK1r=5PU zBOvy^pQ=W`XCdT$Q58OVZbknDI{$h1;|3)#7o`iI_lK*i9?<7&HHvE8zh71h z3KNPbevinr2x3v!Vc`|fmEU0oYKb!aSlqw6Af2^auB9^e`c7@6z5FMgwQ5oAPnEfk zD8Y$~MmIAB3{7U#H021x7u@@(TnFSd?w>@s^rKTudv=b&t1$)uMlAxE7b?gPLeVT7 z2=G}B5^1(zL*P%t#a)#d^I>ENC@pi5x&khtmgT)isKItG`IJ#94y+kNgLxRxCqNn5 z(>`rllGcfnD#RUynu&XHciK;;DH$K~7!CJ>mVX$s5;!(Ocy-eVYTG6{Xs6b0tKKx? zaDZdXDq}=qO{ED@oq2_#GZ-|bQ(R&WuewSn(FnH|KkIC~oi3O3<#P27lx?{%kqo+s0{5mMcRn za7Mv0-<~=x)v$Tpl}^XCtsmf8^h{*dig)sV1#rOg{wso-ar?Cd5KpScpS50|5 zC23LmnQJY#D8_@zB`k-){s4&rmZ`n|Q>_`sC{nqK#jg{42cHS_34^c7LnwgX9R z7nIDfmSH<9MY}DKRj}Jd3_R-GeVK&A@y}y&J~~vWR!39EG)!&+-6$Hu9n*|n_KxE^D`0r+V0)ubOn!;5(VwHr*MUn9cMHcdG>QU zl0-5>6HK25WnrL^_jC}FnzdR-;)8kb#shkzlWO60j&gqt)`y8;C+A5T+1^P(XU&PS ztdKauiTo4I$mk1TqdfP+7Vv(YFcZEO`=cN)6&Jd-pc)%=k)lXnMYw4OfM`(n6;e2{ zi4&J0MJp3UJHz@y4Hq#L+Qn%4M2dlP`u|yfe)uau#^2FGgS2e)RkVm@{y4zX9RzCZ< z&8Td&8ct>X>=r%W?z}lo*u8A**2M<(g!L30N{Fo3Fu=1gica8gC%OjS?!FO{gL9L9 zZ~Oi8-OkSQ=i9pqnU!Auxtx3|;1JmFoqEIQvaB9$Vp%;VvN8{TRW%H52ge16vsqi; ztlitJ-QTP|$QMM>78Jz(XB7O_?LyFN4%<~q$@tFfjoXy029sM=V!%=ENsSYkA#)gzL zxoG_nPsp`3>Yoy0QP2pvCHBF+dxieLYikcz zA3j_&{=W|%ZlM3~eJK7P|KER#|F1F*z`*bxklWzill^1WV09`X1|8PD$FyxT4=6EZ zKllHgV1`tT?9q_uT^H-CYxf$fYmL>7=IR=rejP=82`xTh0eV@Yh zap?H#291D{Q_1a%OhVj6-78#`;?f2qc$SO-)d2H0`6E925CJ~=?hGFN?QA%0hH-NM zY*W;meqTqu@PkT`5AcHq4EsK5Agl}BQw*^s8Qb=U-DbsVpUDMSyYq6Y4>y7tS=f%Q zecx1$vCLj*FAvZ$EgYju@%0wlcwkOAteNrI#H(SR&t?-Rh0CjB6Xu7AUSDW7IF76% zF9on8_g(S&MQ=h0kSF}$cwpRHvHfSfOX?Ln{XJ(VV3dW5pD=0eD;!F%Y&GEyi;3vh z9x&^=i|5*@m>h~Rk0yDgG2^&Q)D*jjOHKCR+o2eIY_CJ{-z5HDGH2N64Xgd(?3y@E zjw$N0NT(Irc-UhNo}4F!^rZ->6R~D+wxLdKW7Inx1lu-l78yOKDW#tt0*##(o~Ti5 zV#?VU<>pQ${z^E}qvCbQ0Dzs734nQy(ONZ)OMzP06%}YO@@T|kB~HocysI6Pw~Q?+ z0V&z?phqT}a0?8>h@kT4fUZ(Ua(ZC=IE!KsJ0&0;lMxtDn<-EEH&`4YF3Fh@&E4Y* z7#I8A&j(#{@J_@@UOdBPO-Y6TC$mn+`@8eWWVG38U0z-`5w9fUvzGY4r>*bd09Mek z=5Xi5wxGDmtDW7y?>yTxzkl94Jla2axy_hw6m~y^XHjPyUBnz&fgV$a&j$Tdi;MV! zJoK9K!@hxmA5MoVXtp$dWtW+NR*GEEXi7R~pmlQ9qKnF+mP|<2d8hBve`Zh^t(x7I zNcXE-LI={+AMMPx@c2@4HJg1DmDwl?OzQ}x=M-V{B;uqQy(q*zMUF?O+tg`HaScc% z!|@?8E3e~DW#e@dB|IH=*_k3e$H1nDjB&9}l4OF35J!}S1^I54!x7r%)SpoOnh+^7 zGjM)z85$H#q1WU4NSmgxm$2j0jglqnk^w8escIj0ULPOq9=v?IUByu1xDM4%<^=}i z~zxc0q+%C*slGoUgsIf!17fyn;nrurF^SB5|gtgo)#%aalK^nU>vaqQs0 ze=|B_vW` zoiaUBj%H4K5b<&tB8k-urMIlUU+F>_qKpZ!mH6tF->kCq6gZmhqLk+n0uq=^`VrG> ze31gW_z~8B7`dTH5QngN3q~zbKl0dn3HdD!udU#_?x?RQjw()-T1P_a1oJD5nB(q! zRjE9Az4Lr`=V)(x4dsdibNZ2DRPo~PM=)aF9rWXWAN|x3YW7=L*iWQsT#7jBkHVl_ z8AZdEwF9!H;K$3?&!6wUc(T1It}RjHUUS_Gt^MEWIqujc8m^=xTrJK>4M4Q^EqWz> zvPP_n9KU5aVYHeM?K0(qpq_9pH`(MUoJ=_%C+r_AOyf)iro~`8z|Vkl=E0=__iX3c z^MfBdN3VZ8I)ErYUOqok!zqjm z%?&mw$()2_A*}&|ChMHLk`4M=68=eMF1o~;mCiF%n2$TCQRqk8_&W_xBl8oN5aXZfbQu?3&N_T zqwPTXVS;MuXhBB_Vp@-a#*Nsrwtvn1&lv8oF@`DA3LiS_C@KiH0!~ao@%1G~V>14# zVx40?;;YWl9$ck6#|MXUjKA8(T{ZjXm!VU-gwM7ElqYWCpI}QprAIaVi%AMFddX(t z@~~>hX<_qDEf`HoW>_%W3aTXVNX_Ps1Vf`bVq#fV>moOgHzG7n!RdxwGJ%+q;d5uC zC_qkG&5AbJrVTQIL59jUf!6s`%p=U#Priet<;urQa=$g}Pu94i-<3~xcoaYx$&eHy z&pkWpJl{V$R=Yp#?f$*<^!3YK^#+&mZDlT(o}J1OWvZsW==jjAV@&cmvhk`*qJN z;!k~B`fk`>X-y3Y;AD4)EbZU~b!M zt7s!PRmMmYt&Qa}wxHt!Wo2PO&$6J$V(8~OUSAn=&{}?U#*$WT*eEqRP`~rld?|z; z3p>R__WT~0MHwb??g=eZDi`e&%mV{}Y4g!3c9s1kSojxXeMVIM3G3c<7GTRh>Bx=5 zi3w9;grSv1A{+Qe4{?SSLqcJg9o(Ry$prl&!q9{)XB$M}kmRAr)K?4-+g=@d9zPCYVVi@f1-S3XAh09~tHuNjNqu zo<{)YJ#h+p-)#$%flfD%mR-(MmF)xrCloh0?7K%fpu7qBmpLqZs@&yM-#JyB0pi*7 zZHqipfAp_XUSY4994+frHY+XOyZX2KR;|6yIkxM!Rf^A2%~1_`BljOk*f&Hut~w3J zb!Ic;35n`HMA673d7#KbTHRvtZ61J%ZkbBa-AUAh8FSWSeo?Kht}Ly;TU%WwVu$={ zI8Z~QbZE$}I(yfz4x@?YN( zqhdb>rDms24c-x_l#reOcBlpy=Cmf9ByII%;S5 zw_1D*i%}4Q-E4I8KcfE!pq!3I(U_PZEwk78>&Fr+osd~k^il?4Z_lut5)$NhK^cs_fFK__ymhYONV_ni8-~NaXM$jQgT<5N(;RCg_=kiKO7) zeYIT$1k=z8|GnLx4z{a;{Ju`xL;ajKj?u4b?8(!o-qWY@^!dxq(RQ^zRE<=gunB>f z56}Y)5DQPx(@H=38Gc{bksQ9*t`gA7@1vjgoH`_sa(=wVOdZUBs;H!7dl@>lH@l=nKG{lpsO#_P>5HtZn zUBWmyK{ub@r^!TIg(fz~Jq8lN{1by{5;{4usS$)lw)%jl@dZc5fKBF@MGb5aJ12_; z;DvCI^sGbU!Ev^i-T;%|ZokD$qwV(E%^8mw0SN`R=u5;#BQQ<`E2?kL1Vzn9(-CQ& zd(QOIf?lfcsgo9V(mI>5Feq#zu{7IRP^{ySQ>)q>s=_cLN5;ka@dWjtXt$5UK-lWY zvkuk8$-a5peDe+_yV7pGh1q^{Giw}x_An6wr8nJJcRbS)4oXj2$IuB_31hkpQ7Occ zqUtt z_DQJllKfWSCu|8`>U^UQuVs9k4F?EL((aw2h7QY0G8eJXk_NN~%MgG9Mg`qsFM5!q z_Bu(ogLXUMuj||7r!2qjZCkHpeA0s+!ZAFo1@74~+l$fgl}bs(2en(@wA+=|89jQ( z&(>?E87cKmi{7^}ks&{M+ioxCOT#I29-gGmEAF8^Y_-m+C0JDOj0I2=<`vC)W{uf+MQ}kbFlpM8J3SDD3J4KlDztlkRKp zZjOgBrq78}Yfus#Mq={>H)VK62QdIJl~hLbj>lp}Wt?XaaO4PvibhCewIH)JJ+l@- ztH=?G`zf3o(y9fN4TLhFQk7-XuDS^+y1k+D765oTtKZc26Cn{j zW4ejSkR!ZE;+`=PMH3TKiCn&TZaO)L-UgEch1N7B3rv!cYQZ+;bxOt`@J_>i0n#vm zx7rz^JP!$B6g<|AEg71a^(j#nU}OnYYArkLVge)=8=443hl(Xl(`lm!bS#DIKB4$+ zNYr5z{$KZxJ4df~clVBtfa9c}Pj~j8zdqdCUgMuH_K#ld9Pj?L{a}M)C;y!L z4Cqy8T4=qlqBBe*HXZQ(iJcc8T_HV(m`DdlM>;RS)FdwmYQ5-Wde-R(y(HmmAVgMd8?}$-d!xDulqZVb>CGmt(T~^8r0eLc7)yJa$oIy^?(x(F z$2g=HX<}ECOnoDEzSnUOCrF$P8-GOOMBDypQNP|xYDIgbULwPCIYtw)-joO^RuO5v zC`EbJnB)W)2(od(hZC{38YO@!=*EP%WVzyuXS?PCH0d7b@KK6*B6^5Y@?*XOfWkqA z0qE#oO?6;?-21k!I9*_>KEV2&OdZVt8`DyhxQhhSxP~YZJFl86K;mSu`3eIbKJNVb z>RBNRXTp;I4l96*xTcmc|0~}_Vv&i^o1{9nwWX|Tt94C>hdwOUbwG6|Czo@ZH7m&e zB5k={TNO(Sr>JAZM+J%1cwa*njpB)L)vCHdH3Rz6J1j}{y>I;?N*JWnOim`<0!I{z z3_xsFbj%icPn`RkHW1M(H*a*%uQl;Opa_pO>lWp2ITDqTr4ua76GZN+gVV6x^|wL4-TrE#$HSJ?oXrARX{yE{OYF4BAjB*~2Ufdd19Y+f z1rCa~0+VmbRQ-X;{vZ)B9bxzuOnK2~Zv;Dbw5LaUpchf@QF85MvvaawL$))T@C^~< zSKaHLGnb=Mf_W9)PqUI+>}?#$Jb_dJ$8ie_UQQMm$t9y@5p>qrJA-hUJ%vO@5Sttg z*(Mk7F(9-s++B!>Uq-RSSqx>>kh-8G9mW!XPr11b!*`%tATDGa`;@k`;?`IkGTRvk4JkX`8$jw@!0>D}fy$_Q+Fa zIg_?s<%^E8uT0b+L9s(ZzEEW6jVUpZb{jKB>c=PKlPoeFlUCB_v4lkPm`tj`5oVH; z=-SW$439PwZc4AMXBfIgI2n6+Pf%ntW?Gwwb}8(HPPlHN(m_`XCg6tyhP}e z0mrSM5Y8&Luwy#k0RE{uL1W+vo^$c)zz`fVN9`Jop`i*o;e%e(d)W(XS7w=niepWK z89^MY8NlBM&kqid_YPkW;JrTD>+HNd+V9ZgqhgsodBT|ntVdkkMrKKn0ivm%CX~Al zi7PalKkG{l;9i6j{fTV{C{$8*(mVhnexF7rjGHWzjv?<}{U6N)tT8*vyfZV|uC8fg zIjam?qxd_Sl6n1?x%jb^VtJ$;ppBe}8vjdcY*$ z(}#ZHaYSV|Y~eGYFo*PPJ<~2A0eXIq%EFWGb;uYL3&1@$mAtN`x4c zP09~z2W$SG33_Maz3g2f!K@ z^!ymJWuJ%3$lxsG>{E(*ntG#HyuC#=9danD5aar$#K)jxwl+MJ zNm3e|C}j}^36Nlc|47eGGba%a7UgZ5P9RKnV1WzZ$DNErQ-O<)5H;w3Iu!_ifv5CRFi2#klWV}W^TX26&RmoaGo@gj$ z46e4rEp_$nc2%9=?vd?E2;XVXud0FPvSn-M7YW8~Q;fk6Y9K#=ib*u6-Me9hVE5s}45|3wOMMn_0)>hwZ_ zm)JUk$8A^%%@y}QaD$Pn(z{(m2YXxPs zow~Q5f58ZNr*1KbqFtO0 zSD};zBzQqtNvBzVJAvh>RxA#YaHN($+<#?5AkdfxQZCeme!73CVC?M!gM6oeH

p?sFw#XpX?uY4)jEXMMqg13Lg>ndb(o|*J4~53l+$@+0&jMVbfg--Q&!a=oPO7X-7PC^re<1yGE~~ zF(tY2cQ4Frz9KcZU;{0V5LxpkQ8ZF;Q{7?JD}GeZ(mg2LflTF+{qPI1Wq@(@j)&Sq zGjoWjnqG`eGb5cs)J&(edB61xroiTjCInQC;lI1rluT33x*x|IsD_ zpGr0qvqseM#Pto*G0c z#Yd^wmP*F~m!K5iuB|xNI@a>F{q#c|V8lNXRm9pWTUyDwetV7S2=a~@1H(W~8mkt# z|N1R_@|UQCH%aL-$x`i;NsDyLrh{niJw|;d5zr08M>=apP1|*oF|Sl}Lx_j4?432W z|MKbnud@d;dk5>D!7Mi?N_l30aEa>1_z_M0dL}VEzGHp^4Y=@1r3Tyy>4BC4L#;@q zq``!0Z`angoa|EcxCgX7Szu5J8@zyW`DAyQ%517?8StT61qe1#_hgkS)|GlXB=Vfx zDo7px$m48s?n39J%UD9|8>;;MgfcA9S1sVL>Qedz$=P*zKs)jkW!+WZIn8REsK<=5 z1D?SY;JKwhq}YvesF1v=y_0~?uCdz&KeFwlH#O7Q&CQvq|H(g5wlQ~Os_(5|a;D)R zy=mU4o3r3OP)=2~i27*`S4SFV=ntAXk5A%B2jFj_y(7{rDiPTGvM9xAG=o|U0O}pr z7{-AH>*#O6)vmxyOyqX#q60GJD8~S|LffPS(5gkT@^D)JjKiD90I-)X{MSA*^nao* zyaU4)obDuDtCe}k?lULM)()H*Dc5J|0yv9Ac-oqRy0*aXRLHAt@7Gs{dq*UIN3sKr zSLb1G6Z=Oir=2zi63&mpQ6ex4IfL!ijbSJ|i^%M>k8R1mk}DXoE+lWsrh9Sb12|9} z9Utz$e3qYq%UnabjO>H4CytftH|3K8RAS1MMKLAj%SWAGkAMLxmWyb9x=424I%##c zT-14=LNc_vT~^vGUVW;4y!x7WPx#~yWMc6HKj%vLwQgpn6eY*WP@Yz8u4FTwuzhuH5ME&$STiqR;UsG#1!Vf(?(xClZw(4rHWQXT zi&hr4qn(ZkjpVoGnIsAD>RxA2m?ooIhs`b5oEIG5NT)UR?^C~?jf}O4G0mzq$23vz zq%j+L#g0x+CQx=gB`A({SkIslczHf^eY(OD%M**Ac%--_i`m)yU^i>ddpEPq{;3t*>HdJiMR$;pyn4u` zi=5sjbz?S2;cQ)}^75@@dDqq!%9S||k&fKxubmUz`+S^Ss*t>h&^8vfqUXRA*~uo! zC^K^xK3t+L3(rDhHKGz}lrt@NNi$8-LziINuj7r4`AR~$4Y8ZTNQLUn{P5SrWS4(I4@zR z;yj;jmMn~Q8*A@VfP=4W1|)Kjb^?xN5bS1t&5LJkPVN-iIp zP!C05?mi29&pzO^WV}@|;bv&20nLzwkUj2_=Dy~PvQeuQB;5wI$&)3E3RqzdM;2;i zPvXV|l@;kE*Zg~_s)5gR^{f2z4$AwisieJ-B9Kf${AC&cVN=Q!PdPap3y+0j>5A3iKZ5ZM&+k}|cZ zX=~!B7g zwV5w!B7w3gDv&vhX((HPqB*SDNM!KNDl zsf(`Z>CHO~-hg2)+RIJ2n%iqPfmf<0rKrq}eaXoud&vZS3)1ai6TYVX%ECf=(`q+c zH?12C-H0f~d0d0XfsM-4?}sBmyS(-kaHIWkt=|5Gl}$0q{>c9FSYn0SF!DI$`$*a| zP7*@2v{z`umqr5)zpWSC0I9#|n$0PFKXDm@q5@%mVl4f)9Xo^4#w_Jttu8zGXpcNF zu!Mw0;Pk*0SFzT;>^1$vM(Sg_X@Wontw2@DfvoD6DxPi4Z$Zc8(KT69Qpu@K#c2^e z1AzRDBF{8NyBDV;v@F4!mPm3q>_D#euWgD{pt6jS2=BfTKCs4hNQ#i2V^xFqIKYY> z$E9Sq340eIko#vulHs~zYzMqs8tfZ=5}k(^aWWn2#cQ=%EAFDd9!}BiT#+&iy^-C6 zR2St8<#^67N2aNlFz;c6#6&ob(L#sZI51u&@9LI%b#S!*tCHl?sab`f)e4+;>@ps5m>^N(b8-Ycg`%F~#6m97ihkQ_7s$fa(Tg9+jP;Tz8cuv2n$8(1Y6j+% zqmDLb0+9#tt%7y&mSyJ-E9zA|jNmfGU@2S?Ac>UI1xKOq$kJ(Ol^?@GD^#7b+`;w| z@;N1wNucAWr>6ww98ydiA~C?rFX&B&>l})VcF~LFjAIwX%!^HXjHrS**KtZN_E6ts zRIrV3`W@svmMAd8kSv*_WzqG`SqOcbmKHHATHCR-C*CiI>#OE@27}ud7H12)D6#V# zNdQSfi0tms^@t$=qR9^#60Sw$Z272j6dfmF57REJb!4nG>26@mLf5uqQH3%@ZB&fG zWGq}6fzKZ$LlB*AF8RO=tZR>oi3g{=xOnDq;hYVn@n?5b2mr&(|7D;fG=%90Xl~BA z#({-H_Nz+xSi}=g;5B;*T1T5g*rc3A@_78*IjY_)N!y zT+8R`^lzb7BK%F>Bf^Jq%L8%;_j@Z>z8GhBWW=mJg-I);@3I}t>tvif&O?j?L>C&z zCy5==rq&AC$QIHDa)aXULg{59j>myl7Q54B;?ju`g48WbwKm-) z9?ON#LeZncUF3S7938{QEsUL9HImm-&Y0FAEBMGtSEyB>-kOzy@yyol74=xkRB-l; zlDZSjpN$fQ8E{$N?s|EWsFl$nI5VtXK8c^PIy477;;3V4kOeW}OM|j)`x#)ZTh}x9N<9nzIbv zDJ#88=dFO=l!7H#R6kL2E%qFz_#whdNaQz7n|^iMm20-jH(_2Ixot0m9j}$_hIqU6 z=Z9HB3{*5TeTi14UC!Rd>@#uv7*Nj2V~I$BBZV?O9cr^OLqswIis#_+8HXj?S8GOR zb|0#F#d2X6K5XU4vcjuQQ)RifJSi)#vX@bCU!!Kc-Wjs%A`DVNGte26ocps`GKu+k zBD-i!T(w*5(C6+^>;{#XJx)VVl_0P@<&yDtyM?7CdZxip&Z9}(CC6kAy$dyUhGT5W z=G+r6PZM#BcO@lh8i!V4d+c~wmAlkwyJateaNS0n=4j{?CI`(LCo~4E6qhtR9da9) z_9^uoxry8*qOqLM=L(vlm65(S;nInO#p+ zNjL8fsd_6flX=aSwQ99m#;C$A=I+R%dg8!4Sy#IW;n<@o8-N>c?S6ReG~(w3t=l;3 zZg6QgIjxOgTybf^f+N;+3cNt|k{bb*0uCXccn*zYSol8bd`@7bAEF7)WQ_W>zB^R( zx|AqIspifo1j6YxirchJdH=fUg6*63|7$O{-?hJKue6ui%k7WtPwkubR{Oj5_w66r zL0h#K-mcuNz<<8P1(x0c#CC4W+SOZ7b$%n+Ch!~;S}x6n?>mCE2hD#HmR%4o1YpTl zYHZet{wcmy5R!U$JIpbQD7jM#u9Pj#;BCUdOCs(0f#8dWR*H#pC{iOxLXWUCgcDsK zIxSCJFrvib0OHl$OLJwoh|>Wx>CNIw3rYryc*x@mppGo!U~O^{?wE-h{ybv%47Bjs zNI@2waeyJpazAur%YV!##9FIePsRKW<|lEvJOVxKbVWL7E`(2Af0E z?vOkZ#au;XWs{P6W}6tG&X(*R7)&Ta_z8u%97~=98)4Q$O&w__vO&PaB;<=9pJ60q zJd?WV@Y=L$^mphB2E8q11EPczWADx30(sy-&}95-Lqz+ zJrqg)`gQHMPZlB(ZJ#8QbHz*dn*`3GMhb%NGO&gzE(xbxNUUbn#wbL!ZxQpC@p~Ecdz#~O5zHPuWz-KjEmMS8ft1^=v?;(ac+1vo9Wl@YHMGAU6mi0l%TfW zuECS{ZUlor)o7+cAv%4-Z*=%#N`3dm6ZHli9XflzzIuBLHwH;WW~JO{UpJmc;?piU zEudLW$TO^yj(|fAJD z+(7I^XW8^oKyhPYj$I+T0~lIw1e?L98Te3Cu7jQ%N5$6^)Mg>ls-rXz+d$-UO)gT7 z%i?yySsf+dcUChCtk6(&d|bp3SlrSQd$*X^%UkqA&$yb6zV@jAWF$TM9UQAa%ymChGvxdKS#|;{0i7^VLWnT@lM181$f!RZp`a&x zE2rUUB$ccGJjk7lI~2s;gTiB!oe}ve>ZDT3TuE2_LRIXkK>u8%|(pDFFTojw@0N;if& zV4~P$MfLO9dSG4Zn{OOVFu5A$WtF)o+_!WLpFI^F2YjBZXukI^<2Gs>MP(p!Tt)S8 zcXy8Wo*f+icDptBvrC|U;UW~^o(h@Nfv0gFrilm2jqI+6S2w{b9T_lX7oyaxrZFyM zCM99MB!syjgiK;445(cYKfdBE(+taG(;0C-Cz0+ZA77ou@s&jcRaGk}RCS|oA+jh8 zy9MX~VL+b0G#U@Bv3WcM>>b-ZkOr^W77aNsp6mNahNuE6z33vQOuNL{;LkLr); z^Kt$05FtvtS@Qs29q#?Cc3&SJ&WN-tu0TlK;+0QTaC5O5Q3)oUC^794k>15lStxen z^-#7AA#G#CKpz+)B@m)JSPb_NUEtR$M_xgnh93Xcia5`)1n_jV;A@ka%d4HkhtJjCG4vzMkCIGl5A+lrKG+Dp^ z0mis9CsTIEgTvW^E&vb#b+TI#Oj{E7A&Hb~x724ZU#n+)HK!96R2g-H47(h=VyqMb4-S)?;i?w zdJ;)EbgiNIW&il6gV)Du=jCtemz~2y*n!`+j0Xwr4z{F2lIqRlv@f5tXP8PSl5Acx zmiCl3hhoG|PzFF#{tY%$E*-Lk!_*Toa`_&)_`%O&V#s z(eF)mWenow#kqHb+mk~I24v77@j2rbyEvGTwIvy#82@6>uqtFB1O?0Cpx7e5$-lf2axg!ACC1Tw4ji-mtqc(IBXKRzB$#lw?CSI=V z1r^akVA3smVhLl9gwid_BjhY0-YzzymXUC1X4P83QyrA}k>wC`2QlY*vIF3i+9BUs zlN#2^nxs!Z(jeNaUz0U98Xe*USzrvyJ`ngK*2ts_GTc(I>*m8UDT4hhcQ$1n-8)0L z)TWsP#s`)ff^q>uz9axSWx<>3C6{zbW(jsdvfem~GmHoZc5WO=-5N;-D=%@co1!$# zuPM^@91+IJKQ)d{`#Ke%B)Lr`s}(LjVo$KjnNUbMPrzmDbIjqy6omN22W+1> zS!@W+ux$WeQPv`$;g|$S668La{UWzR$pJCR8D$F5L&23ZX-`c=ddgx(h8xWaE!=is zvvs~Xcy+vg@bWEScFuNxj@Sa%#uYBYRWL%&PfE0xMV2T(?#Y&+li^qrBNODrh0tN{ zb*SV51##Xc#hyNA9;kIONq8zVF)jkUY+m=y!Cv_X=HTYmEUK|{(Dbr0QUOCk zW7aCXEw!~6>Kmx5bL@(CPXFVIDQzhLE|G!W)|&cNV#I97O-kOzrb&Dn18=>9JWvQM zRIrl{ez$v5`NbEi#e_j9)S?beBk3E>Kg!hXW^gp+IFF-=-b)wQ>8WEHpD9nsz*MmL zFUJv!p;!gsB%VxZEq-#BiPn+w%~Oa@E?kIoniZBb-~wz{k5PWuHo;buMmmPlclNRg z-InHnbTRo)C;~9o=IydU&QBj@qXp~h4owuvb(g+TSOm!#k3xu)?`FbvXiq|!NC6Sh zOGJAVdmxkq@j8npCWJN_;w6$1UxwuFZ}Jv0>nB_v(F@oton*|y-I;Bw18<&0-F~QZ zIhrbrc(Es%g4{Jo8se3}=6Jmx_2pDT)F=`>Gm6=E!(!8?OLtBwK?k~Qxmg|ZJ^gfW z@b?b>yrmh^A=-JRlk6-h)0b&WLv1|KHs6?9#1uxUJ6+ZoPls;clPJQFX|#YnRn@bo zavB=Wnx4pV>6dze%%oLlNqI(A}x9QS26x!j;&Us>|WwM=A+m!Ew zpBj_#^hO1>_2A|P(+s#XpAKbN?7ZLX96oz{n-I`4XE_7RCXkO4PBOQ`q*(vEfqhVs-lx~R! zz2)k;B)A^qe2%WCt2j;$43N59fKrLThLmC>NfTRN6MeK%lt_atAFNrQO~Y!;`)C{# zRVIKX3@jVlbVr~EC)#yQ&@8U%dKxDHppiKwXTzhXUP~E8uP-Wj}^qq%ovg9MFy587AH099aAA9A_?oR zx7WzqLMbKO+K|(sa|RW1wjPMB^mM2r?e&~?pwHkt>@ezebeA1G$KT5u26YLw-t)vw zc;VwpBlq$=qg+yIaBXB`BZ**4&p+D44bG8Wv`-h+-ql3AKAYrV%&wZ;1*Wvm!_<5d zTNi7jNY|&BLSmv!AjhB`1QQ|f9V#;H8&;O<2kz)*gQzK%nf+}5b&-vk7A*;+2?0;g zNQ;?i9tUVvou?`9@3QQovc|}O`3xB(JwP&lfO-WZA0wSI6QHJ@anuE3J=Q`yjDV^M zCmDX)KGaLg96r=vLo1V&r#;w7jKAWgjLa9#X z5SWOQw7_}6W>U$BqMUfCMl>MZG}2|VRpg)Bn|KE-`rgM!V$M(5-OX@?o8&dz%(R}O zO|a*Zj$R8Ls)L)#xD>urGZ|3ae>pLArV%>cs1Gl1f}*-Kiff|_O%c@R$B|vu%)ji4 zIdjjJ^aai@9U!Ax$adhJVCj>rX~Mgm;+h3W zG(;;jOtb7Y(6fT#G*AaQk+V7KaC`?-j9mlRpRzop@kP|E{u$)xOz{h>ur%f^a;_g5 z?r+I7V0}bnG%A4Ccy1(*R{l+r6|w=HG!A|78e>RQ2$I@@ytRnWMQTBU`*{m*ZqpU7pV=}1@5=M(K+A*r=gLOF5~q-YTlm|I>dtwUYdr^3 zxemPkGd&c&(?Nl3AC{T%)+X0eb}X6BN?zL_L=-KLOczimU+Cn+));i}=C{E+p;;Q- z<$Jw-yA{JL@JYE3O)P{|=Yls%MT?Jk@>xwVR9;rlPFA67D79>%{Ez|nWvrw z=XRxlmz#OyzYqlHN%2`=>|>VO32sEWM)KSYK4%au*aWYiNG1`HOK9&`5Z~(>; z$At{dim~s78)(D_5`T3vP(rb@dNk#N!o@H{*T0QURcz^z1(m8N#-Wh^M2=GMZVBjy ztPe-wGHIT1I6cl$EA#cj{OdhHvr7*CW1Vf7S;@JqJC4)BuP9%Uchk5+y4nEGc0d8- zu7VO3o#Vbhxuv+4G0%n+8%{IwB+TdMuTP2+soT_u)xdMzQx?v)`H9tXAH zNSa_M6e0ueG%{8&L7S?7nHyYGX^fR_hrs9VQSqW=gl}efe<_9BIa0VkDS^A?`jiUa{u~(JQbg$h>Iy(A z{C5HWUH$7VS>vCuW{t*jHbSF!P(2}LPU7ZCuz7(uISUK?ux@gFzyjt2e$ z`NhJk?AR*BBc8!8KM@OD*B}d7gT^luP@6mnF*rdp6Cp8o#gju;{^BpBAFJhzc5duB zW}6b2Nn~nW=n`FW((X9AjC$-vT0@SKteE{gs(%vHN`zUnxb{NBEp6}xM-NTyjaf^X zq1Q|UFLI8_w8SY_POf!E1I_zEBL;*reponhio}iTv9ue z>{Pl=PH{X1Y}*K2!K5V1F1?>^H`8WYnRc~GJ}R3cORu)8MP+KXU0uRS)tiy}&dk?~ zO}GoB*CcPV>8^uVFJ~q@dzzL)(+UDFV^+?7)5$ix>gC*Xm_^v&InlE|bB{TU7F-_e zbWVoOd}MVlJZBWQN}v3KD_H$2o?s-#n|7ikXCS*+*Vo!5E6Y+57Y38hQkHD=Uqn9U z?9It`8m;|J^fyUfES6Ehc0hr?nw5X+WW^PU8D{-1!=Zwg#tXYIrrULP5}^%Lr)ZQl z&M0#@xvU#}%-uI9XjUFfRPlCg!#V!?>+O|KrG>^^XmMrxle?zXt1`}FTbzn5IjBW2 zxput}V3`!IXnJmB@+^qNWXsyc2aWMh(WOWSh&h?YeE_0nrHE7dtfi6U&R3k>Ik>`X zaNC#-E_gq4wLW*5v_E&Q!R$b27~AcoCXA&P=#0{8F;_c#z%9vt^wYuN@xiO(Tf{ZV z9Ce@S&mMP=vNx_*nKSR6co~Phz+=BYbdsAj{{@bhUA5bTk+%+Xet!7j)2w2+m~&ej89RzUM>#^@T$zGS4KbVb zyG1}~2Di1|Sr^dOM~9cc+8S-yWFMa@3+I&uuki1I`i?_ikW*Kt!z|6}O$vwShonl` zKe1@(wDj-x@S$tmD&k2XbKt}ro{w|YUpl*HOS{XhuTIpNO%cCIR^X;UyV?56UCfux z_w=Scge_1vZWa;c)wlANO{b66JI`OYRd2bT#Vz&G>%`w?d4h?|{h=(uT-wWT)N12# zz43PCje@^$pRP3?zm-5|?d6;Hnrg4R6-Na_%?@wQc#4~F=97ajhoSl5e{aZ>k~k;X zxF*38MqiM0;6N2O?=>F;_DGQ~vXleHm6Jr`qN(`EQa*T&=@y%F$Kh36# zF$A10ZM+9|wMBCW(s`R;kW_3|07zq*ypj!@M)~70WxPoyKkU060pyx19s$ydqnNkZ z=XGQH4izR;V}aU7y!mkY-)^!!Ab$U}N$p}ERX+(_LBj!?b7vIvZ>l1HL zSBWR_E&YjyXsxf)qC5X|6a$IeZc`R>JRUY8xhAK1X9OlbNxq?zFpayJIh6SZb7OdR zwsEO#V;H?G8A%RW#xq!;Qe@*`mf-hkjPB&a3Gc%%G=u4%RC)fl5yP0j=mJ*gMTO!Lbu{$_*5D>gWhMl{=7eh)qH*J*}98YQq@r zd~YylcxmE@K#L}}v>r_Eq)9=WvQB=Rf{Jp9k1_;4Q9#LuGjnr)ofRT}~)@CU%z#50BuD(0$$ z>uu99kURQm@A>o0Ss3dAwdcpXyV;lOv>%?OoAmPO^POi$F8J8GSo?`uIvY-Z0D=du z#twY#^m|50FIdu)w+miCepkGs^&!%=-Y?a5ULPO4*!laOYu(}svTsZ%N2d+EG%{`M z9=v=yzm3YF6DtjN>O1(-kg@6jY2P<1&J18fP%}ajgrbmaI?i89%429Y9r=v_kL6m} zq74aH)X-Tp!SYbQOs3LL))RH`|0Aqta{R)OQqY|FsqYX=~6*E=wvQo8IJG+11dA0|XdUtA+ z1|LT52wuD%O|!(#W)~POg?W|O)Jc-uGL#L+n>T) zW&c^Lw?$8>ef_N7uJx)#ayZU)%d~uM2~rcH5$E4DG8*_rkcBcD_>S&5j(|oBTC3jR zkelMcY*Hm`05EUe8EZ+AQMEuoZLPX|Ng{)!FuvIXli6;=A6rvfGH1zdu_i z&s_KRgD5Pnvtt(Q40qEJR(WnDrk|rRriUZaY3*jIQ&gPlUT7z!dtGpfGA>w!jKA9~k=t^D)e;nDuVORtXBuzFRT#JGRVD~U&L zg86aOci(lMA9wZ+o>mNZzKItAD~;onCnc$Dj4g_x8TIh$k_IGlo3VNm<9G~x?Z4bV zMp1(!G=eKK8tY|lx=lEdZO4(8R&^=OR}(gobTzz_+*od4ZetP<(TE3Bcow3mh+Y8? zi2oIr%C_b0?*IIXnX~IH-4|ateO6TNNY&k@WqohCsJ2o6K>n#!Egz}dDvT;O%UiCw z&4un5DZki1da-l7`;(>z8Fy+*`0im6#MfcWE<2h#OB^*N6YmBq7Iu|Y8K97Lu3JA} zycw_lUOyQ{!)^PUvk7KOQ6N|U5y^GUFRktB^roW@YP&L}NsA@V=po#~=nE~@FH#vD zyo}#FDL>CSGWb{vl24PQ&JoX<<_c3MvXnMvE|Oo7y5k1_;ve{L*>%F+@_dm=0m%B1 ztapx|%1)%aH~h&T^cVlYe>dH^y@=vuc0Zykx#3U#puhMB{=13h^`o^dv-@F9$_;(c zU;G3A-JH&AUvx0Dn-@jK4S(_n{l!1<-%UKP8?7;!-4DvtZ{QF7cQbdNNq;lDJ)^0) z(cknJ`Q#7!i+|w1o9VoMt@>xq-a9PAD=#RZ2`9{$p?OO$uOftUJ3p^^A?=D<_R!_$ zgyV20)85Dv|D{kl;eHoT}ZM%5A+>zb)kL1h3^HmlBpYrJ?J z|I`7C3D)d^tM^}^WcD2Ue@Q9>sr}Dv&VovSKd0iH}QP_F!6j;AbmU0$+Qs^#ko*x-+!}S zaf$RyREw-k8Mq0!tIi@5g2c6A3TX)%R*Eq+(K87^V>T7vroQEclU%FJ?AFY_G}#ur zyA_I;rbCfN8>WTq2kv&2%?<){hubW75tQ{nSK2Gik>Sc}qHv6n!5yKEPRb~2hM31# zvQ`!)c{HU~0|Kb~0i$-8&c^>=G z>4Y55knSV%Y??>ZB~H1*`P6MvRZ4^{aej1WNKQ;XOvGeNoZLBU5jx`Dxz^~M42GvLjMG!Znb0|=ZKb?prZ~<|Jn@>6 z6-hei#HnUkXc2;>=<>E zSctq^lqB0SzUGS7xK-8n%C{16mY@#@^#mG|oW*A9PxqhinKaiV%nh3TFmU}R*!oti zZYAAs@oL<0Ehu$y>1yZ^8=8~vol`c1{pK6bOfXXSe&-jS4ZNDMuDQjT4lzBzU$;g& zhDB;jF?fN59-H5YqSXEGzFAe@;UjHBMVbt5tb-x+)tXvY8|q$Vp_g#PPK-Qli(u02 z1$uVXtb-}eRCg&+;Gh@ zJ)2Bvtm=aEft z>_AFDm7Tu4r3b`|Pdk8eJFx5A0YPUK{@-*W^I-^w5xouqxH(`7fu>q@MNPIA?W`Sv zPtWTC@WU2*1i_=0BtJ2o%KJ~yVtOuZ7VgB|u?F6R|Kq2l{74uq!>%+pGx0z*lPXvE zT4JTG13kL5a0)54Cyeg|cy~A3=kCFa7dtPX95tDQM-H{K`{D_%0tGCsGeJva@^oa~ zWU#y`jP9X$3pFqoV(LfcaEN@v8bF<|D*17jD&SF?*NIP43aGI~F)V`r7Z^_s3{Q%J zqP1)QjdY}gZU|kD96-BTgO7IAD<~a!(WOxGCC0ZT#H-dmt~WM66$R8V_1$QQ*4r7w zHSjNl(Yhp$wl2G5>H`g;&;BV;D7c7l-2IF<@r0R@i7kM_Q6ZnD~AI!WrzA*3iws+ogi>P7|c)JE!+Wt^P|*10%ZBxG#2SC$u= ze3Z;3vVc#TE$3O*z~NiAMFi55 zYXI4JMA=#;UMy0W=;~h5ffj2Nb}mz%QIF-*yaF?d@!D*Qz%z^Fw*y4<)maTVh`wwf zK>Em|S|LKO7!j#nbF(6}w%H{ITtv%D?gpuj5)F)+ri8c=%OIMv~*jpMw8<3X}SKSX{~nnN^$ zy|TTtSSX9HAve%u#S+VZI6a^ViZLFj;H=xF-1e2s!jvK-PyTGy0_&s>&xig3+8@Ic zJ@4+a*t4gje-Z^arl2LY-Cerg7Th!~T-w&dUdLzpYU|k~CQu@}8ig2%Wc$4h|3oH+ zySwkR{m&{aMc#XMXn%86RX_H_;fGZ3j@}L=5=e4SQY?b(k&UgbQ@L@FP1BTiWHLS? zySpkHUc}>MNMdJ0QgA*vt*4-%>%fU=L3tGiuBv!7RP8sKjh?A}n|aiB+mOlIvU=TZ zgP9dn*|P2%Cp)=WHW7PLGCVR_NAT84DJDLopY;fv8KX|{E1ok%MOfP|Km9~frEGe|3|5vNW85>-37+_vZn8Ae zNhIN}FB$|^M$~r-6m*Y$?IK1eQ_M|3&Z5Lj6kNYp*SUdBsHiDLmRRt--7>e=f|pco zI@F1A<5JS0YU+6IvaIAp-W#u3qU!=0Wl*gwE|9m=;(|@IM1jYu>|=gkxZejXX{S<{Y<`167aWE`J#&L;W2p?>d27UT_A`{*vlr(^Zqcc_b7R5kaxY83BW zC8Nx$y*fO2cDVC`<0)yG`LcE8!{pPi*m?EIfqHpx3>2qC8;e;&_!Sb=%*Y!io_!UD zAGDf76gN$T%9jXhLX*DQ-<8odD+qi1eY&(KByCBlM3 zCR-)8;Yt+=XX+y6pa_B~hOlBH0Y~7Fv`uvw^(my>kc7W5WRw#1uU#t~9KA;e8}hAg zS!FClfkbsoyhWm8Xs7`>d>;SQB$$N-&{vzx#7-Iwe)QBQY=46zW$+WUS5Y|80wO$%e?;R%X4Or45rxRTjHESWpP{`juQAi^LLW~^FPo4l z0Nh4RV2zoGApk-%*She=(v}grrXrV{Vi961h$JO00knx+$j(6; zTQMO=#42fpgDde+j&KT0ELeVnq>Of=n0K4oq7}gNj?2Lt%?;@c13>HbO*W>aNB21J zic`mC_ZB-i8H~2yoBe29=JasyGcf~xr~;GmJDYaf{k~mK{)KjX_%e~RZrP0!gk75z zaQKK}7+*vkv_wh!AsP~0SKntZ(c2Hp>T-!V!pJhc&0Ey36k}W5fjeMZ+OS(AT9GpS zc|>c`ETP;#hiF|ii=!h%YZQfu#?C1xoRKCYhpw~uQbQ@bfaCFT7)J+HQ>iR!<^ThN zzzIJSwvLAz>vu!c**!CoQp9;ulFa0ozBPJ`Wx6s*@`K|EwZe=H8PnQGUe9mnGdIO`>nYBSj*y(xQ6?;?pIZ} z?yySvz#j6&*D{(No{gBZLvj%FHAj}m*ud<&@r&rg!!bz=v=o-;4k@gW8cOY-A9r?t zd&c-o2M#folW4(-XLo6BIfJK(q}XL8ANk>=h_0}~Fo$8c5F0M7V-5@3$cv-jj(n1O z*P{5P4Yxmj(Nz0G7Hi>XC_oytSr?;SrY>YamefW2PMmQ(^p;C+=~6r#k)pq#2AUC* ztBN3HXu?v-6srquSL0-wG9k|x8{4utJCMbKMrpoWdD)rDMrH=og&qushrP`NZZ~`s zYRLNNVH`@&NDd0+HkR00985-EP)CyafFesHEz84jZcIu^k0LlS+LbUJ*-??!)V<)i zgCmgni%g+BmG2O5M} zUd-{BaE7gWAwrD(7l<4<&cqIxPW4-O|@uv#oSu~bSKJmg`8 zFbl8e)5C)o9YhF6d#}{-f%$5l>xUUwvhM+)H2S|gEJ@>c1t+|qZwF2xCp-c?7^K@)%Bs`f+FX@A!GR_v*PiINZmp_XT^tr=`OpG0)f}C84^oPTd@P9$g!;VO~z%?5Xp$}{ih0MY=th+jjxxz0q zft;2?yBHQozzWcG(;f-;txsd78TQ2xm^n$DHzuJmHFdXWXw1TK?$ow_!FbnzkrmiP*oW6lSY4AmJ7qC5fkQ4H6>FD(3V*e*^tde9AkFFxi4dY;cX z>*YF`Wy7nLW-7@P7=QoAWv?RI=sK`0c>M z6Z`%XFh4KjY$R}7SkQQ&6c)5{N=qh~#>^v#dJZ$N^->0wviHiZ$om-+{KEH&R&{4_ zq$uAh39tasB=JilxUpshwQQeLb60-5fYr|0KYlisUCLmypyw}R zu#c_9#x0m^XOmc~_sTPS;oRwzoM)bSi_cU8`zS^-;y8#dsydgr3QMhP>f&Cj!@Kp= z(h2E$^HO3XM8?R4WEw7t&whV~^%BkpaZ*oG;`n)IsmhQ|+!jekHKaENdAhe z`y1j4Y@%!^#;#$rK$PS*K><_h>;f~qW^Zs={uVC;aNj2wvoDss!U0zgM2OA6gf5ww zQ;RtJ(xu^`hS=9Ix-9J_Max=pz_?7PplyT<5P3nFvK^u4;Fv80#C@Hwj=OLk?!gtMuzLrLl`Mxd0*Zmtz5FCV7LRkV0UQXl~uP)9~_bH%;_k@%LS=CtY1fZgJQ z=2k!*2V2cxOB+OzmELEz9hB<9HiFnI~QTQfDxz5u~RX10lrIpPpbt;QFQ*}2}P{z}kAt>`t<(HR{ z6%61DpCVM@&RmtvzY0_fb-IqQtT8HwmiPb8AU8)!$9F`Tl+K5^y9(&U;J-*f_xaMB z?12B*KZ??gtFNnPDTaSM>Yv%ry7GW*mEUCr7m`+D13{NQo z<#m*19+KdjJA-+0g1;eR`M%EafYCZ66gJ>8$>tkJ9Zc9EiF_rzlDN8g0mXEqHm(@P zVN%N&rAC}|s@monEqV9hA_3e=u{BL(EO%il3+QwNjcjAvm4)o67i^|0ECu@jed!=7 z#Wi&QZe4!IrIuIzoJWBVv2K zsFYv3iG zlfoi!Mth7@O@6T~-e_jQ(F?~{RbH1lAmimXsK5=3Y*Ob)o^lVZFX#wo+HKTwf42Z8CW~B-E3W`iqox&ZY2CqJcUA-OU|t?yjQ9?b7I{@^s>dI_niMCO}NW zmDU5|FdA#0O~q03BT2orsO`2X&Ybo2Y$OcOiB_;1Oh&6i@A`?esS=UPqyc!--Fg1<`vbj0(7?}sgcsc9SwbH;Nc>E%xQVHJj66uWqByc<&$RQ9yE9azz=+%3j^d^1 zCps-cvYyyZwv=rg-)NtbEcE3;S;z?M0;a*z2TA7e1L-dd-FDQOpt)WgQ;+_m3xjU9 ztpYO8Qh-8A07{(~%Z|w<9Yen`uboU*lG!PtQcNbh1wUvV5fMf7o)9(5x`I0ls+4I5 zDe2;dEKLNBVVE|eM&_2cRFkQb8*5><(z0Z2KD4qU+^+`fpf}vFGcvSUkuKmT32b;QtoXH%rSm?`v<~25u7^?~s!!tEwCUzVkHz8qYzA zzbY}V2nk`#e;YxkIyWB%jk4OptQZ`u<>Vh6#IqEOUO`KRDK41zp|gl(Ou`FkvQqKU zx=&IP#h*K;l#8zD#wlPIs~VF(;Shw#gR;p5{iym7@Y0y&_BVvNifv0dTau-~2bbx3BDfksFY=Jxek z#-}#!E(TAk=#iOT@!F^Ry-~OhCc$dAllb$KP^)-oOms9u_ujB`Y>3qOzqlMoA@vbkxr+YiH{-xdMKLe{9R6SnU#B< zP@F#Wr5MLV1_Q+;nPg6N(hg`Z((cH=5Rt@HBr%Q72{Z^lL_z}&KM=(fUL-MQbiv55 z90``p-tY!3IFDBhVQz+#-UEZ|f@)e3r4hmt74xeo}8@P$RK*mpybR`2z zWOqW{g2}D`SI|Nh=4yv8RL$N2m`JWXJ#Jp)WNRYpZBMQyLUTytdlzj3)PO=IHzWZfT%qxqXbL?+0stk)ABr(_l)%zS+UuOh zy(pQco%9?tn{O8|Cf=3xm3Mb*{3B%6wokdKnqE6aRgf~#ut`_W0wxZ?aD%*L`YNB_ zUNx6BniUHlfT*N|U=ER4&CY@-Oy{)dNnp5YOrm4=jZ?03GhVI{qlT#B?M{?i$&gIq zEJW%d0kNh@7ut>}IdD>S+o2KPaEpVJonp~-f~gr7Gz&8W`)jsFFZJ#2m|I>fCmc&m zqL4_X&5DuB{paTS7rc24s`tMTV736At+de9dfMj;vVTFa5^*3X*^CR z?*2D3GuQatRnC~XWi^XIHXUc+lLanw=v+XfB#p7}MvvmlptRDvkGLH0w70v2ikV-x zZ1Lsrxk$dIRcij7are8%5Kq~874cp((0n15UsOl3TNY^uizv5#AG1MTt6r>$f&#E8 z?6j7FgX%3W7G*D%&mzPAbDR9a5l1q&FtVBTD)_Hpf73;;{HR_tqP(wGvFTuF!g=*203^|hiRl%*Bj zd_|atl>k{lroZLVV_B%~-YQzERcrDgIdI}Gw}v5IuO=i=@7cS5iUa{+aa5r@b+gIr zOd_0S#j_~Ew#^f(3igQ9=v!3T{k3WHI_I!czw9LN9$VI)pmETDFqwt5J&{g%a{I=r~2Ou4AsG#iQnmEF`P& z3=gLLNj&Py=HnrA&8Wmm0A_{|V#rR-)Z@NYa!SK&4L@I$ttCnZ`%lKJsqUbe1llSf zrf{A#VzKv<+*TE%EOi=6T;l!K&HU1>KYhOQ%r=8dqUaGH-2S!rS(}vv@bICB4~r%| z`B+gXdms!PaeDy04}0Ob7kHV$47y;qcngLEQ3XIi=fvcPKe=XcqK*VmlnI<{ziq?9 zYNpeZbP`Xd6J2#zLpy1N*eU~75@;+PZM~9F-*cHd6zV5I;bE1m?4OBvrM6Bjuijut z__u^|ceG0{p+7t^dTeahPg6v?A=J3)Pn^(RA9Il_eLj_#hWe{*GImli0UCEuZvSZ{ zox25!^U=akld;6g1=P)B2`b2=rHrvrAuD%@iJ7mll#Pq4#FaU1OqgCb)Go$Qz}tW=iFMadWy~%a#`dA2mj|_pHa0`S(lD$8W$qj)+5Daa`{$Wi zBe1j(-cDf)((}&*H?FMSJm3HE$^Ie3*{(P*(2!*fSUb+vELkyhWe=}sZb4!U8yF!D zN^@t0m5*(f<5Z{D)F314!QqW%sS(ddW3rSQjpGZz5ogejQm=t|qBt6j2GGw9I0u1F z#u*cDr2a7_-gHP24KPOZrDyr67r$_kWf?wmm8G`Ye|dDg^ZdDU2Lmw6J2#qhGWM1z zQ%w_8-qy$xHrZy@ijx=}3degARm5zTR!SNOu)m-?3OuyoM_7@DD34lpIDDWYBG<%j zq<_s=1bd)sGrnp7P^edjfR2A{AfVuexxW$4@wPf6tOU)`_2tfyM>R$UAhEg3Wn4H2 z3L^r&;XvGD!^e*RkuR(zx|@GIdeXoaLQcn|H%ZfuAtiheL%!Z}Az0wG`k63+RpHRQ z{JRGY&+(~qSNgDE7=8*{f!1+aIAQ5kd{>cVsFa}2AVa&mZnyqbZsY6hS~`l>4o?uD z6`|O_zc8NdYJd>TjyDfmE~+`ERQwxkYnPf&v@qBNtSLtxm7 zc%_9(KbPAdki{rTQv?aDdxFxSvHEfUB>}B6c0(r26J8CtHx}tF5#e>6PNG4|k$@_y z;Gf-Aoh_I%4@<%o?VLA}$&AqsVL)_6{&vPo5+I-MNntUFmDh%PaBou;JQ=1bZb_=? z#t1HB`APR(4+T^yOlWYD^yx75CmpEOPeQocI`SMFi>^>e)zCYEZZjzP)-?%0T*6K-~G~F5g)DgF3f?B}MQP zYhyEjai;yqX-0Dmx-6qdz!w@!gwr|=0fB4Gh@uhBPK~G8eM465T*DML2$CG8Oj&Bc zVkM~sa1WQnQ23-?)a{4tfirOiX{4dVhw)xum?{)tSs={umVyl3r-lR3#@0Q}wowc8 zm5dd*4a9gM!4Tpr4?UYBs{vZ$2e-X+z1Q#4MZnuhnM%oS79j~e1X(yTR0l_`b+t5v znVp`J++isB7Y~l2bXl0tF1iLZsQI_EN0Meqton$j;H?mgezIofk^UH1dZ zsB{6$_JBUgcqwB&!i5g7vuu%(xZXT=+QC3=Q{rDvBHw?Rt7CJAZ`51w~`)4~?2^$UFQ@OJHD5Plc_^z1YCbR=ckc5BFXkzu7$8`*|N@ zEWX*?dA9fVZDD^JZ1iH-SoF}+8xrOjR!=M{=~`LE<{Fn#h=kFP2J?B?fCAXDiwI^S zfqh`~rz;Q*cp7#iN7R8|jlY@_;Ri`Qa1EkyL$E-1juZr2?AsQ(vNFPy+qcMtsFB@W zzZug=risj0R1bI`_*mNAU9MCxdLp9uS|*3}9`bL{(zP^T z+SkPN+hUCGdp;w0nZ zaf(iQ6s*Ud-|6DS^h$ShbBirQJ270FMd!en|7jzt+b4u@P9nt_9+eb1#BzM9oN z&Yk)f8(=#ICi3W@x&l0BL3txlzFo|1IHNA)pbVINCL3ky-$Geo32wUo!=cYY|8G)T zl<6o`k&dGBC3F-k%f3>|b-IX$7hyk!vptH$gNVdCfzh4?UW>jb6xvN!9P`v;I0}J< ziADqa2w2LWj6LE+g(qm~$hd}8cNB48QN5%{rzrl3f(t~efTu_+7aHzQAPg~L9VxX- z(cz)O84UptL%|QDp)^)5T3fnl^pp5H7Z%j$A>AaAp1zm*8z!h3)sGWG@mk|(6rn_B zYtgYj5F*>NCxn!GjzzjV0?*F;lXe$q0D4%1nXT7rY3m)I#}<%4<4x5X1^?6$6Bx`N zx6RHNtZDUi>)kIT8jp~10}yW2Tkj6(N9$u{;it+%FXPf#yV5mh0#nO$K!DdnKXknA znkz33p6r>oX62eIg0$L8Z{Df5EA3?{+IkYPBZCN7+iTSLW-HJExLGs)Lj`RFyjU4} z`Es!`^otp>GOU!)yYa0smJpw4x(7WS3?t)rg^_CS>TV^H9^+#56Lf~BO=KD*R8_KirQt=t>^vijFPR!5-$P(i?m3xg&D0d)3n;B4 zHGJL*E_h_eLS|RBzK}wEF_Xi=(Se!GaUw)N3m;G|_x#NT9WcqWktwjKQsE06_xo;- zw}QZLblH3Fp(%t?E=licru^G>g)~ZjEfHg!!|*9S6|m8cp)h-+=yTMrwre%7XuE3Q zK|8LvueY%Vbkwf;2DG!vZWi?6n|E1%=|#>$YFK|j?)_A&XvLc^Wi1_{#fd*rX#)sI zR$zss?AAaP8v`9N&(dacau;?6;aS|>uF;2a+$0)`hu74xGSY4DRw@d@ zZBTftrlMwf%Qgl~n347I~UwKqcs znPgBk2TMVHI4hLKq;%)DG!d}CNfow<>Lz?3{UZ*_55RJPrGv#vpUa(_{tA}?z4XK%QHf?AmEr;`iDbv5@P$A@!5JJHi^E* z8f!O;>|VWdlR5KkVXxs!=0q2qV(^P< zj|V|gS04e&%;t^KtmYx~g#(w|^EB%FW!aCX_ldEQ%hbo-1y^M~cc+;~u^RjQ6Qs1*Q?cc>8bvNm1A< zx8|1CNy%@%?lt;ez^6bhM!EN=an5o@vQb34Ku=9nFMUdroGcwYSH zR0-GwI};ej$HNz&#+XruN>+>AEIi0#1cJj&^>;+o)@4M4FCJ$fIAt-AF_ZPcGQ1>Z zeRzB=5Ph6QOoT3C`yn_@+r`;1dYYQWhBD2nz@ju@F7)?Gz+#%98ZezxG%lKNW?Xd9 z0-W{raHtdwg>EwHsO>e;CPFOh!y^0x4^jb>-fDg&8Zkj9#URO`05ha?3W)-aJA zU6WlOnhc?qYC;mUrgf7lNrVJFuU7KNK#SXT&+J)-s{1kYjoU_~wb)UzfyWt|cTS3oSo~Q~T1d9~HXLnT zbo+H>goR?Hh&mRzrbq|px1}YDbY7;CKdvAaASuPPpI)Giast0G3WC&|jyckT7?7dJ zB|&>Bw0huBrqZ-AWi!iu8~U4iLSC@Iq9O1r1%+g3)oDcO;WA2ylVPd*Dvb#a<6TGO zRJp@=Wcg-~2H2$@+T3>-4$1wtgF9-*#xJ(TEQESfm5TB9VVCba@}(m`pAT8fO-uWQNh@_5+~HBhY` z{j~S|d6oUlg#kr^&m09t~=!%eor zHCC3@=GK;ikJAtcY4~cu!IR+>#rlo?z`nV_LNa*Y34s=ByE-GhkRhfhhVh!#L!QT{ zlbqAhuZwj@+ncUn*L^|YQ4}uNaXtb<5pv>nHf zM^CJloZX<%A1)D$!(j(>$Az6bJhm~gzq&GJkG z@L+wr=;p*R6$(Vy7Nx4V1n_M*c#fHE)Gk?$x+susZ&?QKtaRganK+x8U2h%&oK2<0 zBD5Ubp(pTdoM9k+41P>W1e{{F2!_VjOH_rQ#k!&f-Y^-t{{E>S(p#L8IBJ0#Nn1N9 zqTUpbfzPR7eTPNU?|y}GQwRfk@3Sa+Ewsg|A7;gDVsSYxpaFs5M3jFTu#CLP*~yHK zv`mdw7Wlj{-g!A1n1u+`TuhK9`Cu`8z%A-{y*ewzUIB8s%}A`s%xb~i+1%C0!tjO~ z81N`KnE+H)4mji77VkuH7e2x%-V8V}w}6Z? zfzcnLzbO-C{!xel-E|$Z@*BBQEU0sU8*|fYnGm+rqQ+^aS{CT(2yqt?_9k;y+7E$7 zGOiF#D}_m`f&lo5Ku^zJKV=yrTotQt=Hm60@fdA7aN5(IA>;_kH_9^l?d<^;B}F=Z zah|c=N`~&46~~(U6f1;G+hwt;ovw<*T|3&9i96vs#$N6gt~9= zzu9U0ci8yj?Iu52&d1DmO}J#RD3$Wn8WQwa`y-Z?xPJymLR_}X;L;sHUbQuf6QiHmzshmW_!)MzV zG6|(o9UY&p+>%bG*%7fW`ri7xZi8j#5V;{Dfkc#JQ)PltB*2y&WR|CvZJU@Lc)e29 zQe#!+)4f0(ju(n9S66o<<>{aqx{;7!+^ga^9A)jFib)5=n_ z^*2^gmwqj4(5`*`b@hEkYktsSFmxp(1ag#lMj`()ouugghMtfxg6L{Qmh)U2V++!) ze$whnh`2F1{iS4Oh`7)OmvsEv;k>cFKC85FoM^t!5LYM`}qxxqn^P8N$XNXcCcRrQ%?M&}^DuwgHJ& z!WjaGD!N90PHUIS6sxm0EV(lKGAm0ReQavOSxwn%G(-`aoJ$XiSl2A0=W%&PL!-OH zaoIv77h{PLmno-uFfyCWjnqFzP`1E1Dm=7iKrjRLMrWUX{kKdXfBQNYI3hb-gx3XS zIQuWtt29bTAZtXy?T|Yaue)QWW?}{AyOTW)N;j1&sGuE4yYR&XA3`bng|)~(iB1y> zxU|C)(dv@Hb!5eFsg}Rx?4%un(Yu~B;kZzoh<8EJRmueJ8s$Ty;*uGSpX(C7HFkDQ z0Mt#5kGjgIW5GW<9!h@jB#vjtb@98$b{*xoyAegaADc2u--eKFnPHpl!l;hybP>>0 zwBV;EU(A){rb1bmnF&RwKv}RfmhM(6BQ*qgsu?cpL70B^1HP*CWo4gWnw2?CcRsUe z{o8{IT{|OhqNiwNlCwH@cSe^g+yHOgAF4)5iFwB<2EgYStgJBX4+9DN1eC8J++ zU{fEm7qm*q*^Q-c&vJB_6i?Njzw8{5t&IU9(<%kw=IDVg6m zGOp!Btg5h(XJhvdr+A^`hhE5~xEVEJ*GAXN4#Q>QMMBA^m`095QFu}y6YQ^U-F%o3 zaiCE)#PFbi+(5QLS9D$sZz0jz?wS)I^wuT+PGdo{vo@0ZB9L2rPZ8aGm zm{tQ{2$MZ{nX0h6C})mRa!p?Fcly*Oc$;pgvP>WIEfm-iWL&ELKXXn+JI5z2g{wYAo5#A& z7tb=-P&MIlp)?gx7I0*p)uk|hY(vuxEP@%J#Y;c_5P1$elB^6bdTmZGCUn?>Y@?_c zM?kQ`Dc#PAMiJq{K!l3Rxcz0^Y)T~fSU+%=Q7eyUq^~yWVLdQxL`ag@5{u?=f2Jo> z#$ag0QqwC;PTP6k$>GSX#5|`X{3j*0=lUE8xojBF+po6YMe%~W>#FB%>j|cImVLGx zm^^aU1TZ(Tzmhd^oB2Cm9+~&U((MTSCL&ij5>^IIvJx=|v6ia9bUH4&s3SYWxab&> zqH}U>LfT89pxM$8?S!BK$d}E-wIdG#9_A@vu73On+A=Ko*6W!yunE_TgvmsxI+0k6 z^hjuPF<10YCMVy^Fhto!C98aI)8Pr9ND)a{mj@`C%j9?#ywCJ%&66#I_LUh-+39fn zMaWl$|y zhXFACjbj7-?dw1%yP(@TAo#KkJNESM5*FENT#Yy@O{Py+74aab+Ps*x!pg3Dr;gBJ zz8Z(;;yqWJ?%2c?PIHQdA~+ol;10q!YBHDhBkO{);913(<%-?!Hr1--?)~c}drXD? z_DAoWNdET87nAyAugEtf5RQ(`(gS2S?#Izsiyd%q27>Zn?#NUzut^I8o7BG6Ar0DV zR;;RtE(u3SL=})*7=N8J6t|}7n4~6}m!+tI+E;{Q-C_f%4-bdem*KT08(c!T?hp~# z7FX(;u2{BGJe<>}&v6N^9f0TT0cOIk=tXJtFTU+9Vvm|;&R&>Lh$~bTF z<|udu(cpx2oe14th%vUG&omYknZ9K-;MwG>EU6>&ksj&oP|!Oy#uwiCf}v)uJF3u0 zu8XV}cEG0bUV7@9j#<#57zAcUnYMzgnN*4IzT?@gH*tpdfi68Qym)uD+{*@)NNj3UNSydJXS zDRq1pTz6c$ZOuG1qu#Eq>xVS{?b^qU2GPf#%yUvc+Pl@O?-FNk-i3`nb{hYUo-$u| zh$NFHc%0h>kl5?fqSWmASO*E6$O~#m{nHs<*)LyYaK%|aIRRdbmkuU2vdG?!ruNZW z9$5cw-l$QCFqR<>Pf6U=lc3JD%iLALW=kM*p3^NHe9gf8iSpfVUV0h492@>-m#v=S zw2Q{3EaB6!pxxYHvfw~94LJ{*%^62Gh_@!q;h<80WKp%kjn_WX=cgm{?U=2BUWMb- zkuy?Z$D|51t+FyiiN%s#ANlv-|g*XM4-4_VeB$ zh9ky0mBsk97oDn3r#tFTQ~a;O0m444*%4m7#j=^&ghEiIX! z+uQ2iGCh<>FZN#^9Kwt5@x?N(jxGE>KB_E^#^Ko@RL^#IRWA85Kx=f(3=f}2} zFxWCsJVNpi;COy*vM8YxkLBC6x7@zwgv=Qi>O zYD(z&%jfGyuik56pKgt~3DdNd^%c?by4XBw-Zo&CQ|>NYPPx8z{R=E8CHOV(UJ^dx z6{nrQnAP{+LwB?t+_sU$dADP9)$LCy{?5p~BWH`uBsJ>Zv%|ets&S#JYAM^$ za;<8h!2yipAkzk=SCx0>Ti{49GG-t$Xv9c5_lQJ!`HYcAWo>=Yp~I!E!zrCdCXWR7 z8}&@`iiM0Hi9axJdj6{%so~HWP;$Zo2cuVw!MlQ(dnn{hHp+kdxVo6l}=tHe->4Y6{_K&5$mw zr*m?GAz@Xo@5;Ni787~^5|nGBY=X3yb^=)?4d07n;G}Z%bO8f}9i4tiBGk54g>`DS zc3$6L8Ux-&uhX`tgYZQ^(!3Rbuye^M^Ex{L%FCTbl%N!2O4iA$o0711VYg2rimW2S z8ta?{vzkV!+l)J28tZ$bU&{`UBUR`?!SCHxGI9jJ$%4Vp05)C8FJ8E;bJS#6Z3wU0 zFi||GCVMIXGU~_O7?Z6SD^rje&6&Ptg*c??irq{4(e9$2gWih2Ceexlr)u} zm#+!R=-P^Ihnah%2T-_An))HSdQ%lwWQ3PN&cz$x%TRYo?aw^cV1&+iCbtzwpeq1{ z?1&hEN{8UCPcijwH|aLyyLa6Jjoq%6QrYdQTK~S)i!NG23^!FwbKhj(N#EeDec($0 z_AJ4K4~BzI>xpV@r7is0X~8X?CE7E3Puv0m`-zWVZwWPbUG0Cl^_{akuHB5bWt+P! zcUqJ$vm}4*f_yTI;A{brBEkX|E(U5RKHwcRM)3$+@7O>jLlq51lWS|gXf0fXOoDbc zvl4*YbDE#SN=ns2s?uY>(Aq!cC@uo z1v-6b0|4!!3`%$lsa8lFTj6lv50qs_trhk1;N_lLVRSd6de$Awipm4zTB}+#zRw+b z(3TrLBg^V-CMrcUGd17$UH254)Aw^l7mmA&1nh@S$Dp9I+$%xwv<)X;+t*O{=mGFs>!u zm}S-e=9{gS3r_pDfc#spBIEo|RU4q^mKDDMM5yh`NA4CRmWlpyF3T!bvQ-{Z>o=7Z?T2i8~rYwIHUZ` z{de#*!4LaQ>t6a_YKVFfRf(+|Ji%jhBl5YVR*ixzwmzP2xWwb zBrd)r10gdqV4DpF7I5Nh@W_qSfW|_ts3ikqdw=_TZguTyN!Xsu?mqEMY;||lsr#vO zKcghU&}0%;lQm9=ubv+7?!t%m&xgl9wvG>99_*;2&ghFNTMmTN+zX4&* zd8|L$dOcqQs6Ha%TKEXGz*jc$1KR_Y^Atc7?G6DZX)2ZNJ+RHJVNuqF5_Dj>tTVc* zkOQ_snI$q=6djEsHEg2;wsRsal!A<*E!z>RuMe7QM0zbZmKzuF?mX+RHUs4L3EgHrv>tUldNkE^sh6y|oJL8!ESWal6W zgk>k&)&>@RMxLb((qUK8)9vkw+jygcQNhr)3g~m1qDpWQ9ZQZ{)pO_C##DjItWSFv zsN}H=Ve)YbQdBrs)0ijL@6)nNdtwJn_8IG#i+opS?;T;729=Kn%HVhM_VRj?GoTUA zy*a#Oe0i*!Zep5A3JS9A>)1nmMjz{aaH1*zHG%0v|MvCFwxWuefUlJRQrY3>8}+|@ zxmFE-@|h$4SBxhIlLh4@fb%OS&I z%UF>jsZs!z%M|Y^GP6XJj#vz)NJ8B0b)CVq;G+*aUQgXr_HR zm>`$T%8l0Xvyuc(gDLEyJ4zxnT*lPGKa){P&aIOyS~@*`3D*+PYl~Qu9W0+6yhJno z$+*|g#9`Kz)HkDJ1_-qXb$e&`WczsU z==AV-+NwGIuosPWrtpCiG?f+=7iHzbh)|w{wkI?RRVY?1En+(Cgi>GkQ!-4sOjG12 zt~fF8@;S`=GMoJo1+Ui**XwzlNq+KJ(&1reII!m+N=IF`sIMmRxavgsEiE!Dg9dsN z32H`MMuk@b!ysy=3+*Ar+Y&wPvte&+OknFAJEe!!xxkK%0vpVGlDN z%V$EqxlWaDzk93zNkO)OrmN9zhM;y-V0Nu7qI@XKyh*4^F*;46o2Bh*XnDl ztM5w-3oFrHgelbNZT10pb{^ITc{P-Oe}jKTC-o7%l|zX$?2|)1Hp{|5VLQ)v8tm}< z@@INIJ`Cl2uf(ZESpkgiqX?-mi)^X0CrVpUZQ9mBz z;cY0_WOE@{z8!ERpsXDz1uX^QEK55*;@dUS(E&xEyh}DWxH7MHCBDwMo2z?Seh{xJ|V8ps(+Drv6pQ+%0+<@shJv`ix8jT*t z&IAUc!L9_>8^Q^1W-b-*T>bue+(D0N*n=m#+oyYn2knE_i(Skeg#Tu=l*sx>Oj#-k zD-}noGA>3xu`KrCBh(qryZrXzT%}nq+)u$UpnTClnx*-dD!6mtn(SPu ze3ypFTbnN{rn#umD=k?eAdQU03lrvn=2al8Xy>Sn+k!tYTE{=)zbo=#s6u;-E=;GZp%ik1 z1nI{CM{4b%q7?|Demb~RiNqg1h)f3OIwEUf@1Opjb$p3uR^F*M;cy zvQ4iHlV5wU&)(P9&OSC)xHBt%-y7)B{rdNf*UKC71vb%utSw|ph_%8-R7Gc`!;+I? z6dfvgWVFfpsBp}WMF2I=-amYB_HpGa)$mg^#~LN*K_ofb5*WAm<#TeMJe~G*-2n(eq?7>Y+2+1|~4RMkTMVO~EA6OzO)p zcn=|`kwEvlW-BSKPt}g9&1$qHFYBn2LJGW!qBDu`Z0?rKoBYu@VJJA{b*>| z1GT};Bya*rB3kT;kjz-}>hQvzSU#ii^u zhlO-i4 zSLaO5NIM?16?#P#C`ZgF6%{EAH*f)^xgf>$udLa5UaXHQs>qt-1+RQT`zeeY{V1h9 z)dh^X<_Jl!phTMSVK?zxNtr0(h3*@Z_6JVr32v6HW7ln=4C=5=1gP@QagXdX@to@_ zB3op_1Y<{KeH2!$2U0_af~BAm`mEwk9;u;Q$I)$cRzAy*@2p(oXvr7_93=x=mA`Ic zFlLUQriQX9p)s&T_46j%pTAsN_6X4k4SP@dQT)Cm$xjxg@=s&Z@hwtocGDZdtVoVZ zPNJ3)lE*L&{a%OcJJglB5qZL>FhxuYUh#c+-7TUQwUR!K}2tdyXnBpVi2x`GZNB_C)tY37oF*oNicSH`y~~ z^^&exKW#r%(GbyuN}Kq?tqDYfRWnQA9_>fpM3i;Fe=mKeT9#{#>1}_UgVpfo@*H^l zw^Oo2<%h9V4vozW$(~t4*m`%am_km7r|Y+v$$BV@!#O)bUU(wfY;@z1L@{$61$T|3 zU`6&wS%R`sG)Ff7>ZWW8f5(YS0IQI)Tn8j7a1r1}$4vCL;${&X>%AP_}AfAp^NE46vzBK?U~rjt-*+#&*vG_Z==sBhj+-4w+lx z12BY>s_}cH67)C~Y=sHRJb?7r0G|6z4#ZX{2tg$F(CuY=QQ#W?|G+adq6hih^!z+L1noa6Jp2z=(-_>M#nH%XP4_j4GT zgf&7XE?-{t=rSFTQ2;z1C&c1hqq*Hi&DoSluu$})H<<4!Qlo&CMa}aCoDMwHXUokr zYA`3;NX^T>erx5aBJrhhPSmu`n_RBl# z3VAE#wpPHz+RZglfE79wga`mJ0s4{-iy!SsEkcbC{u&f0k1B6`s&Lqw_K0PHeudfFSXJV?xjSd`MASlMHLK5iWy z?H;$;T&DeGcmMF<*-3lvppD9my<@1XUF1oMH;&)p2=*?bDsX32NwiHC53m3ff`w*= z?2k}fm}Qe|J6)~Lu6DyI0oZJ1Oi{ghS&4H2NyJ+#muCN+>zJir@9p zk>Ypky+XXsLhe1ra9l%XrZGrAqBkeg5ND;uuOg29h+9uAVWUQbL90^|ws{+jSnYg7 z3#fdr;A>i0sG3xfo+L!^d1Cghg!Sx-?7+(bQd;zq0{WZB&f8~+4ZU%R2zZcSygq21 zga?$$LgbX3Ma)V%Oo=(NZ$Ba&oSZ?>BD5@KA$4t(%ac?Zq?MU*S^oJQ{ zNbIK3C_TsHf&r~z!Ex`wG{l{^lyey+p}1+TlW}ZREDQuk2yk%|0ulc%QD+p;0Bq+5 zMab@o4gmN`yc#)bHuYz#TJhdgvA<7}=t(*m4LDv{Jno@b(xO*U5c2-NPM)`ALBD~+ z`0UJ@R|{R#vva@lde z2lQ^^GO9XIt6Nq1i831)CEQcd!D0K^{^67M$;&4vrzMew5Yu(`W(m@bBm0dz%EcKd9mfs`~d7{<&rv=$>3dYln$<)s3l#MA7Rc)Td=x4lOFxd+pXNtf=9#4Y(sDpJCycrkrjBz-tnRAj&&ncB_zl}JY$yKX846g)Lkz(6{eri$r3n)AO}OL5bW2&4Nfel9vQTcZDlHp! zoPlga)B}>nVt=6;znEMP8$2CN0fe_}H^EfmcV9A-#genINZoFjs*m|8Ikhkd8u)>*_KTn1n?_loyvzVbBKo}^!yl!Nr^CL!21s2 z!1T_0K+D}J3Y!?jQLQ9Nsd(Ke_PjY*`d#|~$RBf_(0f6jC%tylXJU}tK(%+jnoYuh zUvEV83Z7)scnzPu0kUfp`SnoWK)aEanC5I76~-F(P+wydlqvfGA-gOrT+*2g+JcWQ zJHB!$FWLuET`>s>QfFw%G&cMvaz%*S`!QVvbX%0zgPHhBbp3?im=2hJs-(ltC7uf( zHftw-!YZuNwBwjDy*&P@$OQO@E5AP+g554G8c@!3K)o(#z=2TGM%g7Tfcp2%#mc{Q zB39;@1>e?NO@ba3TyZ+rJU5_#!mnkw+kzTD`jlY`lz%54X3Q4OJSLcL9t`tF2HzUDR zkx_ke^@{##GRzhRSQt0L|?A~QmgPovx>5wX3h1sKQO3?JprqD%rZ z=c;aw5EA~u13>_u_Jqo{SWT9hA#cgDm_BJndz9h?-=nI}q7s+~I@5Us2XxreL)w^0b!(JFCCA~e^y&t%|Yg2eerF(O-xQbaS+D9M4vAB;ts*|~}b zmx(3c_E?@VdEgMURdo3~OBI|aSAPGx(y+a=`pO0cZ$e`E2n zQzy?QAoHte8l1hJhN^p+ajMqpAg$H`+jSBa%iF?SCZo`db`7%-{DPHPjyLoy>n7G zN*qpzT8g`Dk!e9WG|3)P;`3S)&M;^3hQn$pADxZ+Zkg?=TJ!2pHj# zl@L*UPKirw#Kti@BK*XC>vX+-Vel8378@6E1s6@(?}J$zoD7#%HZ^l+3wqyzTcv6d zBGn2Ye+(4DCH(Uyb8=QLmAnMPMP$SW@y~p3AF8$PxR~y+-Zz`hC(pP7S8?sPvp1X3 znW920epJrsSHg=1n%ay$%G9{huCq$RD&-~wg0XfT+R?Mcd+{TjA-8~UB!`+;cktX* z>4ap<&@wZ1I!GsGq(IoCLDEUGOc}L$WT-Dx^^-KY-zCZkvNI?}^Q)667iU^hW7vQ#qMiN5ODM)ZtrJ_R+MxjUX#b9rV zfG?LJzTY?93?n_2QpTNvh{mM}BAr>rI&7r5!20-O%WVpHHu_xF`AK(K5rf(ZJ^J>$ zcqDVjB2;v{$l+~M9CL+@dR;UQm<-qw+DWA50QSD2!nQq{Jq;?ej`F3Td4R#Yz)RwP zV7)@IxoPCA;(k>)6WB6bEY6>lDV~tiC-rE?`{|&;${f-a2ij$Uu5tpx3ak!C_Z*2R zNKQHw+YZ>iC&}SSbo>x%bc6l2NdmvuhB8>$*Z@L$WknOxqFVDhm^+a^Idorz3pt8S zn0aLnA*~Ci8N&s$xKJ4Z92*uuOmh#NJ?V5GbD-Z?(L6i!rr^iIw71?&cbl%Un18aO4;|@-3Keu%UH*8sVSfjhYg+~<4Z{o4M zQo>nZPaM<42Jv!dqZk_JJrj^j7 zi@gDbG>^VVb~kNa{ouYr&l-B?x1bC0Sg4SB35$Uwr1w_fONKiA8ZKsN$t#Q987Qz4 zJyoRzMAtPRXe8tDhjk6BmUeRE0&M5Li?b{ljs0?{%5>j#&|uVk1$b=W&D=$2Fz$Q6 z?y?p1%E7mvmU+*~v7Lx_oyFg zV^WO4yJ*P{;$7RcX4Oq(Xe~q-C__LY7Tx_0+`55}ZR@7(mw=CQ{i#Rp6O^;M2=n9i zk{k-!I)Z|gNwV3bT%J~XOT2_*Q512hjKnIiawwpsF;Lhkd?Evk{8Z--AB=$vKHBob z`U2Yk&u|-mnAe>vD2A`;hj|a&f9D21wE2hmAXBH7&wMy(@4b3?avZhc$L_1$?c4$Y zP(ZK0+S}sa*WKb>B{iP6e%b~6b-H`-lX>~{@M!m-{qvKkd~;qdSa)Nq;IFp5W=LMQ zU$kC1=`!&pyt6(!;NcB^+21_~*0Mk6GI6RxYpd%I?G6p_2;rI?0=e%jBD{!J4N@~D zpB*2$CEG}X2<%rQ4J@t4J3Dc zak6uG;^lU2@BGKJqa%Ka@zFr0`@D7=f~P(ssT9N`yOs{)S7y`BdZG6=5b^ zuk&_p*dWBS(!x>!R7xHk{M25@Ji;`Rf=2cD0`p|L<9>8U=zg9SL#?3ARLUP%ClE zgbTc(ugg)^`)86~(Dxdyg@S|;#FvmbO=@W2`<~7Zy5q{b_YnpsSC5+!{Tl&Mu^D}Y zvL8iFw1h;4eRMGg!|s!p&qT1V;^gD)jOt*rCfSPCHU-axKd)};q1%_Y(gBj2!&X!l zO1vQyHL$L*Ix0f$El@?>$&g}R5Y{Sjlzu%!I5X`r&Elp|9;%K*KrlInWvrLvoJ9Rt z@-vudXy~`mwy1okr1V)AhQ9$KWvf8to>LZaGU_{o%AwdtMR2jKln3cLfW}auTRqVV%GwKu>avPWuhn=IN<~YM7t~mLBHNtx66`V##N}kGowS z@i=WmMXLjoVHcP=T*G#rA};QUSDnIA+@m@_Ee|=%Z#x^tHv_dXmeC5t-U(>nA<~p3 zyjNib;WM%M7RQOth$eK3`R}8LZq9j3P>*s$FFpPD(W9C{j)`Ou@87lG^|BsijZA@N z>tSFLmv9OcZMWkw9OiSBeYKaC@+E+8vcM4n3V^YvEaIS{KrNHNl;ga@a+O_lf$`n= zzWJ$jOkv%&azayk(ta;NteY%Y#m+`6+sQ&Scq)J1Q}g@_)j5-sBD>D zm%{)l=!k(e6CjocP)J{t&=4(J!g~wugpQKWkd@$TF+bxggKY=@iKbj8MM}1nK&>WKxN*di2X9HkF`B z)0ImW2`HA4wHiW|(Lx;|*HzuRqB(0cVQ7N0)-`PrVpDR!-eBLKD;9l^#Bcel#E$>Mx?4+%I-(%!W-zgxTm2ygu|qxtoh<1 z!Tih|6mEG%kF2w`s&mivh?b9fa81*SM!j#ok-T%IT$(wWr5-fqZe!p|7T((u>Ok6b zI~j~*h=E!Qi$n{Hu7kp2HXNHQ!~B;c4LGPZ&2q@ zCxoxuo#KJ=G!nzr0(9VBq}r^N0*;DPF=-?QI-p)k0X~xmW0RA;X%}B!ardjRaBUW5d`)c zj+aK`F2s+eg7WAG49MD3q~RkqjjM?oM{$%P+Yol-l0`*|>%>OOGni&O)%U-Bhr(*Q8vIpK-jJmNmL zJTFkKG;>o%Wy&Femny~8_&U4)&;nal4fcX;K#;Ip5(^{|=|m*pfmt1^IiTZVkAmkR zMD@UY`0^pI;uq|9e1Rcdr*}KlN$Lg36?44{3`@wWAT<>NPS7neRj5!s*ovmH)WM-v z#wx#E#z$}pXcm-|kzFWLH@vOtNqnYNuM^3qr>UU3g|p?;$zDfR)krPs*B)r2K^K>p z@`#s-GJxRZ!F(ao9gOaT!llp**+9b!7huD3>t;c@$D9Ugc~fbXV0cb%=bE^AP7rQ> zb!HSomWj0S8=q~bOCgDvxocK2^DusNc!oOZ_WQ}8;7~;0sB9%tsw_4#J)JxYJobyKP;K<)QitJ7RF>Yc454NH1e-R)fSE{x)+KMj5VPDPxyU>a zZAzebx?HqK>=ja+SUb%uW{i2UT4))Wy}+%z z91WSG5gyBfJuhg#EG4Q&w34UT{oma#^4rK(81kA>ju>A5GskA_lGyk7z5 zSBPl}aJhda7H<(t(NN}?DuCR|7-|Jh3~nGDUq$Z*U0y|3!5V8=T$O)u@?(@;aRqqw zk~9GU1L|hvO9hu)@n?;QS)Q_UZBT8JFq>faIIb9238WutzQA_Lk|fs@v;zC4`d!Uw2xrxj572!u#zGG3BZ>b`8~v(01f1^x zgXoY?TAZQDbJC$W9hf#j(IiIJ<|(V>19ehFd?=}`MO*-mPW!0+b8GLk9=X`VQIUzP zbXiZ3<~|taR@7K?Cml~;-0L%E4tsS(1Qr@K8h&(MI>VvQHBj~vRz$~H8CI*DTQhe| zdijtJBOY{#j1Oxy%}0yiio~D_H_AI4sxXw6d@QhbX&9Ss7Ms*^( zv{DQi6Yee^k*l*3(l5-w(I1tPzZBB)lSrDs<4v%{KLNi7>S+XCvDRFXhAf7LXZkv!`$2~j7tiHyUwUx*_0YC~@G zkFEtpX`0;vi|jokhfUYKV~QaaZT^$Dy^fz14y0I4#42fNbHD;z}ng7AR z6_UheeKV(MiRVF)3>FNWVrvKU#C&8m$Q))CG_$ZYlg^mUBD3*5E(^bbnm+D%e%{zL z7_J$|3LBd4a#Xp0#hv0|8i}7PMT%bLepp|ZB{owXIj1X{Z9r6w2Ce*`5-K-+vrs-%Yk8xb?zxqb&Q!jz32wgg$aJqW* z(E59wJYG+s&D9&zIim>+B4Je-wQMp-XH~em@Mm^;bDA`|darI6(`Nquu!cv9y@ff( zurTKUtd(*Gu~0CAg^%;E8IIMvK#@X{PHy7iiH7#oi3Ak!(iVGdpFTkK3zUY!=Cz5g z(xq~A^8g5D4i&YjJYk9R({!_cA3!^oiVr4x8)rvQ2`vQR#n2-oQvx0qJ`pC6IexEg zO|0gA({!&KcRB1Tc0R)W4Iyn}+2}W%tAz#GB%aax((-S(o={b0NPrMXq)U~N06=U+ z!cBfmu`gY253&SZodek&{l%=Ln7 zNWp(7HL6=)2sNW?VP<0ng)Cs0f7u{)OHkwI;I(3IMd?gJPi?IwYKS%Hn z>rQ~+uq@E{etIu9akK4!7<CffsY!K7g`<|vNO2nryOM2 zAvr~vaZonhgmYeKnzEWZWm6}MEmY(lQj!07ALFhhimiN`ai;X=OB}y=lFNqSkxlft`yA{-xp!(fYu?MkP(hR6XK;U>`Ilg$7yafaX#e6uBPjZ_>oOTpQG9EN_EBa%ahU zNnticN}^_nj-$i?#_7PoCgkls$-G&?o+{i@&{5|Y3sDLU(SzTZ-*fdA>c?*Dsa4WG#jYY0A{tkge7a`X|RHhc{Z@6 zjA$8n3sB2TRK8XQ=;pp~=ledsd^)7}eC9wJI>o@H1TbjZirPB-w^)8BN>wCMt&5KP zKr{bdg;23W8pur^_iy66jLm;zGMA~-{eZ)PeUS`0cO0haE32~NeKf|mDNW`7CnoYV zT|7mEL)R?Y*1i)g%&pCeEQ*MsDh-O;w8xbwh613QBgf}@i>^KHjonYWA|w_FUMP6s z&=x;=xxKx6a$*EjYTkuVP`8gG{SrJU`|u06a$0UMgXD&5sGGpRz^!b7^lmwxX!F_Q z_pExGZWZW^R~FvrLb^Zsbx;+*@mp1Vp_+L$%8+}3WmBeRD$vzn$y~$KrGU}56~}UB z<1U17t1|F{o_-98h4YhXOv`nP7MWpf0}DHSlB4ha(UjLr4R68T#hu1j=XX}b#Lq)s zvdM|v$L+0tm<=D;>)uJp+qzv^XsK3LX;D`7A|Wg1Mft1RLH=UYGT1@>Xto!tM#>z< zYpO@OA;r<*=O3U0IHG{8S6BQM3O3eW7r5e>VvUB9o@g4?-tg8%#=9clGr@2EhmV2n zc0b4PPu^~-ng4s+?K77n;Pf_+;S}n0kJ#RcytQ;{p?4(4SC)Ag><{OaES{EXG{LQ1%6I0$kd~tHLyIs}>mq3mMKB^eK zOYft@6Y*5pJ9v5+z1xi5HM=+Pl2eoI4KC6XID&ZiICP0q-p1h1lCf0UyI{c!v@CGSuDd7Z3>FRAs5Xi zBZ{5Mv&Fd~c_NUB1BR#EGal)_U;sOo` zrZ^SHzIf~=q!f7dD9a654TYw4fN?#=9nVa;bkfdwV`MmivFT}&DOdGjb=H>$->jJw zn`F9Spu`Rww4+V0g$x?ZTWM*)tg1Sgm>#6@L!>iNot^QEGy9EthcD44Km`)RB&}^c z>3gmH_V)AE@kvxZE1#W3XRE7g@ZUQ8_W=HT2>(5T{~p7C-=3|mt-^oseGR^^!S^-z zz6Rgd;QJbUUx)AO@O>S=ufz9s_`VL`*Wvp*e18DnAHeqq@cjXNe*oVf!1o96{lT~8 zT>o0zyQ+8p=AMaTd}&IE6GT;FpZ??)3sc3lh8VY&%Ayi;27Euag` zpYvvxP(_?QH%k@|!ym~5N6cbM3u+`#)+Xq2QBfuMNaYG3!4KmmiYZNmn{D$otXd&9%s`Y-jNeU7M z&k82ATd+`!dWX|sk497vT=Sc6HnsUh#$+`GH(1VaG(_n}8QDy@78uwE+^5o4twpAl zD&s;eNY}pEa(eZRrSEaN;DSI;5rARUw2F!PJv3NRicB4IuuE9Lnd_hoglh9q5oJ?; zeeSUa%foNJiD<(9Wvjq83eML12ipozYyXJya}oUm`6l?M(NLx&s-v(hj^%*7@BD5n zsK=fgk!A1W4ay&oI~ZpmY9;czHGFh&kH7M+^35%)EyY!7%cH$*A^I(2>t_ii_(u5{ zw6wQ*F`E-9i~_bCUEmF7LhIzR!DDEl4{Bmm@*+&1S;|)aezw#+d;jfU&OV;i;AeCB zthREtc2+uDUnyO|_p_y6fd+YvZ_m!wRxaUH1%3`z_}kyl2Ctz?b9n`2_Y=5R0CTUE z>(Hmom0{_!v{Nk{5s&{PhvD3q5|dp8Y`;OWyxqgt zq1RF!$>tugy&WC693}A_k-rU$NT~?6BzA)-;~*kf)}$ojbSWMz3Y@ebWz z*0U1{XYY<~#^jgtBQt5CfNZe2#@94a0K0ra~?-ms3 z+}=K<^3Ll%E)u?1(j@NZBujK(w+5-3<8@kDIE#UVux61>dH@W7-jvBPZ>P_Tl@XM) zd#VsVA55-K^)S47u)aJk@h4@G<0Xf!nsG!vbc>?iQ5qFoeib=IDP-zapqWMVDdv#- z6b2&2`~ygIqAG=q642*r4F91UOB!)l6b#320FVTQWQ-~=IxjuhHNfpaNy58ae;8+U z{FB@9DApiwH&fAsVm~Qo^4{QG$~hmKx+n#nX(NM7w!FBs`rFgJS1)!qfHMYA)|Mc8M@9)21$;i!x_#;cnUNu6-6bbSe2BJy*Ge0?;%Cywm=2Q3$gu{D%1JVS1>8Ejbi%13a=AEwf4z~H0 zSZ($b*x~YE*7DZ+4OG^(y(f+5xIABBbg*_7U+6)y;tDmVRx^QNRJRsaR#9RsGW*ymCul=|7AFbZkb;F+o0$rncyQAM)N;Eb~OqfWgW zPP$uhv+ZU;*eA%H=%}1uVSGzU3)5Dp1jkp#IPK)7NBt)wleP-&#rcWKD%B0;lmVPa zuoccLmlham%8+S=*_WfVpmUlwV0X!2;fBurYN*KE2%v_kf2<)bSe0wSggL=RL!;7h zZ2t)bD65}rLOj1tL{cW4#c{Yy(bST0VlexFY*t!D`%o8*xyCZ?jgmLo!WZ0 zpAM5jn=nDedXNeRWZ)>_WwF3XiLm#R}-N?TGvOdwR?e)rE-G6fzt!bm%bs@ih zcn`bVnyUHxT3^p9X)dLWONfu-{CRX%@XDb?(46jx^KH@oQeT=So&J+XkIl-rHfku^ zco_ki%v(FqHEH`9ibF@~LU;$|p3UL7ZG! z%O&BKBgA46XrN6zWf_mJ(gplRRRhI<^bvstM=`bmBKJJ#I)o3hOd%)|0@+ZxoHv?o z61^69QBL5?bVgAw#HoMQ&nr_!KdgNixYaM#Q(h z5wrNY#i7rR=KY_N@B{xU5$bZIw1FbV}(YvQho z3L%6ry-t`#qRu$m(CLb9i?RnvU9Y0XtC|k5Fy>6KCYbiWX7tOsp-&yRy=_#{a>U3c z*JHP^o>Hg$oZaNBLeAvv5Kac4ACE#;$55rUWi-e{R)lBFBD2^#p)7}t1PN6v?q{Ve zPd(St878{}T@reHCVsdW0iB6qbZX{sIZ>5S#L|sND2b_=`06Ofst9|=;;V&)Wtd<@ z`OW@VLq*{ewX=W%LVI0w-CUhAG37{lWtjXIiOv{JN=W+egdMM1&Iuz+8}@t zFTaWuO!A6uDi<~jGO}?pY)e zB<~xPdzUM!PWg?{VrgkHaNZOgy0d$IofLsdfnHxd!)>GP_y!JTlv2u39!0ZcifyC+ z7)gH;F-fAmfzCDkJ5H;sL_VsrQU6fS`Y}oXCIe&y+e2?U77SmD{<1Eo3k*L-4?jkO z9$X5zW9Y!bTbBEBQc@v$*p=I*a2XCIl&9@$zPc@WCD62;QK41h&wmb;@ZjiiMFE^6 zEFDF(CCj(;Lf!JX;EaYaz&T}jpq$WSv|5R>$+_|V)}}LxoNB81fHDMD&|i54{zGuL zbhzvyitw}Mj7Id8H)v}(i)74(dyHrlyGIl>T&R^yd*wE%nzfo0?1u%tq`cUt-$21s z7t^>;RYu*n9JR!SS9qmagV#mn&@Z@A-sOd;FD)9_Jr69E(Jqe(J5_4QR6Vn;_KL(>0&ZRNYNu9 zPibZQU0^Bi`iVK<3)8Rp{2ZDYG`(*{M|;~2OpgIUfmjF};WBF*ne%dx4jL}d{O&G3 zu%EcYJ)Fh6+1uBHp2!cU!RxrQqydCijLDp}rpferE9#4fkg1A(r+Sa8N zjKX~xEIH@7yYDI}#l7A|`5RFvZ^=Osqv>|9>mg8gJ=HG~{VdpwM;jJ3@7; zmKZQ-ZE(Ww7R<8KIMD5mG7L#Rq>ITIlL?g;0(Y|yxXQjSq?Jq}iUF*GgL57!3MQLe z#H1B)dWb6fhN$eJf36CjWS7B_X@NU!9eye(%FLcBDhyp=St#TdH>_5$1`GEZB5kda z{4XbdomNvBw|wy5G!z-&Y*bg6Xvq1%Mn3C<-;su3}2S=88X9X#7uuEUSLlhci5@-}Mh9~^EhYcQDD4<-rC z)e@!iV1$h3PC(pTO#19-m9m2pD+0+!sj;tyv5(}`Yx-+>V_B=?(IBjS+3BnpvG5>W zL8)+W)VoD8%skAY6|2mP=v6tRunkWBJ~qn2xbdhrWM-$aUyiC(&AB*Cs#{j4QPn$0 z6}EMup4ou2w@1lulOB0!i96VNGQLTYK~!z*i{D&jty-SNDiHZgR2oU*urAAkHG4q+ zVLj+_+JA@f$g)wIjtj?BS}-i0S4T5nQ%P^$0LVt;s!u1odF=rLw)v*hMe$dUGYgZs z)q*Yic z>Gk{U6nI5jl}&L}M<{|BuYuOMyR-;Nbh2dhE>R^pko^FyInf%qKk1@RqJ$PyBkQp; z&7FUorlK`~H(SLD7Ki9BEXEU2_E;Z}HMb4v5H!{Z%(KB2pJT`?dqz~ysP3pYe@u9}~~q zz~I&MAq?>4!QLyYN6J|Rh{R+x&Uh7Nt~%)muK^5x599;~<3~$Y%Fk>j?;d?-1Ym4M zuvU8%IMe=-{@m>v+^x_uUv%h#fXrKC$O9yzmA9)i3K|5DK@&mYTdn}hDYZS(<@8Wg zkPLgFq}coxvQ>+cX$zM%qTPjclYWH0bFV4?oF-gIi67sguL;m9+uwYnVRZT!12N-( zRd9L+mwn}gBKfz`e2r|G;Jxwm*rCJ7?IQFBMI|Nv+G$zLiOHgH3=>YAwi#;D|3EcA zGrU$fBlwS54VOByS;a7bt)+NE;V1u*~9qfYS<(wl_jyJyYcikeS-9$tOCQF{i8oS8?Yp z`dy(XlX#@E|0-E03Gdgna?^2rTtzvg+Qmy{RYASB@)#SCF%Xe+D8eE`RU^{V=IK>y z?4+#fT@F%g7h%#Ql=GD+m^lSZ@@KrNbfsL&pM1r@*e)Vy(lBFd*v?oeV#|A@h3h$n zON0c>o1!YV_KU0NH$_!yECmvjXnj%2uLjBAv^b1PySlOh&_)kNb>y+AuxP!wC_WSv zJXVEnr@CEt*Elc=gb!AI>qWDDW3x>nuTc)U6HV^&jYP=lt z@955!nSIp=vruQIx#B6CUwhs#?%)tY8Q%8|?F^9UEGrm9$yllP(-dv{3gC+FjkW?m z6&0P~T@&b;az>cZGuk91ZdZAA(LoZH7uX=%#V41r39EK{U7eOUCi4xva99jNMhl3h zn9vdHKHW*IenUa7&*2@Q+IMjurNn5|aWhJRB8t$-SBjvI26iFFI45yNjqmg>dl*0W zC8mNzq}T|}LZCdKi++G1fh ztc5}cto*%&K{>Bnu> zff-+R*!c!ej#vpWz-Qar2FBABB4eCC^ajO+CQ-JL%w_cm7$Lk!nL9F|hR}&2+}w>u z2UE9F==a72tO^p&jb*%x@F&H#2zTZJTI;+8iaQ;Xo@1HfE5oZuzbdHuH?p7e{y+g> z!LngGK!qo1&vjE{VA%cgN9kzXM=D^5Bb3z0W>;~@7}(baijs!dur4gMkJwb33WvB- zm-yF3f1J|4H&^L!M8AN9YVcui4EvKyK-@S2eA6J42vqo8_x>5XeaOaLpy1rmNOYUd zHyA&i6f=A-JLr?55X9q$AIy3D;2fX3XeXXFF!`470|Kfum~s>>g=xI}j02fYbD zG=}j1%MWHRe6Y5{hsM+84}ZhrLu|s#q6P5~K3u|oG*2JYG<^un(ue%M`JiXTP(q)B z2OStQWH+I*g(93OfPKM{!4Pr{s2A4t@n6<>l`t1rUzFs&Np6QC42U+OYIFH)3BH`w zs&ABd*KD7~=GJ6#!G6ygtpnYc9tw z$6CFVH%Bk=vIl&-loZ2r?wacCAlBj2-MdVYLjSHnkph2_sa6v+J-oyZ=3YJp(_IRt zdlXC?x9x&{e+L*k_)~qn?%`(qCB3}n^6yf9Nv_t;@*4R}cdnduq3gsTo8Z2_T=(-? zpXtpt%WFH})M2@8TVwD%x&kpJg03an4axTUQCa^2PF;4?fEiw0pR=py^XpP0FLdnk zXJKB?na^_VvYdW>-!8NNj6K}F+`G8KJ^Z^ulbP$$y=Mr=V37~=d3VvYhTOY&Q1`&a zv#{|jd>nG|3gXgYAFskq8ZJ8TQM~_BOf#&U)5FWySUR*2l+(1(K!xpT&agpnC?pfc zZn}{I#xW@-nRKYZLK{%m)OE@|hkAfsrfr$<1PQed?GP6!w(L3I0_zr=VpM9oTG-)9 zrd<=Po0#4uF_{na%DyY+?pT)O0GVZ)4yDL+JWRElQ!5KitNe0+q2LBiQ2XdSMf+c$ z6^a9F6khcRhNX2e%vXHA3glK#E@l(`bIa+|WefK!vyQh`|f<#u(25 zD$B;b@x)74V!{fUa6*AdOg2UTtSjoFG)@r4zV(75U;nP&C-oWqLaH{#`>Xav~H zya!bzZ*BElvZG3mIDAvWagme@TqlW^lICSIYV>3H?;QWF=}52K1fdjZ%?ie-xQC&* zm9)E)A<~zb6Ri*(O>G|+0Ys)QHWqiMA<_lQd9T=Th(^1P7Z6k7Rcv=lTwih7T&zlS zPWLJfBI14V0TzQyTK_AhU8mS9ocW%u+VP|jdab~4K4MYPLJND6A_K{PR zDCS`9HIpXXQdcR=Fid-&vNDi3MuQP2J2Y3p6lRn=veq>2!)qc3DM{`Np)o6TB0SUtr9hnWFtkF(IRw9N~oCU_h-|8?a3=W0Rpn$B&x5^k;J<<#ljjt>QBRvjdTv4oC#c)r~ zmZ?Zd6=8EqYz@9B%<02`cU55_tL!|N8_Nba5D2!xh8=?K5qqPpuaKpB6D(-*)4YON zQx66p?Nk_Gq1l4SyggPjCZa=1Je z=9r-%H8zH>Q`a@ywWyu>=~AQsyX2X2L)jxZL}4~&duR#-tsGg%Mvnl83F5eD=}EhWM42)PzHbCyM4 z@9Z7{5qU@?n`bSGGMiMS&Ub0=)%tSZgub zBb#^O3A{(hmyigf-eta_cy7>IiMKrc# zbX@<6QmA(NY)za|B%Mf&Fn>hs0jo*MbJ8~LrvC6dDpkNzFWAY9?1(QTZdT!O9B`2=a{)ZY}STd>h?ysNAlD>oi6u9h*QM+QAo-qGCKQ}x8d&J zfqOI~b4iwl(hLg@b)y!Z)}=7fJQl++_Z7^<#!etn6KKF@Y-(@>DRKmL(_rZPrF z(;$UTz=f)qwtQ0v3LuS(tPhg>!>FE+j1qXV!?;i-Ievf00Y3 z+OE1(VN%;l$Qdx{l`HIuW?ONzDXNWxw;D|bXnvXD!K&CG*~YN0Kv`*gx+w*+(y{@P zK4nCsGkJ@G0HtUNN%`mOlBZ8sS8k5ox2|3vckzN*_EJNCJtH+|ZOS>sVR9wQ2xSs9 zu`@O4!>3-hGldDSST*RJ7>K+{Iq7YGtJ0_6ytH<}omZ89zsyeQ7A)x}%s;V`;%X$0 zG*SF6?)A|sTg3!+wpc&}O!&AA|8J_$!2P&TPc8-U%uuNnyJKEp=((=X1;+?{t{YUJ zjQd=o`M}WmYPlxD_!&<{K;UBFjT?zy&1(oM$>{E=cgD*`s{qkWbuMKBc&yrxXi$@1ihfIisLFVK#^5hmtdjP|@BO z?p%1Oab})Qciz<5Qn0mb=o4VuSmO7i?K3gXEFSn|N&iJ1@ce8`}@fG<3bMs~s5zUGlyXY7)CZZ;T-ft7fkfAv{#RYNnGJVFVO3F%*P#=BT6YnsnEtzcXEAw7p}M|X$P^W zQ(Yp}v+GkiShpN)z?Ze?Y^k|?R>R~)yzXr7rp<7q?ip|f>p!e?lXokFNx!e646d#I zhJh+MnO9WVeRjNi1W*HgDMvpyuFXQeWH{v&vcy(N-B!}M zLS{>XB`z;7M?W)m+|WCZ%+Q^5uG%6bzCs5 z(-6hR6fy{*xv(rVPgd^&a!UpoWfD`!j$7ziftGP1vgjJ4)%JUd50hqyLu&s6jelY< zZz&hpQ6XouLa3sF~T}BiB)&DZ$sVD%SM`jRdp|2yl>|D#JFL6N` z`|DzzV$PYzRh(#dk6ao_ad@))L5h5)e19Nz_Q2?nh&`09MgU?wPuDPmHy<9*x`7e& zcgha=ua|H%g!|POgU|HnXDD zwR~w~@udw&jadf^geM&JvWd12yjohutx<*_Uhr4PMms!Z7LGydj)HmBF{BHCn6T0- zR?p6se*Jq?c@6aA%GsLTwUtYbI89+ZidrS%cyXVM21k+RbA@|k61}+5vLjMmzK>w4 z5NJ89m`5z-i;C1l2P{eS6n||^tUaq=NA}#WeNB@*zgbQ+hhdH?`Myw-sLv4oBGI+3Qh#UdoIDs-w z3la|WJ+HNKZoQd~>a?y3-?6(oUmXs8wTLm_oU0-~ush1W8+XYw1N})v_7hB5ZYpEm z8`1NK)1y74d|mu{zxp0Qc8@(b&FkO4>;e;FX`u0Z8#Aam4Tt6su}?QlcQQw-E=&YYrGfBC+py7=Ga*bd`s+D`uX5vo6meHH z49hAa$6aBo^*In>iDZVtob&#;+plH{=}6UN zq;$Gk!kJ#5N8}DT&|#CcvEc9u@JIleyH}<{Q#n0V*uu&Pe0u0y|_{5sBF)5WLQgxxR24neDyLx6BL@JA0<8-NivC+@vW zKh|Nxpm*ox6&AYgU0%VVk9B@{f84f0TE*Sq=`tcOkPfA3m_*G<+-o>yXefK&t z*iq;Nt6PXep=BGV`kA7>6870dHD*+@qA{Rx;=Qn!W+i|k{i*f1Y{Yh$QLo#ywL*H% zbOt8Vh(g%s`PY^L-3!ai#a)QO&q7hyQ*{-Ox*ecd+FG3 zIp+nLR+FKSb&(t&k*v2u0V#|h4>>*Sa~7IWdmsh+ zURB`StF!`iQ2XfQ{~*rj>+pi2xH}aBp1+id}sA&j_cc2=~;=6 z=#muEKb4(>oqu%rYa0F0ZewSEUvVAFR)PYPoj~#*)r@3wpQGE6@Ft+1P%0Wvg9G!1 z;Uf$fC9+5I*@Pe``g|~kOZ*gR1oRrJN6CQn#W$opzyLHB6v?%ygV6M@iFUA>jdNYe zR5J$7QmW$X)!B)jNfB0j@-0IHK1Y?QWWcF0sbO2V(y=(dL(izOQe}BPB3PtItvJHp zrh)P^-Ubx7vZyc6L^Y#SN>$0gQQ)o}nL;WJt_@Hg?^Eg7OR`J4obVgHVCxIS$Hsf~!FB>}8|%?=+Q( zCk!!C)6@^5qcih8K!WBK>&0VK+^Utd#fhADff+$F4kYC%VV9I2ASR#eA%Vg9saEkvGRvV@EU%JtbsdWOI(5*;gnQ{F4v4xVU) zoM`=`XT_)`Wg8h0)cjHrds)4nY*_J6KS>yx^W#&gi08DNj6Tr>F!~ZUlnViSjK%06 zG1r17F);v&Hwk|=;$C-FKixRPG_F`jpP-~*38r{DT8SlLgrSB#^EXxc^9 zP_)_9G(9hx8y$-EltY0~rcF=~`I^6H)iO`L=ToGa-Jdj5Pbo>-PkR3^0xWS9X zxBI5^LWB&L=Qu+@OPnF%1o#e6LJkQFW>hVu1t9Wl1h*AHdImvrpcR|}uUbApc}RBc zw}m!6jsmY3p}WXD*SbTy72@A~?(k{CG5BR=>*f%n(J<{%7}1C$J0UNK!ZvLXYjOgj zk^^pd*rVN`8J-)_$yWa4qeq2&P%MJBXudzA%{#T{LY$Zm08c=$zvs&i%MRHjaYxXk z8be`El$ADFL)Xz@xjJ@@<5j{fRBulI&w2^P*cQkw9xGs)=uvbN#g?-V#*PdTX6(ZMjduA3OSE~UfT?n}i zs0xKL053sCPTzzw-#qX42Lba30aHxClyY1QURh!u+(xN01QTfXLO!yORpIOVcmiq=Z>C+qWRx<8N@opEC;OP?BmhE-IMjRFq~Sm1M1#+5C-8@G={H|a)L6G4i%sz9!m z9Uy$QCcGFJNxzi;qLfg zr*f+K>Nw#jG#I8)OxOzSgQK=lp)3qqMLwmm+{ilVgXa3XN6ppdudC}1$=FPW)7Y;l zQ!`cgE_?TId2+Kpv(%$QxQJgK?7brFtX^WeZJ;HSZ=tQV*UewoR>|B=xzJ*{2^6`( zB2$}ShJ!Ssvio`(wJ^)Ggg(xS_oyiyzRHNj7H+z-!|e3Nb>eXl`>2osny8LP{T|w2 zFhQJ|SU)S1Y_xLT8?2D8Wn&*Mn{GE+x4eF%4^Vm`s<4yrM)d37H(>PV6ZDKKM?ZwU zgFQCK<~hE~F*#w6S(0d5^mQzgQ5U0dmySn8z`{)Hee9e#>B=u|w8b`cm^eNZiO2I6 z)j^udKAcmfswJ@qoY!+Gc1M&A~7xKSVK9oBs{JnKt}0lLKr#p zK)>j00=Y8D+WTHi8S5a@@t6$KOt!p1FJ{|wQw#2ikb~anSIpf%ttY`O77WyFvj{NF zwuRLOX|Yo;W71kt20b5j879ux;dv$7${2Mjw)3YV*KBT8tf^%Vh|=tx!WGs}Q(}5A zdZWxTJMK_g3bB-Cn*(D^H%^;YL_G0N%Sd4a)MeY&f7?N2l_fCsUyOgv=Cd=gb8msQ zf&O}s6|wYzQ z9*#IY2427H(QR(}A$#PZV0;^zGuOpjz08ISV`DBJT^IMeurXaVIIm2}9iTFW$s0eY z-B;)f?EoqUQUt&zaKn8H^ksG*yte%cxlI+sQ42+d6h`q&&2y4u&uF=Yw`mq|zwoKn z8)czL=3#FVRmTq|=4ATJ3p{2M$X|p$CL?_6v`Y3xYzk#NLn~)sVfx7ihnmnQR9i;f z=SI2LeIhw3@lx>&_I>fj%v(i+Qdf&@K+kPBxbogO*g-i(+sEJ>Zx2luo)vDSyfoxK z12N|R;T*fc%hJ)^UE~YoTq|7SU`A>0qAFf`b8cKim7f($q3K;~zt*G6Ns?h;_9_sw z7sw`C=6!{m<1>kmIVRPkNL~8Fr9M89_9#RzYqo+oV0A7|O*S^{k#o10!l9#%vjKp(3y4AIb7)D!s(u&R-xX<+j-0AZCXA4|frx&&Cs|>X{q1q&(XjOsi zYz>rod~_$3&1pr zJ&iL0JLZL^?XG2ArhOF~f&@$182=V+LpcvtZ%idIqe+(NW)y}58ttdJ-7?E#i1y!* z^R~ep1OU@C)4n2qFs!P4$0Sfd}H**{d$>}cp={az@T)sW*4J`?Y z$m&c7o~JjMR;tb`dP4)EMW#{pF3dc^$Vi1hPL(oBy5xq2L#2s$gX!#wb@5NB4z4K< z6ndFpuHgZYL>#D6#p!_NU2xj@KbydIG5H#!=p>a+%gT~dnaBqxS<(ke%ZvI)%~Q{w z9lVUr;WC3|=Y)PS5H_#_I6qaF`~Wd+StwYYCsbo}D));O$UTo{x45JFo2p}U0-Ep) zRL)CE{NU&Fx;?NGMcJWA2y=!NpO4HQj6_T%ulZ z{M^C}Dhrkch7+E5L4|@cK%A)Lg<*QF3T0IoN%-m3!>+*^aTftjv8!)*-}t^_L$O2> zv%MO`Ud3`GGIzC`E6YB=_8ut=m~Z=%ljCEdYrtaEY&Hp{P?qZap86zzl23C|@V!tX z=g)lZC{g~;z5G&i9(eUfHCh<0Ir6HQP4k7EEv9(CP(GC4cndu;=E(7OKR1n80nRyt z?mTW%F1~9C5p3C_Q93=>hsU>Lo_B{vktOFVaDb9MCrSeTW+4+5%zNrC%ehJMi#Ya0wH+uuU=8n0)J&zoy(Mls4%u;0fi)cn(>V!p}6%Ws;30ERj z{hU7IK7e0L}+Z5T%^~$v$RsAgGkqL7N~j-f7f1oaoF*6raFJ!PircNRjJ%VLU;J+B-9T zt_H60me$h-n=zR>bQ35^&%|_uLK~qGS8j&#IiqZGv(9RuFK(A6aHwKUs2Gll)Aniq z<7p(V=A!Jo7zfQRG**;vpg&QeAg9H5$<*0GbBT0Az60~fee*KUDREwdqR4>!a~g<% zR8q04?%~`jSNzjz0>l=#@Tsw4buw7}Bgcj0iRxVb*uoe^Rv3d|4q26qoAYv51edq? zcBWZHX-)H+rX4sv-EH2TKa}g~!-wcSGc(2^)n~Zoa!d6p8JKzcJ_?}SCE zNIgjy&so(=>WkCJXY(7_s@jl7SQ3N_l>=;-isqdhE54n}(7Ddp#v6)_?{9_{wPc3CLuHZFS z5S2kfQIfF@3-tM&8>dR)@4Dm#0sN4`s-X%%m}ZW5bq(xPZ)iu#N;~YC(ILMosDXVG zugp=x!3?8l8{o$yj(cY%c|fW86~*CV<`%gcH9M>hM}agaM31egT4tj`YpPE^M&4jO zJB|j{+08A1O3i3#=xl$jQLQ=ZCe&F)WM-^`gNYk4sg%11w3#)cApfHiCkUFkS(Yunppe?}{QF(trt z=5%`-WpFSF@T2yBaV7&_KAH``A5+|;WVj*ss8Sq9Opb=MUOF5nMbXQ~F-6Q1RI29C zAR*~AoVi}He7HC(x#9Z4WIke`9w#Y>CE0T0J-a4t1@Xyj)Y20~g9C;_p8 zEjT&6Bo=*^^e^eqSH83jl3ha->g&Xs(SqrWqNx+AA_YvFQX|DLnpB;QW!^q1SVi4JQBx2z zx-OEi)AOR{`&fb&rb=OhtKuamDg}LbRT0V5gvQ0hnj;y$!96tdql_@WK3qu~zaBZYiLEbi*ay)1>){x&x+W z1Z#5P6O=|OvNU7kRxJnQtcq~fVxT#69$k@ZE*1o;7Bf+8vr956Q#qDiDw|)J*J~2L zkTE9pO3h3zB7~f7oyNB!C28vgE;p-#ri5#UNaj`r)JIN7cR%_gI6Y;jIgbv>H&{f8 z6u`EuDp4Pnfb822RwufS2N-b*6;)%B!ljWrw~`*UBWW?UJ%<_w&$vk6Lurk)B?x?Ah!$|Q96d0h|&e>QLCY8P+Ncx>g z`G^LffUwQH1hLV%wtA!9Ef*)CS4uh$paI>+-7f59@^Qos4f{loT4t4Dx5szGM5J_! zDzH6Eo^Zu32a^?k=uULFiUA^r^WG&4{USyM9ZA&4TH(XRC`rzvKKP?#ysOBi0F|gI~ZPxER8OKD9Kkdi|*|LJG7zdat!G3!*7Gz z4-_?_<~3~hu>iQ$F!pEFZUk2gho6np;pFz;ItSLb{R zsn@y}blwbbI&0L02aaIH%EOG?G>JP`iY*~+9!KzDdk?`oI)|A$Vz@n5Km5AZ_{(el z``1t-` zh6md&M~zGTDf`anck*3@)-K7*XvE4s`&z;dj{rRBXe ztqO(Ll@x-MyUB?km&9V>FfHC+#25WmGmMVScsb%<6Kgdq_WiRM?aSoxb1h$+?UaS(V^hlYVy#Q(Sb+Cj`F*>lo?)G zO@TC3)Q;OozJ)^YMsI<6r`1HV!d>(+n~KE3^5M4aCxpt`%r8xcTh2n=T%kcUt;i~{z+}h=h04Y>!Jb=9I>F>( zG3D+9jTh3+c73uHYeW(smwQuCZH{T7b~nst$LVG@N(%ZU}MSsdQIc)Q=>7y_60Agjab(&-rRuFFml__qa85wXBnVQZ>!o zfATFQ(hMOR`R7yJofAZrgLE zcuW=^VV0ak#p6}l4GOnGs*uS5c2{qp!)<4Qtm=Tv)0?&~8Hh4q2MP+*AU_dj(!;u= zT>J)0+po0`xgLwrEwsoc((K^q=oEYCH>iyeba+y5syUG`8SMMNw#`wbHy~8C{wpv8-cN zuqaaa9zkr0^(mML?)dXWhqUjqB|kI1xHFFSwv{>=W|x7YY4{eZk*nHA z#{(IuvCD>2NzpEhXotpyriq$pBp^S)@5_!zj2&BDU*~Aqo_vUk6q3uu-_%XewDL4K z#s-*Hx0g;ba;j9OLdIDZ{f}h^hU5UYOWw$hq^PPDQkyJrDSn{#yfuls7OWsI&QELO znJFcM#&T}9w4F3x25hx#--4>Xrx65HebeSF9+mgUFFuZtUVumI z2m8t$u)K1n8mX*wH<8R zDH`2NqAu;cCWRJ!M>4zHo~f(qcJ{S+qJABHeOZ2^K`Ey{4Z^rKSXCSQMU@@vRvU;D z0&Nap%wh!2?5%5{p)-7-Q;AJ64(=qYCHZfPf>gq@T{jumsYo}B&a6;7{9fTQ3HUJV z0|R6Qh_K@46_#BYK(i@+8o-pg*H~wmNB{VXt8R!rsP&$as|yY8Mi%F zyhSmEE85M(vYxj$xH|*7z2Zr5hH5OcJ+o}bY`bvGZkjvUj7~Q8xdv-zZ=W^ZdstOD zXWvg{n@`=?SZ-L^8{x@hZi0v5&4YFI8`C$*&+{bB__xXK1h22+-rLD?%|vTNor_99 z$Rt_Z8BfSGgd-D1I)YiW6ldhWR{P3f>;UZODjsHO_f9p#oaY+mCs}{3TRWCg(Y6MO zb{(w8JK?B~+TA=K=EtCIE^9lgm;D|MlJR-gH6vw;T#{kHF$PGT2>m%&+!Z%5%UHkL z1m3oXzQ(snx9P*gBZ)v|kRrU-V;;qq>ENP&XE#bb4$!mxNjKp(g}I(&%JCB4uHawo zQLaUmRz|0P>7ehP~poBsii8CCY57)${WJtZp2fVA7(6@Y%|_Q6Spl1*sKkd z>76_w14A^vyp|_Rrz{`zv#6crwaCAKil|=G{v#X=vxU!NWT2GrTOg~&>!U~P9+|1U z#ro>A2tts^jwVC3;*EZ^)Wd%+uZNFnA{1g2LbAVciZGBm>2bvEn_efu2Glfhqkq-I z^|a9}}zU`vvT2B-9R7Tb{n=LouFDFnVbZr-X*V*SDw`|t5 zGQeJwLq6F_^n2rRAD!-d?{GjrC-PB-%?)tX8!JVz!gN;&Nv&AX z0&&~pnQDtpxn@lO*)V3Xf3l2S&B+BotaK?W83z{yQVVS{yS+<_;NBaHksq=Mz@7tH za0j!P0C&VWVlzshNU`6!Q9JUfa*yuGFm2Ovb?9)MSmX9i=le6kcTY{Ks)BW~z4T4K zXk4D|9UMn_?+OIu?AZb7`sCZ~xl;gQpdg6oFgV>!ra)q86HRTLc$ETM95Az7 z(x0Gvqz>R|`9bE03Ud&Yk0akLTXyJuH|bA-=j6iu5{l|*H0|qn3_CLm*D?Xr+`5)A zwF_obWjOU3AOl8A^!p~c9gdLW(>tOZZA9hfvIDRDhLm`#`EYsD=1+&!f-YDHn=It5 zDBp!)zUAOav@jFZAntUM;h5q-*ls7iX4!)KWutt5@i5`C9ocTlM1D0z)!IZrc<~)o0??lTe zY*Cc;fDJ+w;f5l7F^+kHSKHV`w?~9YCcbVI``;UnPQNr3?r~@IY;;z9SuEtq?@z$p zb7Aj1{+v~%>X$?ur20A1_NK<3)K zLnw-tSs>CY?h)fdlgRlN$|W}`>NRJMQriGv{{j>5W=K^Lro`J4izB<3UMD^@ofHLU zM+XTbA;!67>ZXcOGr;~}zJxm;7M?%6apFF*$=tLUZ3`?>w=sh%#tFOiflQZYeYsbbCgGRauKT-fH=c3e^<1-ALM@ zSWQ+LiPqFNdeVaHRn^hj$Qh34A<@&l@4lJ$9^QF+H0tUrUPfyWXj~vqTYkXXqHG+T zEla`By}Z{A=)kg8922Spm?V6?^@bfi-~^B>yk)l_%CrUsD{^7Iu@Q+4%*fC93^*%< zvYGZE#d)U=QL+O4xb-Hx0um}}46T>gkRjxJy<;W2%i8&uSHXy!0dmRjkaHJHZ!)Vl z@@1HgQOFaEt;?G}?46!g4r9Szn~m4Y(YjIFD*~h90kiJ%Pll?nJL+@^Mq8aw7o-#Y zdog;Nl4(qqUN9a;Nt@Y{(0Zf4kD=TR%(C6Kn*%&*{162*e=pe934W|=@`WXV4~fm- zwm?Iav5EppW?fN&RcFl63KF>pJrqOgE#&SO515RslmEc2d_gE%fi+4R}()w9aF@AGqw7Y zWxLzB;@S6SUe`g_+b5nx-TRoL3gvl1n zC#{TEJ=JZ0`1S7qqw?WH^-b9Vz?oPUG#B6no~PZ%A@VGw)4A?O810q8oCSBH;HtIN z-_#qnt8p-)GN=he_+OY0wJ+G1eSyTM(Yn98Wk4oL%snuEo-h-#EJVf&VM&-z)9^$D zqnMh_dqp?Pw3}+r%PjT9DETi+!+%NYJx{mq5k1}!N8!YoOP#EgB7v}#^f(@&XuoV< zwEr|a-?}}lmAYXodB);|4h9&dcK}TT+QU?;BV3`$pxca=n$0G8&SP`5U#XQ^*}iTI zVWW;>AUQC39d#q9gCTQgwI8mLFGrO=GJIO^(7xFKDik?uNo4iqOCdIvF`G%$I zRcE{);ga04fnyTBXzy|ARfc6}J8;-^``-QI*8Stw{p?$pc5Ed3_uqE$I=%Qmare^H ze2A2j*9YmDV^hKrd3`HkE10U`XwXuqva$mAGyME@|M>N(Q0aa6P<|7V2{O@ORZ|9w zzkYSLa2CB*o4}-WHm+TRB$_J$wk;mj7?6BZ8#+IL5>YEV6gGKMZcQo&fy$KL45XU> zv^IE4aUKGb#oaR`GoV|vJv;rFm6B7zbM6JX78J+WY=s=8CF${$(XUg zs@Rri+B|KmV%w>y(5L1_$xl!>pGhc1vd}i6VoXj*Y}=BTOT3eid8l=YoqR_H2RB*? z7>-6Od~^dbYSbyV<~`s-Hzl>U+4zAC=45T=Jqt)7ySNiP7TPG~TxN7<=U^@l&gQJ0 zMIw&)hROpkX*YXPK0Q)p}sJDN-ZpX%km<$r{E)E=KZDiqcU4Opi@fRhp fglhD6bFAn&W|6 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 z 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

J9(QQMQ^@4eVM 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

?dRl&92P&6KFuGy#gC@(b+lC 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

3RGog@s~GtTqkjjx;x17q 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 literal 0 HcmV?d00001 diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb new file mode 100644 index 0000000000..1158bd68be --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.5' + +homepage = "http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html" +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 8d57ec45291dca774dba2830b599f50bed341ee8 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 2 Mar 2016 11:05:03 +0100 Subject: [PATCH 0346/1089] LLVM llvm-config needs ncurses --- .../easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a-Python-2.7.9.eb | 4 ++++ easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a.eb | 4 ++++ easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015b.eb | 4 ++++ easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015a.eb | 4 ++++ easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015b.eb | 4 ++++ easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb | 4 ++++ easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2015b.eb | 4 ++++ easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb | 4 ++++ 8 files changed, 32 insertions(+) diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a-Python-2.7.9.eb index 3c0e36d72c..222230619c 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a-Python-2.7.9.eb @@ -26,6 +26,10 @@ builddependencies = [ (python, pyver), ] +dependencies = [ + ('ncurses', '5.9'), +] + configopts = '-DBUILD_SHARED_LIBS=ON ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a.eb index bb160486fd..7c0771c083 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015a.eb @@ -23,6 +23,10 @@ builddependencies = [ ('Python', '2.7.10'), ] +dependencies = [ + ('ncurses', '5.9'), +] + configopts = '-DBUILD_SHARED_LIBS=ON ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015b.eb index 435d7783c6..ab41e5094e 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2015b.eb @@ -23,6 +23,10 @@ builddependencies = [ ('Python', '2.7.11'), ] +dependencies = [ + ('ncurses', '5.9'), +] + configopts = '-DBUILD_SHARED_LIBS=ON ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015a.eb index 88dcd90478..40c74c411b 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015a.eb @@ -23,6 +23,10 @@ builddependencies = [ ('Python', '2.7.10'), ] +dependencies = [ + ('ncurses', '5.9'), +] + configopts = '-DBUILD_SHARED_LIBS=ON ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015b.eb index 28f4906cec..b307f91c10 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.0-intel-2015b.eb @@ -23,6 +23,10 @@ builddependencies = [ ('Python', '2.7.10'), ] +dependencies = [ + ('ncurses', '5.9'), +] + configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb index eca1371a7b..1594ed4eb1 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb @@ -22,6 +22,10 @@ builddependencies = [ ('Python', '2.7.11'), ] +dependencies = [ + ('ncurses', '5.9'), +] + configopts = '-DBUILD_SHARED_LIBS=ON' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2015b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2015b.eb index 4bf8e3225f..79c6af9120 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2015b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2015b.eb @@ -23,6 +23,10 @@ builddependencies = [ ('Python', '2.7.11'), ] +dependencies = [ + ('ncurses', '5.9'), +] + configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb index 2605ca36ca..24445c47fb 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-intel-2016a.eb @@ -23,6 +23,10 @@ builddependencies = [ ('Python', '2.7.11'), ] +dependencies = [ + ('ncurses', '6.0'), +] + configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' sanity_check_paths = { -- GitLab From b76dfdf632cdb87cc12faff269a944e24263ad75 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 11:18:06 +0100 Subject: [PATCH 0347/1089] add patch to build bigmemory w/ icc --- easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index 46ed150b7a..8e876a2b37 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -277,7 +277,7 @@ exts_list = [ ('adephylo', '1.1-6', ext_options), ('animation', '2.4', ext_options), ('bigmemory.sri', '0.1.3', ext_options), - ('bigmemory', '4.5.8', ext_options), + ('bigmemory', '4.5.8', dict(ext_options.items() + [('patches', ['bigmemory-0.3-4-icc.patch'])])), ('calibrate', '1.7.2', ext_options), ('clusterGeneration', '1.3.4', ext_options), ('raster', '2.5-2', ext_options), -- GitLab From 1d39971546133b43cacb60b26d6b12ea6c248aba Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 11:33:45 +0100 Subject: [PATCH 0348/1089] add missing patch --- .../r/R/bigmemory-4.5.8_icpc-wd308.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch diff --git a/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch b/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch new file mode 100644 index 0000000000..36618acdb7 --- /dev/null +++ b/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch @@ -0,0 +1,17 @@ +diff -ruN bigmemory.orig/MD5 bigmemory/MD5 +--- bigmemory.orig/MD5 2015-10-20 08:17:15.000000000 +0200 ++++ bigmemory/MD5 2016-03-02 11:15:44.341327000 +0100 +@@ -45,6 +45,7 @@ + ab68983ecd8292d8986b54fd4cbcac25 *man/typeof-big.matrix-method.Rd + 1bdc8e05fa99285561a41b8cb46287a2 *man/write.big.matrix.Rd + dc93a6dce890660533e7fd18dc1ce2d2 *src/BigMatrix.cpp ++b1d3a4d02405fe08c7983c479bc27f13 *src/Makevars + a55f990cdca7b9de45640aa60febaecd *src/RcppExports.cpp + 81e6f49c7f623fb97376bd4b7132b176 *src/SharedCounter.cpp + 33e9321c8b0fc07df926fcc2f80a41d6 *src/bigmemory.cpp +diff -ruN bigmemory.orig/src/Makevars bigmemory/src/Makevars +--- bigmemory.orig/src/Makevars 1970-01-01 01:00:00.000000000 +0100 ++++ bigmemory/src/Makevars 2016-03-02 11:15:00.997797000 +0100 +@@ -0,0 +1,2 @@ ++# disable Intel C++ compiler (icpc) warning/error #308, to avoid 'member "std::complex::_M_value" is inaccessible' ++PKG_CXXFLAGS = -wd308 -- GitLab From af2655aae036d77c0aded05120bcdee447f70a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Hajgat=C3=B3?= Date: Wed, 2 Mar 2016 11:35:27 +0100 Subject: [PATCH 0349/1089] Update LLVM-3.7.1-foss-2016a.eb --- easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb index 1594ed4eb1..4228c8e824 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-foss-2016a.eb @@ -23,7 +23,7 @@ builddependencies = [ ] dependencies = [ - ('ncurses', '5.9'), + ('ncurses', '6.0'), ] configopts = '-DBUILD_SHARED_LIBS=ON' -- GitLab From f5900df6c659bc407fd34d1babf69a7589b85b48 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 11:48:30 +0100 Subject: [PATCH 0350/1089] fix name for bigmemory patch file --- easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index 8e876a2b37..1ca3e7f554 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -277,7 +277,7 @@ exts_list = [ ('adephylo', '1.1-6', ext_options), ('animation', '2.4', ext_options), ('bigmemory.sri', '0.1.3', ext_options), - ('bigmemory', '4.5.8', dict(ext_options.items() + [('patches', ['bigmemory-0.3-4-icc.patch'])])), + ('bigmemory', '4.5.8', dict(ext_options.items() + [('patches', ['bigmemory-4.5.8-icc.patch'])])), ('calibrate', '1.7.2', ext_options), ('clusterGeneration', '1.3.4', ext_options), ('raster', '2.5-2', ext_options), -- GitLab From 4bbe0fdd78daab5df64565e4995954774d21987c Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 2 Mar 2016 11:49:01 +0100 Subject: [PATCH 0351/1089] not needed file deleted --- .../easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz | Bin 957783 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 easybuild/easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz diff --git a/easybuild/easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz b/easybuild/easyconfigs/m/Mesa/libdrm-2.4.67.tar.gz deleted file mode 100644 index 220679b472741c37e8fbfb6655cbd0687f87b9fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 957783 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 fglhD6bFAn&W|6 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 z z`cKk&?ZQblj~c&{ez23W?p+3_0X9AAU22t*iq2&dP@K?rfE(>}&<%B`oJ*8aBAwVU%$5|oE;b@f^J z4oevhLfyAIYJ9{l`I|ShXY-29TDsj1mFk#MpXP050lSPD_10HEBSDy{@rWUM(>1ey z@@2o*8?Ue#Jqx)UB-=W>5W^O9!(VDriSmVM;-o=m0w3V_Ihc(x>0>plGJhVE_9NefBgy4 zGj`)Yy(0G*oK%f3aCn~pvd4Wtz6j4S3O2(hEfSZzxF6>IwU&JBaAw2yIJC8wo_qI6O!;UB4*UT4?p zla#~ncEer(=fl1_??EzG( zSK{i5_&4v*4WBvB-96(|$Tp4jH#@|4vZwsuQ&<(wAmP@u4|yE|^)#SkJ6{w4t(N;p zOIQEpnJnY=;z{Ss2)ut)M4UCb^-W0EOVcuDDr>k6J`s~|>Tv|1w3 z?7oig01%6v3`>dlChLNb{~o4_#9@J_N{jq*p^3t{V?-q zjCX((zY+%{j3kC`SX~%mi>st?p@6I@U)NCr?Rh*}%jMe#_u!K0y(>vg!i!MaovQ%c z$gM=u?IPrUKI}?rRci;VPopWOyqWHa4tl|CHW=cpdp1b?D>-NT zd=A)f=+5EKXY|1aWAzz4u;DZ;D@|*mu#S|4R?PcwR2<}3z)NsCV z`}iy#S!n^ycAqAn*}}>oiv2Y^Nw_I`?nZ~hjivF^OZZc#WOTZ`7T11zS*sO3oohN< zz`N_&jow{%KHa-($v<80mJ%1QJ33_n53f6phu58X9$t6yJ-qJxcY1g|`^+9*cRrJc z*PX>ZyzYFOhu58453f77^6f)lqa`ni)f=uTa0F4A>6)al8D5y}Lx`h%?9KPzE?cV_qMaMq9 zR>ib6e}*q}Gdm2LQY?tPh~kM{zEzeh11NbZcW?KpC;h3aGtAKU=@i@dN;e3C- zg1ZjzHq%jzZY>FdXM&o-(7jnA&kWfS(dtA18l%6KPFB|*mfko4kr#v^g@{n-jwMWt z^rk_JR{5uK)SpfQnunN~o>wO)wbyv__|Hv#OxzmM1#*83PMM936t9r(R|&yMkmT@hihZeRfzT4dTw@z;18@^$U&^U@p7cI%QZ zU|8Tn(XoL9 zS1yS1Kz)(!GGu#ACw4o^LYU;rL$7SBOtQl7wp@{w?DuY1rku%Ho+b+0T`EP_vI|w5 zWOOR$n9IfY{fQy>d)uEO9@n0AoCnyn8HZ=_oO6#ka@Z#ybF82e79h{XS1wi%)-5^W zm^Pi6Of_q9eVF|nF(P_R*AgzOYMPy$*38OHtq(OYH$`c>+wu}`}r zULKl5#)^T29HKuO;bKB_L9#Zai|ZkfV4yk-ip`CfSy7dD)r9jTZi&9~NeH)HYz>sF zB}l};1{ec#g?^jGO+ zmoSj`Xr&SiT>#hVLM3EF5Dr&}S_W$bRa29=w~gofU}BE-DuQVkhdrk8)DQ{F$~!vq zWgeDwK)Er`?KNV5){6242EXxdH()t)s7O-PD zDBrMME(T;KULiTyfBuR4DAJJq=k~#4K8>onlx_cc9g15dZ#X~~oYc)aNi9&%4FkiT zg;yVkgLKty1|kM>NJFib9%+TpnZn*6Q`Ha_SP5!4D0o7n>C`gmOa>#!K|8*i*X;d^ z@(;Njgrbvpw;Pjx{-A&6B=8H`^x&H%#LVS47U4J`4|OPE4NM>9yTg<4mlP|)iCGTh zUOry|qsLSP&u)mgjIj#ilUK1&qeqSiFmDOZh-<%>aG!sNHpq;iY81ucgiftMx}F_Y zUcA(Yz1Y8wHxY`0iZ-=nx%LfNcv4W|`7jy>JclMBfjGqLY}MSVHtV zZlW=xa&mV<{!|da^Y*V44;OG7+Ljc89`C={TT#!$;nQCb`~>!Y$N`Bcx(WuP$+dTn zkAsAsod^Y5-aR?yA`+eYJ+fo3CjzJeut4NX6=>nTRIa3Q{797Yp5}-2v{jxE*6K1M zW~2+M5{xoY?R(317N+03(t9cdNGqd&Chf#5r5CcU5h_HVhav-8$472CK4ls=QfUEb zs%2BMx*gyo`1|5(i5?enE`4GTZ;A7i|cn}T#5qW2G&Gpn|TR~tdz{qXW&5GxlUx( zRxR};*8*5TmHY=4s&09uiIzXP*OSS$CeDU)t!ZB=C9B{=Og` zBV4{c3sFLA+V^ zZg1wt_eWHLLXfPB&s!%zCVEF#o0D-k>Iah>E&T2RaDD5e=XMEYY(|7;kB>Wwp1#FT z2J4O98dN2|9-LwWDr{dF-*8|f(RlMQuHbpt9wS!1xDZ3Vc(I`_I+M$w?u{(j1d>T7d;}vlr5>vWFm=PVU}Fw$riN;($T> zc?N@XPuJ`v;JaOShwlkc9F zX(LJg@9-&l2+#1c25juGo@BX?FrIwI* zGs*b5^X#)Rpzcz4b#--hch#>JC6lH_5j+%VwDqCU1{$kI!&&4Ni}JxEaT|MYn){i+ z_eVYKWo+mfj%WPd8;t^&l6N-S|L5DYvke}SN`gi^r-5_F#v^iA@h7aK8HfQqHhJW) z1CxG8psENjCrB0W;7mky%kDGtUN=oTU$1R$ZnDk<-oRnMJPH8rcI8H5EZvigF?NK) zw!`4@Vui5-1OgM+^d=@?MuUW0V1xwXC}1}PA%3TFCp{7gs@3Ign?S?!FQ}p|xM>biRW+&b4}dU;59$-<~}Vc>3N(Bn`aB{AKJKDrYTjOu6Q#u|)EfaiYRW516vhJI}OFM}Lpm_3wq4p0$9ToaG> z$+J)Mn31Vojm@|f}^)PGj z1ixS!_Ks)ZN89wpCud~Z_)+%q61&rfNzgGde8;7O0WRO$yLB*?HyD^|15*Qwi@~(N zMd|L2UDP8n*RFe3_3&<&qxd8^YsGtXqn5`#@-3Kr70@+MhxzZ0Ba>$|bgaqeuUfbH)A$jdHz2(4R@g7Fp0k77TNAs% z&Jf-k7E7+iJiNCja7_{ia{zkQwsh1WHXTY(-sG`s29|=!mqs zz0o|!R;6;LjZxp;-QiTyr!Mt8GPn3)Nvs4be?s$2Pho=MhsaoIi(ly{uKp~=bx<6H z!0Wavwa+g~GlgukwzIjZRGN5D15a&q=f&qbeS)8MDz)*Ql)hW80vb0IO|p0Xwtceq zkyTA!r;$a{ z#q`r~9rs}}b*vs*@Ex;@@mH{r8xG#qBYIblt3t~UeS0;w^{c=q3XT2f?DTxi4Qk-R zF^&4cc2(RDb*GgJKPw-n;|4B%IXFIU!ILAeQi~>}!Lrv=cQQZPr+E?r$PV z-N|$?J~XBhiOTqsxA)_XX@8awCyA_yL@VBaygm!STnIubxe|ik#6uN-{884WS8x5D z3%P|?R9n>=J9(pwxDukr)S zJZ*^4jO0rXwv&Z!ZQ3B*ddkT-!s7gBWGJ?+0V(cvjPCs8?Q4pFO0l29@xpDjwByL$ zsXRz0)o!M=Fb|znGk4F>rVqI2N>R^=hmQ%R9(ep_o6~1*wy7SpsccMchPa48ude1< zBdf#ay_@|?-%oyPWQU)_@8>6tES=Y8Ire;k6;Ae!jvMt&2~mV!i|D>--dlb#85)~k z2vGS3{i|FP@LxI10A1Zt+$4?P!JFp(Q4`$*_b!@8N5Vgxdj0W>@3N09-`d*T5?4ce zMVuX2kaaX%-=WvOITXfQ%a-akI5i;<4Vi_iGl8AsKy#tcZr~JK^A1rWTQfbGfzSG81JV7Ez>Z(}tX_20+ zs9e|bMus6fN-4A}baBEngpmqXjpSxF2nSE}p8txqu-x5tEvOtu_Q0#;VOw!|+PrEy zb!xwZrv!Hv9+`pC1~tw~wspV!%b-%qn}RI^H-M-5^c}g(U%Ylk+pvm%C;le)AjV>P z@!0Nbwt@JjNZP{#c>`Afm{)@=Og93%C9Zqwo@ANs2FeAM@l?fJGQpKE@ZyA0*3qP5 z{37q$sXsht*ZT;pz7`c2CpSY4l9R>5)ZlX=myT;#w&qS$Z;uUJQB_%~WRhQ~XZoQNn#Y37pO^$<~x5K0&2sbUWiW%4yV-k0$xAZe~SaI{EZ$-IQWbL*!G z>%eI9(rpYnc!;Y=lu{#KcJmK$42Y6T8H(vb)IYTyi6zAZP<}xv&mvesmSsyt9(Tx8 zI@w6^Y#^HAN00-rk%wW35G{k@#639V&oCxlUYUQvy>G(x-3X>e{2EV<{{LYL*n^`$ zgbk9|U(tP*xb>JOIF}xD@Uq!t`0wHI-rEbbC#!$}kG zDdr(5<{=_dp&Y3Yhf#eJQ~G>s8qDutBw&KedSWuI;k4H^b*E<|a+_g}OdFHupm(RM zxt6&=I+&T&({_kZ6v}ua|JTs;`;PIDeInodYduS+O?*CgviJ6=*>0Zf=QC3!kg*)g zAd}vjMqWTVVu2z<;gjrR+jFOz^%IBkIs_n6OzTim5<8FHepduL!;`+Tx#*Znk0^r9WVEOm&&PUG!2Y!WxWn=4V1*j0qT%Py^@{^QlvlZqd;Bfeu2;$B8AwDO&aVK(C7K<`qxC zGiAiNMv<&vIt7HU+cnU29n0XC%G`M($h0JVVo(|a0kn7E|NM9*S)C*Gh?Aj(UXL%E3TaUevWr7y*3=7OO9|T;DDBV2`vYU zzJSIk@YC)pOTPhL+ZZe}3W3G)oc+oXS1dxT#~>%33DefOLP5r(b0r?o#|TxHX+80Q zAMvxo$h1mjYkRj|sFbKjK1?4_FfSSYSbY6uWR^8|SiVEYU;F~yEZ296v$`pb1Xk|m zWk?lGmEfH3dEibyTLdcX!ZgK!VI{Lt4@LVcCGNj9)lGOC=f z#oC>Zyg4?)ku@N#V7LZw=MJi*tOb?QO=5^{Fu4~Kj$o$rHS2b~q*V1seJ4eqD2uOTId*Nk zrmVt(>HX12E3Ku)SFEi3QY@gIQG8usSH~w{Y7}2bd%+i$;_Isos8(WUd*$<^izc^I zS{3@Uc;`l1ZL?k95xpCvc<`>!EzvBsRmH?hB6^M zOKe`mj+Hsxu89Km9eiHji9D|Fgd~)oZH$R4Q+HI(F0KYd;LZ@ki#jIj;aF8cs4E#T zhMb&lb`1@i>=DNnxn`$|am#n44#PEokNPNuLw(jp> zp}@~*jJ-cS`WVE`lw{bGTtxNXDXVW$?3W9>g9p7=GPfIO+tDO?C6QvIO zO+Z91wtOcWg{7NtfwXnExP&1ngO$urW7GDFGxl1+C z0tZ0x;)(Z#PjhXr^G0tP`{qISu=lqAi*@w-KW~2>91ls4EYN~Kk-dadeJYwKG6+j~{*WmAGicoNLW6w4(|yiB63 z%osT3W+!=EfBcap(v;a-lK=Y#?n=gBfM3_*t|VwZHbB_p=zzjgxfLm$u_;?UuMN@Or&Ckr1jujALrRc;FVZ-15I(MZ+>Gy-7l#QIHfgYf6 z9;beZuwi{rt}}E^l=1NzPkLuAl&j?2qf<7qDV5gp%pwA_GLmbG5}JDY-QAUfcgNsa z<#0Z^E2TrUsv;H2k?O7#)h98fA9GgHhY7%@2sC^N zx1~j>q(b=7ZXJrXyRI|D7T@BRmBX^;QB{1AroBfNit%{P{5ywILz|d#E9M>GCAvqv zqI!m@%i3U(RT>eaAm2Nu)h2URxZO^M`50DJf<&O=rCq= zCuKx5(ETWAN;*e)=+~r&eQtwrwPEpSTSMG5r6I7aM63;?Ip}EmZPFowbU+bBUdpgf zL7N?2u;8tW3^QdYUDM%0`fJia31(KHDKM+)^N1+=Vb+^KWz1#JGW*?FjseYm%8Zh1 zsP3Jw!8+YLPc%vQ&KvaX$@ok+K8Z(Sa9-44h z_$s^X=fk7p0~yFMN4q9hO52EPZd>E`uMgRHhE#Y0`D3q6W?VRI&s<8Y7)IGZ$}oW|llGuXlvF#FS0&>tA=xognGH7&_j( zc^YPAh4L8nhtmDEZS>Q1iOTF~=_kE1Z^tjV_Q;e;WcnnxIWu2GR^9q1E1B4{?|zLf z-W=WCi{X39Fq*izR|H5(je2#hYK({)k6l{}&cg)eHC}!@v(nXU^r>ElUCBv3vW4M% z@AUZS%^KDOPAG9X;Ex(XnWse{eGv$Fl_H3bWVli3llZ z{!WJYsgb{W)7(FJdwy|wokvpVh#ojXE)zO|s3kfijcQ#t2`~{X7M?VU8r~$TBh7E* zTZOCkUisfz`HyS)fkLfY#XQ&W=zA@gP!@AT50E8MkP{FCY0^j9eR(b5Ru=LI536G0 z__s$Fmmg&PzJz6w3LQa-f_P!XDpJkAC?Uzb5S0NTU#1aX5;-p7u)9em{-qRA5f_wV z`{!W^HBD()B;-*n|7co~MNk>y+>E^>M*i^h;`04%)Y{)VWd76+ZSL+2!9t*ZLBWAb62HDaAL3`}xFCKc`_2n-WHebM;^k+k`FD z)pV0W#!oJApE!cqq@I1f#U#0SNsF6LL-Vz8rZ@ttFGP}?Ryn@Y=7kzroJe3llugXT z`ky0KDX~_e0#hYdZEaOY`D}(~JETnBsI@5vS)h&h1CH;ydRH5D}cH(uXu|L zQy;YZj&s|{CcYQvtSGcoLmvKyM`&+UWuk5y*92Mvj~D!-^#YOTChDY zP-5Xyk!^n6m?D8*@0<)~c#TqmXY+_nS5j&~{gf8SR6%T?ClO}Y1P>QMC8hEFk(^@g zGzOuYmB(C`t^+He%#f7G2kN>MXc)m< zgdMF+ARCtn!UkOfsVWpnu9UJlF@fdZQbOH`NG`!i)%HQIi0_(Vz~0iE*;PJ-qGY_! z;fO08c_~^A?VmXz7VUcyiPn#;Eg{q^vVoK*M)L68BC-WVBEp!;;+!EN=cJOEBqzZ) zVbn~O5%Ov&j!&zRDARwTymYL2{=e+K`Cl7H(m4F%`$2z2XHX)9br^hX0#ULUu*0)l zU%-iXEn5uI0P|RyQ8bc)waMT9*3sS5J%=uE?Bua`gQPyHuj=aR>N<9xqcDp25xRs6 z3VK!u`!M!FqhN#vlPnIiE_i0iGN)wxBTCoJ4-YFV&D#pK* zO|mrd{M@(C*^|KyttoKIL^x+?Ymh<$T~HP5(mv$-nZKZhIqZQu_*eO*B) zn?jn<`7nx_Dc+go45vu;7=GKQfSjrTkHWnXCoEeGZjg_wN@;`kE-V3T=|b{6*51(( z%#O}Yoy9c?V51v_>~a|66l0}U>m2S1ZFEwu2sE+Rd&j>*5!EnTCsI&vUcG;!bMK#P zi2&^Biw@c){q`@xSWjA?aAg>_B9E`l@^f9Ngl17Zx?R_$>u)y?oa8ZS+D%U?y zMYC6L8Y@;8#PYF0vX<9G{X^96`oksY?88bFRGQ9O(<#Fs{6;i7i-v=xD0sd4rm|X2 zz&W|;697cy`iK62P9f(6_IKo0R8_yi{ar%jEa!p1vo!{>Gc5@0@;86fx9KDU1X^x> ztbYiATAR&?hY!Td{jKfiLghgkC%{$f?Z-FG^72wSRqum;zC@F$=CLf2CC(d7XRGM| zK&d=QaUveFAu2kA#r!8Nrh+ge2t2X$-JV(vuOu*~@z$U$PTDnJ-Y&7(^4jw2 z1@Wf2lsX@pWz4|;mW_6bOcIMs$cy!&Bz2PErHkT(O*$?cZ)niHQXPoJMKEf0hhe=_ zlJt^AJ`}pa<7+!PUdC!Dkci?~&qypVy+!G$313L62pehAPE1jw3+>8&mS#8~_ z1`s_^0e`9d!DyyYa!czLtnxZ*zvz1 z4*Q&#{V zH~4iR0=U$^tuoKtSp>-b7co-{4WAXI3t6Nfxt2hlR#!I?L_@;nN@f*g9S_qZaRLEvYL zZ_>3(=4=sW#HKz#gtY&N)^9uek5kGxSQtV+I%ha)>FU=Fu-fwgOG9_$~V09oyt1BGkKd8>uJC)dw1YD_1TVSCyk zo-pWSgZNRidobTL4&sp}wi$VOxeP^-`)SV|P2m?5DP*aJyj7@Y4j-9vC_=<0pQ0!^ zhf@+inmdtExB8w=An{Wg4@-p%Y|TJdo?s8)^!rE$6p|XZ^vIA_$Tdt%6!1o)_7LVk z$eE|ZcNr_=`x%|DG8(nKsiT1!jJb7qbnxP6W3L5We1$i6j2!EAoLDGmKjPRJ)ZyAYjw7udmN5wjb-4#$hE49hCL$R(Yf3tGc z8z+Ba2`ZlhTb5SOphcRp@IoP;3H+CdZJ*O7nAWI3+o38)khrjzO)4)C7Xb ziH|&sZAXu?3v_I&i7jR=k1@5y>;)<;Fk2waP8~Rdkgk((!aR^kZA%@~baz)nKa8FhEVawA z)2N%ADCJM7bB=>M`7oVd(TrC#sS*{Z-buAAe3t~wDO$A*AIvdGU*xfwu(DpC?^zKF zk)!3<__OrSQh~TIdhS%-#A1Kb(j9f_^*`UB^?WJKA?HDjjY!A;n@<%MmU<9|lT80* zDN9pBE3K%oQPnE)lT}%kRB|Zdp*hDNut-Z5c>w3?EzU7~8rmFK1Sor>XqH`9s9`3e zB!s4i?*Nn}<@IJUBxQ?B1>Cx%j+ETWFE%%=`?%uA=kw0k|QNU=m5M3Us}J9!lBn9VHrF9mf(W$W2sa&5*YmKYMyrM3BAN*=2K~% zFLiGR1Js88SvV)ehVv|_h%#;<+_Na`j(|M}*nomKTuhe_{r0MeE)-c2E_P0 z`P=Y-;TNnU(l@{AQmar*&hXaOTBEqNb(=aVwze!K^mrsKQipEPVCYcY4MV)S11ElQ zsWs3`6uR(IU&}d6quZwFaL7LIZ|rSXcXy6artulI(v?rFPG?=Y;G0ihT`HZ&^VG0( z)v+B*V_a3q)NwcAI4Gikl>=saBWnfCcNR19wND}Oh)S92@_AbGc1)pSvR@`OU$YdSQzKv` zr&A>1=OUhh)x>nn=ddEx$t+#_WC2OZ=5|Os1dhCo0u*3hC~7eP3J zpzs$*;L=@e=-rc;?LT1yW%MT96YR+2hd(@3U2#kgE0d8k$?2P|Ik}yX(MTTu?%c&4 zi``bHLzZNb_^c+5((SfKUBtY0yM=yy@itf!;`p84ry${hq4Pa(`+aY~GBytK%W4y~ z0(;GkA+V<>Mb_IG90=A6&yQutF-W(xAkq2SD~|I0^ieFoZZ_+0;@@q;=s1IamQ~!U7EwG}Qj6MK{Q>rS(@l{ms&*AsEWJ{K8VaXh}pGy+s zpHXQ&wo8$2dol{qA(@d*q8Fuh$IAZr1|n7UQAy9eaEF|LtV^t*K2Y*Q#G8vSL>(&$ zIle;1I?#wRsKr-Zu4+x?Me!U(D@X;d@NH(}*$xH1^pM^{+nrIH75U@$N2#IX0h1ke zn7v~CA&RgY4mwbkUxjIFmGC{)UoVMF@#)|6t(29E?TGCeg3;4>7cXP*Sqc@k@XO)L zS1k-P+uA$W+6J;;SkOC)ic#FyWU;4@buqc^GNnz@0XN_PhZMat5-=3up7x6+@zmAu}l+W^#?m*&RkMUapqfX`dPo0#OrsAH8P zys;_nT%FiEewKoLHjEN`X?ZuJST|AZF5Qru$bui3GogVew!SE0S!cptx&HoX3t5kM z=L64E5uHD(RNg=z`{9*0=(qKb`UqE(=+O@k;{^E&gH(Qu`tG3pr|mu=_QRo}3WsuV z0ERP-8W&wOzI#u$b<7h*{%|A}7p^cSII6w-_}lF&woNxPV6_(jw-k-qm%^nwY$DVN zvGa_nlJ{dR3>NSaW5*42JBH<8C>U)kz$Ox$_kP7bp{Px< zFlGN1WCx+X1x3HXD5lPT=4Y#PQQJd!?>zKJSYH;}}ks}{K)+|r6P_UdZ%~`dl zshg~tdjO0BlCxCH({y0`N=?38(e27Iq+JvTfjHhgAluhtZ-D2-lZw)I6xB0mm$Yi( z7&;$yyVY|K2n`0dCK0F4HkZd6ziubBU{Z=M49uD3nOe(Nl?Vliy5WET`xr^M`NG-B zmGeZj?RJYwwXo29GFm=h8f|h_)9*J*#m&P*fq!UHN`?50z`RXSZ3{JFx>Tmt235sF zQPvAHRBAFn6?eCCV3K~5hOE_*U_&d{I(Dj5qy3Do<;mtV%ddRK@{usha*}Un^PBiA z9=V%*!loxZgS`-cb4<8{@Y`C39O-wejC^S~B^KW_a*A7)0;D7j|3{Ta_Y8RBi*{SA z*1oSjtO)O-9f_6NLzG_z9vlnn$afMUM3$CF1%Xkd&Y*jSdjue|raOZ_<>LL7x6S2k zWA?>-tVqeWVpbTCNf$P~9GMRr{?EXT!dWWUSzi~c=E|#oyf=K55-kh;0jArh7=ML?c<_tAogV z2a(B{%fQhu#$BY{*J9o%3ezCZ?CeegrxJ`#D);lbs~xjlhKcpIyFH13%}1}kIP#P+ z5%=c8b~35TT88Y}U&+=azqW~4{E}!@=58B5fWq|nG_Swg@iZ)_%%AT4Hqisy32tJ| zzxu+>^o5&&cu8zC6-2YhQRZoq@ROTZDWDQIq~352dXMzl0)zK$SM=P#KgX7F++)sx zX{zT*3`rdkC0SUKCipI49MjM^oTEJ%JON1tLzJpNmlXZU$byTJCE@zXR)yqWj1mrIn=*?;;KFK*nv z-NnoL^HRyRA|9;*z7}OVbTI}y_Z|$7i!zsal zGEWE2YUnawPlNo^K+jbUB7QN4g6wE9)%U_!w3wavE2K%#r#SiZ@u68bKU7O7dpL>W z%uisxNP1#U!M*XGV`z&t<%#lN>C7aqQ_b6#MqKQTl+*3P6qqtEubD%1l9_)xpQ)O* zxlFZ;UwO<-9@E4ljXWlQX^{_`wtq_Avg`N5d*Lh*&=+s|ILI`94|&O`Z<8p>yaeP6q!;nf z?~QBBr5(mJTV=n}kxBd_&)JtnJj_j#+2O)O+?bb3%p@vy)}PKHa>F)%$jkPXJIv$` zW6Y80VseHCkuWLtr{oGldcMC8wvZrwVRZiBp41Z$aupH}q|VR5SEa)VH2ok)N18G4 ziy`m_DP_Zhw0hyeT@?xsGF1omuR zsrf5inT}VKv-X7%6Knfq_qi|`MdoD~560*zAAC0bCFA(?@%^!mPal7Y%;VF?_r*TKT;(#5PaikpQeTPv1SXPZD-R#PEJhN# zT1 zX-R_MPY6RK#5~@x$Qcce7xr>5?2NjecDIf3;>OeE{EB%tZEhbX41MavHSc27mI02f z+AJ;|DdFx(YwzXm$qu@ae!07?w&%j4cy^;4N}{W>E5F-CCzeE|6XT77@U$r6*bTc-ur_vz>uPGtouYquyzmzRj=0{-Uw+XM_z6P1}{a&mgLW; zgI;<>wFlkwRe#u3Izk}lRpeE@#-VBl=jbC{o6&V{;McMWH%Fnt!%)VFmaef@)-i5R zY)^NXSM|4UB{7L{12Q7stne3vn7WCCVWRd1 zgHax&PyXW1IDtFoIF&HzWS$u>2*+LOh8OHc$*~%8uqJy6rMRu=ht!RtQIF4fTn|B^ zXfZCP+#E<70EX%JCK<($3?$*iX4A-=p+OlttZ&M^68d(4W4iJqKqLR$2$D>J0@`pW z4i!0b#Y5p;lkZjFP%y|Y);AsTS5zoI3|zcGan`uw8JMPHGd?8W-|=iaai8-yFa>E; z;T5xohJJR&pm`!v$8sDw@eUTC8C}gW0nI7NVK(kSroC$nb`Xa*r6_f?kn4#6^2m0# z)5@%S7uuZ%GbZ31k8?{pNRwZzn3rTWYmqI0R8U@_l+Q>_P>@t)wplUjJKDL|m+Fi# zcj{7p3CB(HCv#D_px4Y?!81xz@TCK(BXIkyj|oLiGaQqaw2h|a~U zUa8gd$8f)(v-vHX+nSQ^G4@Lq)05*-g5z))yonw}E=!VVvSYWI=l(Bicd_S*IJone zJ{q106U+*h%SKX@H#aLAUIc5M z+wF!|tx*6csE-%uQt_%=)jxqYUUhFV;uCZ^Dk-0e3gYrq(17L+TPWF#`feLz)K1&L zav7r(&{y%Kb}d5XfN~L0c`yo)tA|vv^04-Vf>r@@4NNn#&>gSe4R7cgICKZ-{#r#a z&@g1wtAk?-Uf_oTaqIx@`unGR^#Hh!li=d&Hdq9QxN%HsW zA6DM5zwudCQ{LkMk-~SQK215cMA-4VQkw?ij4O)Z@1>s!AD@(>e`QBM%DNX=&P-L8 zjLT4|Xk7qH1%rBIx01{IWH!Y`v0&6F(d=b2$VI+6A~Q(xRv=M0=~Y>%2DRX8DH#YU zvzb4nbsZA_>EH@X&m8+2d(w$bxD}n3A?mUyR(c|&)joDjL82xxnB7|Tpi~vJQ!x@0 z7C8uDZxmd3GO#4xwSL_=+Sz!vyDdn7zbLAc|3N8T%a8b3COnS?N*IwA7zrdlE!qPu z5qW)gK$m-JG&~0wFuPuR7^0hf8FY{OM&6?No*xW>q(l@J7&=!GSC@YK5}S;M0~A>- zic9xBHsj(+*>i_$kmPLb9KBwHKX29?_$e=LRDtsZ<~b}^qey>VA8tw<=ueFc;jC#u zQ^7&8OBNU?bx2?i->j{@hR=<)H~2Rb=pjKpoYXz`psgl>|6%nFs=hH@uaaZaz*Svn zx$8>z-NuLunRujwX%Zd3F0QJ>_PU&OdAz(9C$YQjl}6K%p(vrE3_)3n>T7jTzbKuG zX0f=^bdqqc*Os#YVPP=_S{l&uT0W#^8dTLoXf>!+ub1SnH0&`WlU3Gg%V_{PV_lwc z%F+;s3cx*6zO-F>aFL>?yH5AK9n>xhosjNv>ef$}MOjQaLpOrBJF*&l{)FKS6fpx_h|k2mRx4RHV-WIh+epTv`KMO`%j1N-kNwt75fdeL2=ng&4fjLwt) zst9#(w(*-GwoT0s31elDT^0XUzDk>r)0;ycsHr)#Ub*xxMEeLh-+ ztgcFr|K+3IrHg@Q#-kmTnI7$^_#M%XVC114XQt6ERp4)ocY1>E3-4lp_Va2Qb?~92 z+Rr6cnBD5<(kaX)bW!EjaY`p3i>zdz%11;9sEzjlub~ShF+!J6C&8D35jbXv6teGA zpafTvSb;wb#Ly$X2b@UFnt>8yh{?Gd4Xb_tBn;+lEJ?wVEm?AE!eUms8+kDy|e{{_Z@D3?^g~G{!JGfDTDpGa`QETwM-|@zVPMZUs^*)kE zlVPycC}e%be9{c1T3l)>3LO_;&nCuD;A8ZD@c83dIJ_(uvhNR4Uyig0ia!hIW$-Qt zuY!1Qz)(}8a16%(NoE8Y^}3VjX{zgnVxxLlO3uX{-jH7Vp9u2>nJhX=7PUfrJr6n7-^R`>z^xlZTT;ORq~*wlu2lAr$Sk+4;4LeGoVln1 z5^@~bGk#!5Pb0Lf3`PIP(5i| zoQ;MYv#eC@!4y4xT%uRYiVlFrGlN=h?Mr;-MgZUyt_y0GnBY)_cu6T+Jz6c- zEK%Om$0V`)VAQBSTD`T!bz?{)&qh*MH@-q51Ug1sD;Lt(i9M8{(|8VIBjvU*L`X_Sgf z$G>dv?v_PyX&Clf)Jn%6l@)q0mj!;pJzwk}v|j8UJZl}le0F?7JA1wdb`}Lscu(g-dC%vZJ0ET1_qZBN zX(U$T*S|vV9V%a^)AclUI8)Dy*_8%msU{Z1-f?y7;22m4kCjX55kg?tIeN`Xsz8Y5Xea;i-ZL+%ECbcvj(EBd4Jb7FUT;X9(i z3SqDXI)Oe|Z6tS>-2;Aa;O7)O$Dm>A3F1XJJOhSBbu?Nlgot7dNiJYk112KoHJFG| zS1_N#swxr8&F>>0!@G-8%`NF;4tJuI;9*JJoJ-zy+XHH_cl_&S1z<7T#{qInh@mAQ z`|yGBOWi_&C@n`#Y@`Dz778JBZgaCy+}z}^c3@yBWsKawiyuF+Q#j;s6vaa~Xy4{0 zQ9gj$Zkr_WL}uU@YS7A~235Y@3!~f?m)L4R-!1DMR-$4{4E3uK7FfF9Znuy}AZDVd z4&;K7+9)Q=N$mwXgAM{<9s1q?UuF1WMO-q@!#PC&mCB!-3>)P#?5Gum%`~)PsJz(O zY;Eps$@nSqR|Db5O^DCWKxd@HT0(;ziA7pH_rh<}zKq%LIHT3>b&&5a#qE>~M4!`! zC~3Ne?M*T$%BnLq4vX&ae1{58od$yQ^}5-tFTW8Vh4^_5zrUer%WAS=RGef~q>c-O zP%}6hbvexfTFAX@CybEjxq@uK8jgyUnkYj*@ijy~d?;q^g z3y34ugbAa$R9kMAol^v43@U4=SOmtwZ&~(!6wS;*0UHsA-4P!-Onh;h^rWn5pnf|U zL3*gh8i`V*E;qj|0SCZ3Zer!9?^X+i<>h7Z8*9a{X|WLAbrkyyh)z$|9d8K7w=FjC zy{JME5~Hf9XvmRLc_)rafrNt(xvqiN4le@#zi=!gjFU@GazXg&ZB^*O-S6D>yUgCp zTB)uO6yQIiQ5zM2>2AOVCFkd!G{Ypdd${i*OQ4`@0MsZ!>CihgUK&&5rCXWgVIn@E zr4~Q7tAG-e7%+7MZ)ec`3wO|gBaxo^DTcM=U7*YR9uO4hCT3SqZ-~I)=&xLsRt!91 zJq(ryQ*ZFn65T{Y_z8>WUI1-^HLT+;G$a^jql>ES+CSlNuZ4q)g4TAVtw8EIM$lX> zXe0Bz_@*Z1ZW#o`-UT+jGdLr>noQa-iLjmORJ>EjPJOhd!gU%spV+Y2yx0BL4ndVM z%BdV3%zJQ8aZZ0dmjA-X@~o%u*F*Q~q5JjF{d(yB{SIA2ARSM^T0vPPW=L*c0#V!4 zLVP7MSGK{7%RWCSD146E1HV5k6x1R}AqLxIHQMCUpxd6%xy|B8x@FZ@l2q|p_xfFJ zJxib>S{h1M!(h^nHn$D3%0^jaOKbKv#KU!GJbW?~OajM519B<0HIl~OOApKIx25fFD(oquplKCPQ>_h33>rAhhxXNQ%%t zsILf+Wo)-n1Q}jIqjK0eZfWQZ71l;IO&E_z0UIE(bCeZxSrOA>7%s>35j`GrMXYXL!^bXl%%#9Mwx|JDxZf~PKLEAu_Wwc zf{Qz3+hp20DHYfH+hV=5F6wW^@`HM(By9UG)P&dLG=|bRP1-)47K%rEMkwBy2WBJn z_)%fmy9|k?-qQ@IIxxpnScJX0@$2@+iP+vd1h#t(Q%;m)0oWy8(02Q9Y%m2!G?rBS zJVb;?H0!zOd87g-F1-x3FWun6LpWGW8yXEzofzN2l!?FSg^cq(Kw0vQGYW{`K;s`2 z<^!E`+r#b+g1SOB3o{VAJ0U=XTb6zNs%2HDFVYv1%Jk%MD2eJTO=YU*a2m^OX^}GnoOESAdgr;!;-yq~3$2ZS zSBtob!EosFH+~jDW#|dv!e@Y#do{L3k2PCyr8@-?9|u_Kflb)hu~qAMqLnr)mlsIY zI<2HLW|jpYI{ZeBc=Big98wDoA>0(L-$x<9ZUI8LQRH6)%9;*Nvj8se%xbgpy7KI@ zv{HsE1?n{r*X079FEb+(KLmyY2C}qThC|~#q!%-Cxn@}DIC^9bxp!H5R8}f;aQmn+ zgnj5A--Zk_4aXMr|2%#+mQcl++kO{8mo6b4k0*LLju?`DKkjy2Kq?rlSfVFqae31R z1SpdSIBFf&CAthp-45Sc+Tj3=hPpShQz!AH`1mGx4uma0la=?r3-C1K0%x|1&Shu~ z*_%@2@yOy8gll)~&`KRcl17uS0kYIstMMe?Ha|S9tTb=M+IPhy7Kk-K<&s%RynZX* zEUS5L*5s?US?Rk}rD8^@wbCgTSfaCq`-_Guk}NPOu&Om3+TP{3mSf~P2?Ob}+%Wit zI*O!qbe`F;O_EgG&En5MYl|9)w(bUcutY9h;=Ho9j;luUS(10EC8ptZ)?|o$9pMWj z@+^d1Qc=j*BL2CsuJ#=T=@<|S?y+$4`O3o%9yyBr;o}SOJdnb(5zH7152PL_8{M$Q zb{4DQ*yp-+oL~1PjLdW2o@3+JYQd60eUmU!Uq!3Hj(=_%ZD0585iEjW{7gKz3F6oyV@}cx;dC!p1b zJDatHXw`S6!X1HX_eX|LG_3kWAk(Oskev-E4*i3>a0JKPLVj(=)C3pb4PfQ&IiN8>@0zH`4_P8j_}9t$*4OUFF}aw0Ym;KA`@QG>Hij>)Pt zMdw6p_T78>{kvqN&v#z!ZLg71C~8ci9MeN4;pz7eS0D01;9Zt912e^o33$@w8}PPzf-UtKP=Uz89%oR*BmeMJJ8sp zRZ;D^q^pQ&LpTSj?&FLZGDM1MQO`VBQJ~iTz`uT?zC6V*0qoCV*dJZvk1#raBtIX^ z&nE_E!-BA&IKJFVF?=YrgQS3}eNP=ckm+W?cirjQP4Q#1e z?f4PduehUOSoKL!xNOMP$0Eko*6wa=`_cQIC3@|-t54_MML@ifcP~C-=TFwPPf!)l;{j@t%-ek`nY-qNPM^< zemShZe8o-T+)C?5RBglu3|CNi4Tek>CD0T5RI`t>6;u8F5~hm*yl z+BI#->N!BH6F_AHEiSykL$3^S4e3az84#kO=XS`dVBmGbHkM4D6L_i&MgeNNrpR2> z38T*cUiAA$xBh1op&Btcp+vy=fky{kAki^Q&jTuk%C4ghP$ebu3iKq{DFQ;qOc1LRix73Z$iM4NvIa_@jo{4eH&CyS&~bP5Hx|!;5snSye>edwTEdK&N;C2I}B{sz4UJM3GsbxMdQi& z4^QUokLD!DbSZ;&>C;5{D-d>QmBp`;|3JKH}S^c=G!x=^HN}kAkMy zgwrx=s$EIoW@C=Qee7 z38h9L-ezQwg)!89Dn@i62W2P+l}CBR&r@S5f8q{Q|DU|q!|9ml%%(Ygo8n3Bhfm!X z#y11k0bA(E#xTZ*-(V6$&~Cajra4$pE*lft9UHC9e7t! z7(JaJ&-j;dcbc01{Uzl`W1l{zU~7?V9~?iguVj(!d6?Nj$9ROB2Y_OEKgAM{;hE)m zFHd`U)<>g2rsFrxqHkk(HDrCTo^r`u%s4Un^veW^Tr@qCC&hT)>cPX zBrxD#kETbuPqAn3EJiI^a@5j1kJV;h2zy3>e|-fgPP5bwAJtYl9lk$#PdCv6xZ=Is z-+A?UClC7B9=B;H_90(XubUW-!(kpnKknJ=G`l=k-;6znx*Zv^BKGH`B#`Kt@iRXu%rIXYdI#Nf2zK+Zg$$UIxaoEj&fYhmm{pH0X+^)8KKu=5$Q5rSQyFpZUCqe9X&XN8kcc%(zvsp99Dk_WF{;=i{!Kao%x$ z(<$85*vjZ>G2QlT9LrR|rej%TwR`4TOsJA^$qkX3j((akBqx)zNm*KEvNc4g$+d+v zxJ(`rCe=uiNz>xNn(F@5;0#G(GI zvmk9*nm!3c`Y4$9FrdNCN%W_{!8qWd7MvKKcW0=dJUJ}0S_7N!FQ9CGuckU!k`<;u zTdbPKjIWI$_DZWarr`Hzrb-c4$Q0e2 zUzJM?Y{&Y^1;Wu?Zhtu@t097|tJ16HynnsTjla!(y@;8pGxjo;Ecl5oWO=BJbwA7P zY~Bl4V#3DX!qStQNXfd5C5z}AS+eDH$ysh@NCPuZ*7jvD?1<5WD^b&7s_lCk&+m&J zd=fRh!O-(2y3q1;7|9#zqwka7vZ#(?W3D~)dhE@FqMHOmpIluOv=_OKRgr=(Ll-Py z%b3b8&CPVxT}-o!Nb+5)Wf1;Pc^QS7o{C$L<(NtMdVYUBzrUW}U(fHa=l9q1`|J7r zmps2O-9d*$IVgr3vR^oT`L_a(XTUK6lvDH%R61*Q!?r07SX5dG%0C_NETAVNauXNV zQGwEQ9B=eLJTH53#l}Afm`Oeklmv4Vgs5XGT1 z4WQmIL_e%?)$yRddxD!c31i;2XUE1ELJ9%xtVGl@iCjjRdE9XSwsEw-v;SgEpySR` z%nB$Sm=dvrB|6kg^fpla-x4{bMGurgC#U zu)*`iI`rg|o)LgWNu-yGyIbX$RZf~mj}3V^KUh2Rp+K{5@|FvXB0l_(iDYXOu&QcD zdf>x!^v%&?tGkx8x??O=A<){rPSh}dLs=-NlVjI97_*1Cf%cFgShm_6%TJ0krBS+U zNw(g(3EZB1YLL+@b)M`Qw^}Oh?*WDO&!DjgXDWE_1wKB~<0*eZQH*4bR^RV?`s{C( zC^WpN*YPWA;~|cbvfl5&5ftslN|OE{zu!Wq7ri)6w@&8+GBdH|o<(7IH1ra=&~YeW z4>Osm|{OLhZY4uPP@FwuUkxWuuy9#`I+qTu1pt=As0N=FDo0dmwdebPr?6Cd4+I$O0L4Kc2Ne)|NZ9z&c-E$Hk&EaM{R(Y(-H2YW z=P+s_;R)?GbC1#>gqA-3NyRC!g&yTm!&+W6_?bb(?+Is$aXX{N1`ctr+(qz_R zf4IQ6_-g&cCb{sf05W0}&Kk3Si-uO_l6zK0M-^yx9FQIv?uv?XBjOKqR5J8d!OA+g z^ydW?lTx+>ZNr$le%puZr=j=*^LtEQfN@um>JO>QvwwOS3JxkLi**T&d+iTP?7AK5 z-3T%h0Hg@egS)~r?l=z$J$bktjl6=IBNs)Bu*O_G5eFA8_`q~`{r?i^Ex68KP-4Onv zk1D^X{4D%Nu`U74S%C_GlSh;GXaIAM%iu=Qs3*k|SA6rMqO$&;kKS*?^P%|FC$$>r zgdJi6AJ@Lg@UAAKcFI_CQZZOQOOjHBblsu{3$6bzZpzEB@6~m;V8P-4Xw`=siUcIz z{~(qcaze_5WJ~I*Ms1*(FPiI#{v0FA_Wqp?9PFf_RNw6%5MVgy)a0>&GHX1YXvtjT&igexmAk5PkW=iF^`P(O@m zEW=I0=8`>c=`uWqEbImMoyN3qmy@fpVM}$dPG0;7s2iuxXAOy5IGO zH)L*^Ida(Izl2w~D=SC>F<;6T)Dgk0AcQlzwnWfSMFpXbl;mx-w(>*m$ucwx#}n=W zIP6dxM&71T!iBgCP|_~lk})65IUbQ_p|U32-4fOJWKGCMghDJgMRN(d*c8uzMHu?s zs9A2R-jH_Dm_n~t$vM&3QqqBuDpTfAA$iM9fzKt zEglwG;z;anRcM!PZUUj{LcYOEc)dO#3GF}3AqNA}i=qr1i5tuc94V2HBYW6{S+Zd@ zL|E-t2I&{v>HroBO$Ioyw9_UiW88u806H8EhjIh-ZhhFI2TkoM2VO4E10J-L9tTg#6V@uiIDVv_*<{Q-YhCRk4&2?ncu698R-H zt6oZUz`9*8XP9)c!J zQ_WTE8w+WIhd3z_Isa}x)(uqBHyj+~aJv3E$-^=LILo0^H_{_qmUF0YGQC5^ z>;fRx!c+mC;#MoMZ_-hpqYL3LKI|&2BQNip2t~#n36zdJl=g}Fm1kgz+=Vn=9o=a_ zCuv2;sR8)xc#;(Cla)1*MQX1?A*n+b2`PmfPMx(F%fJknM8a#lnaLxMz^v9*AL3(~ zdj>?6p3UGw?4RFoASEQ6+9#5Wer2lmN}Xd=1s>MFp*gyY4OM7&o*8IVzWdpsdZf>; zS{!^S$K3GGcYJF}g*cFpoZeUjN>h2( zO?2>RPZU|zUIhwwSN&^wM%Oy-(EUTc9jOT87#*8>guTOe-Wluf?mRo%IQn;MXG^R= z^_lDcx_xxKbFeRpJ@uut{%a}yU;j+6=^w?TjeT^h zh6#TxwL1x56yPt0C#sKD%l3kfVK1t?7Eh6?p`>1h`sifG!G-IupNG)ivu%~l8zF) z4;M(f6=)_%H=|chay*q=DsmwiXPw5)aJWz6I z)09#Kq(eq{q+C3y2#%Jd3=9lY+lmI{D%WEiJ}2^ULMVzR9RypuyV~FLEC@Lrn+x5l z8lqz&Mw3uR70Z>vr+l7f%hBV#ai0Qn|yoFUC6;5Hc_wb-Nc{6@6X^?RK?Vh054Pr13hHxA_8HoJlu_(OSD=L~S6qi{kqm zmebY%ttpwKwfVqAL|EUC)?>#f80C}WWU_C@W8}>jGS7FIRH-(wwf!9L`KOG90nL|0 zMnJOH3y4jODMn8HZF6ZI!>ul(hDRbZ!d%&d=0|x(H_L#e08CbbR_lGU;_s{yVk6(F zBa)U6qTNrH%2^+rve@U3Y5ky7bz~pYd`Bh(*8NGg{nK=n&;392cMJb=>waF;ob?2< zovMFw&NcP078B*zW6!GY&nySf7+z?~BPO~Wc-KQ7e67Puk?BccK2q)uQT)II{kABN z9)NHwcJ_BpcJ_}?Hug8S#mV;3p8Ao&D=Rh{ap#Z1f`q@deY|Kw%9+|KmKLoXnSjF0D6;6D(>~J@l8)-h&&kUP7A%w?gaku#2fUS zdS{B35##=Y{%))PX%B|M#)M2hCQS(bX?(5Va$!|D?%iTb2NLN9tUy3fkY*O zQBd^JweoxV^oT=m+pvsZc=oJxob|#2lIVr8<(dv1ZFqzg>#gQW{Q~Cg50>&I&jr9< zv-V#dWld#+=awcy$pDss^Fac-MXs*qPSegz{P)<%51DEsR)($2kp$#jyNnuMJnmB$~UWm_E32@CayHXNWdf}?RmX$5CenK(Wu9P zk2>Of;9j8M3x6wl8(g)OQxAOEr8(&P?RNlm0CmD%eA8Tg@>KlGe+HL6|02LH#bY`1 zhFAFX{qXvU8WJ}6@cQZV=bQXnE=J2Ep;g5S9>%c>8 z7j^5Y()DI+kErXp!_JxUJ?-95x1AV!EAgHEX$YS1n-`GvEH6ZU?-Z; zPeX4SN2fZgLV)lXG1cvKWRzcxIVH|vgyPKD@pfunDj5QI=}o%40RK`BqBjk{+xZWL zEL*Z38BaOleDEH%5==2p(`mxGbwVC8-k6&XStVdf58Dfwvj_Cj77bG ze)}sF%>ljL>mTKXMHvSmMmT(J!^|}Bs;@W&3H00qN-p%1V3S_trvZ)vX#m!Wd+(o{ zUixXpv%zP8O~PW&`iwRy_xs~;M8USUyxQ}on`Y%nU*!BF|N74lj>MDNBST7)f{mW_ z4e$%s-Pi5SH_G9;`cB@?=?8{dG98{P@8(M#&+Rg)z3!d^?*TkQIde3>_ufU9131D` zm_;4nfKCfz0y_OYw^+9Ry3}Bb^_Qk}q$NkcE~cBt>VJ({{P^+9n#B|< zz9?C);Nv+neAkbw$V-xDcT0TE$5k9okcjS-?k?)ndpfC-mZv-7q=dzp+%KD-d=UH? zvo=n20OgC@Nm>CU*oakulspbvajv2aNHT6ltWeZk zUAU8~GLbaH9!pNfDX!&g+nJUA7E-rNWY+WL=+c3ed>T*-m)ukfvu~$`PqLFf;aLGzqx`ejM!=ag zks{1k5~-*W*)}0Ms?a38ZutEKewSz7qDO}IT4H1N2R>jcATq#zTKi$8_OSLynai<$ z?qrqVjW)IXz)YWaP)@ZT|>{uh^1wfrYfR#rvz7y5g) zw|0EAooR@W*PH5hVdr~fsm$sb z?XcSg7^`qZCdpnJEz%}N{`Kp}rVfi`Zx(N7#nGi90=abGlLc8PM4uFV_|sybIp_lPi)?_U3XX(FCl8<);#W%wjh`{f0p$zA zmKO{MH`@J8OmRr-na$qW)*Uxp(5o;Drn)5!#$ZrR71orwz#7)BZjwa;+G+G$G)usq zD;VgCLgo?_vkaQD2R(xEn~%OR6#TA&Po`(uZr!Oqi!->g7$P4{s@GSZ`%cEAj6I-q z{db-;d}N_mvIKHd9R%TC2B6jNacfo^Is%3}emV{&LMIs?YitxwaJU)jQHQ|3H2emzJ7Eu__v{ zNlu(HKFh=jTgilH$%NmWGI?HHibiMAaDW+)Dl3(hG8uW+FqfM#Yd{j*z5qwDv~UO? z9C1rXZs*L|<5VnMNYnG<{TbSUJbOdxiHFS<(%L^2)x*vH zMfcB|M?2xyWWs;aGrf{I(=!7#W_)GLYOGAX8pu-TQ$BK!LA3c?IZFX*N0+9M?szHk zi$8acSx5L=aVT; zC3|We82uVnav;AFgbpeDpVizY{2PU}U(2$sih#LV3&M&>4pdjaK^Jg>E5?$2v-%B= zKBKzvk6Jf=OMXD|Y}6LIWZ}N5PA)~4gIZWlwv`2X)`3xDG_nbeO*OFG)~T)N{orwB zS*^ic+Zr>8Nmd(Kp~tn?tB>A%)Zc2$`2F=0W{?(mcDl@T(~G^_C-}-PB@|18KC>S_yq@F`OSwmnnrnLN^XN<&OR`kXLd!z z$901slG-qf^_chLB~p7)PHsf*fGY};!T2#H;iWO(KY@Tz)F8Yh+4Mtp#?$;FEI~U> zjC|>y3sg#jOSSn;|V!INWYCo7kvdGmsnjC7Fg1=m`1X41?y8| z;I1L_f!z+uSTz`$4fH(L_0U}%E{SsC#7@jYit;mrenjj(LCut_D5i#mQE=h9GH`p+ zB`IwOhvFQGlY>q2I&%)!PDi*MAh12S6ZvqcREJ?3Rz$+hxm8O>mC7n8E z6iGR6EUisp9EOsS7Wy7EWQ*q&J8b!sJJfQQRZ%`qh6A_bBYW(2E96I;`EG1iS%(o# z#YX|8;$k;v|w#ve3^pe4MR`SV8cW6|oV;^VsZJO@0bR|T$^(bx` z0H8+?SR0DV5LslUG2->AxQnWks*0SNG`V^%P>Cz9jA8?#MZlI)D9L2Dy2-${47=|M z16w4EF~T1#2u-$QIyvyL-(E-e6|>h&d2U=b?Apb~NfB7X1(3#-4=U%#kc|TAVa0l& zAs&pJP{-K}fF$d@@5w7?e5;f)S@g;1u}`d|Aci3z!y9*t&xD9xo+R&>Bf(ji)-ZEn ztkc%?>98Qphmz{#NhF_m^qO#-qVY>OL^@u`YXZuU*wKs^P^`w(iKt%Bcz*b3h)G4t zOWh3#A`FQRdeHIU)+RkN&`Kxyc!W|%>Q%RBN0kqJT41#+drZ#pzHW>Psh&AsW)_ky zohRhrZK;msTQZ*Qal$M1B)I|S@8*LC74a+U&4?$pCt9fRWS73~Y*bOm^~@W(aHEzl zq6h*m#P9eWla8YoFt9Jl){M7BLq-WuC>G}e0f{{1TZjQr`LTO&2B!sFv3Fd=G!2D_a@0n9 zsihXj9N}kC>DUr*?!pT^bQf&;5jLIo(gX685_7do@|HIjXT7K%*l~wQabWCwlVx~% zABQg8d|9}@M0{zvLc+*14-PAKIYnHv0!18~lt;qmh2y9*YJ0IIpYjKkTya351dxH%OAmn(_;C5>%EnD=Mi1R5!3gIluHXcCM zZT!?@$NJaC6!AG@AShyd5Y;A0!+Qd((5JB~2^4uI3hl6an zUMK)_P(U*Vu~aU6z)gev(7+px27!3EUbrnVM2s2%kj{fvyM@;YT3knZsCRU)*%PZd zvdHT+)Uwr0LVV1OMZJO{Ps9h@*!8y$MFaBUv4Gj+mepc zWH#P7?TpYE_m_;ou2!rBB|8jA*|L}(gL6tgYB>-wQeam+eOx_*UCoywDfp5uCFwv? zPX{%_ji`EqN%YfvFdQ?AS8#OP%RqoU!v6<7n2`G zJ!hZlSqt!>%^-qmm)VkU2Vb^xij%Z=Z5^iYl>16AB!tAwEnrUT900HLDS{tX7rE8Em$EyC=d37{D zb*DpXA@jIe_|rL)6EDwr&Qw1MiBd6V zx|trOROm8UqNEO8wy{@HYP)B+K}z@Az-~j*F?o^hHm`^XlP8udD40F3cZNE3ut96# zpETXaCr3Mni01S5^N*$Em16N5WxTgEwq_ZoTko68K}+5Z@~h-rVHSZ!QP-7J)}vJi zZ!qhb29o6r8_Oxj?f3cP^xz~U0j-}2L3LJ%6pq*}i;Gx$YmLU$!=vs4N{ob!) zD#BqE$vADMYHZR$lMvv3bvXak;rv&J^Wz=PM;-t5<0r9-bna`1_82g~uk^b`OdB6F zjrB%y<}KIzy6JUYgPGucJ=5oc%c_6)-qBM5Jf3CH3yLbzKMPT2MIZFn{D77G_Nwc&onDXp{||s&by$4>#1jM z+qw8AC*Mv|s0b;!&a$2L3}-4?^Jr87>hI)x8?+!MoQI2q-u2shl|%_u zo{=@4%OBI86-9n~W^<;qaOo}_5G;2zQy`i1&oPsMqn#HG3#N{zfsw4jBrn1wY@vIv zitHQT6VZ#PvamUmqB@lU-65rABW6WzMBIufH%i072=7i)I+0yShgaQyiLR#ia1~q1 zQ}V&l$8-_}SzY)X0U#5hwZhZ1X$?3Xx(Vo28?jh#gm;arqePiTKzz7#vGKoN3QX` zes5!c=lS+AU^>i#VZ(OLl3Jsk9`FO_kmqC&P8*D{@7O`u zMYY>5)|D|3A5_rAKPJ%YY+9{nFq2g0$17K)Ii3~{1=^JtdLTRlY5sYmln<36bONv> zG8nT0XvLZ&L->KSgr7?BcZQ>2+?}K24&;qtaOw7=uyX^LORpYTlIJO6*2e+v`PwsG zc=>c(*7kc0$x8Z`Eqv=R2|}(E{nI&%BpE>5n>oB5lFvWQY~>E2RFLA598K>`@=$ES zjKNa261jzOHzf9y`cZo#RWRCaAaTly?U`Kym8p%G(&?p4*D+U8a$xVh!C4r2Ep^Z~ ztobaY#3QUJpaR0;c4=n6=mVW;7CB#0nxSfZW;cD#jNgV_#4#V!~{9Bq|72eltO7z`iQLM24seDHvR zG{CWp&KD%G*p1Wk5n6-Cp@)?jhs71}Yq=Ys5U%UDfiYCgNO=0elMLjv+67ywq7N5* zO}qd`5#W(PZOK(JT3JCDRfUJcuJY>vJl4SFKn!ITZ=J*N&!P^De%!Ln?#V_dU5C0F z(lpC>l(&p?yS`ZzF9SS-Mu9u@aK?eX0ZvJ;3(S$m0Hx&5#(B6}(x^W%RrfnnGmJGY z?42FY9}(_cklEt^*~SRvvihNdEsnCILdyw2My@k(FEF6V%`_p)Vps6_Gh!2^&x0$M z{n7OgDc>Pk7F`qHQ6!1W3-)onu zxZ}#-8#57)O!SpF8Z#j|=sE-8HsisV&b_jxWG19r7>92QS*W%!)&h88;?gh7fusww z;pf5_)J#XkMC4nU3;EKo0B%5$zx@lB{l2@5Q9&|XgPX{iM9CR2Pg+rO@R144jNb#K z$Bt9Ut{Z3X!yVhd>mJN;#68ctoPF{oIs0^Lz>1CsDXtSY#mY+UVH_Apv7c-TI7BuL zI(Fj?8N|{rhd-=7e)6dLa7Ap?u;TjV1N=&{5mKKP5-)uG z%uo*}pDEsZw<|D>M8&H=nF{FT_+28(P&qdrBrJ(CDgsNl0E2+lU&(_RYi&yhzvqH| zjJHF$68=}Y$y*f1z|gxl)L3KnfO`h^{~pGX$PMxWwi!%dVGzUh+8 zH%{~$TRE`Z)<;#|SOkwI6rGYe-EfK(%x7dS zvM%ax#qt9zYqe=k|7szAI_mi6=N3$}+G^UBzxkMzg=mHXjylH7SMN!+xDNl7YHzAP z%O;{0O;jf9fvI;hyF*zM#q7S=+gS_9vx?CUE@TVTQ{|2Mo1XIC_4LtG|0&r&Hp)mI zbDxJD9DA^Sj1RvoZztn!$QCn^$#PC`JF_swje`%k**VWy??z)BY2+=U4v{V&z6U=p8uEcOCU8QdyUOQsY|^PrX;`eRyQ zwjaPj;}2T|!MNaz@eiojC5{1Jo~%JHLl-WJ=kD3SZ+qgI*X=^jgomeiDH10>Ts1d! zkXJL_0?X5-Q*Lz$pzk36h==! zwMs#L|L%KJO&zl(7>4BK^7kO#NGcP}`Q%INnGdAsB6SA=2132Sqw|k?w^NJ4)U`A7 z=^%Xv9Dl(xeIlGrxgkysv)lXL!836JQv=S66H`emgHMM&71KTAVdG>&?7iGQ**VbG zZEsBtKpGrPF7EZNQ6j4GM+#%>PHPM8I|6@r;thIEy)#A2h@t;M)$i(m+Jhl|nP1Cc za=(3aClh8z;xP)B#)c01iV%t7{Q>N=Yh|qsxZwN|6Mh9no5-#Fp0-kp>Aelh_=Rec zD;;MYX-ulkM7gFzCUiB5)zNCM)GuJ({@_@U>6pk??Y}z8n!5bYZ6g5#SOU%m3Fx+k zrf2Rn?M$iqpCt9?kERod=6m;n2&u7n7#zcLZ zS^82$0AI?**g*Ej$b-Y@ljSm8V%>;0KpXZ6v;pn$5sTKLk0=qR%V}#!f-o zZE4{Y*QJV1^^%->IY!ZxVfWZcheh`T7^_-zdgo7Jc4}#+UIfX8-S6a++Z)x}5(Ub7 z76Rh7N$;b5eI08IX=ine+I&6l-i+M|Y8%*lU~ZzCPaPu;Vz0S@ET@0f|Kh8ymdA`E zh#V6aH*#re)lvXYFG>`T7k|&KM3%W7_+jINj8wQrjK9Lu97a?-n5#4MT5qnb*R9R) z2SY`)=&p(7b#c3H=V$ML2?O7=x4_&}kwDIrW*j=a>^x=~IfS16Vz2)((kh=tm3B zqJb9$klyBkhnhKH`G~Z^M4%D9=s%K;it0-K0oIHl2HjUpnFzX#UuVV@9w;Ili|8tgqE zz_pndLN%XkuMRKN=`}kkn(#*EMv({1RDU$^s&sHxpGns`^IC+=CG7qb_J7e$^!{;% zBSc(15JarqRd7pr5puI z!<)@QF9cQ@sM9B(>L3)0d$KW@oB*BYMea>R#xv}t`-ZlDM9Sf?%Wq&`d)ahlFbXto zm3FsUM=$qVsDoLW2MueFKDmW>PB-#j+2X+K8695UJ50Z?cKCfY@Y-Wu^ygg7F;B7P zN*D`a)Gd@nk@G~y107wFA4mN04cYofBhRA#s5G%`8T!KD-Yi+ zvrnw+D@>+>?eI};^*!+UP-yk>n{k&vIxj0oXiMYno_h5rt!_S&-c3IjPn*iU-5Hah zCE_JrH_zYf1ih~ppJYHUKIK?4k@bm*Zu0w+_fHM)qx<2|TSK@1n;ZN42PdSMEaeR- zsJ-$;&%d}FLP7*2Gv;7)v_B0=$2mY(Q0#nxU6ztUG1o$i7&Tt@m+u>xG7-@YV2r4b)y>~A;-bv$rtDGn?9UNYS(C|~!6!{T0frGaO7T;<3HI3hXt zVXO(dD3IO0xKz!PhBaKg;486h=vzw%ts_Pp9o)I-e#?D-Q@w;)@Zv5(x}4kEOglbP z=*s0dlF$9nhDnizDpS7!Ocf?~ygEnXtocf}{;$xj(a^Yg{RO<^=)Pts`A9Y~j)AOi zl5ma7xkVHRJg%)8d#DuLy!N?&KmM~M9lhyGIGEB4lOxb$ZPtt`X9Bzh@jN4)Qo*N#!u zR7kK~`lDo=-qOt>p3-nVVV681958T=p_7<`#Z=KjKOV;{hG={G^pPu1yW9kOg55Q3 zXta>aup+{ljP!voWlAB7Gc+W?$f4K6;51!ypmXVxDQugLPVXFzH=u3}Pi4$@yKvj> z+=xC386wPzk6}3GfeGl416c|S4{d4?7;jz{o!|DzUfBfBP-LMgERH4v$+I)cLZSKW zj8Lc=+r=)VthD87PB7FaA>ar2ADL=1kfzh*Ic+*Qv)Xj9zHFiC09M}$HfWAbzGZG1 z-#;)1l2C*+iWi^S9ojzd(KI63aj8sHnitrgig`F& zaqy)4y)F%j*_;l#B7?0E^+VknAe;S`_j{uheQY$B zUT;+Y<5vIsX02KN*j)K|k!U_uqyDk33(4lG7@}Q^18gFb&CmO!r&Hz3Dv)M;oP`0= zrjP@(pKHxA)*T8xmgvN3!SGU_Y?jBq++3H8+@f@3!tq*QC!z%9p9Sn%y4F@R1A;&FP4f0^p5hTSE^oNnx zJx6EXz;css(V7ZCnz4S;?Mg;w>~kfmuh&KWqI6o&+%N$NiYU}*9d93Q9BrH& z9AOKN(SpRfMRD*B{lj13DoRhBywDZ35**l!yqHEDP{;+|eCYM*bRvLBM1I5k5Lm3NdQ+{gucHSO* zK?$QOKgfiG8#9_M$J~YXNwjv(A~%W7y?z)_)G>Ky@bCd$Ym{1p(U@Lffu760572d~ zdZZr?P@K~hdvwkZ+a2x1<0a7W{1#&y#h%^x%uFDl(f=e{Qb-EL#$|>-z2FkLvmTpvwt1$p} zONpTii^viM;wBtnq-c_eY9;I;KHybY$0$Na?1sA``Cw-%Z38UU1!rcl>z&8yXu!;l zFbHT=Fk8@_gMTRucl~SDaj>R~d?LUek#Bb7Nj@0WIk__$s37bCsve#B7r^|TyVALQ z2F{d{k&zASMAAVYox>#RV4XD=rT_Ml@9sP!Skr1WsX0IQ1P{Dk#y@6dfffCBCuZyuE&0{o&31&Rr6%=n2DGOFOzujAi_wr%q^e zq87hwwEH9Tc;@+gqGl@+I~z|QOIH}PEgjG6Y>R8;@*7WLowr&l@G7mh;hJz!{DzDr zGJ&H$PU~vzhbOh`3e0r33p2f{9=XY3JjN>Udt`EentT!h68#Px45Y9adyN;QMru@$ zz<@jrc!L$xOEh`9^h9a#8&NA!ML)9M*RjZj7kJG7t9S9Cj+8*{qmaH-D^=7xJ9ak! zTIcH;8nlZn@->OAHHi0KH|$fu-zaeVa48#-t5%#GI4?sA+5V{ZuvQqOY701w4_Wv@ zdNStsnyE(gfrX2uMfl!oz1V-biGD)FD!MXX(g|>0uOcra6ZUrY500>0L;UcMGAVvZ zFeI@s6Bc1U{PPlu7Bl=XVCkPk$}7oQLZd(ZR+WC*wBFZHPZT%f4lnw1()Wb9mf|bH zVXNWVM%QNn2Ug^x!;_&MQJFPGDF6!kjOmyJ30B04PjI7vN4Wg34Qt}J%NRR{F(#4k zIKEyhodzr-^Yfl?Lxo$UQq-MM`%-tJhW=Jrhr}L( ziV-53~k2&1CGHueG{tLXDpDQNhtSR%pD*+=6@beo2x8{s6V$}e)AT6R>7Bn*6W zgMAAm6kXw+qYwkOwmJhkYS)oNJ~tThB*&5#B~PIVqbR&JvC)mfic&>^LK1`=KXevH zPVd{eLg=()G{i1P?D$r@uJzg3WA$t>R4XF|d!)AyH$Zg}CncY5w}Lm@Y87X<3R_Vc zcQvB-gU19~P02~f@@8s3AN}-sXuQHQb=18%!!X$}oZ7F1`hmuNau}jyKmcq_RsjYW zN*Q~mf(IBfVR)|b(Hc*b>YMa$DPhF&V>NK)7gHjGy#*_9sCB#Y+>Ak-`NJ!}16Z~6 zXcgz}>EkjtLsBY&gU>_lA*(^bRpGtgNkPE~#aK;Q{%J*`98fWy#4tJ@9QH))wdkXC z<+<-l;+=N`JGm3joiRv;7*~1T+CA9VI@sU+H=_qIeHFGIAl+jZz5c~*!iGQdXpueK zT`H0uVwb{_4Wbi*b_>Su^M*2xN-VFVlMcGhPt3Ud0f`!M77$pa5QlXj0R}$YD}eH# zr6F-~1EECqCkwp_#z{nK1AyNx#_viIzeB&2wZ5hWCd0A>H0Ch8@-Q~rc-Ait+RXwt z4wSqk(*J>L)I7tOobv2STwO{yA)`R{h}>|Y`A(!w9~bd4pB3vg3aD9K z;-d#8X}E3BhxMRLXaO*O#QFFMuWSksUeP?agZm-QcS#k%Ly{Zzp>@1q@OI%VwadDF zvEsl@ALB?-yV((Y?&IPx1&^BKJ~dl_%MgUgRlxot;T^LKIPvZhPk-&#a=Ze+d3X*- z-T(+0OcUog#3il2IJ$i-&1THN=X#e zcZuhSq)`e;XV&GhKA!FBX@k@EF$bo?!3a=XtrzrV{_9j;xQX$#tIGIva*eCsK`W8yYd?mzX zOGpd)p)0IDG{SPC(ONZ zascI%4NWyNvEQ|6#!|ZzZ%uxf+1+m)ql-#Cl57-@!t%JSnmKJ_cTz`@I=#t_U7gtR z6F0dl_xK!p7wAJNM}U$op^epg3b3gz+>qUBq+>qdOaVLJZ!1lSV^UuIpAoR#s}CRk zLu_F6gJa+yfXi$9bPLi#OL+x1Sx6u&$RM!-pAxgiTz!Q#R)NvQh`n9-x*MTJ;aVIQ zhBW_Bx>qZFHjb2Lx%c$@cjbwFsQK3>LYQ=9QEc+<%y6fsO9S13`w{V+fLQhDCc;+@ z6*|*+cPa6m?~MHDbR*@7rM_&mY-$P+A}YPdRLpwb%|^WXZ{OCI@hR+W{mpW-+>C)1 zziqC3OHu6CNsm@{v7S8~C>3484a9-{tINjQmyHuLYdY&<<~q1{y=%CDuke;DrQZ4x z`OiFw`D3xjUj0cgR2h5D6qQr6QOAG%_{pbun6Ta;KEvLa{bV#B6iYZs7#*Xq$3 zYLa(591P0zF*NBxV$6FgRZYC8zFJv{f1o^V;Gc0q)}w0-KJyhas{yO_q8(la(WZt& z6mAzKBTA(!)ftRWg0)qbkDgNUlKPFZOjnA3LZeif4YW}dFp5|xS&))N6klLr6uneQ z_QJ9O61K>P`$%GK`{n{Q6M;JD=l1^9qgCVCJ&Dawyc1qUg-pk}X>`qaS<{CSnSrES zzN4XtR^o#$Os2-7q6URO{dInWX-bBJh;9rKHJLQa zbqarE!`zlGsPug>1GS|v#O*r@P}Nsys;K4_(@df)saZQ^gmu{qJHmZ%omarnOTz9K zB}0kd;}~{k9=eT#ABnIWq|R;?N;XIk74dHte_q#5Or=5|=LZ0~-MmG?RT#ejw4^jk z)R%5oy9L5?Q7uIBB{lm>l>Zhew_j{~v`Gnw#PpIQN>HLC-QimD;*#O*(xT7oUR~`C zG>b!@{vK*64c0KP#*RAV`2)x4Bi2&M%9D1moX{sIf z99^9tLi8$ZXMhH&VPvM9x$SpWNh^jszmnst0#@UtUJ62~%Kl9m<#Ou1Ck7$9VfZdG zoKd{<1X6nP%2sdJ504IB9Buruvc`$5(>{J$p&&;zuF4N;3`3ed)3`B1Z5++GHA?8c z&)2tcC}5bHD* zD(Z^gnEj?z2Q0vm)F$uLsWyp0iA~!MJ4o$4wJ~88wC<2L@`f8_$Do6(+b}RKe56T4 zgdrm3cEJZb4G8VP!=NUXyxK)gIEPY$nZ(@=zM4B~mpJ7-2L@lS7k9s2{3TfSG29XS zO7TaEH_>|MN8?2*$#(GWFM&ID$Ta0f;5csr)=Fn|8pDY3xw-_WL% zi*H)WA$X>IdQL&{RiBPBk>>zz2H57L0+G=#(ZTY@>x#C zdCo<}!oXz+HR^sjeEF({=69{VgRO1bhJMU5vwFQiOaw?a_nV#SB%o&Op#<1MLgX@K zf1Wd({1vvxq5BuWVkk>tyM-(Ai_*zO$>wmSvF0y6#*Ua89|IsFJaa1T2E1xo#2 zMd>NE5&#c0 z4Es`ulX-JDiio892hK3wRZ`J)*m)iKgk+bt+H>{7J)wh-~pV>uoBWuKw8|$K0O1-cHoC@ETg!Q48q&t`FX8C^ktdyaCh)eEEE62f?2N`G)LIBtQ2$xq2Ea# zi0CB;UynGSM7ikbS@keB>$Vi{Kh04%%Tbn8^}XZiBz5H$+5HAN+a{SdFeX5!B+p^G zItbi$+v~IGFjYK87kLAZoH!8WIb#ESW)2P0eFGp>l)kh{`$Ad`8{QCd@G9d7S4+sh znX}p=uia>@)Ul(mhQzY5>+sl$Jhl9g)w6mr!F@j?JI!Ga#rQCm3-tM32M$7^GobFf zWqebp!V!u;!oC-%Xsj{~{(j}%?ylip4Q5huA5U^)EQdx$L*&=H9pd`?Ncb7g(bd(~ z2?hy~Kn*|ZW8lx{ZhazHC156fFX?xqp*&&6IXp!TIaLL%80^T5I(ebH>Nc8AmXGl! zFpbT^f^zK9K!4oI$wx7F=QJHhvM=linu60@imLeW$JWN?_Q7-UQ_3@ZeHp!N8pUgH zHrMISQ|P&t(SX;sBxis!X5FTFJ()&4|eRp1NK6$du>_HrIXS!BKVUR4r$!EkN+R^&=jwY zB+~Mio#7K+u+P18XVX6Rv7AN-6Fn5$NeE$J2l?Tiut|y&$Msh`V}LOL{(0lsPF0Gk z+Sd7@91@dkUHc5efz~GRQ;?y>hWyp`wnvTcbV&5TUUW$SM=mQAc_T+DbWSZpv1Q#g z=owEU>tHQPof7m-!?tbA$W+8-ctydgXkJhrH^fQBmu%(v2{zb9ghB{WW&1-J0)(oSV#2&Hs;@-#z1lc$>m~FK1zfs66wkd*IB?@v zbved(t||o?W-E|EvZT8zJxrIpz*Ou9nN|B6oDf$g2m8JS} zv-nV#!I%Ig@nf=ww%XHTZMj}wufKi0Al@urUbWpmeyexZqx$Q$%EBAe6@>4N*KZqd zmWxo7ze8amvz$77)ZZ5Cof3c^4n(OLlmz_mbduOJ){RMLl3KHxK1W6gl4kW3&u>r2vN!M4NjQC+}|7F6PJz(Fl zt~3ky({Iso8>L`Orr?JJjQiCOy=U z7aw-DSFOq^kU_#oA(|%)do}QSA;r2Qhig0<>7yOX!NBS~9|>puq=JU?U&~;~<65*7 zia!p#A#%UvJHG7!s*~1Ls|CDutCi(NPi19l`hHR^iy2tdp0L7yB`0y;8$LVU0xDF4 zYi~K8N&QOoml3e%j0_bdyXP$)6+M03^&UGx7!i0^Q5Ze_!W_WPes8+-Ea7A8YznS%TwkSQoA?gYbP_JvJ+L=a zfrbV`IhXuCj+GOUS3BToQ{J6VV`nii9Ow?aV)^bn?X$wlVCnVyMsbNvO7!~0i$*+M zwIgcPGM5hG(y3cxA;)liex8*Wdu8EecDys#>_os=iorzSjYYH?s zlrEOCp7UrPW7T^b9VqHS?7C%MU-5Il;Ll--GOr;D&u@m&#*}s_Q(K|TYT`b@!2Mp# z+vhcIXVdmMtz^c`c#e@w(n5wQ&pE|ah0n+G^GW)=fYiVIyXlNf&G<(z!&Qh>xrxo* z+r55w5J7t0juv%jlR?~JbK~j_I?@eJ-kX$?_J0-ee*!jb!WCc<&V>$Ly1V2SMym7J zdOWd})fgq72iIDMhZYsNx5xQh-REJG5XHS=drr4M6Q?<;P+~+!PH~k<+$82PgQ=v+ zv?5M_ap5|?fGuFCk#HDqr4bYbet8Oqk(2FHWJ%S&3VfgNee0uLQ&gVP*rgZ35&-p^ zSU%g9W~u?@9ulPthEARnr3@<=jfcy7hlGGecrvORVCXW9Ty@uz$ze<*xgTgWh0oNQhjpYFr{ zxio({IegBZ;YfU69lC=HZ^)r4ggDgxXgL=L1&g6Y;kExG9N#BZlpPJT_^ki)90AF5 z$6PxI^=A*IZ9_|i&rWAksAi%>0YzF&6+ur(8L^8B$_Z0M4vIRh^Kj4_P-KjTL$)YI zYYIfs;82|Lv7yI-F6L)qaH-bztL@F!;nDWVDE5ecl(HKW6TAh;DNdms0W0d zP^v#U#OVQ)yN!F9@9}0lm}#0$6ShX4D?|{UL^y>0;dP0$*501FuDfpB8||n73l=3dRkm;JriXl7IK4b^PyR+qS7U z3NDZ=U?Hf>X;DnGeEK8$?H=F&H+3w z3s$(_T-7!7WM0tHQ7mc_A~RFbqPU^aFr*;hYTqdx1{C`1{s&=D^{xTUaEBNQN2aPt zz!7F+&|D6wYaxz@g9jeHC1@8Dq$!1Ql~i*w0+~fxE35=SP&mprsv1#rBqJ{Sl_z>= zuEZw1GGLqGpGhu*0;EE@NL#|QI6RMh-MI0F)nQmY^Qtin?YwSr(H?gTaQtNB#jhJj zOL__tV<^Xykv(NS;0>bIt{o|IR|RTg%?VXFk{S~jsR40I;h1*MQ?rdRB}(zEC1N`A za_d<`9~<#vC?$*(N)Se1&oDlCc58mG=XHDzb_OI_wy9dQfHIW2}}YNldX>etto>C!tAU@0$_^Q$jGOCtoN-vwHsMwGq$B404n>#7HNjZSgEhx)oz6R*;aHHJYklf!Fq;h&Nki zzu*i+IVT;|l3JVH{Kjau)5W*yxLGS%N7hZG15eUDADh|Y$c(y-rNk_O^L@ogVb;Hp zZ8oLd%_pGXyJ^eqbXsAM%9H?8$<%$r8%9BlbIYA*a2FcfHHckKgACSkVQGQkkI4|E zUoYkP%%>=2ov!U1&xn6$d06mS`FHlCn&QY(hmbF+c01iMCvv*5b?}l_yxYbxG7}|- zI-edq0>XxwHzsA~ooC17Ci1vIUmfg$AosAxPT@XO&LRCk8|Vf%6or;dZ_zU{FdM^= zTpQ`b76>bbYUe>m zMOiYa3hoP@k;5O_C$?==3c;{(Y!%}96CLzS-$mJ>>a>5MdZZH#eU zIKTyv?;`lhE6BlzRBC#K?feNVtjeh!Gar3dP!!SbOd#>8^5dy|M-S(d68g?pN#Y*^O6_Bu$RqehiN7w*?-)CI4B5AfjidaXnMp$q`R^EWK8Ad$gT^FYGA)O6 z&2lu|jck2oOTV(EU)j>XC0lwQBq4e~k&#IjA4e82|I-r&Y~?Fy_$!bG10S-9gIVCO zN*;_cj3E$-Qu!ppDmXWhKqz-56CGaSDK9*!@{=w+s>0U`&zD6gbdIZV)W2=GMFRroAyyPQE@|naoowM__ z?VNtrFk$lB27fQdPFgk(52d>f^)0s0Q4dW#U6&p@$OdTV?Vxo@>NdKvqic)m)-M~s zZnw5}pKtEBesKyDJjGmf8(Gd@*vcl;^^13nPh~Bo{bP83G24pi8Tlk3npR9LoT6`Y zzFk~hdZgarDm?&t=~VMQM2X%Q!aqgr^f8bU8P0bCETr{1N!r=cA-|oRZNPF$Dr~&9 zb-MEXt?_W3e+OY}6d`SCtf&-JA(UyWTn*puMiF6vhEQPVJwK%=3m!VVCoLq9i?}92 zt_V!2(p>>^tXy9>@d1QNGB8>bFXM7Q5<=H5e^Qj($U-Z&5VO=7aCEY})q1ge@N8qZ zuqaT~2Kxb>+S=vRg$1h!P0%9FHP+tRHR@*9wu-3Q*+m~x5$dw)IUKRSp_lXJfvhv6PD2_3syd~WJw!Z ze!YiA6<+Mr5B)Wb4Y-4==kNWfy|b_zNpDG-U6O<80MGPd|K(<@g@?t`(vtq!XoyE;N|Z@^JNq!+ zmiP%X%4j?p7yb#8kew3eK{!BJF~D_)7;t+u^jfW@rFeWxj#Phh%4OiN)KplNKPZ;# z@hXv3W;b-L|t2*r3v>$vckb8E6E86aYQm%BntuO#Z!^$+krI{Wz?#*?3p;--^x z7&nPOLB6c%IOwhj&s!mu2#Cr;w`!COztx%ZvvE*PIPjarpK;D~Wk)tb=VzQOogu}h z#1WrDHpgs5#xxkcrCMDTUMJJxby3E4%;M_R&>Vwg_O6RMJ+^hYPGC(r`*l^BQNs8F*@sAGZEH_aBQuh133cI!J0?tvfS&8dmc3$*u{61WoENyzg(mmN!=?l zOR$2NX;f}Izc!0o=Hs(7ys6Tx@zhjtAnwAqGAQ&0$G(?3cjRPefHwtiD@XcSSX`x7 z_LbB9%ISXPbiZ=CUpd{cobFdn_pi+9suO*7hId@ev3#$pct7lK4DHi%!LqH%%&<|A zI5`<=j6P%GvL$Pt;3k@7xAB`nN^+hSZc|Sf8DNb*24OkNj3A?m3WS+&bTC!ZauO!> zKrLWCfc*X>>>P}4Y1<3qpK?vrD1@lerGL$TS0EUDa%Zf4+Q8YWbZDoz9ZZ0bybr`? zaK|S{JBRe(z+Xl6SN4*nJPtbOBA38BSzcMS>%yWr83fRp9Y=w$Qc|_!osBLW3xHKQ zx8f*ZHo=+Y0a@)uK%eBUlSwo)lAEG1@1ly98Qx&XyedW%W1VO8!7VLXDDVWw8WR^` z*a6f+-`3ftFO~^N#v0gR6;s2%R#(#OX+56##yaJkB-n$Q!3SXyI;WTfEg2u_{u{~N z(RfB2vA6Oo40x(+1o6>2lJS_@!x1gV(QFprkePlRvbvMxe9I$Hcmc$uOUT)1v@_V;S)2;2{Tr*w}eh$p{@7bfiGW zNJQlcy3n8#MRH8hciUb?JNZUGWiG}*KrCYa{D(W6wQPFf`qz)-ey{{Bwxyxjb%TRR zP?)0)^qy&x7&L+Rfe#=TWUyk!&p(>72Joy#RMxatHC3#r9mB-CnTPQDu?lJ!cM0S9 zO0!-W=hyBTPlh$l3cJPufGzgIQ7PhgnDCYiGOY}gHP;IBRe>^<8;k+4zP_-qu&9<1 z^)A{&H0XzZ*P>9MBS^BMHR?w12ahYu6RXO36Vi=B0!YkmnA~a#oF5Q4S3?8%SDxh5 zjnHH!t(1wg@A3o!CAN4f_dfS`V#Ca|zY}#6`+HIBx$j`-jnEaKPgSjvkjb>U638Ci zuu=55?S-yJtp#LFkojjloApoS@~rcfg9Vq3HhyXM`>^eR+ZS3bq(tc~z{b2y^l)0- zloD>OJdzTGLKmniX)STRFiQ(54NA+;Q!q*ALqpb5^^0KCkg6_rYN4>XNh~{GVm8wb zDkQPOYABv^XFY)*P}GR?lXG3Z5`!jZwQ9YiGh?4atLL;8kBwcGx?iz*Mq zp)j)kP({3n)mO+bFFRcrTmaUh%b3on*Sis8z^&uFVY`juYGFQY%c6uZLCI1T%hRnS zQ~G#r=X-VFb0LPpwElIoS$~7J-aoJL*Rs~lOSB3o6aR3~Z-mDS1jooA4&EDw*8`p}OpLsI~JPF4OR5UC=l5+0r`RKHNCkI5{{f;JiRd^t}x9opK8uJe;Yp0mHfl zaSb}x`D=sC9|;=mN#1DyvQ!dsn@Z28nBfKJUn^P{9qC*ipqvM0p}uaVu9mH6KsL|f zylEU)ojoK^hid2H2zKUJa8gJn#2H+)-icKf&ve+y2z{ic)9{@IMU9RZGsk0Jhz$(U z6EQorH}Nb%>g}xf-g)2G9;F>=#uvz*fOw#g-5;7uZS-~$S-Tq*`(lY!a!T$(x{|P_ zBVegTaZ-T360_NeS=N;Pg-BX@n~oVwvdb|sd}O(tY>CVhf)vMD9tAEtj+wor?_ zzhU%1iY8g5SMx|To&N9=PMc0O8jj8)`;mJZ0Cs)nPkjp4GdE^EPVGUo(R3x%Yx5EO z6i`*fZrtFw_*vfeAJRG)2y57UB~noy7b_~nd7}X6EW6ap$2T&MnSgE5xF%iiE2jPF zm_}=nz%w#*`U0@b5N8$R5-=)lbBC4hnbsF(IM*K5Rv%hIej(_ji!RaNjF-NpT{W7M zF}W~XT*fMOavsK1u_k6g)wEU{$F+TQba0efa{{TbHG#aE^5mk%cPpm_OM7qD=I_uR z%+kW5I2`dsF@Tl2VLM>aLsyg+XM3u)kKX8<5WjsIe2h8;1Q_ zIJl_)#BDWCV^UK}wP2yJmKiK$@qWd8zA#aN)!*_C_gDk=p08T+gx04b1#*D3s_OB`la@B!L$$X}c=@In)T`wBnCoVH}uekU+Dk=VJ?>M7pG6OxbPv{*wzvzzd z92J?mZ&Z3+?ChUx?`HIj)2Haz!0mXz4vp;@mzlb2Tzp*|ZES5H>}PaNW=zpLx7WGo zkH+_o%S_!nF1{`{_O@OezRc*I%$TBgK{$Hvxf8l43r*cWS$|4{d@l)i&V*siNm3@ zaR8^v_yOo*Q+HX{SQpQawzs#A;Ka)4XPh?$c59f`cNbB2${x3{?Cjm9YDV8%|9Ww} zJ8l46VB&-iy^Dc6Bl=LC`LQRv`novTesQ#sF(gi(IFk46#}f!m`|uw{^08d~%$5RGax~mhr8e zA0^3)D&B*;Vf$SRSX|UDEObKU6>5ybRjZ2ach%0yale|VpK_T*7Og)S&cc+du)?A= z{3Gks&E12|f3;q0pPcOMZHpD<`ATp)Fj0-Wd0?};$!^sK!wCZU%sS&du?>dybbLZ@ zY=hxfXKb@MW3yK?*CSiH*gd*sOCm_NYqnIWzp8t-^@1`wXIz@M4!hxGb zPjW)cvWZxQ7BOV`ouq|^JW4(UlcqzO?vhnj&+A3Qf#>$7BfNGUoAM^|a!79y!o0Ni z;Bb4twYR-@d~&qCv1bt9j9kUCtBEM=ZT$P$b_*Z%fh_%o@|o&y9%@_x4px7Q{EL7h zCZMTsF z=J9by+^+9pp~fmy@BtfH8k{!rWG&;UAi>2|^^RYi}%_n<*)2fF-UZxB(yKtBLp!|y=1 z1fNJMFyOg}mzNCWF}mA@*D(bSYlFzOot>_Wijfbc@u0)$%@eKQZ=x0*M)Nv77KBQ9ElkC zP3nGkvN%Cw25lx+{A~(5lSB<$XGEwy##Rd2FQ-!a5Q!vgvLMflyKgHMJzOOOT^0w@-kf%DXbFpICR!yWcJIr*sEjf1FQu zag5E%fK29fg9#?Bu2u@QuSL?0bPxE~f!8%JND^28v_MP0*hfcZ>Ut!L$9d>_nl6&k zcUja@evs0)rp(HzTT}j&!q(>0D%54=U{V%E=0I*Hb)|{4Cn#9!A33vj`IGn#545%b z&gM9Tdx0O_(=;Y;mkNJjPmTcR?CWJRGv|Jpf-%EX$9Niep{4E#>iv>uaOe z0jsc*hn%EiYsr`~Bwl>kk<1aOm)%9CmxaIN!ezK3J z1y++l=Nj?8VC{ryHip!l_?zsEBOXou){w*fGxi2I^|#m@e}$ps><+1?V{Z>ukC|qB zNadZs$@YM8kJ%e?tbfMd;HLf-d*iP#l$^aGwZ!bbAr-Tx*&IrD>~FF=_J7^k+SwSh zLDYEvj2$A|`de&~zrU;&BIKX3Rj}p1#XkA+ z2a>Z%l$NQnL$nIvG}|Or*!-L9mH#(#yXZelZ1Ax1w@p0sKVz%t*8Udz+heoo<1&1@tJhevOo=Lks2pa+xSFawx=X)$p)po0Tl$2 zRg}~rSw&vMva0CISh9{{OS38&NAFbA;SPGsA6;B4oR63+*>hr&t1*nLRnni_p zyFpAzHHEJR=~e%RUkLR3z`Zy|+1%OK+}u8%=oLkk8|M;5l^Np?B~hf2QR_?gPto?> zcH4_0j1%*)w(@Wu9~DU$pV?1Eaz*mop`^O~`CX#uuIKqfu?jR&HNIln=fSiw?ohr6 zEc@yb0J)$K0n&A~CqmjRiOO(VZ#oj6` zg7VcF%2#J7eU;Gf7?tscmr=ema4(=!-5UUx z&NbUW0-&V=kWoH4 znv7=ihCI>`}bb|7y|TzK-RYzbXzV6poRYix0H z_V5zbj1eYlCI^|1PGP47DqvOI8(Nc-x5!C`Mr(P6W-Vn_^+oQnOVGHj^oV@vRf9GU^ zD4EKP5hGK6z6jaOZX`;7!2&&=Y`C1S)>h__<(bt#uNcpo{~Tel)!WZ5C*~gK$cW?2 zhE?(_D*aiglrIhb>}d2=5PT1UU|!{W5&|btB47SHsoDA4xi_(IvWrUOi!K>j)B{!m z_-tawWJhp*E&5-~I22S7OJ)=&eKL8G*;~24VVQQ$O>tZ&^fc1R1@Mi55aU$^a$*=@~ySyo%wDcmR_F0GK|Wi>$cxTW=j+omfV+NBk0*f za6lcv4Zx}DYOQk~T~r^f2`TP#gD{BNy;_GLlbEl4;ScNWu-kRds%WhYKL{8n_j>U0 z^JRl8Sl5gX@l@O@!$N2Fa4-qBtrdH$X$`y!I9vud?2nCFn#lG|s6Wo78x?3}gZPB* z-Ixk|_3$>6hqs)C&UN)Rru;qnd>e;B+5X?g*7&RXf*UueF@E7DRm=AgH@;@dls!Si z<)YZ<5ZSViCwGQ#n1u!NJW`w5iPH@SP$N>Y1thxD;Pbn>g357rjlE5;k4W$w*n2G+iE)3O=HfR zH0e#8b+`j1;VtB>)7(d))-T=E&z&&~p=2nvl))TzBATeQIxkRsrB(WZCRRx0>MW$7 zEE^{{DH|n>;s!>THIfLC)pp+UQrRh9W~8=d`dMc4apFw|5^^47R8jLaMwd=K#iUxy zeTUh6Jb3_?$ z!PPSrBv;MTJ9swgtc%T!oue!V=A5qmQyX(ZISIMx{m4fd@OVZU%Z!tcV*VKUsFB@B zl>U;1TDW5KNVBlsXBK0bGoB|ArEY$HQ7CmaPZX*%8&=7$So7(yW{mLjvti6vspox2 zJ!yIGOX{g`VT`zQLVI&GaDQ^nMBkL0lUaN^g+H&HGuaW6bDC7Wm_h1Q5nIlwlRllC z)99_-(Q|ohRvg(dR7wV$hy__!mQ265ne~!FyaY#;Fqz^(IK_BGPQq1NT+ddh_(qp7 z>WYaf71&Q@k0}+XJK_v5T*f?)JaW>P(45G>YWIG9%00)!b_DG+Xx`m39_roW{24YRmv7E9jHHKG~ zCGxptyFepV;|u0}fO2CnzB#xbS@ZMqKZ%*o;hR-gKRf5Fx|_p0o7s&->908Ssc|Tu zi~gMW^OcXj2R>RY@jY?U20rBT(v#bqtC4%-r_=qjIBJ>wCGgZ%S8$3GRKJ*c7{tXa z-r7w3#N4&&x7_Il-(_Y`DJ7MqGZ{rO9cW=eN?CSLVyg!Z`-8Ae z>{TahpM~K&v|&OMrYK*Qt4fR)9rOL0|&b+NaxpB0dglC=QWoXc0oyC;W72b+?x zJEH1xB%J-@jMutnFL!pgT9A3T@nSocz9*7X6P#6zr#Q2wn&h?)KoFjvQ=lLiXq6|B zq7X%wo;RG6b51Ur0dWF1J*K9`Ve3&HpZt4w`}mjb?URNhl~^Q~3Z4aPcc(uSA z)(0M*L0%p3t1biI)KxpW5@g0c(5wH2QL9yKo$MXPtA%!o?(ni@=C;W4ut9ntP-Ic; zhG8En48qX`>qU$rZ%~Q^*$t8o1h#_X_S`nP?Ez3P_BZyntGheLCmf`Vp51qz1M0z_ zbwS_IXt8y?eYkP7adL3PA;_Xu#~)BA8q6(pLJSs(g$)>rsiA>!4dOQVYl9R#gbZkg zAt@1@+Kv>~#>n@sJyI3GGNqD`$^`AvP==fxdI7~H()F?@t)V(nFUm%X25?8!Y8`9%4j#C+A#!@Ot&%cG>$w#QXk)|{pKG|7lF?;vR z9%LPT(~LDA0qjFDt3dVvnG4D|Ec2mF3bgBXF9!IeKR(*7EH!<|U0GpW{JOFG;%H}o zD=YY}%F24-RGFXRku!!p_PkNW#)xlJk$m}0qC_KI=L^1lt7V+y`mL&d-uriQ_H%?d zy0f2MilaN6BgV1v8_DutQRz=WrF>b=XGNp0!kl{$=IBMfCuxp}5&7brDO#PcnR^rH zWc1Lo1yLRN63jvDzTiA3Pl00g>0lJJ#5z{$C$yeHI{ ztxCM2YDUi~T7z`*nZBfswDqED1DW)wn(Y2PysN5yW@{AA{t=yS&NHW`CJ7T$>&wZbp>LpC&kZcRgjs_ba|%R43F*nY5eR5g z601dVf`+P$s2K1)y7anT<*kpR!Bdq;S_>jYzyS6_JC+9!td>6*1%iUV1Dxmvrm{!T z?JvC>01=?Szv$AXlinL%d0t?F;07a-wd-^Q8L^u?omPrel=-SOo~=>`YXD?th+{w| zVibAjqb_zQq;rS+6TxAybB-)E%AJ9fM|wo){I3%RrC|Xh)x$vn9M?O~>&I>Z2VO6H z@1X-iuLBU!N_P>TXP9A^x79G{qKEz)7|3u4T#V0g^>FTZ=6RyY6DIKl=;Lsa1J_pv z9>4X-@j<7TagZ;)bP?>klrGIfL&U|`*NnpY#=%N?aD>b_c zS)h;5m8F7y!+`{>e!4^}ix*4r5nAY=*r*iM-!_+CyVd`0RR7a@BfmVX{?K}}+$=Y0 z%k}0;yi{>WuVj6)`c#5nzhQhY*Xk32f725O0iFb-$&sP>GD8gJraAj)8X`J4GNC%O@n@F7}4k~ z8v4T#6FA_UBhiF^$RmaDts*y0N9W0$nuH)RzFAmsqI#)b!pfym{bC*EH@FR8AGC1D z?Lo`!2BY2^!pCG<6Sf5ut>Kq?v$@g$K&z#CUp->R%aa;E4=)}!Ac1j*y%C28$2+fR zGCCp6Q#>b$K{)ld)AY4rc1y3jT;d2wUZG4s5Ne4F*5AfQMEwjeM4S%iUe}X5U91`3 znSi`)5WT>8dHvz`4a`otSXbB8=8Abe#kbq<>I$lEAO!~@!1QAEMsxL6)>wlICCP=; zUPV^Fn{GUV)Vn=soT;jf17STfP6Y1pXW zVI61gt<^v_tr}nB>H2NKmY#ltS1fyWUA^B7?G$t2uA&cnY zEgGHH{=5b|0`^+(J>U5hcnf;5D8BnHE|tu)hhdUJ+HaGf$6ju=TvdPQ0ZqMh#4W1D z7zKFR)1fi-O3nm;7nVhd>e{UKKtZ7=J3ptJ?f$|3HoZ$w61jPRYpV+^Ym1YB*Vy&Y zp~pMCrS*yNL5&RMKwZH!5-q?+dZSeQz~635g~HbM^W#Q!i?#dNwfir0O@?a)+~uPN zeIM#yFB=8Ps`!XFYvcyy;MxBiuah^N*wceg?XO|uTKfaZ>q<==F^f&kx0O~39|^^m zxD(v&z;in{Lc5T!$>%4!JT!n0Y8GEMYxP=v9lqAWVqJbY`(OB4;=+F8)OK0{9b#6B zelaZPl=`$<6Ndu|2PJqkTRTVSy` z=!T^NaTT&#gmmB@cCmt&R18P$yPdIeNK$OK)tsMMy{D*3jHa$c_PB;N}H5 z0jyHfvFbJ*lClOKTy+EsegHXMMk7Fz8@}fBJU3u|yyvzDA(f}=njgFm-+6THRN%We z31|LuN&e}6a^VGN00Zz@jD#x-+$YNP;p!ud_-wht)0yB{lGEh#vfFD#UAWb@`hLec z>K4T>=ws;09pG&Upr3^!l+6>8AMR`^-sQ^mku5dAn6Ik^O^s)kF(SGpDXdDft(j;b z+po5_U!54J(rdLiO)K^oNhwvHWN}vBN!74kL>OZ?_O`YUvyqvzWU;wKF<_8ULvND0E{8Lr_bK6{v^!}!^T$2C9C zuwplM*`qQX+RZj7s`z=vWO&BQ9+c@LZ?;i!&CfHe*t=Wys0=@Evki(WekSfiI(o}t zJ(SD08TpRQ$DfNoO!{@p;}cUJ-e%<&4FI2saA-#qIfNs2Niiegz>1&k+M>-bbMGy& zA?C~%7p(fHk1WIPF*UX<3&^QQXIK6_E0<>%l)Z|%7DBVFXa<-+Vf2MH9EX$%0~t7Z zdEBVgEj@@^2c^UGa!xA8jfbRQ)rFQ>n~IF(*lTf|m?$H4u;K(!v>J705XlWZmd__3 zCbRNt!L&T{I8f%Za5M<;#k<#s zs%KrVu=R3dcN6;3SXmdc|0+o=()8~A>sUmWwpG!G{~Z6)`gQy0c;{eWzNrF*X>H zoxnj^L5cd^Q0L;ipbmanAWeowsZdgwMF|C*CO@EAa0QxGh-f&Vci4d&p_qqy{Gd*Hh3B<`q!SI&I`|X*m2``WL{0jfxq_}p=yQ&Noy9v;d?GDC6$Ahk z$SAhJwGKUiGlJyhV&L`=pX9V@oh^TOi7yCnwhW~O=evk@#2HL8>ZtuUx~$m;DXGiI zeNi;_h$EGTag*>n;;U2YfT*Ivy*>j@$xz{y`sr9WWge@%hz5vKoZbrJoPe^(g2rz6 zTznhdsaXWj46>TV9Q{n8RTf^IE)h14+Glk-s(_Hd|5cmz?&1Cz+2%`+YVR!U+%!t0 zb(Dha6jxYl$SGNMppVJ2CG*Wa12*iv0Zz_}BY53jlkfdQCwNKb+HB) zwyK#UyNOBzswF67w?4b|WQ#-zs> zXL3$qKUCXB3=%4&3X}>;v%v->0co^K0I@-^XYCW|)`IkWyH}{BI>2ZkmQ{-FuR*6^jk&BCU!QER+oou+NKhT625Y}db@bRNuqC~e! z>o|9}%H$p$Gc1bVWIS$CZ>xx*dq(O7fp;a4X{;cA^?{Y~Bahf+7xig7-T+R(|2GPW zl=%@W><)-8gTn8T6+@k1v<5sMggs&rx>B)}Us9>PDl~^&+S1Os02Zc29sX@&_g~@) zp|we+fmI4nzmRkQE68?nkQEuLlMZv#nAXSn8O1E8uUHRl#d`hW4Xe@C%H*H|xOitl zAt*X$BsT-Fhf(!(fG7MedUKH)s^s1lO zE`7**l#b@t&1U`0vM7tV6y(zeTP}YVmnmFgAYxx84^<)6L7ky}f8=`lu=x%`ua0ko zW&jQfV7~XF3b2q7@#AN(hBr8|wC1SZ4gAw7VE5+19^B`)N&vkr$16lYVQJ4$ zu^P3Xjistt!Bo^pNYBPRfb689p?U1N(?RIv^8C^>6gYOAwK3=Hcm z3cI7BRCEs99&6hYDFd8dkyPm=X}ZQb*|g_i$WnWfcB@Oc$`gWtjNtAO0mEFosA0VI zMcjndN41CITou9$3lQ4`*FloeqtkxbfS1la4MR124+*G4J+8;)!U=iF1 z=h(ZzfJbyy5TtkIXlq@f0nk!uX{iL;1hyy=1|X>y#704TL`^!#Pd%xv)>aW~F8z@h&MLvQM%Qp@DsnZV$hfdLYseQNS0t8{zA%+33q7Vxf@>AV zvTLmEb9lVcC>7!8Iy_!&lzyTwj~k^2@C8P;zk4i#5zwHZjjF7>o2?DF&TT68ntvB| zH}+q=+<38VWXKdUmfXU@)e5q|{Buknxd72`Qye01f@JzEUh^$q>>j*mJ>Pm$$iB;E z{ez+hd{1^x0V_PjQJ`O^8p){vCszHhq4kJt4snv3#NA0q7{2#AUZ(} zw;Wg@wIT*sxh&FJw76n)CN5>5Id(n2E0DG=F-6|gEHpum1j&ml9JtH(1)Okz84lf^ zS*v;oH#vpI{t|-E7bskgVZu6%7b>k@AX}n;vdCrZ{#Z(tKLH0q} zLafAQ5G(7q1roc_?}kxHH!bxW0Vq0fc)6Xsf{?MnWpVa~(k&X*QOcQ^8J@GACQ49A z7OEH_j>(9f7bosJ+^KHoy$e|v96%3F4PFwo;_68$lRVa3G>8&z4<^F@F91T62MT;K z2(MuI@RkkWP~VgUf;^HEMdir+_W2StBv1wdNPWB&rze~*15%P4(< zMZ_p9(fm40{!w%#PnO2&x;}2?*#PIv%4*h)mSs^0r)16l5}HeVh>eVjD-RmYBJRoC zSov;z1+++7k#&Ga5cUek$Oaq(jCteeMXgrLTx~=-ZvcC;C#Y=C!@0s%Mtq)!%s~N& zNE)6DQO*||I!Yc309|x}aqG%6v&&0wFFY-Jq%0-_8IY0W9z@)A@I<^m^hOa`k12~a zfr9u5cG=QWxy;sUaNjgni-Vd$K9K(h@E;Uwh$)wbCd!y-9z+9y6@fV~XRS_79eI5& z{xdc|08)tO2{}5k7Yt#rRxs6a;oe+oF1gKeDdWU1XrDZ=6mH-jV+54OVrQwsxug&HYE{%TSq{~@Rg#UQSfo<79%odshWcW(uk-9a z$eYM1{Lu}Z8cpk43yiX!BL(ILB!q_iG@4d9am#c{veLUbGzV`!aCt7u`GO`XiDtZx zW<2#b_}_A~TwgAhMDrt>U5Qt!(5vQBz1}S6< zu5bQZl0|p7PfoUvjvJ+oXPaBw&tLqq^FROE-P=Dn{C`KsCog~f?bW~kql-$YMXQmb z1xFU`_!s^V+JCsR`sneKr~ml=2L*&|$`puQ3j|jx6t*{iIcRM*1byzy&l7pOKUFfq zYbm71e}!s5W^zV}()CTVUBWVW)o;UPUxFzul-Ac57UfU2-VHABVZlA4XtgwFyTi|x!ZuR~5bk&0O*w}d`p4L`QO^=|;u*ht_AVquY1?sjOXsH^M z)J@*7%_$b;N6owT)K|RH#=`54N`}3sH>n8$GwNnlxm}ZGAgT8b1s!pcrC!h1_9Ytm zPX@efkuwzS2BI37omNB2D$krgaD9yu)ngInqCks+Grr0USQIh53dKb@gyo9XWFfd| z9t2|V_}{>Po`rCBoO0XLD2$^-ry3^4Dfnhrll522V(Wii93F}v@oxTDT;d}(+`Ddi z=szV|m+(sbHjCGDaWz1eU?5^&vkKTwzuI|$s{Nx9SIV2I zp)7>pdVM4I5lgAZ{*A_(0fF)#2xva zPI>#H%FVK!nKoTk=F9l#AQnr8MYw`ujwWHCuDa=zin4S`bt`hLGTaw~>o6z6U;yG| zKE-Rxcn-t)UtiXTa)KAIDO(ykWx2d0k70LiADda4iJG@44}vW z>|k!Q+P9a`5<_$0MoAad9nrTC)x}yJvSHv%j_{WaBj$1q*@@wL{Q1uA_E=%g2{r`X z#)9-P78vIVTmvsgUAPA$NsQ$s27D>A;O?RveZ|oCx~AWjv?Q*I(6CtRx>1tF`MuvL z)5xes0w}&80;QCGVtQ^LUH7miLx>&|TzvfjmUR=3RNVE{`{AI~?)MuGVF&G-n{StG ze)8Kxo1^@8J^J?bTiYeUx2&n6BFxOAxy)iUfJ|VKHdC1$}Ech1kawimb`DyTe*(?4(L+ zz5(m^xc2lPQY8t?7A{QvxEK2`#l~nDB3lAwpZVoSUwKPpZoez(Dt;2h}457P{dX%jQ8E=6cU|s(nHW? zBo^6)RHC&Gvu;^diX@G?hSMxGPZ{e=?9U(=`gF08=G`cRCYM~6k|*v~+++pPGZ=cP zXF#{1b~_xfORsQ@il`7T+2PbsI-rUQE_nsuor`z7sPDD?b06i;kvQ2P(I}uIW*Ob2 z?I-Ob^oRzFdoe)ziEW4!l z1StJ0mR7#1b!n9V2f~>*uzbbw>_|0;$cBdhl(RUaZL4ac{ok?u-$y(yKt7@RyK%DpCTkqV(lYv3(@K<^SSbaUH_hE4GaQCp z*i1DVtrd#qMoyNIdp9m66O!fB_KgdwltST%k3muofX(wG#wLo^>UB)0k@HF~dN&OF zwQz7z2Q=^oEy$|1FZ`cby?WT#I@oby-oLhXj#`J1B)^pk8^8Sve!|~UL92i_@i*PN zFxS0$cZWlT_4<@tt4lE(+y3#9mVDe_mMJ-iKS(FM&uVHavVk{ag zW+W*HwtI(GbK$0jLQmdiReF;&D%0N>05ds;<3Q=hlV)pC{36+6^^7Zb4vHT&z5i&? z{`hWlp35B&S9D5q36OakMqvvPoJOrEtL z)mQyZeUYF1kq4WhBtY{~`cZyUU*so$;NOk}%7!X>7U(4V$Y10qf9O8Q#kIX*G6L{Q zYB^tw$ac>;b)2wIIr1x&$|<=E5h>J|Cuh&{&Dcq}d`vu|TbCS1l;U2L9EB719w)hp zoD+Ele^g)fH}&PS%+1)5s>|9OW931W!HE z1i}8MzQ|AhAbmmj#_TMmCBN!#>Wlp350k)1+b-H!MBnJ-mJ&3ardlkRw`Oh>AP0L9 zkOs_LlP83@<#|jBa;u<42yHm9oFYkIdaEbkDaF88y3bbfb zN~X-G$2=$r#xBm$OTtkb=4B|MkBS?U2Z8P-Ug2L!`$O104@)A=WXj6f{R_gX6bjRK zfIp%mKu@3$%@}_Nqkz=lO`E@lY`s}rCX>ooe8Sl!&M(DQ4`#NSY2c#%In6AM;hhN1 z6ZS*Oc8(;?C4(sWuyDB^)ob-?{Q^GU!d#o}Upy}y2q|CQL}^Vz{G z6e1qUVM~inDKNy$Y}au|$Ex1ECi3DLc9qEtE&3VL1lrlq9ManX$AQh_X@^{uINT14dlSSTwUkFVnK z_7-cB7Nt)KtM9j47-PWz zqmpLp4SI}gNzb0?KAE{w!sTHA*=k?HT@bb*3XNKL0W!en7n-saNwPFR`aNY`tYTEf zk11;=ZJjg>J7Y>{D2Z;7C9eS~PMiTsqW&!HhpEQHXh79Tv^(t#?e7`2 z_V=c3Yrl1Dwgx|^ru^5fcCXU{M$RJpI(14o+K;aRCHCz*C3U6nN+v<2gehxxhf?Q0 zuCJ1&hj4tjy1#2fprq*`?C-7~AKDNoX?h6l_pM>rBC>)vYg`B$UPgggp%25bI~KZC zU`pr%4}-O|FvO$*(ny^R4m2F4;b7{NaL`%w%RO^3WXhEFJ6<2dWVYy50_W}UGBoEZ zD|<@FG_gJR0=N%*{_Tv}p`r4BHaN_g5*`K>Y6T&RO%m`DIa9*h+TA@lI54-BOqq#0 zg1K(tQzAvF!yop{C(qwn=jHOHJ9%=B5E|b935SNxa>h1#8>VeUnjNB~8oGS>1jyb-($Dif*D7 zTROql-WeQLeZTLePO|J`cWeoc$9BhScc*Ag6}@|lK0dz>r)!eS-oq$csO!^mI~~*& zm~yyQo%`+shIY^~KxXfbQGKSK1sn}?a86OF678CqQ$mF*bTns?{8ZlbJ%t$bIVEPoEgJw_5mN}3DlzS@!dDYK zPEAr3Cr*uR`#aCKk55_&p4Cd9mh(OS_uk8s9gFpqNmI)MwzqapESUf%Oe+`IIW(nq z_;cF3Q)2W7GmM(bK7E|5{q*s)c;cVgasW=4`nE8D!buj+NS#_5L2MY>o4|1rB>`q- z&&Kgn6@KdLX7K!0_B_(^76n-69ohn#J@k8ClqW*ZEIjp0A-mD)+`v%_wUI_954F4^ z)80rg!>*?pguA`hUEJFQGJ?2Njp4jQSm!O8AkI&)fF#*KCnj9Qlb-bkHx_RvE|YZOS&$w@9I zD|^~=G|UH^%A5Ax#2s|nVF%gTGqi`w+QYeJ=4?Z|ejC$8h8jovRQAE-lW!!}#?>(z213QD z!1}FopkZfj`yHzqOFtFt77+D|fBdnvdqSSCP~*5+Tqzj8ONCqP33@#Ds1ABeCzlQp zyD*mii=`Sj=`q5Gt$PRwIA2ZDGQ&dh^SS)o#k~DJ{I=gZh7Y9{#9v9j2fiAbF7Qk0 zn!vX#MG;80bv^6^e8+;6guVr&NX-fOmap&tnHxv+hZPavYg&&0$Ba4w@X62n@MUuo z|EM}@$$5~ukEvs_)$8Z@BK%r80gUyGH%nQAJ=N9B7duEyy}0Ru=2I6Zj(r)*D$@7c zS;<%3tW+i@y7|;Y2zFM#XTT5ZO#-n)J}wZt;yVGN?9L%#{DCYYMe&3{S|kp?@+7o~ zh1s%I14S&kDAtIjS%`cYq9`0mm`=+T0cGTA(GB(9x*|eK;?k(Lm$}CI7bDTMm}35! zU|w+sL$gRG`$+9-rU-tSv>rjoui9xB8LKrJHkrW?sN zr!6x~fj41b`aLL7(vs|F6T+CDQZvPyPO#8^`3?{1--pC>7;5b}A}iL9+bD$wzyTa4cM7)sz4pZ|BXT4xM=8)u%AC~nfsj#yI_*eP!b_)|uvKn23Aa*07gZ?X08h*Q zipoiUQgLnVVM-U))nQ+whWS*rRasqm&wb}1ytp=*lgCxrx?C4CTYcAy>QmNFmQI4< zk6OPy9h|th282v#ciQeG3MYWD#}r~~yOX<=T}Oi)xE(JHrtMg=bP|kghJQ`&TV5>< z*6npJ`lD%kmn@wGBirF$lY5s}OM?x<(REU%UZORkj$UJy>(!HfzSz+{6uVRBE$ z*VRo7y^Dc6ZC?|G6F_7;^kZ`Wvg>G&@7s^3?Uhy30wAHo*U9}!mp6tN4WsGj$SRxw zg7-WUXw3#Lqgn=F{5CsWyH*113};|Qg*33)yO^q!017;9e|D(pS_!bToom^35+G+g zjI!$_K)yfg&OY{3r3BE~2yAwp1jrewOh%Oiz!{IuoJt9xqoLoO4WeB`gM*97v~aAV zCff*vXexeDmP>k%i9OT!0edP|w*zuZljQVE4(a@2j50?&i5-9ORSq3-m~Pi(Fi4C) zI5cAbk-rS-iVZX1s?wuG!(C#9Sa1k*uj0HLUgl|xW@BbL+t;2pl5o5?V4+WkjkB0A+FEJUKwm$6jDLz#c zVmz!Kq;snnnzRc@h$!<5hJwX0_<*TON-$#2vE)$gg4{bViv4gX5l(m76;aQnh;%_G zyoy7a61M3Hy7Hk2?u;`}w7Z@gc%3!$;7*RDu~i-h3>_nnoO$Qu1Pap0PcjAvIYVz< zjJ95f;&~KdXr)@AC_Th|WY6rqegp6K_=!I;9$pE(XzBQfKSS~wVg;94YapCkha%Cb zNFN=UXJUf}M=W~9@xot;QuE=;lhP>$Aq_8{XQbOqyX%14{!h&?)J(P?*bJ2o#PPMd$bG>$z#WE$Y9d2?>I=b%TAav zfN2P)O9ef~W7uct1Cj-oy5vVaj^CnQmFeL8}Ta4kMdw+AvjL=OgL<_}yDjL&ahj*HH zSY|jVwE&Lp%QyO)XvK-&2!}&O5szvHg_6@fhi87Sz&@W7TjR$cn<$CLy&dloIsc`? zWg)7+tslR3$anQOfbY(mM!nE4TwuoQx8J;3{-$0pticL&3;0F>A5py&kI^X=A%7_7 zM`11K63FIKt@&Z)@%PQ!X1Rv(3s}{);_v9 ztTzLwcneih7?82>DfB`2)ia|HXePD{soGD?UbFT^GLiQGtdZ4<3|d1TpMsgTcS{->4)DB>d+0LyYKWjYk0y z99{*g98qDhReL97ooHFIE9;`hn`h1Mx^bUD8k8C#qY9d~4Vb9{6um z`FM`lIreQ#jx?|p-4aEFEvR@4*b`JNlWRY>*G`x)={%Uv?0OxrC64%LMt`*9rdqXt z_VY$!7#1&4zi?}mRgO-MNO5m6yhId2k>V0NtS{s3u=s(0+|u>%pZw#W z0`C0-UtJNoEu3Y_#Y>%2b1J0q(T7ELJMwyo@`(Yg3I1${U5X&WakT>--~w1y(sW|9 z1)vNa?z$n~J&6YeI7=Lb2yVg9duRf0)`8?uspc@`@YaL(5){V(iOLoy$~`7lv}Q7Z z@B6SmjS`T)1@UH?xu-{DRrLCkZj zQsTXwTa|>YSbLfqy#ZP0Ez&HAJUxJsl#INwn@$F95Rn`V+lQJ_?Gi<6AtD`~l``bS zsR6W95$GGV)1k;X00f6#?SyR-=;66!jith35u%s=a5VHd<_=2Jy@86Gg-w!z245y? ze!zH+QANBsxnN2N=y>;0Od^Ap7o>Z&rA6&x|uhqmp9N7)L5%OFBJw2LqR)%aMCu zwZw1`atIX^Tp5gDZE&)W~ zT@eY4Pz(UO2_-^E2Esw7HSij*TXuZsH?Qqbddo30Zm^EuSu8eCFyOu6qyk19|3;E@ zF4AA#7WkFvr(nMGywE`g_#CNPlbQ6hDCpWuEP@ivC2mc2*(o*4&84N+Z=kQ!(XFCipdeGjS$mlU z0(woK!GtwKVd?{iIMsvX-}6a?SZjgOPI3s=3}#1t_$OO(d7Gud8=>- z7jUN#bf-Y(9)82sK{TM@MMp9B&CKLn}TAm(^VvI&yXu(wVbR? z@NRX-FsFj~tI)G0=)@w{V6xMobbv#QI;r%hZx=o^d@X;few0O3tf)ci$tIxs4zn0j zFlGf|!Jtq0fEA5^jsqY*!#tcE4#lm4sZm!PUKXb!dwVDw5L@yKRSCT7VRE__#SvWR zv86?xHsU$(4Tlu}gbrAtV@_8HgS>0E*YA222}C~FklG&*_ZIoXZyg`JJlfn=fhqwA zbXRKK6Az3MS|5@mkdWV7M069;Lm$gywRUd&9MbXHDDUM+<-{=$Yxk*omvyqNza~F{=QMkaB44rgXfU_!xZWk7bhNar#PwjGom(v>Q%5Ih&>jrfv21Zv~x zSn4n-i(*&3b*hk<@MjQZJk-hvkt*OKb(vpq7XZwXe4io3d!Ko6d08aIGIX?;yeRi6XEQwzQ=K- z&XXae&c{WMT3?C1Om~G_;L;RpU#@B1^?>H@dZ$b7iKg@ z>!Jyn%XPNk(8eA##6~HuL~@v~C|MBB`^l?pouZWKqrNY8# zDQ*;?*GlR@A{@HrMIoh}ZyMsdYTVb-ebR-Y+r>ntI+{LM5pra?n;Ixs& z6R{X10?-ywF*YYgh&2|MWSq3`kmN5nKk`R&StuDRQADppYDaR~%q@_dHStl^lTV0b zkn`O~BN`~|3e{{m19}pqX`y1rdei3@Kw7J=QPHF{aaf^SbGFIaL*OsR)J|*DtB#`v5U4uL1?-Y=emrTlE{DHGBF@)4gT76z!I(o5K zO@=1d#SsT;{a6@_fp@GyPz z@gofZ4fUN`&EY!(aIm&oOVI*dlajJz_tFi@3P!v2*Ke`e<&X7R?c)WI=eq1cyeku6 zd5bzudB!Or@{pOE)k;0yjzWcaN8`1#$ST^90d!SfGTk0`VUgw&rCnF<0K&hX1^=||%)3Rnj6;net zio(EndI)8ZPX4?mzfxB=6f1~iE7`v6x;-=NS)Jm~yne_TP%DcU;x0_)`S3Jkvy-3^CxD!&Et|6l~a}CKS+Y1FSRgh<0TFs`J zmo<8;e0;l75u#OqXx$t6drWV*m;bgU~V8w0UCBC#&Xh!|Lu1j{{@~wfC&D=9I zCGEIF7agL*(o`^LBPphm`tkFfS9{xQ>M5xG4(@}B{pB~p4yu)TSK`KVfzA5=+57YT zHjX4=0Gxk`r>KV5Ccp;3L$YjBrfmoWDYSVF07~*u8n_4)$r=GDGz#F+w)cJZHTKCi zuDt31K}tQ}%yj!V(;~7mBO|ZKh{!nD0(86fa+4n=4BQ^J-hJgIO5-3H?-qoqQ6F~K z3L91>*4W{-@;6lc{e++JscvI}Kcc?=8`F&HAH%4Rp6===n*P$?YfNC+Rk|p;bV+}1 zBk`fA*%}c#isUuDZehlYnHtZ15aSi45nca%UEzs;Dm3wLgC+hFBS|4sMDuQG zNhth`PBDRgRT=5MUGLZ08Xme1S$+1I9$KOsT-BrS>YDU$WZLh;HD;aCfmjdlOT3TC zJ|l1Bhpc-*J5e~QAazcIA0NLIay+P8X8q_{zObqgdAiDRX9frK+^_zG#!?AoTky7;gbq%)aP<`YP+{|0-2gXm6srl}GnBNYRWHq-;S9M3IemRibDt1Y#!*o@zs}2Co7YufzNBtA#3ttVf-jzC3`3(7}%Iv3!VD4r~h$&!>SX?WDre zchvtA%9dtQD$n6Ch~0glDxr@vcQrj++Ds^V!IE58AXX zJP*u=?z~CyqkTfZ9Ey6EI{UW8&{~>Yh<&3`YngZ* zpRL(a8q`5}>8wXaUq9p+Gd@aFYIaTx`?7!SkFW9%L~doJF||xSlRHX^?M-EdVh!{| zVde8CkF>TLk^heU@TgU#tZV^!!oJpI+@+(~Cv% z%pXmFZJCc}XzvFoU@5oCfTK;dn1(oYdGe$mydUMy9ixpVyDS~@NEas&`IWS+tBGRo zFW%O#UcyP17m9oju_h^eRL8K*(h6PuEuqlW=hOYXsY-`u6{vWt#=ybN6@O^F6hsl*BTwcDvx44(1hrg^>&cFPhH)S9ft`qSC>-#Xs>zN z>$cCDd@mKr74$c{&rXJTp6c^iglEs=XkoB<2^Hh?O{!ubJ{9t6MRGv`obqyhM(Rln zrikHQB}f+o0Um;1B_~7w-i!UqfXqzD?VIE0vX?jjCqNuB3`17*IXW1kL{7VE?1|7t z$RN;@t2U~*OIi;b6|u4faA4SqE@cRS10LZ^y}Z+dWJ*TlNBd%^j!&!e37h61nsn%+ zOZ^znO3Klt_DLJ*=ih38k6k-8G?ylQI58F&4HjpWoF8Xm;p2~KZHWE4(vPCb+89IU zlCM02V1M}mOTIH;>cqD`5L*7dS^84_ZsV!U5xBF_2!e zaYwTQ_M7%J(+QhIVR0}GCTq$xiY*e@f?mvg#~8_N$LS3t305c52(6g}3cX8Mn9`>4 z2dHuz2e%9n;|xa=oOG&9$Y68=+-FfHI&9FdSOi4pDvAbP5aOioc=gtMcA&c^mr-*2 zU?^m{j6H2{zWA080lJFAY{Sl0-mBMW{Ey7@6kpZ{I7!Go&%76#o15AgN(nS^ zp#vsL_{BBcUTeG;8LW}8hC7!X zi^MICJ66OIpDAMUa#40=B3*mhpFz33ZTzP_t=_7hFg#tVOEly*U(in#wlq$rqCj}0 z&DHfm$qBq%?3tXppCeSetm3J(tk1ja4n;I~xE7nr$|bX*2Oi zgNcW%B^H`WJlam;|G1HaSg_GMs999_D{UNuf zQgm{*{`M<|-#I?%Hg|xBMvV`eWe-H{iO)WK4?>FzWM1Rhj%HzpGkhVc#q6kdI*o47 zgq>M3e5)FG5^%bzEidBvgwhkBXFx~}Ou%2X{e1*zd z+mx4MHcjr?n{~_)mDo=}LK_{Q0I*y1^BT|YUojtkgYp}+JZiQZZ|cY0`s>zVtNRPe z6#K32akJC$_D|Yg-8-$fyRF9AVZH60p0!U;I!&6cgX1&3jA<0_qd7%lfmIFByzm0G zN3iwaq->yQ6%E2mbf1MH;+W;3emaVk5QXr0dkwwQ`Nc5oLwEgPjG=_%iykd1yMI8^fw#rW1-5C8n0aT|by` z)|2P~%qw{Gp#uP6O^ey4I541R6u}I=DX*sf2p2@Qp-!tpStbf-ql;^9twe<;9=)yA zg>QhHc?J<_6xcWr@-+F>1HwQCMj4k+kyz1$`7?zUPefu9m_ZGcx%qW8kw9Cp)an=l z@XI+X6Y%`Bx^GU-x?cVG7ktxb!)E;Dl_sOKQ7O_Ka8DuX7i1p;M$q^v+t(x7kNniL zMca&Y0Qkl~2xfjbjCshvz~qP}2nl?^)dV3MgWw^2c>7|sF!Ep(-2wUF@SJ*RvI3{G zLPz}j>)C9wv$1h|dt192&uh{2YGcSS;*B3_6tk}@st0{+X8zSxFwjKR=bKB&7K@qG zB|CxE3jPfYjUvoL%XoKfjcJu8$tols&4!BS??&q%&Bq*8ZO8kt`WxIConJb=!`AC| zz5PoMU;B5L%0xw(d!9Xe=CRu|0H7Qttg69p@93p!8t{`8`T_IKtBqdJMS{wY9}DC$ zr1J@`IzQ#(G`I=vuj)5teBM>5VE%BB6^LOA~{>SL9SUu6pZzO)?ni6c`MX^R%tze=BIC z5f~d1ty}hW0hx^MYx*Sd0%`@~TXt75VH0sMNXy5}St@d?h}?|kS9>qxGGXEeYK(uV z(?{kkCi#q_nX=U6Hdjj|m?9W%k%C6-k7|WKdccYJupP|bRLlijBT}EESb=eS=j|nc ztRMVAiqwAARTx^G*eqvqv>Bbsha?hp4bx`vV#9!2z#>fWe0u&(gkehi=qos$ z5vvFn22d;t2!QKQ+A3>)8$Hf}@2eHw0}i`IonB)Lq}ulz8%4&Cv||o}6e|F5wBrO| z?k>U&|B!WWwwtUe4W>2D^2MvGt3cx!QE-V^peyg|%KN7B>&{*k586?us;qy9q8KLC zIJ7%HqDIF@_SpmpgyK{n_k`^+vk{{G3DCw2W7Guy&{Tlc3V_aCIGT?n=nZoXB90&( zyu&msJ@|-pPX9n4C!Cpy*aEgk^-AMtI-&(BM#XZifCT1lMpl~qC$?+Sa|J2wbJ}9l z;4Yx1{4cgMYVANyq*0T`=n)E1PO*k*uINu1F#Uy%XY=WpJ#RVggo+}7#~HJ(QEioi zO*c@LxCu9h`N!OBssa5da2N}qM>Dv+_}tLg_*R9sALwvV^jRPF_$=ztVWSsTm{Wp= z$-xrkd4LHf()s>1nxbXJ*zg`kwV6Cz+U2-~D9Y7;>(B4>SJ}%K>dPHzv8qh?~O- zJv+0Q`MA5f;3H39!&52!YMdVw(Q7pDBmUH1Jxt6O*G$?_s;8H@i;7@Uq_O55!@Q1Y zXR3%nzFu?qHuZ01={PJ`L$vLMbhb%F%5&3Ex#1Ct6F;104c^J3`QR)# zwV#Lu6IINMC{ZCO;zckB1`pzAr>B1us#Zf=x)%P;1hKCb?4+SqA9gXZz!EB7OG9F! z$zELg8H&#Eht=bwS~~qGK~I$`^w5q|qH-XgLt;5W%edStc$&B_D!I(1Z#-Ls;@}*! zj80A|tLE>-eWOJH-@6FMDB0nuqsDf&RBMLpVrPy;fnnZ>h?mzUttJY$$jK_EIIt=7 z(!l>B$TOkf7!U;w1ExEp#Dj4{Bd}RS~b#NxQSb-x>G{agd=7W5l-gh&LmWO;O)Ju zxA!@|y}I)lH&R9Sy_1dy^0mqa%iM$futBrIq{l}D3&L*{?}5RC^bmBT`eZ@%gV+pJemHj z4vl$uiqw_Qrc`&L>XWTN_Y9c^_?jtHTufG)QtB`31BLTcNpjJaCJt1vI72`vcP`R& zbxLoi7{+3%V>WX5O;jmIgvyNBQ&bDq7UbY1tnxo|&Q~o;Q&=WSelB+h>vAz0YOIc? zbwwl!62N@@a&Q@0R8!z+O{4v*z;9ehRTpaSV31tU!(Y3r_OFZ`0@MBLhOBWqb`EOk3wCWr4xflrp(bP;JbKEJ&m8PX|@>(6Y8MUpv_3N2>#s z`Z(?hhIV(Uj}oSEfS(y1su?l$3nWs|cQkiM&lN}nt65R>9iosdu z;5huk!8VMfcHt9-fgGJi(byynp{mIGhIj_)_NWez>qpIu7ipZIe(_lIZW7@oAD5_@N1T_`KFL9zN#dKy8Yw9QSONQ(( ziBS?gr72OS46?Hq^)d8DU2!Jtma^9b~J^c8Ug+N9%dl3gikXpw`ne^jc zt-ysnDbde2T%6Gw4vOeR;v7i8HzmMOSvD+w`yxh$sN-M>=<;Be)rs|%*07iz3FmDV z7F8Hj2xVG>q6!Mm7hS4ouTXJy%vn!s!9L^{jl(@lS0(B#P8v_z@W?3Cp^apdN2Lfg zwtg3^O!M})T)M*uW$U1ldFS=m?Lv9T0M>r)UrB(d%dl^0c0{kE3WN!mF^kFi9rdEE z3Vtl$h1a|4!@3=?La1Tuf=Dz(HGFh=$<_*}>IT7&O;ZZvs3)anmXH?1Zqa!35|wBm zk}nJ+TsgWY4!)wSbQCqy8f<(L&F^T!drVe$;>TkB{Yj5TOuOtksTFRA+2C%6nezcm z%ng$8!9Cp2^prgQM9=2-hwpEC_;EOz4`=>3i01L|UK=P?`y_8wBlVj0 zV?l%J_aaLmce{aa+3&_^d|w^*-HCqaDVrH<*d+FjRHfPd48oXA>#CG<`~ zQ&KBXedqbSN83~8RN5uq)HCa3t{me7Jm@gEL#~oZRE**i&UH^#lorq2CwU(;yU+pZ z-M1IvC171yfD`E%_8xjN=yUFNob%05Alrw#52Fzd7WY0sZKN=$nf-(77x%b=Lpq!< zcJTKM@|7o&+VqRwAI8CLHg$8pI-%x`t|;9taW)`uDwmc_UNO~8NQJM7QVL0KWxBV1t8YmR)5QrM)Cp-t+Yhf8z*f06 z@f|as_lEp1W&KvqO_oh=oT5eyRJ*g=n)VCsdZvhnu4E{1)(5xSU<|~tPsR}GUg(m` z0Glc`FeAf{e?XlPM**Y90#U9Ci>a>;F%cb+S~8k`Vrw~ATixExuV6TN{+ys3xnHx) z6|{^}tWL>*i-{S{xvwl@0+W=smg-zv&1812zpCUPFcHQ3ATHwg_yu;a)y9P0D0P2O zHbTMOEHO=bRx$Yn`nS-Wir7CN(z6rKuZ1F$Jxk2tg8x2TR7M)>gJNqeUlz)LSXA+O ziq{-nS}-UnCdBk52m!-I&lv3`IWq^6{&I!n!s{*pgQ6fNlx z$4z@BZ*FjA&^UOBbsB}^dE7g+kdcynBsyFO6wpuF z$hjumt+$(dWX>;8&)Q9_jDmj;t;7RXxzRoc+S{tXK5UW!EmW#L{2#tQsa9dE73Mm! zku~c*viR#+Y>1d!klO?6XTw0Tf`psc#%qUmqF#ucl`MnpKq(#74byD4-$NgyBGBdY z9r&M*JH^5?71^2%N9h|9?vF+71OZ!iYFr3sM*~_44o8VkgMnJ71m^VP&dxdf zTi^MJ|C?`q3z_?elXu;;*Y{&h0_N-#xN0#^4Ma9=fvvtF*fHp_qhox3iuF z2rGLFprrw=@8m=JkOsxxw>4n&y6tvd-?)Uxvwe^92mOY&Z!Xu}reqUG7KPSLc!kwVX<)_p1Lv`Kx z4ZkRAQ98?nxV3s-a_l|kNq1#QifVX8wKT=}&#>Ho{_`s@{_}rYZUogo|GD_9tc$u6 z9;D^gCBc&^eg{06et7p>_6uJiA96fMDbfZ;03n?lh1-Dp7D)IgHW5`0$iQ$o1X{gq zc}QUK0WTS zHQ@Y`yaVG=^eHgu91;4TcF|wgfuHc$b-rQN7v_fCa?FpZCNhy6pujGv96ow}hl16H z_EM$zKPt?N7salq`hS8WSAd&FE3Ng06jRL^-@yHt#V*K=Mz(RoW`T zO{ShPL1B|wMpSbmIvil-_WGXqR*(~LFlgZ_wh{<6`cd-YuC4wJBc<>x72TbtBA@;K zyH`>H-_$qd3(fxEqZ{`t{2A%E0tiC4k4$ueNoE5plA-#DXQF=%bLIWzPFF0bC{sGX znD@-H5;+wL608l;+*BcEG28Dj@W;eA# z#tDB>ih7;rXo3^@>iL6;HdEV-sfLkk9yp@9gv}`pn4^Lz#$O#BMPy z4ly;NQ{gG2I32GLV*nv0tq2|+Rqydy=mYmnQ8YUoG730#_Eg@(w%U~)lWPW-mpIs) z08h{`ip7^(&m_iRnvqBKMPSZaX&RJq2yEw%(!9lWW#rp=M{5y{NP~eP&GmHBz;6S} z(Wyd6iP1J-tDQtyy0$VGua2W0KZjCmF%180WiRf-hMf0N(4s_KSi%wh7$XcVN4c>C zR*d4)43i+EVu8Z6<~5?og6VRQB0v}qC?gL|_tz$302FcDg2dMLazJskW@`wPh{^!| z!K@Dvva=YY6;z03ef1UPu4Q*OJis{P+I%OJlzwpfb}>gGi5CQe6D-lxoAX7-my~oI z4Pd5BlaTyR=VIyad8-b(RY|qic7n9w#|=X9hYCM816_ER0o)aWf>6V^RK9Au7lj7Ed(D$$^SyqwcW`=UzVmPM{WzN61pZuASUo;Dd)usA6;6)orv^Q5 z6@Qzr&G)|?11Z(u`M3Fw@fHSCSY)oUy5DX#_u8=7Ug^_SJlwHLdOsg@4$G!#HvneN znwW0$0OeBk`EBEcg%(UqJjGEpj!SyAy)==DH34-Pz)9-hq_*_)t5R@ExPO0kT53nzT_hf1fcbVy`Q(#5v1c5~igr*`E3(pE6T#=A5@NYmvlmIXlE9OWApFR-GP(@pjXfrYA zl$eAjOoqZ!c+?2z3PU{dlu_Te*U^YZXb%h7%K3E6p=WUH5lkU2*%_yKvVwy;jFNZJ)et?V&=U-hto6ijLc& zVzzi7=wl3*pIgU!6}Uc5+ZcuA1Rtxs*3s!elaCoo2YhyC^m^neoyEucyZ17u;-<0bNK(gf)3)`L&A{#E!R`*Y5A_u4HRg7i`*RNTbIrE?W# zozYUPdAqUKYM0J+2v~pQd_Sr;+9y4#GJ4^Bsh_>)a(Y;;`tv*N7gLDQGo5z_SXU|T z3o1Xx6hHwE!B%Z+o22jeC+&kCPI>Qr=dcUAzEK#x=!KVPvr#&yuhe-*1#Pni3PXju zm;THj0$y_yTgB;>y22MO3M?g_6)OImFQJ$>@Q zr~@;9L`x3y(*-{7=Vs{~AZ+50gYarhWVCwm_i(b!)79kI%p^@IMwpzVRFGO6##W8z zhNcEO=(G;uaP`_}ht1B%ikB=Zor7FQ11hM1$2jBasg3vP$pLy8n?HMv@4hP-f%A@} z9A&i#e}4BJ3XFGJBw2x`N1cOSv)w*{UGUnn357kVUTb3yz)Aq>fmS*LW+)y21UOn~ z7Nom=j0ClE4ASNe`I&bec&Bo7WcgOef#^@8sptWl> zQQv_7@6U$nM}XQ*+WKg8iy>b*Ns>Hp7Y@7D$;Fj{0zSBCCJDG#*?tiL6i$CWklv3@ z_GrFOyKmZnNT+-Dx&v3{>>54cpb19wUt{ox?SC#vkJ5rlN5qRLvR}i-i>qk_k6V zYCLM~xZ+1$^L&p#cpyc3qY4c+z*TB4Mph~GGlDKCMqFYo_2R_An znW8%UQ!pI|ORbWtKg=5_f6Q978LAnduotu2Egn0mG@q~&N%ff+8kc2_=%)W-8H(0_ z@c=pNzW`Jpx#Qk8UL>g+l;klEB=%I1XRj*$9zd-unDxvyAGy(aOXMgL0*pzZ#(pdp z2G!-{jJ7fQ%=?X{0ky6Lump;%am z959_Cybv2t)1zXwtu`8J31e?{>mxl|vrI#ezQVZg7FYQXd;v=oK{E>PO|tUQDabFq z)_(J_1DrS%9oCOQ>^?bbH{iF2Jg}16QOqLu1-!n}r8J3FXKAFUS4)C(0igI+yh9UP zEAV-Ei3u}G=d0V$W5wHnZdbRdADu`;S9xx#Jf|v@Q$uF5-Rztlg1nUI6zZv^7ki36 zMZ>y68~IUSV&zdhPbi5n`ELkv@^tjh4`***4}FX}p#?q^15ue_L&3>vfMEDD%1ygz z(dAsXhVP~G=?ohzfKVM`mBj+kxhwuQ@Iet@uPIud3%g9BxE9q+M@ms+4~(30N5P1R zIpX!E{uEh2dpf=4&msaK`YFyX}DXgzQci3-%+#{??a*bE(S0heRLY&2ek62 zQsnG@IIAiT+^QAnjG9d%idt2Lxx_dY@5sQR%7&gX{AL|KQsr5Mfl6X(MM~=Nm0fHK ztuC;59H8krT&mE`n480Z&_x`e!)EAT!#yw`Spe9ww(8GRoOBu=BSIEzP-%A?8epoN zD*B644XfWO1&1INNk9f*)pyz-uxjPl!DhhV%*SXURYj%xC_vSmlxqxV98nd+%F_Q( z-;|095WDt)*HKOM7{UNL47Fls8k6;OIEL#e9FQTTPw`bG%gd#`FVHMbl2{fpsOL=& zk5zBv-(Rrt1$;BD6)|0*II3QvQJ*g)Ae4B{>u}Qfw3p5)%(qq~I0qLFeI^*ZxmNIb zwy=Ud>zfFMy7CMT)hN(#RAgV=ofNmij!TYvSzCBTm)IBx1lhjO*g1_)98S$!zxMW^ zvp=7rHzT$)PTDKa@HdhX9l2%7u7{L?ESe6iK&X9mPJ!xJrzTeYOhGE-!zy9^DF`z2 zTIeaR28U(?)EdLW69JitT@Nm-FZx~$Bp3^~#eNjnQXs*MmVk@A_9wBY&hGHOToXGY zv@;^)ucpx)C>pj@^HE}wK(60R7Rs2W?s6K9XWF9-x2S4?jnSB-28)Gj|Bmct%|0UY z*_D+v!va_8JG=&*C116Ed8_Y=a2c$S>1tsmbL;Hd4N`SzYwudf6ts5NW{}V}KXJq0 z8tc79*PM%HCNf1=E$zbv682GX1ynE&`*G%38T)9pr7BOR_@0R_+AuZJ1Apq7Pjp`L zKJFIBFkeL;>0#^m=M;~IdhvGssB{icLR?h_0e1!J>%8@_?EMD!4uxOn_2T<6ee1#E z_bvlW3s?#(-d6b)rtY!Y_eYbv{`Hl>z_;3&_h0L213)W*7BZYBk z73vmY&*Ccp91K}i9k@c}y~Z>0J%6lS|KNRvbg_>zQzwGECyYOT2*`Em0rdU2H;08- zI0orju*Z2^5{EmQeCzcDWR%u%vqb!zocntB5375>EO|7UD zN>o95!*)=zbJjD?O4&9}dvMC!)yhX)VSRE+=z1=)Or{-JRrNwZ5isR32${9hDINo~ zSD<*rl)eqH!uxxKUSwBft`~;`j$_a1*6~8etM`IajUb$9fIePCFp$b_)u?oJ%d1L# z6W(b~&bMCkswQ@06>Y#(@oF_`3G9!0*ov=VzS*Aw8?ox%sAQ~0&!G_-j$!4Eizysm zZqni=$8TGEtvV|-tX40emCg&|G0Wz3m957l04c$jSEkcDKI!)MPtK0_kf@Ugyh45j zum`q^XlTB&f|6l5@u(-{8-~v}cMNwNYAkqTv7tJiSLL}y_W|-7mzWiZsJpXWH~N!# z&FfC@r9=lLsE#lK!Y&heOcJCYbj9`VEleoo5M9 z{LE63_nHdYajG8xM;>98fTPKQdYX}=s|x^{dLvl^9P0G>6jwa+cj`m~P|^NB2vMtO z9Xj;ybAO0l&t6>$^fv%))YnVECp{_1{Y!{PEkDzu$fPviI^uSvC>ctkb5(U9C437tsdCd)e+!?0Hii%1*jRStQX! zOng&KWYc6dQC7dHHfn2RHPXwlaV=aYWuvz7f1yWVDPYm=D;V>F@aX4q5cPhw1A z;esXwG<4%fVevKil^K~g$hzQ9b%_|ml}7#e!}V>j(jU1 zhmGfVIDujvzyT0w8u74R#DjJ3ckh$>yLvT7TCe=zm0;NBYE1Gw~8yAPOrPhSQ! znj^I7+H0W!Q~gl0bx;|mAY)YObv2`z+yUq5qt1;osX*o;*x>Y1&~1`jiwrdQ8Q8)@ zO#U+walhqYq9AHi#Hm0Y*{(72^)z09lD+|tTa%KmfT2QX?zn7LchGk zWbqxO(IV%BOq}d5IS4Tpq2%m9$=GwWaIHCw^D+wZ}?-1RK;SNK>^{L+zaHps=sm8NqV&W zSXT6X;RF)8S+nSjBWEfz$C@{v(o_DV5~oe0lk=(vxnL(KPV_v3k4Pcze#=2vLDYyc zQ=7l^iVgXbV|b~e@_POGI8k$=vCKm=gC#wE;mUd+GjFINLzC zcK@P^9?S59fN}8%gq)2ZuXnkDbBca56Y+VXC5DV)8Go7CGMA; z=*7KT54Lde(}EI5vsPFOE>I*lcZ^$CT|1;0-V48Q{350b@ zOe4eW<*^G&LOajkyHiKZ{g!jY6hwW*Sl+XaSgOfV129@Gs_x~%w(zy#WNag&N@(cN zQRZZ+Q(g0nqCvVt__3kEnG-7#n;sK8{$)<9^C@Rm1)QE#_A6Y14{N-znJ|$z(j1ui zkjH)@Al*IsEk4}2V}j!Fq*i$zZ< zfrMZ(4dP%tlT)6eSUg|)JUGCd>Csj>)C8?ivM4x%JI@>@yG&p(7&IFog(hs6L2wgt zo=_e-%C;GP5pdBRlC z^TSVQl9xE9NA=^RO&%4=Ax%uc`RlXR;hyqlBA+5P3CiC|F2kZ%_1OaAxZ_^%&n!!> z=<<^6H2~`>qfN#j@pTZ)(nmLI60HURTp2TvsgvdI>vv<7+cZ%!GtaGwtx6)>(>YAJgqwI*sRH-otr*anSE!N z3DSrZ*O<|$Y}c|051$xqOPEnZ6ZFK6%){?v@_;TJLxyRuKfHoVZ?ODrt6Ds068Ksr zwZL~mdbjaZTTSX8zG0J4-_{Qg0HeL6QLrjbU%Tql!#A(03GmD)MMO~rj@+UPA8`-A zP0T?avWfdx53soEbX`nJ$u2}T`0>6 z^gy{dDeR3lO)~7FbB}AdW?!RMYU!L68&xKPi9MCEwQ+Y=7qx*_u|!*?FsK~Pf37v2 z(x|Kq;01vmm&2M-5P7GtXj{QLU&@8Tat7JGo;DKf^-87UbvPIV<6>D1Y!}<{ur)J= z;g6yow=8)SIjEcjd=tjuMK}y+_f{X}R|T@KVL`JCbNTwL3rpSVwAe?THSVu6X<#Lb z?g7LUNzMYC=6k%PfTZj4hHIn@L>5h*>@;2(%Yw`H_eMY54ou>Taup{tvQMLUBUQlv z)Fyp0dCk0ZGe^E^qf~}fTAT{|H)f82@RaKQpUHM6s@d?(d zNk63;{!Mk*b;_zG1yYZHQBAFYv?`l2sjmyD3B99Q)%mwnr5{x7rvJjKgukQ;{3&oi z+;QOGZwwzeLF1atFZfsLgS)c2EVC{KO3VC^T30SkEg~1+Tnsazq$Zw=(^H0}>1F5g z`7E?IB5;E4#)V0Q31m8Qa@IXP>;5Zz)&HsRRc`zzzfW0rYoixmIy6#l{HNz%Ki_)( zjfwyC%{TwHxwZB3n}5ZB`frN=q>?`k5-A_hCZ4wg2HW`BtFBkQy2J;;9~{tLMG-1B z%HGy@-@UAEZ*IMy?QOyq?W0|n&q0`4<9@B6GRM%92L6lHRWPVm9QQE?0yMp%6wdQ8 zMQ_4*114Y*MUW+eU*21P=~ zc6x(}1r+is@R^axhTF?B6JZB+KF6**;!Mui(qh8w3&=}H>3lB zD)4dNz+^Tqt^UN0VJ;pRHU{fDQEw0tTx|@((^I#QuHa?11JHx< zkfE0t$8mNKz?)*cqVGOdDh2F7M3B1_(d7|`mmFbZC9zB zG3}RBMQ1M9i2gmLP~zajy!E`Rxlb|H$f>JVXjzuSDtvT>imV7al>sl3k&EzD|hNZLniBN|%#2caX2^v2{p|a?c=XHWW z%`CvknOn}cj$1jHVHjo}GoD7Bc^K^sf_@O*P%beOm2lCTVTfb8A0$e=nZj3S76M1M zVuCZLR+AnK+>5Z{ef=Hqb1*%DcZx|T;OKPb2;lki&5HLrif35$sP1iUZ*6T=x1Mi) zQ}NC^bskV1{l7>b0jP5BX1N3xkE0?^2$YRPZ)`)?aBKQgPGzn)3GD>QaS~H3M`aPt zj+~M!+R#Iw9qKq6Dkbp&^^uWnA7dT`jSCHejuCZ=ZRfJ8I$b&~maiWY=~_lj9>wh< zl^$I!rSqfKaaGgwr82!(4g(nwKk{`j@n`5u+5@C6!a?c$KYKr7o%4G2KYAbkvdTA@ zszk~BppJ!CuY}6=-_gXl)&9NnOQ(Hu(#0$AcZ}xsPKEy}vC83hveqn@e|!*due8_d zph~xQb}Wyu&As2dC#OAr%)lP@ny=3edY#keyYlKs9T)3uz0CtwgDM^wIi}EQ}fpob*)1ljf@r|{by*N+? z4fvP!noVyXn4>5)DY{$NbBMxPo2nXC4;o-vxSkN;U1mE_-Ca6gCA*`|+IKZH;!XP( zS~HJs62`2 z$PnZFBeGi`%bAB$omtktH{Z89-A+lA@Wj92t4Fo9UnQ&ik519?Nmq)?L<`w-5;ey_ za+Q|UCps2l)|V-HLt)@GN(>rvMoP{xF$&>3r-e&D29%j4({^46MtS{HU{lf{dF1OZ z7tJX>u>qYL1)~dM3oudH3yjV}*}q`=+RcAIYqgu%6b8u@rNLm2VIay=q44FN4?j@CXiY!G= zj*jZQ!)4noc~#l-$GC;#0OT_Fx^kuk24pGB@%RH#JpZ`5wM*X$UNC%sqG7w#v89n` zzuBGJo&4&~I+SfgC(n!Cw#k+7D@D@5{}k!|QE2ogEhWN3_qKpu;XH}bqk1x5FdU11 zWVJrc@u?{oIOHiomgr~a%}KkE=b1H+%K8-P~`z2bMOU$^(FWI$yA( zDKO3BxY$7IDeWwACl)Crsx^zUuo9ApME#mlmoS?uA_7uMl!h_SiZHD{YM+3JQ%D2_ zIqPCW3N0>-hD;0k{{SkfXvVT+(&n^)0XbKuu1JXzQKQ&DbgPohcjbU1n_3FhM44Ha z22`-lC~Ub*ix>_*d^rFSskVi){O2G6SN8 zz|x&P7CPE70Pzs-`!NvTduH~u^Sx%rD847*VmVqJjWuK$pMO5)6Qu zSf!Vm$Jg{~f{Q8GnMWI2>9Cd&I(<#Oy(GZ!(FrMBwPLijUV>+qr{ByRTI7DTkT_?P zT-QF!9;O1FW0vJs^%8iM@tKC2lZBNNBHqTrjyRZrc)pryDsvG{QZt(I!ORgxcl0Q7 zi?c%dG#sDQ+l@D0_E3x?RD1Q7IU4|mPe<}>AcSf-R`JMYxrYT6$2rHvTOIf_f2q?# zw$aJ+@~G27lSR9Ohwp5X{6mwP|EHWC8Rlmmp460o&S}b+ga-~)W{U^TR>n@tJz^Pk z%}LAp_yrDJYIPGbDat8I9#w*9MbZpc^#@l9eMkZM7^#l3!61`!qt7q~Uy|1+Yj5bY ztsXwm@L?=xx0Wdh0{Tyt0@>J^5m|lC;@b9NaV;rY5eUY4xA+k?Lgz&-V8ITAuAutq zFRHTe8z0YEsFND#Ai&>?-1=+!-xu7e%V$7+j*(?$xT%d^01J0u-sLgzW#T(9bXcOE zL`N^2B&-y3ioja-E&Vd3N2}ofzN~mBQ@=k9)Kf6#jrA{qK4MfZAdz*Trjkd@7>+2Q zUn-j#MSA{n>C_P1m&>O{&^|Mpn#!a`z&<;hnvR3^MbfFM#r$#^)ezd3OQ~iL)NH*k zm{twJeX+c12yEHJY7gdBQv%BQS#MDU3CtD+M>4a-f%C^Si zOl4eqbhFYAYSN|@eFlfO&}n{m=H&B59VEa_L!V&k4w46s$!)DERNjSFQSr`G!1x52R_UI z4@Fr@=x0zLt#s520e+PUtQCxXUgqG=ZG9*L=;1RUUc@jKeyp}CjQsyn-=UPq(zK*o zRlH3qM>hA)ExtutQab1GhSYauH7ZJzebHQXq{ba^Du zswTN=i4S_UGRkH0iJ{IsQJT0APuZ@&Yn+~zvMEV6+1M1au}@JQCKGL7gxBRbz_4bR zY0Nwt;D!b&GMNTdvQcC)aRyf=vofgTk(X?xBabDnzmA(?XTL~dkDJ|Qn04|$_*8bi zU`yNr9~mYS;!1ympMS8Bb-s!fcQ!7<@y^CPo|->~;f4MK)3@`Fem^!}=m#}`qGXCf zoD1`CK$b3;3qpsGkG(3gd-D;QMTd7{u&k&W+C5XCO))DavrzI+zmAX@v4XBslyowk zIO(imtZ3Y8eUt%Ua-$fji7;K!IKW8P{Di?NwQg(aCmVdgN`?IE>Tlf1AKv%0>{wbugCE=_zXNj}OuTB}Tf@d{ zzk1c+Z{C)dNZIJ9m)-D;7JNqjDc!6v2v){2m|Q!XXJSy=xW59f3n>achk+*h zN)Ci7(2P<&jd9f<$Khw=U9_PUGx4toPFN#tGbFC020b2)Y}}-MKKF)P9x&&aNaPc2 zGrHH9U$2>nFVm4%y-ba+u;iAUO?_tV{ox}wrt%B`3Q#nuGKx>#p%%Cg#n0TT)}TJC z*A-xFl?%GH6D;t>7>7AlXur#)2zSBF$>hW{-kJe>b!F((LFB%TK7Ny}`uk|lczO6>FsE64?Ltf7= zbxIr5VO#`gwMrRgfC(RSR+?*nI_O6v3SZn~_Y_4Opqwa$uhJT83@+}~-`UUaXc|qz z2TV1uQwOoW(Q?SQx`w*!J0Pkisw7#44Q}{TCL}4o0=lwa?C)0Vr>8x}bbr6~ z9-W$zJG8x;oeH~Kw$-U=zSn9mXbWF=*H(c$9%C+C4EeEIa^aTOoDc#O+;lNsZiU_F zE?(+uHeS}(6kaae6kh0ay%@1{P}!LC6Rek460LV%cog@QA_ONseNCUp#6Y6LW+0J0 zJo|HMe2IQi13YSV8c!c!qP2{I2AKTx&4K~yy4eG?Kc@zm=qEM6y><)4iKh=S)m}zI zgG_&Xv0#{1?d*ZN6;eY@^_CiJeebAs{PeLVo9}Lo^iWgZzFjaEY$FTYPWSWm`q7ol}itKgrd$Tl`R1sRrI!{ClqlBEcY31kP=CL2E3ll7+yhj=ZfjVQs0E@wD&?n9G(&V& zOKfFSPE_+JlVOC3>!w@_ehd46TRB}B_I6DC4OdUxh>7}xX$T`pG)WVHWG@3?(UScn zPgA1JFuX{#NZg5u`lB%JCmJMaaH0iHccMk|T7nk#4m3Lsx2>%oa`__7=<*X?=iunD zw|CM&SDMc9?pWEJ?>CzBWuehAfuK&QJF?RfUp4i{qOBmJOYi;G)&^{gxP}Sao}mWn zCLFLC0%_vntI@DJi2AcA8ph-;rw!j~NwzR!l)@RNjaT2-PNr8L)+JZm8NTBv=K)q} zp8v2*Cay3y?r?SsX_Naju6fWz;g|rKu#D7iw+Ips8X8fg`%ppG&J%s@SoZ(g<>0Qk zib~D6r&G6Z_$`UT@7k-2p_$~MYGIVXRX*k$F^CDl2I8?{FW$m1Vaeg9VOa*S9yw`< z@todamPxOPqt@%R8+e7Hj`4lx(2B5T?KyF5B&$D_`3`BI(x1U>+R^_kH#HY)9bnMR zRWkaO+ki)r!ge=N4W|(+x&zoR8_bR(!Q{qOTSA%&!;BT|L8A{9V#N~}Nv9rAHlARg5Man{} zB4l7|cmBO1yN{|#DrS>G^*JdU=TgdYx*EQK_D(z7r+fPn&rK`fOA3C4!>++0S`;J= z^O;fj1IGZu6}}Uf2GS;UG14+D_s8Yt2-0Lgx#LEo3pp%!atFH;sCMt&s%mB@5lNhI zRpsMSqn!*c7mb)A{!QX-tj3WLtpPKVF!gHCI!>Y*Ab(2_T*?=XovS29E`2>Pc&_!4 zG7!tz*e%ksb(&=E#S}iVng{KZ{r%qY2^6(=?>)1e)z==J8?Sm<(GGRjo$z*MfSwO*{8PPAygFL{{KlqNN zj?j`+6UvAyj01`)Bm^5Er|7jqs_*XZa@a?i)kl!c0*wa7E{8602Ki^l{)ICmzg?m# zo#X6D0O0LOT+Xh8)2u5EF0*T4Po^4f+w6L@a;h4f$EBznJ^Uug+p_fBbgaG~!srig{d@R%Z z<5>5#w2rt@hire%fi+0Br-(CXwmY+w1vRe`%_l1Osi*?P<>GEMg#LJfDilo&&5IGY zJDSGJVQ`0T>@y6O1f`!ivqV3{$;EN{hF?*_UZkVAF?5ya7Nx?mUIQ`z;Q-bl8wNQ@ zDH|e+?Y73TOjP0ZECD9?6tOek$`f; z`|%x#)1P8Wp?v#%Z7rvmBLo5_u16qt$?ZuJ6_`@hBw>xIM&-t^(#mXC*w@~eu%$4T>(Tcs1y$dM3jHZ`l44Iq_II%|S3izkTwP-|?byj1OM)yx? ze4Vukuf`GOs-pVYPUvxn7nw7xaYV68^~iFtS81vj&JhMg36K^tJp~Gagi=((&%Ca> zSbZ;H#g5d2k0K6Sy}{H9?z4i4UL*-G^z6Bj|DU0Izdx~WLFuPp&6?q-Q`JQKPh~n( z+poM3_&B2CZkjMf-tS%?EzJgN-kMjveEw@8!&83M0Vti+wK+8~&PS(pl=Tx8*;+i~ zMJ2U~tn46(hm_R(|l&`~G{c*gOFq9{#5w35xPIoL-P~si^k{ zQa#Lx6Apwb-p$-@esEJ4C10-2lgQquQ)8WHtZARK*1D_#tI#SE(vyA|vP_SQ32R4y zmHpsiI28TfvYNnDW~RIVfO)IQm{MD4F$_UMVv#ISj}ls*;L^1HM2TiwBpSriD>X58 zcN`+|?dT^y@6aD#&C%qtJN3sguL`pCWe#5jEdCJ1i0~$;Fkf7~@R27Rs&>R7s$(#7 zfCwk1Z)P&XMAt-}l1(@#j}nlPIKx{5Wu@UgT_K3Od6FdlGX=9nfdUB=6Y`iG1nBWR zbs$M+&Fn1cb48WA0e}^X)USAUa3GclHszQ*@hQYDMV1*x3UitRcM=6R31}d}U09wO zSRP+$-~^jOETVI0H2uWyUNqEkz>JN&sx6S8^rfmM`OyNDZ0pBy|0xklL0R!~#VCbg zN|N$EPm~h4JKnO=lr*5Oy+?>tx}Drbx?_buvTATgS~&W&1V~D# z(dCw0lQ^J6$xg+A_h0q*gG03jwD*(uQae6EwSy;=rzrTHW!0BS~Y6X~5a(m;of$91M4A z;4o{k9CtDaro%^bCOB71aV0nnt}`w*z6C4N)?rGcyPTgm59ta@Gb#R&CI0(Q07u*JQ{Ey`{u#0>y1HalFhOE?d;bE0< zIS=s`2rI=`P~oF_3T(9mKcUu@MwPrv@#7La1kFGO{~#0M%mz{@CQO=*pz-Cg5cF{Y z`(TE-kahUHVY*kILMg#2BxWIxP0#~cFqB;OfH7T~HK4odVYWaP-~pCEEz?4FfF|M5 ztbke_n+;I2k;wvJ1NZu`cN(qM-XnE8|9X)AVh_@O+z&%ENB>8?N$Ue|R*Ppjs}$DcEzX$C$iIRi!1k20bTFe-zf^&f^|*g#{dh zI|U25h%Yw7JwXe& zjt3rt?WtMt9;|zM@JTpXQ=TMMvGp*l=Wdy|;qC0V;Uw5a&%>#@54{jO+h&60l$orCC4lM8a|c-mhJg@46p){&;ROieOdNbz%I@GO8v(& zzq;9jysyl}XR*ElBgy&dV#D~VSv7pG+n{S#=4F_96gN2R$5x8Y&)}8?g?wgND%iZT zLi@8=WdV}nlvVko8D(j>1fOiJgc@CvMU*N_Fv)5%p3Wny5$CbU>iYr?*%|vn2Kft( z-R1Bs3=_<8dUo=7V|$c~$Ct|)Ys8mkjHSgAe6d-i2iRh3H5YQlYG$6!6kC(BfG1Y{ zJjfC!Dhk6Tr4~c1<}8yR&gOp;Ko+sT$*K==zxK{phWSm5(o1%@H0$f0+GRN3&+Xc> zm86^nI&LhocrY!u0q1ZPu$)(gvcgV@ff)o=4p_Wzd`vk)u!NQ9@>{6MYel)hIdp*H zFDQDq>O!YPqvsQfmhY`-V7uN=>hGTl>MxuyYYme-xrqK^=IADgSC2VlHE8vZ)kta|{uX6NM5h07X<~P%nHviP7r4VW63L)g+UV4J2{N=wi<&PH< zuBOrD^_K;gf$Xo6XM=#N-gqF}&-+2mrRH=b%9$H5S@ zpy+y&7zK+sS&SO=zELgbSa0#rfl7zI&e3d3gyJ99HbgBIbk1-el8=lL&Q3~ zpHwO!Bq2nOK%A`CCfpFej#yydp^Dm$IrLrY1bhl zr^iR#lhfk^Ra-GcSyelo=3%qZ)m4QTN)w)r8>6x6lc|^8Q}UY)I+F&NvGGPR`_UuX;{;}6Ps@@k$WvoijNd;w{Sxnp{{T^caXZ_X z*J=CpKeL(uSi66ik^o^pT19}39;+aLE%}*|T@b>GmmArIM)F1Dx&TB#c}dwFDnBl$ z3pIF9XoW$4)*B(TPl`)aWP~N0w=ZH32bJ>$CHQEIN!aOU2}w|t5|Oa%(E<__FCiYu zoZ%>vcQ$-lLNLMsKV2-sk>v?R_-%nmq{p{VAo`5)xoo~*lMsa5(dUUlY9#q%$Q6MI z$)yD#sJ(>v!;}7i@FOd;Q1rpke@;*nJXntkX(IEr;IR%-TKG^$X#$~A0v!<{;EVN8 zhtv7=cqSICMelWXwTIs7)P7m!oz9vG&+cUD_c?PmmwB6eYIhIVqRIKq-UMlu5vsck zN z46gvodpTz(E51@Ok15BSfSN}yD4W=n0!c&w1dg52o)YIpA%Ee*8w5JPSU%@+^kNam z0i*ab3`ge8ee?oXv_M(F;9T^ zYip3)69By$y)dWh{2Wu(37Djkz)NTezWU1hV0OKO!LAL){Mn-^+uiwSFtmWtMMFjrIPQToo|GOx#~_&>S!FjNH`NynC*W(iT*dqIub|zA0_Sx z_(w}T((ch-&$M|yQ|=KUxnxL<>5Ixf40L(tXR7|lr%To7VK-))fzNYf=KK#yS7s@- zoSAttzsTDW!&=}zOy3;`V($I3BqN5Ab{*#8$2$*GyJg&m^<2uhQogmEuwV%%VxEPk zi%T-rTt{O5yvUW<8uVgk;x91hgxjn}F6mU9oRwU+Vl%vj1Iu?U7Mz!NE~W;{xEHI1 zdC0+7FW_PqW1f-)vQ@T^v0gOC%UDlMwx2OI(!4?Qxc>SOZLb;~uf$ho4>l>ih&+-- z_@8jqQwVt0(Bomk4ggU0sSED15Dan~#tFjc9a1`NVbVA6e)=GYZN{L~-S2 zj@RkJ7cmz{l6~o8Qmkn-9MaA2ph&}jVnjndIqalEm1{=Tjysy^L+(^FuB~Y^Iv1e! z18`+7ODZ&~fwcWyvXYqiq&8!snth#S^CZ@$1)jwFEMu)|m3I%Oaf_GY6KqiNBUpt* zJJ@K`(bmoiZz^VIR7Pjw7%CJvg?PUVZorxYJ@bwyx}dLk22{dUnOD3u zJ?e^YQjy-JDsNl%?QWxEUGdbINzE#EA(y=M!D*Yg>77xgv7!slgYT>qkX{~PF?-Zwjs6U6K_j~$wa zUzqZ(Jc{xqAg(O?V3d!OP{Yq9hkA;VM3E2Jqp6~vpoO$i*IGy+vyYxbD{U;(#L^In zOp<9nyMU6E)0v7~(y3=MML=~wk0PVlqt7R(x|d9{sxe3gx4Zs zNfj2+NvdE|MH`V6QREYzMGyIl(>g&3oe|~{LYkT+4P+c2LH_cHM4U?id7d(8A0d<^ zduPY3Zm-+ybPesBkHc9Hv5t39;q}-^@VT#J&zB^ST(~g^V_IWGN2xhEC^?=nR8_M& zTHeSmqB)EFG~azcMkhQK2vG@bUGr_^-{a=SfAEN)K33b^6+8USBDsEIe0T}r-y%m? zzt3t+J21MO-J;$?JjT6YctL?o4-Uf%6Jb=*3Lp>vCCkh7-J)HGt=AQTdlA70cZV73 zW33)4LD-fKn%2By(wq##nP)LL0 zQrxFXN*U85XbPW&$d>LA6 zCQ{V+ubcZPWE-%F#LL}0Odc|79PahrwdXT#C*oMwvm~Q}DBB zyumC<=v&9#=0UrT1NqYQ{sFrG&C}>U#?8H&3P=1D^1t?vp#S(DISc@T7Y9M!O^VIT zg36_~XT$qE+MimC%*@tb zo`9!jc>x_y)y*X5$-THNRZs08hqy1Q_gEr-ovj0E)jyW>;eU3;WBqZAupb$NR<~_u=dh{23-A!oxM63Z+v5k7Qh0+APO0$~j;b z*I~Gc!_K(CIZTI2ZKRObxuIV2Lrdr_R~fdJVByQe?B0qi5~s|1ZTf>@Ocgg*nbv1)?+7vg?2SG zOX@Txcl83=s~5sCr!l1uThp);7uLmu4c;E7`UFyNAy~m0(qspBlVR8oXRsZF101-b zzh$72!)l{Nhql&uY+rD!93v1t$PCz?rw!0m`a;Vdn--ey;G>hhv%_Ymbk6(1J4b-k z?b@dI!>-5ou9+Z8P-qw6CGse!%fKUWXm6rj4pCJgffs0&Zi!^t8$_QkYvPdDz~_KW zlYu@2(`ht)V3AU;rzsazn(y>BkP)CJZg?9qeE_Aix#;&_${D%n1z&_HufqB1F+%LP05 zT^TSh$2L8{FL8V^m?_K|j`pA0$oqEcPbwf)#CQqbgg%;OPC^Vbb~*H~;wLdU1oR)m z;nc;58^t%iv|*4hVV$a4;DH83HHpOvu?+qUSi|5h^Zi znRwizCp_ijw1x;91P!8<T)5sXIpR1;vVs3BBHO7G=sL zOnQH~w8=t~$)ojZj$jhZ@+5iCH9L)V>lEusS4`-%5R9>#!W-BOLieagD|sws z!ktg2cvw}|xHVSWaEppZep4FUJ;Bp^s3zUIBiL}!Co|LdIvDB{UL>DzI4QI>B@pqv zk8WBUm$0lTg9v1I+_?BGh_WMsxLTp(7obaHA~#0%Z4(g3C*9_b_gdwptG}1EK*zt< zp;`^@@UYcr9(S5*HlxY?G`zZ=d8K~Y+uq##4sMxGfww=s$LLltCEwrplQ5Y6gc4m8 z)uQRu4|y#+vjA7(pyvHGx*o@X2@nu0`mdjW{*P*-a8?Tj^W64F=;sze-{Dmx_>t_c z<^tb~rh$1O+rjXb6c7t;0t_$~Uf^_xB$#fna~o>QNZ9qP)W{%hj$-Bcad3R*9niz} z&^w)907dZ*!+tQPG$Y;wOJHdS;`Bj~_7RJYdZ*h*?!jkQn;@ipr2Legt4;(WZMKp> zqqv*|im6Q*Fus@YWzx2mGXrLz1Lb>i9Ze+a7z|yR^Rtg1`9cyLi&Y`*l%@@;VgLj zCvC6poz~mkR^#lj-u6z<+NUR-X3gsaL2`?|Mu%Y|YXe}med9O#ed zolF8>Ib4l6VD18JN(ZNhWnijcmai}sIul`h&gPeBW}Qi~ zyPVFsOzi~~S`qrD9PSbjQqHsI@V zXoukOwH)8mL#POpd(0>pQ0zoA7J`#Go>|0c>G2PWE1c>Ly$0bDtfe^EG;4qk_xY-A zjOEDpx!*@jV$^e#DPVC2dFpGw4QnS&hy8b9B6Ws=|KsG_y+UHK`q@xhLty_0s-Ro$X+@ic2}3^A@St0 znggqBizGR9ielL%QpHM2jk{B3hc5TabN&J{f?@JAn0m$Ur(gLN^7~n;hnI^36_C%l z?K(wai0_THsj*56XZHXH*#I;pisrH9m&MOMjsQq;2b3WaUX~>OOH&5K_m%XBVtL=B zOZABjXZD^gk+j+(|1E+it$uiTf|Tv`8NR)|^{ScfdNh3W6V~2}P@>g}uS;S!E-wQT^k(;yfHr`V zsA1*JSG~6i_+IL*VwmI}*`yI#aWn)Z;`OraVyaHk>(cog@F9O-__s$}E1}&uA5m$K z*1QKBWOogu?bCMi@T9)CJB0fhTGryoJA(=4S=p6yyk-R}dG(6^T(1H@x{gO0c^zoo zhh6uU)>kc|Pi!en4L*_I!%4e9qisBk)3HJA8CwAkLSUm&WkLZ##<2V|OiK>v2&;|E zAIJ}z$iHoW{dG+PNDoUE_O#jVp0!{1cDKG>OQJvUr?=tQn#>F+RB}2EI=~xVz>4o~ zd0b`{?EM0B*aE?|-Nj{S*W0aTXO|*Xz?|U!Uoqs`;2wUY@L0cy2cM0F12u^KK5oFX zSk$c~HxUWyiC(MrFOW})X3DHD9PmD`2{{x%NjN1-SnjBVfkcSsv~Q|)`CPW5UI2m2WNNLc zu>vEADu`Ay5f?R|oit|I^3+nJ|$UZ31F?U|cpaMO&(DiuI-emrg3GxR1qsXYlFqx=|FiI;(L`_f+1^{@~K%bRFiD6uExr zdpEN}lGV5AbRkL8OUt{VZRK0r3bTpi)o1rHQkpQ0r3bHg9#6tPvGG0`(xCW_Y#4EK zq+MZyn9?x(6tF&lOo~80Lguca74>$Yu^QX$l6q6b3@aR(6F`YFXj|l*b*y3wh8hD@ zkts=I7z)EE5hJo$#f7o~PVP=ds36gu5MCT@Bw{720*jVHVtB?Jy9f;kP}S9%KCeF- zAhrRv@`u2%`Qywe&w>$i>^m!VE$yj6>QH-*%v-R$o8!DJZT5tfA7}PN(_Ye^Q4dQp zIHYBR7cBv*Cr?xK;zQmx4+um07%3S@%Q#$UB}k{iRpZ(HFvv+3X)wTs`*e1c3F4y0 zWU+-6@C7Z~WDCFY)j)~TZE$wjK9Z(jb`1BR%vQ?k0>V%?*g6#ji3-U$6(9OJTAA9? z#UUw8U9J{9_mo)+&9GKjlB*F zY+2IWI>4Uat$V+F>(L|_qYMClf5KNJ{2N6p_$@LDM%ui;VrgXsk?JAByO^v7b~l#@ z=5S42_yasMZ~>5nv94fZU*llL;)Vq#6Uf}FUT6qL@LZ;uSH1SCsKdCt+(iq}y;i3S z`=GbqJ~`@jfj??&Gh`*FbQdLpP}5(M2dt}k5L?P<+A`1-7I%o2P55MF1wkt(<6R-X zO9XyWCudcUHx>E`t2`p`6K&0mCw6lPh#Kd|e@X>=GDFD?^~5+X9q5Uu`@>k{t7d{(vdN=t4r!D&wC8)_ zJhc{gNS+o+w$ur$5`F7Lv$*^ufJzPKILe{Smeao{;@ zhV4m1CrrTYcwTiGKbk&>P&0bYwUHqQNrJExGr>R-Ff7g@WlUu)d#3-3x#*LAEcO^P zFW`*1Ac3{PIA&s)x_HlVqKWME$Y$E{K6JnF9c-OF=W`|jmQAudMEl3#>Q-$yej>$f zaMCl{7S70&O@YmjWRlkewtq?!*&K5!dxCT5oDeZhQ)JvJ^5JZC<7n@oW}IS3+A*^Sjsh?z^&jxHy3C@F#5^1M4q;$%gg*y>7>Uns$8@<&4E? zm2qyMz9!iPQng{KD!R5DCaZSl5TrSo2oW~kT0)-o-- zoT%0=fK%}?qb*I29tpOP=`tX6K@JF*rc=}?U|pIr(^P(PLrc@(?s2vC>9MNWW!*&S zdv)>rQ1QOUEeijhfA0_RNx~;187ZvQYFYNr4?Q{JDGe`$H zs?&CJzxAF7j8o1!c=NU2cRyQnX0_4CpnVw~Fy+hd;_hxiABJoeSkX=IzQK%*H$F0$ za~2eKi>uD>qQe-u%|F^`ocCl?_GD9vtnpEpAjOWXEbQ)q9S)*+G6w-*_fZY^-1660 z2!}K?M(dv#2%h-7(NIIgfxAq-p0N2bpaq;<_)2s@#ECzlH~l{GWB_AwR9tz=y6vt$ zWq#7@`{0&i9slyX45?aAs2VbtK~J6d)L#1{Ti0g&S3Y<9!cdn6kx#y#at`vLEp-|e z%=$mr!Pp->B@5a<`K)ld5@ady1_c=>@cY-LbL^2FmivQgY4s;E zs?=v-l{Iy+qb=cZWhH4z_ox$+bwED%gy0c*3|{#Y{8`v7JbZ%VVptz>JNV1UV<4yC=4w58ERM2fNw=bK#z~8afsQs{)3Oou_@?7Fnfc9C>nALpxCg&OOTM z&+_`7G2Kg?7HCD#G@rQpVO2pkbEzNZbu}8j$z-O>X-g$`)an-Cvbv?$8;azBlE_S( zWrYk%E%DD`ZPSX698=N<^comi^)??(<>&kNT)+_@=(WiwZ9{bFNOLHYXfej{ z*YZxm$%5gxkr&Cb6r`NvldeaiDT{Uz~y@!7*CW0Fe8aWK7M(OAZ&8e`OqNX%7h@+_|_$-BEfT6+?4 zZroWU+^?n>_+m_&W{jHRI4EG;!K%dR1Ia~%QW8|PY3ew*H3DUAfp$eda;6on2@OoS zkPPNYD+Uu%y`{k?eMr;#SJ9+alP&YyPqoEn7gqsOtLv6#QDx#Sg)M6#2V`oM0K|Eu zTW_1accip*?X4cF%x;ckxHgjrqu@;8R)z_CbZhbv z1FmBb^oRabM{#`|5PYcjXS>_>uk^+^a?)T$Ea zFaX7l?NE67WQeO9TFkQl1nT)>jH%!SmzVgWQhVgCV%GD~n{hs-S@DPA-=EMrzV-*v z?URoYDnIcGelh?)JXL=tj(Cp-1QU+#!{Zqp>BpbtVRRMt{b7}o4l{2MvsPK$-tG8A z7lGzl?nUz)#`nzO+-uiix!(YokV#<@BINs(ImiWC+o0Rv{PHsFhuqN!KEVF^J2MF} z+@H{d&8|n#%RU7tysdaGV7pLaxb?@RY#w3t0Wc+FPle!Qt8BGhYuV2Xi^!~xgU89B z&lB)W(0CQ)Cxh5o9jNGBS&!Bi9SkspEwB{eC#$xx5NyDr5jAYb9d> zifeYwuG;c;fRU+&fwCVE8~6*%%X)`Nj-Bf_!EdC+%*TzBB~J1f?_ z(>s=?EQvcyqE)W+j`!I(K)Qz(Po4^TISt5_@Amqh+}Ak(3f&tKl2FnLT+FXjJs^gw zr}f6q^#d5v*+IK`deVOUe$~Y7u??R}jh;@2o|C{(QJdK4_D&?`*yCa%sA!D!!N79diF7Cx*_@2BqYEZIZiQpy_^_qWVpO)8 zx-_AfY)p(Qm^PJ8ZN&3n1I1`ZVhI%)d@8II5F{+;*wuvkebv<*`{RKGp4SJ)S`0p2 zotZzKiIYAXHG1T#1RI#%c2;G2r4x!Ai3e^h@*c-Yq|l8VK`}j3xY5UM=x0$}q&#$; zwanS(<`|ThI0Q)*b!yJ#jVV6?RjS2DX`+JMV}v5T=H%<5DH#Xg{>1*sDu6|%A+ds~ zrklr+FeXlX97q2{mCpr*XV>3H^yuybEp99#DGF@6I4FNi~V|ZPZ{LO_> zd)i1WG!i!C?yh)*wth9M*jvp;rKrMXn$5<0ERWW^l%pt_$u;Ma*-7~!)+XJ*X<$Z%8HI*G{Haa_eV3xFz~e5j$lL*gEcX>*TPV z#nB}%#f$+{QM-BA#QBsQ5GpJ!Ol9-%5=%9+ z)1L{rUgKzw?(l2v!Kp&};g!vmn6j_JO?nyLZN%69G}y2nUNcr$tz2?tb20)Dm>wp_ z7=+W^Usugn7%II|SLFh!R@Df0C!emQ1x3RWWPUAJBik*O`V-*1yyB|c$A(lYdLLFx zvuM(br+p|cZ`9;NZ8n;CUw!3$D2#3v)=7MmPi1KM`|n<9I>O!;v9H~y^RwZ?t?PIXS5IFWOVDayejIXa{rG_oRIBEz9X z_)`%}DfG`QCU|bXR!W>SzV{~c=_FzWKi)SW&Rmhv`9OR3Tm}GNvat+E`Apz&)B6_@ zJ)o<>z|4jHz>44KQ=r_5$|*vcYYI-J!K53jFojl}%oJR?YLRbF4XvhUu)6@o{9fRQ z^6QAi78wvMcQEK7JHJ3%d3?`Gg|$=>V=YwPG`-HreitZi(`$7w7Vz8FUUSbY);sXK zSkYlyRmfKFWS>H~{@gm=t9Z@#aG`ZN1nZ>jkvhEz<*nn!;n^N=p5AL{i}o#tt)o^K z0C!KQQvug%b^stXPXu_aJQ&`U%vUh<*YQ5`xJ?XDMk9mXq1oi@Q z_L}uWfY(6)b_27tO$woj_kb8JDXRmH?hRY2;`n3oZK3w#b%Y7+V%~KGPZXmnm5o2Z z$Xy{hSEv|99BvPBBBA)G=~;S2rg+oRp3Aa0xARqnyD3I{l@ljaJ6E^dmc_ELky zDP_D7o{S(IKQw~VM{xSM5t!|uhjGe(opMab++ncv=JKtN-~+c8@qrp( z4kxJ8gyik%kFSEm=!(zNRY>_CGUDe7MB@G&_`r`H-~(!_y_@8T02)H{h5-JD6vx!3 zuHoB4zRaza_^PpA%$qqda=0@M%J651I!7zS@Q+KeU#6!t1Ln+HB6gAzTyRB9T>1vZ zrQfb@Z*IL<5c3_lGh4NcuJp-B^|ZrtK|s@oqk*fK_D-PtisU(?90o$TIV!Ux_^#mg z!yxFq4fWkaszHnaGQA-yfoB*KuYT4&A%AE&UM2bWq5L%1S_KGrU;D+I(PI*K$HAjW z^% z?41~6*b0+%x@;Y?jKO1oYJb%0`IE3G2Y+{MtA-&iwOKp{Cx|)FZ3YBZ*THfjz9Gk6 z@x5Cg16~mfNe9Dkr6ZTf;JarOTGlZXW1jZqh{KR87eq<`hKS+6Ces%TZol5eczTk; z3@5@{-DG9}&~0IMAB8i)Dc4YL#><Pn&@JXWV zkM7c91_}(6i(5hGykl2Z4384CsgXxEQN$%N1{Ha)!Bi2h-z&S;YQwymlSwaQ_%z35 zIWMGdJ8QR5QITByhf_Kst-&S9+c{a~am1!uI1t#|G_iwP)~lA$5YS^(a=mNr=3g`t ziqxJ#9C**scA>2}W^GO*W6m&QI6C(L8KW@giEEtm!KB;CX3X4%yiVin4$Eb|M)kAz zcsHUg63Q#f{#RYEnvDrRGH-^he~z00t@c2q_%DjG!S3ATGl#k)HNU0v%P7KN_OtzJ{-&>fuLqpkh;VBs>71TC7z}<63QvGO1VvSjKaG zf?gr>DJn+vZ84h1D4vWd`V~MoVR3-*3~n&Q3=_zh5-D)RK6MiT`r$CdP$QZfVT(y+ zd&fC@(BOp8@k;E^PDXm@+v$9)3}|@WW;5Im;|Ood3O}p!`!FXww-NaprX%;zYFARFqw+!x5s2xI zdTRzg4ReEY^f)~S6;c#Y%r`O|rJPGhIr&*51&(G`jf?{%;|1zA$ z%mv%nZiuA{$4|!;N)qZp?sr-(-|iCQ20P=$>5}ddw&6ZE9_S|xM=e(6QRtwB(p!u+ zCb??yT-x#AeKS2)f7;_`8u+nE=`p1E-kv0rGF#9Li*6AI5E+b;qK);=Y^Wf+mQN!k z>8;9IOG;hYU6LUfz+C&&5#{<-1`}%IL#;JDn-^rn%N`hHR6LD7Nq(4nN;DJWJ8@z< z#4J#P~*2{dIe*Xb*zYN6Lo@jdN}lnz&x<5xM1PsB?3ZXIT0@qpAMKB1*_&w zV>)3lx3^-H!Qpj)Ih60aYYAay?bqOLGWCiUjH0)L?s$yY#`=d+ZT&;J_$#gn^Fd?8 ziF**XX7#AmA*Gei`O4(yZt=tFZ=E;I!^1xS$x(8IMRnbnLunCu1yWMX*}K)U50GUA zNb@lq@Y#IKfw-Mf690~oO9Fo^Fa9RKGNwk2Zi%uQQ)Q;~I>dj4qeC_tianz`mot@$ zlKj(btA+7ER^Jd-3Q!UYA6KL;U38X?%`wK@HSH?8nW+PWQem$q&mRI~9^<=e;?&Sb z#6)jO+_G{345t3=g^!6h<@oXSsH-BCBeHx$DJ|{s4A90S5aKtAZYQ>0*Yf z#RdA%J3i?u+16^8{oMkP5CL(H(2e}8+2b*+%ETaBu&u2kq>o+xlfdn+JzG=$i|R8L zSvACnK~8MrFbO%?VR5(}4((2#g^!+9f{-DF>mJ_T$jD?09Ht*b8e-G0#Q9vSQ zdwHO+|5WlB7Se&FORPl_yRm*WCgZ~!xX1^dV}4cpNX8f+Md(T$-|zkzj;|A2-1jbn zTjZ318OP8G$S6@VJ)pCcGIt1kI$jiOCQ8#9)IntA!3A$q;7g_z{7Y#skUJ8Qro!CR zR9F|IR^t)zlkfNw8IuOce0%F~=dD*1yCL@{*M#N5RG+Ag2xpWXwV}OXpihW zPMgPj&ErO^*(og!(MmB`1Co&(uY6Sa1njua!c;Ksn{-0RsvulSE8S=mEAYSX-{U_g zum9Rm|8mLMDHZ_A#RK?+E#ILM=3W+j7WA*jAtoZ$Vdy!U8V5(zIeI9Jg9#qT8Mu`P zn7PYk6jRJB8LvzF8!vH9d`uM){TDHpznnE{Sm3p92%EMNXV0 z-Yy)wOh=pJkgUu=a_~*=4rEbF$A|k6B|4O8?%mLn_9c`=F2&BUatf*dE29a&{rTjq zdwSM2Kz`9=G_yMCu=stvnOOk<_3$zIXa4HySsQ302DceZQNND{YKog zQNv2J_wVV_)XiW&Ezt~j9{#JE(T+?vTf6G_pQF{`S{4B6+5v%`KLQBsdIxzt1xp}* z(DXp&rW5vt zOWelwBi<%wP3t;Fn;Ow1}9)e7si6jGwJ<$*ODC=StYNR9+ zf&w5Yy?t~wkL7WM4yE=U#lS>p+A^mM$a2L`1C%b<`idK;`w0|Fz` zno+wL1s{CxPu%rPqR}6u5ql?Bs%SJWSZPYDZEY@A1v$zgC34f8ppoxzLUQRKn4t?@ zIHqi}eMu&$cQ-m*$KqM7*0rE>y>+MamoG5?aGy|UHO#dR%Yxt~Nw9+)hDjwD^kBxp z08H><;n`5bgYamyYF!g!Bp`MIb~9YyXkZ|Op95l~cmexG9i#PuB+4_glxnKQzz4{-U)$cy8e<+t%H$H4_ zOx8Yn-+Q$U*)G2pDBv|g>&?d@zHa%$U5b#3<9N|Se$KvE*t(UtyrNJm_ygwSnb_g4 zfAFgQw154<{;QnmU^blxD(RhvxgQi@x(NPJeUx!IC<$XQ!99r}Q#1Vv1IKbI!cH)o zPw)(|qLEne5$coemDGwTej(NIh6Dy_k1+b|)SmzoG`(_826jkcs{7G!J{o)9Zh9r^ z=0lmd8UcceK=WSQzm6ixnxbe6jfL6okSw__=Q=G$7;|pKX9DV7z}d5r6$&IQJ!ha} zT8-0#@$P6NRxG;^W>ZK0y#T@-3*=|W<7S2LNF4tq+YJjX7jd6516fh96jCfqT~p-Z z7`&^gzN z)H*AXCLncr}ksor4PPg%FHH2mo*I(pL>+4qSnib~?h>8HdwdrkKgyW6) zy5=CZu`ZX?`o>ziBTiDuG(uW{OpV)J#`A~AKmRrdx#tgOAg7W2sR+RF)9A8bHUvo- zJn3uI{u+_twQ97c6S2g|7Klo}IPl}^Q9K&}RW1sQ5l0|v%{)#n#o;l86YtE&ry!m; z{_+>IjdYx7j0PV}hiX$va6Y(?J?Nhq`&+YP<({Ek&4ONqcOQji7Z}>f<=RK}Wi;2B zCFCB_k3O;sadv=`?>f`A`WrBz&G+4E^oOoA3di%9surseQ4ajUlfZd>3}K-{;7rPT z3v~GvpDPf>kVxM=CHP8?sA&SmvntKawO}Y5-U%Gb8gukTV>oj2px`7F9Y=UQ^6h9a zsb6v!In)RHR~2A<&?G60N3n!kp}aZRvdT>>>P>%bIMh&R&nsh3I`)U99-*$cSA{qfdAico!lY;nQX#Z4>SSi7R&P#~Kb!8%me=!AwWvljY`l9U`p_ z#?k!hS}_n;z>OM0PwWi7ANim3@xhlKv6!GoB*$zh98LVbHOXox=kDU!i!R+c?{y|A8d_lSgs4v{nt~w{CI<&{jW;a2nyxC}y`Kb%vbmLW0HX9a3 zF$l0&tIpsO^xQ!3ydR+P%?5@(@V0-@Rf6dh#3WVg3M7ssNlzmDgJ%Q!YHLCBmrrP} zXYLUVSARp@K@|nLKfEfsh6}w)3^#WC=M5dZ(hDaf}}w< zjH1_AJPJCpWKFkxhXjdrLe-5zv?7QDj3m${^(Q4>39{ zy4Lc9Zs~n#*@^?i+OIKt&C{cky{4$0n6NFQWJx9GAp^`yA9wPE<)nhQ)Lq93dx$P6 z?M!hQ6!4ZreUuo88#6!FKPFYrWWcQ?24ks=9vvbJDQScxfSQ|8HDRR(`!=Zz&9KrF zMQFB`^sre+r=Q;5NjLdMrrLSu!rqF}LvIkx{s2VdqOttsVQW2TV$?29MqA1#Skd9%CrVNJ9KV>mgJ z-8J}kjot|phlAREv~u4)jFxjy-F|Z)N3*IKAR5oy_K6z&NO&Ly-yAnZ9!Ox`t@Tv6 z*PdW8@Xzw(*jxDi@u00h;vHteO9~wB-$)sEf-YWW0Z8;k7h;-16Cs;)9XDusjT}Cn zS`uT33=$mT+Bp`l$rnd<`JQ(e%+_MeC<~I3e<>+rQ6!S^DYz~OoRy_y%%#QGfKZ}$ zJtaBH+L!1JtUOQWVWjw)IBu4*F2%R1xH`Hlf>1@8M-bcNjh)*1>c+;}uL8conuY6t z#TU$w4v{l^zv%bYZ)coi_Oi=nvxAg_q-NY{_|OF z-3c+Ji~(xvmG_m&n%*>o)B9`&Q@BF7gC_oTw)-pGl)xC^3wVi|mwAI(JgB285N;C9 z$mqHiy}xpxz#%iMQSmG#8mpVMu1r8^3v0bUwFTUKOfvZzj&6;og28HCJgVZk2za)Q z4H*6RJbuRCJk@a}dZu$mVxi{%waOoWY}L#LPlHVXr_xN&&%Awnrox?KU4)`rqcdqG zELVQ$a#*!a^qIF>;xU&+7ZOhCD5GNUU7)N2=-}VtwPHm*3psC{oNqFmfWcB`Nm5)# zEM<|gtnLIY4e*hxKbup&56rU89jmj67KiNGqtwZKq{g0_o1*MBm?C>xSx%=3LyK9} zCECuKFU2)^fAPLo2jD|t#iE=aG_D(KdOxgfT&?|TX|bQtF7(JrjrO$W=P71&_7vtNmhOpZ(Jq-YeW7E=P%J!MK z$E(}5uQ$sT^LBg@kiR-`itLSy4!+!t_<(31PxTIQixkqtZ-j}&AyZwp>0!qW@p&Z_ zuv*H~lNfzv_d#|cRF`m%^+O~OvvJH$upU2S31CWLtA&bbK+%{jM?W-DQb7q7l1?fn zRJr=fW6b!vU^^z9$e1&mu7I+q7=?W%+nH%J(R0qo^KcRb)){!pp#7zIt5Q4|g*|2< zU_+ZQ2EZ`s0LNyRtd}?XuA>}9825q3F%8)0icZ6XtTD$us$4q%PXKpbul~o!zfeTA z)l8Gah3>cM2FXxvVvNpeAoSHxj!fdEL03faSNhX3O2Z(#)z)fB`STEoq3hI?LBpCn zQTpsdxE4F+Tk_T%4bgLiWqC9x3rIvMR$H|q+oN0Rq7ZK}w8baS&-ZhrV4=`)W@ru9KFlWjdAfzq^YvV`w z#QTB%+ZvSywY#R9-=cC+3wNdlvX2^JD`!A~w4XU{mQtIAWW4E5FF?R>B$FU0@~(vxbE$ zRw4y>^l1nFt|*6nNolQ6GEu3;Z;)_QJP59Uinrrrvd*8uH4B|?on)l7MRU5AMt@E9 zK&t1~e#RnJWH;pm6XG`!`9X>Ak3}_Sq6K+b?JdNLtMY@|zm-`qnY}e6!SxyQcj#vx zo4b|Vp=+tjp$>EZ3tKj4UIzH&B6%z2`%zE)JgFQj9iBAm6gpBIMXLM=WCb_*gP-3L z4JEPywUjF}uO8pITn~ryh%VkV>wBE@8yjB(tqrDGb+L=q@%{3ZA9Vc$0fTc&0;_xx4uK+~Xh~k3ic2HuR>}+h1VPoxTJg-I5s|~c! z1c7GbdNvwvsHxuoF>1TI`OU^CzS@NUwrcqKhtC4C^+JG{lS#I?y$PMn)sjpT-sA;i z4C&u~(ky0?o@N-i)Ijf77>+Cpo~RLiNQ`M%kF-z9kjpLS5gj3CzVp5bq6 zwreUf&g{V}L9V$DnK=PbRgqH&hBnE#jzl8~UH43Gc-=Vgr^9<9%Iwrx%k$sG0pcu6 zj9hXe%fN;$53&qj)OXSPp_Y7=%Zg^2fkK|1bXxD(b_}1g$hX8z>&w!cdQ>S=l)j>H zn8v`0^`s|1zf!iroSl!Ovt007nF#vm?it7P5t~k-Vst*$uQ(*U_rnQE(49yJ^|-pi z+&2{bWg1-s{F;D|n3iWDGLow2Fy^56tROQfj*DX92_qg9RqTR3Mq3r{80d#0P@p%c zy3H^()U&P4Z@0fCD;yaK8pg4y9o@P&A>Kt8QCa79R+DC;?x+c26R~Ib4yOXPhb#)M zO-E}u#;d7M{wxSf+5gEyD@+%=PO|QhgfpY6khjgTnR2J}oiU>k(8xe*n87aSr0_`QVufY;N9`wQrtlExdfnbSI zMg=Bo0(&E_jf2_7O&HwPCfAc6!@=&?FSdUu6eRiBEFh<@tE$>hKMC(7l!>&l%&Ju6 zWlp^z(}P$6MnZK~Dc}vghQi(>yG_Fb$xGh_`(}$PKACMQQiXd1eZydDLMcSZ_-ag6{^6M)R}_obP_K-8yOa+DA%sAOrDYBGCgsDmCnAB;u}xkM98u z;?}>HKvR^LjWin+z3V!lAe8HojsfP_cqg zBAyhLQ8e_T!XQdeqm#kf$>?@GjQjz|OXr}Y-of!1I%NkKJwE1WuIO#aCrP`S^J4=C zHpkr@#M&Rj?7-XGTg`&2=Zg&ud*cT{rA6CDQ(`i$4Q4_9FvX{lUk5lm8S3y0gq~V0 z&c?%bG~=6a8jZ=oRzj4YTrimrtknHA`EjnS!Yw z(o5PnxMhP7+r50v4%^6SyoTWgnMPDl;2<#B@|h=Lcv;=6yIF%4Yf2{t@N7h=c<`MnpCgFzRG?zggYo4 z1hH}!iBaQY>3d`AfJp}hF_{ld?*oYfMct@qwdmzTdLQOqi5w2X%gcZ~VEJL8AQ5xr z{RG1f;tVkph>RpFM0#&dPJZ@EbdgG+7G=@_0ESUC!Ao`;Bqm2aY2y$Wcb#MyshSmi znl3F1d3Hi~tO9eeLd_;V;EpB~rfq8tr*aV7k>4ky)04hyg&u~InqKX$Zqc9AW3M00 z$Ftq70xAcvlxt_SM~ir}(qL;or!G;NRe|sQuK(Ow_mugB<8xz*lZbG{w$((j_ZM&L zSIgdy>?YV81FeH)?xLygxaj?mF!)d(K9+yoko|c6G1*U6Ac$*2-#toU~@hH=h$3HJ6W-~98x%O98^^_ zj3Qw2NQq7>BzzqqauCfD!4|xuPId33qvX2`j}2Ro2-{IyZfY~wZ`QM2fdd<)iuK#z zfWFy&1-1*vZq4%BaX$2LV@yYxz}z}nPH-uHPNhSNldf5xtvHw9IYN(?b?2d1rn5)K^XTzT=H06!u1|R;cTa{@)O-> z%7B~#9?M5j)E8=}Z%&SX+0o_1<5Tic9eIYrt5ED%w%cT03PTvPKcg_zN_aQcaVR6u z(-x)4#H&;X>`|~(#D!HEAZ$(BcDMMfSTM%6#9_b^%!e~}PeYqpv?<3hT`0TJ#Bv`3 zp(Z!F>Q5%i^5=)Ka=3UD06&GO0RjAg4OdLDGSNkYW@WQX_r$LXY1d(N+wvIwRl;wq z!@PXZbNoRjpKb(uxbknowlFR*KO@72Q5MMYn68Cq-Z4oz_ulKyUgqeX&?v^BdDnxP zHM#(n;A>8l2b`rfGfm1@{}F>mo-BXd2`lZI8M|X(UHniKD_Cn5V6+9x13P_1T96&L zC=HiOaf7y-owGx9Z8Y%VBP-$5(ULh}y1B3Hp~!X^Go;fiuu@@>Aigjesc?Kj2TPR& z99G1{!y+XZ216zXsm%FN6R;fTY^u;_^p7f?3l?eKTKf1r#yTSm_J?9dAZ#EC4pY5k z_-sqs19HJua^xvCi*$5oYK|kL4@DiQyIKw7>JU%rZGit6P4(EmI0$Ldr_yPQhl)Kd>1Xfb=tb{h0xTXTjRZnc@y^fxQ->DoQNHG$;>8nI zYKzdIw=b1Hn4+7awK2cDkf{a5`5WF#Ts~H$QY1Xg1~2v+=xH(G_~Y)73=%jVqXbM( z71_G!e7vbKbV~B?B3h0aJ-8Mp1d1nqA7r**;ZJE4(0qT>E)1KJSaKD=yS&I1?#b&r;0;D zfme)g%sW&%b5u9eigL{)JT2IepQ6jTt7-N0Ik&R}ywEi$0s84#=M5%6SA}*oRkTk~ z`jb_R(5yXHV+;+1H)0i2b6rstwrAj28_4kX`u$$N7m1mJ%C~-UypI{{OS(k3y3#rA zJ=Yx%BjZFE^M;%kXpIpMvQoew?5ODV`!#B~AK}A}8!nlbhs0GKbT#4rh!$nkUdI`P z1-qPcN>vk*4@0uvv3avsi#+YN3Ug4AfR_}8iu^R`tyDq*f-qXsaaF9D*}W&1c-k(b zo{F=lJrm*N!|DP@*24^y=Q!|c-$ZOdH!XC~s7AVMn+h>R)E$T^c5o&uQf*dc$3YlP z2$G(_Y23$AAsKPT1e)JbyctjJljGQ44qnPb6c#-I3 zL)%Gc?|NpEYTSez{&p~i9;QW^A_brrjl7^3kD98XyHsfDG?b$XKJe1Jor-t|w@rj; z=kN`cqAL*r7ASQhF~PJt1F{8^ai`P9=;t8)N=TM5Aa25%s>e-af-4Nkah4$%GHXyD zxmYLVjLZk7)oe7%Bo1ROo5NLAFle=i!hG~jPU+~2=o;nPwQ73QJ2`GxcC?BndFNS% zmW@WP3i_W%38>DmScv8D15nxq$xSN3*2di;YJ{05&wG^Cu*X066&~}uQsP)ihp7^4 zdj7zl=%kv8qhI64M!`t3NhXqE%0~+Op@L%iac>mttRA+Go5v@ZpQGsg@D=(mH#;3P z$j8j8`=oP0kvQucMj^;-pvSYj`eVU_;Y{@SVf9CEm-5zd<^29>x=h9LEANklK6_;O zdW-QHhita(A&}Mb$L!epFaK3%Kif_T8SIh!2x2=hFyrECeHC+&y8^^Nw>j(++#MJb z2DmH?KY_P2J{gN2m>8PtOh(8y(7TO#+DBh*e}qd~CyPNACz#aw7b?k#l~#fBAPp~f z*9vQ*(M2~pQB9nmfB5jB_~F@y)em2NSo=VF&*A0AkD_sKO<)A^eB21Lk7cE}Wp#*3 zthS)P58j8B#eE78vP9c485K=m?ApBs_sg1&P0pqtY&XCcVt*K2T*xDu3h7O?C}oKD z`GLtjnv2H0dMF`XFrNty$jM%)jXQlZ^dAkw@uyd8+Ru-25(Vfs2;nlqh@P>z;$ic8 z6ru~RV`+K6!V-OB-F>(9V3M*EROLQoGsMxTHzR=6`y_bUFf+%8e4il8m zYUmCvjf#u{htaz9#*#Oa3~GZxMYBqh&xBGAj=f>5BR!z$B!$C92;pUg<66r*Zp9NL z7mk5S)@kuITmIqhg{~;b3AWXsJ%1Sbv58}2kuKFMMFx^>j%^tOG9Bt*8gySdxb&T* z)j*GdpG6y@A`-wNtdx7QdBG5vKP59nOazH1&kkZT)nSX&e4qeAIEQ1l5wuWN5l1ps zcbj&SyFkDH&YxH198`n9dE1T%VTYkqK%aSkof~o>K~>;L1QTydzw4OO#%-1_ zQ5!#uSvu6+JLwvpd2dMelVG`Gkv$FQ-T1V%r$YDK`XTRD4aPBs(3>=|lDPLsf-&!X zX4B;eHsAg8FoKp-4@Mc4RFez!ov7YqCj&|%3&Q&a`am=LH=Per;Mdo@@~z;6(4O>w z7d_b_OI!^bP{k{bqaqG37)@sPQbRtLlNLI*Q&KvFX^gf&vnnCAOzcv(K7Ps=qF4)* zU@fB^2_o=zcdJ-_C~#>S`Z9nwi^e63nMw&1%HVng4k_|af8P1YE0wTQnA$Q2fu-q2 zZ|m159bn^kH~Bq%9OZo9Ql^$U-<@C7meGnXPP{MV(h7+{LJW1@e+O7Ab1*lO3-rn0?{?5Pj zw#Cw{ZCuugJ*n+#R-GiM>`IPJ3IfwU{HZv+`kP%}LtM}{YKk zZd9ySPJDh5j^PLevE_#sP%Fvt?vKaOy~^u7jpDe<`eQ7zgod~xJ_uTc1`;*(!0x0t z=br+0Y>^Z+{Xxx}L^ApN-G)95jqglgw)bvw48xUd6;7v9!rg^BM z^yo6gP288reF)^Czhip?Tk{?q%Tg2u^xfPYC1gl0?sZ1Y@6v{= zS3$)NXvzbFK>-tSe}QJ1MygG;CN+c=xgD=`yv%#ulas^Jxh$b~PE!Vd?2y>!tgw2; zq}Lf^f?viLyJ}ptXlQ1$+;@_f|2)s`?ltnZ-fkfy{($`iI>AqoAX9) zP_RjUQh)!1d)f*bolekzF+`1j9P^d79Csi3 zt;5~Tfan^ezpPkW_|%N->&-W76>p6~%dAln>a~e~x5hKtK?AaIHYezsn68$Pv4{F) z?YihIPkl)>9`ai_=bVGD+DR7#%=qdnyZ;|NHk+=^ zFvIi%7|+KBXUXaT@>BmBFL^z87?F<;IUvtRmz)7@2;aNCW|-5!BC;!Eow)}U3H1m* z&>fQ-;^~)wayAjSgBKifSA}Pu6`R7_sg}s@N7j;kB*YKggYG!*oK=6zPadN+T65|QZ4xme$ifn4wJCg#D z?XF#o=UCMd(RGL;%IQRLjXcYIFaB;^l5{0UrjUI|ubw(X7r|d&)$^J811;l14bruvaTqj;(-CsfQl@ z=z7kN5ST$~jA3}MVCewP2DC?pGNFC=_W6tF8kW{VJpcOJZ_8F%x{-g^n}>tl?alAL z+4_15s&4-$U|d!DbXDgHwYH|dlSOM)4Q3TFF|xJFS%{Li#cf-8PSFU)jF*k8XdS8? z_7%ew4@z5QH3KkBO$>UWU9Z9TI)seW3Ja!F;T8&2#)8cHS3mH&(7w zn1DjVDGAjB;(il_1Co!g? zxqr@a#Q3tUBiaCaLHkvp|w&>oD-FC3GKKQi^MSg0S*C=2fJ;K>DMh2V<2M z)yf8$JG=umysIY-?wb01 zroi0jnRfu27#-O;S`HhYT`PkhmOORbSs$M`*@$!y;r3S|&MliPs`DsuSGc)}?Yt(m zSn|(mio0fxdaYnj4!OK2TRf=PTivRz>d$|uWY4OEOfd9k{S zlkY$NBe&2M{EwBN!E?IqbxD1GB>FE-G5>coAKFw8Z3_L~(ehLcD_T zc1?HInssZraC@H(I0G)5q}CN3=LOao;1#0k zE17uEp4HI!*eaHbU)&YREIHGkN@tjn4?}YV*iy!xKc!Bs-1(te#499b#=k2kyG6F8 zdI%GVC$f6Gu=8}?d=#keG=Tu}M=1=51vK4y)yWjr&-cjgT~bR7=5+ ztAwh`U@apzZ30u3rryCJS;*k+QaiP+B!6jLS_BOv?=dlhOB`QqfTS{6BQIeLb7X~0 zk&X+70n)u9rK?%#c*c^o+of556b(%fDDYu}A^4IOT#GEM6C|`GkeiBXCY&-t$jX>W zp%Te`KUGW|0;ZHY3T%rXG;GmUKQ>(xG0LupLm)r1RkaYFNvuo!_(H_=8+z>7t(?o% zp{!<(zt8B#t&HB~sX^(QWOpEgPu0qz7x_ly$&rbEj-K4!O29;S?J1gYvT#@5MucS2 zy*CYnu6WlsnCHSRo3mh40HW?{2v{~^FXIw$6C1=U4tT z=bMn>oUi{M6+oT8|J%R*`=9+E?2^HBRNbzg?m+-T8{YCr0z|b#WzQBLC zzWI97{uloHX8W7X7yq`k{c>yj#W&k8zTW<~&8@8$-@N!Y?|;=q@?bXgzyC}A+gM*O zc0Rl8o>Z=l2d>Bsp55mJ0Gu68wRz0TlWsJGq1x|zp8O(J|5o# zB50in=)fSyp-%wnaBH*?K67XC59L{Wx9vpKG%eF>5PPxO1h#E@E{T;?iF_I9625MAEmE;sMnvvV#U|Y&XLec z{gMs8=!q`1qn-{h81Kj`cFBw%!<+W?UJ;c%E8S2rZ&q49mE6#)n7Rmop|3FPfXQ{) zi?30Vxvx(@daaHp0lN3R zV!Z>uixux(tNZ5Utm{FIcKx{fi+8f`)sKJier}a#8N2iCaCKPjE z9}E%j8k!!TbiKpYQL77ZyC>AAKx;KS2=A!bZoGk?_1CS#R`(ZL*Zo%a7$NVUw7t4_ zT5oq-jkCjg+dDmLpPqD@fW#g^K5iZFqp?}@sCnE)HRdrCdd;`+%j>+UA0E=FYBw7# z%1_lg?z9fxbg}UU0B&_VUgzu-v2J&~*G)i^p4q5V7-ZwH-a4vyd-bFGK~s(L1P0Ki znvAXY?oE@5pzk{TUxQqoVOWimW6Unz1>$ki?m}yB`mWV!(h%$I7KKsRZ=XOXILXlH zgy2Ba<0b>b1#s61s^IUlPE*4~aC^=AA%N>(d%M1@^+uuaEW8B5d+GJw?|=IeC~ogf zukcJ>4eT}j^^#4FTDJ_F=DX`mHFYSg_H*^Q|didsGHEo?V zx`(~vc4=H*S;1fYcd}0J?MZ7-RX90rroOkEb@d(pOnraXh7B(j=Ph zM2Ct;A)hPW7=1^>zXxS6{}T)wRg2!nIvL~$Ra}4F*^6a2*b5p)eYh=Y^|B{Rt1?UY z<126T?(#Bw*6i0;RhBvUWJNdv+0&S)*E-IhOQ%`}z$Z;3@2(a24<>Vuje79~?NY^~ zA>}0yV`O(E@+wTR-SuAcZSM?rl((5GKHy>ln*Cx1)6nv-GWSL7ZGQ9h*IDrQTJ58g zz2=Iy@}aO&>hxOevrhYW`1hUs`(FNSAGA;DxBS}%B0|66-*O5p!_0!G;Jkx>%XIvR zy!1|h!-IX+>$$L6ZA$Irc|{yxG1ZZL{BsOrAN_gYRv>D6a+t2zNY-p)W`}mVVw)jT@l9BvdEJ{s;Vh2Io;;%TZbT*wWsRouWR*@)dn5zn;a>&zUe8z~w$ zh@y)Y#AX|YdxE{U8qjyCx&^XRIjagr(uNzDt88ag>Gs+uaJfsB=jke~1_In z!aIUY@;xUg^2zvY8eGvyf;m#)=#@?XhY;$6!IXlpuUo$m4- zJO{3|hckkr#IXxd8agWzI*#a)$4=(mfOd%cZMu(3^Sd#Q6vK7u5U1b8xNjYURL-5jGc*KZPscBV2}vtm~-aB2Or49qr;4U5**zvV=|^_hRw#Rn$AN%sK# z3*UmBz?W9kpA8WtbXGANlWcM@*)s@7suSR*pdV?@MF8L+m?3oPt%Rkfjx#i=OFyJP zs96w^dyf;)sKhDZnAeb#m$UdB`yPXkJa474Bq@a%Hf6PfeKM>qq_V@gQ!E|!M*e?A za605aIwVI}q%lHCJgZ$ePPN0LhuTfheUcOguT;BJN>Rc}ghVUchP`1he&tyaU#Zby zFup?js!OWlUCc4!xoS>(76NtW z%&)H46-I1yP=!VHXanT|p&ewV9#NwD*qYy%GFqa?;WFJ*y}a)AN7H@hn!JkK{?WKA z4p5^(P&5r?lZTim&|d%UbWXW!xq0a(uJIxT({dIbBj9cck654BBPa?d!w`C=56U;H z`18S0v7CVh!g!U~h87UPgn?{rZokNaA+Bf6P-Iqh90lc`CXQ*cxBj4=cE0uXM|D%- zZtcQOR`LO=_gL7%=!@g|2>61dvrczi@+T<^{et)Kf3hoG_c5w!RD; zj_XAhMt|}!(h6oP8x6yYWY(7@V3A3@1V)~)4*^Eri!FbpWx!C*ZZyPaeb=Z~w(lIA zHz5JYbnLf*1@65*+uv`Z$nWiXn-y#6-Zd(i3=Cgq0UZC0hWvy1XrdO5Iq!p3r;EBC z{%_aYvcW6^qVwj+8OE-+ZG(tmr=zNtABydUz{e&UKCi4uEBLl?P;YmgjvDnYpxQgA zlX3~_ztHth8!a#HQ;d&|E1yi5td<~+ba0r*UDeaqc0=;d$H2ZbO`ebZNf##GBFBmO zZ#U7{zkwP&0l9gHZ!Q%E+dzjKa#aw97%hn4G>&K0n{bK&1l(1q@AXcO4}b9-VA}$$ z4ST4n4q-l&!;{9(%{_ZQ3CatBa(aCqV^BJ8;=`%-(AV8vkDr_EPZ|UN#t(;NFzhZ_x86GL z(5N&r+X@zLIvfX^6^mgr56Yd`qm#F&z+B<>FE%|jrK9ME`o#6Y6KAdbJ|14fM1Bxo zbkt(U+8WEDV5HS6l2ZJyswoT!^vHsI<))1g(@3l;VSr)a= zh{R$hl-D$LHU~}s#>W&@P50;PIzzkuQLe+w3sEV9mf;bUsDgss-8$B?0zTUlQ9X8c@ zp!rfqX-`e|?KM8e5qj6baFB#>ikY%n-CxX%t7G&gyt)Pi!f1*rg^b1f17+SN)?LJ) z1gf5|wyw1#|O^|=URk8MQNUP+Mm z-oKxV?~6lodu2?&vi(s>aW2U)R@T#~`O zoTF=He~J+a3j(-%zs990TgU94y8s8E( zQ%l~|2!DG|aWK3yy=?fnv$rvr7ixDy@|_so*YtpTQnfduVX=IiD9n|U6*q3AI+F0vbSPR0uJh` zw8Ux{M!_jR77ZhB2;tyP_uG<0c4DP4^2r%fu&~ijL77D}f2iTS<`xV029g}zpgy9U zb7shrJGdmYy=={!sL}L`D#s*o+6$e;Z$EMR*qTP40Y$3uyD-iLjBn2JI}@= zT|{1lDD7D=BovbvPKaD1yCPRV3hpdI{8ww`m*@#&x+uRKrf@rK-^5_=<)4#jY@avsW8 zS!!W*w8+0`JjjNzPC)2*S(Hy1;H{0Yt_>^V$!#u<=po?qa#n}_vo>n+3EO2WhF4rA3Awittr zjYfd|u(zr&$varf9oQCGU#~x%_2Z0g-?R?i^cwAMqjyyA{H*kp@Za;GlB~;ykF2tw z{{+hp(moC{Vnr3Zz>8kAfeAqShpkhB^Q{X9^=tE?=7dN@(lG*t;UojpF^Eei$Cxup zyq+6q0anPO(kwdwJd3PohHa&d-e7&B0DAqijP-lI*z(3jK3^aIK#{(?X(V# z>xWv)!~dbAP7{WElWd+dXN(^C;BTxyw@our%h!3++V6T>nJ1Lt@a?#ggzL=+ z_=if1ukOq zF%m3;mxB_{mfRGtoMOa%ivR2MXLptV_N=WSuq!d|=nX=#ZE%aoY{4oTq-zaStv_5F z3uVa3gdajqLl50FgDyuim!#&R&<;^pt zY_YZ0PWd3e?V$pb(f+<3q|LBbf9?V-re*|Cm7yE4zIiR^V5BNUjT`qAFY z7uebEyr=*7A*HgzmF@9Pz#A1`+SX>Q4GH`^4EQ5~?P=0A9xE^n@d#$v z-Y=!4hOn|yr1gB|^+y0gK)t_{yZ-f+_vaUtKW}{)f0z}QL|Xk<1m0%+ckj=e#U)1% zo$q+X-9Zue2u^!tsTm`!U2%6r&9Y8T3eJZGy3yjU&wvm}c}bkNp$Y7mhY?n7pr0wU zfgM&ZzgnuzAM%P*+GNvi=g{~lF59;5E6!%d;NTSuR$alo0_Bwz*{gU&@NXhmGYt3- z6`yavlG4mw#Gi^Qz~>EDR-bQGygz>p|Ns2MxX53&c22vu1E%W69%K_5%r70UlH!HC9VEdS|csA_yQ*bW?>T|pG1^z9#ZttkRp^r_c>l%8@ za6lE0KyvZ(ot2B}%GQM`sUa&IM)O!f#hv=qv{-^^gJtKxY0uJE-jKQbQP;s%H0Nal z7K(6RROm0)7)8_jVp$ew;g*Oe{eMvaY<9s+_HMTJO;m>2}-L4w`Y-ySO!9t*9N#UF_nXwhIZsu2;(Gf$qpx zs&eM$mSxyjFZO}Dp8pxs3etAnEUs^;uf^JJG#$W|ICvgxf48~$Es;m7EiBXp2t&_0 zs8*!^@qU+Ihmk)ZP!6DPw_ZFCHaC3@M79@FBHRosR{5qbt>|K*Cp-gL<-CtpGPjb< z2W$kKJD%Dkmh2K$ptjPxwJ zn~e;*lrUOfyi%!Ea#o1ROXdQ-(zWxCwqkKcmwY|gMbQmN=CywRW|uD)>)WeWsp`TV zy{N$&0&&=ds|Cme11Oq$c#Nk-YsD&yITh0kTa}!hS>}bV7}mk*$34+%CLY=`S-gdK zjU-O_1QpMd$6P7SQZ8B;o>JVZuQUN%DQ=Pqdk8Yd9n5fL6WGvKMfH)l+g&uR;WwE2 zKW`>KUI2nym#>N|ZgD)j?cYJG?M#T!sOoKAnBpzMqL_oF;sWezR9)h7oEF^Y{pn`0 z^3b)8tAY9>`?17$_uv;tpmJP2WqlT}7YR5dy1-w%TdzC|0dh5}ce)-KW$o8nhaJbW zD4PpSbf=<}s6DvCdI9;lXrny{i0FZVlcqH3CZwh`ZPG4Mhv*|rqHpPPP@$=k$BFX) z3mGsu5ZY<4mJ&0Z<(4s29L2!zs?-LXA%|WnkxcwY@Vy9UM>XHf#K-`$*#~V6gUaA> z!0)25cj?Fc_86me%VjiO#(?D_827JH9(If?vR4!Mk+b7&a!o7LefeLj`H0n2|B-_+ z|M!=_Sg&wP&x*rUCiG6Jg`#J%|CS>NbOokJ`pcdo{`e}RsWmANP?J~LB7SN%&W@i% zjQ*!@;q0yZlr4NV9=gkuht5KR)Ztv*@dQnMhz=!4N$0f1D}hxiz*LtXv!}l3Iy`X= z1QiZ3`DAqLm87ZI#L1{EgM>O;vUb8}5R`KD2jZAsEyi0jCyyEPgGWp)ZLf=Q=O4Ac z|D%>RsXRuJ`_+?H__Oy&$_Z&cMM-3x*1ATTm?v#EfV1Rw`|sH?%vGo@!|cT3XM-=j zV`!m!z3|oN0#f4Q)~nA1gwMFB7{Z6uR|58{uMkJ?d$EJVAAk8vIW-Mmj<^sKudF`l z^~oYN3WrzLR{0#RVbNAOd)m$MKbN?`Jlkj4+uikOT)&~nNIVc(I80HUr<_mtiAv`B zGYAZ8HuY%C;oE$0pIDtgkuJFN@a1+4n%;Q_q!%69!SE!F&?uO$#a{iiwd2jllWBMZ z?XLK()rv-7{zJPVWT7@O%&5*WqX zN`K-gD4w^S{&ZA-&nAn7g$Tb3XV++xungjr!cr?j&tL$u{AzL64K^yF5DfId|G?a~ z$^L(->WyI(2PU?Ii2`9P1ri|~mZ^IfUgT9zVF1+|{=|f{fInWo=)rXQ6Q5(tScU84 zAeabgVMD`&II3$0v&9%3`B!0I2C2~*goU=i2oi0H~4qK(sxtU`M3||4-IJIzzqj?71va7ovi^Y1r1!=1g^&v z+s3%+dh57N6IGQnr?-B|-Xtz~{>yGdZ(^g_^ntZ#kP~hiduomWIpxm@o->{r`aKU* z(NNZD?NqJAw=n9*i!mW*dwW-~_dU!H{=1-UN7fl*iMj`&;u_|_hL)i43yvs<);^BL zK~B&YQ;8fh9)^WZ&&$DDj*>}a8Gq&{!BJ4N2l07_p37enp)Z5cm!78OFkAXwey>=b z(lm;I0VOYX>w?ZCj!dbtuG$5g*(Pt<_jE2#0OvKIxF$$zy7gdS5i*zj7*dl@$cT=m zsFt=Y%p+(_&+@uk7Yl0#?-fFIdAPfBMPkZ4k{Vp?P$x|3-`C zMQ4&yZOHuO%t+>{q&Bj^pwZ+_ttbR}Zqp8uo~U9MUSXf#4Kh;?^<*|p*S~t8AE7%l z|7roiytF(|{&I-k)^ zr-wwjH#4-EsyW6O#2lL|bkRi3hL{}q4Rtzo*~#hO7B@T_hpDCy5Ef!u9};AY%eVfj z1e&F9edK_lD@@0UPB7H3ic9`}k$9eQlV;o-_P6vM>O`hgzO;)r2fDqMET1A@MY*)W zJ4C>^CVNV@y0msxvM#%xdbZQ;gX?9SaUB>JP_pR29M$cet$nnVSHOa%%y{MBxa;V* zw)je+2f;KWwBS~;YUoG?4_+zqwDnXPw;y68`@}Hi0(ttjK$6CLs+?-)`p`?d>~4j z6pYmwEo98+gVzCIg1dcb4%l02zmws#?_%yq;v*frWYb^!n+)((Kz%At5cqa(63 z!?*}bA<5NAjhtU!#b2fw8xNvsYp_)1z2GM72X@P_ktq|Dn2DUsWQ-W~*kecUykV|OaAan|vmQC5g0R-o z#VothVHACuPgI@c7Wow1D?T@=^R|HihZ{_1O8{8_1BAX{7A$~~-E1GDP35&(UlRXg zl!P7wgU)RG_~7BaNRH}o2qF=gN{KTV1dHe~w{#a0wZ6du3dU`+D~qBd)d3YJn$VHM zyrdNC!X9X9J9Z8iZpO}`JAz?W6=x$3pRf@-ht4(}K7Jb_p4KKDF0~0eht}>HK4k}X z4((0+C=gW2n9oO(ho|>A2(PX$qG`NnlCn6ob#w&l*_coPp_APJ{n?!cRG<%#8%rLa z3s1&$_O{uk%um~y?%qudiJ-#F z{8lJvvt+3Qf5~$YhCre8@qK@cGBfc1)4-cVl%X!>6xf9oOh~4_QMiS;rlU^_Ai#D- z5+QJi1K|*+8qe8_X&UMTjRw@cW2-rXmxE23I9HQk5x?mt1~d#n!zH1PJW@UN>UUjYvb^;rkQjl%BR%siB*{Sb+h3EGEpLO>M}R5B2{A$g}44qhb?r55S(cz%)B z1U_Z7Lj2M1nDSlV2Q>_XlOBmF${h?>kx}phu8(2sQjjIr00%ktf#*-B{=FSyNr$iQ zWwfIhHzPlGf;_?kanKN^MqYUm8vZp%~2%{iD86-Y2A z`a6qg=tJ-56;*Xign@si?>&@Xq+w2jypCeG0oRYuKl0%n`FA}jTGZ)cAnHLTKMUU< zmd_vk`^EGBqFUq&<^W!t|M&SfFP?Ax+t&8iFJC-=`StUy=l{03wf%f^`(OEg|9kTP zrqciN>SOU6H{~xXQDcdxo}26Uul}d#!h0P}$3Y+Cwf)`u{?;E3FQ)#dVEWS)TnR&! z>6e;KfUMQ~pT^PcFc@4>atlh$>g@*?n6vkrinoU$-|OLY7zW<=KK(oRiE{>r0jCU3 zWehI$%hb9G|MRWaosX|DiGp{4xmm-0ylm277tDi*QF@Ao+V4W?P z=6~6Q!I%j&D`~JQe{`PTWS-y++2tHZ7|nZ8+tvv>hYQ9P3nfHooc^hjmuN?QB-mT!`BEl*}>~ac{sl=^>rcvddP+XH_535Ktfl$ z$WZg{FQ=FhtaaFJVZGAU_up@pbE-AiPY0rFY>AZC2vDjsrGd)w07$)XMDkGFU$0f@fK)OL0^OMS%@HU1gY=})ZPAJ{h)XHrt`~jV`XI}Z!M_Sv0ZB`uh!{XtJZcdEW6h8 zyjmEGs(n~*G^OH;yo!6T4?B(eu~hpyuUf{{RC4#2MUZCxu61P5Afm_h!Myl&JxT{YLaOLE$Je{}XJ5~^AYldcOq8!h1GLlrq!;Ay=9tmc6rvA992dAQfBAHps z0Poavn>>H0Ne39@-s@lZ-~F@0!CFEY7XQmuhz95!)(_6|I_57g|SL{F*U zUM>T3jMB)r55a7pDIfm#UB-lF%~AF=nVN48>Q>H_MKxiLT8j=+*1Ts=eb&5ZPkq+B z!+&2ds%hpud+JS1+5i0CHxKqsD+K?2yQt=Or{Q?7C6wvAg=6Oc`=@A!=4~xpq&Is< zW}ddT9;*6US6#SF-M1?%TML&b*gJ(P3)e-Rf9`ML!T=qx)AM9(U=m*Nnn4v-zDz>Z z+V$fDChU2PFjZ?E9i4Sa$CSqjQ?=&tndBvAR+wTijOQbYu{t1o4!L^K(gAgz zzoG``BIx_9;lXT*zOFRT!tW^X$0n~TOS+`F_R;Q(zg%($6%Vs=P&#W)J#ovyXm4VY zl38XJAvwjyHtXH9cC+{MQ3tkJ{`WoDW54XbhANqlviLgE4q~!D(eHJ=%ZnKEEa*3T z`fXRBd?8L1DRC-A<8jcRMbku0tJtm{jB)UZ%BIjN9fjlGZ8$*RZ+xVrKVK!jU!#fD zj4SZp@)#>4=GR#Hk^5$i-|_$D{oQoY=R9RA`U(A7a(+}mKEkNC@ywsj)DKF#bWK_A zDl9+QO>cD58@uU^X?i0~Z(`U*&Q#n?gUe|UUps}I!pSO-#2K7z#~%gfSqhPl)&!|B zn^{sN3#V%TwKGYV7i2bI3S`mLdYBIrbgHupE+!NE=OCES5^ta@THU|Qm@h2uY+Mw4JVyMH~5E}WTgr(sB$xn7C2 z6S=NgxY|IRjcR{b3JnJZ5ZEV)`$GwBKKDao8ro=h~jh5gj) zh2tTTQk6$VV@CdnA=x`5T6?MvnvyxEu3Y$yb}f1k`s02OT@tCs`f;tM6TIOQ1tl+` z%M$7TG`tEi0T33%J3NV(UP*OS{ek7&uabB1`!2?|*&`(!rXiUIaMO$*+YkdP3DFP$ z>Gu5nkKA3@fE&T3nNX0}fvoYyLdi4t8jcF-)A^FXKR3Nyd@5BXcuyMucNOnm+MXhd zOKR?MO6BfQha?puV;9_mu$KwFB;m)8>aM!-MA{WXgSE}YHv>3 zt^YVV?$!@`?St1zl(MS5K4>FinbqDl@%2|=VW%$^S3_7>?d!~HqSG)#cxh&%Gru?u z?}B0ehH5B|%RP>&G-p%kL#g(oNuVH2`RU6!TLx%qPdZ&Nnp1ENzKn8bu0 z#HyeIux;g4U?I%QF@i@-PUvA%uG5f&5qsM#n*F>9HX~00HxrQjvY4eB`r{x2F@Dod zNK5Im2{xxaznDr3$DFJLw;cU@|0;R)6_z6L)}>{!M2M5c4B^j*=b)XvKKLoIKvLxP z=ki}t;#k9KcMfFLr-43~B`@QkPT>DDJVB%>fR5%#u$Eh{`w9q;p! z=U(m)HBo1;4fa#a55k2Ozay;#4^&X+l(Ur z(;8%8#CyRY1luI#LZO;l6T&WeFm%%I*nRN~j1y)beoR^+l=Klf{^-n*2quU|eK5#E zLpWR`4~sIyxG8`*O>QsRlVLKk>XSHb4=d_fF87uMHoxqVry)o3Tff z3-I4wdI01+WMK*5d&i%3_@TW^7`4skBhnzZ!A~6fsqX+u~i!wYtoG1 zz_n>I3U}z-LXUb&9yFY!{%p#ZTILy3{r^Yc77Q~S2nTKCq zBC3S{(-P8S%~@x0mzk585!cVYrS;$UwjY#HgW3UL3MvRd7E5YKUSmFuft}A@05unV zu7q4Q;GQ*5s<6yZ_4$A3h$4zvoos*6UW^^&bu{bUxj*mC`8+~v<%g#Nt35Oq_(8&s z-dp=l$wuxdDAm);ep+&A!;u$1Q+y;)R=Y<}?)j7wmkt;=2Xe3Ew5i zx*i($;c5m>`XW$j6w?@Fy{YPK8jPZud&c8={~AeBbFZ}*6SOJYq3d+m>>HGI+dJ%! zb@(-(WP5+EB+r;Nsw5|ZxQg6rBMS>z(>p_iS|1khMkolH*UEaZJ^u1@IgVyDpXkB> z^T?@zlu@l|9Zl674#YbQ`=p>E(*RB20USORIf)DDVVZn8_HjK39ZVZC!+7T;0FvZt zqo3xvoKYYwe9y|7^Rn29>MbH0gS;kYXz4!=Xq>XX2x}OQKk018m*`Lbl;v*lh}~6R z$y;@OVrbdxvzd=~e3IUiTZw6u%TZBtE0RtnbDvf6Xmn3vniv*A(DB9YQ5_0r2}b<3 z=qZo;i~9unxmSGfh0t{u$kuI}^--niu9OO+HCP}?sMcBfbCw~pk&yR}3`Fot26w~n z0uN(C&2u`NB!h$}w{B${7#S^wl@o7xWNF~ z1JnUz-)}CG$uPP4opOB|NIm{}1yeb;3of$oS126(zeVBHzY6w&iCw09(!!|zliu(d zQ34X%){>2_E$hnB8Q}{Zp*+zr zk@kaWav1njUP&m-X=m|3rqz zH+_&%$1&Hm(^WweE=Tx&25nVLd8>f$1ovirL5kaW_%BMFvcJi;u=E(4W|?dB61NQJMG-Vhx+lG_|UoiX0_EmF8^4iVYbG3 zYjg9lD0iX5|L{8RLp(?N220#k6bk@#hfyp5+TBI50AO<0?@Iz%AQ%#mhP!H{H zeMuw>8pzKJWRW$LL--g*5rK`piFbivSaOM>E|!mTfxt|t3r6(rB3%HqJBxGyu$GN< zQE)?D#A96`u<}9qSp1`0`LS6)Sw5~sLQo6p9KeJJ`x@8wKjLvu;0%{cp~S}JPyICZViJZsD^J-a{cYwH*dw; zm3Kfy(}(kL@9kT=Q<0{A8Bc(kJ+by}_;$D^RxRKzIX?;v2C^D%+`oSw;{V>@e+2#q zn%vm9Sp7v0q#+eE3$*$^7`IWd8lu6vGHy>NUeE_xiYz1jo8q_rMFMJ&x@sd*Dz4wZ zzp()=Q?*aBO*}sBW8^Qu&h73lE-8}DaT-9rLJU~;1|&I5kl!NM;u93X5GTc_U3VO0 zD|!U>);|^sKz?1rCVXMNmW%d!tp;E+M z{#>yAB(QxOY~f9}dN6pGO9%4iAFb4E!&RvRaR0tDy#XIJR}m0LFG+yc9Sx;$lUyNd zF;5st*PYyeJi^z;oo4oiyK;i3iL6}C0D15GVe}S72u+BjJ`&s!r zx3Q0*31AuB#}Z0Sk%i1>q#PR6vJC%>=ldW0j#Wl}+T{@8P8SMP4sapdgNgdv|2AK$ zRp(*x)BP-Fw3}5>C(5u`=T>o^b-Ee4JJIjA!^`$TxmA|PsnJ`R#M9{a;?yF}eOsy#<{Ue*|O*_Z9Z+EKNc%V6AC8uenP zjB#!N>*H;zI311Ktmx!6JiILD^^1dT;sW{E9&ER}{y2;kA8c;`3r$BOtby-T$Frw0 zm;e??$PH%~-Xy)U42P6b`Tvd1!x0{-Cj!u01VyjIJgxT(bY~JenS*3dCl6~c=uT!8 z@99=gDxhKKxD7+TT;`zG#2Dho$8_)Eepa<@ZC8jCtQc4vubf2dJ#Uc7sV6rzf#1MdUgSlOh+;Rw$_Bs4_^QqGnl#m1X= z#W#Te+qdf<-)+2we-Ac*GBMB+DBX@@tqdQ$AYIH*WS3T9(*qz)j50Q4dNV`K$#_R{ zyNlZtPP^1^9upC1S$y1GT@xFkxc+uy<6ekA;C~yS4CUWuF*UdG=ARqyK>f(SE#=oF zFqry3{g@ML&#N!MYW$7&dETrRSKk5NtE=LZPP>193)8HRRro*9Zxtip{lJG0hq9pR zwKb+Wqx1hJNN1aanT?I{mRN}6t6G38D5?Rn?5N#+yCN^jeg&qzdZ|$w-Rvoia zit%pFZi?!tD%#ZeWKUixAz>;WRGTfd+?7yo_dTAPAn2WJ(BW8Ka<-G_t{BPn<3%z@ zEl?dA(!h>r+i1|S&A<0p0!t2K|( zDpBz0{s_@AsMeqVqgrV-wOrA7+WmU6NcHfAnEBI*dW9mLHu9OhZmT~&r zVt7fmPzZr7hEtP@l(TR;s-66()Vfx^euT@q!~z!4!qmIit5i5mmLL;fY6fmnp@8mV zd*ts2x=rQiKtij?0+49ewy-$RCG^h%tW5h%kyES3rxALbwqu!bYMc@=XfH~qlt?`$ z_%Es_77+M~w1FuJ1>)^s4z{!}=eKwvgKEK?-ruzf(I`;co;})LbhJHZw7s;^_IR}S z%_lXW3QAoaIj>MF?(>e)q_dv^JrKP`sfp&x>JbgUtwoZtQ1E6SHe^w10e-Xi9C$b9 zxJ#)L*jT-S6!=e}2ddQZDX2~azfwWqfKpTbbx_NZF=c)u*PNc(++seHc?#r<-Q3;r zGjX0@M5JRV!Q}th*NN~s!_`P znKA)k&KCw6Rn>!|gBX1vDXB;jjUX#RrK5v5m7o;SsaZd3RATFwOqFKZf-;RNUVp8D zncXTkUQ}s4fHk@>@zL!D-OW4b-f4e_ozd7wCCN$zYIR^FLMy3z6qmkLg`palu8BwsykMO+l~Vq>O^R$ z6-1N9HoZ5*eKn;~VVB&q3Sh6Z(}QxW$}x#S3o_>1@Z)gw@uZ%Ury-V=mbGaFlSS@B z4^ap5J`7>;IFzBfy#^6Q6wa+OJG>$`;V6R+!! zhRIdDLHA;u)JW)E;p1b8mBJuQs4?{~CMkWn>LhjjDo86nxW4Fp;Jl0+P8$99soOHi z8J6JTtqmi72BUD=zv=XSZ)l4h_j`plyg>*>%i$YX=*r+v3Xv@0Nd493J?l`;oBP?A zB+SJ!986U454>fr@p-0v!c zK6(|P4~Pnur*Dm*_dwU1pliW+MxH+CvcOii4^vG#6JVruyi=rnJi5v^HpD}CtSTQY z2toj{J{(QgZO>PV+v6Bi$ce# zANr63a_dIL??b}*#fu_8ZxDI|U)HBx3o#&{kaK#yWP&e|4bWLiFZNg7B*16Lkaj)! zdVo(?%;YgZxS=0IC`u(7oivH2QT{<%G67JyVe#um6qU;GDm(WZ_es%b(S*f3*BF>XY zDn@6|VOhjNMKrkI5BNb0ydOv6U9fN#EQiHt;Ejd<;bu4rakkLA4inrCCgCbTj#B?Z zya$yi)xsiu2<9LgWSo+}{8xcU%>T{Z8p=V#gBuk%)N`qA|RP+tj{37-`lC zh5EFGa`k7_*ywll=T@W4M;{p__Ys6Vvdk6kXO&A#21#R=k-u|t(Ho3ll`;8_7Z2_q z>hi0u4^J?3b47vTzjbjp5k1fZKDQ-E2?s*~R5CGpcrAYWB-VD<^j@Ld7M%24P%4|Y zAj7`zkHzDZvU($tgv1WY1nSrrj}2qJQ>&|;tO$Ykldpn*`;rKdv$^-n__`~7FG3P* z6BKq~{-1BNv>*O9w^3A^;-(lnEmA2ev$3AHGy9&*EUs^8C@~P{v#Bb$v97k>Re|eE zP3UeyJIEJqGZAzp z7@+4y0!h?rXAww|X2U{F6*0xlFXV(pd|_j0{6=7YK=D1*H(n^qjmk?w8`z5vY{NKTNi+^6gPZDt2+$CL>4q}uNLXxN` z#ZM1}52{_Pxy-M~2&NTaC0-wj{_|~d<0JY?z*_tvxA76rb1o(zm(J$Pd z0*X@t{-EtDz2j7EJg+y=7oD=>=}`Lg)WOMonmh|1Ck0AyB`kZ^s^bwheaqjRs!ziA z%@^mO>z+zy|98;qDdDFd_cN7ptx=a7c9>{?tK6g7b1M(OAg4kp75sHjJ;m^aoFG3S z-N01P=xHRVPl@US(oat*<@A((n|ks$q@JDBS~ix}x60L6>MzK7{esT;f1(Wav5%YQ zR2Ki@*Qp#B{sk#VN4U>PN&FMi=!GMD7~K@7gc;0OB9v>sK0a&J7`*%qsb|Nh&ub@? z$UpZp)yhj43{2u*GUY_4s4^{`(t?y1jVe);e!%z7RZxB?fqw004poUmE`bV_-81{! z$~C=;B<*JuK!#_Wl=kIMou+)c_U&(zYy7zOBT1%=_Tt)iQ>+p#_)dc5Wb9{Xw|W2Q z0Do!bl0PA>_PqZ5ADqTNDNQBtm*NxolhV!(s;?|=byG|U3zq(-Tze?2Pm^Z`!cD;v zr*%$0t-}{&&=>sO=R;cEqn7Ct=*+L1Z9b=c-Byn43Ca5zlpv^5V*&LWQ%`D#Ra}-N zHJk*>KSghTp#N)7-CtI#EmOl8rUY|`SkZ@wU>)~wj1vA?ZcL!3wwl=%^g(vjo7 z{JEbwAqF`)#$VNgT8qE%*M0`*gL4s+dQvZggNqG@(1H9OoCDDmS9>4!$S`peG2qLN8siB37i>yacV z(|U;(aI*!xXCoX>j+E7CM-%rmjq-_H{P@>?rdcHc1b^^1-%sNNbytl}ZYc?Wz&8po z`o-dlTA%xwpX-emG_6i0M>`3S-#lu8 zh^2K){oc=b=V6=7c{VHe?QhQI%?OpJ@6Et(w8x`$?KD%$g<(>lM5o=Ewpo`_zf~%0 zGwQcWwN_*&LEhz&&uC(<`Q$v%V)5o!yE~eyd@G5|{5r#EP%@W3_T_%_M5V&deYrVn zrP9ZK<{Wfl?kWG;XLn%B4Vc}7y?)?@I+Z_FUS~WrIq;#yQ7K8;cuC% zaM2@T9MbpYPfnYRMpG+YenQ?zjU4}il&e6c(69Xr?u@kAo}hDG^T|%n#@U%%pmo>H zm&}nJSHETI$P^x_lBUzvC*(~BeTkg>xu0r&RKk8{;3@9nUy$-1{+Rw=Q8k*be@BNIHQx@Y!)2vbwzAN2a$!1G6>9Nl{qC2<^ zx1v1eI@Sky%Eb~ctpw>W*NG?DrJ6@h3G$cI2_8k_;PTQrV&HWqqtHo0yI!Wura>PB z;tYdWW3rVx@TP!YM)mJyVh=B)sF(`s3WHnmc4y=Xd5e$9BUwwHlt=THJ1mc6E^}TU z%~|%yJbE&|)TwzSW2uAlXofmFkBzK*IVE9$ozr!FVWoVml$t_K;FXZyR1T$oqMaSQ z-|(`E?>OsA9I6&HQYiRCJP#~DOIJ>UJo&Pd_!P`ektbnxk~|f&lhnDHorcF^&NubY zNy3A*g8yOcPXY=i&@Xu7z$w9}Zu85S^SH#+!uyM`Z|Bg+&IhRudT@)lpw3O55*;s? zj0$}0XQ#sgH1;lhH}T5rUra!nXELs*jC0$AZ#)6t{CM2t8&C2#pH^~N7%*87A8$V5 za{N;lqd}CVPU>f`s^v2-r#^H^Ic&0QqkK@UpKww6TbE=ukOj-f2QN+~O!-?EWaf|s z>&N9&E=Ip}AslyEr26ygle+A${H=@e;LC!CjcWCvQ9Y@1S@Wrj>k*eVTGbbgGMDC` zx+HOcx?)z@<}&z0mjLF??Bmnr_!hIY`>7OHO4tkFY`Fu#K=3%&95n+&6t!cb8CU6m zVUM9qa)(PMIs>C!6|FIlX%@j{ibGwQ7Nw$0w#g-v40R|$Gd|wW*XU$2iLUg9&HG-) zcK5fhZDwLl*eLa+8(Lw=4;gLkZ0~Fe5I2R{P{x*WT*#l74-VY@T2bf^tRmKqZK39# zDqGSxquoMz-0o*BlTs1HHC&y(+m4sE&Z9c%UT*!(e16I#x=h)C^!-M2L=4&GVRteL zy2Zi!%=<-cNaumf`-N>q^b&Q`PTj)HWk5#mnComS9IQe5)#_XLIoGQ+lPU5JSGBog z{S=^@;Z27k{{Q*Ez>+K!`dK7iMuaBFZN}$ISAUnM zt}D{NaxJma8oOAo$Sd5CMj;Gj{5Cp{Tf-YR8W}w71}e!@4)jijM*ZMoNGHH6(OWi) z>tU@G$fSS|n-&l&0>p~BF}|V>{#I<{tm%;6kRl^vYU3EGP7Th7kx@T(QoUqs+d_N8 z@C8g5Dmf;9Hv_Ql6fwgf`>C%N6kS+`?r9|y31c8N=`@;5yks!q{=OVo_wqu{U~oqO z8DYM1xo{S+m)lMzGne8!sdszT6=HmGzIE1guMs1gq#%!zoZS~QDWG>m+C-f@KM z^~;_)uCLhqnG;3emQ1IGeq!rsVe_}|~pnB(`tWp}az zsx}u@D4050zuuWokrdy$Thj%RQ`Uo42rOM_C;h(R%0B9Rc1Q+HQ|_0^l`!y;b`y$T zr35~r+Pl1=fsQh}iT8;~?pR)$cwt+4z>q}Z%Bx&uOWr!>1x0&hxyy=meU<90vac7{ z;TtZ%<9w`@!&NoqLg<=m$SOVW`Y5y_SG-7D?iC{UZcxfyAvumFx<<|lw84k7SRp4A zU6$&`AA!gm3K1TkG8uEfB#}*RZq#u+?vfu<`H1Vd|x$gnTQg3VaTVQ5&|w_>DY zvsv=ii(u^2*?!Jm78A-%z4Kxxlff;Us@#@w4g>AOz2XM)E&3O!_0YcFe%c?|2Z3J> zkv91694hUy-#Juy&~WE)n@3TYnPR6n+R0E-&kLuZLRBiy;H7`r6G;$ZfdnRfb`|DQMU`gc2e7(Vhp zcld02+mkOT{K}5d2g^$gSFKU=F5zH^j z8eG$)TqE;}cD;wcR42drh5UN|LLP8SctDyK31jSu2 zV}%rMMw$-9$AL=Xqfe~%S}<-TF5@ipANg!XAxxL_Pe^!6f=~}8dvmC?YXZ$B z#^}%K$>O?DOAqRu^q80nCQnK&mo`a3@9%IX#lbI}PAM4uwda)dLQI}jbBUA&VQHGB z&9G!{TR7A1hO2&$X_r98<>y}7)cdTNw+xAX-+6cYY4=|@>%Mr>ea4*oyeW4V?DTs~ zxX+ny>ZNV?0DEIJxmgPZzpX}}_;@hBe9THKAPQ=|5C0hgsyCyV=y*eXC+{1)mN??@ zzZex5Um;w>M*`P$9AJJ@aC$iz%`PtarDJ_r0g)Kt`_;n>j;wp-^=JHCvxK7K-tJIb zc4Ril^zn6NfT{q67+g17$`S7q7_NnZctd}RbY64sh2#lFG!>uVg@0LK?an2?EKad| z38-!i-+Mks&Nq*}U*ilzx)=iFb`htooESmn$#sA)Q;)qcBv@TP3^2;C>My^5E&B{M z4+cCC7?`=3Nr^0-Lw4xD-Blw-~oRahEe@2ycaFdx}5R0cD&3$V0Vv&Bt! zG;N2zKa}sJt}q(viLZUht>K2b5w@|x>`Iq;R`2hx>dQRFf?0=pvH0HWIUSwYj_aFS z6V_!NRU(?HuR`_s?Q8i~R8&Z^h=L(SHd3#1%9mNGl9EAIL`j(;-1wU0=&Gqh&v`2M zdb&U&3AL&kDR=|N%YJTQRZ`1n`<{hFh%YWAUo0Uq z;l8?%!PwE9n4toI+K!5s9`z1Rzyn3d2kHRKWZy)WMN+|lP@rnuv7kuR1r?NM&T9)6 z8P#ecUs{a-QH+AuxB#6Gd&S69Zwq5)@@Oc6J>`Ht&_G!W$I2 z`=jGmPO$b@DRQ{mh5PrB$Qw@O$TZNbx{yJjOn4dermiMO{`NF#?Q#Q#?*9FC#XqY_ zowD>lSqgh2Bc$KIuZbKH8TaphBMKLEZ_}0)nqlM*dq>JmuuwF#W4b9!5+unN!jC{! z+GddH@YIUD3X|c;>@uAT-Ew*@Gm6&0RqTON#mLi!K)G0OL zqnF#9OJgVv7y=36(L$@Ym1oXtR6xV#IRZt>xmZ){?mMY4F9DtgfxdE z1CC0({22`GukpzKvYG~rc4Q=c8P#AVIfDC2QoMTPXo~LTq=L44>&IWMw_jO^jK+yD ztcki599ui(4ys$;h;G|5@#txfL@N(-+zVIcec9O4ySvj>BcOE|w>uc-+T{tXW~ty9 z0$gEd?$zT9z}8lT6=YnMU1bDUR@8;C4Sa02y9+pcGy?>!h4~E=^4_i_?|>yuBtsz6 zV9MoHDhj-zct+7s?rs$I_J(E(Yj4AP8v&ZyaOx@@9;UzSzRX{>ZE(ADzi1sl`OO7Y z-)$iN`hspJ_6Wn%*dq*+>ks%0!`ofmw(gwUJ?pI%BAI$F7W$2E16b5?k?V|s&f`WL zfQ7Jp7B+ev_jm1^#!HXe5*Woa(n2p0Iavg%V>9EFMiPoUty#j^+Aea9*SplQEmOZc zxtYv{mi}hV5Vr>ks$J6Egj`TKGUW6qfhxHxpFl_gvg@L4p6tl!oS}cMRs{gbj}|Oy z$a)|pw`?0$op?Ly(PWGbu!L=G!-7GJfL|4nJe~gb?P|11{1;yz_jV{Td>@S4eSdf{ zy=+rV4LcnV$;rOk5pi0iY!+CNXp(!T3y6iCw2G$o7nXs<&Z&%~4mx>OC*$qq(s|UG zmIZ5*HU^nrn1=dGypQwr@nb?SCc^R;qlXhI$k2^|aJUx-u)V!43ix7aC`yhX^d3%@ zs2!1>%T>ZAsnY$d3G>SS4g&>(p)eg7cA-Iejvl5T_|P0jn*cOG%fErFJnJ#hrVwP| zc>z8l0{QACk(@vX*!;8D3nWTeOn3^2UrpkdMsC&ob7*%9X8dpTqfq$%li=q{5-`9Q zPv)V(IP`Bzfxhf8AaR6LsGqh7k7)D#e=pJchkxIy?VtY_o5TL|uR_89BtHB*srMh2 zX&wsxuY~|VZi~UxY9}vt#A{fEjGo)fT; zkn?)A?_YSG8}+aq?$LAMHQdhc`tTc{73>yQ#j^)n@z!fo-npkOdc+>)NPjxI@Npj= zSKjh$I>NP6Y!x>pjKw5WNF>qhf0rN`2KQZ(WLPwXZb9gXTt%_phbV-HMUo|FF;-hN zjhQCy6e_4N7a9`2BD6v+On!}|+Yh2GY)C(=xsx8uPO5AADbN&%du#hUYx7%_2W#?3 zfg+{LLmxziR7*VFnerK%ctwV{il{^}H0T*gA7AT)#q46{O}ydM$8)DkZ>k|_=AbjK zey;!^=oqCd&TqtkPd2zYFTVj6yWW8X z&|P0^s=u|4(F?Y)F&&IQZFmEqd*MF(+gQ~VsNw4_ANwS3^d?b6l`9rEibX4;o;FkF z#dyw{VvEZZ3T&_MQB&~A@!aXnHm;)`weXho_vY%Bu*;-fA8YB8=-NZC;&mhd{{jt-YOM0F&YD{^bmpkZs( zMx)-?0e$L*9F0cggL8kM3=2?z_zZl_Vmd$|9Xe>fY75b9C47nm#r+KQI^Ga;F%T2H z{Wl$n&qIPJB$vba?_hou*I?cEe*v2RDmG>R2|MN%i5Q;;^!?scc)ckY0~+Gas@S#X zs^bZ%-Opm1-1fd!mU$(L(W))p1-^}6jWdf?M3tmih_EbiReF>?)gOQCP>Xsppw z;c;(HNtwt*MVGhHuzy4Rg^qMud8buh6N@nt>eyT|^)KA3q{l^*hidLf!L($xNxSdK z!P9L-25(;Lb~%@vRFn>8(P`2fWF%QR-5ld`t_kRkw|T4pgeW8VLPAzKO`1rva+L8H zYe!fg7I-@qn&Fcpxs5(AYUsRs4-4J47r2<3jeE!AL8t*4< z)R}zzN+^U6SD8ZiWfd}W*i2{p*j*)ALyOL@b5$@##2dJ6Ld}dL#T|_;0dG32+;O~d z&=m>8osuiE`P0~LGL(R`)j?OJN0$}O6+s+U zdrWcGnx(>W$Te-6{Ww%LBrVArb%#q`Q8Ym?byfWyfPrti0D>eI*Hpwfiv8WKsNf=Y z{ZY8yE*X5YZwD<^n}GOHAN0N-!U606dD}{+-elQZ*FXJ zG5>at3m`I`inwC$h_tH~s3Hl2tZ-BrsD1jfe)4)w^$Pph(SPYb2v5QSw5&IA; zRTh;I_sZy)EWHNA{4-_yB9c}GA*CEG0YZu{OA;sX0j>p6t=N{z zwjh^H*|IoQ!6tmHx&}2PSVct2+U1jH(%eZDTdz_og9NulwzE{x)E9|U%@Wzdk<&H+ znpW<{Z$yUMcA`~N8i+CRm?|$LBJB$$A<94@dk_8Nei1{espV{++VbyD7JsLWYNb{` zYg$io;d3|Ro5H2BQ=;VS`_0B{Ump+$q>+y_`4-v_gzm?@srt3RLC8?Bwp-@g9) z>-^){R@f?T7oR+hy~A}kZEV87Cr`HVZ|UjdP5UqYD{aH?($h z-^5>vkg_xS?_cEK*VnJVzJC4n_3Op2U;lT=f9tipI~I-U^1rkN|Bv$j$>w(H(Nh$m zkhHb^RsR1G|2EczHRwelUg)S0q?BscpQ6`6&pg}`Vy(4^*RL`e0B}HeUs1or`(U7Q z{?fkir{_Hk0aM9TqYhAU|5Z80HTWoy%uLEzrlq z%h9agMfH1zt_xXI>YW(&9q-qLoX33%VtfzXnA_O+mx>0yYgv;E9F|F zKDP_#^Z5%tNctZ6Vj2wmHBFlsN%)m);F?zLxJqEF^j^KFoSoEK%V19h7b5gSx8Lgw zk*v(lblefc=HTeCa$*yXA1qI6nsZHQ{rY=a1^w3fygJD8KfY)lDGLz~b0$5nk-iBXHWq^UVIl@JR25_y{r`4vUwH$K> zHxY6-W1^5@kK`KR*KUV5!%ll$u=)s{M5~p&hazoA1)$ujAJ;1F(?;#M)f- zVfDXC>oWiV&EZuXL+&utW*iEmaace&a>oK@X&jQmqkh_4OvZsf7)@>#5%IWsTyMO# z*;VR$ASAAWZs6t8dUjGjdsQu4Q@(y&K20l(d5b6fXzUN$fOj|r#da`f#@A1)Cy08p z)u@(_4GOGVrXkTNA5`lniz$bjr^D$Y%Au#kNlQ|05j+^@CE(!@F9mM`t4_EWV54^O zqPaZ8WfBsF$S|Co-QnE9u`z!Xxa8zNP*5S zCV1BnrWX7SgAREDATD&Bpy#1$$+b5bB5y~*y(%BQ0OmU|U3pd6PU{F{QMpQN323*y zDZ7OF?RGZ1dKq-P{%|#yi-D*$YtL&(wbpCXA{%#VMOFK-(TZduMyQB%3uosAUXLQEU2Wc1w-+q4fqEW>S+=PaD82V`_F|^?(0Xiuk zSLeb&HCAp`F9VMSRRTmbHo}|1Inw+RIcHf6TjfRyl9wZZFh+t!DVPN3tZ|e8;}%_e zRc$nDauKU3`vYNAL@*fl{Q-=XHWF zJ-wvfkRrv_(XNT=hX#ebT8AL$#2=dMKx;S9RCm_FyLMCb8b!sum{}n!3Xdm1AOrH^ znb;J2&!{C70x;>j;xf3vi+PekF$Pey)(;7_`lIXlmG-!j(@)vM*$^o)w1^z3yigXF zPntC#yd?*n=?Vg{qJm}`F@ow~g5-*7iT;PFKjhOHz`9)fSv<;<`U(~s+tJ?yJ*wFz zcewglqf*U$BWCe5f7lIr7HB-)aluOqm_4^t_Xd$>pjxaMJ1yGG^b%e1kw4wWnxj5Q zwlD(ywBD@!+&*o+1dZ+h7VqQoNvl?Anx;|$abDxVxwk7GTG zBu9aB1kC{&#RXxG!+HAK?3z1}QfrkE-lmo-r;2an#QMTIxK;qO#w+mQTM_pf5 zC8UnMjsUy!XHnWLK8~PvP;UHGJ87RatL-P-?dLUoSD=1?WRS8Vt%N9PjByFlh@J;i zim~JIea}&^7y8pYqH#G2r)t3=>Bb>Sr--^eTWC|YT|Yc*R$JJfW8$DR;%;*EQ#mIJ z;q<2Oa}y4%BfQnh+q6lu7^zb`sr~HKp_EAJEfru@9&dI>uukLd3E0J89{GZ}vRD#5 z-F`w(UOu-Or#CS6d}oAN%xbR501w=fC?I zbDd;w-~8UsWYCn^k+0BX4#-hu%(wQybex1^+_*Gbm>|2P5q8ixhP7mJ6?8!NldI>B z*pDd7`sEr+0e~+m# zXZ}AbJ$e+G|4{tN*ZKd)jlU@1S(2Qayjvk}-NHo4&|w^EdR#aUW};QxDKESZ%wBEB z;+)P)do44;8z{InDa61Vf+9R2%}*Q!!`TM_`n-8SYLL`}#Au8MkyxJewNQ{nlTp?d z!4F2AsdXU2p+_`EO0fftb>fZ3sBy_n=rF?uz5+q|mUlG@x`G_!bPr-jF0wcMn>->* zU^}?WPQVO6@Dm>mdd7zOeLm~;fT~3yB&CVyKy0*(3w{3z z5RqL2a)D|m&2&Bo6z4aY3+U!0ZpL*d0q#QxXt{HVr;+pofFF7|BsGRRuDFwNQg^l8H1rby`|0!5s2cX^Vt;phiS6Q zv>741{*_bubNhlh?Py*YW++{t8CtneF|%yZn7>3OsMG_QGtC}#Y-lVqR2ySop=M zH+i2IE&qduE@5`N*wFs6bke?x*WSrv-9}0Sh zpm3GdCrII_H@!wVjVl1GOQTLe4tm{DXJ(Fw__}r$zHu5gIhr^*tO$64NSI zKXL_{*>n4cY2m|VO)dN~^K(bu}^61fddXlbNs z-4T$F+C?Q+A4ZbShkb;l8(-rBkUMe|QK$3HM^`>|i+N=@ng$&i_>j)@%t*_utRWjV zFoYEyfsMV1M@o4P<6?3IOSKn4JM31+DZDl+tW&&RkM;teNc5teRQ%R@SryItVe6-I zqbh1maoVWAsvT4h#A>+-->Z4?Q?2!~e%8WBnvL>F>$RvKit@>8@nh}eATO#vpEjz^ zrl>a%TJ8Ass8)q!c95=}yb#Z!>PfvNj?hyI;I``2ri6yqwgBF7wNZHqpJhH`r*S>3 zwN4Q7VZ9;B;}uziK6-nzC`n7 z`RIsd72fW`oga)AQG4;Sg_Sn|aIMu8&9hU)y3rKRtAJ+t`B9Y{g-%wE$~CY)56Z{o z7gg2EI&`2xB^g`s)5|I)LEB~ce?Dl0ZdK|htpCTA?S zVd$Eh*6R$X5mfxiWEklN$)!l6cnIP}s?x!=Tgo~bi6l$kq0Be(>-Tz;sNj3*kHW=~`6iTSsL)mQ3I=`e7 zo+vZ$wU}po-Z$b~fa<)Mj*5@Vr|rXX?FeSOJm|8I8cnXIk5wU?r45wzT%nZH2aCGx zRekGb)k=)q^I5ekSQmL#^%Q8g>tlcTym^4ftr7?H>O^0DQ%;+Nmrb- z@uK@~CPOoY%1uqtY^)-d&SiefP@qW{h}aVh>l4mqQV8m^>6kXu27VZ#<&QpjQ{bM7 zQW@T&LNdU8NSIgXDm|R`viKb3dtW6=`K~IE>JK87RintQ3{P*YdXv!%{knPzrd+rr zMIcShmy_1vQSHZSwglA6WuQ|B{`u_U6su)nQiM~|ki|NqlNVPW-R%?JSP^34PeH{q zZE+X#Le+qhL=~hlHgFtXBtkA0iwdM{WW^ir(zjjQA6{`HzL%KI!Y7da!k@yA?CMeN z`HQ3WLG}6B3-mmE@Brxt|BuD;VigAKd=&ba_3>jyMg7Z0hY|z(x=Dp+T_j7Jx(KX= z)qcyY0G>e6$u#SYRezzc^pax)Kn{zGxnQ%B5Jaz)Py9xUs%4FeL)Vp0gayo44bc|4wCstKv!kP3L0+7|PPo|xwngVs;O_9b*LhEiRYq5R;ZJpKT2mq; zZ$sB3O*N0nOD>D-hVwE~ufw?|p0tKZ5FpA+xqgkOsvg>G+3_@IPqGT_l;NVEC&P)X z)eB?}Fi&Ktt;uW*1{%!(_(UG8VFkjg2ezPg*65GuAmG;-0Ln|+fs&xwhw>|cJID)u zrWHpAzH#akJcOldV?8+@f?v1JQrSIGC{gHMQlap>3X`xw;aPP``9-;Ql9Tl%xu|6` zvM$m*Oh5WJhm+CZuq(T!5SLmL|CH#5(;|j{#d{HZVv}3yVL|G~gK+A$Zi*8Ua?Go+ zYThU&p^r$*E|%~88)z(wE0pG@_`pZ~Tc`Joca^X;&7ll{zp@`V+3wjan9Hn0_+5Th zCO#PI*_>5T<{XVi?`PwzT`iBu0v!m698F)JTi5>xuw-$$>@a3Ha9q0Ztk>10dtEEp z0HN8aGp61}D%z@FH89vg=p>-a%`3K35`+=o6Ba=~*<&loX-%rpV2tMb^cr`+Ll_ll zQbg7*JO;47Lm%yTRYn3Qe=87JolCPdGiMp=aMPh`8($by_6(S$Q}Xni&_NO(qtQ7O zS*DfR&iPJvr>B-q-XB2gA01i8onU7K|8~xyP`9W`A<&`Rg$cE1`bOz%rH3|*oP`bc6zoG_5&IM?t z1uOyz3XK#JbpyyIeE@;7awymn&}v}lw6F?YSj~$^vKiz(+YwHTpv*b^56kwT?MN=r z;T-;l^yqEjIy#)P)Kg+M3_ISiXWH8Nc60j!{AY{*Q~Y)Ytv|q49$+&Mu-t=QNv+8U z!Lna@Kb>wGQ;BRrb0+p{`$ z4QHrj^nH54-W!T>z=!Z2u;7%>s3}?n0YM9nPx4mr78|yRcMDcAbAt(VFEV#lR%mDy znYd6E((Yj*8DH6R`Z||iUHagiZ)~y*@>kDiMnY^)0fZ{+zf{0o!k?A z?koE$pqD%bmMk99LuG%Go_zsUz_=KZ$N%;xBOH5qP>CCz z1(MPDfcngAXF4*vf=Kg47F7(nL;e=mUI?8azXuo`-t?hf$qsrKFffECRH74L@+nc( zFVSd0DM0ah)fI>ln@>zNFrm!ZDGFz{BXXK{v@0U+DU%vq{&TiKCPer}xHeP5k;+JK zPy~Z6s7XZCyttqbq9F=nmPS{|Osx5>Oi*(oxLK~QDpD2F;g#Zdh3vG6YM-n1LnNn#-hgCHaq3TWvbZYF>v$VxqW76FdFcC5K8oX%-Ubs=vIvfd*c6P zo9)`qXU)b({QIJDN`LFEmwMkPmDx#I2h-lA9UA%68B(Em2Dl0jmajITe7)6f)a$KX z`Ic7%kir>K5N+&f!g}l0*~AS;+J(YqcWCyZI!A9GErc)oD{YsGZ5k=5ja2hLV0bc; zjwGc0*rMgyGe9EZw$GvrKc$mp)&e>K1`G{`>9F#$AwDX3M(phN;`6wW1l?ll=){B5x>GMzt-+SOlXiHNw#4H$$Gg*}IDgISN?|Tj2w|1p5Vn zEihry?1W?TYKYhd+<4qhAdOln@}&JcD!*-QyOx4x9ENQ8#_hcFs?cZ1O8Ltx>nA3B+e#+GV==G zYF2?qQ0U{q0zbuk2qo}{l_G4=S;sUu59sa=Z4T(u4EBp~CAIK?k~Ka}m=Yhx;VHE$BrE4^(4GD$^!a=wWP6@iiWDwweHW2DkphL1mOH7vZ9#|3B4aNn*j1o5PpoIp z#1o72I1za&sm;%!*c|#SMGS0aNorWcaMndb6uh>5hb)ln9d{ePNcNn&1+OGJ)Xk?C zAB}5@MfE(XkAYa`)5*vVG@o3XER{}NWt$@88GEPd+=4@Hxr&5(4e>#GfB+nYVSs1< z%-dNo+WCS9=sQ0%(f9@dACkK}&g!sS?=e$AuGx6p53Gat&~t@#j@B#YyXQzR0h?io#3`zvG~e^?xi$;WNFl8?I-q;nVrgnwEW)c;ZF~}2%WNY*r8cMq1{Iqt zFCylN?C_3g`t$;_JhP)CeY1}UC8W&9%xnOdU`x9qfX1lJhwczU&clbaoW$48fYwfl z`AQl-b`{wPG}#CtT5MKqGfY{Tu*&}A>pO!}c}2Wb+?Lll@r%!Q>A;^yOda&f2P@hB zCXEZsb~M>wGJy52;-2YaVDgwir>hlZo70c*s)+V*H)!(-2(P4(9O~Ad*pB3MbsZQm z)EN#&cqH9HH;5?wu7;9cR@&>pTQzlPZ5Djo=DEsAbw$RO^7`XT5A~ImC`WG^4Pzy_ zi!1T|Imu4vBzwluUPyFUx`~(GrF@a6q56 zZ^Jc`hmiPp{LhY9MYVX+2vIFAmV6r$k|{ev!Zs+G|0TLwjjRkZjf&pjF-~GtX(s! z&Zf0(rkGMT1Eq0J&@xLaoOCY6m8eikT8u1rJ_NulfSr^Hh0;3!y7qQ+4abCtC8zYB z7~}C9D%;q3Tw?LhJt!^KcE!Vo=zY(lyesDeI^>JrNZpY8;UQhHWtD?wF~L;LX&#mH zNYPqNAcRC~Is=gCsUZMBh{Rm%GcwB+VRG;i(xTlz&0 z>BT{t5Ei?QgB0I@e6{Dud-UD7_Yow-osZ@zI&|Z4;`jUs?zj>FX~N>UhGn=W+VkRn zr5__6B2uv7-(4xHO{s@rly%gp4C5ErUR)fr%hD=x2*}xz)|<9iDnaXrncMN(H(2v0 zF#BmEjcZAzIJOJBo3xK&*ob!z4F2}c$bUO)EmF$WW=>v6V&{e2FGDuqov+__lj#p& zP|apbFlvIvEbr==^9j16N8@*oZ^9%TnM0CRXk(}8c+i8cQ?ouVdmyf-e3Jol>^%uC zWX=!ffyx@~&eqW0z>jy*Ue-;x;NPx-{klpT8^PFh&*Dn9=3~sxQ0i@bdCI7KvRm+#y%9OtAWWjis&c@2@N84UU39F$uka=5_+GsWn00S?CcBxBZ7t`ba2s@| z`m@3E)N(`{s-sT$f9n*^=++=jB35EVuw04ph$dL{H39ojFJ&g;WknW&GW;NeQl7ov zUSS--YYer5uan6bVMDMlhBJ!UrS4lP6v&=ZNA>nKNrimG#&qV~l^%UV-%PaZF%OY&sus?{wrfT2EG zFFaGpypJpIc7~Dk-B@YbcS$IX>9NvdG?O?6m{Z!M>ng}H?LH`Y_I=gRq&o$L`)?14 z)}4*Bq04&Aa!F8Cx>IltRGW2~WfP&wbf@4vsLc8ntN+go&(*9gta%bdUTW<|m9m&& zVM!&=+S;>NP2O_T&-~CUg7V>l^{C*^nFc`P^hHyKdbQ^RdV46PNn8b-wI080{h;0Q(h@Sq6FxC13zy-6Of_4kbY*D5TregubsG1iVn7l&}Un8vDvxHM{-H@{z ziIW6Y4<{{pLp@eOJQO9%xl8A(xoiVe(>W2K77A$qChjmIN%SVAMALjS~3n%GKtbp0$OCM9=B)y3h zmR%$tTk?fZzRP=G&2%+m; zPUv+lVd+%t%6&*E2({NC7%^kCWQNnICY8LV*h|V>b!?6!3B5u#mBF*2jef{Wk`iwA znnZ!S#U*KC2XVIO}#*2!uj_wV7H`Rce_*Wc~v{c+Ie!#u>NpKOM11OHSQ7DN( z!%?iq22$)F?_-fZAS1sGNzwg*cZ8o=Z&@YcQzCr4F2xwOhrt$N}TCSjjRZ7-*q74{CZv-U_0+6%=6h_Iotlr1-f#i8FQ z(8hu-Cqf~{nHFIq zI|hn<)S^#WM#H&rP!@+=lxn0UKy04V+@$suQyD7CO-7*Fyfo){a4~y1{J{%gmI3i3 zcS{hn&~8hg?*Fh9Sj0HZ2;<0G6!xW{l;AnmB?0du=;#h}d|F7s#Zu5OyUQ5H9&+$c zw9lBPP+q5s))kleynkGNQL8`?2t+Qi3mPJpDbmMoYOl&rCcRsq(J8^N10QywDXB$#kenx0yC$b-z;vqCL)05b(8Dc+-^TZy1!(Y=4%%Yu1$ zt7*>9pn|!^TTHa$dwCP$6G!UN;vz?nr(Gz(%%gz*Y@}ff8Z`%DX{7U8f{WL|iXeOW5-Y? z#$}^${_^c^W&QEvSvD}KW6L+B@p>rlQnKPB9s6!Di=s8jr>K~gDndTdfCmh)wYMje z#piMd)c{!>O9r4`U_3FL~T*G_+5fGjI5j z2n57OWcfIf1U)k1*OOrCOQymFP^1mR@o}vV)B6Gpa0$vDjCgMTi^n7d+}uHN>MS)R zjp~b9vsG<0i?RI}WumTlTlLMk~p=pCE5<{Utd4o;vsJqLjoU|pL6)SBVP z^o}=Q9y{Al6xIr#yFiFi6cGtDX(?c>YEFSt&Nzra=#1|vMx$Xv38}~$ktFGj5paAA z$0l2Wchf-X&$J@Vath(8lRk^|bP93|;6}qf!A$Y~`4Y{nd~g5@-|6yd8T2bfCo6Zm z$Ci1Eg}HkeOHMx4jj9`x7ipYlReao13q@Yul9B0$B=bq~N1(0qFIzPLv`AwZM-_vC zjt33Dijq5V^NW6&92#{#NP}M{ofwPK&AmoU=M{dDKf(xU{C4?Nwpl=v|E4 zk`v`0`36$?#i{UMuF^(z#8``=r+2-(uHm-q?aL(L;PNZ1B_l?PjZa z@6LRct7ds*o~vxclo$0q3+u(^pdv2tze0NM9B}$#&+cPy^4_6&cQnHZ0V=!xeHmO_ zMhS^KZ|$jksv#i`U=XD(1@B+nvD(RDUGA3}a`^MD9 zO(%J{qKoEoPTME-FuOb>gP)S*ejVWe|! zFsV}N3P4-UmVo|JA+Ma_?4rbK^dGmJ@?crGkCtKyT3c$Ch8L5{<4FJ`81!%0IOT({ z^V!9P+`s#Qz6FQfON)F7w9WaW={(9?zgI*n^Y3L(7D6X%JdoJI^MOQ2%2 z&f#)Rf@Nj!rt3V2*N#4Ge}7KQe}t(nn8qq=Qd83l-KqyjAeL>#H59h6H}AN5w5IL5OoerG`2`Ll2?7`2~3)+xT#1L$ZpzE znq#lRjPYG{s0#~Y_})6YmiGsKutRnw=pRmXC>aHJ;ZIdkHYW=DH3=F~Fp}u+Ll=vj zcp(0tlcILy)wu1kMTX>(?|I>k8Vt=?EgyWOUq3Z!t!kbgyKBBIH}IKEq@lFyj0iL^ z_pF!kZXxZ?hG_On{t4x?u+o!LjbQZBfNE3!bx(HhVu~Cuvn{&}7vGwRXTvxf6Opop zJ5|qJ{*7PiXiI3ixOoPOjV0^7HabJ4goIPnM8)0(;V7oRzs_$-bGnFa^nD$O^b3^x zScIgxYHhM=zl_o{Gm3i3WC{0eO$C~MD=fiV$?AQroYD1zY&Ls%hI0N%sw z=#GaiyY5koadBwsS)xG~{Ty)^!#OGq4fH#fhNdrbrD0;17fM45_*`iibU#S3ru!+A zQ=}6;$P}+Y$thJxQ&FZ+VhN+`IY4Eyq;leb#3Wu!TZ`=y+u9n)Jw@Ah` z>|&{8oF5sMyl|6=1>9E*>>-oPx*N-&VT`NX_QSs*#zEb0HD0f*l%DAEZTRE|Y_DCn zvR>tOhxk1dXZ3PWY#T{k5^Hw{mUyS(fA9NaC=!M!0Or!3hKJ zLok>Pti3(x&?Jy+hhi065-lqeJ{$h8d>@K;f2=hGaKsmZ2A)|YCU|@qSjHpd7CZ9c zShKewfgw{-)~+ra`onJ9C}DP4lNBj0SN5dhW|K>oMj;s{1E(xg+#GAfid&}~SW>2I z#I2G}R=kEeP>t0v=PY&w)!Bp!Zf9*UVR{QzFD@n?IsjX}*i3!BR=DdV@Cm*d2uvG& z#+Du&be=M!=V~ztL+)W`p0VVn_o_lfJcVn@ebqK0NcS1W_4ylde z()X@zu6??hg?C`CF-jtOHr#SEof%*Ljh})_hb?rp>N=stL%iiBeJ*tS*XpXI(o2m; zL>P}})4%p^LXuX?Xt?@vb(k)bu>TREgyP6o`{9Nij_Q>k9chHwRGmVqkYwu3&=b$= z{5nJT6-Nl+T@)znY->%wA=JL$6~^&_Hj?N-7<4v{Lfjf+N@MhTDf!>y38Cnhev14mkV&AGK*le z%ST7K1u(EoGMty?qZZ}@&egMOGnWJ>Qf3aI%2{I}AX7#TxD-Jtx;=IRgcdOa7zXL? z6b&D^MxJBbtuXi_x0Mr*xXw<@RCO*dP~=Q01dNI5N`Q!t*IsK~9m=2`-~7*5JQU`2S6JeyD-{O z63Q&})NInL7Om0zjwCENOLWAvA6;waU0V97)~dW**vqsFuiOghuuJH>COJjxjrP*S za8}csUM-qjAs68-7ioTgZKftQzZ>F{qc&K6L%iHFy~bCSXksxmwQokxgkc#~TgG&u zAg>g{F$h`d52o4)l>$A>s|pNGi=!+D!x;nEAY@U3QQFxkQ@WQLU7D*dAmv0Jbag}q zmJfQP59){4>~;<_@Z7)j`aLqWu5qs&BgcepeCb;=imkk26uaurt@bG_Le<7AI#0&h zuKF4)H6Pg4LH*?D^;}3?WbvMS{ou1W_rC?mSKU__L%1kLAI{yQVO% zb|<vYUaX*tf zb2jc;V`KTur1U2*gPJ>;>`!wu#$t3w$+(sU>`ttz@l_Z+y>_mi6B3F({1v-|KDOcj z@<%e2WS)Eu&fG_m>3|F*!+)JrI#1sdS=S{F|C4jma#(V)yU*F_LAg~`VLEgRLNYPp$0OWC{I(NaRZJuOw>4x}SK zNPVll0j%KE{Ldh7^`!j#sJirGk5{0mCn*<1FUHlOv#z)@iJtMc!#zlFcqK7*AyHjN zEDrdokO4hRvcv#$pYZ14ZAP~&l}G4l=W;fDkK%~N>-Ns$bTDeJ8%uwOi0A81^8PW6 z3`bcj_Q>KoFBTZuYFunn7=H&Jd=2z{kz>Xc_(_sOFM|hfBZQrS6(9 z$DQZ5wii^#<}g|!gFFv_M*les;)eGz*Tm)eP?I4x_Plm-a61-5Hy{*< zX*`DGH2=DgD=*_W$*pESgZ0i;5D7Pi!~%{)I^32c&xYs!Sv>h4!BJ-?2|N|OxOz*T zVoKjia(y=cEMOGw-fdY0Lr;r@$Ia-Bq+BT^1B;zyt|`D{KB73Eh%E2 z$a3BZu!o->Pf8to8MO8oJDYHwKmlk^6D~+CaXU((kGGEIk7z*QBqHx*%o$^f*!#s} zoB-udnbv>A5c6ZG|2adKXdK{fRP?aA+fSV?$?RwB5n@8DRex2a#R_ z{nJMg&BE)1fz&QaU?6sZP`x9qi&}}nq(}ztyo$@)umSpPx zwMUGfrTLRbj7P-rn(TN}pxz4)&$t(#7A)HT4;fthg5W`!@FLoy@It$E>&*&@YIu>f z??2C7^o8Ex2e6C$Q2_ixhgh2&x7k`=w&Sv!x80_Jj>-+@)P5#8KK$ebQ*si0_57%O z^5d;`@UG7L@#hww_q}1{(#oH|MfX#=)@pMP6Heuk28_2omYhP*^`7@lBqw_IW*Q89 ze5ad!jAqlk=*%Y0wOr$Cf*z7|`-TL^z|U6bI@fXiq~5BZP;h?<#qzJhdKdu;?`rhM z69C%FhSM$#W?rm1;N*+f^B&H-7~$*Zv#A|{L^fHRUbREN^YEd4^HjQv+V^~&QauOyw(Y6&MNGt8&CL_Bf5MwPb1gX?-Nw-j^7G3|&f9{U zj(da6AfCIQzhvlQa-oh@&y|%{<=dQYs#fGRp|Oen(@xM35Q}Pngoi>3@@f=cw zT{O1M5U9p0LyZu$w{xg>cSfO~WtV~e>cu3xG!J1Q7ID;TLkvN6o8`wQ^de7h8V^sk z5@wDI#D`R8-uqrRGCjN|+4%3%c1&;j!hm5pqo^2K$tn?Yw?VJtzBM2ynmY_U9_7%7 z<=Mt@aJC4$e^s$zxifjnyDL>HxgaOsZCZtH{>`-u;*9?-&}#6KxE)WCY+lO-o*_P~ zr|DGfP^fE}?~@rrci}KciKuan2cy9VgcvwkAVWVpb@|F=yBOG&XFw^Z8R(Mujt7)> zlR@sc2qJ5J{YTxf6Uwn5o;xy^3c!JA@s@M|tk#eghy}wZieLHXTa1n~NsAV|?@+DM z%GKw`yN_P4S#O)!oh4gV^s9-BXMq>#j1+mKtpy^-4JQy2jsx`NK(^243T2bt&@R~7 zxjctOYksQ0K$5_K(st=^CB)MIlHm>J#m=o3-TV6WX9wGaER<{7jiJ+w`~lqk;W|uB zq#rg^z#TIp=mUJ~;>R=Sr_MgePr-P9U83e~zP+cX*eBqa7Ye1lb@--x>$#8pkzgcq zxt)kvprTj0Eec^~q%91zi9$jnbF%U&EQ-#&9X3+`O5dZ7Hy+K#SBzf6w<|ubPuBE+ zGF07{_t$Pcy=Yc=Z&ynAlls_D)?*7}%zp_8_w+g3N)Z-e7#gy^=BJ%Z9IVE3nkK16 z+*r1*J?ft+-x~ytcY=X#QPQOAd{KF^MSEj7*DTk~#P~!YVAVX^t#82r%i0 zDii#LJ=3>Xcdaf~j|nx`<8CeqIn%KX8>#Mp$Q{rhABgr}Zuz@RD@JKW<7u6vEI+g} z^;Qece8MkIMRKM!3#D}*!e~4>&C@UQmtu{}C!Luk0`f5FeJC_5GrnS0a`L^CCAx4q zKdTGvq2|34I9<>+xo3%I>wr2u3rCw)sb{L}Tvo4}UUqY4P2m(+OumzOM9z$SyxGEf z-qOn7IN(&b(=cXZKiH z_ez4$>d-%&skOLY>9S!LX{Eiwd|89*D7Gtlor z0ix*!*|lt{0EB0h5h3Gi3vCA%wynDx75Y}7lqVIm>2y=#rYj#nU$wC9fF$O+!q9Da zQ-gG?eYIBCX>4smt2!)D$=n&2D{pn~xae|J2_e=PcKhhB=!DP4^Rf?^X_+AEHfAKh zE{mVc9v>X;?rh%M+FJ91H2l`_Jc08Dx6ePK`p&QWp~#-iESwfB51*60zuTMr4ZbUr zKktU_Xery8eY7OW#sJ96RapYnXu4gRK+l z6~wVviV^0)*&0>dkSFHUNmCY>M18B0(jdT|7S1J{AW_bZ{4nT(gtkQe$^0BinfWP< zj`!6$D%q+g2qffKL-K?wIs}qci%bwoM64-=3l2roLoJ}NMpdRr*DN_KUAA|yAmQ>_ zVX$ys9VmtKPiqh>{(PHdAXlRL);vk{M>$f|q-2(X2>~Pb(BxzXQqb zIc1D#+zx!RJc_fDId$HL)QSVXrwHtbvyBD*i!tWkL#=h2*xg0Zb~F$i)&L4C!F*Wu zmIwxdnH+oWKLURWF|n_JDT@L>Qd&1HIgJ(@$Lq z)%giJy#?oW1=e#F@T3nl^tM2!#MJR`U^gZg?J0ur{SB%)pTa8axagH`rsWK*lw#TN z<_CgxTl{O@n5J91lO&cn-N(X;N^tShdg7$xNxkE76t)A6_(L6du_WTHOAD&=dLTo6H*TLkC|LlrT z^QflN{q8o8CzM?GY@rTqkq&=vZD8l*@_ChIkw#TszKdTZz!Bl5#6{(56h-W{iNVgg#Ct=Q&++th-Q4(wp>Oe_2lf`qT0Z&ymJ2w;U%o z-Z|rlq&WuKRT&WJd!gFviPrNiw6k8t8M*-7%8>?;(tVtgZURQ~ZH4{Qq~1>-^yxoVAZyS=YoBLE_<<=kD&1Hby2?wq1NYylVU1T@59~`h6<0W`UhWe5dr^xyg z4UJ8cFT7(Q-qNe-jsqjz06#xb-SW0gMT572$K)Lekpxm-!Be-vNw=A)`@O9m1THPj zBR>E+zop@#YTvMij~C=!{2%*oy~|2{zBD)O?=~OzS(FlT%s05!PGKURv$36A@1{x6 zMBSBc>G{UzEyj?z6utud@mX@QMmANUn|$;JLMSjUi9BXH zG>Vo(-N5|pdkGA<@bF(3-%}7&?^~}{b5Of-eUC_SKaJXI>M8E}vghC`%>!wT@WMt2 z`|05ncpfq_qm7Y>Ok{ZK3_6Qm#O#L}7-`e`)%Gpr*qzjhhOxO~6A|F>?hk|)se1^m zI9}7-I_IehMG3%hZMhPXMd)i27Z)IG08WfDN z?0B}!Y)eD>0MA$Mzs5q4H%V*jPI&k1&;1n#nLSKDK9yu`A1qo+p)7Q`a-(DB-dg_P zG4B>Y!f5Khp>0&EFs^JnNv)l(0V8=`6nV#}TkmBdGr1qAfwTeo zAxLWX<}0K;GMoa{!AAT?L}v^#y#w9dkQ_uS;#Ud?aEmL4!GBgaVBzg_(_PbE(%SRr!>M%A!2-!xQd=ygNpr7Nh3LcM& zzs)8dwrB#R)JpDS9pHPh@76%b^2NIw^2 zeq6!-w6WGJn}TM9i%SV`ujXWQGSI35W2dbWf{QkUe#j>)Yrz=B{lQzjNX(jNTj-)I zZX$00_UMcL1kiDRI*%Z@k%(`?x;5m&EG&(giQ+NJzISW}s~y*Xs={O&n((|;7M#{u zG+^(6RXdAGMm6}uZ$$30$;d@BK<)wqt^fyw?uc%=g|PfONSz8xb|7y~o&@lS?aj>f zF!c*$DEuc(2VJ}ZJM4pB=YQ7*bV?&3Xo`9cT=qnyra**M@tB@bmX1}!MmOqNq1w46 z4vcU|?lv!4&h??6Tv z*0b>^L;k%hD0oW=-mq2YWdke`AC66l8`xe%Tf29TWbr$4Jh7s!%R-H$XR0*Ir=pkAvka{{GcBF)e`z$l6!MNWcti* zIA<1Yl`X{X_V5Y%?YO(TduQ7D?a^^90TbS+9aHlHnXM4X8{&kwk=gSrFuq{)Eso3? zgK8hbym^>XAAQ;oixp*0GjY$|U`?-%w$j?*-O!-!Tr;s=2^*EG`hVl}gH*R_9UjVd z3GO>uD)pY}Cwo7Q(Fn=SHx&AS&B?T;pMMWvEt)5tvUY53{Z@ZxH2+O#{;_Dq*!b|t z6My)JJ_E*F0po1q(0Oc}UHJydRX_eEjR3kOtX2YnYvy{dw=&s7wP^RXB2VO@8dYSC zKuOe>Yfv|Scz<4)lTO>18X7lecqZ%4jC3YM3DcVY;ptT zDTLPu=YMwkO3{^SE6K{NUu9GLdnIg;-vxw}Xhk#@ML_b7t7L0TQV%qqZYiM3kn9K!J|QG4FW*T+SG1s-AVSf5SdpPJqcwaO`U?pTPoX}uVS zW`ICXmMSQ)oD~IBg&V~Xo}yXlQ=8I&K?ZwR{{lFYXwAOK7@OU#4ng^Z=Io{g*EfGl z!R2?kFXrk*$H%{U}0nO*uezxAhX zuM;#NTyDU!D;w<3=L6wa`9Fa5SLCuwW$ouW)eWH*=(J7e`j7)kjO`wpCA2u-P~;;|ecuXVQ18V1^Ou$fbaD=`|i-UquLGKe{xMiTuX-o5>6<(9`xPcu_K?Z@GMNYTZnM zZw4Lp;g$q8+Ur1hc*@I~fCOoBre%rD+6)UFhtZc9k$T9QUN3n`({V`x!jV#_RVP~H z`=ZZ!4gT1vzTX}^6Zy0erAkhm42t3Kli30^bPS);e-HzpGOBY&uXL|xD=`62Ye>crhHEqpQjtFq|AXjL!R!qApM4p^f9*8pvBxX)j#AAW$51aDDg(7DuV zE}_1MWFJuu$_Ul*$5~(3;H^>}@b+@_cAI0Ev{YP`bJu|ssMZTkiJkmUqOS_4jRULZB zoY}Q+=*bu{kJZep`?p$dXBF}&jt)XCd9i26j%$JPE{F`x*cy7;2n&YAxrc08xaIw7 z+E_awPPZ6#^(l*Vo>~a$WG5voz243VhTAj-2PjoX(!7zj)#Qn*D99S3veu>QJ=vW~ z*OabuosawrxTyKjG&XVKunZ4CpyfE4tO!ZN#6k?soLK8na@*9TO4KJn(H;pIO5Y4# z2+C(KcI-GYWbI>HZx|qafd%>P>ig+Yu>G~%giVF637xk5D~Dn>(PKX20y{H9kK6^4 zKAg7Xmde_hBy-k=7leI961k=7S=6ld1pc`4=TI2aDT~KoR?kEYKm}4&*2Q*y9i6|t zP)6bOQM=dbJL$^B;9KFh^GWB@;ozI@K%&cN6qu3`Qj71z$}HxGhFO@leylqp(Z`98 z!>qU-w*;a=qp1smUx}=Fld)9?q=i?6WsnyfQ5+JVUf()8 zRi9=S&uVyrdLj+;($wioj{Q_Ld#GxDBqT4))^#&sY@bTN_S}@skJct}t(q+xC|{Q9 zpsxLj0vTr0JSTL>RqCKv#7`%-&D@cPja*tAM1oQSh&=r$Y<5bHnG| z3?Dvn#Nyok;YZEC?D)lns?7iwx%qM5aUD*f;3me; zYx$zb+bzgNblQd39Xrid-4{GiyLbP0dPd>Rec$~^sU=;3pIG=QP`(clGbi-|{q3{2tY}Hkr z*9?+uo-C(XC-NnqETN=g%c857IM}sRE1K zhpRjx22dOEbaii8J;9tFm1GZYEO*kyb{6@688^Zn@yZW>X*3|P)*{wnN- zqvdobG5NtV>9agpxIWsMd!)3k&hm#gu= zE;5^^)S5q_r@=siMlbOr+3(j+-oCs4K->@|Ou3)wD0FV_8iv=m>k~oOd4c+MLdSn% zwD;N45??W|3G2>2tZuelNZ}{%&%q=JQ%&fju0jms7M3U~!2oIqC*f}G$IfE_vPGLY z5)|;lu^|J9qNbM7jViRQ_cL@oh7uU`_(^I{3#qKqbt&1y&uE(U4lg06KcHr|%47r) zy093dzFs(3P|G3JGiS|;8U@$cdt^QNYrX=(JVh<{yi+Ph!u1Tm7yMrHKi zY$$3S#`GCuX20P1xwMgM{Eb+YxjiA$TC9-Og|xj0+oR)^IEk^1e1n&|Fg=6vjp}{G zRYr>JIq?egpw#IF^v3=0cbMV)SN%OR_NxK&X%MglV7qq5XCP;-$%x_Wu}Jyj3=#KV zVou|cP?&N;#mSX|UQJIAL}S_71js!n2m8OeBl<*3nTS7O!A#ih>#z$_YM9yc=S3C?7N=V+{~QK*BKrJ$fIl%5gQhq|g}9M+?ks2$lmraH?U^yi`-DCKtw2^C|ERyQchkW6XmI?% zG>ebjeA}TQWjLw+(__N$_+Mo6xsZD=J$p%oYP`{m0J7lx7mxuJ67x1k8oZQ-jW+Ie zAi$7MYM-Aix6WQ`J3dNlKGm)5QRD6e&$L&#i@GFJ9{<^RUZdDR+L?A0`y1i9sJ@ek^lOrAmegXZq1I z;Q+-tUwARj!!0~Jz*Y}bh(hU*N*Ld4T5);mV%!e+o)ZCQc!4FiK$kQz_Gk52pA%k_ zu$oq@krTY0k!(LjT4uBPoA^o;x4s3H(qf?9-YZE-aO$QR*er6 zzA3|R8{ahGSAF=A+0S@u_yUKIs3=z8P|TZUJcyyinLatNNfx}jbWCIaf(sOd1{-ER zHx9zUEWkB*Bt%VcTKr@YW&J^5Yi^}`?*5tG^(X=90l~hamdcPHF#SUBdC0kdrOA}< z`qjZSwIL+HOr_V|{|xkTlUU`>@Gr_8EjvwqXedq#pYFA&WmFt4{EHw-V*%xDNODSi zV7TJ=Bfa8qrlvSO+xdPqt!QP-aoBB!%w?uyIfQ$EqN`@lnCvkzd&5{G1? zW>9yq5BoOdC`-qEKv%7f-Hen8tNddk0dvP{VuLVj#d6GVp?KT|9H6%<&&pdzaV??9ubMfQ5Qaye6w;c^q4`|Y zB)1=S7fhFr%_?I`@=$F7msuRIM!`B6Ulv22$}D6VI*ccci?2Wm)Zoq;%f3;Mh^U6C z0CsS>v=k2zqo&G`)W=~+-p@k)+@eB*Xho5mTw7om5C%^iC>$bEObjomiY`ECTu7#w zUDhYifP>%##(ZMQK$C&9yrlL)lR<+%IZH?HLc*kf-BbLe7rT_bM}7OMGR7tqn?p-XbE^sN z61sS(MeI$DsBZycAxNNrs$~KfU;y+71|9UZ@$PC>W%OQ}St@9acZSzVtR>-B z$}6Ft@P@F(=cmW%N4b#+7^#5bjY16dtfqPJR+D4^PJ;x zN*MLhdq@qg;uBpR3StKqV{-m1(-Jel+2=HG$f;`TR&$}v*b)gAE0yjEts9ObM&iUI zYp>H10V5o(V}OPn?d4DIssHJMFS#VVQC&JZPOP-ndT{`j&$8LWp7OH*XO}#P6TnDA znbWEUs@sTsw>^e_;^S>@V}_pv{mv_?A&)D1-$|;us(atTzxb&D!{y;uixarR>P_4T zZbnz`zNV_?AXwW%b{N@va3{g#?Lp7lxw7_YQSy9T+Iy(_ej9o(d%d8@->(9D-zf@+ z3+mIAHoZKcr28!3yJHAfdVVdxCmLy4;}NJe)j3OUd72R`5v(wOVY)U5 zpN}~JPIHlsE!aD%ULp2tt#A}wKoRigrGpc4J~L>8c!qFpG`AmF z#x%RCgz{#+@akMA2=oN8nVD@Z!Yw~%TMamaFy@>Lrrh^a79nT!hOrU7CIH4KlSq4q zL*C6!RR#&6K^_OZndaApH|-56S1!V*BP8(oC3X&l#NmzaneT4w0U*F&Qe4KUmClbu z558nwzAU$W`d;8FL&2J@6->B;4yi&nEC}a1qYH9y>+R>X3~hVx7Wb3WJoJhmeGi!f zEtnx}j|<#%Bs$Czx95TJ!lbfmR=Jw8eHT-xR;_!WpE*>TDuxUL4dlO!{>PG@q=SDF9$;es!txnP=mh&+u2KcC?Fy3RnpgLm?GP+&|U-IxOg;L!c z>mFa4Kn18c>kyQ9?p5*lrCQL`Y;j7@arFk`fyo={%TJLV`d!UM#WFkN3{V93fcjPZ zhfWwi{bU9>(;#Jmx$pyUkq09uuP$UCzX-ECokmiwQOkd_z>hb>BMF;iHWdYV!{gVA zvxi8~(q(}Nb>x+-_(qZ8o|xm=$cttnE0*&DoF@vmXbaLbu3I-+ii)DLhoQ`J2}0xj z4ZyGXnKXW6jzZXVdqw z_;KqvY2*@kPN-g85L*L8=@4kXyuc+E-_{`0?RDX{WQgoc-OjJ&sp;`eoiDKB>9AuY zE|*SN^MgQ~peNJRc>o(rpsY(maL%r#&{gA*Rt3%Xno3Xw!mK?5vZ>vl(la*fjRG&4 zuvr-fg2WO0Sh1Q$UGO*sm8WI+(oVnIAPN*jVj^H$_;$!O#iy%Pt+CP_5%Ld+sJK3EHy29^&#~ zh?P!c2~yjxOvPn4B8!^*)E)ISE%8z9iFV~M!#5X@KQ}(#b<0D1$De)|XGK@5-#0}y zbss%?Ge14oJ-$3YKc3$|E-z2EGe5*9bN_4;or!Whajr;7;S!Pjwn%k+0FZwq-N(Sk zkX68fMKv**Q1tA9$$O6pE}{BGaq;W$Np z6tMTGF6A!MUsiz+ypRvxy?KtmDoy`)&3|v##w_nU0~6M&Ve73mldrxDXGiOxQ$}8( zFW)T~P!FRf^goAS@LaA@^225f{VV}+;Tm4Upol2>TrVH)zRO57h=p04HT5#V^S{Sq zNjFe(xx8&fGG1NGzy4wTrA*qkKXG0Ux+53wSy^Icu9yU%yuj2iH*9QP+a6;#?Iv*8 zOXmToP=yCxaYZJv6MQXk`kXicwJM&5C!=3aWWE0DIaBk;2P3+WmgFd$<*KolT?$XG zEA5eO{@8DjPnP7(s;RNan^!+g^040b2tmj`-(zd4QI!2tMd$XMZ4xfXCL-=3z+Ix^ zImg&-)pi!#?jk!q_bSC#5P|AyvMFpOZcRddM>0UT%jMJumj_*ZDwOogM|Hww%Gt2& zn8zQ*we};lyubQ&g-6Jb(;?+{MmSPql}}eeueGW+G#2NHu6kEz4$GF{FoT9W$wmqHKW<@Ozr1LP%T3a=T!2HXxe=l0GG0VUh4DgzbTxSpG~t+I z%J%T4=ZrgHZAWVRz(XeK$Up`E)D>RZ4HtJN88aM?P%}m*)?MJ8A(@t8pO#L%6MI}N zz*-gVvrW;3QCM+Dz7QV9|SdOD9dv+MPCS zDQq|0f(B1R zYyYyALcgM=1!5wgDjqeth>x5?4Csb_;QfK)^99MkZE&wTqY%xe{HN%ZVfr4EL&7h)~1kW{n zDFS6lk5h3Gf27@wM#SLN1%zU)Ke8YiQmPPoDDV|kQUZnhE+}f^VU8qQOtRsEC_$Rx zSZ$+}ne>)tv-rNei{prL?*#{^{Bz^DjD!#frGTwCCbP%g-#JV|^WwTSwNwN|XA~EK zXBElnub+iA?kT4nXrIHL<{A~yF9)bWt|K;m)%!$!opV1n$j4BF{4;hTE_vUT1`j(+ z?k=5!bHP-Mnp?r|?Jq~(7?Z>Xsat&}0uSb_J2PjahE75TC0KN9NRt_4fDX?~jkAay z^5W?1nk5Mt7?I;5oZ6$;?AOFtRe^e!q^8!sLnMikhSE9+Wq*1Gcw=9B(P5DjAL#e- z*644#V}AC2(ijEZ&IOc?K&Y+~m?@=xp=VjW73kk%fFc^ZUs};Z%*yB8@uu?w%#a`X zO{e6Du}IrkcnJy2i4R!KF{yy6tR$xR_Wdsl{d}m-t^a<2S`-J86>vm%mGF*ggF^#($$bX>l>Ni!VPA(llyvp6UdTG6gX~}k;E42-hqGv zIZc_C$&Y8{Q1~a$NFDd5{G~@St3)i0;d>zIsw^ujE}vxR$Mf^>m(_uP^7D}jSDZ69 za+pSd=+m9|i-;FxL&m2kn%5#fuK+m;d{{0La=e4T`8w6+#+M281;@4jruA)oe*b!i zc-hXo)Pw2Fx5JM=AYLlm^x(tMdHK2q<@1q&BMkd)TV3Du&KxPj@>YN&`|3sKbAN2< zm=U`Qp!az%^qpLjjkQGI<=cr^wsuF9{VH$|fFl$j&%Uup1~Vljs`z6kky7_9{nKT; zATceuIAHRX@;$>PGNS!U54~UD2(o2CP*AAI>$Z&_nV)!{>r0fC940-5&Ph%VLwdTK z$VqMrLz?58!`6)IRsG7JmOI;wzI!9~&6+5Jj(&~O5grAGBh!e}^=>EOkV|t{!Sa}W z;&~Lu%I}%~OI;*f-ms8hDF5lPCpQGM94w}FRpI!4R^T->abIPL{qCjiHRo&L@!D&B z28!-Xon|MmNhd%;+Mk|<;4kNd+c0n2AEUpR@yxNdJL|nQ_@kmJ#)_wm_gzNCKo^CR zIxSY@+c1JulOv%PlQW1<(Fe*YKs_UI0mhDCyAE?W*K|=jr}Y#a`}l+T8YH{(Lbk>b z)?+X=%?oihs(}}Fa4^{ZxR!KPqxQ5e@GK;2T%wZU^g9$G_#F)x?9rAFq1vzJS+|r$ zs6^KR4Z{;cBja<{Eg9g9o)xdeV14BXsI7he?JRKV2n2m%KK+BUMYCL#s6K2hq)++C z`qn{#pfMQhNvAFw$L#$hH8cUu{H%q%dd&GxUUVj4{FN*Un#Pdv&h|c-OC$a>X)=Iy zK1u$tFiA%gO%8HYymLgAvRiG2PU3ZW7&|tY&9p2I7IU%w{6PD0gL@g@#RdwBZ(rzJvs&Guh*t60HDjTL%C(h4mV4H$^ zVUew?gfZt9!D!~pNCf-yxD$u@H^>5Q-wP{R1HsQujfl6W{;NNm6V|pRu4%?}MN%9a zn%`}(7^t4gH;6l=F3L0?HiP;vYzCdUqdr#9n}0oM5G^2A0;g2}nnA zYX63dz*l5WXg~$B1t$>Y95pwFyok~6lk8+jX-rhZ5~XspykEz6J$;0q;m7E#lqIOJ z`o^)~({oP_Hm_lp_;vmXL9!YA5$`uH|L1UF7bsV{Km*rCjy4&={Rco%*4CAYT60;h zbw}J*Ow!V0gSQr6d4s-^R{r?hEJm_910A01QND{>uGPfcEHHo-ljM^|(G&Xw+9pL` z@um~kd4r#Tq9zTLxFcKh!tqYQQxNW}UNxN$NBwZbjS;9B$k;uLAf)r;$gsar`5-V) z%24PJ`kqmr78WrvA&e%Kjm9QRbO?kf0ew_St}T{WMgvJ`>M0p@HEC9l5=BlfmH`R{%`!s@3`kKP~?_NG^^ zqiJm~)%7IqEVg^&9HqGRCCX9qVSnk5ENoJ?x(w_;B?%{aQ&0_YNXZ(B_JxdAqWWl_ zq2uJpdk@b!h>7|Qm^;WZsWCf(5w%kZ-DHnt3SkxcBW@`Fc?`I;Z2i@4xb|KSZ~IX9 z(@e;YJPT-IQm~?f_oM97~iF78;DZ2jZeY66WviQB&F5%L8Xe-q< zDScE4nvitIg{5{^sGGwrICJRXQJjc?%PH?x)}EuHFWE2~WI|lmWT}S;5GflGB|BSq zBA8scd}l{!6tLkG%2QHeRDGV8qNrjjl9lyh!%)u3>Sic1C(Qc?v)b>nM&kb7%W&)JVMlVtnP3@T>D`vg0WMJw=oveCx{xGp8!N zQrECfbU>L(5ed9e;N#%%g4YzCU~D%KH(US|jnM43ijcz0FV7bVkEAWjd*6Q8z-eW$ z5bb4Mxz$tglT0&26zS3ru0GVyH;}8&>F#tuoWPv_BBUzMuwrW7ioN@RDWm<|m@S2b zVyH*CghD!3S=D@K_HX~-E2+$r(Lcgh=0ROoh35+ucD}4P|E=5;_*f+s*-Xh}Pw&^2p)uf9YMUnj24R;+W(h^FHZ5sMu z!9^>opbTh9nZ*Tx`(u=@C*ZP%KcR1SS2s_YUk2kj#vyOfL^Ue{gu1mQ!QgBAho1GQ zSiT(7WqUXs^GWDZLW$}jz{xJr$*#CQNO^$zNr!xeM5<(&a$E~b(U31*BN0jDyC#;O z=pg9FphBR%AY-%L@~#0p_@LX382VJhR#H0yDet!r9)!&_)}IQ~b_)g^_q>sVMCQTf zW6E~&VDPTIa)w{c#I}6nvZ2pNjvt%C2Ey7W`s{TeK%;lHNtpP*epbb5s4_Y zb=qlJb5x#}W+8PB37IvPvTtfg#=wKmA0z&KdfG1Xj>c6h_e?ms@9miGN}YyyJ@dM= zg>=IjDONwe(|{pWp+%!p#62RCc0gtwPQ7@D>;a_cK!y&dG@jh!R;6O#d)Ie+lJI`n z4=;rSxFewCt}exuc)`||4NHr1z=6B{9^K)ODTBz+6mH{%!%zY#O`k&SJi6s!)EP8y^+7ok1f5*V;W*}; zM#BMGY6~fn(C)L&GC8#r0QM%u0X;Lf7*&ghwkp{|NGnBT6IAWZvsLxlmS2av!qIMk z08z{5T8i^a;hE&AD26=l(YccvO)WNSdRvnP!UFeclQy z2Q+E3jew55ItDIB6h*{AYB)xUwqALL2*T3sf;@{Gjnhnf( z8txWZ!_UuBqt?FbeV-#a|NS0SV~A2_5*qGMsiW{E1tC*oQk*PuS-vSmOL_)?`^DI? z`eCB+Z0U6NGj6ODM;ol?gPLoh08`oeh_I;#h3Im4Ii0?dX)<7Kkn9E#5cvGz^UyB2 z&u-N?4A^wU&292yuPx!oSv28ByS|z4HG;;eCS`aS z_!A=(t?6DlP71m7(fWhkH+PN&vOEy`yFS*7+B-^vM>RHDhwo7sr`Nsvc|5~(OQ z3NW3cO3Wv)C9b_w%HkJd$n8WX>itH9#>&)CJU^{i5 z{PoGMcIAm_MoSP%FV^B)M_;3tSjrw_zc8&vMh*razQcWr*u!3)cctvE3Gc7Y$JXj! zDK-aBnwK5g-iU7)6l`D}D6MOrR~Fdikg=h6y0H<1l)Y0GL2@ow*`80pe-$b^kp?ib z4U*MapESc}RM?=_tl^JqFn_s4R7~c*_Uz*~5P@lX4!s$+ z%LZ55^1afG!<+j^JuFM&M#(iPL!Aw(Z>>*Zz1I+agpm+kWXDIAo)w;iv5?X~$Wk@( zG1Mt$PpG>T-btx)Az8w$a_6{sJ$TUORio~5}01pmBu$_=_oYL_X z(QPNo1n)$&{v6S5s-qze^@u>?${oF~(4yI7qn_e~-YRZZmB)1Rb*AeYLcSNTibgc- z(B*t+3t!9sBky>%vPAte#*lHRs_{w6)6_Z;(Ws#WLgqkew=zYWO;u`Z>n5>HjwZF2 zs5J>_$r7i#->{2Q3@% zS2)sE%7Y3n2gd(jlU-;@0t4OqYOL-Pl!L&1HU>4W-Q`_WRp0MQ$6XdLBatcmyo7!@ zhaY4s`uPNEh^)W9U{o#pwVs3!YH59}>K<`89wPM8)R7mO6k(L7f=!PNao9c?gsic< zKr~wykC#;>vyyO=1fndkP8ire)%X>m8HzXFriId4vLh!+t*n6fs@5+=HrP%wOKan% z*vi3;?XSaDx^IuZKp(zmg^|g zU6^9_Xr zwur#UA|r%JDO6zyNZVP2mmBE3S6}*!0Cc??LjN=L%y^Lx0Lh0O^maV5&?Q2zj5kbm zdtpWnC7iYEO3pns#74>BwfdS_y}Sg-9NS40pSczf;>xRQvY#AHZk-GoV>b4Z4xM?g14o)i&}U&MDO@I^?Ch4AHBxWIS} zJ$4?j;_vM*`-NrZP8~Zmy+4X9KD!vShmx<4vIr}MWTbwbgq=10$kXmljS03I$O-bU zcW)8&uy-xEW>djdKVuR6Vnt{Nr$pN#HNF$(fh!q+7H^Xw5nkJPM z-%xFA$wD4fgjji8Pj>-Dd(^M;1U*L=R#jIY=&4pmmia zx!2>Qn(3n2>8ZGnsht^SE$aTx0rNzGE~0d*j-`uMCd-1wM?$xKiTcABCXo_wvZLZB z00`zoE$0jz`88bU5_c#^Sa(+v_IX6(1zB-J?Zn6KRk!*?W6)cXdIkQ>uh!om#5gg9d*dMvvKuh zdhP*W*Rz)pIw|&I6p*^F^EZXJ!x7xB(*0eO+<+-@2T%d{`~e5n3Kg;h4Neoeze$f+ zD#CVYL5cq5cy-ykCY*?Lis}60;+@%A?r85l)1L+-a+BG*0i-(;6PY3pi`(I&m5QgR z3(Hv~s(wVqT-=p8|EQl17K$vZGG)7J*q?^CLw2s8g6_7E8Nk+O?MY*NsmGeMBnmdh zZOp;W{n;+$+=xuUW+k~dk-OJHoNg)xuS;_U>);BMCc@3zdx{F#I$9D`^x1=KDz%rL zQC{(1Jef#lVNG7E>WC`;4`b&LCQ7ho+p=xjK4sgsZQHhO+qSJ!IAz*_ z@{2(ZVvvK3`1e|yS|d4~q>ECB&00z~C6YaL}Ud6cLv$kqe@ZM;%YQstFqoAp@a^(k(Mk9A^@si zn2#u7JP{+?kxIG3d8AmXy={7es0#i_8SaikU_n%d^w2@QmEixYePM~{db?0nJV+H_ zSx@iDEQZ-+BnN5?gP>-~#5AUY2EhkBWq19lcVw`Pvh*gIec1r_69C%4XyBj9#Suiz7JDi9Npm&_@CHl^JU$2lP#)7Z*+5`h=qR+Mb8-8C}%tLzLv%rQ{;>9&#ahSTp{O=EOx`<_67+NXgDOk$m zU5XMx81+v6aM&uxTG{*q!crt`@ly1FT8Sq&BU7CX| zMDw})DYCuOD&org*ea!maZ5QQx_G-T14DhkhXsgql4Oq!4Noq0@C%e=0ya4OF#hwhqKwtS(NokkWC>L!gdrTqTJIPp}P2EfTbU~UHNeCY= zhOH^4Wsyg;Ub82-pd~SfNZs7IlC2P8P3lAo+*}FDXA4aF0b$clTKYA_WhB+&^6shW zgrSG!Qj@}zvcGI`HsAISPPkS70+ZVzI&@Y3+FE0G6%8g(w)dl%^$whnoQ{4WG2V~S^;$lRW8SAx z)w;D%9FQ<>Y7B73af`c((>V+#eT@XTt8am!a2fLNuW6wOO-RIoIOkjyA(g3b_2=+U z%HOjUkbvkDyFShP*A)_Yub-7cCc%j@Xvw4k4RxLplm$MQ@9MITx>lm}?Si1ScKlhb zZV3^wuSZ|FFDqQ%;E54VAW|d=fU``HSFVQAB_03TURRUc1&4{YFwJX(_Hml=iq=Z= zE87l}DVJy$r2$2?YT>i|;6UkT>UnHlzW9||=@IUtslKU$7%5^y5ncOtV>FBqFj(cs zSUkAHKfLUz?AIrFymG0@2UB#nXUt7-`g6u{U=yiF4h|`NQ~jf{SS3;{{EH!Yqm?`x z$l64l%@z+??|p)Qn+x2I+?KvoP@uL3;>gY&EnYA00d5JYxjd9Sczv)BHO~Ahe@^f zupb=@!5$K3W?%nni5+g0Nc=6N{NCMGj{51Rnz9yxEktExpmE1 zVKs#AXGU3hmsznqaF3rPNVtvWnk1l_Mo5%W7&K79c%4aj$ELH;;s3V3QYuk7=n7M# zDQi(a3}~oNIWvsg(Li-mTNa9;G&kQb^A9ifG;=EC%uRT|&g#sd-_lpiw`Gw{w=-qn zc8Qc}PH?Yp7--+@ah>s_ zRrhiAnV%jgC9?}dXt+cGpyXx{ehSzNP}A=BH5T5Ck5KVtX=yC6P*yfiA%YSPa7HJP z5K$Ek5ZHevB#tP2%6pNH>k(A=inF03W#jNrk-o;&NYn|7ugOGAcwE zhpCdVPe6A2a;(;xU13znG>S|!Y`2ybxRB53D4&Kt!dp{)TOS-eqGkuKjyF!q8iEs@8n&rdq!>IacvmOZ=WYj*Q;FKjv zef}aL##duMO(%{ob1#I^dv2#2-gOv=e7k0BDofJjsxllAP)tac&I{%Vx}-J`49b4B zhYs{j?L*>N*c5LJ%UeL|EPKsbL?p-#tJva+oSdrJwgiFwHmu$ngh+RT*-`%$2h=Tl zi(Lsp#_{42_p$;Ecwq7PzT#CT{%X6sW>t5|!uPz-D@tXaAg8ZPD1U;8n}wY`UYiA?+?B%E`BmLBdUu zH1{XNzrHBztpQ3gG=I{?1LiR7g9xGw5&BLpii}kg+K`MzE9TuQ3JvVK?B7oBx7K4F ze)dp0YHQ@i2)P{FZG$6a3f)a@jLhrH;W+CzEssyP#m|VJ9KIdjo0i3egoV||+4A#2 zO`lC_tE3#;581b3aB|L^-w)A`^6u^3RIp*f_s@5qp_S8vmjbrz7jLoLXi-EYQ7oz4 z*Ej*hnJEYcU)uLD_{Bw_?Lq%#@kzfzO7|lfx-VW4%I=d20zRQKMvh#MemFWR50n=` zjN#rHX@)}2Sqs}8Wp5pNXp!u0!N4l6i)p)vBzw5-?2Ax>$cI%6rB!v{0N8APMeWVg z(ujJBltF+2p>SKp8A(1sO}pLy@Ft=cHkF)`2;q1I(T$np)@MMD|Gz>OoC_hf*w%k` z#!Sik0vMU=8^My0=5!W}BDi4Zh8V&5p+FWJ=V8&p+&p?XN77MYVI{2yFja)VQ;NS9 zPh8YI9azBmKd4FCr6DF(AsbN5OXj|Kbm*2p9?N<{QTR(`_XDD++%hpAjtrocD5#jR zwWy}43G7;ZK*0~-4hDje-9F%dP!pnV5EZTLkHmgn-WO8tssrR<#_W9_x?iRo{l9q= z8Y*c$Rgos&)%S|c@<>f3|6)HCu5!HaB}e35wTJyO%?p#SYSMfVnzfphLSKpr^16|@ zmZYHW@^A0;a@MTEZGQ8X-(Oly)I=-tl%l4f^>OGsoXXrqt^IOWZ7aY{)tvR@S<5A| zL9SX>D*C;q&u-UWgr)TVQY?!-EC1B)IZp*;j)?@S!;dueE7v4mn!Lw+EDA`El>B;h zDSF;Fk?O9-$5kf0^FT$Q;p3}xbeip%Q0Q=lxiENZ|16YjIR^;wj3C97`%kHCsbQ7L z>yKoWD&GLyf7i+$7xcxX)_y6~XiP;p7A=EBS0u%7G6x=pNV)_P4|xz1ko0f~{ts%R zg!BJM6A57Z{baQw?c4#HYy_`;Uj8FTAedLBS+R;cA@IKEv%U~3NnqMucCVjkYCC-l z)WF8LeSvfq8X8@y3Kqy(b1SeLfd^#-^OEr?o<%$Ei={fdz-Rl>c$$5u$tW-WbW0N~nF?77XV-Yl;Ww+8;&<%?2cke=YY4DuQN2<;~Q z&R=jU>4A%SSO{QbyEfAl?B$||;ZHLG=zwWG6Qo9|Fi;=|v;r<*2k<$Q&>(E*ZguzW zfleiR0}L&9U^Ea)f!MlU2j+1#mKnm+&9Bq;5AcmX39#q05L*y{dJ6CD6bi;6753{+hVcK~Z;DP5#+ptcR-T-|RT* z2V#}IB$lq8pQnLAD5}m1)~EU~mFbVNXKfx@;-84%JECCaa12+&q3A(t*%qc21u(3>At?va;NHVP=|A?^+T>z; zHCU4hnsN~WIh@Uub}gcg!AOogo8x{00IzEXxE&jLrl^niR+h-S4bq8QiJaZ9!30LzIK4Tt0FU~C#aWA|1WFP z-o|}<7yG(s>ck(WMTQbo$^t^}7BRgty3y(YD%?%oi~72pwd!*MAqM7knWV4xs>`2S zHLqP4vZCARR)4h1AMS0>zz@E-Hc2@tEv>lRZ=0q^bEk*1m9IQLo1d~~TG{@I+LS(9 z0G};@MppmCR=4u7$?Mxsbh{hj7w5)&Ln8C_r-3-qR(Axnn+oqeH2ABITe_Jvn>&o? zMLM~8G&yf6k?)AB@>6FqDKe`^)ci>w(G)RC)OPKdqifl&E14q_>$ZVe$iZFiQ}BhX z%X5?2tM?%l#WeLe*}(iIgqEU3V;2%?)RaMHj8~3iS>6T~kwu^D5CL#g0Ny;<3Aov7 z|6>vq-1)=1-5+w~8?cU|zi;dTJp4unJKx5|rEI8$O|l4*+%r(5nXxP1Sl&j~)N%|| zG_VqgMnKe@tXd}ei>@7O)vTHt)->eXrVQfI5i(CV2Vi z!wsS!8gLYWHu}A=VNL;;y`pXLH@jVh6J))zsaWO??kzs*wYe(sb7}$MfH3 ze9|0J>$Nl_lw$gu%uoVSS+vZ6U`>UJYhfA6I%K}2sDho_cn9dCuKDeCoNU#vWU8#BEWSJ9EaDblJ!CL9XIy zBxO5LAN9XEAF*Kpa1bk-Rm$U$2Lc@Tr0I`tb`FX_P7N}fN|;F5AlSN4c*|wfKCRn4 zV-F&Ljn_}DgtTnI8lZzvO=?ZL<5pikwC2ei_%#@rLlJU@@By4_44DJ`F= zZr&4cacpzjmdrvA*GQdor|G!cLb0zr6A;UwDUS0WX<~!`QoN_KoQIu|9mqj}l_aiP zE&+K+Y-H?ngH+<~gMq990=sT%<@q23cDU-7{Y95agGdN7aYLx@0L%Qq?qb4QT0BZCBbL4_hN& zC&3`ae>fnYiXG2#q|P@4p2qAKkcv=;1YyM$Z;T)+;OIo5*1qHft-p=cHMkqlT;Nj+ zN3AI267+)iDs^{Xx;U6fO%NM$fhXhhtS8P~XH$)l-4~nm|3qsG7X2-&S*c_kaP2hb zM5v3LoK;Y9z|?O`>_HEh;BXg5&#_Rrmi33fuxQctz|7MVmh5dR`Xh$`sx7@b6!_QQ zb04y;ap^``JM(C$G6en;bHkl>m?~~ZojPqS!6{zmdOA0h4g7v{o0%WflKI5h(l*cj zP*GDA`Q-XT_%d;soF&3Kb)YXFW)?^CD{WTJOm|;;&?}gc3m;o!4eWZ*F%AzSnPcXt zm-L%-)|6NFfq)X1AW~&cz>nA9z+SktUk}P`khOsvE#O~?lg$NQ* zD^=)Qp)SW57X8x-1;(ivI=3C?P`_ieg-AuD=)FskwV0Yq`5)4=_Nt`JN)ZwiIX!{h z4{#kx$A@2&#jKs17!!z1C^#&ietBO3YlO;?zhG>)MiAjEr0s4l$OJ%kT47)4JrHO=Fu+QL)z z{-CtMy1+aQ$sQ}p@994W$DjR`z=yMVM*5@LN1hM(+Op_9A~>`uyM`ZL=nTJ=~b&r>9xU%RO%@riLazBgl>6!>JZtU zT!p5>z`qo2uw4~i7Y!EFV4oMY+r+AoX0L-KZ|W=a}y)uUfj-# z?|*i9Wn(w7f)mz~8D4pespxp(h?}S_@BlV~WzS%ZUvQY~SZ!$~3gg7|8wrL+8wz1b#>(QqRn;1si3?aGA^fW+ zKCYiPOs#*b#f7~ z&XPlo9gF|ySb1OtK)630IqzSc%oHhgUtdq$h*8*Hr3MRX2_TMVNgE{@@y3+PUh^5M z>Wf_>{>Yt6XTv|*a5gmHDXj>M|IBRsV7o6&cES8Koqn$@E8YJ%9sF>Ad;VO=b^M5= z^-XM1+pPjVJhB6HY2du7>Ca5!_SdcS_v!+Fc*0&@u+-1AgQYgm2e!;;wiG=(bUe*( z%{D5z+&f$uQ&UfP+-c{FB%!W3UWZ*iWWREKBXI%wVLM&5e>zpaHg$~PJKS}bLp*8) z2+n}05va$j4R}5Vlvv}IY?Ws5)Z2#sg4;OAhd`gxb0*Nfw*1^E8j`=Nz5So@JS?F2 z%aMpm$^KIjMCM<=Z-eEk$GU}UhU73fg2E*mc#A0o!{nrpN^;W z#m@n`{OOqzg&GylmhZjG*AMZxPtqHi>qnRJ@1Tz~7+`qNt>xCwDedB$&8_{?&&jRo zchP+6=fq~k3%9c+^8IlP2mIq>WC0Ro&vzfzrJGEu;yD%B+v%99*-(hpZzP-t6 zN4u3Fb5gELj$1FQCyB`6ao~$eD;wD@orNXqi016+%&WmsnT&a^ax99t$S8+BB|1%E zgY0%n2D-0&wR=mu;*PU!vH9|L`CNz^$|F2N-Y&G(^q2YQh%vh9i4!cLz$XYzJv`>2 ziAJ__6v~1ad(dGFWaxARH=Q{ogH;Lj)#hUlO4wLSGH}d3bghDcLOP5YWryzWEtF_d zut08=##j@QRPYaIGI(82X+1v?s1X?1F;&g39YJCx>BSC@4K5uZ2^6n(a3@I!n-2*Z zoBHfYOvy%DwXZWyxPH^PI?bo8%Mpwb?YPSv?SiBZ-;u!#{b66P>UlavAStD1LYh=- z1`}41#7h&uwh28U{kH{d)YK?`?!gF zEhF*JMx?^8Y7wyn%kR$_BbldzYWY|@Gv9+vJlJ(Qzflv zndof91TAo#uf(GT;5Sh`&s&_)Rhcw{CKywsWWYKKvivdzgrG|XDtLdmNb+<71feS? zz)%flRA_zR+k_D_7{x>~31P(kGUeryKs-scD(Zq>*G2=Qe*%cz(X;PI18cMMyUE&o z{x$2fUUFX>GuBu(h4AlnA#B4;i+u^6%-?j+DEonF!7TnYg?5}O#cq~W`Q~?_RQR5x z`&78Y7uZhv`FSoPkHa6hnVMf-5Ys#G`#d`ED{m9l#eEP(*CSwmdM8%6mJ{<(pd5P9 zX!?8t8}OTi4eW~~ep~5+`zdk5y}sNL9p$`O$uN0bKxfd*AnGkN_1&Z2CZ*e{(R~jbfNF?{J`D#DZ2MeX%k`YqaK@d z+NexpO?ei58GoFRZ(KE6$hWFXTKxHyFCZ=YM7xIfoTLFiVf+6n4LSpk(zI1mYrlPS z8MhXkdwC^#u*Ptd|M&78^MndWyz?j(7^v@v7RkVmG}%n{<{`0wA`4zde^R8*2VkkF zR)6?rzNQO+5N(q#pO;g7Fv5XhSRJTE5x~9(OqE8brLWxwrtr+9{_ z?q&J&GN%;z^Lje>yz;T*7yT1f54I5_d@)r@%)NwIVtDokytaikG%CYxxEIcN11|Jn z&6)4OJ;|7wL*f1V;|ho)Wq+f8G@Bh~DpV(qme`S+bO%KK$HsZ~xL{>M%GV9e6Vk1{flOq4~Y7ZqD{1j zBN;pi1un-Z_QOZVq`b0OZ#k<*998}1c&T4pSReCnnZYnQ1=4a_pym&_>givHbI{ip zWEUi_mE3=!?Nzg)nQd=08n=kn;CbC0em`xLwqnvIx_ij6y_`W`Ub2_h=XFonw_It& z4V>_=aG}}9*n=ofxP5iqzOyDI24kBPVw*^hol- zDymqCO7`EsKCrQ88NsEJZ3byV6UDPWUbe2U_jO~8owC8=>kxobd+yG*igt)r_hHlY z!;|(GYPsMVQF(y8F7Tm23HoXckbCQOCq=w^RD(LqG=V{?spR)=E+SO4>z~{+-hZDY z^-mP5zTMJ(bgRBdtG%$Tx20M<7~PX4z#b2As+O&Lm5YGwemfc4{&AUA5aQWE9FM$! zx^B$LgEEdG)g#;nBsy-6!1oZenq?V1d$rlS7DUu(O#Is)->-(jT<(9^Z_@mkeEk5e zx_Qxln>?{U%8n-Dj?h&&Lml9K8jqP2W8qP+9!AuAe+F*UO%BU+;1I8Or3_MlwIN>g z3%{THrqV2zJk&p(`JyndOi|Gm9ILj+YWBG=oCjQ?%XIs8;OLhU5Q(bh9Sdg>Ljv3z zdu-CUZ5H*IC;mc)Tq*v?X0t9yrOai~Iw2-@UmPV_P9jW{26&AdN+1H3OwN+tDr*DZ z6OcEVy@>tysHn9XO2mz^ET-~9r;O{6OkkOVD`GjaSf7XO%p2{o%O+df2mj4659ygH zt;pVz{NTmcbcfT_rVYz%$p?qTjvMTuRR^h}toq~Fo<-G0syL_SdPA(T!81tCA zB_6A)omO#1;icwaLA~cM(bJ=|Z4WuolQ2v6xCc?3^d#z;_+R#QmTpB0ah89 zw>3QLwytmXXjFXbq7n|=n0hcSbm68l?iV4N_;~DTx^4+ilQXP%#kZfB=^@1W*gOdS z4Q7$Lp#^Phj!q`XoPP!ML_D9~V7~_po|;@7WjU%AOQlXjtotKI_xp|7#kjZ&auB%| zn>95WkA1U6BrHRHfpHVCo1F@E4p2_aoh#FC1N~T!p8CQPk80+W=4%7Qk6Xj@WGyr({lYV53O`lpX$M%0H_)az#&OqZ}wzRmAaZgQ@Acf1(jx&hwR{JhK>a1LWD*iDL%y}F||2P{x*}cPq5YDm8Furu>tF@0tK~2@09@~ z%ZaLPWx_D)J&Tm2 zjO7sDQRfk$AiYF3`jUbH?p*0Xv{zCNv{DOL}HG<4gi>+pHt?0NmGnh8?HqAVE zS3VCCu;qd8M6jByBR<(+Y0W+;Hgd`C^;{CUz>(UC~#GB+o$!p((I<%aw_&fgtZL*|YdVhjIXzM|0#u-NDQ1 zuuA^rQIaAYd*9_NsPM3JhR=Z~CPtFXK{OI61Ks|i5}+(hx;nvI5GdBMN|RVo!3c_F z8>Zzei2xni9^(-Ote%mDpPejsbyWY0?KTR7r!G5zk-@N^mAGm$Xo4FlK)?gX#C87bOpGZYhAxPcjddRlLtD5dIy6$}UK27Ktz{cf8o9Hky2+F> z8hqhQn{RL+5FLumTlt&0wbmY2mgyV*lGsp*A=Al=K|<)Sjvrfk@f=ag4CR{x+Jnt| zP*U3f7+S0(x{46pGvMwyWI9XkQ5ygVGl#P->;zFwSEVeGVmJgr`zIw!DOAzlNQNOf z10^0T4t0gm+nH9-TMU)5Fr3`3e)o*J;95xTOdT!G=E$jwZGZE|ovF9@2Aw|AgRGM6 z*2Krx&y^p1?F8iktggrtm>Xo7rq+%aI2kX8>c#VW_#`aY0XW6`j9eb-lr|0SafC2a zlmjdxz-LwKz{AMwz=8DGDeT$zHf?a1E8+!Z_Gm|wz8cO{b0`?1&~TsVWN1#v18YC!Nd6sjrE1tlW5kBYBf-B z-d*@4XJm967LU3t@ZnQkPnJC$17}EtKv&#%QWb{bwHb5CD@?4I?L?B%Bt+HGZWW+% z&1N4y<%Ad)90N{b%g;>K)RtJuKxSe-yKr{936jGYLBk=*K7!+Zs|1dA`FUJTBEz)$ zeDQ9+P^4si+$uTmR+5FBz0y^l-S9-$6K+PUke>2+As^?<`yxv@;xzwG8@0VFU=wt< z&60>7!mb5q5nreMxgjeJ9w;Pmqsf+?aK@llQ&%V3RMN~ig0Y*nDRqEwP{0X!fj*y~ zKN8}OVz+`lY_h;Sb&gn!x5(^@38$a}^Br`(F;MgxMt@CWQwYhlrNT8Ff=GI(+rzD__tPy= z&fGqwA-1}mp1Z1>?cgbon6lP8iJ6<~;7b4U8i@#-GCm;fO9d%$a?gcqt&gqMOdp4c zG!H6Ba~0}81HuHZ#T_V=z$=``2DKJba#10GC)?Jmdlwvd6rO7W?g7R6oQ!`|DSyS= zpZ!iJA0J%#3xXW#>#72Pf_>;6J`_B<@kp$PkkW;-WjiRKi+RFXyUJkmFL%+|c{FMx zQ@R}GjLZu_cfhEFdS17EVTFeIT5C+K+-OC*&SqCGa;D~6cjO-2!-MT*jeW4u}1LL4Md-!v(A3331m%x(Xih9 zWBHk7hn@HDt~kW^6c4A)F0vvFat-Z63e;&|tHfnmB1U$9<&*0(?!XUR&)_+)`Qt-l zNx;;r!hA7gHv%>MKN<{;vk#A8TPg#&0v;LwNOu<`6y1Kd%d0oZ-WF;?epGnxRgZL9 z3_8$&Pn5`%-PRxPV@m6{pv=n4KF-O7p876HBVRG>w_bRRL~j)edg-+07JFLQmK^!y zDu*($tZ8PGh4KWjZT+6pmeOZBDJ7qTnwFsT2c4jf1&bjZWicE!({nDo(FV^b@p^L; z%14wfv`T7o7jDC8@B`LlVcPh{ymg+I3MsxanpME>YUUx(M-z~)7y!5$1+n($;5?q3 zVA2kRnekDkv=~0_Bw};%%A`yJGLD_)}q}KlGU%PImXi)uRKHklx z`L)rv{I~XjPeQJ8U7q)q%jJ2yErRMRp6(l|9I}nX{ZXjGj|P{3(T^9iJ>9wa0}r* zyI{F7?jPWw3tlo+5+18wvQ;BT3f;KUlKnZIrxUY&KUOw|B2TCey-mDHm)bBOnSIh; zYbdZ9tE`ZAqrFZ19_|A$8Vp-PYukH#XS@S1qTYS6mVb=$2)I~I2?O`~%JOEkHV%w; z<1hi3VbNY++2?m^#tuhgs^G@}>+fPrV`}HJ)PvWr*%HH#wwJLX(v1ymclHm@1T!xm za%6@)wdKqo0_2NFc&&n+uZT#Txd7Uy*wp8_4Sm&Lr5W}a4S<*Wvj}5hke46ci}h5; z5b;8ymT?JU4$jpK4n>=(F;Gu@6MqXwdS$X-N=(3`|9%e|6XC}LDL?#j3g=yi?oHtz zgL)snOPX7H16_w7JB)Re3?K(j*vEfgOHhSAG|6&~mIi2237`zgnNGLj<43g?I!3x; z`X2L<(TQ$JoaA)rBQ5zSR=AneqJu7=_6d#BpK58H9u7exx7T-^xiTefX(DbBYc0Ce zhMPa&vPrb*8HyN?Rag1UKhws?LQ!ck)%Brzxzdo*?7~fgJM32+F+wu4QJ=wR}xyokeTeSnD?cd=Z`k^vKNnjsbW!c}SAS&`PcyTrcRAz#sIQ2ZFCGg_B zT*Zkq$}iTZLpyPv-|4V5O^sbjRl}lQ{KGrw8^(_?=D87m4^KJG_eh-*2g4_{Vr=X! zMsDIOdGXw1YuKEOgJk+ZG^t?6@r6-zwcOf0TX8OK9&cTaJkihQOur>akU$j3S0W`j zr$~y$S@QBvUXPoH9kIkcNQQ<6i^#uAXE{DoPd87uBK32m3X%$UF@H%FL?XfnC2t=P zQj=$+_`ASxNd$htd|}m6&(4z#jw`(5_P^I1Q-1Y-ufKbHuJGp`@c$XiY+M}U!NbSh z`hycuD5U6ZT{Q*=X*NQ)WnLX@CoSi7bbSy5=*WKNlpS%J<@sR^k#9Z zSnXfQmgpjZ1%1TODlFgVN@0D9&byZ*8>Gsb2_31)K7Y#ABWmR^$9wLI>iMWGFqhCJ z-t|zKyJHCcTuTr+x!gByhbZs9)g0(OZ6^7im^ZB1hm@(+yQE^ECG~gg&3s+pd*-H; zuJAilGCL39ik#dmn=`PVke^!wvBhT5L$O@=hVN1YSp$27wj%Ue{=!=BW5ig zK6i)>1y;-=sP_+w<46A857eKpldESB^~j#+$--@J!too|B)ijT0kb$ftamOKHcXsj zBq||g1@AcTO&gp8NJnpwy!8+8lS6Fpb({RVfEI|f!MIn=_RKMIXVUX0$TQk+qw_md zr5&5#20eRPIACZ#=e%xz72vn1#IEs?;!TH(a9aRBx$D72USH82a>y2zpWz z-E7?Xm${WgU5s4O9e8>HOit|>l!Cf^Brot9p5`LA@{|GHA}Nt7Vjs|ySJH411ku2o z(VbH+c0QI2l8mSd$2n~?x&p?NnVDI#bq+D7I5Kvx3`*>zDcwz*?3UP}skq-QJFlk$ z7VzC>fQ%(UE7WtRlH8HL`u73@5AEy?*&di&++uo8exStsBdwGc);b63%GZ#LgPTE&8u?It^k~~_Us&}(x}Mz`*CApQec4|GIAywW z$J{EbBQ2S?AyJcuth<=%6i$ug6;q2~M)rxVRpfF!7fi1ukoJXkOR78ECa~wPx_K|s zaL(%#p7?yXWR9{rpzkW6UM1;_5nRbEv2G-=y=4l|G&FVjJ~6Bpr3gb+8Ibt}D7 zxo7D-iK$EEI+b$v5mvz%DcJ!L@?(~`j=$O43Qv8FA^FqRwI}9i!-zFiezB+KY=_dr zaSy5Eu@G0gE7t`ZUIMCQUFR3G1(#GuQp*%^GOUp6u##lAms5W*cXE49LCGB{NtRRE zTj>d=-DNw_W3JCL(Y(HqTot(eeu==f;UCQyI)yJO7GjL!OvaHDv)adL0c z2+rRZ3%C$WF%nSxAnSlNMb34d4cY*~I2?n#1=V^5{5p-iBYwZFX!*ZNIkGydHql?Y z$uDSr>p5xgY`!gXT2pbPWTf}k`B)3(XOy;1nKa23&5Gedcw1kODO;k0VnpA6dNP1Y z=9XSJY>8nc;>@tWaJOP!QCJ+-tduM2znI;moLDof=H3c_yPT*Z!F{5DJZAqgq=Nel z?s3P6$_hKJilUq$rxgsQRs4l1N2=gIs+Y#WK}jntN*oeY*p$}}jpc`%93~WraSlDY zbxn3+&vDNl=hRJh%BwIv*P6+pWh zNiruk?G9>?$et86%A!EHnudE)5VV2}T&;hYV}0jx^b?70Kh$GT4e0C%_)5m=5N*ee z!0w-7nHJF{bk=_pHF81!KmaGHe?~7*y0NsbnyNy{v{M_BCOBOWTJ@480!)^kg>EN` zN0BHHVVw2>E(_Pv3eS=OYA#Zk5+CMD;cV|}!+t{@0?fzpL=B6z>hZ-e>&P6ZXwEby z(1<~buSUvp6trv({8NxH1uaOqtK9SBN%64 zr`=*663K(ltsuVKKS#94{?Uy@mMDy!33xQab56p{%)FZJlZ+^kQEoHAUCR5;tb|c~ z7+$|gUfD}fH;OAJ9sLGH&X4k^KR_ygsu}g z#E=9h5vuF2%d&VncZCp88wGjH$0q;t$6Syi9qwoS%h-^R$1pcFE@m2>$3bv^$ju)K z?q-1_0wPhJ@_Is%1ER&47Xk4B2m{V-7A%MT;7<$5nNju;g`9^3E_flcGK#u!(We&- zHx}udem|LAAmuBSh8az2?`6$yb1Yap1a_hA$yLc^WV6G&+t3Q)R~*yp4PeA9@UIdnm z|A-|M?r1k-K-#jSZiw7*i`$Di>`>M!t zJ*=N72{@PAhXQ8L9GP=sZ^pkNhO!PN6MXs9``G1VL*^&Occp0A9=GRDUbn`|^NB}> zCL<=WLfP^KdqAHgV#5pA@!>|BCmEcv)}!WI5*P65wqP0xm9InnaZt7)ZB$XVA!jyI zwjpcoXP9Dc?YWwh1=c&~SinSTe0~Y7V+&q`jvM&3ZT>OiM3J@R%ur64l zyhH#dq!$szMiG=@qXbE5Y%?!ptn|-Hq9PChn27iIQ>U{CCba}D_dk{szRM`x*6RL@3I&(0Cv$u9NWK54~ zPbw@TUEo6EQ7w&*Ch1v4MH|koQO(KN-Os0G_SKyP$HX4tFwAb_KiF}_lXmanwc7){ zM5!bp7W`1DxRBo=!1Ut(1bbPq_F8f%z7VQ1P7nYRGFRHm{M+7MFYdH{tj^O*{27%^ zJ?DOB`q1bbn)cV}wilNgW(V6n;D~#3`>P%(1-#XgkB;zC1Jp1JJDXi$av-zBb@(MK z8$DipDXqE($dv2*SiGLZ@BHM7QhNE~($$pV;ae^4`4(C>JXcJ#V*g5ZZpXNu3ezO- zuY%FBwt;R`4xbe4tmAx*=A!zA_uKn>%2&Ls>lVZ zLB0Ls{r1tf{9q4=ZJy??%uoPNZ3dH;v9=enV}RA)&4mwU+_RPRIINo4)fOx<4l;_} zV&Oo3E@yr|3E}QPM&RDs31t=rVy%!|M%iG8B#MX=%HxG`3q-sW{JwP;^`z)y*r8n( zdFc`|_U3v)7H3V$lc3H{_-1n9_Z&9K#t|uluyR)#*yEDK2~|UP5+5(4KhL~fg1<+u zbAn?8ynDd`-AIi5@%iE0^g7|q9$xOgUnoGHdoXlhy(uw5I|l5H@31^n?U(}>zQvHH zvw(L9SoqVG#X95Y^XH(1?&nMr!$AfQ#G0TL0mRVu?c3{lg~53PhU^0OvE9EMehUG1 zVi|5}Ku`r^8T!da_5BQrbupkM9AB+rS6Z=WS)0Sb$ea6p0W*G7Jx<*6slJpsNpd6R zeb}cjV8xJsc!gO7@c^?~DDWakq_FPnGYd74^qHw~{5jx^*#CHqL zj-=}&v4-W);_du(@ZTF!5^z%_3q^cyL!_l*w&@{|Ol%TZ_m|RA=p}D{IY`=ZR>!NA z6L}6;jYkd>$H4NHb$f&bxb~K!2O}L9m2p&{wo14dB)JvaDx?sZ;0pX4mJ^r+E^85x zDXR@gf`kxpa3@{>p((6$I@}6QUR)nZBh052(N|JxaXQ4X3*`V7nx{?x;cH*Qsqr5NO3o2Im~&nii$Zk4vx)rD zXdXz&!JitWzB~+BouaulMKN5qgmSfxIoFPihDlf@7}A-MpqB0%3B|IJ5PyaQ*Jtd= z?)ByNgGltI30@odm%~Llh$tD`et?NjTY9RR7XNZK<93;%7r8CWII%6anT22` zNE@#l))x77!lG(H*t|8K0Y(v5CV?B=#%k|H z|CA3b_t?o(a;32H@QG}{a!1i+`%4+fY@q^u4sA!YrW<<8FdR$x{&mk8IbIO(Duf+Z z*3z~37#3z}{cYUi!X8`|$lXsLbu*`1*K3#>UMkL*X-EoiqAwTb?I^$~{=Q#d{3D3k z*W(`^15bLEKGWev;Io6nCNCXcBsl2R0bKQnm4~j!KMH$~?)`#K6JdDFS39+XV!8+& z2OeDY@RC#ECSwrb=APR1%)SM{Qn& zMKOu+q`>T0+_A^hO9E6k@|8Hb=#Nk7h>6aiHvixP%*CBD#1IYcls6uc{KVMb+rr)Y z1*d5p@p`P9J+yT>4dxsFT}EmldV~3qDSQkQhY~m^G>2koNgbQG4igJ-G*LiE#DkaV z{~__wkkL{JeQb;r@?~4zU&$U4-N}IiVt^0%8mjnclqn9COPsHxv0yL*VEiwt-U2L+ zn0Xw=DFuqVySwW_ad+3^P^`Eg(&Fy!?(Qzdio1L9;tqG;{oeO)-}BrglbK9*HksYb zWwWzv{G^cfkU*}KlD?zM!wB+ z`X&sgsvv%~Jt)w>uTW4(HX>}H?ylZZHE6+DfvtV|-N4}Vj}8%>KWd|1t(;~+XW83U z(<2CapZl07hQDOt3qh){$?V5SL<6rEY=1GZ^HR-}bVW&pbK0x^wD>0iyzhGaC*J+j zq%U?6~yi6`-{w(TFD@&5PSX~8Pu@zD)frQ@He$aOpwLPFG6 z^DW{CV_Y}#r+@!kk9fTP*-4L%B73D?cKj@INSdFtfWO`#GC(#Z)+Cy##=Fw4*eQh8 zXFijfzrHfAMszq4U9J#(MV>=)bc7)>LTkD5DX6L{;ow68it2%kf^e2dYb9}*A`_Wt~O}jN+g*by?AJCBI))-2{VKVAf z-P}J^x8vSve0pcQRSWjP*J_5s6|%pnNv&3V=8}S90kN>?EX;b+aXnvz$Gh5zU*?yN zliF71+pdZMz+~&-{4SZGN4rDhNS2@{bytWBYJa#GMVTmKd5|#`rBGlOkAtG9i@ts2I*w;ux zqBw%E)d^nLBlP;HpR3)&m}}8x+UNsoU~IlODl){-_z;{XkHHP_5*Ea()>B~0&@Jwq zP$@p1CiANVC4IdW@FwW$ZW|Ehx=Su^xmKFnvBBhE+m;h} zgv8U8nUbm4;%WYAp2H;3s<8m{F~3EP~E z`ytnU%}?;yqFLwjk$iQ3Zi=t?N{aQ6nw@Rk(sL~)(#BshajaAP`H-8U+=3T>o?$fM z{htNJ`2yNl2N_SjQhXlP%ZX6L3Ol@q$*izZ9NnOS}nb+UX$ zxiABlPVWlxT@yc%_xgqY)7(JhM`;SzVKNUw)KDkd z3qj9t=R}g;uBzm7OJxzb@Y3Gm)qqW;&=w6H*{2hy3fz-_v|br<@Re^B$eQrn-z%KV z`_dMrP1IAyJv;A{8HJV7a!MnAf0gkNzm(0Op%or-u`9K%95(2!c*d55;ksGaS$Hba z%NioZO*IXf+JzUzHh<98vw@8wNfrcSJ zv1~>qwr@S*lREXy^$<9agtPio?ug~crw6t7=;;-a5Cr*sA0JODvy9(ns!CAUh2e9)7wDO3huV4Mj>S&r)hd%TnsK9D(yf;r)r~MUOU5 zktWZu7VPxN$~(KKs#tk-=lb_R|wjg0>a9l(9YKWBowLh(Jx)mOSH(5Z!v1J^ zFPCDDtKIL#))bU~AMtt4|9o1q5#a7UJ_oEp+ZhnTpYO!aiAeFxF4vV;BE0pLX0E$@ z^u^_cq1nCJ%3k+1^Zn0P8R@qG?>b_64)Sbq+k#1^8iM#f8(H%eT=;S|1NO}fmo2kT zcsaP5-zh})P%4$6fAOVvL)+#xdl4$KzG)EugoW}8muTmkKaU8ps_0{QpcRLD4fBM? zaLD5S?dU}ngApc%Bkc$mc_yX-m8s|qOQGnzm<4UgpBx8+^B}XW72Qa*uDt?HiNjOB zjKoyquq*Qt#1&o-TV%j5>FCA-+h$Z8Z}x22{|E~Tp%1bu#MHf`m>Eb2v49FM@x;>T zir|(V#@llWeB1k(Nw+ z{=N1oGssn;I52@?C=Tc=j=r8GT5xk_q!fBGPOUyhR&X<<@++F_n}li+A0djg)3@OS zc{%jxGNHXJxLqkoY$qh=l`&@VPRhbeRahs>?C#6!WglTT^=I5rs3{b$dmG$nHs0b> z`0@<=;52q`FPbk)Pe@;evI`hsADvYdgP3h12~usQa{x{XIZ0*5b^6v0r}!6-)p|S_O>$g2=W61Zubqp(oE}*9-GL~sgx|==*+XB#Xj-T6c^{V2$7r~qUa0p z3yKKa6ip(I`i8MRLLVL>Rr>h3u#%7xlVlfp%&1&*4K0fW$y}1O%sl26)z#1;h9MrC z?0JIjci-{#1AJU)TZ$K!*Iov;qlT6<++O!D?u!?sB`=CnQ6FaoB6WzPPIkeZf)xb^BYGReIv#T_(mePMvFjWPo{$%x6)M z!bUhNe`W#X6#P#y7%<+ZR>y~GHU9Ji_}56-jvDI#hT}n8EEhS68@oxoIj!D^!Vi4@ zvtNlJEY(?z^C99_!B^N-kZOUbt^}hdni3I?KDkHSXH@he*$9NM|C*XJLCYJ!`l&kQ zrSLj1LuJW$K3K1_IzzBr^?Jnc45;woQ~_pr=qmxWErLbmKd!#ukfZ7#x4zX!-VU>eZZEDopkD;ggksveVMgr2WMM4RvVWsgOF_u9`ElO=usqj|53m z@)`clD`mQ3XwhX@~D~&Ib9Q^6`6_E|Nch1sXxVhY34<0yc{L;;-dy0E%U!27j zhK}rer0b}-0HiVNnT-9koql$)8&3HjW*gFWKZ>KV@;5>N4ho@#!LdJeIiIKh5K1Zq z@zW%>VTiQz#aLRdx_-UE*JOCdG5ri;cD!~yV(TApyG*#h4uU)Vg$@paL%X(jh1jb9{! z=8!{C_hsh0DRLKK|27IDfL*LzaGWu8<@boq?!jk%O6J4y;#=P2ks~20TPTLfczIIH z7&*D{9K%pJry*r7YHu~U`KEX?T@f1z84a=EOS~P|_|JK6dzVr>UHNjZA?fU!l9BCG z_3sAFMFJA5Ed>*%*rF>$O8Hxd%uJ_>gLu=~L=_>6o@AcyZqBX|vR&c6M+HRfg!-3N zC#Z$vfdT`9iv4*Bwt+FwBDN%3+cwo-8Je{e3@$?s(rP5^p~d)s^QWY4kGXj@NrD>- zdU#^mytm);*M8>y1d%9}f5zhOy=Ld0+I0k`d*UfAQp|IOHEj!apHEqMJIH@W`*!-Z zk}|yr4LrQ_f(54VwnZC{FRbCo94Ep!y{6nF3B4SUsa!%mMV6bsg3mnjibRnvauVC^ zLWz$K`ujH@EmmH3a}}Cj`nJ!P$3J}4K^8#(o@iGqgPD5Kw)qp?_J~Ce`Va8lhs`xG z5&Hl$_dq zN6sv{p=3?m2#&FST6Ych6fwoS&dy1XrYt?Bfem6krUAE^Pv`= zocY%BDYTjT)-*E8(SiuzH2D3kTFK$V#;NZ!A80I{;4i9pwFmdjH{4NQ$^oBJPr0i? zK&(<(PgOx1h3N}rs77~V_&DFyz&wf{F&M?;+=-$o!Ovl`wIc#l8C&aETH1K;h=mNN zv=GRX%NJ4rJ>u+VBera5&Lv_rgd6V2(&O#%3d4upi>v941p);8@CuioCy~{K<#q7= z=vBdWor#m7Y%orOzIfEY`-U=Cf;!=cQYYyH1-W?`orhu$!``O3VpX`v+CUA!$FY9< z8qR%>p1Yc~r*vhmG2G*)XhVkJv|_%DrlYPEs}j2|qe^qJZ{9hi%BKiR+D%|=R68Wn zoaXh!S8@UQvauNBAeC_(x%j!o{I6fjG*n;4U+Z@iUpb!P4~WjceUuBh@N5{~r>cf{ z-QN*rN5@BscAZiVJTU6gu~2+*=?qK#2hzX&v?(@6mA~p1c}Po5w>wy#0_fO&N%~F= zqk6}h>43gfh1(*d;lq;+CsMicOxodvBgZiQd(BjTgTbDe=UK?x!MgN|r*-J(uS8r! z^Ct;%+OTGv7gjk&hh7n?HSf%XyTMyTqZ_qPYE|*TFLxav6MNVG_MT zvClg{1sh6308k!+^VI`>YjFEo??w@qs=3am!&G4haX_Xnv^Ps+FFxw?q z;SKyB6xaF2Aj%Iqs8&TkzdJ1U1ufYU$(<#z#B{D- zUbMu{Ri6de=B>?K(6!zhojqmmskXglHLJEiBi3D)iq!pLX}FBFJLyVy)V*@@p`z$7Vy=wr zc&y6}%nRmvHptnmyZCD|#T4HlvI`2?*;4$(uuffJQ>!rZZ8)_|q6 z0IJnFK*Bt@hX0$z!*t@5>X)mw5Wb6Mqt@v_RYT2iIB7$C=npL^|K&Fe5S8%YQj72FI8G zKv6|>vN>>^3zZh~-+(_ytRrY`KWLuMd^}&|2&bq@>>gK`%u=krph;N;D0- z10wMT>^S*ON(p9I;R+7-ZtwY{?SzL(PFD*TFbbb4Mt=UrAX|$WqDdfq+*Hf! zD>DTjWJhQRxRl7QuVb#xxU`P`%9~cctatG7naP<9zY2IcN>d*tc(msGww%~5lfG2D z|2UpL_mIKRctdYUu;`17w}_bj8V`SUaah%{0LXCBla|}2_|DFBKxK3iMcS9S#B`4# zXU5gs65D_-=J~A0z9B(H_V9zvaAAv%EmzbbFQ{UHK*OI(;P!^_Ae$`dgP|)bL=4yI zKv#2eV{`~QYzPSeBAv7qbCGxUO-}x#r#N_4;p^q0=6U0J7SPP0CRM1QS>X)Q_%+C+ zM$k&oidq^}>@j9@9i=c6SJL$`x(AL~5UTE`d#kf&Ed9L>)RKY(AxV4ODf#fU1snZu zw6?($`pO!;Qhbq>BEKv)m#g;MRU+?B6i-_=5--hCtvTg&6IU~yuBCYsGw!>DNT5LO z=!6>nS@&z84SIn~ntE#C=oHW9Un2bu?d4|ov=iB?=pTIDncr7)%*oW>>IQ^%{0Iz_d6xTHr}jtpIno2P}h%@usaVcGj%TTRkQ zC?evJ3hgBa4q#L)>sb_SH(*L(-u%sv2^AL(UdpiMX9A=-!^61W4;w7burZ#6Mu%dI znZ}2Qo7jb!KdB%NazSz8a4D2qz1h6SDx*z53PuX10Iz{fmf;>MD|JdUO7w>o;H)ywg^< zf_QTsxnyrf86@&0m5lHwt7GZ8iQqr2x+v<5S-PM{gE8zZxV}`!`u5jpoN@UBmMaRx>!)e_uEDn_T6hjW=zO<6ik6e`R3Nbyv+T)s#PPx8 z1JZ0EE}(*9^Q`B z@N3`C@9ONyM*)8_?ABL-p8ohHb)P*s1l?W44I^@E!*M8!<&q1*Dj{?8_k7biYkMq> zll-u^;`>LqP&^HGct?E1LjSck@k7SmI#~;Nm2t>X0A${8WU9*Ji}rYbol0IDd1T9q-|As{OrV$=)N4n#PX9<)KKBz@(Ba{ z?HY6otkkCkt+1y)qba;y&4ap{!K{~k|3Q864uBPZvmyrwBjsAF?0yUs$6RHIr@M91 z`a0j^ik8lr3TGK3rX>tYp%nZu7}mxV_+W3k^!+9k%d@0z{H<6g0cUxU3d`Q6c?562 z>WX@-n)-&cpEbs9g8|ve?MIH^Gco6dyg_0k#fReS68KI%b! zo3gS$5jA*2{m@vULu8-b%vv3>b#oWg+}L&IaEU_2j)}w_MX)pR5RA}adKh2rC>-!? zuOK_D2H}&M^yi>Ftv{es=U=JOIY>R*#n6QP=u$nOH7%kk;bpt{ov~5|LjnSzHoTrD z+fgoj11b~R-%56@%KS-1p?cK53QGu#TVxQU#@~JZ{lu!6p79tR@{6p*)=y`Op3LOv;-X_C|KaRXD!8Anr7f-1{jlu$aP4EdJijTk_h# zRT7-Fm|h>zInSq?_q5vVxlwy{>r}HN^e`xCKWAy2)Gm@q z`SlN_QD}6D)~kqa3Bh8&kVD$^r+9)%x6G)c)zUSsB&VF|z0r=x(~J9=2GynsiDl`j zv9-P)?K8tSHt1A8lNW%d*32Qe`SAZgBm8G_xN802gDZ^v)5p=zMR;mG%Kp)BhmrMb zXnx6XXh^!(`tOcS{&@rFH`~5BCnW7n26}BS#m&AFi4gy0^^E_`fL(Fq^ z%Z{i(X-vOw8Qb7sbr2t~d@{$OI@%|ZS-HO}?|EG(*||xJl2)k3bNP$*2TIR7VVpO# z*vU=TrK<#%jYYNAEFRd$a1s|X$6`I1&m;?N2i1IwK1OlVDSYZpKQQR*?S2Ijc?`T_ z-cKo`1nUiXEy7b|c||7ru{n%BK_V$Qc=ikC{&B}RXn#ft3vh7Yc!!y{Kd8_Tk<-hU zF-v{?rF}U+9bn+`=)4L*;1Xi0u&%zSh@l=Gn`Z9yBl7hC{NZV^F7=Q7m7_M(i164< z+jI}pr|}5heYFZtet$9tr?E(^a6JOQM}Qw7ZnXM+E7zm1efJfA+CtUd_X?3u!p)jt z{!WpR_D=F)T=w~C`Z`Tfb8uN+IzmNrq-Hns-@xjxW@ii=A)upw$<6hbF|5EZIM-Lpt|ugk$<-Y@@S zix?KSN%a<0cWsJlB`_u9Rsexnns1D-e%|a}=6nA{3%EHH1n2N|BWtAC|eC>G$zuKomZpuV5BERsc=J*5;cN+unx%nuKP_q!GXFb~s{ zk=aIU1jb2RO6I%{P+mp-4`zs}o|ZK%9OA#*G7d)l;Tozs9W8JKY5JV!TVA%a(|%9{ zlw)r@{@k&pR5uS_FS>H-x8Xd93vJvXLg-6f4)Q2{mOj`P6ecC6D6%fJvYs?+7pXk#`Li$uA>BMY!(FRO zg-pm8FGyhNd9p}nCO3dUgzCcfQSQ{XWh~@N?94`(Yu?cGgj6o}$m^6ZF2wQl*7VZO z4Zy4jEC%C+Id~;l#K{@`%WccuOH))Vm?ro6oVwpt{?N3%2AzRuF%+5U0QB~8@z~xv z#~fYv@C1`*t}UVzl^rDEA%?x3ruMBrgK{~J{(;HQ6rEVN=1h^Jwt4JhQZ26^fl}Jo zf8S+R6umpZkjEW)pu>UdEp|7KXh_PfdY`dJKZ+Vn+((8C2}-1GH>R@g0pB5 z?T*}z-1LT1@!Jk1{AULFr)JNmK4kH}_^E@SJ^&v6XV$PsJxf*8P6TOFE zT<8FAFQV#(K(M(-MR_U1d1S>zKNv@gSDV^=91IwHL;T0?|4gydS9!X8`vF{i0t@1w z8D#cd3UXcT^IifnD~8^5EEL3>;5LA6MjC0iJ8v&9fAsY9dMNS$?qfT^fRD8ax@o!- zthcCI69r&~BXlp=^eBm_^@yzc{rYcSz%yhjc=rVVo78%K8%jwzuiHs@1Be5`pFcoU zuOD6Dz;*D*#LE1REWoR=@wV$^W92EZFa>Ax-*KKF2+8(tbOjvjJx#|{wZg>Il~+^! z4(ii?Ib5jY$N@IrURvMySGI+Nwwx9o_Jn31`1A2{g+4P;|#S8K*oZ{<}_KIpKl~6_s9B+WPT1^9`*e@p0W`5Qo24TJ{O#}FujA^ z8Zx=_hYijAUFKx@Zl~Z_{Wca1|N5r)TnqR}zQ60c{w~@m-fMvBF#B2|c zXc>ty7<_<+**VRB`B4L9)SeSxd&PhG-eM}${=V^YROC$sNC!CO`e}C??|EO}Jvq$+ zPMYphx#|E^cSk0!zZJedfI**o6z;pCM1dcn0MK0b%M~GT+wXN~-y3%3Z6o{G^6v{; z)G=!F-3rX*`w#?0Za(<*2ym=3-4^p@5$|+evS-^bM_e2eTa6Rmc5 z6&*U_pvmT@{P)pTE)@vpkHaLeLcl2GeRMi&BN42A*B$(xmI>q;17Ds&%hh@+kl%p+@sNB1cDjz!w$X=uy*Hd)c;!2r&bxTZ%31-01Wbuy-Tn7A-`f zjmY!OKXnq5(R0sD@4ixER>gUG7D9i{feG*UGfyxCi8%`764L$*R1)(uuTHLqfJ_jj zccSCn)ei0gKqa+!;#kTH?z)cWHx+j=UA<+K%~pI<}ylIS>z;qZN$m@$!Ut#w~e=k9#A@u*us zliFZ@=5Rc%qC-@smpK{y=ZO-m7n+g+zAt%yG7doR0#B7WZ_4{4+D4_K0rXzT=rjJs z)dB{NK;C|rd9y0dMrOTNoI8E7y$g+hdJ)eRj{Cjm zIooq`*Vp}mmM85Q@MJ|J6HsJtAx2UXEwbO^omd0~cNI3+Zi)Nx=++m-FpM z?~faU-+abENxz~n(VuDfoEN|vDuk@lTB8G28`i&3lfdd}2K8;%d{#eU1BVx%e|G)t;nSi&->V>|qcukt9 z4ffeRKW)1sr@f`EW7t5y zoZ36Uk8{7)TY&4ony?k1M^Ds@A)qhydS|EWg~Ra z!N>$2f8_+P_`V?B0mUBU?mUi(={EQsNm|H&F?UkcTS+U$SH-rw3QuJ_1$x(85Vyk7 z{(xcr0oDmlz+D}OC`OLm*Y651UdbX_blS01b^=xA_N|BX5Y*oxwQbDLbvj587ebNW z4)cCY?z|1huM!S)7x?107|a#4c!o)>LmF4Q&@0rQz$)XEAB0iNHk@A}?$kARCC6Ve zB9fS@<_*^tiYm(kTn@-|`_7_tiL04wG_&kHe(=Z?F#heDmqCvkW*#@5?ZdEBrY)>$ zL=zND9r>HPHZfsarU*+hxBySl6Y`|gtG>0i*q8f7KD}=G!WMk=4hoa z0%QV-tN98^(7Hi@O^_4I3fSd?Z3T>I1djLs5SAJ6gL!ZymN?(~Iyb>PXlpBxmER&g zKe1Q&IWY25lNrrE3LV$nc|6_kHv4-yZ~pUG54-HSlQxu#W71RV$f&))xIUCSukYFs z6#;IGc)vC;h+h38X^mA*I`c3TS^ssVDfswc|`c&D2trVXvrz-{+w;xEx4~$f2#FaqLfCW)zc+fl(?wG+r`Tzb@66+ zIZ>_s?_zPbv8J-Z1WqHI2*dH5Kj*wZCG+ukRGG?#T-=|Z>PtxuYbOua@a{m3*O*F` zOY|$8pNJA%G*1W)AzAa)Dl?)0_RUGbl)P1V!S6c*~;N2z|z^?Z-f*Q2$r-ib!g zNrSc(Vzn>%3wX!Z6Ya^%dBf%U?#Gq;=Cwov|Kgg5rN3{qJ;o0BC-2tT3#zC)!&*?T3GZ5OW7%&+s?o(UC@Ua%aV` z(m>v69CP61n{!f+YVwjU_XDN}1ZU|Bd1Tsl+vnx9^`Ue~H#%-Al8wP`F~u*_EbenZ zKj08H^>T&te<~ENn9)=I_TfCF6zSUOdTKbtOJF!kBl6|A#|@a2EGH+Z)VRk|4OzRkCJCb%>vuRQ( z63g`W@3VI%3#gOPu%;W86b+JpS0Wu&1xtA>R# zo0m(**9w4TtBaHsukq;k&IFD$MI*7%_|^o@FN!S=Z-b6Pb|NS0#d?E|!E&*B8<#eh zUvnq$&?xaOgc6nCF|O?sy>P>HHLE&SF(}X4l?S^>OzTy5&vW(MS(KvZav(v zI&P_^22+;1yi@&D3ADB&3LMT_)9lwKCIY>Z`6^AqhT}GZp%X`YpH;TT5B4IzrS0uS z?xjEyhNxTTkwrXn*;1CVc*RuL3gS?U@j;XbE&Fzq2sQiX|6=2*RqWLID-~n$^bX~e z67p3FX6H=|D-EIyAD@tQjX|%&Ho*duP2;SE&OLuwXQGXD;m+AA_w|c zHeNqgOayO~F(NzWRWi5xSIVbcYG~PQh-#J8LXZikJVxJ%rrB4`CHalA%G6cSr9T47 z{C9V$WtA!GqFObJj}>-<5DrVLe`V+HV?`q(mr`7lu>0Pn#u9v+$`bmfsFsBDn`R8- zMw#6rq>_~p1WDZy)oO~p)ZoF(_N%5`JX8`@aJ$vpPnyBZ@oPOfY?7kOGqSy1dr<1N za!9JHNNas4C#a#_tcN}5u3q}ocl)UdXI=YePpDakz!K?Q+-nnH+Jc%h^x?~#LL2t> zB-sJ{_cA>v{`7o!$jxv##a2A7<%XhEt28=$*a<;c`{sE{VpD1vqGJn=bAxViJ4@@G zwA|Z~jV8TjanhlS1~= z9gB4Guh+3nHLZov3$oDyJfyY`#vOMLFNX@(8Ri{#QFnTorAnYY$*Jw1gm^**mKU>J ztH?<2OaYTW3yNLcNfB1tq3LCM?&02gp^jTyN4 z3P;|?3vC0fB{Nwrh+Lymmzbb6X(L!*kY8RPpd`aoc51Vq8QYp)S_EGR zgI)v)3N|`j0>2NVO3n!NAPG;drX+(k=f;hpBvV&>dh%c^=;M$X+Z$L~)RY;UdKI0I zBS>{3&yy8uEWI?Bg1P<4M?g!4t?cY%zcRKrzp^N*Qc$q!Ojj8szcQjlVx+k=C-vWq zsY1}lzcSW1tFnmb2;MSB%N^GsFI2~pYMJY^>VR~$wOhWbJmjLWVi3^dQy3rbq+zBz zUp8}TbVQmM7xd+~Sj#@LMV=h*WTB@!Z_UrH-UxPS+^%l+=RMyL&1!MTn}TmuDNDVC zY=FLPIEx#}@{2t=bRD6~V-kEZoEtxmR2Hq9KfF83@-ucwnz@tD8n}~C{Js<;QBP|C3n)DbM9OYYTK%7ud; zKncqhRDrxVB1VOh%$W~Vt@t-0eVl(zHZ2fVRTQM)JvU@J6o#vx7ixSOJwG-~$UqD9 zKBK|*9HK92Cz56u*<$~R<2j_O_=8W;gQFt*Xq;X#b%0}zztn6@F^|zN0P-t>6$Q`y4^a{;%j)2(0h_Lh0&Gx3*C6mCx}YoVw3iplq`5O}FNj zf_$(LVyaxk9q+bfdz+!@*8C7t4Q+y|vTA0eRy=I9E1Jz2cCI4OLv8z+u;i@3A4^~? zV0@W!u$0SR_lSGA)JtFYsAoLI(MZ?}AxL?5@8C`V^+4jFmJZBmX7$WQjEU|GhR=2suPgW%m@UOu5vks9*E|z9r!^$5?Jq{LiqOAhqcaP(REBA`|-NF|p)zJyQ zNcwLpV&w5@3?ENb9^P3k9Yf&noz?ges$Hu3<>sQi>LWYxS(<1z| z63YWGie0LHnD~^s)4}HA{24!AOY^PbyqN}b`U@+CRe?fyiIxyw%RT0CX{zx)q=teX z7IRNB&j9Do8l=>QbO>VK;6Ka>H>1R&4W4t@7By=ijGrFIF#VrQ?$SOZco}Z8a`>a> zwY^V^=&5bu93PkHzG?NfnJFhr-y_0RW0LioVtriUC(ThBm01XOB&E5;vmpA!0FoL4+O^qTSkCyHv++hz^iK$ z^ zF8oFwdf2OxT`ZavQf7lecO~i&vav~Hgh;?ZBv_z0jNt>*ng1$ah(#MCkpE^yMAw+; zq=~YYNnKb=P=Fa;wS+e7b_piJyDa%cF3pCFZk`4ouE)ODMVWam67n_(AC95&TpLd7 zrz3^cTUCg(vm}qSV|!V=uB|-Oskt#>TaWi65WkC3OtFF_0_`mkK70-y%IpFH-GWf` z^jcONf%rWrV$nvBgEOVhyYO(5uzw;IL7Z?4MT77Kzt)?^53}d;Wt0i z=*~BX5yR&oeQmE6n9jIb&t0jobR=iXf|FL(*Z(*!-NuH1j-|ON8p63@ZJGuh&d}!n z2ytvgZZ4bJb|2TUHbuGG+58|)691=342b6;1!;PY33?dfc+A(cE-llcK2m-`FIs_t zi~(#oLxaB+hskGXvwIgvmkR{q?_DM#_%I-%7ezt(7czK*8`cORfT`pN#82v|8NGk*oB_}bc_0so8;5}% zkh{ZQOfb#fND`CNG8w9r!7U@zxQz>{EN7=pSY%cM6V$vH4YaLSM`}kPx3F#dr}*Ej z$g&41aK!~&EKxA?*sx>t!BCubq=AYQnPxY<7dh zmw)0V*T`h=zFE37*qz+{q^u@XU<=VQpBbtwkkw>pI6K{on!Xbz&QK5MB~T?GEsSx9 zqFnbH4ChtSL!T?HK&D);SG(|&%wnvVvysJ@T5=Z&mX>v+T4GUxHEO=_AzxZ^rp}y(qV)BE|Eu=9N2O*{LMkQL%3RLxvqk^ z8g*ta0`Ys&Kjk_+&LQS%RJH*;)b9u9$o=cjk2U@4Uhe(ta7RgPNBzUhFyFCOwIEGm z*7NpYW^5c9SNw5snPElzPL=CwWK0|vFBPAG{Jm(*Lr*tr-s@+iI%XU@EF~A-a;T`p z?!Q;=Sj7s9wMzQu7{<>5MUf#p<%PR^nUEqaq==MVeI(IU|LdNyRg3Vjr1M>DXh1WC z%qAWG8#75!W?$!^h5^5>V6{MA7b@fL_X8fnPty1({nhYQL)EFb8XP^Crcl}uF%k_E zLGHRo{esLlF(JHLcOCgXs~z!!2;;6DzoAAQV{Ic0ih4)I+ zV7hX#J2XO;w4*0DocxvAXfO_~G!AEnJ@Buc=1W+zOAw)ahZw4quxdzX0)y^2D0o-6 zm!3b4?ep|ORLC7%;jVBHJ--V1=V>fWnB&tW+mU<@V@61*D40(oJ^JJbhjyPtDh*)@ zWKtB!@5@~nev)c2{F*Id9E6bL?Fw1TGs_Drk)oalM{h86lr+_rByqIhjFOQ+;UVzafOWPuZQA)nb1Y8~(L|H9a?K#C4BKss6O1{caIQn_f#t zwLsHI{Fge8(oBiA{EQTA`69bY520r^yo*}}j;ovHuJ+$R)R)5F>{{e9X`QmMtPk1{ zPRrqmx)Y5|+IkgLOmC;yt{^g~k$hEkgxE-*)};r^UY04TNP!8jqc$bVaAlZk#g-lq zBrQ(WnmqA$DzxT~H`oUM)I+x~$*j=7yT|;q+N2=+ zBUk5(gA{96YhhGTO?Y}G0E$+je%PV{FR4V(pzNDoW#fZ>pdPN-XJ&QARuH(yHNx&0!5y-l_}X~Qb${MS?-Ruuxos9z*rtgws~*p^q|>OD z7brc{0C~&L%iUBmeW~?{nOOm2SY3L6Az1f+44{)HZOD0Ugu_s>)sry1WKq3UDk$Av zjhxniID8xz-pno%hJyz}%1jANr@t%?Em1sWOi62Of}#!9KqgGmK#dt^3Hg1PDsJvF zS-{b8G@CB`gPT@mcvHTpE?Iv(m##f=t-0TDm3Vot+LWe=j(aoZPiOWI9T##N$C5b> zT;1_|B*ljm#Z#sf9Tyd2s4dAlbDF209@*Q$dKH#>=({1Pk$Y1bxOc^-xs6_Qo8A+Y zInKuw1>sgD+KiSZ+Gm?TY-E!w?~;EjVkm?1<}4<1$ePL-UDmZC7PB8=&Z=5f%myqlGbU8{0O%`@HY_SN&hrS9MOG*7VHW zy47du%yf5x<5<2FsCcXChT}F%4Od$=#j5a0BQE79jFR-4jE!oSlM4r0{8SD2LE^#|qdbvJ8 zCyXMk!R2Q|U3E~Xx` zxXo1Vvc_YPo(!aI$F55b(O^MNRbf(m7;+`RCJc$g>GvFVII3Xi+N*P?e)q6~yX3-s z#<=8T2cC1WQOY3SEmYYJ7bK_$lNPaL%1Mt<|2_FlWRgsQXJV*z7eq%lt^>w0))Pa5 zh{sU^VUqlN3&tc_PjXGGQfqT09^6n1DX~)uCOxq4R9Jy{$ynm*>Y~kb;>>WLNiBnZuR_m? z7J^6xCV+-QfO$(Ue(Rl*)0-g@;zB87DIVw^Z zK$5^zP}2I{Vvzy3Ttg8s57(#i#g_wJG>TNPHLr#U=2mL*81o$4ql2W&z8l{+St1Vf zR_hMBC3cy+ix9zfe?d=6836K6`d~`*;svzg1#0<{9NK?R@vrCz3)hoR_*Pld2dOl_D!58(y=8Llnp4B%h3)89)7^jK{Pj#H4E# zOrk7m#fR>dt`{I+r-))tX1Rd2ENyQc#@E-FzX-A7@C-Os_r#gHb`f%*e#ET9k(Y}` z=R{UMXjoi%!pIEcXDqV;{s0!v5|WAx;m&6fet#MNW>k{JWWQ53f2~T?reamqC$*y+ z3u^&WRxleFm~H%m#bt+qg!F=SJVgToyMApNCQJt^-<+Jg?Ylfbw2kc5^1aKD=3F*m zo=K9C*TY__;;{#wa=?HjMl#<}!5vNter4ule%K~hDA>I$^0RAk@tt-Xhw)e)yvVz38!|idL-c@(hWTLIYigKu} zX32&-@Va5$(-S|@)`JMBWn4qfANaaTbz`J<+C>h*Sqiw#98;%Q%}ziyT;s{gApx0m zP0pC|INCfiH1=}JbJ#29IYu^=pL07W{3)p@s0^u%&d#x1q%F?-g(XFew%a01d){Gd?NQJ;MRjgQNAj=(#(h@?pf^Y9;{_Zh{wY< zT%w7%i!g4+-|q#>lFf{2HbzkXm!E5h=M|3>M{nBR=AQYs>#P?KGUYsTBJ-Oa1e<}~ zt8ag4tmFXw>m!D_m=Si(^z0 zeNUM>^7U= zqmDSRB$~hyC~6Q5-O4Pu?3^3L(s$fxom&62^JUF{etXXm+kr4T>BXO&HoRWDu`M2vWELk1IRq!erHI>7uxrwZUCpYgI z8(39Qw~}twUZ@gIdV!-vK9wInQ!M*oRY9nSZ01A8A)SVvtL@RI+Y!cY&e9Twl9^og zVLb@G=gOnW(C!#{pZkf)LFa{`ferXR725t?|2|)u%4G0KVkI_ibKO-NeqY4vpn2|w zU|~oOqeV9`9vrVMo01EOC)-#mjmrZ=jKNfr&<17)=^P4j24_dc-EL2L zA+XB=k?)u}RjisN!pa4`TLe93jQli3+GZ?-TsuXYtupB+A5K<^bkqMJDW_-R6+H%- zLygK6Jx0l=vVQ@&aWW6=MQXp;P|PKa5`<2ph0hYEg3h|Xg&$uu4UXI`kOUL>U-M5b z0DN7RQt7%gx%Q@@(Yu5?jDVeYFfQW^HF=4ubQHggc}&?UmmIO7UhtA=%b7g_@sg;@ znM>$?A!Mully220Jb<`LSeZ-yD~1`TWLGGL{KdgW^(XsKY<19vjwdv%TnuIfA8HCJ zSGp$`dVY2rSs!}(%}>T}l1AH)@(X%odB5=%M=9J}<15h9IC)17)kG&v)B!zWAi)t@ z->i)ABuz?;s0Zfh$WKDbHQBTeXaBn-bmpNl*K(KUFj~_r z@{kR7^KR&s+teQ`lat1GzGI#qLh3*;j%|AP2tSr{7uF333$JPLD1Ya+IAA+9tnZEq z;ZrMGo~&=h$|o*GHrDML;0qq$X1guS(ZY);sO4y8=;~_-Bx;#Q{?EMHwA5zci{Q55_A(v#4g0m*3@JSircDY zKEMVjw((F;^l_#8XEb9Fby5!x*cJ-{&_{_9*qH&r>%dfWWJJ#*Ac zCcl+?4@kv~{h7AMxiW`o)HU;$psWaO1;T%{-qiixmLU?PVkS`EaOa}-ei7w$@kr!- z*v_*R&#pkaesa+bLsP0%>tmPCVG0E)tJ;2x%syQ40+rt0U9N6iQl`R*s_R|K5&2;w zF;17;Z(gn0TQI%mB_-gU+J;fl_1@Gt`x6g}-~MGI+36cR)?&yn$2qRdNr|+%;;&aD zn9u4-`TOx8s^~msk%PB^dkmZQ;;nG2Gb2b7L&uw9%NPx$E5!?GzqNG)A{5q)-BYyhyu^Ev3I_BaJN;cB)O-FVGv8qw*?xMa)0MT>YW2fb z2%^Q#39$ySPfqY7YFcq4E;rO*U477H!`QPO<%U=vO!Zs#4rfmHw{ORnO!c>?C+wQ< zWS*$=BQDdu)Z~R&r}{2W_p^`poPpQ}{~j9cCsVIpwc0qQUG^EWL#&;$B`*g-3}AFcxYn`heM(NI zq?12oiEo@hy(~{XrO^u@nr~}c&&9Wc4lN*Ou!w}1@7!MGg^YV#*Y0Swc|J|`A9#al zhqz(aY}7Z}GoabtXt~3nwc2Y}dTh5nK9t)2hYFIZ#LQWq?D>4;f`lWlcKB{KM*?Fcg%N+<_p`kK zO9+X!70%#}!RR2huK3Kx(|LWox%g~oR+t8rHjRq$c<2P}o-ccYOqK^RiFY`0%Ku>L z2h}lOT!1&Xuwuylf|Yccq03oA@%(kiQ0f+2xhJiew4ZZ%fyY$I77 z9Do}Ghb2nYM#tU&ZoPXF(Ftb@k%mbdPbY?&8B8QOX?c2qH zQMuA)48MMu6+Kv}#$Pesal&bfai>Q57eF|k$kEKGJn zg4d&EB@^t=>h+uu#5ijSI68iz;QzxJmUyBijX%z)`Uc8v`1gTN&D2qnnmPqv4OQj< zW)X5{BcCnOzMxS7hR5B(oUq$`d9Nxd^gDLyL?hh5ivU9?9c2c7L%NCWh*2VU481OS zM&nFB^OACpi7j<2Nd~?QV01&tPM$?^2Wgo+W1eepDA5GZp)JzHcH)lb$O!ES0u4vC zIwfHO*@wvVm2b@1aP0mGkb(cVD;M|9(`-d#3e}QiYu(v*Bp=KV>h^(CsG%jAF1}2M1nXPiN3h0I^&f=x{~zSq|426zKJ@;R?t8akOrieG zu0nO|f9c!KC>P5nM$+$?h5%Vm@C@b#SuN6Z^v&NHKI6YKsUM?vn)0BE(jd}w|684Z zq`95rHdlVo&$VF7K7o%tu6ubRp3aFY<|Kg9%=y)o^p^$aZBGQokk!hpA|Sz1%SJ%~c{YFSHNX9q}R{L0!R z;+)Ke6^{@=RE}mk2oXmp>gp9r>LX+1m|?QmfB0@8SF*q@j@R6!0f`)Aub&q17jp{T z0O%?YgXg4A9>+Z$C<<9PU69Fr4{DKqN9Hi$flYu1<%44S`Zj@UJtd24Fx9x7-Ve_` z$%F2gIUbzNU3cC}9BhI>xi4qju~kYq)ddO9ZJGVDc42>bL9x$fEj?nXq4>Y|=0|Y$ z;Xe@Z|3-%6yY&bjsZ+12W;-2Z(<1S<# zRhi=6QL_dEjJv9AL6#;F$Lc3M_*wadS<6jF7bo+vP4QoevV^Of2+tlT^Fei1GlZ*? z_0Bjzc(tEBYq|Jps}*OEcCsnZjJ13**_tUxTfQ5JyI{4ZKAFG7moyp%k~$$#y7hvL zJ3w|onkkLfUv+@GHvS*NIydKpAzheW^UoVd(tOo}yRf@@AvTepN|oj+*~Hf!iMw!n zE@P%ddr(Jd1JmrSHG*XIV)RWnl@Yto^gl#{1Q9eQAy7HhRRmko#Bl@}aYwD>$rDH@ zHl1Xwvmc-l@xK`(S+sa=l9?&#q~gF^v>dF9AU5C@<(Ev|$hY9m|I!UO%Ccdt@pXXC zwQHz8F7Zjas4A#cW1!4p1_OSpk?OH)m|OvW=^5oDu}q=CrB>#>JICP^@kr?s&a}#R z$Nn%jUilPsY)vM|dZqNbJ@hvN)Vu+!tAOm(Q+$hjy_3N@IxlPs{r@0AmUY!COvo)h zh(~`~^iJQGTkMca`&!PzEbFog>mXbk8PZ`oxrY&ca~`$bt;I4eD&VHWtY=7Ou*R`y zrn5Zx^s}v8cICF;c^=Xy<19Z8-tMmDt^i6dB63vLdj3PA4u+aPLO|?K`fQCg;fi?~ z-sgM|hl}l^u_$X;VpDzH&Q_)WA28R%uw~6O4zOR}FVULB_?PJjnyY-f+G%kqT{cfe z#fWRLI3@-8~ zXsjuxG1m`{W1SA%OYc|HF)ajUd(`nx@gc?gM8nFfi8&SU=*uM{e)D>R0d)0DMG z1N#TAbBlo4r9ahD_PT1zX@*~}mDOXNqW%NcAfO`&5@^H%9XG~6l-E%akl<=cQk{D< z2h?#FFR}W8yPE)T>_#vU)bR#BOK`Xj-afLGL2K&i*f{&0vbxbwpt1X9cX^{ zgCHsw)Z08p6wuMrNLjsx4qN@8fk?z?v_$s>yAY_`uBMh!IYP|Ro?Pjz29g{3MT119 z1?4np&2teHX^x9lhBUT+{masIWeY1)g`QoTRSaorG-%|87J~=WbSE+HRGqZ&H+Oxl z7^Z(!R^??@GA0{unZ9?*ae}-r`=H}_XXwvZpJgc)R2?XLKVLT_Py1HfkNh451aG-?pphpHk+t!O(*=&J4*m}^+%ue+F$j^#|A0-_&eyC) zo>sO-%#y#VDhLF%p!ACdpUiDhiuF-!1Uc5nIgTDYpCtaj)D}EW-k|3_&VP##1JEMm zh0?1-bB%L#9Pd?zBJK7&WPa&G=?xSwhTPD-V<5X$47CHvMdq#;&k#sk{ zmRT!>Mcg&urQoLLKwg%=Qtgy{nkI#3v@t}L%A-Y};&XGH>j7(U%d3SdS9i=hm1p@n zvt)|B>pzd0_Na-$k9Yl@H_!6OOUf&Dg}d%3JO}cBkuecTNTRb$b#J!q_E!7Pv-XlH zKYqoY>LTzs7Scr*w(VJa#gI~)={qYPyz6&v4U6gJBP_Ji%=%zVVr2I|zOg`$Wa$26 zX6>5`B4qb&5B{^sGc7!L-JdwLuE-Hu35?-TmxyEmZ-G+VzIgE2l~FH|UEvIeTQFp8 zzfitylr4;)=109G^SpjLHtGTTMR%l6N6pbJ4S6r>h~eC^w2o8IN{v}k=&U*kedX)ihs^PaJmNsKeOi_d3PqiP4LeDLEIz=sM_+ei}g1z zM87$NGpTLjl*}Jd@8X6Kuic;gR=h!U%GZnhT@rpi+sPlF>HmDM=l}TL_^E6;l@A)YN;66*(T>i{^XLd28Y5 z>hB`|4=D%w^M`^KwNQ`r*{V>k6;6@8J)yy$uKt~td&Jbxzz)^ zahWU1!Wem`JKt*2&hn-@=CcZx31f)2;^a!6l4cLY-C2i29SaE3lXvU(DsR4D2%a=F zk^dYq*hAn;YfCwp?tlMvS6S~1{#lFHLD~5JOJkDa>r3c;%VyV!kXt!edQf?eV7+qqrlP2oM!tt# zvQ{f}uCHwgTD$Q;^QGS-(LWjNBJ~$BE(=>}jO+sno!XsL9dgQ3P8N${si0n};}abj z#!Gc>>_Vp~<|?3cc21#u{UBh7`WQUem~&++v1g@8<4CA;nu^ECMCCa6aZYG`=~l?) zk6#9hB|~k=;!x@X0F=eOET*0crle~JAV z#ZqoLF~!~dC-Ux08EQq7fFYk7ZMM15j&Se4I~uJ_ zfwSbJ%IngO7)e!-tSk=8#iLGpZQ{)=fTFHde-nPGm=Kq*@cSMsXp10~yxu1gr{+s46M(Unb%-mc@pG7f1>* zO$;q$SbFy2c!9KYXu1iZ+mUj@k>xEjGDV?%n5>i3l>AjdzMC(fb5JPGng?^XYJcsv|(F>yAo^_bs1 zhp>ifH0DO(V?z27G3_GsV#0R#jWucYPuZVFMy2`2bIBp{r@?E@j?x%Yjiqje9FYJ$ zKVwNL;)h({gm9An1c|&>73-4v+<I2gjbYX9?N3fBhbMBfP-z*x%PbhBNX;e& z+Q=bvGgC1GXo@fZ%EfT3=4vujD(auv%77edtn|JKTy-YX9$>h1IFPKgvBC-_LT%Iu zTODu!J6yb4K-cQ)N%Pw#@t>-vLu&HTjK_j>WbvSYq*Mo=JkYu!-nqgGK-xk@t~VD~ zA5tuvg7RidbLf4N=qaInQtvTW0yHN`jnNG|C=S%qZ&Y)s?Q*WbyM@Rsu{uVSN&^}) zlIQ_LTm79YN>LiGMK~*#Gozg;*@?|L=6DkHdO773Eozkk2g6L|BOIxA#RIi2b8!Sc z$^^bS*T@`kxxk}KcB|77Ni)r@P2n;p$5ie)rPaM$I0{R=zk@qT8%=dpYlR+@Y7%A2 zMFNifW_zA@*Jz8S0=523G4fNmY_dNhmM@TNN^vkt?h5l3Jzmb#cHUipjoTJeQ9&9< zrVXlkS(90ob&}?T<_r}HGk7Bj!-`Wh4})@nKq@nIHU9cy7~oOF#bpm&i;QYQTSLm` zzdYjn7)G~r_dwg@q7zE!qdPUYc9IN{U2Wk=s`RQ%DHH&1A_TLZGV-9aI6E{QBdg=| zreSADo61?0cm!==`Yn*8v`gmbo1FwLU2ZpMw}j*~yZLD*_mj?nO4XzA#)eH|-O;Wk z=<&!sXi?>sIlMbn+_5#bQhtSKtK<0#57gESp z|Gj`C-x=GQ{A!(EjCAV2^NCfmMNFg@4QF>;>4f4{5dg9HY4-RB%pwQW+}q0E4Nyy& zvL|I$fb;%uE$WEaQZw}T6-4sq`c;iHsp}$U_?90;iXjK&;;i$j6Ay*=bJ~wKqDP?@ z7MWDJU{dq4hGiC>fOF7h_+N!t3y)7@lywi(&#mh#Y}e1tTzxgym=?MqoUb1`z_Dk) zv(gH>k3U<((~5q#GZ(1D3XFI$prGcixBKlnpA8->!B3uR28p>feh>Lq6lTO<9fBVy z^1)XSL#O?+z-D$uT3%S76J+D6&Y`!!xv%{;COYRUb-~J12&SmTV-VI%J zvW{p@smHbFz%PYZh4s9OzA?+nKjr;!}+&qhq22?VHlef6{ z8l>??0u5{N?z)OI`*$#=i-AUsf>fa`s}! ziaF&ESdg&P9u4lvhrl@#=%D$0PV-+HqN-}z6C!zEg`{p@$d4_!nz!P+nA5Ybkr&G2 z2iU$AC$054>hQ05mr0?sEhQ{jW%WssvtO!mpz!9c@z=CRi9LL}H<_>NUkMfwCOA?` zOhU_4d$WV!s8@d#XI1!+Dbqdx3JLRhGB_5%j{nKYk5Kfmo&^Ptu19{=pV5WVdxAxO zf^SJ6S6bdblEeK$TBQx!4E3!<$<;LgFEiG&v2}{Pm!LO8K~jG!Am83^Ur&z=92x`6 zGBmKF31!@;8e{3_`ifXg0W2s>zfcyx8O*Hw$!|Yb=8jC#OEAN+6=lK(UymSKZ%W*M zME8tujde-ES-nbf1*??+azoK3+x`=kKd^p~8|^nKQ6}Y4^4@G5C!LyH=HGSi14)6< z(bmU;Vsh4aNH8-n22$HZRG6T%KDn%+0XZR}A$jkQ5GOy%>8z+OQSpGAizeYj_}ki_ zaL9zdr?tIc!8JmA-LnQl&y}2buRh1i&ai)aoSc^(zReHnkuiF6Ws*k16J9g?9i>IF ztETz^Gl?2>hI{Q|zMIb}*s~&ZPM|X1F3i;w&T&sh0G!7l`9>uoQdkOg+ONZxJs?3~<5%qEXZBDx~sHgU~OfAY(US1bhno>mL(#?zJ+^A}W z%X&u<@$dq`|XJ#o^Byai0Wx;dlZ?l3D?Tk3JRCqEdJO6;VyBXrgA2(lnN2KmP4w`!x z4421qzMA*b{Q1pfZF5*cF~aB^P?CEu7YBBPBJax z(in-e^3JFGx`(PDj#)vws!bh9MJ^P^-@Pf-L0)H#vu#leEPn)7NkSB+^YWT?q_}-< zibZiG+#XT1y}XVeN*Vvy5DJJgI{nE%2qR5Eoh4eci0^KS;+(zgJt4{^CgS5372SZ5 zIq6)745N?96b-qo9xz>SY^nb!AJ>t(4q)$K@9JSbcNTSL%`!Jzuo5!ccgKr*q$tk8-rRdmyR%SO3#Ln_s+Cj8l*Hf>+f==x^qd zdUeLcMusJg2{mXp2y+K^NwrrZySFlKc|TYTeN2dM_4Z3d1Kka zpt+uKYJkf|BW}Q~Vmz%Q!HxU7BSY3pT1GO`M0YvDx5K@MZ;9=qwgQ{6O+0)hH{b2# z|2KUWs#MYJCwhJK<)`pbwxyA1zVOtA)B-j`Qc-CC!O~1#^y}y20cSDkhU)!g1x^q) zV#dWprtIXWgz@{Nb(8GlYi;LS^&Pg3_qh*oG?>S&pw_~r`qk}&$=hzrf!`tv67=X- zsjcCUYWUkfraxt0zI@*Kyl3KxOkDiw)io9f#D)5Y&Qze4RM}4<%9~%4!9fLIe}grv z$MN{%0mX?)?CJ$#z}PkNWQ1HCc?+8as==Byvb6ozfbxuRURp^;{@RtYto{m16?naf z1}>1dsm2#zKDm`d+cc>7F=43o|MUzHR6O@0)3Nj;&{Lz|Zsd4LRHnJEU-_NW7W!hl z+D14mKgvFc!WYmJSo6BvJ@3z}-nwp7$;=wlly8*GUyOL}-u^2^z?v4?c+ReiluI7c z|K{0x76YrP`uxu#{{c%bbZ%`k^Zxf<8MyXfw?xq3rYuR7kYh2!vp=5**~}ytnB&0u zKQR&1w_$yEH6>`~Xk5>> z4C=WvBUgC1`o?w$-)euziTH(nlP&Sg@n9&8_r3OIl3*mhO6>M!x(=9@#6S16VF@#v z6(F%ZOON64(+vNy*EV&%?~czK7#5aT8jHFGF+5!sn_M{R zh0B3!I_{s#OEkAzrffH$dBMvH%YSAPUOq%sWw9(Oi^mBufGHLyh6r6s)GUElX%{a* z!Vh*!TtLB+4s%a&|15da58hu)wV#kSH4|`xA@3}+4Hn>U<6n^x-kGhXhFaL1?EH32 zZAfq7_!{JY;=w{oWQ0sdC*B$`pR)H9xHXJ#M!r1Yw7VG$2Wx@w2Zc(xEn&Akmg9PL zk$fdwLx`=Dybz$6un|OwtSzgl%5vi%@+6H$|7`=bb^G=Rq00Jwd&JO6*bS1r!P%ku zA;!WgKdW>zXUOSDd5`e)7gJY9ayD%%qNnS!_#ZdHKJZh6$Ue zIvSY0MdsM1{Rj0xNoiJ_@WnmK?k7nB2z`7>`={_qV7$F6=3)6b35$4$wEP7xG&$ zkKCI!tSURJU-e}na(q(2h&$f6=D z-GG+b#LKXqF(A^a4O$hM-m9v)pKsXvSnAUioS;bHC9t93!|y!q(-X9>)yKJ}JSOk} zFSbB|E@mc9ew{^bt>_9ssDX^TJ2m_ftW3(vt~dwEyDa(4Mxj2Fx@5|5k$2M0YP%cB z=hfVA?C^of8NGxfij2!|b8{i#DB{NB$`W-H0Htfj;y@M(Hl^L}l!FfGSo&*_Gd&}X zfg3WzcS&9yu9o>>cO9)@^+7UC>O4oKc?6Gg+383~&ZaeOoaI(p|3H;slOf-$nP*i> zow_i2^VM-hL;s>Hu}%cui_vo>XhI>)li8$pj~O^N`J*|6gnRqVBkrVNZ3|NnoTIl3 zc)55lVUKaMbzcT8Z(bV5pz_t z$pnX89Z^}a0<)I4+pi>B?%l<&=p?mYMMLti6GXS?NvLbko;_-0qWS0w{&z=l|{}RwrWo`z=CNs!1m_dU4Fl53eHu-u-g`xiNU_+@(H2%8_ z??v4JJ5dkf$_paV;^!>naZEONSsSFQ#UY3P6-2$B5f@sLx`Q$DB_b3SMsx{8BUdH8 z7}k+Ol2ji~;#C`@P!@bcPMpOcUKBczZfC0%Ov2hEx zpECxu?-;3PO6Bbjd6o)7tXK~i$?HH|p36AV$9;J-{njf`afCWGU*ib2aO^!cv&?Jc zN4dJ;gkq>!tnA%HD#QMjuD=jpSr85GwAjwk?-6mWjapwU-}NRtMA7W=way-boP%}_ z;`7oBf}9Vk`o9TIX6fDWpf4VVf4#(r&ogVF6zh%(DE5kEf8k9nb+D4ND!iug!5@J4 ztX{kvxc12BtwopM&RXvU(VW-N%1rT-CX~W6X zctK_=rBrj-HgHFLHC1{d_SYjE1Y~D~j?+1y`db%AB3@LusDdRmAg1aq-}HRjTwEp= z>PC(jKCJ5yonHR=hvI33R_JbTQsQxPd)x_r*hrpxY@WP8z~6$b+9{lLp-K=;AXug( zjhHX{6tz|IgaNCHWrNXZCa7x7N3mQInnSf`*1TpFHdP!1FmM5gOy~K9^5#X-z5lMt z1LUrgJ9Eb;axADFpqY4WN^63PxU%-;(^iA+?D{c{dwA{>(4s@1vM!PIXc=MmQfDL% zC%4(L7RyjAr4yL6_rbj=Hu1vS1vFl+Lo-T(E1)hp&Nj>wkO6<7e+r7hBN!(mW=XGh z_K`~g%5ac^N~*=)&5hx0kfIT~u@lVq^kQq&R^FjkG|d$JNM@YJYQV5mm&!i#uZ5x5 zP-GW};u3om)jj>k?$)xN$TDJl(Yr1KaVz3w>&)Kv<(1v)m>vw!Au=F(QR-2yI)L~M_^A1fm+Fs%5RLzK9omXjCderW`V7T)q?hq zl58B(@=3?i&N;$$v1gt5-kh^w9_DfWl@jjn99&-Cn|<9sVgpV9IYTTsJ*F460jG{- zU^Df#Lf>%fXYm%rlr^*EU^fNNXAnfRwfL)kj~A?J-Zc)u%Y864YLboM3|S|a$8Cpb zq|PNCJ%KxVv?U7=!dQRM|08b038#h5MXaBn*YK=(nmckz$Z=D~aYfl4B~g=6jkOJy zh%SXB%2bj2R(q=PB`OEWBsb&xdqfOWQzZOho?(Ad6SB9ORmni5iqW~w5QTdf z!aZyGYo%dh<-(5erIRLLZYI)UveK5e+X6|rp zzX(0cziyZB#!_t;Pkz<&1zXv&W-|H9du@b!3n_C;p$bLDTfRQuOad80 zefh8{L#0X#tB(73sSAsqK8?Hp^tE9{j-2#S6u7+ z3=Z3t=$+oVp2VjNDlt=Tfznq|)R%qD22Y^i;a@-MOk1J%Rv;eG6c7n>Lk#R0{Ccy$ zA&%@q`uG{@OD8IrT0rc^cmD(HDS(sCDzH_bFJa`OVn1GSN16E1MZz1Awf#*Motkfu z$zFr4z)S)`QGt6BFl!Fg4`*d~mDH1qT-t@ME(}Qb+A>X(#MM#`sK{3QhsBR#j zXvTK%h!2X5J8^(lPeBJr$;5J%^k(dagr@2e-#$=HxL8NA!JMP`Mur;v_O*ku;auY+LO3*%7}SS^SS z`kq_lweadjRsL%lH8;1m2I%RV5wuqvZDe*5P_h*(BN$Nb8=;t4Ggw@IA*OJzaywvG zhWq|?-o0vsFPTWaRy)YJk;bNz3YUp5WW{XR0iBQ^Y-|e)M(<^V+5v|-Vg*jkhOlj< zbL2N=w-MJd&6%oO*-)pHm_}q>DzBz)wvUaA`wcfL)HrVTRKV@*yi2>5#G@d(OO~co zr}c~;vC=It*~M~H=H!$ijHWJ)QHQ=u9|HD8W? zhd10uuut2qjc0pMl%~4Y?MpPMvJ0a^+xb}9d{nC1UJ0(~a$oOaxl9Q+t?t4v;gj3@ zxn8rMtQw$%;IA$Zm^1hh@|NbFqkqLe;E3vqwL=4m%Lr^to6z4p3=(iGyFK2lI2e>h z?_MjbOHyvVDP(17*Y8s37^};7_R?wQDn=KXGdox!Tq+%66*C!}JGs|Ciaq-q|JeYm z!Gq0Zg!2Qss2igoWQR*UG)i#<1k341r8D%=Jl7ytG`?~xj$?s+#SJ!Z9fd<^%-`q* z(zP)olg~5#6*Isv{B6XzdUfC~#;{eCHs)9ZKKCBW3*Aw&Y4@VPP-Rz!0{ zN)X>$z<;9$k&0vS&2d{X5HPwcM=6BhhR;1ogAy17J%*bQ>`S2224l}I&5h&IG1D1`yX$000F~P9V?7B&f zS}B~clo#$#ot9MMxKqvsKaxop5cIdB%1j68%=r*Z?d39+mtx-@gCzcTS#C$!qW?7^BUwm=UF3qw6R9 zJC+Q|D1B^KFGRIPO`s?N$wl{4?T!@X2=x^oLK9j0Cv?EM_F8~8Zp88Q0B1AT0D;4|dbj(6r8@f?p&GJZbpjbCePZi>py zpVmBqf1hWcM^Bw!fDf0iyXBARUr&O5|GwS@o&;;R$$jx%0@wHdbw8i75Oj5Q9Y{XG zj37_D{Pc0T;lap}?S7EhoijD0K#|t&>yK#+vIEN3cX?n$b4VtE|J69yv)9s$H!zGT zIOQA+;k1`&xomM7S3~LfHh$B&?VIr&Uu2OS4Y*7>Rz$zw=s~_@#>Bd)LHA3j_sviy zn>RRfwk?1JoVU9bU<64lt?rG8n7l2j+=R#hR<^2{O*w5xlgGbDl`bOuO-yXorllRo z|6n-BoPAZtYk$9}_4_(`&x>s%L>B1&Ks`KIEq$(?ZgG`apU(Jtqx~ANOa1E8{tX_C z!ie+i%9kE(9GR%MM$K<3>O#vpBC&I|OA)3hac0o5?i=x~4VkgsQ3#4V?(<}{Bn10vX;&RagZt_! z6W%@6CaEWxv>~mwav(z-+a(d>1p|vC`Y7}^K3;$I+VDcs2=~Jr+RXLUrbkdv;6Q$^ zsn0`{EOHN?HeqV5+9~%N-)NAl1s9#VKZuAAP!%ozeAv6qMGi{LPBHoFC%3q(JtOIR zeG5v@OEN%Hu>6drC=&x=5SAo)B$zINvPBYTFo6FhKc>2mEYU$ z=dEV(222~i_TnD%RpdXC5)WL4lBSc0VHF1(pf_?96vkS!Z3H}>Gq%5cd%xh`QQ6wt zJ(}MYyW`D(-?j1=-Dc}TOjhOavZV%=+%d)Y(`D=Xb3Vm)bgstc+1)#B+=`p(Uyo-G zDVyXLH^(^w(nY1Svn1m-b}n~3$Y--}clqZCA(Okqg1|UN7%Mgl8ztF#BjbN=fLVy5lQV* z){86|Wiut$uy(+DLfL6%n?1sMIR+giR2j{J3D^Fs{H~RPl z+rw8&;0<|nDNDCQ$*0X6SK*lbJ~{=N@)B#-tbzMtkv4$R%B!@!jfUFqvr_)&U2`vn z$E9b*{mTMcunA9H?hJX@%K`UEt5Y?9p`%-$wp|0@P}g{>r(D%KDH#OBZ6qqO;XDSqt=U(IUY zWxCU1`Do|&7Ihi~#YoC~HA=dCyO1&P)#7Fa*Yb{>LOKg$x~okIzc40IftFX^nRlj9 z%&RMdNb)AfFuZI-z=y}gNS*=s^sTsB(o8r-%6j#hp1@;s(8lpT{x;LN+v`?mJ6^IX-qMtz)ei!xCpRXUz*w-I zKSOd0lSsj~1Lgt>8oz+E>(c%^Up2Y!PSYU}4+pqRY*hXkeEIKs$oI1|_Q-!eIkR6% zcP4-NH9unmp@)9Q#$_I;#&G%vM$xk_JfOY3Y~fdCrB|n0msk81dwMf6kJ3lkl|60@ zE-ej6FK90{x(mzW@b&-vdfq#&75x1P_eEsaKVc#yo1Z+G-cB;ntI!pfk-*RMFac*^ z#lmVVT1tM2u+<0&xSX_A<+_+_^N<$h`q` zO%i{4-BEE}F8k6|^C$Eg=yZRSQs;I7dtmA>aWwwE*LBsuW88arXmu@L5%JUP@tzst zexg20hrspL*LvR!31O=hwJbGRxS#)mI?4)du*M$YF8~_vnwIIEj(fp_NkKj$9{z^D zp-q%2E(}Jv!c=>HNpk-R#val~XHOvc=k40T`5`!Z7#AcD{?nMgH>m=;qJ2~-Ca0rc z;IWI)m)RR5ym_S97@mUn{goCoKQ0e^sBc=yS}UsHy5Y==TZQrIp6?sE1VueW7o;n` zOuQ5#)q^JvPW*%2_>ie&^xmSiTcoS1nxy({)rXhYolFP3&J7xhOmeaw&x96R6xR|( zS-isi(bu`6yp}FQ8$2It%qqM1)t+oh+eeQ;~8YWCjH&@vb(T0r0_)ds%t6v(!NU$CW@lKKdQOxh)w@ja^$p$@ej*eDvLQ8aK+G{{5IfKl|N zd87tZLDm-2WUtpYUb22^)P5;c&S1^R6@Vvg$NeES+IUkvCj7PeTq?RAOzt*iQEC%@ zGr8{v_m`-}R4-VVy@5CIpY<-VekbP`X>6Ym8i7M68}hHy*&+#B<~QQ}`MI41**yAp z1Q1EPxv3k{vm2=m?}o%-qtC881S-GKDC{BR?rTO9=%T@cgM$>Bz>DnXESkUv2Ri|1 z20Nh);SN$8wMvEgh}uGP=n%CWil(WghmJ83lXD}xszz{pn3*4VB>sS=gKq3<&|y#)=ZBRhsuzyVK+LNfp=a>x zApZ6AtSEK#mMo*>y>$Y(uJU*n#n-USZ#D;$UQd+2erzka3tA21CMzx$>}=T6gi#t0 z;LcUpVP=tPXi*gikeY`_D@|B*nM<3{uyI~2{9V+;pd$i7+-=+ygYXtDwbzpn@AL4^ z6{Up1Rbo<+;k{i4la`THfV|g~40IT@ujMsfU&I(cRbQ%hCc_@yxQFClPtNl3s1pJc zo&bo|K|EfyZ`&m!{O?KBy=VIa8X5~7IDty=7=VD&ACB*t^?xrF+tE1eqX@8tA^=Dl zR;iLI#liqeAL?sS2?r6bIKfb&K}1|DR(w)mvkH++Mr_TcCQs(D$7@;Yx^|93lY$U~ zyayvpZP*Sbd?6feTy3oJq+*aQuFt^?`g9o!2SIWjpm}}JM*{_o^B9f*!!6<5b;;tP zOQHD2$~+-K4qy~uX15J_zM$C}&1o8Aa58WV`%idx+n@2i3cvG!_Wy~EMJbt6i*YQN zkdP5A%R3h-zQg>{)e1jq)d77__ZCuC4|zhzHhbT zUOY-L_GtfJ4y=DQ*cUK^`{HT@zk2w1*_*(BMpyfQ%$wYOdBKT&iPmxy1M%}ZP| zcv*5@;u7-99rLn(rK&%*O2Rs0N%IC59p0!H_8sde!6r&V z`n`hTs>4yb34Y5!(6enH|9dsQR>h5e7+4wFX_5Gf3gNGP_}>?ziNgP zkAr2^Ic_~myv#n%5=B(!)h|w$KkYu33jwo^NivaCq1ihxHL597n5Y1`d&Nu9i&M5r zGPzt?o>q5xO)SIzu$kgswki?zN00JLd8ZT0Ekpynrw!Ag_{=2*-nG?4$f5w*g4w0A zQP?w*avDzB&TmPUxj@W0Ky>pghh+~2&~8}8k~Z$Xwi@Nh*Md*r!+ zuOq|C9*6{qC~b)+czi!$gVQ7gX%$E$$3q*B0=5!`H(V+eOe|R=d(R{h%j@AX&Zg3I zF}U-yM(sN`8zx(2nKhk_t3f7u8;{-rTYgH$X%rLnRuE zjE90p3kP*m#{nEp@u0=;T3ntbi}iKlaMzj7SDCA#$UE_kO)RD@1Jorj-Ma5BX}y=OwgJ0KLZrL=B?X@a z&pSrpn63o(#ohA8GF~&X;Mq|a&YubTuc!$)`R1@zZ=Dz2@9>FOr$>+ev4<_#st4%y zqpnguP`@^L=$5fAX(*gRd$QwrisG}e2-sXE1%(_+GTx_KO{l(yxV-=5(aR@1ZmSz) z?|WElpuu+QO{IR=s@Cgg^@cM3Zp{#G=(-Z*dsio`oc)yQJmFY+q7bW?qui zkX*ALg_Ip)fwsp=j!j%aR&8bS1418^QFsNy1V+I^HJmv(`i2aqUCizfi&XcUnb26Tsw%Wxv_R|}|911Vq7fsP|_3o)MQAg1W3B8mGU9L1Co z3J-S58h8`;ZtxZBB$s*G3D7PMXdf6_6tf~s144QM)=-iz6P1q8=|0adTj-BMO2okQ zHkow0(cO9vgL2S{po3W>3`NjOV)2ADC4kcd_`Xi`Ze3R2NUopIu(%8`Q|mA*Q5)aO zb3YtQw4v#eXEXgqeWo6TQe^TMTaQU^jPVSqBrS6t;I)3l89g_XxheG7WjNoZ`8i6wwjgt>nh#!vaByf>Vj<-D6fGNbWh${-|lQslvNnE zdfnf7>b(B3u%s(I^;HN5&vGj~UoUsok+1jEdT!SuE5=siqSnN)daq?K*OLjZ6-*L; zhY?gy8yvApyyPLh1c@7p7VzLativ?a=eZ#z=*)W+tRt6i(ySv`UVz~%bJ3+AG@@ME zH$6zY&CL#-fr_`6-&dd52G6q0kB$lWmnBV?P9K^5i?u9yi3dEDg3}y)79;zOTSd>r{CMxm#LS9 zl)M-`WJVS{Q0s_IXtOh2;EbgHp!`j=s?^ybK1~L@)3M zT@LH}-D>?6$aT%{`E&L?ls-Rq`eYu>H>*F+8z{k*u58=jZg>)RVvA?Zs)WY4_54R$p~5^%H#g{xw+uzoifA;UyZc zP+9zoPv>%B_!qo6K1Qnodc{BC9c^-Z8QnKd3A31)mr$5d)qP`1Sg`aneYKaudNkk6Lbz|R z#Q7P&KR<&f_&`ta_a)nP>Jc@~n1I@T-)ON>=l3n;M(TO}vVar>i7^&Xzwzy9?FbJe zH5<+g`hJeixG?|U1JQp|tu|$;^lK`MvG3R=#H>J^k>p_#t% z&zFT$LXguF{8c@yHTemDy)3}|;9kU6@+ZBMyNQ3n8#U@P9xeTOwxi!X+j&`#Zc6x0 zdo0NxtydSgYtY@;d^Imkxzoyt4S=4_S48d8*YIQu$PR(Cu7@@1i3IhBVW|9V+yREYq=ANCisO4IYIm+ zy}}>xj0B9H@yE-;x0U19u*!#4A5*WaGOBOR3;1rpE)#7FieKz!{>m()`lh|u;kRu^s=nLrOeq(Jc>^Wdt@gOZ zyp;N_-ZD3%eyg|EiR`?Pp7k=W7JfC4{H+%TsDEg6;<5T}z2Y+ep2TBan;u?DqqUKG z3qM~!r8D9t0g zAR5<0a!AxeH&6159Ju-|-^QkJtV)_eTaWN<-0#WG$)7I^j=Sqi^Mqfzv3^ZIUs_J0 z{8~M|EW8UxgAjhQ(HnepUc4-5ciETxi{2Oq*_Y-CzMw;(>XLqt?`VstCk+ESjQ53pVS=X0~hj~+3HJ*{gAIy z2dEG7ro{5i&Zu7~OmUFP`k)lDzFW5Edm+cs2K_6f<@EYs(!UHxqO`lUyCv2K@j8X> z#@j)U%h0RJ;bF=V3kT$3Q24dWZqYkSRxjk(lPe4U6f(NQapM8}Vjkbiz7?jJbZ1+5 zquQV>KUIkp9_6t0+ExzdXoj8F&-|}bYT?v3Ri#ic>MDh@vadzwX_w3IYi;th&+9-k zHpX}3xyx|RNd0E(xGRIsD2_TC{dY#22$Si!Qym{N_DuDoa&7cIKG|@v?P8d#^#C@@ z1`A`*W9z2?ih*8yWOB9vf8)!4v09w}tAhoQby~rz*4!1jZtJ<~PGt*ZyVDl|S7 zWEbLpNK@`5t^M{@k_z!982|*{t!kS|!LFhye<(CS;mAl*$E!o$;N9^$F5xJIrLw>X zwn?_GYahK-*5r8YyCrSOrMY4^k{+c?nLt8ICh*9TiaWBzT6)t}MMkNkN`Hu6HfT!` zT@8dAIFs&?mW-Qg1_(7f52S+nv74*G_QnXn^LvuO`pJd*hgp?Xr-)gb2d|5oMguB6 zeJP0YYGA|dEDmtOF;5=7l=$d+yz%|q)XqK_G!KF!49wgn>A@?ZI+ST~SLAK*hqvWK&Cm^`BX4|I3qFXug%nlYoxTagv}>IF?#+Qo z1tq$yr+5L2?b)5>Hoo-o(TW?o2Hz=Pn`u?iQbgL4Eay1F|N1L??GSR~uQL4f#e|@3 zWmD5fL+y$|8;&b4bCt4;9KqBR>Flm@(J?gC3PC`1mN{eq*I}45$7lsyWBt zXI3BpWd&5)OSS8|SkC1jF4x*bCn{QjiddbF6^cU5(E>yIExI#vwx~Dn3k4lqVj5c8 zc&j5LeJae&#aL-Br=r0WKYW$-;AKFHS&N9KWFNMW=@ysgXmMF@wL+oY3xmP*rCK+8 zaq7Czw97yov#8db>x^_KZcA$#ZzLKbH97{3WYDBV;eRWO!i`_|gl%AmPw;m$iCcI& zklE(1PaFtn*SJ3UXNDF*Z!)Av1t0kZzbZ!2^YXnb_5siDqwgv_hUb$TdrIBnPcJ3? zv)Ki^=$Y}_={JB)BQ%NEsNfa577C=}S~%OAR@+eGEyG_g zn>aCy5%59HIr;I}Hk@V^iDpP4C=Hi-^v?wXEj>v#H85j>GhhE40Z~ICZX_GCqnLW_ zM}+(mFx}j?H*j1ELl`6G>IccS)>`-DWZb*w6_*hhkbrR8t5&R$0tT_pEjJD>H`;~5 z%gPB1qt&cmR9`xm1Gch%V-qPJ+8Y!%9YxrAFShRlJ_r~q^gb#?)CGPVfKrY4p}_hd z-XA*_!np&gu+iR#cMJ5Y8zf`k#Sab`vcbM0N;YJ!1qA7&2|_viIfVb6!~c$iY3I@E zMspZbJV^{OAs&4-6>=~x%0Qeq#Vi!(#d(|^wSjt6Ic_)|X2A}q*jG;k2Sg%!Z6RYI z?hj(Y;9gY@zG)m+8gE|C0iXM`uRBIDIHW-kK1d_6q6hZ${=VdBZ}9P@GuPHU(n4MS z>ys_jKcS*BAVR+Vt0({bYwbS9+W96H7qd6dw$o8~e!q>^`?#xz(Vzdg%V*EGz4`3( zQ;x(w7h#SH-jAcM*nn4wKxQz}iUqAvMuqaOCk)JV^+Bq%D|e-$;yDtR<)@-pI9neu zLwJtIoIN*ty7Is* zHhXzHaSB#0q(u7|i1#UWYu^0M-nWI?;jZw+lTue_dGV-GD#Cb^EfV|SyI z>W#uvwJP=3jpCz6tE%H_1MTjq%pyy|CJ(X{E~JdG_2>~@KtYptd+wfm^yu$m{fe|9 zw(?#!T~t5pfR649tBXdJ2Az1htS8!5`+pqxDaeWdMTIu6XpaV6 zt=NIRVrn6%ljM4QphkU=9<}@8z%y!%w}safZkep!9L!ub*F z5qy4abpTcqTUsu(lXg4|kpRGq>fbca&STCVogNNuNxG4nsOjqd`G+5W+$2BZf9&$l zqDWkS>SbYFDJRlnUER8=Lc+SSRp(VS`@D*l-L0X6yDRuqB7@=T?84sIWvojt@%7i) zi%6Qs4Gz+3Y0L<(wOBxL>VTBdDv8&1{?qvW1pZ5Q*-XYT1V|fwdO0XbC&V-f9q|MW zL7vbVxhHeuUB{DNM}z|zevpC}EOT4kI7ZWwJwc(l@Cl=j$hckN3B7>Xl2Je4HOD%_ z2psYFnhTKgGI`v}`sjfC3N0--6<*kmh9NmE-^P^24gHoAPP!M|#8F2%150mf4imOM zSl%cgY=pS0RjprP1k$Cv>tYnS{w|K$q*y$`+vDya9(A6e^E8Gkp}=H%CQKkkHcd}=_XF(m2y6|X(q2R48(x^p1H@=VfM@=W1;;g%q#!VW>S5%t{ z(6$|_I9x@Bfv?t8NIBpJ$k4#`s-^mt^Dr_J9#>~3Xw*(Ceuqh&ez7-0$pm@l5bvdB zWhXNVJ8^58BeZ3T!~b+EustYp7Jzo%p+yriOWK1v1p+tGKRx`h>58*=={5SJIvq5H z9d~WUdDDWd&W`r;L4YB-5Of+bD;H7GcbJ>2B;98_;=SFI%#F1^3_TOW5!^V27(w+& z5vf39Su`5PNfN(5d$0t8v;e-=VcYxTm$5vLhB`3ArvNbrT8<|d$VkdV$ z8z`x9&o|X@BmwUuCtx({Cs+Hkr@(}KVq&L>doEJQ88X%q8spVwQm^z}TKN)yf1|Fc zLUKx>?Y27tqVi>-__XlRQSl}2P^%!nxz=r-AZ zg5k`bNZMlUy33ph3zz8)=U^HE;OlA$%!)^fB(K-o|0f0u4Toa+zaKriO;&g9V4KSp z-O=!XC%J8l^&Yo};er50E(m&aUTHLzb3q_t%>;p=SMot%>b0358sF5;^FiEkH>QL5 zj=PZuf+u4J2%d}_5EP1L76^)glM6zTn}5Pdje7vcCBA?k)IIt|t^AWQ*``9tq>aIq z_f;~@C5vRpPdcThB085K=93w2nmkL4Ocy~oVhbodTbE7>kv_U){D2^b!q+1OCqd|Uoq!?Tt2@J#U zP4deVd7%CfH6gX-)fD(toZwS&$sSCBPXk!idwEuQA{11fc088vtN!rB|FWdxMj74X zit7irF^RWe+gtoSQ}kbecHl<#7HO)r zhQp)Z4`f`#40dTKbGDI>N!B^Bm+BC_WM}|v+2Cb%#ucNS*%aI*47D|7Gnla~xmuNh zy{)vbesNhZvxkhnKktR89+Kmu=%85;&h!c4E|~%7nSjg!>!~ofTquxyz0RSMES8-I1!R^a83WDKH>fB>m`>xwF}$y_lFJQmmX?>H z^K(^8@$9BGSwg*l&jzIYrd}vTdya&d9=8c+N9O6W0X_=!#Y{n|Q_%ZLeBwD?Aby;! z0#PJ78zH~=&y-a5z*U^K91Bgk)$NQDYd@pIvWw5LSOtGnI~>ezPQ*J{m*M^s|2LL7 zFQSbT=FkmjB8 z+&+BzHOMwSYf;F?p%aaEW%ODZmt^Usl}}z}53uY#v@_NZKW+T*-;W;s_~YtNn?J(8 z$D3Eu?ra@s(7X-WB1ZvMEr`B`TV z`T$MJ#lqH-HRW8nw)VuXB;6=|<~C-6OoKVzC{!13??as{Jw0PFxrFrXXg5Wa!Z)WkoD6S4c%zqEhpB;_e1Eq_)M%1LsT3*-`av^ z@4~idU-#pVn0zt1y%WE@7eDU#E*R|LSy?Y>%FGo=2U8kZvy-|78Nxgd>sbI+hbdu0 z)+hdxj!pMVuiG3wvaf24wMw>gO11qfH8ad<#8cd7VL@iQtP(_%HyNZSS0`dA4+~PW zq$(GsOBbFJW8Gjp=j$j-6ZGt7hfiRfZJ;FJ9oV;`EY_=I1z)$pz`rqpPfXnvbTdYQLM zsWvmMC}?s8?I*j7M5A{db6z+>D9D1!*P>1Dz5PfrvNNh~Pgx45Oi z_gAzEctFglS}vrzZkdbvha+PM9UNCHr!oMX(}3r@0xw|Q+3+=CuMnANCb(BA zBnxNkRqvul24gE3TQdYJ4Se2*{lX}0M>(ZI_LqVP5|o-57mBh zAlO6aH);yZlT#r(C4k)4)3DPuwc)|3%+Ge|#44P)WfP~U=2^1)ZdYV>;@sHgsp(>^ z$lK+P6YOqg6S&XrcZITa=*3$r{Nil@zBNH;mAB5d+ zv{#Nn3YW~}QzP@nYS*PtLUQj&p(K?es-#F0Q6fc-EPCRbV5CfG&d(+sHaU__*;FH! ziKPBmbxqd{K}eH}Jks|;1QO_sO<3&OydV6e)S@pgsj&eNb~=o4noAazyh58aMHX`D zguTntyL%cT@K6D=*M*VG;lhA;AnF2|P)gye3Ap8KZ~M!qr3vTt>Ot-7qG2S&0(!AD zDZ3v>HcrG3+Z#{6T-)Awwp~PjmDi^i>~#VR4JPT6i8});As}VUJ42_J+X#64KqU9c zIP8mF)CaC<1v#t6ee$gUehJNQ#zkVAE<=FT<~**2jnlL0cW8XGTlm{w|NbZZV+39= zZ|rP5d%o!gpH)#$KeUZ4`1kDD4*o4Yf4XJ=rGMK`cm7r??`-cpe_AS+p8svDv{Qb% z{WtNann*bo{r6Au?|)L*{J(bleEUBeCim0s|DElpu>Z^Dr{(9*OQol{|DTq3{@VY) z#XnBFv9HsNSeaz@-Lx{CmSJC~S}|(leJ90B;WX%nyH4o)!ePkim4UO_6&DHcIK!YF zlGbO`#b4u??EnO4coDGU1r)o9;P@$g%RJGpC)-w?l|G4TuW%e)!o&LUqhGk6@5Or0 z^y7f8N#T3VNxG1JR!JEChwguu^naYKk-z`Tu>YUI{(rXf99RJ;3HyKh`Oee7_Wy73 zZ*#RER>eU)ydP1r?*I4yit^Uhb5Wz+co2_3%%JePPz+0+hogR!kVh~k91lm~<-NEX z1yH=RCc2|AL}{gcjqdeptmCAv9>J69zq%D_wmhfBkqeMjs*&W!ne_ zbD85_$DXLqBqXVUau@@g52b)!qu#E8?AeLB_&22S4JVhqD7juEb;T&UoQ&aRf-l?Q z0BRvD7|H|JFJ!^k9uSAFDI3(yc=v4W_^(?w0+UdMebi-7cyV7j`K(Eu7|ujNh* z(?{)M6g_-{(7SQ37vJI-LHO)M6e4+7t|BIx4=&@IkcP!84^k!cn!AE4GBhhKKdqQ) zqeS=N-57xlgHZq&FuX2`gk)R zXq+82-&X2XQEQ0v`q{U&!|I_}t~B6zc}={nHQ$_FGzFBXS5BMXi?bt9IsIOIQ#(Ce z6ClpktBr;@t0T19$@y`u3a@LY2getOm?rWSR6RXwisRZztqE|OXVj*Ih5|ppJE_(W z-oRt!RqeRe{GQhJsMb71$VX>&Q4!~rdb4(Laa^g3^NafVS)&S_I0VS2wbLW?2CAM^ zPn#P8T85XR`Yk+(#+%CVu^MIN0>)9to{EFB^Y81m*KeBQ&Dk+26JAxJgOyjuRc;Q3 zcW_*(ovew&$_XY8#ad?og+_@bxu4?gn<~D=Rx9xT2Te?G2m?AeJ8jnCaSg^>Z|d4_ zYmMrfsMKo>=rIkleg=);^g^XGf&*1gs|*OI-d!Omg3lL?s)i{JtCeE_*PsPBb;_$% zu1sJTjtD*R60nMDp32}l?v2G)sPlOl(8IlovR#nQ%H}Fzs zBV3kw8?KiNe-8owy9M*@E8MID`1ZB)t^BYDg~I0Qs(2~wckIJn zuE#+oebK%OUdJK((Q(LMK=gQr~|?bq!8AwlWg#!7_Hf546y9S77&8C zy<)whM#U=sMG`wm#&mXwRWzPkE077&WROHx1E3|n7${E?{R{+CzXM1>VBk0QrC9g{ zov_D190dbi|5~@JS|P|1jH$U-ct1zy(bJ_h!kfy`g5!`k@gHX_b~irCu;7Fn4aZZ) zBu9`LnV@h!t3juu%S-^kcDV)TP}IYiADHAI^9?tk^*TE%-Y;zAh!Yca#Y$#YPC~>!&gkwpq{WOm8 zn~4R&bh_nEu4)zAk&q=2s_5@3rWswlyG!1_rh17B20h(V7~*u+YS$(^xrOpa#o!Z) zezDJCcX>)y-3HNE9#=pG=GxJzDtX(QS)C4wcJX~KdF2Kqa8+1-@}mjAz zx}2x?nZD1}b*$-dE4Vn;f$WY(btQje=+5df^SL{9;Ia%ijawnP#RCPzFpuG-uWoFW^ahi$U`}*o{w(~9pMoWNk^Ua@lu065u=pw zlJ1#xthl9Q7Hp@md}r0spD^Nes}rNuL}Jxo7J%PRBO#`*)=?u-*Xl{O1MuB#+G&wy zW^+{>q2C9|g`@B)O2**`cR@TBuaEhCf@0v5DQtDUESP^HWnjn$Os8aXKlY@`-e;#) z^0_l6nE%b1=IrzhqrtQpbA?9Fz8K>0@^%FRM{u^(IN!#Y4168S>jag~?*;>-lYYL| zkzBH1F`Zzf<+_v*n%7+eKEKaa7ii6GF-Jnj(bzH>kY_r8nl)64wNB4Yt7#6(%iVs^ zNLK|Ml0W|pX99l98}Zc~Bfgq8V!Ms`#=UCSQAJ+WnyqK8#@pI|{nv4Iz8S)Wz$*km zA-UypX6o6FrZCeM-i0+C0aEQ6+AudJccO$2>`@4e#@zeKsg>VF7r2LE&vYkBs4&)= zyE9gu{I1x5=jq7hB)Olv2Us}2X#zD*oBg136D45||BPRA`CYC#h252)5f}k7omnsC zP}n4F?Yy{bp@u3q@HUnge{O_X3V)zT`Nu!&nR*Z z`Y9)~1427nVoy=xQRs7-=* z%N_#8O%Gea)zIRuq09<)wadMPV`tJHi(xwg{vYip#H#!atuR2rS_WD-t=&*61uV>l zqb&>vy^>NUT*Vk4eKf)fzz%-*-FM+SI z4O6HezEy)-wYWX*tzdIxE_Zg&JZ{l(`nq}o|7*4?=hb@iqF!ASj}@pXnj$!xRd*$- z$mIr#AOi94Nhre};#IJ;+PMjOlaQAkp;`a{0ybcSoQ>7pj_TiZNY8eF!6|K()t@~9 zUF`$*_9uN4-<&!}edAe&imJH{{L$idb&iL>?0@7v;-|F#+1cJn+y6Y>Dn0wl{^$3z z|9SD3{m)+dBj=8yx&w`4=~90-I(~Mz_q0r zu^%0XG8@JS2kB+PRHm&AZREy=y#_l{HZZs1oc@ydP;(**Pg)xU!fjhKQ_)Vmin&9Lk51u|)TRTPVZ^9v#G7737) zECri_L%)fJMD0XKxkYnl0_hb1nhp!El!DEYQLqL0|5*D5;@}euPX<-hNN3H2Wpp%cQfy7Pe}3{!p}e0LpDxai77Q@X zPeRj%W`)eP@UKs!d(z>|UN|!#kK9CfcwwhDWK*&OIFB^xw;1#VQIVE~k6ger zE`EfzEy}%;gs^W#d8^#`mWOZ|ZPd{8#mG)=DTt zr`fA8(_jk=c`dfQwpvs=f8BicLpcjZrbBr&#>_U+Gb*YG4)Tg1@&=P}+(#t|(isZD zBc4!$Pk3=hSHw1|wS*l)dkDE6;P$TLTdE@Q#o0}odYS%wOSw>ZcCbs(Fj2l;`kK*e zXWxF8ef7PDej1N?M>-8C>=}jsqP$ys0*8trQDk~Q>DheE*!;v=J4^-`LW!6}dEgW& zmEA2eph3bIPB-Qx5w8IzN9}6@f=ylrz!hGGfZU^aLLpfuL*nDx6mYPE%O_U_J8QAk z$xI4DD>(=8$fFy6+c)_!#{y1%^x3<4zd2Ydn!!859j#}?NllX*95Zbz8mcbp4wQA* z_HL+$lm%fHc$TUZ)6KyQx&&Yln~I6RBx}(?t%2!}Wvn)BBvDpVYwM zLDVC~PcT+cw9%3pJ)#B;9x8eU?Xkjh7p605hlxyP+2yn|+;1}*x=&J=dD($pJO9j2yWHYc$>Qbho z%AidwWJ))u;h#IvL5IhxPHZ0QZ#Puies9s?=Gi*t4E8PT4Yr}zc5T95V8xWa20j_y z6CGCjqLW>HWV&U@tB&4p%;G3^4}RN?ndD zORkyN3p`E<$W`wsLgho2)VNlAvrxSm1|v+sdOPrlES5Cnv?9&-rW_(p8?`|vB90@n zcPSjD13X)YJ=n+{oVi;{6)SZ|-3g%1a0uL-!zj`fm{=+Q_s)x=#j6Z3^cY7~vVn4rVPTHWN=9 zz}XQBr2MYM#?;8~7@lv~Aw{F&{s{_8P!e07;Mocb#JgYc8Kz>_!FG~bGBam&-M%`N zu?K`~dUN%nZa9wmp?iE}XuWUx>D-cslO8A@7S628-oCmYhw3*D(M(0GnjXgFhYg^y zKF~IOi|PQ>Z&g=ruj53+mP{#3D0Xiga*yIG7?{88&sA?D52NKXpe`*?+bx@}ojL`bT z>4$CqwRlH5!1zS0XU*%0?y^A^w;ES2oKl&e`FmDc#i?ocvxd z<@P!AHPv;NDXPQ^Oa4-=mRwxki-g#8bZ?|q2hFL)4BPGnjk~diGEIL-7ZqomfH;GK zDxV~zm(wh*iiW~kctBg30EKy5xOy;f~#@mhVSV_S21cZR7 zC&)^1z@v01^rUN%XeeWU)aolyR~%d5s5n%+YrKzP=F_u=rjuem8&G?Y7ua1hOk%U` zfuhx?yd{dplC;8+72nJnA;ex=ax@%M4V_z-!4rwI`zyVu0+%3inOPylfds z9Z;j=DT_CzPs`Q((~>t6s;pz3sSE3#d1vnGW6j)Z)}U0)U_;KJ+?s$)>X?M1%{?cD zG|!ZKb}BM+!9HyxD;0`DaC~VrBh%Hwrk%)6;#G{o`jJnYv z^*-$EVKN;*+6umcYZs+=b+yv?lpZ1bSco~CG+a?1K_;R^QoB-{8w!BKW5%}4+Rb1h z?Eq%VSnFt%(kEf|e5Zl5}JNNJ}?bl6!3~cy#~CPILy1YS6VH^HVo5h;o3b z<9nA^-^fL$sS}KbpCk(nC%{;cWQ5j!6SHU+%17y>a`PT3(9KXENc#wH4Pip*X06s0_wj@-%Z>coJ3k7lwSh0l#a9jaJg>46;4vDW(Pl~_T z9N&UvXU(G!WFuWM&A^wuF{y^nl_^u#?j)+8EzGAl2yV&vsWz7s!(BOI%_^+5G!x4XJX3N#<+2z#)5=8hdfKdV_yBnp1 z2EVbjnA3Dy$ux@Kj7Jkz2Wou=oXA zm0-Z%OVp!~v*r~ZVZ#wB7AE6FH>eyr_X-{(j<&QZ`K93c=C;RoF#J7jSlr5+E(Wa3 zS1QM~*QYD;YS0K3ODp_Nd|`<$>!MT?kH!C4abFcRu=?4>>0#^QywyBg!N3p*X63F3 zKvv)krs|vYa~1#Vt=Bqv1vQpzNbtNyhQ6!#pJG7<_(7{*kMRx8;$Lw-A8h~25nVr> z{cowf{d~Kevj5$AzWtZ|?{8%P`_cZP&6;aWT!z&Y&B@>@L51*ZY2URbYJ>L1nm7nM z!AP6~_qHaQ;axyRc4#9a>TG&j4>1HNGK~`QAI10>0oeA(4>UeTFj@QKg^iC9Ov?UP zCg>e!d$-BY+R`b^BcpsKYhdbfW!M7swUtQ9|traq|IP zZQpBwfGE~D97TO-xkvUn%J}$Ikg#o?xE(30pty%7(f8=<$9e=S3ZSHXgYZ`N8unwq zPkLn)SzNR|}|0k&83=GZzix~QIa?3zC;5Tq~Y zV>USCoIxMCsvFDkD;;;yiTgOd#;YSY>f?h$JIb(*R(Tz4(tg`dJx_@;DL)T4JQh(iOwTgT6={;$4 zfVyuLY1g1>{)kL{C|WlyvTFX-N$d2i^{R644H{84fMQeuhBmJ#r3xNZPYFd4 zyi zK8W~|M}|j1chtKfD%dW=F75=mnWQ$Cv@v7=M_K@cpq&(;YCIW{CIRRN8#WQ>$*>m( z(D*u<6Y+y2BtatgBkEA`z`ll|TwOaCd;gw8-h(zWH7w{#pvravHEckZdqG0{5gO@+o%Bt=Qa9=* zuz1V4LY6)MmfFZzF-*Eo64j)-%JGaWHIPo&8wV0FjX_%vkXf;9%)&}EX}pjEW8Yf4*HIQnjpxbxhjxK{uM~&+`Kd&NZwXFIs~UAsEgX zo`qo7|;Y%_-1)q)8-Vj&2kZ`rKQ42_3t}24|i2dZUT60;t0z z^2vBT;5I zP0IL|EGCkaiR?9$WVU=1(iMtvUx9L%&Sa9HgPt@Dv6X8Y`hmh1skaY$Nvv+pBuNS6 zC26-eNv;! z(kNfqsv^&$P0`tzE*kw?Tkz8TIJw}8RobzgC>aLh_O-f4?RL~Jd6U5pnvF6x<8Wk% zOrT1fT+cz`29C@gCqQ*#m!fp|bmK6YbiIZHNP8POb%?KV4)|;7LxmU7+Srxu#fv2m6kkCqNK%9nbuG~ zh-kB<7YlujF-kwL6RQ!aEv*BsZ%YBW$&)oNdQiJ_!? z4I;k=kItXdBo88LI(wD`O#T34YU-qOAhTX)a9 z{LgN94u8?ip740^UujI5jx8nHI8KlQSWYk(qv)DZU}YF%(rni4XZlz09{Dodfb9 z@T-DHYRE3L*cW-oP_$$WM{8vm9}J=lfA+iuh}GFAj>lgByNPke=*%_Y-0X1|TBb4T zBPzV+z+OAXn+_EQhcWj$vVw!Hi6s0t^g?4#-cUc2QPwC7AlJz$x{@MzmWX``9U;CcUFaTAUJP2QpbN z@@k2%X^b2$8=u$Jhp(WRy!dtDXQ6Ks^jq>J1;|`mVM7M+*YgA3ak{-;eRa|J9{GfA zfQa|E2?+1#)x~^=(ne4?2H^gC8t{Z%Q2Cw-c#K<~Jytp^dqv|snIs^?$fzb{A~)(G zQwrSk7>#HJTcv_DIhgb>(NHo#J`SBf?5G9kqfeHSk}E=4B^X6?huv1GtSFHMf?{VC zhRc5R3O4Eh(e*Pb0a6JOx7(8uUGPnijG=iq zD{%<#q)wJiQZ+p^UQ1%jtk+>tybYh+gt-f3Q)&kj7yp;V-9OA~t*^N2Rh+$G(m8@B zRBZ%t8M4<&Y60ooLn|$LZK`IJfJ6!E@u40XFagal%WAGs$I3Gacq8(!pmwDK(OKh5 z_TjNY>hh(JbL65kI)LfK>?P=-S5<2x_sO&hF+>DiRQciA8Ya$pyW#iIo)0JNZTt|N z_#KIVFM5YzFOrZL0$6aHo)I4c`x+1L_!hVB8e8KV3}Mq4d5y0$ev%R>_jkFFGNg@M zRcJAB(M&hTAwst0c$o7d&l{IDGZq4Dn16s+|2EY6eV3N7Nu37baA_7>lR=v?4k+Nu zG>%p@a`OvUbg(T-HqIQyJ0W9o|L6G!}yaI%K_^(^oie$|)x@p^C10xMxsd zEjnR8hQ>#TGg9-5usKTBbG2snYFN9JDS+gzW#hOw@4^u3kM7a%h*fcgB{Z-pkiz;K z{2FMRRY%9JZN?;LP8)HcA4j)Fqi{GRI6sE$VHscOYJ<6CF(d9oq(N=LQhYOAHwVG4M4Tsy^Acy$#bfR%MrI%Tv@Gu0>W z9sRS^H6dl1OU2|`dXT0GZ9RHK>M;m^FYL2(8y;-y%uVjfn*m9z_-V(vdPeaAMf1*tL4p97>Ri`g6l%?*&)Y4_7A~8+~xRH=jaR?0IiYum|qzVw=-bGx?Fl)^d=NoC#5%~Jou%rO5-=|eR3HvT7Mmrlo=AYNB;aG`3 zJ~Kdg_o3y}3U}L+a0ZBa?X=cBt~Hu(s+B`sknp-TK$BfOv{)P(k;h~Z_5Se>PEi51 zv1aA)uvw`cugHmi?4s~!Vh>K`MuiE(Tf`UW>t1w`UZ+oGR51fu|2poXg{BMNHeQlt zF$uA}y4KUJkmpj_K$#WfynHg4q`8?^5uww5tI+(ey`@NNjnkanQn`f0gV<{{T*9|^ z(U5PmTgb4?*phov;Y-dt4Dj=zK)tW{yrXpWa%oa?x#rBUWg?|ZG9fMI;lDM*`IJGe ziPoR1C7~;B*c2<;fEajRk9jhka;ZtNuVp?n$MI*TTV5Gh$jgb*;lRd|Tv)Z_g3PFZUkNFQPh!8W zsNWAeh{nBpKnWUw+`os_V{79t_4`Lqo(PYjC3_iC@;-fWBaan(B4-{iALp2O=y}CH z34qmJEGSwf9)h$*m;TtGk-qbxWnq-u$Idh|wWEy;d%8E_&8%QX9kqk=(AdIPIh5S7 zrdE>)+Cq!D$lRw$f!i6v-w&L6g|4|vo4+(_FQuo1vJ2ye{$rzc4wdyxR6$8X2BU0y z6Mds;PnJ`HQpWi{u|3MP{iD~gXi#5IutxhdzT?9Ah^x!ilaXu-IFH4cdNx41YZ>O= zcT9`baet`0{CVQsh4WaLtRBG(R}S7ZDo0ht8bM7Tf272ug;(1?TJ2R=E9ahsE+#kz zYb;1&AcSZz2@N>w&_P&wcJSddBfHq;lqCw`mYGgV>ma3Pvz;EBtr(}arsUdqOUg|x z`7CD<@jwMKLhzzCZzA8|Z3b#6ixQ2+@p>JR)1HyVtsxGGAsNSw};jn zro|EGh32!pd@8=qWmGd#ugw?BUP?S0$LKckNxM0}l#CrM7$qZa38&}itHrJ(sDO?~ zfb8u0By~qgjG_Xn7}38Yq0p2R7I2lf3x((=tv!Ax?}%Ogj+#g*M)Hk(JeK$GnW6@Al*{~}v8Bl*$L z*vm`{@GCIcTX!(ssPlk7#19RNGB!Gu<%uX*YcOTzGmC?)o0)Fsq?eS4c6wG?)k1EH zGL)1~`~-ti(5+5{F~7wSoyO763`sQNpuXks?wEP@i>7IW8j{}0iq(_z=JzZ4Q(pA* z0l}ctT0}GYJM;J%agGmP$+1ffUIWg!_BET^NK+Kj1+dmwDW=IV+8Q~GHLc=AZ6ID4 zK9R}Fv}>3Qe~UzvebXrZ3Wl@05}hy{${Z*vmLfazk;kTtM8NlaPta&=6ki6H9AIC= z2bvZS?2dlstg9}^8%bVo82;bc)ba)=XSf+oL|q%2zR*<%I2=MY6pJViIqHCaC3miOBHI%}sWRUv=< zQp-okGA~K6v1jg)K4_>5j8$?2GqIk}5B*YU_ukJ&zj^1<*;jpcUr~kGaP$F=r&{lh zV{{WA5~j~{M<S$t#i%^sqx9k+~i4 z`-?CN0Ni=yPuI6diV5g`M}DIF!s`)X1A*n7jegpV=Y4iM+{8Pc{8K9W4QIs($U3=W zIr9hO>$Veu*^UGeTJTl$DHX^@rN_Ky&s{R}$e(8R4NK?KX(4X9;@%%#ednC(cw_vT z`$^Lz=Tc_&Dtn=1)xfi+^tYMIbR+|!F)0a3vXArP04pzCu#-VPV7?@5$Urh=KL~pf z6~;QG5}&>pdRSto5bNvWUl{9|C@0!Mj_xs_%9Z-4hzC;+AO(ceQ)mXoD#fING>#S; zPUYuu`iOpB)5V{8S0|^YIY4E8<)ev_eD9QyH4lN?wA5ca+ybf+OgV@nN=F-@YgG^YiBAfHbNQ$@F zdw@XoP^GtQXik;Xo}-8~+9%1SEVP*=k#otHhurZs-BdqLZ?estB(FJ1dFR`yd(-Uz zoc%MW_oiF`GF%~(E%!=an%0!Gai40fXbeu|3nMWq{ja4c-k=8dRXiE{i&QV|i}h0K zi?J1vH*)qzxeoh=Lg}wM<8v!}u1R3A*HyZ*37P7V~3~4$REfihD|E zR^R9?;M(9eZfH%mQuQW*2@@(%HLiQQP$3m z`WmfwNpclvmG^nFhWE?j-DNRz$1I%YGgr=XaW^TTw9T{IHwBCDInH(K*?Gd+dQ-Aw z^QZiTx9MCdIk{Bw(%$+$bBZK~Q|H~!`JZ{=;mEs}Sa}+Y5xOVzb>?Cjc%IE7F(L{f zrrkGK%yhP78^?t_BxNp-R6=th8rM#cI(@96l6gZ#SBR*YJG8kT4)?5Ab_{VfsAnqa zmH6`6Qwj|`3QzWEHBOvvSKmu9``< z?UO0G9uxjt?336kv5#?eI^h>H(eDG&pGxZY*U{DiU{)__yC%mBkbuM4S#f*d2abIg9Bt4{}9%3)|AbwZCGre-u}<*l$FB# zPoV_ifI&(bvcB%wx!S)VeG{T%2x(qTowbxn7EdLUdW57vwvQYehYVLaLYmB6TL!17 zG&^7NSkKASB};fZuSCR?i3o$&=sm3C6^ZDJFN!J;<;;b&<_2s35dE}ao8VZHQMm&) z<*~r+@-!%O!^A^!vNWft?L5-muubs1=Au)__9sv)c~{~AIwewQLg%!KXhC?s@oTtlFtJbMxA;m@fy6>~sG<<_^acE)X_NDcm*LX6=xD!4)&p8EQ zwJ=iCc%+4zv5H4B=EP7`loN6ovn?P6BNRv~7@`x9T{?q19U#|SazIzP#Z`tZ-f%>` z+ra>;bM0{w_PXpuEDK_Ntpmfw$+d9J8n!AU)`x896Z96>@%bptb!_<)1nj{@l2=3? z>!d_fDr8KOCst|{#ovPm=!#?PXYnab9};t4lCgaA2vm4v=CB1UG;^RonJxa0wKq{K z&x2E5#~g*`Hn>kHPo|2Q>TFHTk24S9d^7$W@_uzOb?(ws*O2#FC#=m?={PzH+mjI` zbddQyVSk*2NkFkL^v52$`wdOvL%<&n!V@NxawkfLJt*Ic<6)w6TEbQ$s|$4*#37Zf zj_cqX*;wq( zNFA>mpYK6tJN{~0vrD^4TL4zKcxW{3H#Wlia@#tQyNod{JvZdiuF!W`Qrb&fvZQPu zy=FrSVESy3ww^qe`7DQFjK*%#e^DuWGVe{D@%Wbfm9~;xvX_28)11)?@UFAx0Y~K0 zG=yi}El6g4%6YDJzNq!hdOkT2^1aa{RzRTXB{%t5eH3 zZgNwppbM2L1k%?RPuUbR@wAUZlDpWegTRTp|1HA)2*aa-#gnupvtsMU@>w^yGuHa5(7_+|px&HDqk0;gg zL&?>L95-{{s5u%(`xsEY|5SHAcpwIYXnfDH>UU-KFrCBXG8D9BhdTXgH3Y z=(w@yPuka%HbIBHp&MrhfhJ?oY@VQ^9mGxwG_k5;sOegmfi@U**npH%N}wtvOqnd@ zEB2?$^e9$$Ncfd;nN`yiH#R3v7Xj+vppk+Vm2ne z879rr#?XvNKuj+5T&$6Y8tfj~AM~G^Tg{;TrE-SAqSN%K1k*JGI!alkjb|!mDKZ-o zIeA=RG8fIH0*YlIJ&M+h$hIcPdipjrdj0W8DgjldJ$bE#CX#HQ&h?e4DH&*s1lA#H zN9>r>!>c0Ll>I)YMTK&3f|;0fi&{0}P${OP3fxLrMI^nUsETmjqR--321`WxBGX~r z%gB4SUXug#5!FB&&IBu(2^?|U8X!DdX0Gh*8L^KI#cK21^rdz6Ss6JU6DD7H)^f2W z2dkKD02XjFAM94j0m7@6p$+WU4y4V%yr+N3xEGW2U4{mvo$yk(ocSz^bD3c?1{wR_ zG_9S&Go}uHwieaEe;WhnkKugb_@VlpE-VfqHOyTZ&R>=#!e;wwOqs9_W>1grf0Kzy zOI@mMzcAPDAIk5UC}%Wbbb-u$oFSIc#FO&cCziPxOXVi@=SH=QJBde?9OuieWYw{g zB7GXEc}fDLy^j*TPkoWYpITQ>n{Bl*|Anb$HZ0CVgUs@HY+RrvU}m1u9}6n@h!q!b zC2!J-cw48_@G4t!ywiM~wyemSYJBm-{| zxGd%8HJ|NI_AZ1Hsf1@xz}}CTbSRaxEaSh+DYumfVfkfX{NO>ihfdC9L!>j4T?Z7y zT-`CTuZd11Nm7(#p=KNZPyk9Y0OEUqDSN%_!_nv`R`E-eG?V`s%uQK66)kQ01C(S= zbe7tn9gl|bC>V#FoKButI5W%~rz0qa0kE#t{E>&a^z&=S{mW>;Iiy`EZd6ldi7{K7 z2{_HZ&PhUdmouCL+d;2A=>-}Ul8+k-Ra3%w&Am8xRQ_V;t@YAOx-AKTzq8K9RZROK z%gYJcxvE(oqcCCIijcAIgy^S^3y~5Jawgbmi+Njzs5m?M*L{)N+WXpLDT);* zhOl#6q0hadSb z&T+$%is&{)c~4E|O0dcz6_bj!IGV|y#d!TsclaaL^tipGn=AV`o#Un{S?6vZ)lapDv#)_8c?G!k<0Qr@TC|{#$#jkz)*` zhAb7gSg75LhOhzKV?162KH)>csx2#BatfJLzEes= zV0xH}68XTsuAa0G&rT|})7HV+$w}q(P~J1$Qc|~3Fc26k z0hpkA%`Ct<%f=*E6Etwk_(Mjx+kh4!;!rOR`iDMVZ!?MmU_^~Jq{m(QMGn~~wB-#hX1 z3Hdf?zUX4pW(4^g8C366FU?C$70^Xi{WhN+!huet_OmH=STE@?i}J+|ynz4eV>*?v zNgee0d7EBUng?%QT^t=%>v(|^NKbaoBgs0_OHL}3vY+-r&|x^&!_jCUrIUxuJ=eFm z>lt@FhBT(MsXmTG(vc6%Pn5tP+1GEO9E5{_EZmMYyM2bR=PyNXO* zFd79a4g-?8k9cA->>sv%vX0JF8Xqgex0gMqE?FG;gZO{h52=T>!*AOnZzk0GXMTfJ zOfK|=3YK62&sZzCI()9>(d1jf5uwc2E^(zhXJcf+i%M&`E8-hC&*At)Qz2$IxdWe1 z-d&2D1kEnqU0NJGKxa#&wQL*4Mk#BRqHjN)*3qs*HU!Y1aowENP$3&sIMteOb63$a zhhvLN-R4?0J6VET1p^|}2ErsW91m0)ufX9+n<(XWh3_sB4$+Le={wN~M>njyJ`RJM z@Z07ZTWh3EiOATB3`Mc@WQ367+rh@H@L?!Tzj4!9L93l~`Jt%qy{2 zT6TqFqn<=sj@cU+PIbPtv$n9lw)+q}*@Z)s&Cmik86anA0d8UttT1@1eH8MiRX3I7 zrxW7cl$roQcM4D9)nY2CsT-q54k~9pq5*Jul#rp5w!Jrr;gm@hYb@}+Hnz%%(nf_n z6DJ-tXIW!mPwX5!pso^~T&$t7W^ras3R6Y~vW#YoXy^psQKqal02u-2@N=jE&Fzuo;DQqCkIkKbSQ))t@hAAeXVi0cCgr6K5zb$5PHkoRAd@bA&d- zgV}l$$M2BA?uS5bI|)rxI#dumY^aDnUN05;vNyeA3r-oSHF-D;3ZIr=oxkS;(MBm= z5c+FA04qL5j=RnrK>D;U-s_=hE$3CEFZmUvTaUM@{FYzYb-q**%Pc3&e0av5E!!XS zEvLRTy35v-AEq?R8dtyeG^d(R`pcOBU(wt#phti&X-*gMx|>1X1@wY$IKbdA*|NWEv`&cpQIV?R2dIun0vIE)w73Hn1=fKT& z#2b(SYJ>KMufTeFt5k-sfOPPUZLvVcaf?F1XQDY7TqVHrir1rHcpbGt)r_=tF|CYe&ho=ix}2T9F?Q5ONT5uSNlM0$8!Gv=%~7!Yed4 zjLG&Mwta$0&@aa_5LbYpC}(RdZTpkBJJuO0EW@!*+@7F%Lt2Evu1>@X+W7;3<%X=Z zTwG&cBH#rgmc!I1EhM21e8h=L)?}1<8IW6*=tV$Yxg9c|;0XY@lY}g_hagMz<4)AY zzafoph{*(!>oo)e6b2f&1fFdT4blKyI~*h&wP_Rht0aV31t<}WK-y=hPO^-`#&AQN z;IW)CYX0_G#?H}Wg8AwK1%sAZR_(+vf7B`_NfXAZt{Y>35vjB2M3nGgS7{~RR7K1uZmhjoY&93tsPbm#d4(q&&zA#ZLRs{?4l{4M7?s_{9c?LiOT8s;+xv(;hLy^ zcV4eH8se-@)_^DH$F(ZFuALqnUmVs>UyD~z_4KSMj%z2iCctf;QJWH4t=d3%C)N7F z8+fd|svXyw-_uMU)taXW8RSP%5$Bb9vvzQCT&aumi~9LlqY9lk1jwiBwbP?Iv{XH* zo;Ek2Wq2v7-@=1vyr~=?t5F`Doqu1iy?)aaZ_bVntM$g3s9eC%>J5an39Zzc4biwb z$05MWS5@e9<<)VOdjKOoIIh%AsBedrlgexCdR?3W>^ha?u8X&Cs`LsvQi1)YjxIvU-MFj-SuQ;9)5j$~2`+KxlB&E=;Ry=R2newg7z41-Z{ zg+!%@5%5u&7U~=hq?NXio(wgUG0+MSJ_IVNWde@$evmzd|Nm(JHVd0H_{sz}`zYCk zS%~{VBHqBRgnj$}^~G0Xdb1vk*T<4vUP)@X-igQS?YRFn#qU@DzQGVq;_Y=bzQwKm z)jNE?omHQ>qbg7$Q5jsvy|MTT7{d0;fF3pm;aC?sM3<;aH0nj6_$r{kotM36FuB`^ z!ml}R$={=HC+vzhm2aypz?Gxg>((21$qOKs(QrAs+PGdW{2fyZbqnU(S9jeP&wzv3 zxc)lz5~RU?)OO!@+keU*$mQJi@NY*G3hrA2VwO@MTbJMKGHGr8}iAe;htpKL~P zJJTI_jr#NK+wuJ{Ofnt4jAMde%@$or(PTy40ZwbRSv#o~{tiE*LC8=1-$U4>YD!Ig zW(h$^X^-NB;iNv{)luq;%`@hIp}SAt=k|3p1c}xCq~?6t9vxW%(1I_!c=K)L_%)Ex zLu-C+g5DK?NX~VVtq`%xsnuxbccJKkmsB7 z)hHHCX}l5G*w`rI>Glh0u6}fGmaou3)0P>ETx6*Wb2S*F=Lg7IBaEN)ZKYMIziwa% zB`oq@$izllR&#hNecx)-{;P@uQr;u*b5r#W9)8&R3A(7NoK(ImuT+4ELX*TwQG6{{ z;O9RC{@%skMSa^a83ILZZI@e@(HL$0r3gY#+vW9V+w539nDj40()zy~?6UJRy^$%{ zP?HTrnb;O0X5unPfRZHFQFpw~l$_u^+gV3)3y`4&@$U(e-0}T}z-tL6@W3@-&~f03 z62&YmGXMg{cVgn}ec+BdV{-e(ZL}siyor#L zIW(M}lbP`!ugN+^B5sF#wh|omW^^X$#Q(p>5E<65Ueb5O9PdeN3+z#Ob6~4 zJtgVH2y&Csh2%HkAndIJv&SoP)r&7d78n?pBaFdA`?a7M?N#fi!0ka7cw`ZH8Dm;p zV2a=ICL#$2&VK~gdD2l^U*3B#^WH|rqh9qXq?s^S)!aF6ZsAP5#-UO%J-^fCU zc?>vVhm;sh1e|WuGQ~s`oj4IUahEIW!U&tQ+dr6$Mwn4U<_y8CAZlFNZ`mXau~#R# zjehvlURZtZ`VYLb=uSmqpQJ*7;W{9gg4NUnKd8UX} zwfFRJHAyE#XCMi*36qcvV@{Mxwv8(Kx!f0wh9VrdGZ*mo29PbVrHi z2#V%Q2EBVl0=QKyWi`v3+E6c2mQS!~6-HMfw!s8D@-d!fFt6YQ4AEw~i(EZLrB+c| zIEparIy5AMh2}6VGX{k1G^RdgC=Kyf`0C?=TfQ>T#7afqoQPRx8=NIobaV%?4t94$G@-v+&RoW+<5&Y**8z1nfV4{c$DDw`9O z)B?FN>)0f~hD901Xvv29bhe!wg;zl5aRoVxh@bI@m?gG}S5C`HWaOjeh}=PD8u%A8I!HhL94=-h0ywJGw`#TOmveb9+lq((9MLH?n3G_ ziwRcag#4M-v*~e2l<4GoA+lU&DNYt?BI^)5t1=nMO{oqRKvSTWr>k`ar2Va*ODsTy9dz zY*tDu%&?(am?QEFj&Vo?qYr0IH0&`69tKzJFT+eaOSd`{q^0bKV+%FXJ601;W=a}? z%=k#Hp7qd_j;=_!T~hxgGWqKo>5s<(O@_zfX{r1Ub>^j$+_qt~+iYs7CJas0x5_)K z_#adcsp-S_)Iiqzt)SyeVLghG_@Ye2=tJ+9Ywztf5OSi zc}44uvqdE@B5e4xla()&m6w8;G2oTN#)W9aa^Vk`>D}vN4XM z)I58ex;%Sx>$AYwjGT^k?(Izt(mjrUTcbsAS71ik9vbnGpBU}cK&6&VVtwc%$JvR6 zwq#^^ilTYyY)#vTAh%or9ko-*EI>He?MaSOCYqfE;yawGUw;)VwMGkGJ6LK|-9g)Tr|$C(fA2o48|M})?PaX{WU>e zlO!R`lPA3?0Q_i^JSuNyzA*1a1PGaVo zvd6KG?(Yu{V&R5;o0N$VlG}CpR|WleY(sRet~hoGBP70%#_?aXb-eLLr(0Gkkp3Td-^BSl%+~a8gdqoINv1YvNzC=E=GM^t){$UuOKvO`Xfw8$pHp!hiR@+?%`v zQI4Gi(G5x|Q~J;sSL^A9t(3u0${6(>6K<}2o^Z_fXie8Q*D3l0P@jxkEB+ytSC_@E zSYFPQ($T*yk5d^kistoSJg@)a;5245YEu8D0}h1+F+L~&n(Mw zG}Efr-U+v2N#@L&3M8XK%PcE+%TOd!AQf(g3PzcU`zSMSj%~;8!NnV#B^j$qmv_w) zW|udU>Fv4wc}l-B!8d_Q=X7am(QJQpXr1Y(=e>(q2nSsV(DX;dK0oqh5NGOZmZv?Z#6oGt7a-B{o;n(|R~{RT>?(DQ@c^%MI?U;_ARyIaQiM=J9+W;5 zGkKbb3_xD`@eM1IVr35-42Pq5I6}L1<y)(rj)Qu z+L45nv1uS{$bSP%p1_JKn|5lFR6t2ccJJz%%Icho)GAYSOa`VH4T&`MTxeQo)u8jx zSehv=!0TtKmp3mu(ww-#?1j2kw@-5S(j9#&*Gq;!mkfCIZXC*a3e;t=YS|&>OL;`K zyf`6Wnn}f%{`4fg{9!b_{LzSbd0r|$lZcleO2x~$WZWmq6qc53c>%I|nlRlUIK#Z<=-9 zWGtbw3U2At#HKvmV6@(2DMV`3(QG0d_4yu;)X*l;puF;7&9^1fUCJv)>a#JGF@f&1 z=}|un2GYhs7P^f`APf#;khHLQ$|Qyv*di4!Di9b~ly5?A$&WITIo0G{lJt`RcrhhD zq+D!c8HdjZku(U^BXKrFgNL3N%4BE}TQS~7{h_wjP^XEUUYQJX&wuOimDsVBl(q){ zGtYet9b3+->bp9v37v5jXvHM=-KBC)@|?R=ojJ{aUy5I(8<+n6l~lJol~(uhP*ssn z3obl88cNT{^p_?XmwcU8T4TA4o^R7e@&MB>*7O7wO{z9qMXF4BWWzuKblvAFW5l#KZ=EY))O-@}M{Q9ey(rzm0mELV^47x91XpF=Zej(L{ zic#jymP!xqt712vt(}?@4M<)OrK10D<>R%!#7ge}h`J&l!eCzo{%0?ft=r5ITcp~A z7R^Pi+um*fbO`Hde^>-bxCeiyvy)bE>KYo@IdoNr{XIKq9=CL;>{l0!?~td5_(P7rgAX3+zay~ zXv1qK5O>y9HY)J1voQFA(iOtr8GJq!!T%s}$JW$4n23NfTX9&+MON;la`-Jph2&IY4za!{m^hgRbu^GZDoR;5MolnwWA z0@Ozv{l0_#guQ&dv>X6mf>Tv_6}|vtJm2j*O`zmQK1;{SU0TSh62CHW zQeaM-_3tzDXmjOu3mbUJutrWEI#&8TD{4m(r){IQ4`Cx>V(akiw27)DnYAn zWJRS9I@xBOYH4;1P5Bhp2?sYml4w|Tl0eLd<;q`HhASM!eeI#_P6XN^%YcjIUuy?8 z)aM_frb=-1>a0~cCSTaII*7xkARrg{#@JL;e9oq_|04-bJ66yb*$6Ojt%(N4TpmX+ zjnSpmjF@ToWA6$(Fl4Q3{6&aD;arfb=U4`{BAZ7p5Xj`;7z3WW&f;EA`x;D!w#k+1 zUW)m1qgg7}LrOn-sd(Vp_-5IeD zGOt|J6Due63pNwfafwjuqTu{wLbu3v}W=Ep=KB5%z=$@6H z>J<*j&7nDlqxcfA;$F_$RV-b4(Ge5ldq=2t;YizBb3!T;RMd`TExPH(5S_&}LGCp= zO#@nWzdF-SHjIpktTq`SKguqC4r+^0sz-%)E%~{9Js7ubhWDOtXP%x+SZ}fMjMJAZBs~)EMXT$gw(RwUJ>j=&f|U zS#+eC4oc&k=~2mT;x3a=``6PaNVNejkXioYGP9o8*Yv5Vxm2knE?P#YTDy=^aIz4l zm3LZRu}l{!eR+;J$Tv^a zUS_6r{zlb+X_JxdqBJJiVDqGrajx(|5U!$&< z_Pok&nM6hBK+L@ZvY0=ghBN(5YuWS(HPxWO7CPp;H}f4ncB&njum+D0+TOdk!GttB z7N7SzGAB-s#iwh;X@m+LnOZO9-olcxVSs1I#zOd|W0B`kxHR?tFHd`vlGkMqgc-TR z&-esEw?LW@VE{p=fW1x&PTtfRli+=mCQ`Sf&b*14SEmo3y7bt6lS7R8qF6-tr}@+2 zM;)De^o}))%2Rqc%yCvTwcM#&RUU3xh0F&VWM%HG%wp+SNNI%+5suis5T$DJI=OX^ zY&V8aY`JHtbUEC2My-xK(jPogm(^>S@X68#@a;DUBrjwr$5DLCnP*5Tg+5)JHV)-V za#F;@9AR)z?2Bx?t!6ERl!O^TIG}uVtQ4VF{9boV`vd}jWQ=kb={a<3@S`lCUx~Pe zCb{xu*bXKMXCtSy3K-~DS`x!qP`)e6QJ|~oKuT+}YCMKR2myjbh27}8$!hz;o2(Hc!&}qy7I}?L6iVW%8&`g z&v302xHkIDaR3oC9O90*VFkOBo=GUA(FHJqxbig8h<(cf%y(&CE}|+#qSa@9FG?TO z(lcz11b9mJEb;O~eJK5K*n85~jTdwD;`_YH+jNg_&msF3dNv=Yq1Id`8rlFA+OywH z^UHNKeyr2Ac{9$nCpB>lZ`F_j>*Ex^{%lQSz6!{m3vUClOIZC_sDo#*q&?RlyScYWilBWM4ZXgaFy-qQ_9$|Fo#0H zqe-}ERO{zW=4~HaUCzqW875`yM zfb^$Ns0G;aNdL~Br2QrLo~;z1eTbR?bv)wEyW>a?6wFno)}n z1iYCo-~{KLxVbL+d?wj}kvS~MRr2%vXBC!4;(DK8mWq{D;?$~?G8yR?cP1SSI3C#if=A4tFO9Dm#J=bTtA#fU>P}^Z$i>+ zFd*rW!V{{ybZHIL@55OjZKeT5Zur&}1>;`S4Uw7IAX{^JzlhAuEd!9(7lCe6+HG5= zMi_Dhqul`aiA+-ftxZ~(BBv|kNdnUjEIDO+zYc?&`&$;qpJG`qmW576(uS{DTU&t zIIi&k?IAEqDDMZ3{-g7(yATT;Tq+n)z*cra&lMx(Q7+G9y065E_;58i=M5N;8Sn2U z_Tk7dlad3jedQG%@5kjN79G;krxKua=4kpiGd&BW9T6TV?qY%itD2q~C z8=``gkfQ#6C-1Zp%Yuq@6l7t6#Z9blz<|MclLB3-*rx)cQ3QA&7>wH2DgZFD|A=}C zl#1HexU}OCeT=i9q~3W=qA1J>-88!X4?Gw&(%54*k*^~`(tDgK=9Ji{Kkx;r+9umG zEk&f|l6#S9o2y$%5b(H{NS=x zHV+HTSz6{+;YMNip2oL;&7@CFU}%S)@%wL-#g%E) z*$+TEpYlylh_?3CCESP(>G#ievR{mvMYcKBkmVCAFdSu8YTa|RS^1?LGAlBlKSYzE z38p#iaggR|hPG{S5~{__*VU%fcG=X_?MIfLPL1cB-Y*}3t~qv0*2K8ka&k0vR{2yK z9U#8nefOPG<^ZcZ8DQ3cK_-XGgA`2jSQ|;&RyjOuR%*u{b>NzZaAL*zr!}SMBBq*g zXIE*qNO$a0P|cx(^84%fgLMC)d;&?(=wXrx`mgH{=(Clz*Udg)tn@X!KfZmvqB3%} zj_TFwaqXLG>(%ku!8g7-h%egDrcbf<{l!wWI}=_*XO~-F=k4R1f+h=&*~F>VtTKzY zM!V^t7pwG?DzV_EMc`?;`&9D4p;1fdTgNuorPxA?`^9koE*7>GZ5} za8PYD@{p2!PKs%`Hp0yZH-&y0u1rG9x(#sz6Ps{SYR(U-1X7grBM|-qlKt4g15NnF zOI8?8bumQz988AVntYC+{dU3wCp>UESOV!M_xEKC%Y26 z_diFgGT=(-2bJ3AOD5539bKGKV)<4}*{S;I^IGOL=N(PI?FV;7ANtB~fSy~KfQoP3 z6f$UBG?qFhEAyWA`;pptbh{yfN2db~DkVm$HrGXY)z^DT;JK>on1Vz1tP-!i6C%Fm ziTp&4yr~v(85zB;QjWp7yeHG-Ri%kD9$5yrk)zDH4xY}FJczqk@{}~P-86oHE{vw~ z9}i+cmOLfr@6h|1`!kvW706Z)wJU| zztT(^XHm1+1d;^oMdx?n>7|Z8l!c$l=Po*hROv&eurM`0Q#bPFhRX0Jf1E%pQ$5o) z3k65Zg&8Jsd+gmyMkb2mbMi_k7Rnb3U$ak{06tF8`v`;Hqr?E*K#pE8H#wGqYIz&x zG+;X<%4}K6tuJpd{^;sBs=`D1m4A)q4X10|j!fRhv~W5VB^V7X`?-e)SV{}zGPYAr15<-Or9rtf>;ai7 z;JERn@?7Y%G-vsw)_BX7`SCg~7~G3q*d4FOH^A%l`Ib4!%&=x|9K%RTSS{BFz0Q9Q zN904k&d4Ge-Yg8epBCFhy<3`cxM!7i{y-;w(Od;Q@gFhvMZ`lxR9M0w+wKWbC&#g;w<}t&3h~hlv-~*>-fc$O7?@Rzj7UzVxzDuX|5?(xI z<~Cw@%JZ&zfhawFAIlm1%QnUaJNb z+hM*XpMwE%SAAoA(@Mg2aW7jhqg_ku(d@eK3k%&Exv5IVJ}NcL37baAYg^#}>E0hS zULoE&b>cqW%$uM2u?vksJ+I%UG6bXZBS8wP9Sg{v4SQ|mXrIZvbuqWKSYV-?lmCk^ zbUgHY@z8rhJD1@e9fvnCAcmsB|FFT8<%|LEG?$5KQ)Tz|wGH=t>VF?sVh6NPZ4+** zhgo4GbU7XTLPvJ`px_rLCzW$2^o7$qPp}GZY@Mz)tUOA|?&qCdQ6;l}$?GZZ^WC|C*%ch zUH<7+MN@zl8NE9TO|IUhqRZAgnzt1;t}WULJ~B{QK=7eCX1w}*=rGe$Tode7u=g6t zc0RIU6>{tv4CTVQ=4r+*unN+O@NaFqj`)0dc2cRGwhqoOBtPSl^d%bxf0D#B4~8`5 z&9AogVFnkCYEw378(g>(lyi0IY`O&50*9T&2D_}#g^oPW>BIGNd-O#i%Eo6boE zZ^igqNSbo@jl3Z|tR6w14`*CFE@TanAJ!Om(bahTM@@P){jfJ@^m?^+3N!ghPG21; zP?3D;ldt4bk~-1M7|kr%_;4em0dO?;c4)-B(;HVM_XNj}yY%&sd6Y8`_FBd+>IUyZ zA+74rsCi>UMx_7HGrje?+5Fh&`fwBugOPQzTa!H3={_Z2qCW-VZ+FP24{ly2iWMP4 z7fSBfciTi4S146%87j0U&g*B*R=rv|6uQBpGAX1Tf3sctb93Wy(k(b=YWvkLf^VN*5JqMs+{t7(6QSC(?-n3>B*a z#mY1{y-9)wNy-TZi*gVg_Sfs7bGr1sV!s*MT;!V~lh=gg)k?8#q&?;cIzchiqeOM5 zeN7g`?DR?=SyVe3v)jPnQb$&Pb!L15@PvRC$DAXcgDg+bYm1ZKgcOmL{ku4FP;iNX zfT>i-Fkl)X?ININVjR+n{nD+DM`Cwb9* zFUgr19p8cuea5X6j|vXbOPp3)*>anVqzjLXUL5s@y%7EL0+q=3^>M3Ge??@StFvps zF46&nLYlfDd6!tGQ_8t=4Pg$LHUwr+7+5(WFCqkx3mH_L%^4JdOEQw%YO zg2LQTCKjfLD=}(9&{YXF;AF$u>)o$OxLu4CO~JjODHk|Fro_p>Ob_DQUf8)({V_{~ zzET)2np3-VitK}$f5yUe=|Ow$Z9eL8`}e2|-TD|-z0yk7K3+LM9nKT#2vqoNTqCuk zO_pgo9tb0FeFI6_uO>ZowX~)~;TnZr;{f1**0`W5OdSOP;6nv{_yxxcw>Ic49cg+v|g`mN#VJ?8&S}Y!}wUi9Tp8uCYXboIwJdIvlvyAU^<0O}_JZp9$0k&e%aH z$0RNW#Ezg$fw~{brmjh2B=oT7(=8sobHiyenF9C|ns3#EbxhL;3v8y$aMEh99O6(t z&AM^=5Dir0E%2bHwZu!-a2da&yQb%vq*65d@0K_U%rlKTX96xAlnaSrUl ztPrllNX0aD&WK#~g`Z}BT=S%qTEiHQJ)CrV875kRe6>X0d8q8ZXQz`(CYQ+Nd9Lu? z=r61)V+`~K2IdeUe1AsCM*f&ulOZEL|9QCXUy}m{L~ymClWY_yH$CPUx^d0sY6rSl? zOGBI`ZYwTq9E`@u=CwEt09k#OoQQMWZRES@-a+b8ImTSjC+-&&wP@`r)ub;km&#pP0hRFCg@FwqM}tV3!Ph-4*;nn zCLRj8I&u4PyFJm`TNOHQOUZ*=4#b0GLWA#4dLjxpOpdxs440$>OQ|a!6PO9_W%LTs z8mg>!K52_O;?NM|YCYJCl&M-G7h}3P;*^x~? zX5obiSg$r~Csm{8qVYhV5MWnFRlSeG9$y;)_-F(#S-e%#(g4W^Aw$s_I0eE}I~G0eRTA3}3ON)c?I_9q2Mn;@$+ z3fobF%nh+NIAJlM%0Q#)X*`xarG3QV&=Q%0dKABt`yj%25sD7r0_zP&+l(+_2xkPQ zj|9ZL8U-C9J1Fuel#v{j!wNbP3%>VJnMU}g!OPfSn|`x&JVb?|dw)P^Ian~1A;2&rRQ+s#aw;|=kq!8Oe>b4wbk2-QnL$YJD1O*`NO-Sq}P_-*4y%?O?|e{89b9X;w}#)2XjI*uq{B{F!2@(tSIk>T5j%-bkO z!4OX7D4_$#?|hvN_0N;w2FYv5PN)ZqYR<|BF#9%dTI@X4a0bIY{kCk&$t1Ts1mzXQ+EA5_bnx@VrrHzT^og%2Yh2E6`vNQf?2y1W77V ztPVSBiAtxFWP^t&Rz-S`BYQw$h>;HnR1FHdz*xJ){?Cp)w$eS85MX&WZcO$(Uqu4UB}7H784>oGjL55DNYbj1yaMjeT8V zW=v}YDteq9uE%8v`oUdG$Ck06!R#b9 zB)P%AGG51G9TvbObXsv3?Z?7>UZ+S2GISkhrx+;t5T}O@OethhjvW@Llv!&M8%t8u z*GNM|nm-JCLb@dx0LnJDuy!M61E#T2e!bEBOvtQk1q^@YeLcp}aU+I#I-SGk{b#UZzc0^4`u7yfC{at| zvlj3iAN%_FnCVyU5AL@wrbLgEkr)Ta4&1hMfRp@abE~4PBu!I8xq;d+yv&YcT$+h? z2XusTulNhBnJ%u9Xe#rwxCmU-g79ZK0r#vc18ezbgxFI}yQwfzu^XqY!%wMmaoz)P z8q9n;<|PM&2+u2D*5cbTbWo!87-2F)|N(&uxBMb9`bE3>rKE|jlfcbc{^Z>N^@Ohjv zjYQsy`S#Wb%Hk_NX7D^YE?)#)C$S`|hY}Iqfv}3QO-i>UW4=rGW47g3rYo>z$32n_ zL1d;@GLRtKJdg)(DMK}n-Bv!XH!vHG_mL~Q^AK;wr*Wh&?I z1_s$;=y;y(-h{2vGPb_PA(LQ>{Y< zhSi;nNTi;3YW_V5af!+DVsI1pZnU?L9t~?-=~4qGQTts=Twr@vG&OOtAwdN(qZSTO z(lo5c8weT*8QrvHi@ZL5bvEtxm6Ym|2Ibtm5_bMU;`~JBIx7Oq=y{BXRTG79J8b{9{acCWiQ4;REL(J^J_ag%F?LpUE~=?Y%Qp3aGM8(noQO zinw4*=NH}wwcC^a1dYCQ-b|EwBt!*4%aHQ**T@~X6Fq&1p*?^{S{35B`aTbXy6I!f8MgjZ?NfFsc@ zsJC~{{^nCg#gJh+Gnqg2STrjW9oaTb zpM0Kmk3G~3JE7?UDe$= zjnMCISEd6et2+$vWObX7-apyvxT~lS- zGTrbkaHd|W*4%a8Pd&iA2woO{Y83wv3@^`(;v4~p@2HcI!VO$?`+?WO@3g^s|$}{?MP>g!v2He|IHTwA{X+7;no(ib-H7W*;_{*!_{jK*yVNlp{&`B{2q7;=s#2u&l5B{!C7_ad~;X^&fD zR5`*EJ|tWmZERDo4(mG~SCizk!^aV*2v+>l7~!uOW_%n=dV_4r%-hI0)jJl+ig4qH ztYt;a!l06A?rpv#Ro+2nynnQxt#XI;QmPYx^JKfdViu)w;SgNHn&$b8wVXzCWJ6Ti7(hq<%S>mRvkiockCDt@#t#)Ul~g204m3tx7}TMH|g;)7RvR4yk~C?T(%1SYGZMwdE`U z#YuYUNm53?H#*_vo((@`XChfx9& z=79X<46mo-^Lk|JsVUCfgrinZoM=z}G0Xk?F{1dPtvB%y(@sbSY9jZso=xRsgs#A~ALbmp!EjjewT|B(TyRKG^aO{eTcG_~CV znOtM%u41%Ne+RS|-%Jp*J{kj8{vZxc`J(@c8MxnsW1G#Ri4SAa$|;`8#g^T_xVAqn z*XC1-l;_flEXcB%dbWDR*wAsqWZXxrBF@5^t!PPcfXw|ZEu|TO+4hC~(dAsjTzW81 zy0nzTlz#Yd8CJespgJFNlv}wBxUEd%9xXfs1SH3?MgMR0b=rDhf8bes?#84TdV*2-0==a4%h)^1`NvWsJ74BD z2%ijmtNsUFVd|`)|K_YReZzUBAG1=yEgq-m;uM!rJl5^ZT)(+j0+~wb3aj(C`%{z) z$GF~dpY?r)d5k)L^#fj%(!o}mq(wWV5A@+F|tD-y~j!TT3 zAvbFPpcHgz<+14(ky7b!V&2jv+enrCoZ)B2KrEnx?TMU!lhS6{>iMJ-^ylH$^ba|_!Gk5k(rpl>_lQT&C7;m6x zT7>$XAU*8htxH+cOx6`b#ws!K=^sC~70I>JW?lUHt1xdWuPe3F;(Wogyq@R6KPR^T z&29Aa&%Mx7-u_}&&{LM4#=Qp-hH0nsYK9Q}G0A|N4yVamg(88e2qej5)D2M2la4+| zS{96FO6kl-om*7IkePZ{=0GCre~h3=rs=jj`n-{Pp-;!r0FDxE6-t{Akc?+=L%g~d z;Q;!`7GoSinleVHxC+!wx%68+w4MVJ1DF9J=?{BR_nz+VaZlU5U7aH)f<~?_=O~+f zs36+d4Xi2TNT;&#$Z`ZQ8dz=!Ko33n5tLHP9f*%G?=2)1U44wb0IOr|*AH;enQL^b zDYD_CCX12-Wk<*SUd~id+)8r^|G+V3Z9|O9Yl=7Z^QC^C)a`O1gJ+yxjRTYqN9bNL zJ*GaDX(87}4kV~l`DoG1G|5`hD5Ou){D50thR5KqxUv}@D0Fgi93|s77^ZO*l^2Vc z0O;L+j?-{-*o@y$2Qw_KnWo1)giPX2(&}Yqf7gmj9A8pQB*|fr=B2BXAbOL>E}jfj zt6q>I6G3f+p$h*jgDas4lnUCx)v$k-=M$yM+z|hZB08~-o`T8-eI4I~X)(oo!lOne z^&8*Dfc;M_lLcvll|WU3BfG%Lc1gHNQATPfSIJK8QAo5sWaEd0Nu`&~SFD*qr1TOKaw4%Br{r`%wnf%eEvyB@N%VJ{-*)2qx~rqRTXT-Ol7W-BhFc~p$2I`w zS+66r;;BH#6lILkec>iW3Mf-p&_&!Wra6ZKDq^onb~_x!HxUL$T2cD-4#tMQnxKm( z5m3HMW7dRGE62g34D}? zz`ig^+kDt9jI0sX(mhjaDq`(!wD0C*PddGsQ|W8`+GH4l}HzKd`aA^A3*B@IJ_JoyBQt z?mY6gfM`TX4WkkTs-6pO!RX};(89bYVT z?GX^xZvY2Pce1qfA#9^DM|f{v5IYKCo|X-Ka3kMkFe<&P9<~=hcuy`c5jg5qIZV&s z_x!2Zs}v&)sW@fH3_BFjT4rcZMdsiTppzs_=S;UVHdAI!8512ybT~+&8w_`$GHhT% zYY>&ffNZHSAT$NVKn_pkRlUT}%p5BMleG3Rl!sEaQ8D=@pi7scR~++vPCd!kYfiU4J%OU^;=vNQx+jkzdegsH!>i` z8^tLNdOEO+ka>l|e@`fZlMIleq8zwekmgs%I`Bnt_Gv>?0bxFRlmYrXj>nX>){~PP zZ(+2KkOJqxbOBfBhO0^6t}(zbOh{XcTg``}=YIi@bPTsD8!Py%zWmduz$sI&9EWwA zuccOO)Hom;Azbglq<=|ngqqS(P##Q$hI$^Nd6YppFq>DUOp&Re2o_YhA{j*H>~>-6 zY?4@=6kAW^{#6;Tl6Q8FN{RrVOfD&eku-p%+lp>@i=VA9z=?AxbSHy0r`&?`V4b>_ zDBT=t$gEUUlvSob>5ZddkCR&^4qDr`Eh+q_`IKUG3awXhxr5OtxR(i4$>Pp(E_Ka* z9PCXa&H~nJdGS}MC$=-Y3EQabPF-Ji3;U-<-p$7>Wcg^i(XxkZp@Fi@gV#mAQAYPu zQk)i~PLwbSt&rvoJEa0f%?N?Q!JgdOE$sBC3x{G8rq33kOwMh`G#X?=oi9Ly7MPke z@d28ZPk%B;Q9zls!_f_APE*P~z04+ipB|DrpAnV`8`AUQFZ~nW%gg zr@f{wG}_$FFT$M1yjoWh$T0bj+$I$L zC6x?Sh3(^>--e|03uH=Xj7o*x@$#%Dbvt$z6vj%1`p2(!u%!U9i$_Ru5F`NLyGD+mz;l(1y zic~x^*TZl;PY@u+EMr_BBzSv6dd2Ojb$JWn{#=oz2w7%4uf~gCi z2R4?@ARy}{#f#Z7Ev4{yi7dk;p{!OMQ!^Nk!~RhEEg={RX=##yq>|`r4wkM)Sunr6 z*RzyX9vI0-CdY~BMhr9FK*i8vJ!L6?d$-83`H(FbQj3 z;3ePx>6-<0C7y7Y)*GIJpx2KR4qqxW&g$dF3O%CqIn;0HQb=+13bYX;rp&_MWZR@Kz#w~a|9V#sbH^3pXC*Mpfs(a$|rkpenGMb zrWBJ{Oq44eqo{VXwJ2nWOiHONclp*&mUcPsAWVI@21$yAJ73k)kd?hKaV5X++eNyMnXrbzpHZ$ zA!DEgeNEp?9^TJ8?=Hm+rmB2*X{Dy*b~Z(6tGu%Y$5KwX09m4#%4Z;F(j?ra{*hab z-A8Uj^#I^sjdVZU9>`uT(vK|_b#0UA>tV!NeMxax$x0djRGLO2fn*|jO|+Vh7Auev zaz2SjfaW6CWC-MRom+?7&1#cBG}`x+3;ww;z@nt3s(;czYyPrB_j^nE(Lkwx~mD|np0B;&9qgK^0#4hjYhdwL(9SaG zky8RGD56B!C0+)YpB_MxQR7ui=X!V-fQZpYo=VR#_0L++3(_9i-SlLN!_o8>G z3F!~xgs#AEqd_OeWRX$}67o$4)ulLin;ZhqIDS$Klv3Dkm?9knS0Ue%QgswMCUoh6 z^U2rY*ClMXOelM{%#mkW{FyeQV4U8Raal_r?5}HU)_gZai&Lqzht0;=>^0W5}GKX zyh8lnT*b?a72j6HeE}7%+iNs&L*qyuG8wo{_d_5V{o`F@+vElN0h3N<;m`-E}U6}I?I1cE(nott13vAsepn@C6>R6ESb;&{vq+fj>qfq_-#qK|Fh z?!_ur>a=8EL&*%%ODhZ%n;=^b8DrE9fFLTahU&nDm*E83rj)7hK)>a!fzt*XQo>kQ zmVL9ZtR+~tn#ysJ4FO}Nl2ZpQh~MM5lY+p${dP)pV@^9HGuq(>jY~+!vGYp3a?(0@ zQ#(h`%i19qVTJL&cudgu7Wam365KWMm|JzcNK%={#WIpcAlyR%3&KXTyBJpXhtE4d zk#tCbGIjp&Y<(IKR#`($H~ye%YN%^sRSl`=T(ii*W$jGO9!I>RV!we|ijt(Pxiu(n z@6ZMw(YRqM7q3JY<_pcd{I~Gefl78k8g;GN%_V3mnCnVWUHC;~Wne|OL?MX6?eQ$j z9tBGEE}t?Qw{+Gi3Es1+q6`shk9;zufnzVpk<-;Gqc#}rY7l@7L(9j$Bw1v2pv8Ss z4+mq+;|nm(17?2$l~0OTPqe&XIH*v(MOef)ygt7WDwFk)YZ8?2;|X8Fa2T>cylysS zhLK(zbi}=h$ZVw$F#-vh#i7zfBhkJQaAVG_))64^>vt};bgo|=&^xazUtjw z0cA|Y`c;V8pGWuN>DJaA{7=I{&oZ1?7gitdqkz4m{Xw^Bop6j1u3)^&#gq@Dj^UEI z3FRO#>^bns>5JFp(CveCadYgJO#~YGLx(=H%#_WytdExbW}LLti?k1ebyRUbihB=< z!f|j02kv*x)r~&$27UfqJ3l8UuI=I2l zdsYdL8>)s3eAOCGZ06%Amrby^?EACp0TFUi!G}bU6ytV zMpGm`V`9(MH_UXJKzkpAK!?>vvwrry?FnSMnu+a_A&s*kXVGdYi&F)OQ?Oj#cv6^k zki5QuS58)@MvgL`4qSzu+tS}akVd=h^y^_r67EBB#_A;HK}_bv6g&Ka#ux(dP<)}v z55txzzGKZ+y^0KUqgiP-Y?M)bb)zR}C91U&j=7M%M4UekI&Hnv=7hXlZe96KRpYBB zeyQup^>iz$mu^k@*447AfDA4^j>4-J+73=-_v~;BCef;VOMwY+^poEBlO27kn?n7_ zi5R6m^GU?NH!{Hs79}$E>TCF4IEXk_Y?QxfXQWzs{rnC{V5 zC>C5gINYjR$jq%r+VxI`mLHXHi0!NvU9hjq})^)4C1j$Tyq6<059x_dnLP@fz81yf$B%@b--0A zO9P5m12%C(Ri_oc7(@wE&~{pYBeOk9)=c2NZsPvA^olf^_Cn~<}8 zRob_Ny^!=p$`FOx$7HKfH{wWH43}a*PcBs(fr2U%Kr&pNfEPIUWV{YP)}?%fyIOl0 zaZTy*FFQa3f)YQromrs>5tnESgn@`qr%oW4YN{y7k<7x2%wCe6Wo^Unn(eEGmCaJB zWo=f4t^n{&L-{!z#Zr1qRUy+Rbn3Z8p~VQDCe5%79+l(6h<8a$34@{=L?c>0rmAFN z0ArSp1O4EheSy{yv#`(7CCs%6OAkb58)h{{LB~%>^179P$SzG@S#jMBDYlbFpFQcq zp!47{GE!`Inc#V45Zj$7u2JJ`ai|q2q$vpW|9j-;;y{hz`7*k`A+>{}a?97_99|8)O*g=PoL`v63#JC|@mf~r{_3)KzG>*GEbr1k5 z9--!v&&}aD9x0lJ0Ulw~!$hgO7$QJfobh8AUNLL#Cn6(svOt?R8rGDcRoXIC{n(q$ zM8WCQAChBV+@tgyW!rgXer$8_KcBdCJBn?xZ-``A{qT-&%p6#rXhWuE7MLx%<^W|n z1M|O^iZ|okd?jrL=uQT$W5y3$-uqapEm9jeSA0wE0HsdK?yY-aq`ja%Jg7?LyjpKw z)T_2+Y=O_l7WCTv?P~!S#3ucb)0i4ENe6B4K;>&%qQQc z@Y7s3$w)Bnm8&NSRILGXd0JlaLn&sKlJbI-)lwM<+lxWi&O+E(48l$p!qdedJk3IQ zwitwGSqRS;gYY~H;l*MQUSuJBxfp~mosIWUsxt>F=rGM*to~Y*pFUef%%=YoRnTRW z-zEb%dWW>*;4C6359*m;s@3KG0?;v2ejS5~^w9ZN;junJ*Ik(IbUba7jr_`trpVGe`N z4G@qB`H)DZBlphE`o23odwIqI`sSaG=REDjn@U6Fk12l~>wwRsIzzDn%9lUC{a1~{ z4{zF&DT~9=(MdF;1INuz&;h9coTmfz>T%_}>LF!;ubsaB_?;Prz2HtJfM>n1-7$X% z4Pu*A9A)IA$O$0*Vfw({R%#fC?WB5k@d>6FU6Wd zD`Q|tJEV0YWV7PmlW=rT>E(MWPUGwI3r!rt5vvM1;aIA>jM1YGLQUoy2n;^sLACi@ zJ42?Yr`JPkqgf}K_?5H~vraAT8Is$Ow#}J7|CEvL6g zoeZ`bXGhKR+Udu`5ShV1xIIZtqSL2&%#R(CeYNJ*8 zwo>B*-8ws_Ib!WC5;n{~Nv=7W-=0i5h2@!(5%L<7vc+x62!LZ(=B`b8*wWI__LEW( z6`STfABDX2Nu^CbQAQWcaMomwcMd|KT=!|4W9$XsRXAV#2A7ki-(u9*&`^XiIk1v0 z_>!V>0TY1E{sUEA)?OHb3G{^3WT2vt3Njlc6|y z@no|xOnn7)_-?txS1~Kv5n(JhoFN*sktcsybZ+BOC&76ev%Ni>n73$~cNvX2s{%zJ z2waB-LUD9hCO_^w;KSK)%S1iX*iG#gOxS`VxjN8`D)nJUyG3-vTU`wn8AWeE=Ry0r zAB^6qTn(-k^Uj0`Gm1A5#iepdU5FRqRavYf@=ay1d^1fS_NMb?(CZfK3Y5>WABa|gV`WZC+n#Sucx${Q;9z0Rs%VZuFZT0Gk?mh zD)0F7s#~9PK@ihxA{=<2xFvD{pAFbZp!lIR8qOa z^4CCSXUJIsovmT|ISW$XCjSEH7O#@(B{t$PWFcT=O}YAtw!(5(Y6R z3gTXFHI=i`yP;G*$2^H(zSeUm=W>$V`zqo4DVx7@6D6Ua0MI9YRb};8U&-8YI)3TC(K-ck!B`&TJ|Na-KM2w&M?)DUy*(PY$p+6iJa5t2 z$4D~u97$&SeCqJK9*4}7_IoNE?PQgfIgOvzdTCF2YYkODJEQO66xypFyGL&!Jpt`}xk+-^AbkO#im{pZ@zN z`L`*SG*>P8jyNov~Sc0?&sI&ph~_F7V~ zh%mnP3LeMH4OwHkxF(}kb;6*h%(~Q95`s`z9^nBKkv4D567|(*A{lC+EWF^P$Ovob z0}j1i1Hriyb@6XV;~P#cVfSCJ383}>9Rw+~+`^abaFB$`T456enF1YlqcCv0Q1u^YWT_TWh{KyJ(8H z7^C2{`Mo$h5|z{M#W%In!!=R;?z~=YG{jk*3{g(bk84$UT{}HEzBmNAU%Y~lsn!qPz+>fA?YP$bp4RoK);vYXM`v|W5$Bb9vvzQCT&aum zi~9LlqY9lk1jwhg)1x{xR6VJlHqi;|6kdwzx9}tyZz{*fYLt}=7)Kp@Dh|%hzpvL` zziEm$XUB(Cc=@Ud9jv@Mu5xoQyo2LP?PN_HR!%Cft5oX@pwK9>B==LieN)A^*lGp- z|DahrJH-K^-$WfA*I>N$rmp?A)~K$DO1*|E5gKIu3>v}dg-T}x2dbV{84ymryFyR| zpD!9!4O1LeE13VK!4Aw$dA7GH{5|TzIW68)zOAB1$5HKd>kYhQ91_cbzuo9+<9fO9 zceDWQ7Rx6BW3T_9#xM zzxvZ%_r){#=Dw7ECD+jq!+m-_Nq!8zpe>bXu(c5BNk%~%Lx@_u8K2s0i76wk7~>+l z#4jk( z4+Xj^wFwCD@a}b|IM-D%JcTmOjW7A7RoT zuHmutf3_4J86*I3YXnR7_vL#QBNPI^y$;Da7>{7|VI_d9Q)TPxlUnOlrFrn?)y2_K zwT{W#i~_XDTu+~jtP_I}kpMm9e#{RqSD%)i}5bJFNtb2{1P|KkcyWEz6RtxhmJpSxqkO5vHP%?th}y3xUU!S%olH`O?zTkCe|w-HE~Mu8HMWDi|ro ziiu;6yopQyIq!TJ-)=J({M!uM?=MiNJ#BJgRKj_1Z zZ)|MPh;BIjp129vH&~YfRyGMS-kY6#R-+aIHb=Ar!QLWd{>br2@(&%KcVCM2wAUmL8_rTB#cCoRE1AEG2%saOwE7Hk(%VAjG zo2dcr+nW$Cs`PYVZbnqeEZe4Srkb?_Gu1Fj)3V7#>3pLIn&gn{Ov2XP=UXrC(0Wvu zpTOx$&qkqP;LR%VL)rqN#y}rxR=CCIDfzPi_Y{PUD0p zH-Rh+bG$+isX&mlJS`ya=%6Znkf-7(ZzRnM@vVdDdg-S)BANmfcA;j~CTnmwcT-fg$(zD3%@!&7n{b;l}v zZ|>A@{bYGdOH++~@f0WDg7KxnVC!w^8P-j1BaDZ>vO=)G{#v(R0c@k%nQHWJY4vuTUS7{`Xxr&uP6fFL+3IRipjIdjbPuV!Q(ArQ^m6ueJhPj5HFq;l z-6f+`&B$m?sUqjEdkN$OvoKC6>dxHkL6q%5ROTK;$*txYMbQoL{2}P?Mg6iQ#t9s5 z<0;FG7belor8MA~f;A4(&4s0<1res?c6ol3`SM|y_QI_;7pgs-XXkx5zR4+gFv87S zZEHR}HD`Az=j`rBbFe=)mmUxCEA>~cv(whu(b2MazotqBsZyj?Xc@hNRdyQ+!hgGKVw?Uy zUED5OQbo)3{~5@QW~JV=DwKAzun%jE^J5U5WtH0L(V5-zom9_{jxQQ-tODio8Zk*W z$m6rhA;$E;1hD||4i@ZtKZqhJ?qZJ^(viIZTMT|)SxdKgd0$@esON2)Yf*YqdYC-GYjE%ETn85zO{?J$PQVq+H!d3Iu#@Em!E*1{#43{wpc>lIi;R-UR)s?QA>Bd!3=pcT@wEvj%oRBbz5M-^ zGL1B}sA%jZEdsSgiI2#ql;7Gx>Q|)LB!!z7bmv_}xu?91Qnv+%fBv+=f2G2MDSkv>r^~eg}*BsM-4gJ?&1-G8xHPtOgb0M<> zEWZjmYB^Ru?-W_1w}#g8YeHJg%c7(x^t6IUj4G4g;b|pgH+l4^_2K{6==3;Sk8SRy zv}T)Dn|hDcl*7aN*L37!3+y;Rhm(w+uWdX^8y zr4Ndi7N1XCcA7i8QW9T%CCcR@YLo0Rajy3%&K-;L=vm(uZ=@}cZXLUzpyRIfV^&QVCc_Wls z2IiaOI+ROO)**H3q~#g!gaXuII9eZ$V$6{w-n?zd$;lf8=>(??g05}!cS$UOnC+0g zeyRde_sI|~>78o6k#BA7s<6~qWb(n@Qqg-A(;;q26gWLQuN~rolJm?y>hLrjaVE;3 z>N-Xm!H!AARn7unBU2ZTHj&!F9t_%%0Y|9(%9ebGm6p-je>SD~I(M{O#*4&=mD!NSqCwy|goS~2YxA9svR`IFQ^JSvOXJ^c}J&~5c z+zE%C z?aBo)VlWiq$em2h1Nlg&xH$dh^z7}aTn3+tgu_#@08{R?E=OBiGww2-D~*0frs>TR z8O%MGh?UXRB~TIEEx=p`z2S9W9+OdisUD7l z7unm9l3U{Gv!^*1Ii^hM>C>k<7dTc^@GpCJk|r>W2eKB*7(*HxuJ;H|FuXl2->Gbc z%k5q?q=51oL+Du2*uZe)q9kaYRdgrmv9zuzW)_ZT5SU0=MxvKnnXzPh%a0`f!hCQg zF%WYx#QSjAVSGA3_swxItvV0B9}i*;VLS>339`t8_I(;03M^h7XSwrm9p?wCFF%61 z(r6&d9Y+JX1H|kp{r~d8+3{H&gK$`SiXAv}p3(m=H|hs1G)+yF*n)%Z1^xf>ci*FK z>f$_A0<~pd(*K(hCugT;t@BE=S*@S88pmmv+ggvJYaATc(tuGfCDmn6?7a3}H4Uiz z)B$u*Ic0rcs?;-51)(YLN2 zCA$PnLhAeTXZDQZ_k%a}vy)1?7>xTl_Ufqv$aKsu`<&*#wEf%%)LZ3g*o z^;1@RK}SUe9*FeFm=*NvAkf8;#_9|%eYUO%_dv}P8}fmbGr-C=Ft3_|*q9WbN^Q9$ z{XvuXVxCDpAUA z+j}#Xw6qY8JP7HwXYIk#9DC5mG(Bi`zs$^TL0?^DXV}y1U;FfT*{6;a)4AQsDf%K? zv@~ryKi!&!dxnL55UxF&V<+n-9)MRL3!Od|7G-c}7TP$A?p>bg)Yj&YKivs!weo;P z>Led;-{-?xe6hTnedazNwR1Y~G}D2nQ#$ZW!ctlri{+K-7XtCj(!Asm1_YBcj^{sp zppv-U@hFMQorRRdj^tn~i2=^sN@B-!U`~ax1>Y!)ZMy@jK%U*fjGg2&FR-DqzDE4| ztF|z3%?q+U@R}E-_M|mhV*=nEt-AmJ-Bjh}!#PytmZojH(<-$W@Tc%-)UsN%!ji`I z)N=9-2491JX-mHrLOM)Zo}9aVh{?*Tt;6bh^9|-_s#g!1mDAV9RkV^r_w5vww`~=+ za_-0#(8fWn(Lmd$Q}P4%UmTWLwMq(2rC;TToMyL5GnzfA0Ec~cRzD=Gv)YU8t^6_M znr%41E?!k~0QDSfUO9Vy%-TKKFzEk!KOSGgL7e^5`6`jvte1Tw|Y&_9a9a`7d(OZ0lJGJVa zziMfYs`vh?o!Z=44fLWIFGUzxv2BacUm*)=Gq#d5fN*e2zp%C6=>0)aNiO}(w za|>ntpPc?|&Dov!V4nU!DczkZ-FW)&ZXC|ljl;RR@hsDg?K!(~F;6cp=3gAkh0L?a z)kd}cZS`=u=w6E&4#K8UhLXbbU;x|$py|&)_d-KSldu=IIU}Y*VSeRBUwHmCDmBil z6qP8qR%y#u?da^aRpXcGv(l7gz#3C#-kr_+-fJO|s&X)OskTcWvQ#^s_Tq!(Y%^Ok zTG8i$)z2)APq%dVkd_W-wDio=(#7;SeBcyXWFWsXr3|&YOnY;$FatAuWS!ze6|f?(3B#N88+`r`aOvDCB-PKy`mW9vhwRrv&DSCw2*1dJ$+W75rpwVvBx<;?&krr zGXu!a^8neJ0pxZLAlmS!sDuYu;D^$dbg-XF_vOq!mz?98CiZIm&~8iR6JW@IIvdKe z7Ew%1zWI4?e*V11Cd@n_l@$Uy((Vs!fOq#l-!2z*26`+Ij8|kQG`NgmS}t~$9)g`& zEHvNB_P4SJLrd00_y=L=&PPDdtq;S`@?1ORb{-%*ABvxh=G*^i2wHv!g3d(3vP}~n ziiKs{+~c8WShlvq2chB4N5I0Z4@E-8<Y_#c)gLv4|n@#D1iBeIwx26*M_Uu$`;h7?<3SO0-l+M(`ve@k?aPoVUc}2mN6$g!iMx@J%jCJ`xcd zxH5M18qbw2hkRd>`ho76=^XLAx>FeGa!cJ}&c>z&8J_2%lA2|E0H&!_AAWnR>a=@v zVU-7)Qqd?qc;jC8;+T<5Q8&l!o|N=D*_&glB9=oTujAaw;xz$Znk;+D->1s6|JQwP z`JYqeIYh(Hx#e$D<+rK)ttn6Y0SeNcXNl>m@rH12IJZ-Q9rc}+tez6SXgc`MJ^%Tc z|J)iblw~a&z%pN;=WwMf7$5e&h+qWPFgDP5pU3O;wc_=&)q#Vjs=${<2}Z2u+?af+ zN41TEGz0rerBux8@12wkDYZCTJNZi8&sXf{xr*J+*`^U&rL~iHMqthC`BXC@O|29} zWe4T4nbKtD@ZcB$I(BI;RhOWJ1J$vJ$eHDzZM;a0BOHxjBU9k;jvk3)FXj%yNQa(= zZhxzWe*S1Jsd-a$N~Zz!E)`c7X2qnuopUa*!Ig^yLJ!O|`Q;)_Drx-#+bnG@(kRIK z3$*8tcQN&xTdZ)_8#+aH%VnGFTDqPkb3&nAO8L+i=%eH*iKb}2vSm-%?KD(N*iRMJ zlDj8dh(nh1)J}~#$?`P1gD`9xK|kFw9bbIG9<;jFtWE8{nnT+t+Bbwx+wG~^7K?qI zDgP}^=fylR2_h#ZfgMD8>uzi6^qo>XpATKIhwoi&RGQX+D2rlu9hWPIDIJ%BQuaV8 zO-dy&4JTpatM?0BGT=R&FEjOghiP!7+_xl{9OkwG1vZ~LJ3=KiD~BGZfPMB(|BF=L)lpf3j2Cxp=3x5 zYM=53RQ>KaXJVc$3dWCkrRR&ndF6+bArGkj@WEM_+n5aA4dUCu?{#G68nDW7%2$3TV6^vMI}dC?^o@V^FkPwhbtheQbTdjq|Mc1QoT71GR>5> z+%d-%GC9)`kDOtZ%IQ&?Pur<_?ubh}?q~DCnTsSG`%prqH=BYJmpv%c>IUuc0$4HU z&WQ&(y9O`H+i`E?Uw4?fR;I+$bbX4Bm$!EqfLp}fM9Dby`9&H+w#b)h2u=@OxA91@Yjl|cr^cDfl)nVk#_cO<2!86dG!Y7w%GH!JNp9(7uMcr<8)PYxpCi>c)K zb`<20=YBLA<&l_nFX#_jVdp9b+uD=M(2r?c^Afrq=3pAP+lmK#04#J`kus*$je0=j zKV()0Ky|}p?4KCS?-AtE-YAL3qj(s#{WG(3x6>;5rv^Wj{d0n!x;+bJoz3^`?r95y zRZN?%lymT+k@zUiI;vmbza3!B(4%=x^n;Vj{#GReIBzm#E)xyZNA3Yo(&8HI)@WnH7l$8PTl+Ue<7WYl{dn>-!3r=4mWAN#s zXQ%Mv6l29QUw5xY<(XZdUnVT6t~hW>t7Gt-^oVC7=6CqW|{U z(Gj{lHx4StPH#F?1rrkE|8%9J+A(H%I5?{w9n}tM)zfC9we#JMT{HB}D+Sl#%J#&5 z=_`A5_8Q6`+TD54RU^PG7>* zq8|o>MEq-#jL}44Rg^e&GS$WG$8lGbp+@sMG<7h~@Gxv+Vr`@hToE`eK~f6(tY3zh zLUl46#-lL?LcPQc;21Ew!(X||2wB?^=S~hlTDwN7iJ6FXON3}JaW#y4kZ`SFIE3Sd z5|{=Uw|@`|phJBTAXN^M@dg#!obK=M09KyxAAIbccI9P?!K7a(8=tEPG&Y#+M3bL*=;|I+)$iLAD_oKq>Mj^L4_tOhx5vBo%+uy`6cYk8o-$rj$CIXldrI*|I`I zsa-?SVkrCz1qh;FU+s$*{8LAb@deOd*#T%+s;DL&2_5DE7dIi0nL8PhADd9T+olet z^I5IYdR;v&uMmr*ArLD>c3G1?-}7^E?&7{E>w-(E9ON7{$a?R%0O}w)F1VcxxSbqu zJ05WSS5beO3I)!(yY|K0k?(O)8(X{L<}#MCopxn#Cnxrg3IG$)T=jwZT7cq{+RT&{Y*%f9+Xp2acQ~@$nm?wp*Xf?H`9!#vI zrKMDyT^fV>w4`gVnpfHl$$)Ti$(xZ1BRhT`?UxV5vh_-W*CTOfD80VZ0B=74aCsiU zI}ZT7JrCg00|4*LH^;5gv&CUQoo_ZC1RKz09_Xj%3xSs8QvY?2K5d8S-FVw`ZM^MW zOaLP~aeLAaLB`kVPP{Pn>X?o3|Fie64Q=E|!!W#G@n3kpXh>#)i2Q=Ygz#R5kvO9@eDwRs5QmG`B zO8QG0vwnZT&2|1HbqM07JD4`nMbHGX3{Z3$RZP(wlB}cAuh<{N_!@l+?C0gABQFZc zQ0$i`8f7{Q+Mkz`j-jZ!+c7x41-YlDAyr^y8;yi5_LZTv;G@o`gUlprV#_B;>nM|= zcklm^nZu0*P`#altB@Sm98AUJnC20c)0wJweq2kB6LD=pq;HQC@ozD#$B8((7|u9C zl^jRvDNq;g+>*_%Za(=8>_ z0Mc8RFG%09t^pkZuH4$exY*D#^6Oc>xMpess6Stjy`zm}o*-NtMZ(|p<}ln5_O2ah zyxvUpz*o4w+}zrBjM~_82~Q{RsV}|ayQAL@pg$g6=}(f~1?5%%Wqs^|OgNLwgYjfD zP{Scc8xHeCiQ=6r%13tf1&)rlI2siM1MR?XJ?b~?T+YQ1h5~u%}ri zsj-Ku6&QBmOq{`kbxZVchjmgL17eax4y-e~-I?cR*h5uZOjxle$Jc|^T!^f>KWaOD zs2O?|*6*HpXzJl=&PCQt(-Fh_NU)}V=xVdk4Tf2dl}eE{`ilu;p8b}xEQEebHurAs z`qQFywq()=XySJ1+0=|mnY!MTCSIeU%~dVeE&V-STtm#cAUYoXh#sOr0K{ zxBiiHIl6w1#`EX$Z&5pPTZwl0w(vGScWP7fG5_=@Z0$5+nUsPL`n`uvajibOB(`}H zI?)*kdU2eKr;{H3H*St6qnpvE-tel)&m#7NhY&g|_4h<2HvZtQT_6G-6RQOR#~nNN zBOEjpy2fr932Zifmr6iW#WWNj=+ztAZq2%kJU^2+RC5$X^rqxNWoCk=H|TpO{m>YT zaSbk*?d4NXgoX(>IDjl~Vcs2Z;m&gOhWB=&;kCW1rcrtvhPJ$&p*l&l%Dc5vKF;;K z>CshV&EI$QI)uxeSpi4cd;Z+KVjO?2Zh5FI*~#~}*thKNbgG`e_o@1pf2y7qk0SS(1I1K zhrkkBzFotISUbiFXZedrOy9G$`CWeOPfeWHA;#GoM!$TH&oixpKA&5!DREeHK^M7P zE}ghw5fo{+KUFXESx7ctTl!s;S$?iE%O-d_hkngfT?I{bgh%qq70p7`-jppv0F*g;8z=~&{vJ(%dH`KSM~t=szJ zHo>EMiFKzXj}*fQ3PBGZ(__G=qOv^S>B@&bU7qh5;X{|Ap*O?OOy16junF}f!|Oou zBe(Ss3}KV2*5=mcLTq6U6v}OG#+1rOlq$lX#n|NB?(9UD*s_#p%?9JGIO4V!l8c>% z)+`5{?m$LQqm$`KnY^CPbWf^kp*UvYz_)=Dx z`ZBMSO|JTLOKscQ)t^^tC!)Xdxh(!~Az7m?n_Dnv6%kwKB!7ULI`$Ttg%u?)%-o12TVs~byM zF`_NaNox`2ZU;rN#poTw1k4Rc#s{kbXApK)2%1GQJ1%@_1k=<-^O)*AqPKVSNZL9%sbPE-*?vE z0lM$Iv;c3bZb8>d$7^=`BWEi2g5<`y+WUz>_+BBD*xH$UA^gWfBYb;Tg!kWKikF5+ zNt^dNvw`-aRz0be&XS9mct;okQNOV7S%C-l{rXkBn_k$?-lLrXg1&`z=BZ^|tohHE z%%^696-2TUblQW`<2%W)(SAheK%lFO`uEvFM@EGbcMc;WOPU*~p)gWF`*Rq1vHhhU zs0m!EGoq8my*yqzyEp~T8EPqZOEBTCqM=DdAO_BO`5|@>#b>N;5im-__#qeUn}(pg zMW_vN<0E=v3|k@c)x3hS4?Qp89dQe9vydOx!)n;X&CQbAFhAGp z`CZfb951Uttxc@0@7}n5nx6f->4<&cTp6Feq5r8Nf~mgQ>N(#2_v`s?2C{Jer=TN* z6urSmpXtzgUqAR@DoRJpjx25vVJtIX(3LY7I2nDWj@m{oWTnZ}{^WM@Fr5#5-|N_t z`4{>QEI$_T#(1F~gbc}m!J7$e;cD`u9+A{p=~rb72;*BW$}MLuWYLGzq<2$Y3_yj( z?_#gA+GWYIgbQ=O&*yS-$(2Nvf=Y<5vIp7k)sIsrv;i%4V;FULcux>C+W~ypfrdmH3E-CO4mY{eHl~F2G%D z$Rxjq^Xa6ZFA_s;MG?Pg&_2YaNx%0m7pGhR^P=TFCtvP}KFz=-q>Hh9CK#4N^R(BF z81E-2#a+fDHw6#zR1ZId0dJixqvqxvvZdyG517>C(+e0sN9B5>d2o4r3^ctd)heZf z({kNExtp_Kh%as4j?8^DUR%_nwDXA7+T#3b#};=TMo$3lOK!4xwb|OVL+1m~0J{|h zTL{29JCmKOomK=L#Q^ked(v*{`&+>Ro7Mt+gxE`LMOGoVwt^+LV@gDjwG(W0aZ7eVM)?mI!~{3MsX%4J(}SJoOT-*U`mM98;^lr8YT5UGFp_-1mC)-F^UWH$;j zAHtb0e%Xm>&A;X~CuAn4q#vT(*}=z%xQmud05h(C%l?6Wkr<1?4}dQL{-tdSv9Kjv zz+D;8r|yvSai`~TC8R4LUjtESXugmMgbB--C+kUkoOCT!2tVY()vaAm2_;iGKd$<> z$F0&(H1}7H0ltKU^Nrg6NLs_bF>H(^1xxG?!Rr02Kt;6R5HJt-VLRxytyS^`ab|5l z>Glu0gXQwUav_LZ;I!Kk&qiO{g}A;HA+ua)#EzLWXB zllBL8kWCq;$$M_gh9@71Cm+I-_whv8A=$fdb#oy*q*i)cIX_v9s}Y5)T-9GY38_SG zVfr^pWS|@0P3ECE9KutG#8U|2Da7C@M&c=k@D%6v_>1;kdVD*b&lEB`33 z7(q+Z1RysB_4tfX`Uf+)G z4O-wwIpT7W6SMJHoQX$0KW=G-i1x~8sm-?}BgQsO!^&P$gZpKmG7(mmef_G=137+c zz3MbJMl~3&%uy|q-m@tgT8r<^vmOwLQi99-m@_24K_Cp0URpEFLiWVB@B^V-8L`Xr zpU$gq&vzM@B^BrsFC&R2$gaT}1m;|HykgW=y=m{pO%S#?Q50d$Q;|s@^6ARnVBmIo z7|Lxwe0c!PPI_W*FCsqjFBt}{2?Rk#>b2KDN0Z)FZ|L-S3_Tf6FO*sIGmGXMnt~`C zEyiAfzOIvXqGjBuRZc7Q#Y`BZglVpvM?${{LLXHQY;aBxPMdS-rF%bU zA`b(kC8ALMPd4Ha7aga*67wHZNnw=9ckkZ8;61viRnD3~B83rC;cY3*Bx*f1RJcB| ztIL9+F0J|ktEn_9Z^|%~$d6k$LL|lN9aTPbNtw~?A{JoBrOGMK%ka@?LAs8z>)dbw#ERL>I-AnX)kSm_RcCF|?!Y1SFB--x)MQ`iKO3(-5`*2~W+ z+eE|OeBW7L20Y6&)o=nctl4~1YL;pz^=1>S6OI$xwB#c*yM+yUo`(x+;u_47Z^Y!q zF{bx?(w;xx^U-``pRap;u-~$2esHO^Zkc;gEXTVM=mp*VqBpAEsa(8XmkOTcYXLpNR4Lc637GD3V*ICIdpB~4=rA; zvf@OekZS9p-;Q7cjQ%o;^_tOlZFR;O}i%!VBcK+egp2b7Y?X;8TEQX%m9gCOTuqBkGn-)m*FXE(=TXlMCZqpz>{zG5)+0N<<; zKYvRQ?t|6|oXlN}N}N$a7rxnT9==hbLBVt`HxrXPMGXuI5p7#x*FfCvy} z4Sb@G3KyXF&IIv)<4Lh(`KL62!E8D1*5ndHnlqmTTvl+|$46&t*6q3zzq5GLJu(~b|GxWCR^&=XGIu1AyTG7X2O z&ob!L=1m=#0)|(tI{|ICtPbk=9)h9bGPc9`CF|*$wx>fC=!f#sXWMKvZN0$4s(SRreelrA*Z`B1~{>!#PV1TQ9QHHQ z^8wB}fA@pVJD+og4>{)?aO&Fa%AGb}Y;870034igR*Wv!GK`08^>q77wz(twBewY? z`vbOxBm29xhnELs`?Ixtkz#-I`TX*f;%8{AY0 zZ>RaMe37qi?T^zJ@@B5VB`E9d*q`eC7k7=lUyI$oi!b)jjgQd~e)*3X02e^1Jl#Vs4vGd?KS4MU>vU$zy|e;YrBuzx&jViih3=13r}gN`rjj*v!wX4kWJvCnB4hSbBXVekJpm7|FM zmn6*VeC3+uce*+R)umh|>SzCk5c62q{hs!cH9n^qe9SroQ3yd$xYy<2Ly8gvGDA2v zg8(5ETS17fGt~19P4epuW`|%MJ0XZrB`>UvWlrZ89m=scI0)9VH982?wl+Kn)v-f~ z3wS!DYxZdW_G)CXNwd*gB6U0}T7nyAO;6f!AhlU9=)$79z=8EJQ!n)b%yWzl~UuORZ@S1Q%( z%3n8KSAmM`xr?cw^L31|bXhxS9>Y3Bc?3(!4F7ftV+qw>`I-8y04>%fvR<_)0G2nv zWD{jYdA%alYK0qbLm{VIW(k#H{**i|%TJ3e8a=5cMiXut@DSPG2k=)%drW&iIA>zB&J%d(}e zyr>H}py5_sE~>Uw6+0}bCXjq3q%Rd|;X!aE+DSnC=XYYOh4$Bd8Gh+EC4_}~#|I1J zQ9}MwV@?>4$u0^V|)F1Wf92<0^`{!B5F#>5>JJ*+iddf~v98vchO<7iug z*1Ce#pu5^^jPLPkcfaJy@td7>xHi2P=kCHdTkih8T8T$8*5K@HJa#9nMH}JrR)%72 zI=H2}I8Iw<#q}1gndkIaDyF_b?^!zz=kY6dxZRZ7P;V;bw-?n~Lj?RKFU)eS-aI^< zzw;S$qaqru9M_hs6(hQY&88!Ec*t&g?q~Fy42;E}*J?}o0XY{Ni z87Kk*l#fC~*S6Y`)fZ$r#l>Q*6#Z#j)TawP?P(sCP7g!FYncznKW~)bYHK#^%`=d6 zD+s}nQT&K`%8x>upIQ|B+#nLydn%eB?nmzIQK^kpHobOPx99f3ifE(*b8whTIVLzwfZE;sG@^qftbmAE%?K)92m_ z-**nURA^_;!03$De!aN<8<@R?aVmYtv}jjiv3QeUtO#Uwks>xMzp0}*&Z+D5!_@UU zNnJ+|Q`b?Fx=tRZu9JCn$smPy7{+uzZ2~&~Ly@BM(a$WN!iR=cHmwa34w$n7`X1dr zWIh0yk3w0n0-7k}wX|SHV2s+dH15P@(W|sWz91||zp0eqgZPpA7%}Bxsl0}v5WtX^ z7z!UFW;<=Bp#H&Ev9k7wr5FL8vx9F&famStTM^)efZej4NEGj^Ka?yd)E}zClZUA= z@nCCSJWPcbi7PyMm)SNQs2DpYzo(%OA{b}z&1?OC)X_Q{leo~8NWFz)4z2QFYS=_<}pQBZU^XjHoRg}+@BF!_nN^QQey?a$sCoNjmyo`BP-hx zx$4qzH$u;N?TLdc8~*ZFl!D>SqG#9HA%!Nu*7EO~>y7$1E~VhAM*kN4IO=(0s^z41 z%vp|e2?Fqsoc@vj7{RNe5uqeaac<*)@;ga@wqt;_8D_g10k9L7&vVjNEzDVS=6q>f zPh6+t5eqKr?5AG8e?c)0MFO6x&+snpKXjf#2EM1}jb@X!%X2s)rnoK2`(STvol?m2 z&J>@yE#q^?=nSoOn}#L7%}weM4>rwkOmIWAEO}_b4&tA8#2ct1-hcl<3y#s~u-@+a^=LZNTt%VK3;Y zcj9=c=_a$jF+$H~{b`TKb(DCmc}lhfkZqi91m;0e83DM2Z*_&@+u%+z* zs0=F~)epgbEWaxsMzlMkNUaR!qP@ML5(lLtDwVvIx$OsSB@&>tSkiVv0a9(FUMFco zp$OMnp_bm!W?a!-57PQa@PCn;#M%w(zr!4UVLAcWf%5|RFbQx$0N0ZM7dh~GGCDRT zbRt5wByEhTr6#KZHCsgPBPI?h2_clQpRabj-<4&Bb1Ux9pBIwelJh|pe zg)AmK#u66G`?aCPb9pMnLwwe_Srf5yb5>7q9#d>;H;(SGL`?;6EumKv)6_=TJydII z)-Zu`-E@c<+3=|4S3HRm{tc-pMJFy_(ZV%qNsKZ1(5B(Ab|_q6_UH-qwi}17sIW=s z=&dVpORwj6fsWdWFrpUdsMctt-5T3x-+dRs)NDF!-EOpYtk$mzHwJK5*LCd@oi&#! z^zg#O?eyB{ED_@tMxGY2vJ^VtC|G1D7pgw72<0U&`-SY3aUK@A2@h-<+()fB5 z{ZVD&M}qr-G6`sCVjvzKFl_2OU1^sF&Ggtyg9Ll!7h74y2Qm~M%Av%0bnkp;>zZ^iae~-p$(aqCT!kEDq-dJs<>pMf#-D8c-aswR(UzGUT&6- zj%ww4-7Jz1Q6pk6S1wGzq7N9j?{`tTC}a4%X1#n$Az=MtJ9s-WqS%{bYH_9Bs2mzZ zy|`0d+dI4qc(HB14i6SPQm5}`$(+yUB0tPfo<#g&X0w5>G(?on8>Nd;&pbtx-tz%tp6DkkJjI{-9mC`N*6;ei8GZAF%m?mi&_+ED5ho5}f(?j$-j0nfO|f_+AGFX*+U|8delQb|O{8Q2?hK zGwapLrL*d#X>#N=t%c()XH5PFCLMWARqgP7e`TMTbmVi%H0m73Z3AWDekczQ4Q$0^ z*ld2-2A<7ic;dX34SZXXvxwc03r-UG?L`p;#4^9LD1v|t=3gv|ATWF7okbA@rLPq| z6rJ2GE76lrZihJ@U9KF>CfKeF^FH;)>wYX#6D>gCgFfNJ@5Hw5m3V-`s5CO( z)yL3*yB>!s*h(Wb72Sw6p8nx4{8`^r)XK|!Df-s&$WuX^i5tNFwG)gHz&^l#bcyF8hl8adzU&=6;C1WQ<@oGUPSkPH`V1asI7FcTta=)>GyA$Z8wRH z_!Tv6VI-G3s6qGxzG5L0uj9c8o@f37TjV`#>?I&-)RtGefwkFuQQUNoee2q=dgbk; z?6x0w!g_m6NXWwV>rvWvR3x{IpZ)_dN!6@(h29rCQunW@koe!TBA20rPb8aX`4Ozn zMjrkvi!bIiJQ4XkBZAJW0LrEnp~4JPcs@y zNAP`T*MCD^h9S}4S3ts3!3P=mc;ywEE_@Qb=E#>ZUUC45k|FQKTPr~l$wm_71>d8$ z!h(s#BSOsqYyHdDpV2b)!jP%wT&D7OktyltkzAlpWA7)T=uw_99^mBRv;M^j>`9**WY16>*-?F37%{rIjhDRrfc@c3W z9J4yXV23f&xz~+*cfD!zzZzmV4D34$&I3t0xQLF1Oz7@KNM;=a3t8 zZ;Bz=Yxg`4lnD6_8+WmzYR}DEb-szKPh3kB7ZM{GBjhF7#rOD|?}jO%U3d=|8S=8b z86Vca;~oGv@3$wu;BLL)ZojEc&3kiMW^}h&?f&{rR(a}@uGZY5aTnI#yVP%(=hR(R zBfY3%Bw5$yqV_YGRP_twZ@7c~q0_#`x0SIQG*asf-JwM~CvzqKHn$?ya@!d#icZfX zmG1^j#!V58O2R=tf+2XUROjYM^~s}D|0SfFKVSO0i*pSWvpYfF`!Z{6elH}rJLzbF zv|Y(ZifZm?(m^{-j3wY@+nID&sq>4|c89m2K?cjL5Us(R=_-CjfRZTq{ENll>DJex zLoYvP=xGr{BiFc>o;#sUET~Ofx0&_(42-cUy|=7hOtCF*V@E4tmAo!pR73;#EfPM9PJ{qp+*?Js? zAT5nak6lbgH=|D^)KI}GUT!p#00^Vr>xq^nxe}&a0^!I<2;WiRhze9sP9qECcNVKa z#Z*ZOzm*JL#dhD0!t^4+%#@$24=nW-d8`Oif2;TrChkJouC=9#gB2*n;&@AsOk;ne z)(a#_c{v{8z1)AelM$;mN)@_BCS?kXy}1x+AqgoMclWpbT^pXU<);TqN$zYW;7&o# z1hJZ>uzSDFwfgZqy;GXPXlt>m2%924>z{l7`d8l{sCS<5M6`#z9(6=No(_etiQ`$$ zm?v}HjP01a5U&kS-7BYk%TD^Emec2fm=1c5r&@YE84ah$FhQ|yug@b19US|=RiiK1 zbm9y>d_T!7`<9zL&G315J`l$s*#O$K44^{9018`~u}Va$y(5vGU5VMfRs+lWb|iTUu$zX&(Jupnm({vldUd zfF)y3uQ0GPiypwvXc))p6RZP9XW0PsZs-iZXv#T+mwQ&E?FR^@~Ca6}h$Vf1!= z!dF-5buYG>Uim>-gz2cmOdHaA+d&-?hjGh}aXSLzVIM>)9^>}MbYN={6yh(w7un7p z-!A=y9-&R!_RPQ%-ch@aLL=f%fAz+lOt}5R|Cix>V|5+`f(C-noOQQP52)%VdkQSQ z$L^2T$EI!9{o=oNE#+eel6n!sr-iMEE}&aI|42~4u({tSDWIDZ?_vt51xq0^J0F|v zZ>OpUej{iy76M7wL@{9&VG~81S%gix8konX7qM*EGUgOj4S9iCtp&BH@+%E2F47WXXKRQs{dSqaVBJjTvFkk z(3yGJg31zHGTt;#>&}ID=jgu=)1rnPkAD@rgNQ@t`_30*$QTPhpa@owZSL>BWo*8! z1jf~l?-&0f(pdrBnr=q@*+9gw3c7Xuh;CgGE>0HMZFvYAKE}7b6}+WkQ6ggB86+W@ z(C#FgIuqzvdLW0nUtm~GBOQQzRpAKDoWxzyZ-jK1)12ovc~fG}yY(v+YQFHp{ps>o z)Fb^FFSstr*f1be>@!ZB%iNzq`uQ8ry86(+(%Z{11@eIc7j>Z|5385wjkuD9K*>hs ztPEQA>>{Gjw}=YRo}a|9MR7T{M_Lo@~LFq^mwBY9yEBO*+3UM5Gv zdmCniUiX&uCcn;u=l!OS4UKhkJ8p|gk0+xk(mHSl%o&fH=;LCP4wc)aaz}^Bx~Z7v z?{~7Ui@GepjJZS>G`_aw*1@8kqsyC+??q*VT0zo{uK;=N(Zp?yoJl8HE3(=U35vKX zoZi!?kbRssq<5Nai;=t4z%rvZbV%-l9$xmXH7=n88tlM`4(a~>=yPPTVsx=A?z+tp5@nMlPN1nOLLT*lr`A)6pDqY-nl^JUK(t1X&x=E{HPi`0LScj-G{KFUpvIEJ7}r|DgdCrhD-u&9GUpK`Ulh#FstytegoI0Q-FbbWJ> zCqcJm+nlyJZQHhO+qP}nc2C#WXkoieqPD>VZMU%+hJR&vPRwwc&BExQ3G_SN zO`zzcgcB8qp4TQ+3@4_6yiFl7h(w*i@8~`DV%>7hQ!eDS+`DT;6t!R^j9%Bx>zVK) z(+!8R+1K?b0GiSz(2AxQqt9-fBqH9-ffgJ}XA8?haU11V81iE9L`P-X!6k;y@2!8{ zr&vX)E(!7^x-}RhxllP*<<&(Am3}x#I>lGcf1I&huDEiKm(HF}*u(hos#}1gtYn2q z{ZJTCphNsgZJ~f9UuSWPUbWSx?dopG_U{~zn&F;-(C#VsyaLOWd~vF)DO)GvD!N8< zh=jpASG*H9O_u5o$i&0YQ~q`OUQM{Sl#vt~tpGz7y?I{Bdf^lMGrs7Ew|pF+sF;VvV^vP?L-z75}n; zA53ps`FnFy39Ro*n7w+lk)8v@(B0GCR*;d5-+B-WwSDH_sx$ExjM4e`)D^x)RwceLuZ&U5` zpq{ZT!_8BQ{Sqp)@C+*oxc`y_C+p;>ThZJ9<)hDJLa?8B>b?a+1$JWvdue5B$k$kC z^(*HgwwXeNFGyj(gLUCKQGddMs6y0yCI7mth?7nYegnU7_X!5k=xV`@vNmpk$}E{p zLEk9`nA`^5KsF+}kytX47qRT!>XI{0x~|Gb3$9o*ssJr2uYci*~oW^=zgF!1zXec$@y*b$Y8gaAVU38tXN69@g>u zu)o}mN)%eI_6Nv*+x&qszH?yd`AyH77H(${yM8+XN|Kl>lXK@+W#|ed?df;kuxTZ9$^EUBEbwYx&k3u91p_{nE%GC_}f{ z6_%dR2|1cYfwv8~8M#Qk4n}C&B9`4ImoKO1I1PmIJF6A~N2;8c3s0O?)pq{=G_VK> z(R=&N$VFjCIy2DiKu!jc6|={F)#|XnuGOx`%K1yz1zb`8Uz22fnYM)MX{~_TD})Bp zW(&|V_F3>+5cC)u;xZRW(tZKi2(uWtJeV}ar~Eo`&?ecwIy%fIg{IBIut6GEGtLo=&Ui8y|5xUK&DQtQy&homqdU$Eh1EBh;mbR z``D{{>2mWLM~>d0uh*NBwayM)kLu$>*%S7}a+m4p6VA1A@lpb1cryB=EbE215#^;* zo8Y*qa#Q6JHn6LOK&`+iC44_RWh50Gp}+kj%;Cq#xGqEFllH}0RuoEi)y|LLsF$f+ z|IItrz_1b~7b>LQ3d}z+iHG0?@CcJuRRh7SduY;spyH)Umj~3w9X`F1Bt@t(Ol z?hj{S#_ctGzIHkVCYI@!=iMG@a0nmi;Hpt{Xs(Z&_8X1)t8 zG>SA@g0Gca>eME*Ehvn!%|aE`cXZ=HtWnyr$y4z6cBHlut$_tF#~F;m)E^nIwJzKe zp9rrhq_jP};R+!MP{IsiL3$XH9E9%1TwO^3#TouZg;zjFGL`23mKR*UJLn5KC{a*& z3-{Fa(GG+{4;mvgQ)K#y7(uPu_rA}y)YM^stDxEr9mZFXn@rl z5h?s?eBNAA1F|1I1?z1N)CWKYqAvoH%i=_6Fus|sIUeW#;XfyZp+hdUVF5~yP?}jW zBscF-NsUs})j}`QZC$?i_vxoSu@NdgI;nZ%OtoJHDpxX_qia3Ne|ytL2XoB;-XU0` z5+|Qa5JLcVUgz1=5G_xV_m~AnJahnVEi zn(?t}{Uu=aI0als?`R|?0hd{g!j~L^`7L%rhPIJ2Dc7x#htX(t!EX3$Gh-aD8NqCB zO^qPe?7GOfiLE{`dO2l0ccJuU`}U~PP(D_AMG?m9hdh&0B)jBO00KEN3Y2TPi~>4a zgjJEA_+&pEED2-Oca9BCs`6wZc40~iUh2UhDG0X~DAo_GM7V0$z=CVRf;$u}iEY$3 zfen8&#FD~_J#lA{6oy&yp&UADmXYJ;PlcfolpjMWC&DmBMudpg_P;5`$4k@FiMiqqO40_A z(Zv6cyQOOX)7}5H^FQ3R`v19$NpQahrQxPnb(fpjm55N(BQmZ{=F#z7rc(?zI##hn zA4&y9fn)fT zzmuQlN5vkGy#O-ZT~E9BJBNQ8WJ`@jr~7#%oO(J{i{Oj9SA)~Bp*XBL#F^fSafv{G zWl~&|kqW3ep&f!M^Fi8N}&x)r5GEFAXl3veh!B1InY@F0qiuEvc&r zm|D;gP<-(bP<-+cn7`%_D7@r|6?X;(7u&SpsZiZztvc};m`!twnkV!*hy^cPw?z?r zREDXQJQ583vIr)y-7g%T-Fh2?8J^8M7D7uFPCW^-{Vmj*3YN)Hd>e1p+?2&}c`SD? zH22m#k48Q`{bnx15IkKOEGKo$%7!dM=TH<%6IHIjFi)fEW1bWIHl1Q9>C;RmOjR!K zjOm2U<-(oo-X1>6Va7_>?mUrTF>9F4kt53{1pmmqsrz6I$H+c7d_Ph+u=#tTt2$BV#RfX>ahgERxMBpC zDX)S@<_m$I9~G*8jRWn5?lOsOWdP zB`YMl&d8R{WYf(P?ow4LiEm|?zgkEV5|Qt1C)>#4chcsB64V6ECfX_dm`&>>y&J~9 zJxqtCzEFjmA;|1~Pg0yl~Hnij9 zR*@WGGHTh!r}YAXTOi>7kRL#P$SYA3#6!mmmVqsp96U$bA{0nNpM7y`baf?`mOUOj z6b4~iJEJ1clOT&>BYYeS`Dl8iH`2frq6gKR*7@CV+@6Z5Q$da63>(eRR&U@9 z6Wvm7KvJI((~7q3m|^9){6#7;2DQB*+prvqI)# zAnhk}kXoz;bPn%#tGe%Kx<}Z@4*mGvJyG#}sG&;MCF7>a0-iy~dQ0G;JHDKR7k>ok z77&Cd7mnOcGr9eGa@*B7_p^x=Z&J3`0Rne79Tyh_{bljs;VwSlQ}E6oBKYZ9ID8~B z4vOX<-of(0R}9JNRoWsTIYkWZ=uqAwke(yJVm41~ z=kG7zXF5hakivf^Cp$(QR+hwlK5>tFLy0;~E&{TG4toDAC3z1Scq8mALH3Oa;G@Bv zfpiqa!7gnph49wr^48|%A17>BgTjXiC%#b$Sg>OF6OX?bPCT|lUKP)kX_l!V{@g>e`&#k!%}83 z!RPGSrXN*8LxngWJsY%~7t7OZB|w1E=L%DWluuJ=UmG&Gc-_F~7=dc=+9I@9ib!Y! zVN0-SnV^NgVcB{WOPN8N!v9#ehDJDW{vUcVQvCYMq3$;aH=-bp58yu9|6F!tPV!0B1O8;BWmygStbhzr5 z@1v;v-L_tPWt4)wii4M5%k}prpe>OdXW)b^pu1hX6qQdN z9x;{zwer8`zQoeS6f5p3lN8KrU58p7pXO|L+4T6P3XKK7Aa$fF07FgOyE0gCFZV#C z4eZ0@`dAC&CKM*TEPet^%r>b#Kj$z+pT9!saIfS$}7$~%}pIh|d?%7ML$Et>S()lQxGqH-y zPo*0Nop68cEF-~pLV4nK=A*eAj!QJ?ouQeJ@C6V~UdG^_5s3Dg{Og@6nHwTK4PtpN z#$3^{K;80-O7?X3{0BmbT-L(Q8iG_cVG=KyHN`XUDzseB8vD#D`B!t`Mx9qx;vfS+ zynSX46PeN!lt>PSVrnl5R3XwUuacLDT_qCrr?5(RnUVsYzBF?^ZDUZAC;nkZ{)AFx zPUKNGosP-BAL7Ql7z*nFJc_0KvaC0OCDP&AIfM%Co7Zg80eOEFNgt99LSYAKer*^mkxqXk#5}6F_a2 zBk@a7ND%_m{rAKM!%5(8{hJf!?-<3OEc*{GBlNzRe`a+4=rbhMfqHEJA{GdzIp2^% za6!BFGr%q&lp3-)gSb<=Xy6R)1tXY)uMHidR&7IU96nS@97C<0G3(c8d<-A_Z^LoF zVD3x%$?PVqEShDogmT$8YEh9|#{4T630X7oHFUcNC14YvlR%au@IyZ*9XEa?4tM%!M!L-H- zJTalTzR*F9A=dS05mNGUE9p8#9x~#B}Yy@r%W)0x;&TO8q zX7HP^T%yJ{2U%`v`1bUTQYNwUhTf*qDM1}SY#omWKQ$kW^BN!J`aB}x%U<$q4@NwQ-H*G zPH{Oc^&Mq5KADj29}WxPt=nYsvRrC+7zX7b8F~r57lRF;nHcc`UTxpilgFgimJq5$ zkD&F>*(8fCKND_XwM!6(bKqvgg{!^8yvHgmTW(~agK|Gm80~Ac9%f0=$GlWsDl<57 zhMvKpZ}Vq4JRW<0iSBuFx5&pYB3}8;@7vH|1V~Oc5TIij(L>hA73||zowVs0DJ;Fo zY1_R|)mnM&aQX&;RT0DNzvzd9!uIr26^~IQa{mt3!9pf<^TYZ2BU|(n6ee){isk{1N=Ae zf?%x7Kcf>z)tCJ4DrWur;wyG9|Jxn)#l7q&9?qqP`vBgquZKVM)0-i9&cME>R&D@eiBk+kC7eSa@^ zk37CwHF^1J({VfmdG!lA#PA{uRnxOP>zfG?g*K{gf{xg8if{xWBPQ!jComA4_jN{^ z*Ymqe#4r4HpfYOqwReglKETr)I-33L#6=D&Wl>r>7`WfOA2JwRAPSH=K>wY4aP3#G z9;eh$?Xqh14A>0j@1Ubo8-@3tb^*`+5jS>kKOp(TW-Y$_u=sL624@y3XJGk{9Tfi1}|E+Thwqm0F??aYyAKn1-9FXfn)3mF}+WqEEO%WEA}{ z_?ChZ)VwRm`XmM-Nf3O^VrAmDf{}S?G+9LgHWdpgId$Z|#xwL@y9y^Q!MbHI_MeiL zk9xNN^stZEJj-&wH0fWYsnOL)!Kz*>+Ba%J_Ep&Ru%3W>I70Nli7!m@N#VIY85tY_ zPgQ^3Y1tvuf=F2nkyycb^sn#AM_Ey=G)$L_@A#Bj`=iFRsP!1|4TvaBuo?zV6YP^A zVIxlFL3wQBAs9kC5&Kt+Ppw;{o~L?Tzz%ZC#A@ZX=SadpDUFzMrFSLtGZ`ov{2{}W-F9S1Q(o*qk1 z!org8S@I2B!R^?-HZ%7liC)T4d2k=8)e0>ekW|a8p}9}oko6tNEX1%6&DEq`mgl&e z=_Z~Ge8GJsuLtxacr4$2hY1hri@&iWM@{+N)G~yNM%1lDe%0?GDhc^HY`h4SeoUww z*B%nE&PUi$nyc`;z2rQR2( z@a3Vg5jF@kL4iUzkl^G2D}p(a;2QGms0XMINjHBcAZAO=ISVAygWYsfuFE4b*7vWrQU zzq17J64v>%wQhe4c+RH_4D&Z@%{qIKA@t7P~LwgEk*V zFT7i2|GEC)TV(t8D;2SA|Ks2Ovv)qvmfKBo_|}#0y+L-jJic4qi=;>OizJn+7B5XM z8@*J3m3uy~ZvUj5jlqs zjZCOt!QS{!F`3U<X0vi@Vl4R|Tx+buD$<&*dN4Vw;=UiqHCvf7`*IchwwmZ2M{Q02u7-1hW7D=Eu$7 zST+0hd8e+6lzLTKDnII|8!Kyjs(e#t>r>}DAL11leBWvq+$WxgYZ9Pc7 zS1e6)Tb9e+#`4~yl@-CRZg|~n(0BVwYG*!wqglUVQFd>w*JrpSKK(;83cLBBOjetl zK;Kj?;D;5wrWXD6dw>4nrSeG+f;n6Lcue0W7Grw-wCd4Hv!)|Y*?Sgg*6lcE*S&m0 z@@23jFUpE8cG8q#x}J2u)!(v;)GG;z>`>jDO#hu zYsr=`1}+uj??+*))$*x&cWCw!sfB_de zXE5Z5*H})wR32=4Rldqjs9drcSbak$;e|ZYI!cv755NR5Q;eC{@1*5F4{S+J#?Tj9Wl;FF_B^ zZAA`e8yWrzBBV8`16md*RBa8FheXaa3=NEZT!u?H2WQ&WOuiNbOB(HN$Z+0Bw*0$( z0d{|9HJm~=L@2a{-yd6yv=QmOED}r_3L$3B;$o;PAzr)N&_bl`CpD5_mN?f2PMo^* zO%P|sUdz1c;jzdu@=flHbqT1kVQfpCUHF=vo<7)JJ1+hLK-K|F0EqTp+p+u&fQRgk zn$d4S@<%VcSojMPd;j6A|9uDUFkpEV5NeAQJo*G6X!yoZC(NFHU{5_f-nXpO3tx6q z=FACWQo{L1aMKY376NY`jJ^{%cmd8v0CBK%#%T>SZI4~#pCC|2 zRBn5IPAPp0DRJtm7_(9bjHNxfeyf{eJ!-!EAbNWQ-s6MXQ+&Qo{0al2-yc@@jjoYR zOBYl}af?QBchnfYw~6}7MsjDn1HG#T){}gw!{!a?v#E5h0XsE28}pYPeAsIE$}ok1 z$G`JCr!csD_ADR;yJ(e%s<#q1O>=;(^<(`~E-hJPR?qZ~+mw)pn)MDBe0#g95Z^Qj1{=m!Y7olXX4HG7LCgkZIH4sZyy=LmV

Q4KW~uf=E9*S-!RnjbvxmrbRYTlNLsw-p$XaKHBCh@6%xms(;t>h$j2ab`vnW zd}n+9D(7}TKJVzm?TJF*SAGeWr-Q2=R}Bqy2?2Gf1)UQuhr9-lv<4ruUxEp}8x7=3 z@A5vBz>F-0U@&k3cFW1t)3m_-{mYa%M9qhG$lPtrNZ5nA#(1$g@XL+R8zD7$6>JvH73oAY;gCr&RmH?YP0eiNoQ>pK{nD7)Qf%DxWz zJw<`^{x{D?04vav1nWHA6!|s0Z-#M+Gr^Y ze7%+PWi2LjF5uL?5EUWfpXTR`MwvpA4Vn)(m+mTw+|7OHW1g#s+}(XR`^?W0&a<7a znjiU)2h<9Lwe}GtgJ$9oxk^kg62LI8UfEoI{KB`;c43RVe@ZNUgj-Fne+4S^vrP%4 z18xPv8~^VC+f0`KG(ny5Y67{7wObZ9d$afVz}xWlr{q4I%zVB6QMC-0EmgCQ1TRBD z%7_y!B@-|og#=k_fR+J?aq|I3`QhqxA8x}cu)oNAb#w8_n&>6z!4UJepaRssI+68w zFPcBrH8x(y)miLK?*8pw>z!BDp^=JYsCU?QBPnn9fT?*k2xxBwP68_aPe)^9Fky_g zRUX31W;%&;G4^0U0ECo}4_=)%?HrtG&cw1cGOUXgk%Hjy_ zL<-Lia6i^P;rA)euX?9I_19~jx;E!{WFx@zjX(HjZ~NcD8$UpAeJ<>~zwI$h{I|Y; z6aeG7V;flJXw2hzFq;hV?{3$)kxs0cbL$}H$nH&SnD@Q+rAuQ6;wFLTfSO{+`R?GU z8nKms-62AGx7}>6$r``}YedfS#T!!)&%(j%i?Z{|fa5*kLheDfRg*KGzcFq_%grZt zLi0`T)d_v(F>E_Amv_IjfoQ29IU3S3ddS^TqeED`=q~kIK%XzK=f3C_hVk`$c`)>h zn#vI^aJaqwxYYy*KS{mw6bel*2agT0YFR89KNRIR`P|`B%Y4E-3;PTX;)Zzm(W2K; zJOvgXvqC7gwQk(I0?4K^uuA7a2 zL1ZUpPcEjE;hFRh49YmD~dVcpzu4ihrX&

J9(QQMQ^@4eVM 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

?dRl&92P&6KFuGy#gC@(b+lC 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

3RGog@s~GtTqkjjx;x17q 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 -- GitLab From e5189e93371e21b791605baaa60992fb30cc61b2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 11:55:06 +0100 Subject: [PATCH 0352/1089] really fix name for bigmemory patch file --- easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index 1ca3e7f554..a34a11bc6c 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -277,7 +277,7 @@ exts_list = [ ('adephylo', '1.1-6', ext_options), ('animation', '2.4', ext_options), ('bigmemory.sri', '0.1.3', ext_options), - ('bigmemory', '4.5.8', dict(ext_options.items() + [('patches', ['bigmemory-4.5.8-icc.patch'])])), + ('bigmemory', '4.5.8', dict(ext_options.items() + [('patches', ['bigmemory-4.5.8_icpc-wd308.patch'])])), ('calibrate', '1.7.2', ext_options), ('clusterGeneration', '1.3.4', ext_options), ('raster', '2.5-2', ext_options), -- GitLab From 919686dd4342204f7de48059ab0542448d1fe3b3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 12:06:59 +0100 Subject: [PATCH 0353/1089] fix patch for bigmemory --- .../r/R/bigmemory-4.5.8_icpc-wd308.patch | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch b/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch index 36618acdb7..965affb5c9 100644 --- a/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch +++ b/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch @@ -1,17 +1,21 @@ -diff -ruN bigmemory.orig/MD5 bigmemory/MD5 +diff -ru bigmemory.orig/configure bigmemory/configure +--- bigmemory.orig/configure 2015-10-16 18:44:28.000000000 +0200 ++++ bigmemory/configure 2016-03-02 12:05:54.465799000 +0100 +@@ -37,3 +37,5 @@ + + echo "${FLAGS}" > src/Makevars + echo "${LIBS}" >> src/Makevars ++echo "# disable Intel C++ compiler (icpc) warning/error #308, to avoid 'member \"std::complex::_M_value\" is inaccessible'" >> src/Makevars ++echo "PKG_CXXFLAGS = -wd308" >> src/Makevars +diff -ru bigmemory.orig/MD5 bigmemory/MD5 --- bigmemory.orig/MD5 2015-10-20 08:17:15.000000000 +0200 -+++ bigmemory/MD5 2016-03-02 11:15:44.341327000 +0100 -@@ -45,6 +45,7 @@ - ab68983ecd8292d8986b54fd4cbcac25 *man/typeof-big.matrix-method.Rd - 1bdc8e05fa99285561a41b8cb46287a2 *man/write.big.matrix.Rd - dc93a6dce890660533e7fd18dc1ce2d2 *src/BigMatrix.cpp -+b1d3a4d02405fe08c7983c479bc27f13 *src/Makevars - a55f990cdca7b9de45640aa60febaecd *src/RcppExports.cpp - 81e6f49c7f623fb97376bd4b7132b176 *src/SharedCounter.cpp - 33e9321c8b0fc07df926fcc2f80a41d6 *src/bigmemory.cpp -diff -ruN bigmemory.orig/src/Makevars bigmemory/src/Makevars ---- bigmemory.orig/src/Makevars 1970-01-01 01:00:00.000000000 +0100 -+++ bigmemory/src/Makevars 2016-03-02 11:15:00.997797000 +0100 -@@ -0,0 +1,2 @@ -+# disable Intel C++ compiler (icpc) warning/error #308, to avoid 'member "std::complex::_M_value" is inaccessible' -+PKG_CXXFLAGS = -wd308 ++++ bigmemory/MD5 2016-03-02 12:06:21.181928000 +0100 +@@ -7,7 +7,7 @@ + 08d8ac748bb99e6cd73cbc851ba24e6f *R/zzz.R + ba12d9a9f21ff33b7f0e51d5645eeb67 *build/vignette.rds + da4cdd259fd09ece34aad718a9a11207 *cleanup +-3c21afb0f744e005b69e519259d85021 *configure ++f7c1fffb1d14974537e82237574eb11e *configure + fc5c8f75e424213609b3e3cd9b57f5bf *configure.win + 0cd9765e8adee62083d32a17a6b9aa07 *inst/CITATION + f883e7fbbec7e35f5142805cd80548cf *inst/doc/Overview.R -- GitLab From 632135c92ddbb7aa60981c3261db3f0dcaf9cfbf Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 12:16:59 +0100 Subject: [PATCH 0354/1089] add diveRsity + deps to R 3.2.3 easyconfig --- .../easyconfigs/r/R/R-3.2.3-foss-2015b.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb index aae3ac82f6..ed1d008211 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb @@ -420,6 +420,24 @@ exts_list = [ ('clusterRepro', '0.5-1.1', ext_options), ('randomForestSRC', '2.0.7', ext_options), ('sm', '2.2-5.4', ext_options), + ('psych', '1.5.8', ext_options), + ('pbivnorm', '0.6.0', ext_options), + ('lavaan', '0.5-20', ext_options), + ('matrixcalc', '1.0-3', ext_options), + ('arm', '1.8-6', ext_options), + ('mi', '1.0', ext_options), + ('htmlwidgets', '0.6', ext_options), + ('visNetwork', '0.2.1', ext_options), + ('DiagrammeR', '0.8.2', ext_options), + ('sem', '3.1-6', ext_options), + ('jpeg', '0.1-8', ext_options), + ('sna', '2.3-2', ext_options), + ('glasso', '1.8', ext_options), + ('huge', '1.2.7', ext_options), + ('d3Network', '0.5.2.1', ext_options), + ('ggm', '2.3', ext_options), + ('qgraph', '1.3.2', ext_options), + ('diveRsity', '1.9.89', ext_options), ] moduleclass = 'lang' -- GitLab From 3f20edc2d26a5ba156a57c62e964fe2d190f174b Mon Sep 17 00:00:00 2001 From: Alan Date: Wed, 2 Mar 2016 12:38:46 +0100 Subject: [PATCH 0355/1089] Update files that have dummy as toolchain, are not a toolchain themselves and have dependencies. Without an empty version the dependencies do not get loaded at build time --- easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.12.1-linux-x86_64.eb | 2 +- easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.13.5-linux-x86_64.eb | 2 +- easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.14.1-linux-x86_64.eb | 2 +- easybuild/easyconfigs/a/ADF/ADF-2009.01a.pc64_linux.intelmpi.eb | 2 +- easybuild/easyconfigs/b/Beast/Beast-2.1.3.eb | 2 +- easybuild/easyconfigs/c/CMake/CMake-3.1.3.eb | 2 +- easybuild/easyconfigs/c/CMake/CMake-3.3.1.eb | 2 +- easybuild/easyconfigs/c/Chimera/Chimera-1.10-linux_x86_64.eb | 2 +- .../easyconfigs/c/cramtools/cramtools-2.0-Java-1.7.0_80.eb | 2 +- easybuild/easyconfigs/f/FDS/FDS-6.0.1-no-OFED.eb | 2 +- easybuild/easyconfigs/f/fastqc/fastqc-0.11.2.eb | 2 +- easybuild/easyconfigs/f/fastqc/fastqc-0.11.3.eb | 2 +- easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-1.0.5083.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-2.5-2-Java-1.7.0_10.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-2.6-5-Java-1.7.0_10.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-2.7-4-Java-1.7.0_10.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-2.7-4.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-2.8-1-Java-1.7.0_10.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-3.0-0-Java-1.7.0_10.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_21.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_80.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.8.0_66.eb | 2 +- easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_66.eb | 2 +- .../GenotypeHarmonizer-1.4.14-Java-1.7.0_80.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2013.5.192-GCC-4.8.3.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2015.0.090-GCC-4.9.2.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2015.2.164-GCC-4.9.2.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2015.3.187-GNU-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2015.5.223-GCC-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2016.0.109-GCC-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/i/icc/icc-2016.1.150-GCC-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/i/ifort/ifort-2013.5.192-GCC-4.8.3.eb | 2 +- easybuild/easyconfigs/i/ifort/ifort-2015.0.090-GCC-4.9.2.eb | 2 +- easybuild/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb | 2 +- easybuild/easyconfigs/i/ifort/ifort-2015.2.164-GCC-4.9.2.eb | 2 +- .../easyconfigs/i/ifort/ifort-2015.3.187-GNU-4.9.3-2.25.eb | 2 +- .../easyconfigs/i/ifort/ifort-2015.5.223-GCC-4.9.3-2.25.eb | 2 +- .../easyconfigs/i/ifort/ifort-2016.0.109-GCC-4.9.3-2.25.eb | 2 +- .../easyconfigs/i/ifort/ifort-2016.1.150-GCC-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-10.2.6.038.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-10.3.10.319.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-MVAPICH2-1.9.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-OpenMPI-1.6.3.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-10.3.12.361.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-10.3.6.233.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.0.1.117.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.0.2.146.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.0.3.163.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.0.4.183.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.0.5.192.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.1.0.080.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.1.1.106.eb | 2 +- .../easyconfigs/i/imkl/imkl-11.1.2.144-2013.5.192-GCC-4.8.3.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-GCC-4.8.3.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-OpenMPI-1.6.5.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.1.2.144.eb | 2 +- easybuild/easyconfigs/i/imkl/imkl-11.1.3.174.eb | 2 +- easybuild/easyconfigs/m/MATLAB/MATLAB-2012b.eb | 2 +- easybuild/easyconfigs/m/MATLAB/MATLAB-2015a.eb | 2 +- easybuild/easyconfigs/m/MCR/MCR-R2014a.eb | 2 +- easybuild/easyconfigs/m/MCR/MCR-R2015a.eb | 2 +- easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb | 2 +- .../easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb | 2 +- .../easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb | 2 +- .../easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb | 2 +- .../easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb | 2 +- easybuild/easyconfigs/p/PGI/PGI-15.10-GCC-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/p/pbs_python/pbs_python-4.6.0.eb | 2 +- easybuild/easyconfigs/p/picard/picard-1.100.eb | 2 +- easybuild/easyconfigs/p/picard/picard-1.109.eb | 2 +- easybuild/easyconfigs/p/picard/picard-1.119-Java-1.7.0_80.eb | 2 +- easybuild/easyconfigs/p/picard/picard-1.119.eb | 2 +- easybuild/easyconfigs/p/picard/picard-1.39.eb | 2 +- easybuild/easyconfigs/p/picard/picard-2.1.0.eb | 2 +- easybuild/easyconfigs/s/snpEff/snpEff-3.6-Java-1.7.0_80.eb | 2 +- easybuild/easyconfigs/s/snpEff/snpEff-4.1d-Java-1.7.0_80.eb | 2 +- easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb | 2 +- 80 files changed, 80 insertions(+), 80 deletions(-) diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.12.1-linux-x86_64.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.12.1-linux-x86_64.eb index b75c3fcda9..094f648512 100644 --- a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.12.1-linux-x86_64.eb +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.12.1-linux-x86_64.eb @@ -5,7 +5,7 @@ versionsuffix = '-linux-x86_64' homepage = 'http://www.simulia.com/products/abaqus_fea.html' description = "Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit dynamics FEA." -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = [SOURCE_TGZ] diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.13.5-linux-x86_64.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.13.5-linux-x86_64.eb index 5f10d53c00..f899ce8f01 100644 --- a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.13.5-linux-x86_64.eb +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.13.5-linux-x86_64.eb @@ -5,7 +5,7 @@ versionsuffix = '-linux-x86_64' homepage = 'http://www.simulia.com/products/abaqus_fea.html' description = "Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit dynamics FEA." -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = [SOURCE_TGZ] diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.14.1-linux-x86_64.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.14.1-linux-x86_64.eb index db92841b05..2063066a88 100644 --- a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.14.1-linux-x86_64.eb +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-6.14.1-linux-x86_64.eb @@ -5,7 +5,7 @@ versionsuffix = '-linux-x86_64' homepage = 'http://www.simulia.com/products/abaqus_fea.html' description = "Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit dynamics FEA." -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = [SOURCE_TGZ] diff --git a/easybuild/easyconfigs/a/ADF/ADF-2009.01a.pc64_linux.intelmpi.eb b/easybuild/easyconfigs/a/ADF/ADF-2009.01a.pc64_linux.intelmpi.eb index 6395f17b38..107e9cc668 100755 --- a/easybuild/easyconfigs/a/ADF/ADF-2009.01a.pc64_linux.intelmpi.eb +++ b/easybuild/easyconfigs/a/ADF/ADF-2009.01a.pc64_linux.intelmpi.eb @@ -6,7 +6,7 @@ version = '2009.01a.pc64_linux.intelmpi' homepage = 'http://www.scm.com/' description = "ADF is a premium-quality quantum chemistry software package based on Density Functional Theory (DFT)." -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['%(namelower)s%(version)s.bin.tgz'] diff --git a/easybuild/easyconfigs/b/Beast/Beast-2.1.3.eb b/easybuild/easyconfigs/b/Beast/Beast-2.1.3.eb index 16f5b548ac..f28387fbee 100644 --- a/easybuild/easyconfigs/b/Beast/Beast-2.1.3.eb +++ b/easybuild/easyconfigs/b/Beast/Beast-2.1.3.eb @@ -16,7 +16,7 @@ description = """ BEAST is a cross-platform program for Bayesian MCMC analysis o tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted proportional to its posterior probability. """ -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['http://github.com/CompEvol/beast2/releases/download/v%(version)s/'] sources = ['BEAST.v%(version)s.tgz'] diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.1.3.eb b/easybuild/easyconfigs/c/CMake/CMake-3.1.3.eb index d2b515088f..873f4f2f72 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.1.3.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.1.3.eb @@ -7,7 +7,7 @@ homepage = 'http://www.cmake.org' description = """CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.3.1.eb b/easybuild/easyconfigs/c/CMake/CMake-3.3.1.eb index 3107e6dbdf..fea9079c88 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.3.1.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.3.1.eb @@ -7,7 +7,7 @@ homepage = 'http://www.cmake.org' description = """CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/c/Chimera/Chimera-1.10-linux_x86_64.eb b/easybuild/easyconfigs/c/Chimera/Chimera-1.10-linux_x86_64.eb index 5e9ad2796e..d050aae52b 100644 --- a/easybuild/easyconfigs/c/Chimera/Chimera-1.10-linux_x86_64.eb +++ b/easybuild/easyconfigs/c/Chimera/Chimera-1.10-linux_x86_64.eb @@ -12,7 +12,7 @@ description = """ UCSF Chimera is a highly extensible program for interactive vi and analysis of molecular structures and related data, including density maps, supramolecular assemblies, sequence alignments, docking results, trajectories, and conformational ensembles. """ -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # no public download URL. Go to https://www.cgl.ucsf.edu/chimera/download.html sources = ['%(namelower)s-%(version)s%(versionsuffix)s.bin'] diff --git a/easybuild/easyconfigs/c/cramtools/cramtools-2.0-Java-1.7.0_80.eb b/easybuild/easyconfigs/c/cramtools/cramtools-2.0-Java-1.7.0_80.eb index 928b078aac..d2027312f5 100644 --- a/easybuild/easyconfigs/c/cramtools/cramtools-2.0-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/c/cramtools/cramtools-2.0-Java-1.7.0_80.eb @@ -9,7 +9,7 @@ read data. Although this is intended as a stable version the code is released as early access. Parts of the CRAMTools are experimental and may not be supported in the future.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['v%(version)s.tar.gz'] source_urls = ['https://github.com/enasequence/%(name)s/archive/'] diff --git a/easybuild/easyconfigs/f/FDS/FDS-6.0.1-no-OFED.eb b/easybuild/easyconfigs/f/FDS/FDS-6.0.1-no-OFED.eb index a1ceee68c9..f79371e678 100644 --- a/easybuild/easyconfigs/f/FDS/FDS-6.0.1-no-OFED.eb +++ b/easybuild/easyconfigs/f/FDS/FDS-6.0.1-no-OFED.eb @@ -9,7 +9,7 @@ description = """ Fire Dynamics Simulator (FDS) is a large-eddy simulation (LES) code for low-speed flows, with an emphasis on smoke and heat transport from fires. """ -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download .sh from https://bintray.com/nist-fire-research/releases/FDS-SMV/6.0.1/view/files to create tarball sources = ['FDS_6.0.1-SMV_6.1.5_linux64.tar.gz'] diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.2.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.2.eb index 9ff730ebed..e49f289165 100644 --- a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.2.eb +++ b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.2.eb @@ -6,7 +6,7 @@ version = '0.11.2' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] sources = ['%(name)s_v%(version)s.zip'] diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.3.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.3.eb index c5f20b9165..72e66f0b0c 100644 --- a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.3.eb +++ b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.3.eb @@ -6,7 +6,7 @@ version = '0.11.3' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] sources = ['%(name)s_v%(version)s.zip'] diff --git a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb index a4d75eb501..7665c9edda 100644 --- a/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb +++ b/easybuild/easyconfigs/f/fastqc/fastqc-0.11.4.eb @@ -6,7 +6,7 @@ version = '0.11.4' homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc/' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/fastqc/'] sources = ['%(name)s_v%(version)s.zip'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-1.0.5083.eb b/easybuild/easyconfigs/g/GATK/GATK-1.0.5083.eb index ddd5712d6f..dd2c25a627 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-1.0.5083.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-1.0.5083.eb @@ -9,7 +9,7 @@ description = """The GATK is a structured software library that makes writing ef medical resequencing projects such as 1000 Genomes and The Cancer Genome Atlas. These tools include things like a depth of coverage analyzers, a quality score recalibrator, a SNP/indel caller and a local realigner.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-2.5-2-Java-1.7.0_10.eb b/easybuild/easyconfigs/g/GATK/GATK-2.5-2-Java-1.7.0_10.eb index daf5220902..ee70681358 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-2.5-2-Java-1.7.0_10.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-2.5-2-Java-1.7.0_10.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-2.6-5-Java-1.7.0_10.eb b/easybuild/easyconfigs/g/GATK/GATK-2.6-5-Java-1.7.0_10.eb index 0c9ece0c95..dde93eb10a 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-2.6-5-Java-1.7.0_10.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-2.6-5-Java-1.7.0_10.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-2.7-4-Java-1.7.0_10.eb b/easybuild/easyconfigs/g/GATK/GATK-2.7-4-Java-1.7.0_10.eb index 12fe8dadb4..a45cb4ec3b 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-2.7-4-Java-1.7.0_10.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-2.7-4-Java-1.7.0_10.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-2.7-4.eb b/easybuild/easyconfigs/g/GATK/GATK-2.7-4.eb index 98e7df7db8..1bdef83c68 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-2.7-4.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-2.7-4.eb @@ -9,7 +9,7 @@ description = """The GATK is a structured software library that makes writing ef medical resequencing projects such as 1000 Genomes and The Cancer Genome Atlas. These tools include things like a depth of coverage analyzers, a quality score recalibrator, a SNP/indel caller and a local realigner.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-2.8-1-Java-1.7.0_10.eb b/easybuild/easyconfigs/g/GATK/GATK-2.8-1-Java-1.7.0_10.eb index aa6e7fe232..21448792b2 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-2.8-1-Java-1.7.0_10.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-2.8-1-Java-1.7.0_10.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-3.0-0-Java-1.7.0_10.eb b/easybuild/easyconfigs/g/GATK/GATK-3.0-0-Java-1.7.0_10.eb index 13de380c1b..a6fc22eedf 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-3.0-0-Java-1.7.0_10.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-3.0-0-Java-1.7.0_10.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['%s-%s.tar.bz2' % ("GenomeAnalysisTK", version)] diff --git a/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_21.eb b/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_21.eb index 065919e6f3..38e7ae6db1 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_21.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_21.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_80.eb b/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_80.eb index f53b54862b..689accfbd9 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.7.0_80.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.8.0_66.eb b/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.8.0_66.eb index 00459becfc..520cb6b37a 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-3.3-0-Java-1.8.0_66.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_66.eb b/easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_66.eb index 2dc9a277e2..adf96fa7cf 100644 --- a/easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_66.eb @@ -22,7 +22,7 @@ description = """The Genome Analysis Toolkit or GATK is a software package devel data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} # download manually from http://www.broadinstitute.org/gatk/download sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] diff --git a/easybuild/easyconfigs/g/GenotypeHarmonizer/GenotypeHarmonizer-1.4.14-Java-1.7.0_80.eb b/easybuild/easyconfigs/g/GenotypeHarmonizer/GenotypeHarmonizer-1.4.14-Java-1.7.0_80.eb index df30b5f05b..935c3f665f 100644 --- a/easybuild/easyconfigs/g/GenotypeHarmonizer/GenotypeHarmonizer-1.4.14-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/g/GenotypeHarmonizer/GenotypeHarmonizer-1.4.14-Java-1.7.0_80.eb @@ -7,7 +7,7 @@ homepage = 'https://github.com/molgenis/systemsgenetics/wiki/Genotype-Harmonizer description = """The Genotype Harmonizer is an easy to use command-line tool that allows harmonization of genotype data stored using different file formats with different and potentially unknown strands.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} java = 'Java' javaver = '1.7.0_80' diff --git a/easybuild/easyconfigs/i/icc/icc-2013.5.192-GCC-4.8.3.eb b/easybuild/easyconfigs/i/icc/icc-2013.5.192-GCC-4.8.3.eb index 23b5d632b0..446396ee03 100644 --- a/easybuild/easyconfigs/i/icc/icc-2013.5.192-GCC-4.8.3.eb +++ b/easybuild/easyconfigs/i/icc/icc-2013.5.192-GCC-4.8.3.eb @@ -4,7 +4,7 @@ version = '2013.5.192' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_ccompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/icc/icc-2015.0.090-GCC-4.9.2.eb b/easybuild/easyconfigs/i/icc/icc-2015.0.090-GCC-4.9.2.eb index 1c9509e4ed..d02dca7d22 100644 --- a/easybuild/easyconfigs/i/icc/icc-2015.0.090-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/i/icc/icc-2015.0.090-GCC-4.9.2.eb @@ -4,7 +4,7 @@ version = '2015.0.090' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_ccompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb b/easybuild/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb index b547268098..368b594177 100644 --- a/easybuild/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb @@ -4,7 +4,7 @@ version = '2015.1.133' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_ccompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/icc/icc-2015.2.164-GCC-4.9.2.eb b/easybuild/easyconfigs/i/icc/icc-2015.2.164-GCC-4.9.2.eb index 6ae91f49df..8439c044f4 100644 --- a/easybuild/easyconfigs/i/icc/icc-2015.2.164-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/i/icc/icc-2015.2.164-GCC-4.9.2.eb @@ -4,7 +4,7 @@ version = '2015.2.164' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_ccompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/icc/icc-2015.3.187-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/i/icc/icc-2015.3.187-GNU-4.9.3-2.25.eb index 5d89d21731..37331a1488 100644 --- a/easybuild/easyconfigs/i/icc/icc-2015.3.187-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/icc/icc-2015.3.187-GNU-4.9.3-2.25.eb @@ -4,7 +4,7 @@ version = '2015.3.187' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_ccompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/icc/icc-2015.5.223-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/icc/icc-2015.5.223-GCC-4.9.3-2.25.eb index 3a9d4088ae..1ca6568cb7 100644 --- a/easybuild/easyconfigs/i/icc/icc-2015.5.223-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/icc/icc-2015.5.223-GCC-4.9.3-2.25.eb @@ -4,7 +4,7 @@ version = '2015.5.223' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_ccompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/icc/icc-2016.0.109-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/icc/icc-2016.0.109-GCC-4.9.3-2.25.eb index 7354472c7e..4ec5788f7f 100644 --- a/easybuild/easyconfigs/i/icc/icc-2016.0.109-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/icc/icc-2016.0.109-GCC-4.9.3-2.25.eb @@ -6,7 +6,7 @@ version = '2016.0.109' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_cpp.tgz'] diff --git a/easybuild/easyconfigs/i/icc/icc-2016.1.150-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/icc/icc-2016.1.150-GCC-4.9.3-2.25.eb index 0748e2d400..2a840e4a5b 100644 --- a/easybuild/easyconfigs/i/icc/icc-2016.1.150-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/icc/icc-2016.1.150-GCC-4.9.3-2.25.eb @@ -6,7 +6,7 @@ version = '2016.1.150' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_cpp_update%(version_minor)s.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2013.5.192-GCC-4.8.3.eb b/easybuild/easyconfigs/i/ifort/ifort-2013.5.192-GCC-4.8.3.eb index cba97b45a2..901fc019cc 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2013.5.192-GCC-4.8.3.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2013.5.192-GCC-4.8.3.eb @@ -4,7 +4,7 @@ version = '2013.5.192' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "Fortran compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_fcompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2015.0.090-GCC-4.9.2.eb b/easybuild/easyconfigs/i/ifort/ifort-2015.0.090-GCC-4.9.2.eb index 6f1139a94c..a94df9884b 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2015.0.090-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2015.0.090-GCC-4.9.2.eb @@ -4,7 +4,7 @@ version = '2015.0.090' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "Fortran compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_fcompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb b/easybuild/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb index b653c4f858..419e0257c0 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb @@ -4,7 +4,7 @@ version = '2015.1.133' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "Fortran compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_fcompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2015.2.164-GCC-4.9.2.eb b/easybuild/easyconfigs/i/ifort/ifort-2015.2.164-GCC-4.9.2.eb index 4f376249d8..5767d1400f 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2015.2.164-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2015.2.164-GCC-4.9.2.eb @@ -4,7 +4,7 @@ version = '2015.2.164' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "Fortran compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_fcompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2015.3.187-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/i/ifort/ifort-2015.3.187-GNU-4.9.3-2.25.eb index f944202e89..0f54df3a82 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2015.3.187-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2015.3.187-GNU-4.9.3-2.25.eb @@ -4,7 +4,7 @@ version = '2015.3.187' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "Fortran compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_fcompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2015.5.223-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/ifort/ifort-2015.5.223-GCC-4.9.3-2.25.eb index faee88adb1..2fd9b5a946 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2015.5.223-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2015.5.223-GCC-4.9.3-2.25.eb @@ -4,7 +4,7 @@ version = '2015.5.223' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "Fortran compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_fcompxe_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2016.0.109-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/ifort/ifort-2016.0.109-GCC-4.9.3-2.25.eb index c188753ac5..930a3dc326 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2016.0.109-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2016.0.109-GCC-4.9.3-2.25.eb @@ -6,7 +6,7 @@ version = '2016.0.109' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_fortran.tgz'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2016.1.150-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/ifort/ifort-2016.1.150-GCC-4.9.3-2.25.eb index f961cef224..dd3cee42fa 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2016.1.150-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2016.1.150-GCC-4.9.3-2.25.eb @@ -6,7 +6,7 @@ version = '2016.1.150' homepage = 'http://software.intel.com/en-us/intel-compilers/' description = "C and C++ compiler from Intel" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_fortran_update%(version_minor)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb index 4619863d5f..2312f4b388 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb @@ -8,7 +8,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_p_%(version)s.tar.gz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038.eb b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038.eb index a693a15b86..b1eb6ee6e3 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_p_%(version)s.tar.gz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.3.10.319.eb b/easybuild/easyconfigs/i/imkl/imkl-10.3.10.319.eb index b3d47b810d..91c64cfa0d 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.3.10.319.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.3.10.319.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s_intel64.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-MVAPICH2-1.9.eb b/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-MVAPICH2-1.9.eb index 078c8848d8..4d5ef42fcf 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-MVAPICH2-1.9.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-MVAPICH2-1.9.eb @@ -6,7 +6,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, ext for science, engineering, and financial applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-OpenMPI-1.6.3.eb b/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-OpenMPI-1.6.3.eb index 725bb2b396..2bd88ac625 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-OpenMPI-1.6.3.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361-OpenMPI-1.6.3.eb @@ -6,7 +6,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, ext for science, engineering, and financial applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361.eb b/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361.eb index 0db4c8f64f..b8769ef805 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.3.12.361.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.3.6.233.eb b/easybuild/easyconfigs/i/imkl/imkl-10.3.6.233.eb index c3fb0d1e8e..b5b58cc188 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.3.6.233.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.3.6.233.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s_intel64.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.0.1.117.eb b/easybuild/easyconfigs/i/imkl/imkl-11.0.1.117.eb index 209f8143d8..8adf971a63 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.0.1.117.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.0.1.117.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.0.2.146.eb b/easybuild/easyconfigs/i/imkl/imkl-11.0.2.146.eb index 94a66c877f..ccd95b2a7a 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.0.2.146.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.0.2.146.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.0.3.163.eb b/easybuild/easyconfigs/i/imkl/imkl-11.0.3.163.eb index 14cee49479..8b97b3ff26 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.0.3.163.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.0.3.163.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.0.4.183.eb b/easybuild/easyconfigs/i/imkl/imkl-11.0.4.183.eb index 339abe07e2..98e5ffd25f 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.0.4.183.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.0.4.183.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.0.5.192.eb b/easybuild/easyconfigs/i/imkl/imkl-11.0.5.192.eb index 5b2f5de9a8..0fe1b14e46 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.0.5.192.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.0.5.192.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.1.0.080.eb b/easybuild/easyconfigs/i/imkl/imkl-11.1.0.080.eb index ca26f636cc..7b7f159547 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.1.0.080.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.1.0.080.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.1.1.106.eb b/easybuild/easyconfigs/i/imkl/imkl-11.1.1.106.eb index 6c2f677c6c..cc9f1d89b5 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.1.1.106.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.1.1.106.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-2013.5.192-GCC-4.8.3.eb b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-2013.5.192-GCC-4.8.3.eb index 716cd4b3dd..3b9cb14613 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-2013.5.192-GCC-4.8.3.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-2013.5.192-GCC-4.8.3.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-GCC-4.8.3.eb b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-GCC-4.8.3.eb index d1128e7799..4843fd2442 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-GCC-4.8.3.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-GCC-4.8.3.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-OpenMPI-1.6.5.eb b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-OpenMPI-1.6.5.eb index 7c293cda0a..3ad520461a 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-OpenMPI-1.6.5.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144-OpenMPI-1.6.5.eb @@ -6,7 +6,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, ext for science, engineering, and financial applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144.eb b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144.eb index 03e70ed442..47e59ba9fc 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.1.2.144.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.1.3.174.eb b/easybuild/easyconfigs/i/imkl/imkl-11.1.3.174.eb index 3f03a3bd36..bd599cfe0d 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.1.3.174.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.1.3.174.eb @@ -7,7 +7,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2012b.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2012b.eb index ba3d36b9c7..b0b8036c47 100644 --- a/easybuild/easyconfigs/m/MATLAB/MATLAB-2012b.eb +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2012b.eb @@ -6,7 +6,7 @@ description = """MATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2015a.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2015a.eb index acdae43db5..65e39e1872 100644 --- a/easybuild/easyconfigs/m/MATLAB/MATLAB-2015a.eb +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2015a.eb @@ -6,7 +6,7 @@ description = """MATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2014a.eb b/easybuild/easyconfigs/m/MCR/MCR-R2014a.eb index 1c593f7430..67a1f39096 100644 --- a/easybuild/easyconfigs/m/MCR/MCR-R2014a.eb +++ b/easybuild/easyconfigs/m/MCR/MCR-R2014a.eb @@ -6,7 +6,7 @@ description = """The MATLAB Runtime is a standalone set of shared libraries that enables the execution of compiled MATLAB applications or components on computers that do not have MATLAB installed.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = [ 'http://www.mathworks.com/supportfiles/downloads/%(version)s/deployment_files/%(version)s/installers/glnxa64/', diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2015a.eb b/easybuild/easyconfigs/m/MCR/MCR-R2015a.eb index f459048eeb..ccbd003e89 100644 --- a/easybuild/easyconfigs/m/MCR/MCR-R2015a.eb +++ b/easybuild/easyconfigs/m/MCR/MCR-R2015a.eb @@ -6,7 +6,7 @@ description = """The MATLAB Runtime is a standalone set of shared libraries that enables the execution of compiled MATLAB applications or components on computers that do not have MATLAB installed.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = [ 'http://www.mathworks.com/supportfiles/downloads/%(version)s/deployment_files/%(version)s/installers/glnxa64/', diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb b/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb index ae7ad64f4d..d28d21b593 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-2_9_1-linux_x86-64.eb @@ -10,7 +10,7 @@ description = """ORCA is a flexible, efficient and easy-to-use general purpose t and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb index 1944afede8..81bfa462d1 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_0-linux_x86-64_openmpi_165.eb @@ -11,7 +11,7 @@ description = """ORCA is a flexible, efficient and easy-to-use general purpose t and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb index 7c21787b12..3d3c83269c 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.6.5.eb @@ -13,7 +13,7 @@ description = """ORCA is a flexible, efficient and easy-to-use general purpose t and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb index 4c7272b6aa..b51b51028c 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_2-linux_x86-64-OpenMPI-1.8.1.eb @@ -13,7 +13,7 @@ description = """ORCA is a flexible, efficient and easy-to-use general purpose t and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb index 30c44ae3d4..1c8c6b0daf 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-3_0_3-linux_x86-64-OpenMPI-1.6.5.eb @@ -13,7 +13,7 @@ description = """ORCA is a flexible, efficient and easy-to-use general purpose t and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['%%(namelower)s_%s_%s.tbz' % (version.split('-')[0], '-'.join(version.split('-')[1:]))] diff --git a/easybuild/easyconfigs/p/PGI/PGI-15.10-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/p/PGI/PGI-15.10-GCC-4.9.3-2.25.eb index e722b3a3d5..49864adcd3 100644 --- a/easybuild/easyconfigs/p/PGI/PGI-15.10-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/p/PGI/PGI-15.10-GCC-4.9.3-2.25.eb @@ -4,7 +4,7 @@ version = '15.10' homepage = 'http://www.pgroup.com/' description = "C, C++ and Fortran compilers from The Portland Group - PGI" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['pgilinux-20%(version_major)s-%(version_major)s%(version_minor)s-x86_64.tar.gz'] checksums = ['cae307f7ad467a1811a5d5da758048ab'] diff --git a/easybuild/easyconfigs/p/pbs_python/pbs_python-4.6.0.eb b/easybuild/easyconfigs/p/pbs_python/pbs_python-4.6.0.eb index f7408c2984..e0b6cd1a17 100644 --- a/easybuild/easyconfigs/p/pbs_python/pbs_python-4.6.0.eb +++ b/easybuild/easyconfigs/p/pbs_python/pbs_python-4.6.0.eb @@ -9,7 +9,7 @@ description = """The pbs_python package is a wrapper class for the Torque C libr an ascii version named pbsmon. PBSQuery is also included in this package. This is a python module build on top of the pbs python module to simplify querying the batch server, eg: how many jobs, how many nodes, ...""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['http://ftp.sara.nl/pub/outgoing/'] sources = [SOURCE_TAR_GZ] diff --git a/easybuild/easyconfigs/p/picard/picard-1.100.eb b/easybuild/easyconfigs/p/picard/picard-1.100.eb index d852bf4290..aa4b9cb85c 100644 --- a/easybuild/easyconfigs/p/picard/picard-1.100.eb +++ b/easybuild/easyconfigs/p/picard/picard-1.100.eb @@ -4,7 +4,7 @@ version = '1.100' homepage = 'http://sourceforge.net/projects/picard' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-1.109.eb b/easybuild/easyconfigs/p/picard/picard-1.109.eb index b02c4dfde3..054ac53148 100644 --- a/easybuild/easyconfigs/p/picard/picard-1.109.eb +++ b/easybuild/easyconfigs/p/picard/picard-1.109.eb @@ -4,7 +4,7 @@ version = '1.109' homepage = 'http://sourceforge.net/projects/picard' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-1.119-Java-1.7.0_80.eb b/easybuild/easyconfigs/p/picard/picard-1.119-Java-1.7.0_80.eb index a097dca76d..0d8e511c3f 100644 --- a/easybuild/easyconfigs/p/picard/picard-1.119-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/p/picard/picard-1.119-Java-1.7.0_80.eb @@ -4,7 +4,7 @@ version = '1.119' homepage = 'http://sourceforge.net/projects/picard' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-1.119.eb b/easybuild/easyconfigs/p/picard/picard-1.119.eb index b6b8db08ef..b8822ebb22 100644 --- a/easybuild/easyconfigs/p/picard/picard-1.119.eb +++ b/easybuild/easyconfigs/p/picard/picard-1.119.eb @@ -4,7 +4,7 @@ version = '1.119' homepage = 'http://sourceforge.net/projects/picard' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-1.39.eb b/easybuild/easyconfigs/p/picard/picard-1.39.eb index 47c911c385..3f179ac9b7 100644 --- a/easybuild/easyconfigs/p/picard/picard-1.39.eb +++ b/easybuild/easyconfigs/p/picard/picard-1.39.eb @@ -4,7 +4,7 @@ version = '1.39' homepage = 'http://sourceforge.net/projects/picard' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-2.1.0.eb b/easybuild/easyconfigs/p/picard/picard-2.1.0.eb index d68d511ad0..702287f8f6 100644 --- a/easybuild/easyconfigs/p/picard/picard-2.1.0.eb +++ b/easybuild/easyconfigs/p/picard/picard-2.1.0.eb @@ -10,7 +10,7 @@ description = """ A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['https://github.com/broadinstitute/%(name)s/releases/download/%(version)s'] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/s/snpEff/snpEff-3.6-Java-1.7.0_80.eb b/easybuild/easyconfigs/s/snpEff/snpEff-3.6-Java-1.7.0_80.eb index eb194cd37c..429f565ab3 100644 --- a/easybuild/easyconfigs/s/snpEff/snpEff-3.6-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/s/snpEff/snpEff-3.6-Java-1.7.0_80.eb @@ -7,7 +7,7 @@ homepage = 'http://sourceforge.net/projects/snpeff/' description = """SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of genetic variants (such as amino acid changes).""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} java = 'Java' javaver = '1.7.0_80' diff --git a/easybuild/easyconfigs/s/snpEff/snpEff-4.1d-Java-1.7.0_80.eb b/easybuild/easyconfigs/s/snpEff/snpEff-4.1d-Java-1.7.0_80.eb index 8b1570a181..ba982d8d09 100644 --- a/easybuild/easyconfigs/s/snpEff/snpEff-4.1d-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/s/snpEff/snpEff-4.1d-Java-1.7.0_80.eb @@ -7,7 +7,7 @@ homepage = 'http://sourceforge.net/projects/snpeff/' description = """SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of genetic variants (such as amino acid changes).""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} java = 'Java' javaver = '1.7.0_80' diff --git a/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb b/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb index 5f66c5f283..36d97df090 100644 --- a/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb @@ -10,7 +10,7 @@ version = '2.4.1' homepage = 'https://github.com/dkoboldt/varscan' description = """Variant calling and somatic mutation/CNV detection for next-generation sequencing data""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = ['%(name)s.v%(version)s.jar'] source_urls = ['https://github.com/dkoboldt/varscan/releases/download/v%(version)s'] -- GitLab From e906c927130051e6a538f19f81f6589adc685602 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 13:11:46 +0100 Subject: [PATCH 0356/1089] use patch for multicool in R 3.2.3 easyconfig w/ intel/2016a --- easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index a34a11bc6c..13de8b1f35 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -410,7 +410,7 @@ exts_list = [ ('pixmap', '0.4-11', ext_options), ('tkrplot', '0.0-23', ext_options), ('misc3d', '0.8-4', ext_options), - ('multicool', '0.1-9', ext_options), + ('multicool', '0.1-9', dict(ext_options.items() + [('patches', [('multicool-0.1-9_icpc-wd308.patch', 1)])])), ('ks', '1.10.1', ext_options), ('logcondens', '2.1.4', ext_options), ('Iso', '0.0-17', ext_options), -- GitLab From 0c844364bc8a006a58e600a5a6528f88dbcfa363 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 13:30:21 +0100 Subject: [PATCH 0357/1089] add diveRsity + deps to R 3.2.3 intel/2016a easyconfig --- .../easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index 13de8b1f35..9d75c8323c 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -419,6 +419,24 @@ exts_list = [ ('clusterRepro', '0.5-1.1', ext_options), ('randomForestSRC', '2.0.7', ext_options), ('sm', '2.2-5.4', ext_options), + ('psych', '1.5.8', ext_options), + ('pbivnorm', '0.6.0', ext_options), + ('lavaan', '0.5-20', ext_options), + ('matrixcalc', '1.0-3', ext_options), + ('arm', '1.8-6', ext_options), + ('mi', '1.0', ext_options), + ('htmlwidgets', '0.6', ext_options), + ('visNetwork', '0.2.1', ext_options), + ('DiagrammeR', '0.8.2', ext_options), + ('sem', '3.1-6', ext_options), + ('jpeg', '0.1-8', ext_options), + ('sna', '2.3-2', ext_options), + ('glasso', '1.8', ext_options), + ('huge', '1.2.7', ext_options), + ('d3Network', '0.5.2.1', ext_options), + ('ggm', '2.3', ext_options), + ('qgraph', '1.3.2', ext_options), + ('diveRsity', '1.9.89', ext_options), ] moduleclass = 'lang' -- GitLab From 11da7eb4ab05c2ed1fbf262aa75131b8cd5adc21 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 13:56:39 +0100 Subject: [PATCH 0358/1089] add patch file to build glasso with recent ifort --- .../easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 2 +- .../r/R/glasso-1.8-ifort-no-fixed.patch | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index 9d75c8323c..eb2673295f 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -431,7 +431,7 @@ exts_list = [ ('sem', '3.1-6', ext_options), ('jpeg', '0.1-8', ext_options), ('sna', '2.3-2', ext_options), - ('glasso', '1.8', ext_options), + ('glasso', '1.8', dict(ext_options.items() + [('patches', [('glasso-1.8-ifort-no-fixed.patch', 1)])])), ('huge', '1.2.7', ext_options), ('d3Network', '0.5.2.1', ext_options), ('ggm', '2.3', ext_options), diff --git a/easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch b/easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch new file mode 100644 index 0000000000..aaa1fda26e --- /dev/null +++ b/easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch @@ -0,0 +1,24 @@ +diff -ru glasso.orig/configure glasso/configure +--- glasso.orig/configure 2014-07-22 00:12:05.000000000 +0200 ++++ glasso/configure 2016-03-02 14:01:48.276280000 +0100 +@@ -2194,7 +2194,7 @@ + ;; + ifort) + echo " R configured for Intel fortran..." +- OUR_FCFLAGS="-O3 -axsse4.2 -r8 -fpp -fixed" ++ OUR_FCFLAGS="-O3 -axsse4.2 -r8 -fpp" + + ;; + *) +diff -ru glasso.orig/MD5 glasso/MD5 +--- glasso.orig/MD5 2014-07-22 10:29:36.000000000 +0200 ++++ glasso/MD5 2016-03-02 14:02:05.854342000 +0100 +@@ -3,7 +3,7 @@ + 9b2f2da42cd1d66c4e3cd38427a0bf7a *R/glasso.R + c1a3c7a42d3c130ba02f4827f056ac9a *R/glassopath.R + d5b44b59f23b953d6c2f8835e3fb180d *cleanup +-07f1fbe29f410cac4048f7dd0f838efb *configure ++cefcd7f95dc125a297700cb21bab535d *configure + 57edafaaa2abcf7a51526b81c0bae33f *configure.in + a92a091ed68d9cf0d5ee056b4ead20fb *man/glasso.Rd + e624eb3357a4d5c9dd0f2c5c734c7116 *man/glassopath.Rd -- GitLab From 59b581d6a86960e43ca10b7c796d7fe5fad76d16 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 14:12:37 +0100 Subject: [PATCH 0359/1089] add comments in patch files for R extensions --- easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch | 2 ++ easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch | 2 ++ 2 files changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch b/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch index 965affb5c9..11064f05f7 100644 --- a/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch +++ b/easybuild/easyconfigs/r/R/bigmemory-4.5.8_icpc-wd308.patch @@ -1,3 +1,5 @@ +add -wd308 compiler option to dance around harmless compiler warning being treated as en error +author: Kenneth Hoste (HPC-UGent) diff -ru bigmemory.orig/configure bigmemory/configure --- bigmemory.orig/configure 2015-10-16 18:44:28.000000000 +0200 +++ bigmemory/configure 2016-03-02 12:05:54.465799000 +0100 diff --git a/easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch b/easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch index aaa1fda26e..aed6efc0bf 100644 --- a/easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch +++ b/easybuild/easyconfigs/r/R/glasso-1.8-ifort-no-fixed.patch @@ -1,3 +1,5 @@ +add -wd308 compiler option to dance around harmless compiler warning being treated as en error +author: Kenneth Hoste (HPC-UGent) diff -ru glasso.orig/configure glasso/configure --- glasso.orig/configure 2014-07-22 00:12:05.000000000 +0200 +++ glasso/configure 2016-03-02 14:01:48.276280000 +0100 -- GitLab From c0af084db1f46d524f026189fccd86c852a2b54e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 14:30:18 +0100 Subject: [PATCH 0360/1089] fix remarks, add OpenSSL 1.0.1s easyconfig --- .../c/cURL/cURL-7.47.0-intel-2016a.eb | 2 +- .../d/Doxygen/Doxygen-1.8.11-intel-2016a.eb | 2 +- .../o/OpenSSL/OpenSSL-1.0.1s-intel-2016a.eb | 21 +++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb index d47702643f..f21ebdf8a9 100644 --- a/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb +++ b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016a.eb @@ -18,7 +18,7 @@ source_urls = ['http://curl.haxx.se/download/'] osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] -# dependencies = [('OpenSSL', '1.0.1r')] +# dependencies = [('OpenSSL', '1.0.1s')] # configopts = "--with-ssl=$EBROOTOPENSSL" modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb index dd1ad80d3a..2d5dc8597f 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb @@ -11,7 +11,7 @@ sources = ['%(namelower)s-%(version)s.src.tar.gz'] source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] builddependencies = [ - ('CMake', '3.4.1'), + ('CMake', '3.4.3'), ('flex', '2.6.0'), ('Bison', '3.0.4'), ] diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-intel-2016a.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-intel-2016a.eb new file mode 100644 index 0000000000..976aa24ab2 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-intel-2016a.eb @@ -0,0 +1,21 @@ +name = 'OpenSSL' +version = '1.0.1s' + +homepage = 'http://www.openssl.org/' +description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, + and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) + protocols as well as a full-strength general purpose cryptography library. """ + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.openssl.org/source/'] + +patches = ['OpenSSL-1.0.1q_icc-fixes.patch'] + +dependencies = [('zlib', '1.2.8')] + +runtest = 'test' + +moduleclass = 'system' -- GitLab From 66966aef18254219342fce2186e7f6e35a6d401d Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 2 Mar 2016 15:04:53 +0100 Subject: [PATCH 0361/1089] {vis}[intel-2016a] Tk 8.6.4 witg libX11 1.6.3 (REVIEW) --- .../l/libICE/libICE-1.0.9-intel-2016a.eb | 27 ++++++++++++ .../l/libSM/libSM-1.2.2-intel-2016a.eb | 28 +++++++++++++ .../l/libXft/libXft-2.3.2-intel-2016a.eb | 32 ++++++++++++++ .../libXrender-0.9.9-intel-2016a.eb | 28 +++++++++++++ .../l/libXt/libXt-1.1.5-intel-2016a.eb | 39 +++++++++++++++++ .../renderproto-0.11-intel-2016a.eb | 20 +++++++++ .../t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb | 42 +++++++++++++++++++ 7 files changed, 216 insertions(+) create mode 100644 easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXt/libXt-1.1.5-intel-2016a.eb create mode 100644 easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb create mode 100644 easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb new file mode 100644 index 0000000000..0038b41047 --- /dev/null +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libICE' +version = '1.0.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Inter-Client Exchange library for freedesktop.org""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +dependencies = [ + ('xtrans', '1.3.5'), +] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['include/X11/ICE/ICE%s.h' % x for x in ['', 'conn', 'lib', 'msg', 'proto', 'util']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb new file mode 100644 index 0000000000..b34ef0db33 --- /dev/null +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libSM' +version = '1.2.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 Session Management library, which allows for applications to both manage sessions, + and make use of session managers to save and restore their state for later use.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +dependencies = [ + ('libICE', '1.0.9'), +] +builddependencies = [ + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), +] + +sanity_check_paths = { + 'files': ['include/X11/SM/%s' % x for x in ['SM.h', 'SMlib.h', 'SMproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb new file mode 100644 index 0000000000..98289122be --- /dev/null +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libXft' +version = '2.3.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), +] + + +dependencies = [ + ('libX11', '1.6.3'), + ('libXrender', '0.9.9'), + ('freetype', '2.6.2'), + ('fontconfig', '2.11.94'), +] + +sanity_check_paths = { + 'files': ['lib/libXft.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb new file mode 100644 index 0000000000..fefc99f4eb --- /dev/null +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libXrender' +version = '0.9.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['lib/libXrender.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXt/libXt-1.1.5-intel-2016a.eb b/easybuild/easyconfigs/l/libXt/libXt-1.1.5-intel-2016a.eb new file mode 100644 index 0000000000..66391ee4ad --- /dev/null +++ b/easybuild/easyconfigs/l/libXt/libXt-1.1.5-intel-2016a.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'libXt' +version = '1.1.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are + based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), + ('kbproto', '1.0.7'), +] + +dependencies = [ + ('libSM', '1.2.2'), + ('libICE', '1.0.9'), + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'CallbackI.h', 'CompositeP.h', 'Constraint.h', 'Core.h', 'CreateI.h', 'HookObjI.h', 'Intrinsic.h', + 'IntrinsicP.h', 'ObjectP.h', 'RectObj.h', 'ResConfigP.h', 'SelectionI.h', 'ShellI.h', 'StringDefs.h', + 'TranslateI.h', 'Vendor.h', 'Xtos.h', 'Composite.h', 'ConstrainP.h', 'ConvertI.h', 'CoreP.h', 'EventI.h', + 'InitialI.h', 'IntrinsicI.h', 'Object.h', 'PassivGraI.h', 'RectObjP.h', 'ResourceI.h', 'Shell.h', 'ShellP.h', + 'ThreadsI.h', 'VarargsI.h', 'VendorP.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb new file mode 100644 index 0000000000..37b516e535 --- /dev/null +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'renderproto' +version = '0.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrender protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..b69472a7b1 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.4' +libx11 = 'libX11' +libxver = '1.6.3' +versionsuffix = '-%s-%s' % (libx11, libxver) + +homepage = 'http://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building + a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] + +builddependencies = [ + ('xextproto', '7.3.0'), +# ('xcb-proto', '1.11', '', True), +# ('inputproto', '2.3.1'), + ('xproto', '7.0.28'), +# ('libpthread-stubs', '0.3'), +# ('kbproto', '1.0.7'), +# ('xtrans', '1.3.5'), +] + +dependencies = [ + ('Tcl', version), + (libx11, libxver), + ('libXt', '1.1.5'), + ('libXext', '1.3.3'), + ('libXft', '2.3.2'), +] + +configopts = '--disable-xss --enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +start_dir = 'unix' + +moduleclass = 'vis' -- GitLab From f669a4e28dba8416dcbf49b2d6bdc421a65c1a67 Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 2 Mar 2016 15:29:32 +0100 Subject: [PATCH 0362/1089] cp2k 3.0 cray support --- .../c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..f495713dbd --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb @@ -0,0 +1,47 @@ +# contributed by Luca Marsella (CSCS) +name = 'CP2K' +version = "3.0" + +easyblock = 'cp2kcray' + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.2'), +] + +builddependencies = [ + ('fftw/3.3.4.3', EXTERNAL_MODULE), + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test +runtest = False +# regression test reports failures +#ignore_regtest_fails = True + +# build type +type = 'psmp' + +moduleclass = 'chem' -- GitLab From 4e983088251031f5355c41109844cee106825b6e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 15:35:53 +0100 Subject: [PATCH 0363/1089] {bio}[intel/2016a] BCFtools 1.3 + HTSlib 1.3 --- .../b/BCFtools/BCFtools-1.3-intel-2016a.eb | 41 +++++++++++++++++++ .../BCFtools-1.3_extHTSlib_Makefile.patch | 38 +++++++++++++++++ .../h/HTSlib/HTSlib-1.3-intel-2016a.eb | 27 ++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/b/BCFtools/BCFtools-1.3_extHTSlib_Makefile.patch create mode 100644 easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb new file mode 100644 index 0000000000..7bccf00035 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.3' + +homepage = 'http://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] + +patches = ['BCFtools-%(version)s_extHTSlib_Makefile.patch'] + +dependencies = [ + ('zlib', '1.2.8'), + ('HTSlib', '1.3'), + ('GSL', '2.1'), +] + +parallel = 1 + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" USE_GSL=1' +installopts = ' prefix=%(installdir)s' + +postinstallcmds = [ + 'mkdir -p %(installdir)s/lib/plugins', + 'cp plugins/*.so %(installdir)s/lib/plugins/.', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']], + 'dirs': ['lib/plugins'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3_extHTSlib_Makefile.patch b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3_extHTSlib_Makefile.patch new file mode 100644 index 0000000000..e8a56d6411 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3_extHTSlib_Makefile.patch @@ -0,0 +1,38 @@ +patch Makefile to pick up HTSlib, GSL and zlib provided thorugh EasyBuild +author: Kenneth Hoste (HPC-UGent) +--- bcftools-1.3/Makefile.orig 2015-12-15 22:58:35.000000000 +0100 ++++ bcftools-1.3/Makefile 2016-03-02 15:22:03.656821071 +0100 +@@ -29,11 +29,10 @@ + all: $(PROG) $(TEST_PROG) + + # Adjust $(HTSDIR) to point to your top-level htslib directory +-HTSDIR = htslib-1.3 +-include $(HTSDIR)/htslib.mk +-HTSLIB = $(HTSDIR)/libhts.a +-BGZIP = $(HTSDIR)/bgzip +-TABIX = $(HTSDIR)/tabix ++HTSDIR = $(EBROOTHTSLIB)/include ++HTSLIB = $(EBROOTHTSLIB)/lib/libhts.a ++BGZIP = $(EBROOTHTSLIB)/bin/bgzip ++TABIX = $(EBROOTHTSLIB)/bin/tabix + + CC = gcc + CPPFLAGS = +@@ -57,7 +56,7 @@ + ifdef USE_GPL + EXTRA_CPPFLAGS += -DUSE_GPL + OBJS += polysomy.o peakfit.o +- GSL_LIBS = -lgsl -lcblas ++ GSL_LIBS = -L${EBROOTGSL}/lib -lgsl -lcblas + endif + + prefix = /usr/local +@@ -181,7 +180,7 @@ + $(CC) $(LDFLAGS) -o $@ $^ -lm $(LIBS) + + bcftools: $(HTSLIB) $(OBJS) +- $(CC) -rdynamic $(LDFLAGS) -o $@ $(OBJS) $(HTSLIB) -lpthread -lz -lm -ldl $(GSL_LIBS) $(LIBS) ++ $(CC) -rdynamic $(LDFLAGS) -o $@ $(OBJS) $(HTSLIB) -lpthread -L${EBROOTZLIB}/lib -lz -lm -ldl $(GSL_LIBS) $(LIBS) + + doc/bcftools.1: doc/bcftools.txt + cd doc && a2x -adate="$(DOC_DATE)" -aversion=$(DOC_VERSION) --doctype manpage --format manpage bcftools.txt diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb new file mode 100644 index 0000000000..19f0d7bea8 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.3' + +homepage = "http://www.htslib.org/" +description = """ A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix """ + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': ["bin/bgzip", "bin/tabix", "lib/libhts.%s" % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 9b308d6910033d8142b7f089f7308cef33a0e759 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 15:40:14 +0100 Subject: [PATCH 0364/1089] fix remark --- easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-foss-2015a.eb | 2 +- easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-intel-2015a.eb | 2 +- easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-foss-2015a.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-foss-2015a.eb index 1e64be716a..2ee4f62216 100644 --- a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-foss-2015a.eb +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-foss-2015a.eb @@ -28,7 +28,7 @@ installopts = ' prefix=%(installdir)s' postinstallcmds = [ 'mkdir -p %(installdir)s/lib/plugins', - 'cp plugins/*.so %(installdir)s/lib/plugins/.', + 'cp -a plugins/*.so %(installdir)s/lib/plugins/.', ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-intel-2015a.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-intel-2015a.eb index 2143e1fd78..f9319eca14 100644 --- a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-intel-2015a.eb +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.2-intel-2015a.eb @@ -28,7 +28,7 @@ installopts = ' prefix=%(installdir)s' postinstallcmds = [ 'mkdir -p %(installdir)s/lib/plugins', - 'cp plugins/*.so %(installdir)s/lib/plugins/.', + 'cp -a plugins/*.so %(installdir)s/lib/plugins/.', ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb index 7bccf00035..bd1b04228a 100644 --- a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-intel-2016a.eb @@ -30,7 +30,7 @@ installopts = ' prefix=%(installdir)s' postinstallcmds = [ 'mkdir -p %(installdir)s/lib/plugins', - 'cp plugins/*.so %(installdir)s/lib/plugins/.', + 'cp -a plugins/*.so %(installdir)s/lib/plugins/.', ] sanity_check_paths = { -- GitLab From 2de552a1a8ab1e33afa8970a301623c577cdc669 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 15:43:23 +0100 Subject: [PATCH 0365/1089] fix spacing remark in description --- easybuild/easyconfigs/h/HTSlib/HTSlib-1.1-goolf-1.4.10.eb | 4 ++-- easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-foss-2015a.eb | 4 ++-- easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-goolf-1.7.20.eb | 4 ++-- easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015a.eb | 4 ++-- easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015b.eb | 4 ++-- easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.1-goolf-1.4.10.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.1-goolf-1.4.10.eb index d99049bc6c..2f2abef4e6 100644 --- a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.1-goolf-1.4.10.eb @@ -9,8 +9,8 @@ name = 'HTSlib' version = '1.1' homepage = 'http://www.htslib.org/' -description = """ A C library for reading/writing high-throughput sequencing data. - This package includes the utilities bgzip and tabix """ +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" toolchain = {'name': 'goolf', 'version': '1.4.10'} diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-foss-2015a.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-foss-2015a.eb index b9abe470f0..36facf37a3 100644 --- a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-foss-2015a.eb +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-foss-2015a.eb @@ -9,8 +9,8 @@ name = 'HTSlib' version = '1.2.1' homepage = "http://www.htslib.org/" -description = """ A C library for reading/writing high-throughput sequencing data. - This package includes the utilities bgzip and tabix """ +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" toolchain = {'name': 'foss', 'version': '2015a'} diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-goolf-1.7.20.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-goolf-1.7.20.eb index 742be3ddc0..7f25a2acfb 100644 --- a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-goolf-1.7.20.eb @@ -11,8 +11,8 @@ name = 'HTSlib' version = '1.2.1' homepage = "http://www.htslib.org/" -description = """ A C library for reading/writing high-throughput sequencing data. - This package includes the utilities bgzip and tabix """ +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" toolchain = {'name': 'goolf', 'version': '1.7.20'} diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015a.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015a.eb index a5f315ea84..258f48d92e 100644 --- a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015a.eb +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015a.eb @@ -9,8 +9,8 @@ name = 'HTSlib' version = '1.2.1' homepage = "http://www.htslib.org/" -description = """ A C library for reading/writing high-throughput sequencing data. - This package includes the utilities bgzip and tabix """ +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" toolchain = {'name': 'intel', 'version': '2015a'} diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015b.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015b.eb index ced9e05617..8c0f7d5ac6 100644 --- a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015b.eb +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.2.1-intel-2015b.eb @@ -9,8 +9,8 @@ name = 'HTSlib' version = '1.2.1' homepage = "http://www.htslib.org/" -description = """ A C library for reading/writing high-throughput sequencing data. - This package includes the utilities bgzip and tabix """ +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" toolchain = {'name': 'intel', 'version': '2015b'} diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb index 19f0d7bea8..7b22333e99 100644 --- a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-intel-2016a.eb @@ -9,8 +9,8 @@ name = 'HTSlib' version = '1.3' homepage = "http://www.htslib.org/" -description = """ A C library for reading/writing high-throughput sequencing data. - This package includes the utilities bgzip and tabix """ +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" toolchain = {'name': 'intel', 'version': '2016a'} -- GitLab From 4fbfd47001198b9fca3ca6598613a318ad758925 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 16:45:27 +0200 Subject: [PATCH 0366/1089] add easyconfig Platypus-0.8.1-intel-2016a-Python-2.7.11.eb --- ...latypus-0.8.1-intel-2016a-Python-2.7.11.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..c28a1d2040 --- /dev/null +++ b/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Platypus' +version = '0.8.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.well.ox.ac.uk/platypus' +description = """Platypus is a tool designed for efficient and accurate variant-detection + in high-throughput sequencing data.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# download requires registration, see http://www.well.ox.ac.uk/software-download-registration +sources = ['%(name)s_%(version)s.tgz'] + +dependencies = [ + ('Python', '2.7.11'), + ('HTSlib', '1.3'), +] + +unpack_options = '--strip-components=1' +buildininstalldir = True + +options = {'modulename': 'platypusutils'} + +sanity_check_paths = { + 'files': ['Platypus.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' -- GitLab From 901b2a16159c00487b53cedb78da279cd319935e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 17:10:25 +0200 Subject: [PATCH 0367/1089] modify easyconfig Platypus-0.8.1-intel-2016a-Python-2.7.11.eb --- .../p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb index c28a1d2040..bb40e835e4 100644 --- a/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb @@ -23,6 +23,8 @@ buildininstalldir = True options = {'modulename': 'platypusutils'} +postinstallcmds = ["mkdir %(installdir)s/bin && cd %(installdir)s/bin && ln ../Platypus.py"] + sanity_check_paths = { 'files': ['Platypus.py'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], -- GitLab From d50e69f69c5727371e52d564c8abd92a0e7f12a4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 17:13:40 +0200 Subject: [PATCH 0368/1089] SYMlink --- .../p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb index bb40e835e4..b661d0c21a 100644 --- a/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/Platypus/Platypus-0.8.1-intel-2016a-Python-2.7.11.eb @@ -23,7 +23,7 @@ buildininstalldir = True options = {'modulename': 'platypusutils'} -postinstallcmds = ["mkdir %(installdir)s/bin && cd %(installdir)s/bin && ln ../Platypus.py"] +postinstallcmds = ["mkdir %(installdir)s/bin && cd %(installdir)s/bin && ln -s ../Platypus.py"] sanity_check_paths = { 'files': ['Platypus.py'], -- GitLab From 9529f5c2bc18861f28ffd1f00b5cc1126155b9cc Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 2 Mar 2016 16:49:59 +0100 Subject: [PATCH 0369/1089] Comments removed --- .../easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb index b69472a7b1..8ada7cd405 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb @@ -19,12 +19,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] builddependencies = [ ('xextproto', '7.3.0'), -# ('xcb-proto', '1.11', '', True), -# ('inputproto', '2.3.1'), ('xproto', '7.0.28'), -# ('libpthread-stubs', '0.3'), -# ('kbproto', '1.0.7'), -# ('xtrans', '1.3.5'), ] dependencies = [ -- GitLab From 114d3585825bdfa4918ad6d6e95be8374c45b964 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 16:50:30 +0100 Subject: [PATCH 0370/1089] use CMake 3.4.3 --- .../c/CMake/CMake-2.8.4-intel-2016a.eb | 22 ------------- .../c/CMake/CMake-3.1.3-intel-2016a.eb | 22 ------------- .../c/CMake/CMake-3.2.3-intel-2016a.eb | 31 ------------------- .../g/GATE/GATE-6.2-intel-2016a.eb | 2 +- .../g/GATE/GATE-7.0-intel-2016a.eb | 7 ++--- .../g/Geant4/Geant4-9.5.p01-intel-2016a.eb | 2 +- .../g/Geant4/Geant4-9.6.p04-intel-2016a.eb | 5 +-- .../LLVM-3.6.2-intel-2016a-Python-2.7.9.eb | 2 +- 8 files changed, 9 insertions(+), 84 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb deleted file mode 100644 index 6e790f2a9a..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-2.8.4-intel-2016a.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '2.8.4' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '6.0')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb deleted file mode 100644 index afe0d69bd0..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.1.3-intel-2016a.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.1.3' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '6.0')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb deleted file mode 100644 index bf57c1d381..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.3-intel-2016a.eb +++ /dev/null @@ -1,31 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.2.3' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = '-- -DCMAKE_USE_OPENSSL=1' - -dependencies = [ - ('ncurses', '6.0'), - # OS dependency should be preferred if the os version is more recent then this version, - # it's nice to have an up to date openssl for security reasons - #('OpenSSL', '1.0.1k'), -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb index 502c8f56f7..389d60bab7 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb @@ -21,6 +21,6 @@ dependencies = [ ('CLHEP', '2.1.1.0'), ('ROOT', 'v5.34.01'), ] -builddependencies = [('CMake', '2.8.4')] +builddependencies = [('CMake', '3.4.3')] moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb b/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb index a0a092ac93..7d392aa8b1 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb @@ -16,14 +16,13 @@ patches = [ 'GATE-%(version)s_unistdh.patch', ] -builddependencies = [ - ('CMake', '3.1.3'), -] - dependencies = [ ('Geant4', '9.6.p04'), ('CLHEP', '2.1.3.1'), ('ROOT', 'v5.34.26'), ] +builddependencies = [ + ('CMake', '3.4.3'), +] moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb index 5b065cc9f0..a4c1b85fa8 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb @@ -16,7 +16,7 @@ dependencies = [ ('CLHEP', '2.1.1.0'), ] -builddependencies = [('CMake', '2.8.4')] +builddependencies = [('CMake', '3.4.3')] configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" configopts += "-DGEANT4_INSTALL_DATA=OFF" diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb index 0496cd5322..8fa06aa9f5 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb @@ -15,8 +15,9 @@ dependencies = [ ('expat', '2.1.0'), ('CLHEP', '2.1.3.1'), ] - -builddependencies = [('CMake', '3.1.3')] +builddependencies = [ + ('CMake', '3.4.3'), +] configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" configopts += "-DGEANT4_INSTALL_DATA=OFF" diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb index 6139d93743..e4b5b40821 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb @@ -22,7 +22,7 @@ source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] builddependencies = [ - ('CMake', '3.2.3'), + ('CMake', '3.4.3'), (python, pyver), ] -- GitLab From 24ecfa75bf35dcddcd0e895ff0ce3a029d4ade3f Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 2 Mar 2016 16:53:20 +0100 Subject: [PATCH 0371/1089] Extra ampty line removed --- easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb index 98289122be..17ddfd09d9 100644 --- a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a.eb @@ -16,7 +16,6 @@ builddependencies = [ ('renderproto', '0.11'), ] - dependencies = [ ('libX11', '1.6.3'), ('libXrender', '0.9.9'), -- GitLab From 7fd15a76581d533a36e0320a545bd267fb9a6eac Mon Sep 17 00:00:00 2001 From: Damian Alvarez Date: Wed, 2 Mar 2016 18:23:21 +0100 Subject: [PATCH 0372/1089] Updated psmpi easyconfig files to use the new psmpi easyblock --- .../easyconfigs/p/pscom/pscom-5.0.48-1.eb | 23 ++++++++++++ .../p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb | 37 +++++++------------ .../psmpi-5.1.0-1-iccifort-2015.1.133.eb | 28 +++----------- .../p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb | 27 ++++++++++++++ .../psmpi-5.1.5-1-iccifort-2015.1.133.eb | 27 ++++++++++++++ 5 files changed, 95 insertions(+), 47 deletions(-) create mode 100644 easybuild/easyconfigs/p/pscom/pscom-5.0.48-1.eb create mode 100644 easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb create mode 100644 easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb diff --git a/easybuild/easyconfigs/p/pscom/pscom-5.0.48-1.eb b/easybuild/easyconfigs/p/pscom/pscom-5.0.48-1.eb new file mode 100644 index 0000000000..13b9a47c54 --- /dev/null +++ b/easybuild/easyconfigs/p/pscom/pscom-5.0.48-1.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'pscom' +version = '5.0.48-1' + +homepage = 'http://www.par-tec.com' +description = "ParaStation is a robust and efficient cluster middleware, consisting of a high-performance communication layer (MPI) and a sophisticated management layer." + +toolchain = {'version': '', 'name': 'dummy'} + +sources = ['%(version)s.zip'] +source_urls = ['https://github.com/ParaStation/%(name)s/archive/'] + +builddependencies = [ + ('popt', '1.16'), +] + +sanity_check_paths = { + 'files': ['include/%(name)s.h', ('lib/libpscom.so', 'lib64/libpscom.so'), ('lib/libpscom4mxm.so', 'lib64/libpscom4mxm.so')], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb index 3e04c7775f..87539a2e7d 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb @@ -1,13 +1,15 @@ -easyblock = 'ConfigureMake' - name = 'psmpi' version = '5.1.0-1' homepage = 'https://github.com/ParaStation/psmpi2' -description = """ParaStation MPI as part of the ParaStationV5 cluster suite provides robust, flexible and scalable communication and management functions for Linux-based compute clusters. Beside parallel applications based on the Message Passing Interface specification, version 2 (MPI2), also serial applications are supported.""" - +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" toolchain = {'name': 'GCC', 'version': '4.9.2'} +toolchainopts = {'defaultopt': True} + sources = [ '%(version)s.tar.gz', 'openpa-1.0.4.tar.gz', @@ -17,26 +19,13 @@ source_urls = [ 'https://trac.mpich.org/projects/openpa/raw-attachment/wiki/Downloads/', ] -# MPICH configure wants F90/F90FLAGS to be renamed to FC/FCFLAGS. -preconfigopts = 'export FC="$F90"; export FCFLAGS="$F90FLAGS"; unset F90; unset F90FLAGS; ' - -# Build shared libraries -configopts = '--with-confset=gcc --enable-shared --enable-static' - -dependencies = [('pscom', '5.0.44-1')] +dependencies = [ + ('pscom', '5.0.44-1', '', True), +] -sanity_check_paths = { - 'files': ['bin/mpicc', 'bin/mpicxx', 'bin/mpic++', 'bin/mpif77', 'bin/mpif90', - 'include/mpi.h', 'include/mpi.mod', 'include/mpif.h', - ('lib/libfmpich.a', 'lib64/libfmpich.a'), - ('lib/libfmpich.%s' % SHLIB_EXT, 'lib64/libfmpich.%s' % SHLIB_EXT), - ('lib/libmpich.a', 'lib64/libmpich.a'), - ('lib/libmpich.%s' % SHLIB_EXT, 'lib64/libmpich.%s' % SHLIB_EXT), - ('lib/libmpichcxx.a', 'lib64/libmpichcxx.a'), - ('lib/libmpichcxx.%s' % SHLIB_EXT, 'lib64/libmpichcxx.%s' % SHLIB_EXT), - ('lib/libmpichf90.a', 'lib64/libmpichf90.a'), - ('lib/libmpichf90.%s' % SHLIB_EXT, 'lib64/libmpichf90.%s' % SHLIB_EXT)], - 'dirs': [], -} +hiddendependencies = [ + ('pscom', '5.0.44-1', '', True), +] +configopts = '--with-confset=gcc PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb index 4bb1ff6f7a..a57afdf688 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb @@ -1,11 +1,11 @@ -easyblock = 'ConfigureMake' - name = 'psmpi' version = '5.1.0-1' homepage = 'https://github.com/ParaStation/psmpi2' -description = """ParaStation MPI as part of the ParaStationV5 cluster suite provides robust, flexible and scalable communication and management functions for Linux-based compute clusters. Beside parallel applications based on the Message Passing Interface specification, version 2 (MPI2), also serial applications are supported.""" - +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" toolchain = {'name': 'iccifort', 'version': '2015.1.133'} sources = [ @@ -17,26 +17,8 @@ source_urls = [ 'https://trac.mpich.org/projects/openpa/attachment/wiki/Downloads', ] -# MPICH configure wants F90/F90FLAGS to be renamed to FC/FCFLAGS. -preconfigopts = 'export FC="$F90"; export FCFLAGS="$F90FLAGS"; unset F90; unset F90FLAGS; ' - -# Build shared libraries -configopts = '--with-confset=intel --enable-shared --enable-static --enable-romio --enable-mpe' +configopts = '--with-confset=intel' dependencies = [('pscom', '5.0.44-1')] -sanity_check_paths = { - 'files': ['bin/mpicc', 'bin/mpicxx', 'bin/mpic++', 'bin/mpif77', 'bin/mpif90', - 'include/mpi.h', 'include/mpi.mod', 'include/mpif.h', - ('lib/libfmpich.a', 'lib64/libfmpich.a'), - ('lib/libfmpich.%s' % SHLIB_EXT, 'lib64/libfmpich.%s' % SHLIB_EXT), - ('lib/libmpich.a', 'lib64/libmpich.a'), - ('lib/libmpich.%s' % SHLIB_EXT, 'lib64/libmpich.%s' % SHLIB_EXT), - ('lib/libmpichcxx.a', 'lib64/libmpichcxx.a'), - ('lib/libmpichcxx.%s' % SHLIB_EXT, 'lib64/libmpichcxx.%s' % SHLIB_EXT), - ('lib/libmpichf90.a', 'lib64/libmpichf90.a'), - ('lib/libmpichf90.%s' % SHLIB_EXT, 'lib64/libmpichf90.%s' % SHLIB_EXT)], - 'dirs': [], -} - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb new file mode 100644 index 0000000000..b7c5d500a2 --- /dev/null +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb @@ -0,0 +1,27 @@ +name = 'psmpi' +version = '5.1.5-1' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +toolchain = {'version': '4.9.3', 'name': 'GCC'} + +toolchainopts = {'defaultopt': True} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi2/archive/'] + +dependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +hiddendependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +configopts = ' --with-confset=gcc PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb new file mode 100644 index 0000000000..92f6033fa8 --- /dev/null +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb @@ -0,0 +1,27 @@ +name = 'psmpi' +version = '5.1.5-1' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +toolchain = {'version': '2015.1.133', 'name': 'iccifort'} + +toolchainopts = {'defaultopt': True} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi2/archive/'] + +dependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +hiddendependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +configopts = ' --with-confset=intel PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' + +moduleclass = 'mpi' -- GitLab From 861f5a1e81be0a986ff0f31a27762ca148c61852 Mon Sep 17 00:00:00 2001 From: Damian Alvarez Date: Wed, 2 Mar 2016 18:29:44 +0100 Subject: [PATCH 0373/1089] Small fixes --- .../easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb | 3 +-- .../p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb | 10 ++++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb index 87539a2e7d..34f4d57dd7 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb @@ -8,8 +8,6 @@ various batch systems for tighter process control. """ toolchain = {'name': 'GCC', 'version': '4.9.2'} -toolchainopts = {'defaultopt': True} - sources = [ '%(version)s.tar.gz', 'openpa-1.0.4.tar.gz', @@ -26,6 +24,7 @@ dependencies = [ hiddendependencies = [ ('pscom', '5.0.44-1', '', True), ] + configopts = '--with-confset=gcc PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb index a57afdf688..ac08d5c585 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb @@ -17,8 +17,14 @@ source_urls = [ 'https://trac.mpich.org/projects/openpa/attachment/wiki/Downloads', ] -configopts = '--with-confset=intel' +dependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +hiddendependencies = [ + ('pscom', '5.0.48-1', '', True), +] -dependencies = [('pscom', '5.0.44-1')] +configopts = '--with-confset=intel PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' moduleclass = 'mpi' -- GitLab From 0886e5027a7736285c13f867627a2a8673d9a4cc Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 2 Mar 2016 19:57:33 +0200 Subject: [PATCH 0374/1089] add easyconfig HPL-2.1-intel-2016.02-GCC-4.9.eb, add easyconfig binutils-2.26-GCCcore-4.9.3.eb, add easyconfig flex-2.6.0-GCCcore-4.9.3.eb, add easyconfig icc-2016.2.181-GCC-4.9.3-2.26.eb, add easyconfig iccifort-2016.2.181-GCC-4.9.3-2.26.eb, add easyconfig ifort-2016.2.181-GCC-4.9.3-2.26.eb, add easyconfig iimpi-2016.02-GCC-4.9.3-2.26.eb, add easyconfig imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb, add easyconfig impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb, add easyconfig intel-2016.02-GCC-4.9.eb --- .../b/binutils/binutils-2.26-GCCcore-4.9.3.eb | 41 +++++++++++++++++++ .../f/flex/flex-2.6.0-GCCcore-4.9.3.eb | 21 ++++++++++ .../h/HPL/HPL-2.1-intel-2016.02-GCC-4.9.eb | 18 ++++++++ .../i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb | 35 ++++++++++++++++ .../iccifort-2016.2.181-GCC-4.9.3-2.26.eb | 18 ++++++++ .../ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb | 35 ++++++++++++++++ .../i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb | 22 ++++++++++ ...11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb | 38 +++++++++++++++++ ....181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb | 34 +++++++++++++++ .../i/intel/intel-2016.02-GCC-4.9.eb | 26 ++++++++++++ 10 files changed, 288 insertions(+) create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb create mode 100644 easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.26.eb create mode 100644 easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb create mode 100644 easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb create mode 100644 easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb create mode 100644 easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb create mode 100644 easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb new file mode 100644 index 0000000000..0d3fdd2d17 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'binutils' +version = '2.26' + +homepage = 'http://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + # zlib required, but being linked instatically, so not a runtime dep + ('zlib', '1.2.8'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', True) +] + +# statically link with zlib, to avoid runtime dependency on zlib +preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' + +# make sure that system libraries are also considered by ld and ld.gold is also built +# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html +configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' + +binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', + 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in binlist] + + ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + + ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb new file mode 100644 index 0000000000..5a3de111fc --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb @@ -0,0 +1,21 @@ +name = 'flex' +version = '2.6.0' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +dependencies = [('Bison', '3.0.4')] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.26', '', True)] + +parallel = 1 + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..977c7d487d --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,18 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'optarch': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb new file mode 100644 index 0000000000..ec73b70b03 --- /dev/null +++ b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb @@ -0,0 +1,35 @@ +# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild + +name = 'icc' +version = '2016.2.181' + +homepage = 'http://software.intel.com/en-us/intel-compilers/' +description = "C and C++ compiler from Intel" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_cpp_update%(version_minor)s.tgz'] + +checksums = ['d6f8529a44231e427219c8e025dec3b2'] + +gccver = '4.9.3' +binutilsver = '2.26' +versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) + +dependencies = [ + ('GCCcore', gccver), + ('binutils', binutilsver, '', ('GCCcore', gccver)), +] + +# list of regex for components to install +# full list of components can be obtained from pset/mediaconfig.xml in unpacked sources +# cfr. https://software.intel.com/en-us/articles/intel-composer-xe-2015-silent-installation-guide +components = ['intel-comp', 'intel-ccomp', 'intel-icc', 'intel-openmp', 'intel-ipsc?_'] + +dontcreateinstalldir = 'True' + +# license file +import os +license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.26.eb new file mode 100644 index 0000000000..93577bed54 --- /dev/null +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.26.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild +easyblock = "Toolchain" + +name = 'iccifort' +version = '2016.2.181' +versionsuffix = '-GCC-4.9.3-2.26' + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel Cluster Toolkit Compiler Edition provides Intel C,C++ and fortran compilers, Intel MPI and Intel MKL""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +dependencies = [ + ('icc', version, versionsuffix), + ('ifort', version, versionsuffix), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb new file mode 100644 index 0000000000..c55e928942 --- /dev/null +++ b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb @@ -0,0 +1,35 @@ +# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild + +name = 'ifort' +version = '2016.2.181' + +homepage = 'http://software.intel.com/en-us/intel-compilers/' +description = "C and C++ compiler from Intel" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_fortran_update%(version_minor)s.tgz'] + +checksums = ['70e88db11efc59b1d8ff8b5aadf50f7f'] + +gccver = '4.9.3' +binutilsver = '2.26' +versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) + +dependencies = [ + ('GCCcore', gccver), + ('binutils', binutilsver, '', ('GCCcore', gccver)), +] + +# list of regex for components to install +# full list of components can be obtained from pset/mediaconfig.xml in unpacked sources +# cfr. https://software.intel.com/en-us/articles/intel-composer-xe-2015-silent-installation-guide +components = ['intel-comp', 'intel-fcomp', 'intel-ifort', 'intel-openmp', 'intel-ipsf?_'] + +dontcreateinstalldir = 'True' + +# license file +import os +license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb new file mode 100644 index 0000000000..0be81ea753 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb @@ -0,0 +1,22 @@ +# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild +easyblock = "Toolchain" + +name = 'iimpi' +version = '2016.02' +versionsuffix = '-GCC-4.9.3-2.26' + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +suff = '2.181' +compver = '2016.%s' % suff + +dependencies = [ + ('icc', compver, versionsuffix), + ('ifort', compver, versionsuffix), + ('impi', '5.1.3.181', '', ('iccifort', '%s%s' % (compver, versionsuffix))), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb new file mode 100644 index 0000000000..78baf11191 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb @@ -0,0 +1,38 @@ +# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild + +name = 'imkl' +version = '11.3.2.181' + +homepage = 'http://software.intel.com/en-us/intel-mkl/' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" + +toolchain = {'name': 'iimpi', 'version': '2016.02-GCC-4.9.3-2.26'} + +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['536dbd82896d6facc16de8f961d17d65'] + +dontcreateinstalldir = 'True' + +# license file +import os +license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") + +interfaces = True + +postinstallcmds = [ + # extract the examples + 'tar xvzf %(installdir)s/mkl/examples/examples_cluster.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_c.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_core_f.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_f95.tgz -C %(installdir)s/mkl/examples/', + 'tar xvzf %(installdir)s/mkl/examples/examples_mic.tgz -C %(installdir)s/mkl/examples/' +] + +modextravars = { + 'MKL_EXAMPLES': '%(installdir)s/mkl/examples/', +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb new file mode 100644 index 0000000000..147e9c1ec1 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb @@ -0,0 +1,34 @@ +# This is an easyconfig file for EasyBuild, see http://hpcugent.github.io/easybuild + +name = 'impi' +version = '5.1.3.181' + +homepage = 'http://software.intel.com/en-us/intel-mpi-library/' +description = """The Intel(R) MPI Library for Linux* OS is a multi-fabric message + passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for + Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.""" + +toolchain = {'name': 'iccifort', 'version': '2016.2.181-GCC-4.9.3-2.26'} + +sources = ['l_mpi_p_%(version)s.tgz'] + +checksums = ['1c14656859d48bf8b90c71dace2a977b'] + +dontcreateinstalldir = 'True' + +import os +license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") + +# set up all the mpi commands to default to intel compilers +# set_mpi_wrappers_all = 'True' + +postinstallcmds = [ + 'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libmpich.so', + 'ln -s %(installdir)s/lib64/libmpigc4.so %(installdir)s/lib64/libmpichcxx.so', + 'ln -s %(installdir)s/lib64/libmpigf.so %(installdir)s/lib64/libfmpich.so', + 'ln -s %(installdir)s/lib64/libmpigf.so %(installdir)s/lib64/libmpichf90.so', + 'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libmpl.so', + 'ln -s %(installdir)s/lib64/libmpi.so %(installdir)s/lib64/libopa.so' +] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..955db91710 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb @@ -0,0 +1,26 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2016.02' +gcc_maj_min = '4.9' +versionsuffix = '-GCC-%s' % gcc_maj_min + +homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI & Intel MKL.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +compver = '2016.2.181' +gccver = '%s.3' % gcc_maj_min +binutilsver = '2.26' +gccsuff = '-GCC-%s-%s' % (gccver, binutilsver) +dependencies = [ + ('GCCcore', gccver), + ('binutils', binutilsver, '-GCCcore-%s' % gccver), + ('icc', compver, gccsuff), + ('ifort', compver, gccsuff), + ('impi', '5.1.3.181', '', ('iccifort', '%s%s' % (compver, gccsuff))), + ('imkl', '11.3.2.181', '', ('iimpi', '%s%s' % (version, gccsuff))), +] + +moduleclass = 'toolchain' -- GitLab From 6cc138ca5ec6cd4aaea6917159a494a892746d8a Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 2 Mar 2016 17:59:17 +0000 Subject: [PATCH 0375/1089] Use existing non-bare Perl 5.20.3 --- ...erl-5.22.0.eb => PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/p/PRINSEQ/{PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb => PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb} (98%) diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb similarity index 98% rename from easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb rename to easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb index 9d69ec6346..1d36878e90 100644 --- a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.22.0.eb +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb @@ -19,11 +19,11 @@ source_urls = ['http://sourceforge.net/projects/prinseq/files/standalone/'] sources = ['%(namelower)s-lite-%(version)s.tar.gz'] perl = 'Perl' -perlver = '5.22.0' +perlver = '5.20.3' versionsuffix = '-%s-%s' % (perl, perlver) dependencies = [ - (perl, perlver, '-bare'), + (perl, perlver), ] # these are the perl libraries dependencies -- GitLab From b8e4a25cec60fe50c037e9614ac6d497a916b47e Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 2 Mar 2016 18:09:15 +0000 Subject: [PATCH 0376/1089] First version of Subread --- .../s/Subread/Subread-1.5.0p1-foss-2015b.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb new file mode 100644 index 0000000000..245a7b2f5a --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb @@ -0,0 +1,30 @@ +# Note: +# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild +# It was auto-generated based on a template easyconfig, so it should be used with care. +easyblock = 'MakeCp' + +name = 'Subread' +version = '1.5.0p1' + +homepage = 'http://subread.sourceforge.net/' +description = """TEMPLATE DESCRIPTION""" + +# toolchain name should be 'TEMPLATE' if this is a template, so EasyBuild knows and is willing to use it as a template +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {} # toolchain options, e.g. opt, pic, usempi, optarch, ... + +# For sources line to work correctly with --try-software-version, you MUST employ %s OR use a construct like SOURCE_TAR_GZ +sources = ['%(namelower)s-%version)s-source.tar.gz'] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [] + +dependencies = [] + +# The sanity test MUST be tuned before going production and submitting your contribution to upstream git repositories +sanity_check_paths = { + 'files': [], + 'dirs': ["."] +} + +moduleclass = 'bio' -- GitLab From ee51c965aac480debb113fe46bd326cca373dbac Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 2 Mar 2016 19:10:53 +0100 Subject: [PATCH 0377/1089] modified to use stock easyblock for cp2k --- easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb index f495713dbd..55e00d968f 100644 --- a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb @@ -2,8 +2,6 @@ name = 'CP2K' version = "3.0" -easyblock = 'cp2kcray' - homepage = 'http://www.cp2k.org/' description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different -- GitLab From 5c42a24484a4db4563a78da1ed3c4d4ebc444adb Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 2 Mar 2016 19:43:23 +0100 Subject: [PATCH 0378/1089] adding cuda enable version of cp2k --- .../CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb new file mode 100644 index 0000000000..aeb506b2a1 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb @@ -0,0 +1,48 @@ +# contributed by Luca Marsella (CSCS) +name = 'CP2K' +version = "3.0" +cudaversion = '7.0' +versionsuffix = '-cuda-%s' % cudaversion + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.2'), +] + +builddependencies = [ + ('cudatoolkit/7.0.28-1.0502.10742.5.1', EXTERNAL_MODULE), + ('fftw/3.3.4.3', EXTERNAL_MODULE), + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test +runtest = False +# regression test reports failures +#ignore_regtest_fails = True + +# build type +type = 'psmp' + +moduleclass = 'chem' -- GitLab From 2bfcc9dfe12d917a4a60532d2fbc9df1066e6cf9 Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 2 Mar 2016 20:01:42 +0100 Subject: [PATCH 0379/1089] add missing dep --- .../l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb new file mode 100644 index 0000000000..99ad1db263 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb @@ -0,0 +1,33 @@ +# contributed by Luca Marsella (CSCS) +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '2.2.2' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} +toolchainopts = {'opt': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] + +configopts = 'FC="$F77" FCFLAGS="$FFLAGS" --enable-shared' + +# From the libxc mailing list +# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect +# a fully working testsuite soon (unless someone wants to volunteer to do +# it, of course ) In the meantime, unless the majority of the tests +# fail, your build should be fine. +#runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc.a', 'lib/libxc.so'], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' -- GitLab From 997c2da874253518cdb275ee70bfb3232257af8c Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Thu, 3 Mar 2016 06:11:16 +1030 Subject: [PATCH 0380/1089] Set toolchain version to '' so the Java dep is actually loaded --- easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb | 2 +- easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb | 2 +- easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb | 2 +- easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb b/easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb index 0d15ad9204..6e8d731733 100644 --- a/easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/p/picard/picard-1.120-Java-1.8.0_66.eb @@ -5,7 +5,7 @@ homepage = 'http://broadinstitute.github.io/picard/' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM (http://samtools.github.io/hts-specs) format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb b/easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb index 3c1e54038f..a7d48bf6b0 100644 --- a/easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/p/picard/picard-1.141-Java-1.8.0_74.eb @@ -5,7 +5,7 @@ homepage = 'http://broadinstitute.github.io/picard/' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM (http://samtools.github.io/hts-specs) format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb index 2d067163eb..742c2507d1 100644 --- a/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/p/picard/picard-2.0.1-Java-1.8.0_66.eb @@ -5,7 +5,7 @@ homepage = 'http://broadinstitute.github.io/picard/' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM (http://samtools.github.io/hts-specs) format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] sources = ['%(name)s-tools-%(version)s.zip'] diff --git a/easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb b/easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb index 2c1613a976..88bda5b21f 100644 --- a/easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/p/picard/picard-2.1.0-Java-1.8.0_74.eb @@ -5,7 +5,7 @@ homepage = 'http://broadinstitute.github.io/picard/' description = """A set of tools (in Java) for working with next generation sequencing data in the BAM (http://samtools.github.io/hts-specs) format.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] sources = ['%(name)s-tools-%(version)s.zip'] -- GitLab From f038794ebafd3137021e07532136e6b116b631ce Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 2 Mar 2016 21:43:15 +0000 Subject: [PATCH 0381/1089] Add first draft of RSeQC including numpy dep --- .../numpy-1.9.2-foss-2015b-Python-2.7.10.eb | 27 ++++++++++++++ .../r/RSeQC/RSeQC-2.6.3-foss-2015b.eb | 35 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb create mode 100644 easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..f55df325cf --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb @@ -0,0 +1,27 @@ +name = 'numpy' +version = '1.9.2' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['numpy-1.8.0-mkl.patch'] + +python = 'Python' +pyver = '2.7.10' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('SuiteSparse', '4.4.5', '-METIS-5.1.0'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb new file mode 100644 index 0000000000..c0f1f917f6 --- /dev/null +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'RSeQC' +version = '2.6.3' + +homepage = 'http://rseqc.sourceforge.net/' +description = """RSeQC provides a number of useful modules that can + comprehensively evaluate high throughput sequence data especially RNA-seq + data. Some basic modules quickly inspect sequence quality, nucleotide + composition bias, PCR bias and GC bias, while RNA-seq specific modules + evaluate sequencing saturation, mapped reads distribution, coverage + uniformity, strand specificity, transcript level RNA integrity etc.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = [SOURCE_TAR_GZ] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [] + +Python = 'Python' +pyver = '2.7.10' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + ('R', '3.2.3'), + ('numpy', '1.9.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ["."] +} + +moduleclass = 'bio' -- GitLab From 56deacea6672aab9c732fee0e9246bdc39b0b932 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 3 Mar 2016 09:34:25 +0100 Subject: [PATCH 0382/1089] SHLIB_EXT --- .../l/libdrm/libdrm-2.4.67-intel-2016a.eb | 4 +-- .../l/libxml2/libxml2-2.9.3-intel-2016a.eb | 29 ------------------- .../m/Mesa/Mesa-11.1.2-intel-2016a.eb | 17 +++++------ 3 files changed, 9 insertions(+), 41 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb index 5a91110f77..f4e9adac9a 100644 --- a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-intel-2016a.eb @@ -20,8 +20,8 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.so', - 'lib/libdrm_radeon.so', 'lib/libdrm.so', 'lib/libkms.so'], + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, + 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], } diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb deleted file mode 100644 index b762d96901..0000000000 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a.eb +++ /dev/null @@ -1,29 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libxml2' -version = '2.9.3' - -homepage = 'http://xmlsoft.org/' -description = """Libxml2 is the XML C parser and -toolchain developed for the Gnome project - (but usable outside of the Gnome platform).""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] - -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' - -dependencies = [('zlib', '1.2.8')] - -sanity_check_paths = { - 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], - 'dirs': ['bin', 'include/libxml2/libxml'], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb index 9f80ae7c43..7d84452191 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb @@ -45,8 +45,9 @@ dependencies = [ #osdependencies = ['libudev'] # GLU is not part anymore of Mesa package! -configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri --enable-xlib-glx" -configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl --with-osmesa-bits=32 --enable-texture-float " +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri +configopts += " --enable-xlib-glx --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl" +configopts += " --with-osmesa-bits=32 --enable-texture-float " # package-config files for os dependencies are in an os specific place #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' @@ -55,14 +56,10 @@ preconfigopts = ' libtoolize && ' prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { - 'files': ['lib/libGL.so', 'lib/libOSMesa.so', - 'lib/libGLESv1_CM.so', 'lib/libGLESv2.so', - 'include/GL/glext.h', 'include/GL/gl_mangle.h', - 'include/GL/glx.h', 'include/GL/osmesa.h', - 'include/GL/wglext.h', 'include/GL/gl.h', - 'include/GL/glxext.h', 'include/GL/glx_mangle.h', - 'include/GLES/gl.h', 'include/GLES2/gl2.h', - 'include/GLES3/gl3.h'], + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, + 'lib/libGLESv2.%s' %SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', 'include/GL/glx.h', + 'include/GL/osmesa.h', 'include/GL/wglext.h', 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], 'dirs': [] } -- GitLab From 2c44567470e8aef1bb2abfe26c78758d2fb2951c Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 3 Mar 2016 09:57:28 +0100 Subject: [PATCH 0383/1089] {lang}[intel-2016a] Python 2.7.11 with libX11 1.6.3 (REVIEW) --- .../Python-2.7.11-intel-2016a-libX11-1.6.3.eb | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..00997213ad --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,139 @@ +name = 'Python' +version = '2.7.11' + +libx11 = 'libX11' +libxver = '1.6.3' +versionsuffix = '-%s-%s' % (libx11, libxver) + +homepage = 'http://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.10.1' +scipyversion = '0.16.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '6.0'), + ('SQLite', '3.9.2'), + (libx11, libxver), + ('Tk', '8.6.4', versionsuffix), + ('GMP', '6.1.0'), + # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's + # nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +# package versions updated May 28th 2015 +exts_list = [ + ('setuptools', '18.7.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '7.1.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.7', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%s-sse42.patch' % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('pbr', '1.8.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], + }), + ('lockfile', '0.12.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.23.4', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.10.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.2', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.2', { + 'source_tmpl': '%(name)s-%(version)s.post2.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '4.0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.1.0', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.13', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.16.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.18', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), + ('funcsigs', '0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/f/funcsigs'], + }), + ('mock', '1.3.0', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mock'], + }), + ('pytz', '2015.7', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pytz'], + }), + ('pandas', '0.17.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), + ('enum34', '1.1.2', { + 'modulename': 'enum', + 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], + }), + ('bitstring', '3.1.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + }), +] + +moduleclass = 'lang' -- GitLab From ec0b5b1c54f6a5f9605d3560f78932c745b24002 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 3 Mar 2016 09:59:58 +0100 Subject: [PATCH 0384/1089] " corrected --- easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb index 7d84452191..3ee16e73ea 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb @@ -45,7 +45,7 @@ dependencies = [ #osdependencies = ['libudev'] # GLU is not part anymore of Mesa package! -configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri" configopts += " --enable-xlib-glx --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl" configopts += " --with-osmesa-bits=32 --enable-texture-float " -- GitLab From 3f371ecc086c53fec4de195d9aa8e8bf79a5ea9f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 11:51:56 +0100 Subject: [PATCH 0385/1089] bump deps: ROOT v5.34.34, Mesa 11.1.2 (cfr. #2610), Python 2.7.11, CLHEP 2.3.1.1, Geant 9.6.p04 --- .../Autotools-20150119-intel-2016a.eb | 17 --- .../b/Bison/Bison-3.0.2-intel-2016a.eb | 22 ---- .../c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb | 20 --- ...-2016a.eb => CLHEP-2.3.1.1-intel-2016a.eb} | 7 +- .../e/eudev/eudev-3.0-intel-2016a.eb | 33 ----- ... => GATE-6.2-intel-2016a-Python-2.7.11.eb} | 7 +- ... => GATE-7.1-intel-2016a-Python-2.7.11.eb} | 7 +- .../easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb | 18 --- .../g/Geant4/Geant4-9.5.p01-intel-2016a.eb | 24 ---- .../g/Geant4/Geant4-9.6.p04-intel-2016a.eb | 2 +- .../LLVM-3.6.2-intel-2016a-Python-2.7.9.eb | 38 ------ .../libX11-1.6.3-intel-2016a-Python-2.7.9.eb | 37 ------ .../libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 2 +- .../libXrender-0.9.9-intel-2016a.eb | 2 +- .../l/libdrm/libdrm-2.4.59-intel-2016a.eb | 25 ---- .../libpciaccess-0.13.1-intel-2016a.eb | 26 ---- .../libreadline-6.2-intel-2016a.eb | 30 ----- .../l/libtool/libtool-2.4.5-intel-2016a.eb | 17 --- .../libxml2-2.8.0-intel-2016a-Python-2.7.3.eb | 33 ----- .../libxml2-2.9.2-intel-2016a-Python-2.7.9.eb | 28 ----- .../Mesa-10.4.5-intel-2016a-Python-2.7.9.eb | 75 ----------- .../n/ncurses/ncurses-5.9-intel-2016a.eb | 36 ------ .../p/PCRE/PCRE-8.36-intel-2016a.eb | 18 --- .../p/Python/Python-2.7.3-intel-2016a.eb | 89 ------------- .../p/Python/Python-2.7.9-intel-2016a.eb | 117 ------------------ .../pkg-config/pkg-config-0.28-intel-2016a.eb | 27 ---- .../r/ROOT/ROOT-v5.34.01-intel-2016a.eb | 39 ------ ...OOT-v5.34.34-intel-2016a-Python-2.7.11.eb} | 14 +-- .../s/SQLite/SQLite-3.8.8.1-intel-2016a.eb | 38 ------ .../t/Tcl/Tcl-8.6.3-intel-2016a.eb | 25 ---- .../t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb | 24 ---- ...xcb-proto-1.11-intel-2016a-Python-2.7.9.eb | 27 ---- .../xorg-macros-1.17-intel-2016a.eb | 22 ---- .../x/xproto/xproto-7.0.27-intel-2016a.eb | 24 ---- 34 files changed, 19 insertions(+), 951 deletions(-) delete mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb rename easybuild/easyconfigs/c/CLHEP/{CLHEP-2.1.3.1-intel-2016a.eb => CLHEP-2.3.1.1-intel-2016a.eb} (85%) delete mode 100644 easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb rename easybuild/easyconfigs/g/GATE/{GATE-6.2-intel-2016a.eb => GATE-6.2-intel-2016a-Python-2.7.11.eb} (87%) rename easybuild/easyconfigs/g/GATE/{GATE-7.0-intel-2016a.eb => GATE-7.1-intel-2016a-Python-2.7.11.eb} (87%) delete mode 100644 easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb delete mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb rename easybuild/easyconfigs/r/ROOT/{ROOT-v5.34.26-intel-2016a.eb => ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb} (90%) delete mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb delete mode 100644 easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb deleted file mode 100644 index 8d512386b5..0000000000 --- a/easybuild/easyconfigs/a/Autotools/Autotools-20150119-intel-2016a.eb +++ /dev/null @@ -1,17 +0,0 @@ -easyblock = 'Bundle' - -name = 'Autotools' -version = '20150119' # date of the most recent change - -homepage = 'http://autotools.io' -description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -dependencies = [ - ('Autoconf', '2.69'), # 20120424 - ('Automake', '1.15'), # 20150105 - ('libtool', '2.4.5'), # 20150119 -] - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb deleted file mode 100644 index 4fdbf98d8f..0000000000 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-intel-2016a.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Bison' -version = '3.0.2' - -homepage = 'http://www.gnu.org/software/bison' -description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar - into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [('M4', '1.4.17')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], - 'dirs': [], -} - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb deleted file mode 100644 index ceed3e9cd3..0000000000 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb +++ /dev/null @@ -1,20 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CLHEP' -version = '2.1.1.0' - -homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/' -description = """The CLHEP project is intended to be a set of HEP-specific foundation and - utility classes such as random generators, physics vectors, geometry and linear algebra. - CLHEP is structured in a set of packages independent of any external package.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TGZ] -source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] - -# CLHEP compiles with icc instead of icpc -configopts = 'CXX="$CC" CXXFLAGS="$CXXFLAGS -gcc"' - -moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb similarity index 85% rename from easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb rename to easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb index 42f08bd8d9..cf3607f24f 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb @@ -1,24 +1,21 @@ easyblock = 'CMakeMake' name = 'CLHEP' -version = '2.1.3.1' +version = '2.3.1.1' homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/' description = """The CLHEP project is intended to be a set of HEP-specific foundation and utility classes such as random generators, physics vectors, geometry and linear algebra. CLHEP is structured in a set of packages independent of any external package.""" - toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'pic': True} sources = [SOURCELOWER_TGZ] source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] -builddependencies = [('CMake', '3.1.3')] +builddependencies = [('CMake', '3.4.3')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' - moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb b/easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb deleted file mode 100644 index 246e9d0730..0000000000 --- a/easybuild/easyconfigs/e/eudev/eudev-3.0-intel-2016a.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'eudev' -version = '3.0' - -homepage = 'https://wiki.gentoo.org/wiki/Project:Eudev' -description = """eudev is a fork of systemd-udev with the goal of obtaining - better compatibility with existing software such as - OpenRC and Upstart, older kernels, various toolchains - and anything else required by users and various distributions.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'cstd': 'c99'} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://dev.gentoo.org/~blueness/%(name)s/'] -patches = ['%(name)s-%(version)s_pre-2.6.34_kernel.patch'] - -builddependencies = [ - ('gperf', '3.0.4'), -] - -osdependencies = [('kernel-headers', 'linux-libc-dev')] - -configopts = '--disable-blkid --disable-selinux --disable-gudev --disable-manpages ' -runtest = 'check' - -sanity_check_paths = { - 'files': ['bin/udevadm', 'include/libudev.h', 'include/udev.h', 'lib/libudev.so.1'], - 'dirs': [], -} - -moduleclass = 'system' diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb similarity index 87% rename from easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb rename to easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb index 389d60bab7..c48ea46984 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb @@ -1,5 +1,6 @@ name = 'GATE' version = '6.2' +versionsuffix = '-Python-2.7.11' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and @@ -17,9 +18,9 @@ patches = [ ] dependencies = [ - ('Geant4', '9.5.p01'), - ('CLHEP', '2.1.1.0'), - ('ROOT', 'v5.34.01'), + ('Geant4', '9.6.p04'), + ('CLHEP', '2.3.1.1'), + ('ROOT', 'v5.34.34', versionsuffix), ] builddependencies = [('CMake', '3.4.3')] diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb similarity index 87% rename from easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb rename to easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb index 7d392aa8b1..6e9809e000 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb @@ -1,5 +1,6 @@ name = 'GATE' -version = '7.0' +version = '7.1' +versionsuffix = '-Python-2.7.11' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and @@ -18,8 +19,8 @@ patches = [ dependencies = [ ('Geant4', '9.6.p04'), - ('CLHEP', '2.1.3.1'), - ('ROOT', 'v5.34.26'), + ('CLHEP', '2.3.1.1'), + ('ROOT', 'v5.34.34', versionsuffix), ] builddependencies = [ ('CMake', '3.4.3'), diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb deleted file mode 100644 index 714d2f9de8..0000000000 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2016a.eb +++ /dev/null @@ -1,18 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'GSL' -version = '1.15' - -homepage = 'http://www.gnu.org/software/gsl/' -description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic" - -moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb deleted file mode 100644 index a4c1b85fa8..0000000000 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2016a.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'Geant4' -version = '9.5.p01' - -homepage = 'http://geant4.cern.ch/' -description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. - Its areas of application include high energy, nuclear and accelerator physics, - as well as studies in medical and space science.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://geant4.cern.ch/support/source'] -sources = ['%(namelower)s.%(version)s.tar.gz'] - -dependencies = [ - ('expat', '2.1.0'), - ('CLHEP', '2.1.1.0'), -] - -builddependencies = [('CMake', '3.4.3')] - -configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" -configopts += "-DGEANT4_INSTALL_DATA=OFF" - -moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb index 8fa06aa9f5..356c780edf 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb @@ -13,7 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), - ('CLHEP', '2.1.3.1'), + ('CLHEP', '2.3.1.1'), ] builddependencies = [ ('CMake', '3.4.3'), diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb deleted file mode 100644 index e4b5b40821..0000000000 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.6.2-intel-2016a-Python-2.7.9.eb +++ /dev/null @@ -1,38 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'LLVM' -version = '3.6.2' -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) - -homepage = "http://llvm.org/" -description = """The LLVM Core libraries provide a modern source- and target-independent - optimizer, along with code generation support for many popular CPUs - (as well as some less common ones!) These libraries are built around a well - specified code representation known as the LLVM intermediate representation - ("LLVM IR"). The LLVM Core libraries are well documented, and it is - particularly easy to invent your own language (or port an existing compiler) - to use LLVM as an optimizer and code generator.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'cstd': 'gnu++11'} - -source_urls = ["http://llvm.org/releases/%(version)s"] -sources = ["llvm-%(version)s.src.tar.xz"] - -builddependencies = [ - ('CMake', '3.4.3'), - (python, pyver), -] - -configopts = '-DBUILD_SHARED_LIBS=ON ' - -sanity_check_paths = { - 'files': ['bin/llvm-ar'], - 'dirs': ['include/llvm', 'include/llvm-c'], -} - -separate_build_dir = True - -moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb deleted file mode 100644 index 060a6e35d0..0000000000 --- a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a-Python-2.7.9.eb +++ /dev/null @@ -1,37 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libX11' -version = '1.6.3' -versionsuffix = '-Python-2.7.9' - -homepage = "http://www.freedesktop.org/wiki/Software/xlibs" -description = """X11 client-side library""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCE_TAR_GZ] -source_urls = [XORG_LIB_SOURCE] - -builddependencies = [ - ('xextproto', '7.3.0'), - ('xcb-proto', '1.11', versionsuffix), - ('inputproto', '2.3.1'), - ('xproto', '7.0.27'), - ('kbproto', '1.0.6'), -] - -dependencies = [ - ('libxcb', '1.11', versionsuffix), - ('xtrans', '1.3.5'), -] - -sanity_check_paths = { - 'files': ['include/X11/%s' % x for x in [ - 'cursorfont.h', 'ImUtil.h', 'Xcms.h', 'XKBlib.h', 'XlibConf.h', 'Xlib.h', 'Xlibint.h', 'Xlib-xcb.h', - 'Xlocale.h', 'Xregion.h', 'Xresource.h', 'Xutil.h', - ] - ], - 'dirs': [], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb index ab04e0520c..95e636b60d 100644 --- a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb @@ -20,7 +20,7 @@ libx11ver = '1.6.3' versionsuffix = '-libX11-%s' % libx11ver dependencies = [ - ('libX11', libx11ver, '-Python-2.7.9'), + ('libX11', libx11ver), ('libXrender', '0.9.9'), ('freetype', '2.5.5'), ('fontconfig', '2.11.93'), diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb index 06b460f5f2..fefc99f4eb 100644 --- a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb @@ -17,7 +17,7 @@ builddependencies = [ ] dependencies = [ - ('libX11', '1.6.3', '-Python-2.7.9'), + ('libX11', '1.6.3'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb deleted file mode 100644 index 8d7f8591ba..0000000000 --- a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.59-intel-2016a.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libdrm' -version = '2.4.59' - -homepage = 'http://dri.freedesktop.org' -description = """Direct Rendering Manager runtime library.""" - -source_urls = ['http://dri.freedesktop.org/libdrm/'] -sources = [SOURCELOWER_TAR_GZ] - -toolchain = {'name': 'intel', 'version': '2016a'} - -dependencies = [ - ('libpthread-stubs', '0.3'), - ('libpciaccess', '0.13.1'), -] - -sanity_check_paths = { - 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, - 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], - 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb deleted file mode 100644 index eeafddf420..0000000000 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2016a.eb +++ /dev/null @@ -1,26 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libpciaccess' -version = '0.13.1' - -homepage = 'http://cgit.freedesktop.org/xorg/lib/libpciaccess/' -description = """Generic PCI access library.""" - -source_urls = ['http://cgit.freedesktop.org/xorg/lib/libpciaccess/snapshot'] -sources = [SOURCE_TAR_GZ] - -toolchain = {'name': 'intel', 'version': '2016a'} - -builddependencies = [ - ('Autotools', '20150119', '', ('GCC', '4.9.2')), - ('xorg-macros', '1.17'), -] - -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " - -sanity_check_paths = { - 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], - 'dirs': ['lib/pkgconfig'], -} - -moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb deleted file mode 100644 index 3c775612ac..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2016a.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.2' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """The GNU Readline library provides a set of functions for use by applications that - allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. - The Readline library includes additional functions to maintain a list of previously-entered command lines, - to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '6.0')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs': [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb deleted file mode 100644 index 4219e58cfd..0000000000 --- a/easybuild/easyconfigs/l/libtool/libtool-2.4.5-intel-2016a.eb +++ /dev/null @@ -1,17 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libtool' -version = '2.4.5' - -homepage = 'http://www.gnu.org/software/libtool' -description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries - behind a consistent, portable interface.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -dependencies = [('M4', '1.4.17')] - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb deleted file mode 100644 index d4cc4b5eb1..0000000000 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.8.0-intel-2016a-Python-2.7.3.eb +++ /dev/null @@ -1,33 +0,0 @@ -name = 'libxml2' -version = '2.8.0' - -homepage = 'http://xmlsoft.org/' -description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable - outside of the Gnome platform).""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] - -configopts = 'CC="$CC" CXX="$CXX" --with-pic' - -pythonver = '2.7.3' -pythonshortver = '.'.join(pythonver.split('.')[0:2]) -versionsuffix = '-%s-%s' % ('Python', pythonver) - -dependencies = [ - ('zlib', '1.2.8'), - ('Python', pythonver), -] - -sanity_check_paths = { - 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], - 'dirs': ['bin', 'include/libxml2/libxml'], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb deleted file mode 100644 index e000b25261..0000000000 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-intel-2016a-Python-2.7.9.eb +++ /dev/null @@ -1,28 +0,0 @@ -name = 'libxml2' -version = '2.9.2' - -homepage = 'http://xmlsoft.org/' -description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable - outside of the Gnome platform).""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] - -configopts = 'CC="$CC" CXX="$CXX" --with-pic' - -pythonver = '2.7.9' -pythonshortver = '.'.join(pythonver.split('.')[0:2]) -versionsuffix = '-%s-%s' % ('Python', pythonver) - -dependencies = [ - ('zlib', '1.2.8'), - ('Python', pythonver), -] - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb deleted file mode 100644 index 712aaf2f8b..0000000000 --- a/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2016a-Python-2.7.9.eb +++ /dev/null @@ -1,75 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Mesa' -version = '10.4.5' - -homepage = 'http://www.mesa3d.org/' -description = """Mesa is an open-source implementation of the OpenGL specification - - a system for rendering interactive 3D graphics.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True} - -sources = ['%(name)sLib-%(version)s.tar.gz'] -source_urls = [ - 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', - 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', -] - -patches = ['Mesa-%(version)s_sse4_1.patch'] - -pythonver = '2.7.9' -pythonshortver = '.'.join(pythonver.split('.')[0:2]) -versionsuffix = '-%s-%s' % ('Python', pythonver) - -builddependencies = [ - ('flex', '2.5.39'), - ('Bison', '3.0.2'), - ('Automake', '1.15'), - ('makedepend', '1.0.5'), - ('kbproto', '1.0.6'), - ('xextproto', '7.3.0'), - ('xproto', '7.0.27'), - ('libtool', '2.4.5'), - ('pkg-config', '0.28'), - ('glproto', '1.4.17'), - ('M4', '1.4.17') -] - -dependencies = [ - ('Python', pythonver), - ('libxml2', '2.9.2', versionsuffix), - ('libdrm', '2.4.59'), - ('libX11', '1.6.3', versionsuffix), - ('libXext', '1.3.3'), - ('libXfixes', '5.0.1'), - ('libXdamage', '1.1.4'), - ('libXfont', '1.5.1'), - ('LLVM', '3.6.2', versionsuffix), - ('eudev', '3.0'), -] - -# Use the os provided libudev or the EB provided eudev -#osdependencies = ['libudev'] - -# GLU is not part anymore of Mesa package! -configopts = " --disable-osmesa --disable-gallium-llvm --enable-glx --disable-dri --enable-xlib-glx" -configopts += " --disable-driglx-direct --with-gallium-drivers='' --disable-egl""" - -# package-config files for os dependencies are in an os specific place -#preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' - -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' - -sanity_check_paths = { - 'files': ['lib/libGL.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', - 'include/GL/glx.h', 'include/GL/osmesa.h', - 'include/GL/wglext.h', 'include/GL/gl.h', - 'include/GL/glxext.h', 'include/GL/glx_mangle.h', - 'include/GL/wmesa.h'], - 'dirs': [] -} - -maxparallel = 1 - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb deleted file mode 100644 index f16049293d..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016a.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['ncurses-%(version)s_configure_darwin.patch'] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb deleted file mode 100644 index dabda6ed92..0000000000 --- a/easybuild/easyconfigs/p/PCRE/PCRE-8.36-intel-2016a.eb +++ /dev/null @@ -1,18 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'PCRE' -version = '8.36' - -homepage = 'http://www.pcre.org/' -description = """The PCRE library is a set of functions that implement regular expression pattern matching using - the same syntax and semantics as Perl 5.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True, 'pic': True} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic --disable-cpp" - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb deleted file mode 100644 index 2d8bea6dd7..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.3-intel-2016a.eb +++ /dev/null @@ -1,89 +0,0 @@ -name = 'Python' -version = '2.7.3' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -numpyversion = '1.6.1' -scipyversion = '0.10.1' - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.2'), - ('ncurses', '6.0'), - # ('OpenSSL', '1.0.1f'), # OS dependency should be preferred for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] - -# order is important! -exts_list = [ - ('setuptools', '0.6c11', { - 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], - }), - ('pip', '1.1', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], - }), - ('nose', '1.1.2', { - 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], - }), - ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': ['numpy-%s_distutils_multiple-lib-dirs.patch' % numpyversion], - }), - ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], - }), - ('mpi4py', '1.3', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], - }), - ('paycheck', '1.0.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], - }), - ('argparse', '1.2.1', { - 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], - }), - ('lockfile', '0.9.1', { - 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], - }), - ('Cython', '0.17.2', { - 'source_urls': ['http://www.cython.org/release/'], - }), - ('six', '1.1.0', { - 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], - }), - ('dateutil', '2.1', { - 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', - 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], - }), - ('deap', '0.9.1', { - 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], - }), - ('decorator', '3.4.0', { - 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], - }), - ('arff', '1.1', { - 'source_tmpl': 'liac-%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], - }), - ('ecdsa', '0.8', { - 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], - }), - ('paramiko', '1.12.0', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], - }), -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb deleted file mode 100644 index 37aa3417d0..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-intel-2016a.eb +++ /dev/null @@ -1,117 +0,0 @@ -name = 'Python' -version = '2.7.9' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -numpyversion = '1.9.1' -scipyversion = '0.14.1' - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '6.0'), - ('SQLite', '3.8.8.1'), - ('Tk', '8.6.3', '-no-X11'), - # ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's - # nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] - -# order is important! -# package versions updated Jan 19th 2015 -exts_list = [ - ('setuptools', '11.3.1', { - 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], - }), - ('pip', '6.0.6', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], - }), - ('nose', '1.3.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], - }), - ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': ['numpy-1.8.0-mkl.patch'], - }), - ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], - }), - ('blist', '1.3.6', { - 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], - }), - ('mpi4py', '1.3.1', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], - }), - ('paycheck', '1.0.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], - }), - ('argparse', '1.2.1', { - 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], - }), - ('pbr', '0.10.8', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], - }), - ('lockfile', '0.10.2', { - 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], - }), - ('Cython', '0.21.2', { - 'source_urls': ['http://www.cython.org/release/'], - }), - ('six', '1.9.0', { - 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], - }), - ('dateutil', '2.4.0', { - 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', - 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], - }), - ('deap', '1.0.1', { - 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], - }), - ('decorator', '3.4.0', { - 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], - }), - ('arff', '2.0.1', { - 'source_tmpl': 'liac-%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], - }), - ('ecdsa', '0.11', { - 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], - }), - ('paramiko', '1.15.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], - }), - ('pyparsing', '2.0.3', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], - }), - ('netifaces', '0.10.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], - }), - ('netaddr', '0.7.13', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], - }), - ('mock', '1.0.1', { - 'source_urls': ['https://pypi.python.org/packages/source/m/mock'], - }), - ('pytz', '2014.10', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pytz'], - }), - ('pandas', '0.16.0', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], - }), -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb deleted file mode 100644 index 9a712cb3b4..0000000000 --- a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.28-intel-2016a.eb +++ /dev/null @@ -1,27 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'pkg-config' -version = '0.28' - -homepage = 'http://www.freedesktop.org/wiki/Software/pkg-config/' -description = """pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the - correct compiler options on the command line so an application can use - gcc -o test test.c `pkg-config --libs --cflags glib-2.0` - for instance, rather than hard-coding values on where to find glib (or other libraries).""" - -# don't use PAX, it might break. -tar_config_opts = True - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://pkgconfig.freedesktop.org/releases/'] - -configopts = " --with-internal-glib" - -sanity_check_paths = { - 'files': ['bin/pkg-config'], - 'dirs': [] -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb deleted file mode 100644 index a76d8e6f3c..0000000000 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.01-intel-2016a.eb +++ /dev/null @@ -1,39 +0,0 @@ -name = 'ROOT' -version = 'v5.34.01' - -homepage = 'http://root.cern.ch/drupal/' -description = """The ROOT system provides a set of OO frameworks with all the functionality - needed to handle and analyze large amounts of data in a very efficient way.""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -sources = ['%s_%s.source.tar.gz' % (name.lower(), version)] -source_urls = ['ftp://root.cern.ch/root/'] -patches = [ - 'configure_FftwFromMkl_28.patch', - 'ROOT-%(version)s_recent-ifort.patch', -] - -python = 'Python' -pyver = '2.7.3' - -dependencies = [ - ('GSL', '1.15'), - ('libxml2', '2.8.0', '-%s-%s' % (python, pyver)), - (python, pyver), -] - -# architecture -arch = 'linuxx8664icc' - -# disable features -configopts = ' --disable-xft --disable-x11 --disable-xrootd --disable-mysql' -# enable features -configopts += ' --enable-unuran --enable-table --enable-explicitlink --enable-minuit2 --enable-roofit' -configopts += ' --with-gsl-incdir=$EBROOTGSL/include/gsl --with-gsl-libdir=$EBROOTGSL/lib' -configopts += ' --with-fftw3-incdir=$EBROOTIMKL/mkl/include/fftw --with-fftw3-libdir=$EBROOTIMKL/mkl/lib/intel64' -configopts += ' --with-xml-incdir=$EBROOTLIBXML2/include/libxml2/libxml --with-xml-libdir=$EBROOTLIBXML2/lib' -configopts += ' --with-python-libdir=$EBROOTPYTHON/lib' - -moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2016a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb similarity index 90% rename from easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2016a.eb rename to easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb index face3c9641..01dbe6c33b 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2016a.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb @@ -1,5 +1,6 @@ name = 'ROOT' -version = 'v5.34.26' +version = 'v5.34.34' +versionsuffix = '-Python-2.7.11' homepage = 'http://root.cern.ch/drupal/' description = """The ROOT system provides a set of OO frameworks with all the functionality @@ -16,17 +17,14 @@ patches = [ 'ROOT-v5.34.26_libX.patch', ] -python = 'Python' -pyver = '2.7.9' - dependencies = [ ('GSL', '1.16'), - ('Mesa', '10.4.5', '-%s-%s' % (python, pyver)), - ('libxml2', '2.9.2', '-%s-%s' % (python, pyver)), - ('PCRE', '8.36'), + ('Mesa', '11.1.2'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), ('CFITSIO', '3.37'), ('freetype', '2.5.5'), - (python, pyver), + ('Python', '2.7.11'), ('zlib', '1.2.8'), ('libXft', '2.3.2', '-libX11-1.6.3'), ('libXpm', '3.5.11'), diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb deleted file mode 100644 index 4421de3277..0000000000 --- a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-intel-2016a.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA -# Authors:: Fotis Georgatos -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ -## - -easyblock = 'ConfigureMake' - -name = 'SQLite' -version = '3.8.8.1' - -homepage = 'http://www.sqlite.org/' -description = 'SQLite: SQL Database Engine in a C Library' - -toolchain = {'name': 'intel', 'version': '2016a'} - -# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz -source_urls = ['http://www.sqlite.org/2015/'] -version_str = '%(version_major)s' + ''.join('%02d' % int(x) for x in version.split('.')[1:]) -sources = ['sqlite-autoconf-%s.tar.gz' % version_str] - -dependencies = [ - ('libreadline', '6.3'), - ('Tcl', '8.6.3'), -] - -sanity_check_paths = { - 'files': ['bin/sqlite3'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb deleted file mode 100644 index e368b2b5ef..0000000000 --- a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-intel-2016a.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Tcl' -version = '8.6.3' - -homepage = 'http://www.tcl.tk/' -description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, -suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -dependencies = [ - ('zlib', '1.2.8'), -] - -configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' - -runtest = 'test' - -start_dir = 'unix' - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb deleted file mode 100644 index c673514d37..0000000000 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2016a-no-X11.eb +++ /dev/null @@ -1,24 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Tk' -version = '8.6.3' -versionsuffix = '-no-X11' - -homepage = 'http://www.tcl.tk/' -description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building - a graphical user interface (GUI) in many different programming languages.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ["http://prdownloads.sourceforge.net/tcl"] -sources = ['%(namelower)s%(version)s-src.tar.gz'] - -dependencies = [ - ('Tcl', version), -] - -configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' - -start_dir = 'unix' - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb deleted file mode 100644 index 7cbfd9e916..0000000000 --- a/easybuild/easyconfigs/x/xcb-proto/xcb-proto-1.11-intel-2016a-Python-2.7.9.eb +++ /dev/null @@ -1,27 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'xcb-proto' -version = '1.11' - -homepage = 'http://xcb.freedesktop.org/' -description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, -latency hiding, direct access to the protocol, improved threading support, and extensibility.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://xcb.freedesktop.org/dist/'] -sources = [SOURCELOWER_TAR_GZ] - -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) -dependencies = [(python, pyver)] - -pyshortver = '.'.join(pyver.split('.')[0:2]) - -sanity_check_paths = { - 'files': ['lib/pkgconfig/xcb-proto.pc'], - 'dirs': ['lib/python%s/site-packages/xcbgen' % pyshortver] -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb deleted file mode 100644 index f26da7ae49..0000000000 --- a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.17-intel-2016a.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'xorg-macros' -version = '1.17' - -homepage = 'http://cgit.freedesktop.org/xorg/util/macros' -description = """X.org macros utilities.""" -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! -sources = ['util-macros-%(version)s.tar.gz'] - -dependencies = [('Autotools', '20150119', '', ('GCC', '4.9.2'))] - -preconfigopts = './autogen.sh && ' - -sanity_check_paths = { - 'files': ['share/pkgconfig/xorg-macros.pc'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb deleted file mode 100644 index 2f1b41c474..0000000000 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2016a.eb +++ /dev/null @@ -1,24 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'xproto' -version = '7.0.27' - -homepage = "http://www.freedesktop.org/wiki/Software/xlibs" -description = "X protocol and ancillary headers" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] - -sanity_check_paths = { - 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', - 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', - 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', - 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', - 'XWDFile.h', 'Xwinsock.h']], - 'dirs': [] -} - -moduleclass = 'devel' -- GitLab From 6cefbee52b4720471811de4119587e039c1b11b1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 11:58:29 +0100 Subject: [PATCH 0386/1089] remove unused easyconfigs --- .../g/glproto/glproto-1.4.17-intel-2016a.eb | 20 ----------- .../k/kbproto/kbproto-1.0.6-intel-2016a.eb | 19 ----------- .../libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 2 +- .../libxcb-1.11-intel-2016a-Python-2.7.9.eb | 34 ------------------- .../makedepend-1.0.5-intel-2016a.eb | 20 ----------- 5 files changed, 1 insertion(+), 94 deletions(-) delete mode 100644 easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb deleted file mode 100644 index c26a1ac08a..0000000000 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb +++ /dev/null @@ -1,20 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'glproto' -version = '1.4.17' - -homepage = "http://www.freedesktop.org/wiki/Software/xlibs" -description = "X protocol and ancillary headers" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] - -sanity_check_paths = { - 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb deleted file mode 100644 index 3a33382528..0000000000 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2016a.eb +++ /dev/null @@ -1,19 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'kbproto' -version = '1.0.6' - -homepage = "http://www.freedesktop.org/wiki/Software/xlibs" -description = """X.org KBProto protocol headers.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] - -sanity_check_paths = { - 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], - 'dirs': [], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb index 95e636b60d..5072a7bef7 100644 --- a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb @@ -12,7 +12,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] builddependencies = [ - ('kbproto', '1.0.6'), + ('kbproto', '1.0.7'), ('renderproto', '0.11'), ] diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb deleted file mode 100644 index 4279354d1f..0000000000 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11-intel-2016a-Python-2.7.9.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libxcb' -version = '1.11' - -homepage = 'http://xcb.freedesktop.org/' -description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, -latency hiding, direct access to the protocol, improved threading support, and extensibility.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://xcb.freedesktop.org/dist/'] -sources = [SOURCELOWER_TAR_GZ] - -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), - ('xcb-proto', '1.11', versionsuffix), - ('libXau', '1.0.8'), - ('libpthread-stubs', '0.3'), -] - -sanity_check_paths = { - 'files': ['lib/libxcb%s.a' % x for x in ["", "-composite", "-damage", "-dpms", "-dri2", "-glx", - "-randr", "-record", "-render", "-res", "-screensaver", - "-shape", "-shm", "-sync", "-xevie", "-xf86dri", "-xfixes", - "-xinerama", "-xprint", "-xtest", "-xv", "-xvmc"]], - 'dirs': ['include/xcb', 'lib/pkgconfig'], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb deleted file mode 100644 index 1158bd68be..0000000000 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb +++ /dev/null @@ -1,20 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'makedepend' -version = '1.0.5' - -homepage = "http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html" -description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] - -sanity_check_paths = { - 'files': ['bin/makedepend'], - 'dirs': [], -} - -moduleclass = 'devel' -- GitLab From 2d9daae084f24546174edd296d33a348427d0e5b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 12:07:34 +0100 Subject: [PATCH 0387/1089] bump fontconfig/freetype/gettext dep versions --- .../fontconfig-2.11.93-intel-2016a.eb | 22 ------------------- .../f/freetype/freetype-2.5.5-intel-2016a.eb | 21 ------------------ .../g/gettext/gettext-0.19.4-intel-2016a.eb | 18 --------------- .../libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 4 ++-- .../l/libXpm/libXpm-3.5.11-intel-2016a.eb | 2 +- .../l/libpng/libpng-1.6.16-intel-2016a.eb | 19 ---------------- ...ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb | 2 +- 7 files changed, 4 insertions(+), 84 deletions(-) delete mode 100644 easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb delete mode 100644 easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb deleted file mode 100644 index f906761e9b..0000000000 --- a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.93-intel-2016a.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = "fontconfig" -version = '2.11.93' - -homepage = 'http://www.freedesktop.org/software/fontconfig' -description = """Fontconfig is a library designed to provide system-wide font configuration, customization and -application access.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://www.freedesktop.org/software/fontconfig/release/'] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('expat', '2.1.0'), - ('freetype', '2.5.5'), -] - -configopts = '--disable-docs ' - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb b/easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb deleted file mode 100644 index 35f4da2da2..0000000000 --- a/easybuild/easyconfigs/f/freetype/freetype-2.5.5-intel-2016a.eb +++ /dev/null @@ -1,21 +0,0 @@ -name = 'freetype' -version = '2.5.5' - -homepage = 'http://freetype.org' -description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and - portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display - servers, font conversion tools, text image generation tools, and many other products as well.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = [GNU_SAVANNAH_SOURCE] -sources = [SOURCE_TAR_GZ] - -dependencies = [('libpng', '1.6.16')] - -sanity_check_paths = { - 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], - 'dirs': ['include/freetype2'], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb deleted file mode 100644 index 069f899a71..0000000000 --- a/easybuild/easyconfigs/g/gettext/gettext-0.19.4-intel-2016a.eb +++ /dev/null @@ -1,18 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'gettext' -version = '0.19.4' - -homepage = 'http://www.gnu.org/software/gettext/' -description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may -build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools -and documentation""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCE_TAR_GZ] -source_urls = [GNU_SOURCE] - -configopts = '--without-emacs' - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb index 5072a7bef7..d4214779d1 100644 --- a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb @@ -22,8 +22,8 @@ versionsuffix = '-libX11-%s' % libx11ver dependencies = [ ('libX11', libx11ver), ('libXrender', '0.9.9'), - ('freetype', '2.5.5'), - ('fontconfig', '2.11.93'), + ('freetype', '2.6.2'), + ('fontconfig', '2.11.94'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb index 39b2ff6653..80b08e7922 100644 --- a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb @@ -12,7 +12,7 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] -builddependencies = [('gettext', '0.19.4', '', ('GCC', '4.9.2'))] +builddependencies = [('gettext', '0.19.6')] sanity_check_paths = { 'files': ['lib/%s' % x for x in ['libXpm.a', 'libXpm.%s' % SHLIB_EXT]], diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb deleted file mode 100644 index d9a7ed9527..0000000000 --- a/easybuild/easyconfigs/l/libpng/libpng-1.6.16-intel-2016a.eb +++ /dev/null @@ -1,19 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libpng' -version = '1.6.16' - -homepage = 'http://www.libpng.org/pub/png/libpng.html' -description = "libpng is the official PNG reference library" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('zlib', '1.2.8')] - -configopts = "--with-pic" - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb index 01dbe6c33b..f600e1e7a8 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb @@ -23,7 +23,7 @@ dependencies = [ ('libxml2', '2.9.3'), ('PCRE', '8.38'), ('CFITSIO', '3.37'), - ('freetype', '2.5.5'), + ('freetype', '2.6.2'), ('Python', '2.7.11'), ('zlib', '1.2.8'), ('libXft', '2.3.2', '-libX11-1.6.3'), -- GitLab From 3c8e1178fa4b5b96293742cef97702bb71b63fac Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 13:11:03 +0200 Subject: [PATCH 0388/1089] add easyconfig libXft-2.3.2-intel-2016a-libX11-1.6.3.eb, add easyconfig libXpm-3.5.11-intel-2016a.eb, add easyconfig libXrender-0.9.9-intel-2016a.eb, add easyconfig renderproto-0.11-intel-2016a.eb --- .../libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 34 +++++++++++++++++++ .../l/libXpm/libXpm-3.5.11-intel-2016a.eb | 22 ++++++++++++ .../libXrender-0.9.9-intel-2016a.eb | 28 +++++++++++++++ .../renderproto-0.11-intel-2016a.eb | 20 +++++++++++ 4 files changed, 104 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb create mode 100644 easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..95e636b60d --- /dev/null +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libXft' +version = '2.3.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.6'), + ('renderproto', '0.11'), +] + +libx11ver = '1.6.3' +versionsuffix = '-libX11-%s' % libx11ver + +dependencies = [ + ('libX11', libx11ver), + ('libXrender', '0.9.9'), + ('freetype', '2.5.5'), + ('fontconfig', '2.11.93'), +] + +sanity_check_paths = { + 'files': ['lib/libXft.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb new file mode 100644 index 0000000000..39b2ff6653 --- /dev/null +++ b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libXpm' +version = '3.5.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXp provides the X print library.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [('gettext', '0.19.4', '', ('GCC', '4.9.2'))] + +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['libXpm.a', 'libXpm.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb new file mode 100644 index 0000000000..fefc99f4eb --- /dev/null +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libXrender' +version = '0.9.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['lib/libXrender.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb new file mode 100644 index 0000000000..37b516e535 --- /dev/null +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'renderproto' +version = '0.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrender protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 2bff6a516cf9fc7130c0bdc2b37bf9647d67d494 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 13:16:16 +0200 Subject: [PATCH 0389/1089] fix dep versions --- .../l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 6 +++--- easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb index 95e636b60d..d4214779d1 100644 --- a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb @@ -12,7 +12,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] builddependencies = [ - ('kbproto', '1.0.6'), + ('kbproto', '1.0.7'), ('renderproto', '0.11'), ] @@ -22,8 +22,8 @@ versionsuffix = '-libX11-%s' % libx11ver dependencies = [ ('libX11', libx11ver), ('libXrender', '0.9.9'), - ('freetype', '2.5.5'), - ('fontconfig', '2.11.93'), + ('freetype', '2.6.2'), + ('fontconfig', '2.11.94'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb index 39b2ff6653..80b08e7922 100644 --- a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb @@ -12,7 +12,7 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_LIB_SOURCE] -builddependencies = [('gettext', '0.19.4', '', ('GCC', '4.9.2'))] +builddependencies = [('gettext', '0.19.6')] sanity_check_paths = { 'files': ['lib/%s' % x for x in ['libXpm.a', 'libXpm.%s' % SHLIB_EXT]], -- GitLab From 6a6a05bbb3e3c49da360c9e3ddde31093092e6cf Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 12:43:25 +0100 Subject: [PATCH 0390/1089] drop versionsuffix for libXft as ROOT dep --- .../libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 34 ------------------- ...ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb | 2 +- 2 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb deleted file mode 100644 index d4214779d1..0000000000 --- a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libXft' -version = '2.3.2' - -homepage = "http://www.freedesktop.org/wiki/Software/xlibs" -description = """X11 client-side library""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCE_TAR_GZ] -source_urls = [XORG_LIB_SOURCE] - -builddependencies = [ - ('kbproto', '1.0.7'), - ('renderproto', '0.11'), -] - -libx11ver = '1.6.3' -versionsuffix = '-libX11-%s' % libx11ver - -dependencies = [ - ('libX11', libx11ver), - ('libXrender', '0.9.9'), - ('freetype', '2.6.2'), - ('fontconfig', '2.11.94'), -] - -sanity_check_paths = { - 'files': ['lib/libXft.a'], - 'dirs': [], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb index f600e1e7a8..d82a30d946 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb @@ -26,7 +26,7 @@ dependencies = [ ('freetype', '2.6.2'), ('Python', '2.7.11'), ('zlib', '1.2.8'), - ('libXft', '2.3.2', '-libX11-1.6.3'), + ('libXft', '2.3.2'), ('libXpm', '3.5.11'), ('libXext', '1.3.3'), ] -- GitLab From 7e83e512599ebcacbce927c0f32a9994c6b5c50d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 12:50:37 +0100 Subject: [PATCH 0391/1089] drop libXft easyconfig with versionsuffix --- .../libXft-2.3.2-intel-2016a-libX11-1.6.3.eb | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb deleted file mode 100644 index d4214779d1..0000000000 --- a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-intel-2016a-libX11-1.6.3.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libXft' -version = '2.3.2' - -homepage = "http://www.freedesktop.org/wiki/Software/xlibs" -description = """X11 client-side library""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = [SOURCE_TAR_GZ] -source_urls = [XORG_LIB_SOURCE] - -builddependencies = [ - ('kbproto', '1.0.7'), - ('renderproto', '0.11'), -] - -libx11ver = '1.6.3' -versionsuffix = '-libX11-%s' % libx11ver - -dependencies = [ - ('libX11', libx11ver), - ('libXrender', '0.9.9'), - ('freetype', '2.6.2'), - ('fontconfig', '2.11.94'), -] - -sanity_check_paths = { - 'files': ['lib/libXft.a'], - 'dirs': [], -} - -moduleclass = 'vis' -- GitLab From 3aa50aba64564f13fe8b44feaa7997cfaf646e17 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 13:49:57 +0100 Subject: [PATCH 0392/1089] bump to latest CFITSIO version --- ...{CFITSIO-3.37-intel-2016a.eb => CFITSIO-3.38-intel-2016a.eb} | 2 +- .../r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/c/CFITSIO/{CFITSIO-3.37-intel-2016a.eb => CFITSIO-3.38-intel-2016a.eb} (97%) diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2016a.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.38-intel-2016a.eb similarity index 97% rename from easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2016a.eb rename to easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.38-intel-2016a.eb index 7af022d137..6291c97147 100644 --- a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.37-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.38-intel-2016a.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'CFITSIO' -version = '3.37' +version = '3.38' homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/' description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb index d82a30d946..fa81ad980b 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb @@ -22,7 +22,7 @@ dependencies = [ ('Mesa', '11.1.2'), ('libxml2', '2.9.3'), ('PCRE', '8.38'), - ('CFITSIO', '3.37'), + ('CFITSIO', '3.38'), ('freetype', '2.6.2'), ('Python', '2.7.11'), ('zlib', '1.2.8'), -- GitLab From cadbf9619dacee2b0df04dc31a4712631e483c00 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Thu, 3 Mar 2016 13:57:19 +0100 Subject: [PATCH 0393/1089] Use directly '--with-mpe' configopt for MVAPICH2 1.7 instead of to-be-removed 'withmpe' from MVAPICH2 EB --- .../m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 2 +- easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index cee59253ac..8208f0a521 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -15,7 +15,7 @@ source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] rdma_type = "gen2" # 'gen2' or 'udapl' # enable building of MPE routines -withmpe = True +configopts = '--with-mpe ' # enable hwloc support withhwloc = True diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb index 22a7f9f02e..429ab72ae0 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb @@ -16,7 +16,7 @@ builddependencies = [('Bison', '2.5')] rdma_type = "gen2" # 'gen2' or 'udapl' # enable building of MPE routines -withmpe = True +configopts = '--with-mpe ' # parallel build tends to fail parallel = 1 -- GitLab From 6db12d99703e23e76336abbe58be66dee5b71902 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Thu, 3 Mar 2016 13:57:41 +0100 Subject: [PATCH 0394/1089] Use directly '--with-hwloc' configopt for MVAPICH2 1.7 instead of to-be-removed 'withhwloc' from MVAPICH2 EB --- .../m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index 8208f0a521..7f3c50d87a 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -18,7 +18,7 @@ rdma_type = "gen2" # 'gen2' or 'udapl' configopts = '--with-mpe ' # enable hwloc support -withhwloc = True +configopts += '--with-hwloc ' dependencies = [('hwloc', '1.5.1')] # enable checkpointing support -- GitLab From 0f56d11a401e34e1a91890dee825e1da94a1c984 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Thu, 3 Mar 2016 14:08:23 +0100 Subject: [PATCH 0395/1089] Remove option rdma_type = "gen2" because it is actually the default This makes this EasyConfig files more uniform with the recent ones --- .../m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 2 -- easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb | 2 -- 2 files changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index 7f3c50d87a..137b9059fe 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -12,8 +12,6 @@ sources = [SOURCELOWER_TGZ] # note: this URL will only work for the most recent version (previous versions no longer available?) source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] -rdma_type = "gen2" # 'gen2' or 'udapl' - # enable building of MPE routines configopts = '--with-mpe ' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb index 429ab72ae0..4c2eead91f 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb @@ -13,8 +13,6 @@ source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] builddependencies = [('Bison', '2.5')] -rdma_type = "gen2" # 'gen2' or 'udapl' - # enable building of MPE routines configopts = '--with-mpe ' -- GitLab From d2e3b5810c31a9d9e155587647dc3459588f9df4 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Thu, 3 Mar 2016 14:11:07 +0100 Subject: [PATCH 0396/1089] Add checksum if known --- easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb | 3 +++ .../easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb | 3 +++ .../easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb | 3 +++ easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb | 3 +++ .../m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb | 3 +++ 5 files changed, 15 insertions(+) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb index 9be4dedbf3..dbf130a107 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb @@ -9,6 +9,9 @@ toolchain = {'name': 'GCC', 'version': '4.7.2'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['ef4ae05e3b5ad485326505db7381246c'] + builddependencies = [('Bison', '2.7')] # parallel build doesn't work diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb index 6d98d3a032..f8ed601fa4 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb @@ -9,6 +9,9 @@ toolchain = {'name': 'ClangGCC', 'version': '1.1.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['5dc58ed08fd3142c260b70fe297e127c'] + dependencies = [('Bison', '2.7')] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb index e1fdfb364f..ec3097f101 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb @@ -9,6 +9,9 @@ toolchain = {'name': 'ClangGCC', 'version': '1.2.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['5dc58ed08fd3142c260b70fe297e127c'] + dependencies = [('Bison', '2.7')] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb index 602d1c4c80..fc82223d21 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb @@ -9,6 +9,9 @@ toolchain = {'name': 'GCC', 'version': '4.7.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['5dc58ed08fd3142c260b70fe297e127c'] + builddependencies = [('Bison', '2.7')] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb index f87ce5fafe..2ff528acce 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb @@ -10,6 +10,9 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +# Let's store the checksum in order to be sure it doesn't suddenly change +checksums = ['5dc58ed08fd3142c260b70fe297e127c'] + builddependencies = [('Bison', '2.7')] # the hydra launcher start's before LD_LIBRARY_PATH is forwarded, so we provide this hint on where to find some libs -- GitLab From b925fbf66d62634be351293cb92ed5b4283979af Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 3 Mar 2016 14:50:49 +0100 Subject: [PATCH 0397/1089] {lang}[intel-2016a] R 3.2.3 with libX11 1.6.3 (WIP) --- .../cairo-1.14.6-intel-2016a-libX11-1.6.3.eb | 56 +++ .../GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb | 30 ++ .../GLib-2.47.5-intel-2016a-libX11-1.6.3.eb | 39 ++ ...-intel-2016a-Python-2.7.11-libX11-1.6.3.eb | 29 ++ .../r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb | 453 ++++++++++++++++++ 5 files changed, 607 insertions(+) create mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb create mode 100644 easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb create mode 100644 easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..6db4212fb3 --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.14.6' + +libx11 = 'libX11' +libxver = '1.6.3' +versionsuffix = '-%s-%s' % (libx11, libxver) + +homepage = 'http://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] + +glibver = '2.47.5' + +builddependencies = [ + ('renderproto', '0.11'), +] + +dependencies = [ + (libx11, libxver), + ('libXrender', '0.9.9'), + ('libdrm', '2.4.67'), + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libpng', '1.6.21'), + ('freetype', '2.6.2'), + ('pixman', '0.34.0'), + ('fontconfig', '2.11.94'), + ('expat', '2.1.0'), + ('GLib', glibver, versionsuffix), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes " + +# workaround for "hidden symbol .* in .* is referenced by DSO" and "ld: final link failed: Bad value" +buildopts = 'LD="$CC" LDFLAGS="$LDFLAGS -shared-intel"' + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..78e94ccbb6 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.0.2' +versionsuffix = '-libX11-1.6.3' + +homepage = 'http://www.gdal.org/' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('netCDF', '4.3.3.1'), + ('expat', '2.1.0'), + ('libxml2', '2.9.3', '-Python-2.7.11%s' % versionsuffix), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['lib/libgdal.%s' % SHLIB_EXT, 'lib/libgdal.a'], + 'dirs': ['bin', 'include'] +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..a93ed50f9f --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.47.5' + +versionsuffix = '-libX11-1.6.3' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +pyver = '2.7.11' +pyshortver = '.'.join(pyver.split('.')[:2]) +pysuffix = '-Python-%s%s' % (pyver, versionsuffix) + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.6'), + ('libxml2', '2.9.3', pysuffix), + ('PCRE', '8.38'), +] + +builddependencies = [('Python', pyver)] + +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" + +postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb new file mode 100644 index 0000000000..230d903622 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb @@ -0,0 +1,29 @@ +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' + +pyver = '2.7.11' +pyshortver = '.'.join(pyver.split('.')[:2]) +libx11suffix = '-libX11-1.6.3' +versionsuffix = '-Python-%s%s' % (pyver, libx11suffix) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pyver, libx11suffix), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..e0608b0939 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,453 @@ +name = 'R' +version = '3.2.3' + +libx11 = 'libX11' +libxver = '1.6.3' +versionsuffix = '-%s-%s' % (libx11, libxver) + +homepage = 'http://www.r-project.org/' +description = """R is a free software environment for statistical computing and graphics.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://cran.us.r-project.org/src/base/R-%(version_major)s'] + +preconfigopts = 'BLAS_LIBS="$LIBBLAS" LAPACK_LIBS="$LIBLAPACK"' +configopts = "--with-lapack --with-blas --with-pic --enable-threads --with-x=yes --enable-R-shlib" +#Actually use Tcl/Tk +configopts += ' --with-tcl-config=$EBROOTTCL/lib/tclConfig.sh --with-tk-config=$EBROOTTK/lib/tkConfig.sh ' +# Enable graphics capabilities for plotting. +configopts += " --with-cairo --with-libpng --with-jpeglib --with-libtiff" +# some recommended packages may fail in a parallel build (e.g. Matrix), and we're installing them anyway below +configopts += " --with-recommended-packages=no" + +dependencies = [ + (libx11, libxver), + ('libreadline', '6.3'), + ('ncurses', '6.0'), + ('libpng', '1.6.21'), # for plotting in R + ('libjpeg-turbo', '1.4.2'), # for plottting in R + ('LibTIFF', '4.0.6'), # for plotting in R + ('cairo', '1.14.6', versionsuffix), # for plotting in R + ('Java', '1.8.0_72', '', True), # Java bindings are built if Java is found, might as well provide it + ('Tcl', '8.6.4'), # for tcltk + ('Tk', '8.6.4', versionsuffix), # for tcltk + ('cURL', '7.47.0'), # for RCurl + ('libxml2', '2.9.3', '-Python-2.7.11%s' % versionsuffix), # for XML + ('GDAL', '2.0.2', versionsuffix), # for rgdal + ('PROJ', '4.9.2'), # for rgdal +] + +name_tmpl = '%(name)s_%(version)s.tar.gz' +ext_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} + + +# !! order of packages is important !! +# packages updated on January 21st 2016 +exts_list = [ + # default libraries, only here to sanity check their presence + 'base', + 'datasets', + 'graphics', + 'grDevices', + 'grid', + 'methods', + 'splines', + 'stats', + 'stats4', + 'tools', + 'utils', + # non-standard libraries, should be specified with fixed versions! + ('Rmpi', '0.6-5', dict(ext_options.items() + [('patches', ['Rmpi-0.6-5_impi5.patch'])])), + ('abind', '1.4-3', ext_options), + ('magic', '1.5-6', ext_options), + ('geometry', '0.3-6', dict(ext_options.items() + [('patches', ['geometry-0.3-4-icc.patch'])])), + ('bit', '1.1-12', ext_options), + ('filehash', '2.3', ext_options), + ('ff', '2.2-13', ext_options), + ('bnlearn', '3.9', ext_options), + ('bootstrap', '2015.2', ext_options), + ('combinat', '0.0-8', ext_options), + ('deal', '1.2-37', ext_options), + ('fdrtool', '1.2.15', ext_options), + ('formatR', '1.2.1', ext_options), + ('gtools', '3.5.0', ext_options), + ('gdata', '2.17.0', ext_options), + ('GSA', '1.03', ext_options), + ('highr', '0.5.1', ext_options), + ('infotheo', '1.2.0', ext_options), + ('lars', '1.2', ext_options), + ('lazy', '1.2-15', ext_options), + ('kernlab', '0.9-22', ext_options), + ('mime', '0.4', ext_options), + ('markdown', '0.7.7', ext_options), + ('mlbench', '2.1-1', ext_options), + ('NLP', '0.1-8', ext_options), + ('mclust', '5.1', ext_options), + ('RANN', '2.5', ext_options), + ('rmeta', '2.16', ext_options), + ('segmented', '0.5-1.4', ext_options), + ('som', '0.3-5', ext_options), + ('SuppDists', '1.1-9.1', ext_options), + ('stabledist', '0.7-0', ext_options), + ('survivalROC', '1.0.3', ext_options), + ('pspline', '1.0-17', ext_options), + ('timeDate', '3012.100', ext_options), + ('longmemo', '1.0-0', ext_options), + ('ADGofTest', '0.3', ext_options), + ('ade4', '1.7-3', ext_options), + ('AlgDesign', '1.1-7.3', ext_options), + ('base64enc', '0.1-3', ext_options), + ('BH', '1.60.0-1', ext_options), + ('brew', '1.0-6', ext_options), + ('Brobdingnag', '1.2-4', ext_options), + ('corpcor', '1.6.8', ext_options), + ('longitudinal', '1.1.12', ext_options), + ('checkmate', '1.6.3', ext_options), + ('cubature', '1.1-2', ext_options), + ('DEoptimR', '1.0-4', ext_options), + ('digest', '0.6.8', ext_options), + ('fastmatch', '1.0-4', ext_options), + ('ffbase', '0.12.1', ext_options), + ('iterators', '1.0.8', ext_options), + ('maps', '3.0.2', ext_options), + ('nnls', '1.4', ext_options), + ('sendmailR', '1.2-1', ext_options), + ('spam', '1.3-0', ext_options), + ('subplex', '1.1-6', ext_options), + ('stringi', '1.0-1', ext_options), + ('magrittr', '1.5', ext_options), + ('stringr', '1.0.0', ext_options), + ('evaluate', '0.8', ext_options), + ('logspline', '2.1.8', ext_options), + ('ncbit', '2013.03.29', ext_options), + ('permute', '0.8-4', ext_options), + ('plotrix', '3.6-1', ext_options), + ('randomForest', '4.6-12', ext_options), + ('scatterplot3d', '0.3-36', ext_options), + ('SparseM', '1.7', ext_options), + ('tripack', '1.3-7', ext_options), + ('irace', '1.07', ext_options), + ('rJava', '0.9-7', ext_options), + ('lattice', '0.20-33', ext_options), + ('RColorBrewer', '1.1-2', ext_options), + ('latticeExtra', '0.6-26', ext_options), + ('Matrix', '1.2-3', ext_options), + ('png', '0.1-7', ext_options), + ('Rcpp', '0.12.2', ext_options), + ('RcppArmadillo', '0.6.400.2.2', ext_options), + ('plyr', '1.8.3', ext_options), + ('pROC', '1.8', ext_options), + ('quadprog', '1.5-5', ext_options), + ('BB', '2014.10-1', ext_options), + ('BBmisc', '1.9', ext_options), + ('fail', '1.3', ext_options), + ('rlecuyer', '0.3-4', ext_options), + ('snow', '0.4-1', ext_options), + ('MASS', '7.3-45', ext_options), + ('tree', '1.0-36', ext_options), + ('pls', '2.5-0', ext_options), + ('class', '7.3-14', ext_options), + ('e1071', '1.6-7', ext_options), + ('nnet', '7.3-11', ext_options), + ('nlme', '3.1-122', ext_options), + ('minqa', '1.2.4', ext_options), + ('RcppEigen', '0.3.2.5.1', ext_options), + ('MatrixModels', '0.4-1', ext_options), + ('quantreg', '5.19', ext_options), + ('mgcv', '1.8-10', ext_options), + ('colorspace', '1.2-6', ext_options), + ('robustbase', '0.92-5', ext_options), + ('sp', '1.2-1', ext_options), + ('zoo', '1.7-12', ext_options), + ('lmtest', '0.9-34', ext_options), + ('vcd', '1.4-1', ext_options), + ('snowfall', '1.84-6.1', ext_options), + ('rpart', '4.1-10', ext_options), + ('survival', '2.38-3', ext_options), + ('mice', '2.25', ext_options), + ('urca', '1.2-8', ext_options), + ('fracdiff', '1.4-2', ext_options), + ('logistf', '1.21', ext_options), + ('akima', '0.5-12', ext_options), + ('bitops', '1.0-6', ext_options), + ('boot', '1.3-17', ext_options), + ('mixtools', '1.0.3', ext_options), + ('cluster', '2.0.3', ext_options), + ('gclus', '1.3.1', ext_options), + ('coda', '0.18-1', ext_options), + ('codetools', '0.2-14', ext_options), + ('foreach', '1.4.3', ext_options), + ('doMC', '1.3.4', ext_options), + ('DBI', '0.3.1', ext_options), + ('foreign', '0.8-66', ext_options), + ('gam', '1.12', ext_options), + ('gamlss.data', '4.3-2', ext_options), + ('gamlss.dist', '4.3-5', ext_options), + ('hwriter', '1.3.2', ext_options), + ('KernSmooth', '2.23-15', ext_options), + ('xts', '0.9-7', ext_options), + ('TTR', '0.23-0', ext_options), + ('quantmod', '0.4-5', ext_options), + ('mnormt', '1.5-3', ext_options), + ('mvtnorm', '1.0-3', ext_options), + ('pcaPP', '1.9-60', ext_options), + ('numDeriv', '2014.2-1', ext_options), + ('lava', '1.4.1', ext_options), + ('prodlim', '1.5.7', ext_options), + ('pscl', '1.4.9', ext_options), + ('RSQLite', '1.0.0', ext_options), + ('BatchJobs', '1.6', ext_options), + ('sandwich', '2.3-4', ext_options), + ('sfsmisc', '1.0-28', ext_options), + ('spatial', '7.3-11', ext_options), + ('VGAM', '1.0-0', ext_options), + ('waveslim', '1.7.5', ext_options), + ('xtable', '1.8-0', ext_options), + ('profileModel', '0.5-9', ext_options), + ('brglm', '0.5-9', ext_options), + ('deSolve', '1.12', ext_options), + ('tseriesChaos', '0.1-13', ext_options), + ('tseries', '0.10-34', ext_options), + ('fastICA', '1.2-0', ext_options), + ('R.methodsS3', '1.7.0', ext_options), + ('R.oo', '1.19.0', ext_options), + ('cgdsr', '1.2.5', ext_options), + ('R.utils', '2.2.0', ext_options), + ('R.matlab', '3.3.0', ext_options), + ('gbm', '2.1.1', ext_options), + ('dichromat', '2.0-0', ext_options), + ('Formula', '1.2-1', ext_options), + ('acepack', '1.3-3.3', ext_options), + ('reshape2', '1.4.1', ext_options), + ('gtable', '0.1.2', ext_options), + ('munsell', '0.4.2', ext_options), + ('labeling', '0.3', ext_options), + ('scales', '0.3.0', ext_options), + ('proto', '0.3-10', ext_options), + ('ggplot2', '2.0.0', ext_options), + ('gridExtra', '2.0.0', ext_options), + ('Hmisc', '3.17-1', ext_options), + ('fastcluster', '1.1.16', ext_options), + ('chron', '2.3-47', ext_options), + ('data.table', '1.9.6', ext_options), + ('registry', '0.3', ext_options), + ('pkgmaker', '0.22', ext_options), + ('rngtools', '1.2.4', ext_options), + ('doParallel', '1.0.10', ext_options), + ('gridBase', '0.4-7', ext_options), + ('NMF', '0.20.6', ext_options), + ('irlba', '2.0.0', ext_options), + ('igraph', '1.0.1', ext_options), + ('GeneNet', '1.2.13', ext_options), + ('ape', '3.4', ext_options), + ('htmltools', '0.3', ext_options), + ('RJSONIO', '1.3-0', ext_options), + ('caTools', '1.17.1', ext_options), + ('gplots', '2.17.0', ext_options), + ('ROCR', '1.0-7', ext_options), + ('httpuv', '1.3.3', ext_options), + ('R6', '2.1.1', ext_options), + ('jsonlite', '0.9.19', ext_options), + ('rjson', '0.2.15', ext_options), + ('shiny', '0.12.2', ext_options), + ('seqinr', '3.1-3', ext_options), + ('LearnBayes', '2.15', ext_options), + ('deldir', '0.1-9', ext_options), + ('spdep', '0.5-92', ext_options), + ('assertthat', '0.1', ext_options), + ('lazyeval', '0.1.10', ext_options), + ('dplyr', '0.4.3', ext_options), + ('adegenet', '2.0.0', ext_options), + ('rncl', '0.6.0', ext_options), + ('XML', '3.98-1.3', ext_options), + ('memoise', '0.2.1', ext_options), + ('crayon', '1.3.1', ext_options), + ('praise', '1.0.0', ext_options), + ('testthat', '0.11.0', ext_options), + ('yaml', '2.1.13', ext_options), + ('knitr', '1.11', ext_options), + ('rmarkdown', '0.9.2', ext_options), + ('curl', '0.9.4', ext_options), + ('httr', '1.0.0', ext_options), + ('reshape', '0.8.5', ext_options), + ('bold', '0.3.0', ext_options), + ('taxize', '0.7.0', ext_options), + ('tidyr', '0.3.1', ext_options), + ('uuid', '0.1-2', ext_options), + ('RNeXML', '2.0.5', ext_options), + ('phylobase', '0.8.0', ext_options), + ('adephylo', '1.1-6', ext_options), + ('animation', '2.4', ext_options), + ('bigmemory.sri', '0.1.3', ext_options), + ('bigmemory', '4.5.8', dict(ext_options.items() + [('patches', ['bigmemory-4.5.8_icpc-wd308.patch'])])), + ('calibrate', '1.7.2', ext_options), + ('clusterGeneration', '1.3.4', ext_options), + ('raster', '2.5-2', ext_options), + ('dismo', '1.0-12', ext_options), + ('expm', '0.999-0', ext_options), + ('extrafontdb', '1.0', ext_options), + ('Rttf2pt1', '1.3.3', ext_options), + ('extrafont', '0.17', ext_options), + ('fields', '8.3-6', ext_options), + ('shapefiles', '0.7', ext_options), + ('fossil', '0.3.7', ext_options), + ('geiger', '2.0.6', ext_options), + ('glmnet', '2.0-2', ext_options), + ('rgl', '0.95.1441', ext_options), + ('labdsv', '1.7-0', ext_options), + ('stabs', '0.5-1', ext_options), + ('mboost', '2.5-0', ext_options), + ('msm', '1.6', ext_options), + ('nor1mix', '1.2-1', ext_options), + ('np', '0.60-2', ext_options), + ('polynom', '1.3-8', ext_options), + ('polspline', '1.1.12', ext_options), + ('TH.data', '1.0-6', ext_options), + ('multcomp', '1.4-1', ext_options), + ('rms', '4.4-1', ext_options), + ('RWekajars', '3.7.12-1', ext_options), + ('RWeka', '0.4-24', ext_options), + ('slam', '0.1-32', ext_options), + ('tm', '0.6-2', ext_options), + ('TraMineR', '1.8-11', ext_options), + ('chemometrics', '1.3.9', ext_options), + ('FNN', '1.1', ext_options), + ('ipred', '0.9-5', ext_options), + ('statmod', '1.4.23', ext_options), + ('miscTools', '0.6-16', ext_options), + ('maxLik', '1.3-4', ext_options), + ('mlogit', '0.2-4', ext_options), + ('getopt', '1.20.0', ext_options), + ('gsalib', '2.1', ext_options), + ('optparse', '1.3.2', ext_options), + ('klaR', '0.6-12', ext_options), + ('neuRosim', '0.2-12', ext_options), + ('locfit', '1.5-9.1', ext_options), + ('GGally', '1.0.0', ext_options), + ('beanplot', '1.2', ext_options), + ('clValid', '0.6-6', ext_options), + ('matrixStats', '0.50.1', ext_options), + ('DiscriMiner', '0.1-29', ext_options), + ('ellipse', '0.3-8', ext_options), + ('leaps', '2.9', ext_options), + ('nloptr', '1.0.4', ext_options), + ('lme4', '1.1-10', ext_options), + ('pbkrtest', '0.4-4', ext_options), + ('car', '2.1-1', ext_options), + ('flashClust', '1.01-2', ext_options), + ('FactoMineR', '1.31.4', ext_options), + ('modeltools', '0.2-21', ext_options), + ('flexclust', '1.3-4', ext_options), + ('flexmix', '2.3-13', ext_options), + ('prabclus', '2.2-6', ext_options), + ('diptest', '0.75-7', ext_options), + ('trimcluster', '0.1-2', ext_options), + ('fpc', '2.1-10', ext_options), + ('BiasedUrn', '1.07', ext_options), + ('TeachingDemos', '2.9', ext_options), + ('kohonen', '2.0.19', ext_options), + ('base64', '1.1', ext_options), + ('doRNG', '1.6', ext_options), + ('nleqslv', '2.9.1', ext_options), + ('RGCCA', '2.0', ext_options), + ('pheatmap', '1.0.8', ext_options), + ('openxlsx', '3.0.0', ext_options), + ('pvclust', '2.0-0', ext_options), + ('RCircos', '1.1.3', ext_options), + ('lambda.r', '1.1.7', ext_options), + ('futile.options', '1.0.0', ext_options), + ('futile.logger', '1.4.1', ext_options), + ('VennDiagram', '1.6.16', ext_options), + ('xlsxjars', '0.6.1', ext_options), + ('xlsx', '0.5.7', ext_options), + ('vegan', '2.3-2', ext_options), + ('forecast', '6.1', dict(ext_options.items() + [('patches', ['forecast-6.1_icpc-wd308.patch'])])), + ('fma', '2.01', ext_options), + ('expsmooth', '2.3', ext_options), + ('fpp', '0.5', ext_options), + ('maptools', '0.8-37', ext_options), + ('deldir', '0.1-9', ext_options), + ('tensor', '1.5', ext_options), + ('polyclip', '1.3-2', ext_options), + ('goftest', '1.0-3', ext_options), + ('spatstat', '1.44-1', ext_options), + ('rgdal', '1.1-3', ext_options), + ('gdalUtils', '2.0.1.7', ext_options), + ('pracma', '1.8.8', ext_options), + ('RCurl', '1.95-4.7', ext_options), + ('bio3d', '2.2-4', ext_options), + ('AUC', '0.3.0', ext_options), + ('interpretR', '0.2.3', ext_options), + ('SuperLearner', '2.0-15', ext_options), + ('lpSolve', '5.6.13', ext_options), + ('mediation', '4.4.5', ext_options), + ('caret', '6.0-64', ext_options), + ('adabag', '4.1', ext_options), + ('parallelMap', '1.3', ext_options), + ('ParamHelpers', '1.6', ext_options), + ('ggvis', '0.4.2', ext_options), + ('mlr', '2.7', ext_options), + ('unbalanced', '2.0', ext_options), + ('RSNNS', '0.4-7', ext_options), + ('abc.data', '1.0', ext_options), + ('abc', '2.1', ext_options), + ('lhs', '0.10', ext_options), + ('tensorA', '0.36', ext_options), + ('EasyABC', '1.5', ext_options), + ('shape', '1.4.2', ext_options), + ('whisker', '0.3-2', ext_options), + ('rstudioapi', '0.4.0', ext_options), + ('roxygen2', '5.0.1', ext_options), + ('git2r', '0.13.1', ext_options), + ('xml2', '0.1.2', ext_options), + ('rversions', '1.0.2', ext_options), + ('devtools', '1.9.1', ext_options), + ('Rook', '1.1-1', ext_options), + ('rjson', '0.2.15', ext_options), + ('Cairo', '1.5-9', ext_options), + ('RMTstat', '0.3', ext_options), + ('Lmoments', '1.1-6', ext_options), + ('distillery', '1.0-2', ext_options), + ('extRemes', '2.0-7', ext_options), + ('pixmap', '0.4-11', ext_options), + ('tkrplot', '0.0-23', ext_options), + ('misc3d', '0.8-4', ext_options), + ('multicool', '0.1-9', dict(ext_options.items() + [('patches', [('multicool-0.1-9_icpc-wd308.patch', 1)])])), + ('ks', '1.10.1', ext_options), + ('logcondens', '2.1.4', ext_options), + ('Iso', '0.0-17', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.1-2', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), + ('psych', '1.5.8', ext_options), + ('pbivnorm', '0.6.0', ext_options), + ('lavaan', '0.5-20', ext_options), + ('matrixcalc', '1.0-3', ext_options), + ('arm', '1.8-6', ext_options), + ('mi', '1.0', ext_options), + ('htmlwidgets', '0.6', ext_options), + ('visNetwork', '0.2.1', ext_options), + ('DiagrammeR', '0.8.2', ext_options), + ('sem', '3.1-6', ext_options), + ('jpeg', '0.1-8', ext_options), + ('sna', '2.3-2', ext_options), + ('glasso', '1.8', dict(ext_options.items() + [('patches', [('glasso-1.8-ifort-no-fixed.patch', 1)])])), + ('huge', '1.2.7', ext_options), + ('d3Network', '0.5.2.1', ext_options), + ('ggm', '2.3', ext_options), + ('qgraph', '1.3.2', ext_options), + ('diveRsity', '1.9.89', ext_options), +] + +moduleclass = 'lang' -- GitLab From 2fdcbaedb5a5cfb03e132fc95142378761a1a91f Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 3 Mar 2016 14:54:43 +0100 Subject: [PATCH 0398/1089] vesrionsuffix and libX11 fixes --- .../p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb index 00997213ad..87032c0ef5 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb @@ -1,9 +1,7 @@ name = 'Python' version = '2.7.11' -libx11 = 'libX11' -libxver = '1.6.3' -versionsuffix = '-%s-%s' % (libx11, libxver) +versionsuffix = '-libX11-1.6.3' homepage = 'http://python.org/' description = """Python is a programming language that lets you work more quickly and integrate your systems @@ -25,7 +23,6 @@ dependencies = [ ('libreadline', '6.3'), ('ncurses', '6.0'), ('SQLite', '3.9.2'), - (libx11, libxver), ('Tk', '8.6.4', versionsuffix), ('GMP', '6.1.0'), # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's -- GitLab From c0b90b90ff6dc24a40e0d5f148dced00cd393875 Mon Sep 17 00:00:00 2001 From: Damian Alvarez Date: Thu, 3 Mar 2016 14:58:16 +0100 Subject: [PATCH 0399/1089] Enhanced easyconfigs that need the new psmpi.py easyblock --- .../p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb | 4 +-- .../psmpi-5.1.0-1-iccifort-2015.1.133.eb | 4 +-- .../p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb | 30 +++++++++++++++++++ .../p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb | 4 +-- .../psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb | 30 +++++++++++++++++++ .../psmpi-5.1.5-1-iccifort-2015.1.133.eb | 4 +-- 6 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb create mode 100644 easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb index 34f4d57dd7..3b8d70635f 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb @@ -17,6 +17,8 @@ source_urls = [ 'https://trac.mpich.org/projects/openpa/raw-attachment/wiki/Downloads/', ] +mpich_opts = '--enable-static' + dependencies = [ ('pscom', '5.0.44-1', '', True), ] @@ -25,6 +27,4 @@ hiddendependencies = [ ('pscom', '5.0.44-1', '', True), ] -configopts = '--with-confset=gcc PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb index ac08d5c585..a5c1e058f0 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb @@ -17,6 +17,8 @@ source_urls = [ 'https://trac.mpich.org/projects/openpa/attachment/wiki/Downloads', ] +mpich_opts = '--enable-static' + dependencies = [ ('pscom', '5.0.48-1', '', True), ] @@ -25,6 +27,4 @@ hiddendependencies = [ ('pscom', '5.0.48-1', '', True), ] -configopts = '--with-confset=intel PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb new file mode 100644 index 0000000000..c783f37b64 --- /dev/null +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb @@ -0,0 +1,30 @@ +name = 'psmpi' +version = '5.1.5-1' +versionsuffix = '-mt' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +toolchain = {'version': '4.9.3', 'name': 'GCC'} + +toolchainopts = {'defaultopt': True} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi2/archive/'] + +mpich_opts = '--enable-static' + +threaded = True + +dependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +hiddendependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb index b7c5d500a2..aac098925c 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb @@ -14,6 +14,8 @@ toolchainopts = {'defaultopt': True} sources = ['%(version)s.tar.gz'] source_urls = ['https://github.com/ParaStation/psmpi2/archive/'] +mpich_opts = '--enable-static' + dependencies = [ ('pscom', '5.0.48-1', '', True), ] @@ -22,6 +24,4 @@ hiddendependencies = [ ('pscom', '5.0.48-1', '', True), ] -configopts = ' --with-confset=gcc PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb new file mode 100644 index 0000000000..c33effaedb --- /dev/null +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb @@ -0,0 +1,30 @@ +name = 'psmpi' +version = '5.1.5-1' +versionsuffix = '-mt' + +homepage = 'https://github.com/ParaStation/psmpi2' +description = """ParaStation MPI is an open source high-performance MPI 3.0 implementation, +based on MPICH v3. It provides extra low level communication libraries and integration with +various batch systems for tighter process control. +""" + +toolchain = {'version': '2015.1.133', 'name': 'iccifort'} + +toolchainopts = {'defaultopt': True} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/ParaStation/psmpi2/archive/'] + +mpich_opts = '--enable-static' + +threaded = True + +dependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +hiddendependencies = [ + ('pscom', '5.0.48-1', '', True), +] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb index 92f6033fa8..22468a4f7f 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb @@ -14,6 +14,8 @@ toolchainopts = {'defaultopt': True} sources = ['%(version)s.tar.gz'] source_urls = ['https://github.com/ParaStation/psmpi2/archive/'] +mpich_opts = '--enable-static' + dependencies = [ ('pscom', '5.0.48-1', '', True), ] @@ -22,6 +24,4 @@ hiddendependencies = [ ('pscom', '5.0.48-1', '', True), ] -configopts = ' --with-confset=intel PSCOM_LDFLAGS=-L$EBROOTPSCOM/lib PSCOM_CPPFLAGS=-I$EBROOTPSCOM/include --with-mpichconf="--enable-static" ' - moduleclass = 'mpi' -- GitLab From 2b3091bb02481b40409f90235487ac60ad611bf9 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 14:58:53 +0100 Subject: [PATCH 0400/1089] use recommended Geant4/CLHEP versions --- .../c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb | 23 +++++++++++++++++ .../GATE-7.1-intel-2016a-Python-2.7.11.eb | 8 +++--- .../g/Geant4/Geant4-10.02.p01-intel-2016a.eb | 25 +++++++++++++++++++ .../g/Geant4/Geant4-9.6.p04-intel-2016a.eb | 3 ++- 4 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/Geant4/Geant4-10.02.p01-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb new file mode 100644 index 0000000000..0e16a66612 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.1.3.1' + +homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TGZ] +source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] + +builddependencies = [('CMake', '3.4.3')] + +separate_build_dir = True + +configopts = '-DCMAKE_BUILD_TYPE=Release' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb index 6e9809e000..42cc40aaaf 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb @@ -9,16 +9,16 @@ description = """GATE is an advanced opensource software developed by the intern toolchain = {'name': 'intel', 'version': '2016a'} -sources = [('%(namelower)s_v%(version)s.tar_.gz', "tar xfvz %s")] +sources = [('%(namelower)s_v%(version)s.tar.gz', "tar xfvz %s")] source_urls = ['http://www.opengatecollaboration.org/sites/opengatecollaboration.org/files/'] patches = [ - 'GATE-%(version)s_Makefile-prefix.patch', - 'GATE-%(version)s_unistdh.patch', + 'GATE-7.0_Makefile-prefix.patch', + 'GATE-7.0_unistdh.patch', ] dependencies = [ - ('Geant4', '9.6.p04'), + ('Geant4', '10.02.p01'), ('CLHEP', '2.3.1.1'), ('ROOT', 'v5.34.34', versionsuffix), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-10.02.p01-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-10.02.p01-intel-2016a.eb new file mode 100644 index 0000000000..300557f7e0 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-10.02.p01-intel-2016a.eb @@ -0,0 +1,25 @@ +name = 'Geant4' +version = '10.02.p01' + +homepage = 'http://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://geant4.cern.ch/support/source'] +sources = ['%(namelower)s.%(version)s.tar.gz'] + +dependencies = [ + ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.10.2.html#2. + ('CLHEP', '2.3.1.1'), +] + +builddependencies = [('CMake', '3.4.3')] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += "-DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb index 356c780edf..554b9825d7 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2016a.eb @@ -13,7 +13,8 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), - ('CLHEP', '2.3.1.1'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.6.html#2. + ('CLHEP', '2.1.3.1'), ] builddependencies = [ ('CMake', '3.4.3'), -- GitLab From 486a02d0e4540eeb24860025ee710312218582db Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 15:00:36 +0100 Subject: [PATCH 0401/1089] add comment on recommended CLHEP version in Geant4 easyconfigs --- easybuild/easyconfigs/g/Geant4/Geant4-10.01.p01-intel-2015a.eb | 1 + easybuild/easyconfigs/g/Geant4/Geant4-9.4.p02-ictce-4.0.6.eb | 1 + .../easyconfigs/g/Geant4/Geant4-9.5.p01-goalf-1.1.0-no-OFED.eb | 1 + easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goolf-1.4.10.eb | 1 + easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-4.0.6.eb | 1 + easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-5.3.0.eb | 1 + easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2015a.eb | 1 + easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2015a.eb | 1 + 8 files changed, 8 insertions(+) diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-10.01.p01-intel-2015a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-10.01.p01-intel-2015a.eb index 412c19225c..468e4e32f4 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-10.01.p01-intel-2015a.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-10.01.p01-intel-2015a.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.10.1.html#2. ('CLHEP', '2.2.0.5'), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.4.p02-ictce-4.0.6.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.4.p02-ictce-4.0.6.eb index dd53f85088..1e0d6874fa 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.4.p02-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.4.p02-ictce-4.0.6.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.4.html#2. ('CLHEP', '2.1.1.0'), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goalf-1.1.0-no-OFED.eb index fbf3b03c0b..b7af10a848 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goalf-1.1.0-no-OFED.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.5.html#2. ('CLHEP', '2.1.1.0'), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goolf-1.4.10.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goolf-1.4.10.eb index 7db2e910b2..59a0ae794e 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-goolf-1.4.10.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.5.html#2. ('CLHEP', '2.1.1.0'), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-4.0.6.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-4.0.6.eb index 8eb3941ded..3f34b45154 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-4.0.6.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.5.html#2. ('CLHEP', '2.1.1.0'), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-5.3.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-5.3.0.eb index cbe91d153a..ec55937829 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-ictce-5.3.0.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.5.html#2. ('CLHEP', '2.1.1.0'), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2015a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2015a.eb index bfe0be4aaf..5a4e622db8 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2015a.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p01-intel-2015a.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.5.html#2. ('CLHEP', '2.1.1.0'), ] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2015a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2015a.eb index 791ce6652f..e8b5782036 100644 --- a/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2015a.eb +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.6.p04-intel-2015a.eb @@ -13,6 +13,7 @@ sources = ['%(namelower)s.%(version)s.tar.gz'] dependencies = [ ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.6.html#2. ('CLHEP', '2.1.3.1'), ] -- GitLab From 8e40fa6502203e3856da598dd906e031f06cb0db Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 15:06:45 +0100 Subject: [PATCH 0402/1089] stick to recommended Geant4/CLHEP versions for GATE 6.2 --- .../c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb | 20 +++++++++++++++ .../GATE-6.2-intel-2016a-Python-2.7.11.eb | 4 +-- .../g/Geant4/Geant4-9.5.p02-intel-2016a.eb | 25 +++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/Geant4/Geant4-9.5.p02-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb new file mode 100644 index 0000000000..ceed3e9cd3 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.1.0-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'CLHEP' +version = '2.1.1.0' + +homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TGZ] +source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] + +# CLHEP compiles with icc instead of icpc +configopts = 'CXX="$CC" CXXFLAGS="$CXXFLAGS -gcc"' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb index c48ea46984..c8044cb0a3 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb @@ -18,8 +18,8 @@ patches = [ ] dependencies = [ - ('Geant4', '9.6.p04'), - ('CLHEP', '2.3.1.1'), + ('Geant4', '9.5.p02'), + ('CLHEP', '2.1.1.0'), ('ROOT', 'v5.34.34', versionsuffix), ] builddependencies = [('CMake', '3.4.3')] diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p02-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p02-intel-2016a.eb new file mode 100644 index 0000000000..b790b2a3f8 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-9.5.p02-intel-2016a.eb @@ -0,0 +1,25 @@ +name = 'Geant4' +version = '9.5.p02' + +homepage = 'http://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://geant4.cern.ch/support/source'] +sources = ['%(namelower)s.%(version)s.tar.gz'] + +dependencies = [ + ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.9.5.html#2. + ('CLHEP', '2.1.1.0'), +] + +builddependencies = [('CMake', '3.4.3')] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += "-DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' -- GitLab From 1d8ec9a842b80101489f7b669885afbd540d5e39 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Mar 2016 20:55:57 +0100 Subject: [PATCH 0403/1089] fix Geant4/CHLEP dep versions for GATE 7.1, add easyconfig for GATE 7.2 --- .../c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb | 21 +++++++++++++ .../GATE-7.1-intel-2016a-Python-2.7.11.eb | 7 +++-- .../g/GATE/GATE-7.1_std-isnan.patch | 11 +++++++ .../GATE-7.2-intel-2016a-Python-2.7.11.eb | 31 +++++++++++++++++++ .../g/Geant4/Geant4-10.01.p03-intel-2016a.eb | 25 +++++++++++++++ 5 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch create mode 100644 easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/g/Geant4/Geant4-10.01.p03-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb new file mode 100644 index 0000000000..c7863dcbd1 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb @@ -0,0 +1,21 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.2.0.8' + +homepage = 'http://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TGZ] +source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] + +builddependencies = [('CMake', '3.4.3')] + +separate_build_dir = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb index 42cc40aaaf..a0b0cfc7ac 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb @@ -15,15 +15,18 @@ source_urls = ['http://www.opengatecollaboration.org/sites/opengatecollaboration patches = [ 'GATE-7.0_Makefile-prefix.patch', 'GATE-7.0_unistdh.patch', + 'GATE-7.1_std-isnan.patch', ] dependencies = [ - ('Geant4', '10.02.p01'), - ('CLHEP', '2.3.1.1'), + ('Geant4', '10.01.p03'), + ('CLHEP', '2.2.0.8'), ('ROOT', 'v5.34.34', versionsuffix), ] builddependencies = [ ('CMake', '3.4.3'), ] +buildopts = 'LD="$CXX"' + moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch b/easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch new file mode 100644 index 0000000000..58dbb69bb2 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch @@ -0,0 +1,11 @@ +--- gate_v7.1/source/digits_hits/src/GateToRoot.cc.orig 2016-03-03 19:41:50.569854028 +0100 ++++ gate_v7.1/source/digits_hits/src/GateToRoot.cc 2016-03-03 19:43:09.370590639 +0100 +@@ -765,7 +765,7 @@ + if (dzg1 > dzg2) {dev = acos(-dev)*180/Pi;} + else {dev = acos(dev)*180/Pi - 180;} + +- if (isnan(dev) ) dev = 0.; ++ if (std::isnan(dev) ) dev = 0.; + + // G4cout<< " dev = " << dev << G4endl; + diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..f372f2e488 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +name = 'GATE' +version = '7.2' +versionsuffix = '-Python-2.7.11' + +homepage = 'http://www.opengatecollaboration.org/' +description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and + dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [('%(namelower)s_v%(version)s.tar.gz', "tar xfvz %s")] +source_urls = ['http://www.opengatecollaboration.org/sites/opengatecollaboration.org/files/'] + +patches = [ + 'GATE-7.0_Makefile-prefix.patch', + 'GATE-7.0_unistdh.patch', +] + +dependencies = [ + ('Geant4', '10.02.p01'), + ('CLHEP', '2.3.1.1'), + ('ROOT', 'v5.34.34', versionsuffix), +] +builddependencies = [ + ('CMake', '3.4.3'), +] + +buildopts = 'LD="$CXX"' + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-10.01.p03-intel-2016a.eb b/easybuild/easyconfigs/g/Geant4/Geant4-10.01.p03-intel-2016a.eb new file mode 100644 index 0000000000..f30dcb1a76 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-10.01.p03-intel-2016a.eb @@ -0,0 +1,25 @@ +name = 'Geant4' +version = '10.01.p03' + +homepage = 'http://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://geant4.cern.ch/support/source'] +sources = ['%(namelower)s.%(version)s.tar.gz'] + +dependencies = [ + ('expat', '2.1.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/geant4/support/ReleaseNotes4.10.1.html#2. + ('CLHEP', '2.2.0.8'), +] + +builddependencies = [('CMake', '3.4.3')] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += "-DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' -- GitLab From a3d04d9a93681559f65a7f2cb9dbc51e9cf481d6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 09:31:09 +0100 Subject: [PATCH 0404/1089] add comment in patch file for GATE --- easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch b/easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch index 58dbb69bb2..b8d39150f4 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch +++ b/easybuild/easyconfigs/g/GATE/GATE-7.1_std-isnan.patch @@ -1,3 +1,5 @@ +fix for compiler error ""error: more than one instance of overloaded function isnan matches the argument list" +author: Kenneth Hoste (HPC-UGent) --- gate_v7.1/source/digits_hits/src/GateToRoot.cc.orig 2016-03-03 19:41:50.569854028 +0100 +++ gate_v7.1/source/digits_hits/src/GateToRoot.cc 2016-03-03 19:43:09.370590639 +0100 @@ -765,7 +765,7 @@ -- GitLab From 2dd40478d824d178be19b517743b30ac62118a57 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 09:31:35 +0100 Subject: [PATCH 0405/1089] add -DCMAKE_BUILD_TYPE=Release config option in all recent CLHEP easyconfigs --- easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.5-intel-2015a.eb | 2 ++ easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb | 2 ++ easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.5-intel-2015a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.5-intel-2015a.eb index 9408c50361..cf96d8d47a 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.5-intel-2015a.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.5-intel-2015a.eb @@ -18,4 +18,6 @@ builddependencies = [('CMake', '3.2.2')] separate_build_dir = True +configopts = '-DCMAKE_BUILD_TYPE=Release' + moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb index c7863dcbd1..fb7adb464b 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb @@ -18,4 +18,6 @@ builddependencies = [('CMake', '3.4.3')] separate_build_dir = True +configopts = '-DCMAKE_BUILD_TYPE=Release' + moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb index cf3607f24f..0c5534a737 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb @@ -18,4 +18,6 @@ builddependencies = [('CMake', '3.4.3')] separate_build_dir = True +configopts = '-DCMAKE_BUILD_TYPE=Release' + moduleclass = 'numlib' -- GitLab From cf470891e60fc625b3d01976d11699a94769bc1f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 09:47:57 +0100 Subject: [PATCH 0406/1089] fix long line in GATE descriptions --- easybuild/easyconfigs/g/GATE/GATE-6.1-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/g/GATE/GATE-6.2-goalf-1.1.0-no-OFED.eb | 2 +- easybuild/easyconfigs/g/GATE/GATE-6.2-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/g/GATE/GATE-6.2-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2015a.eb | 2 +- .../easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb | 2 +- easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2015a.eb | 2 +- .../easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb | 2 +- .../easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.1-ictce-4.0.6.eb b/easybuild/easyconfigs/g/GATE/GATE-6.1-ictce-4.0.6.eb index f6983e6ed6..24800cedc7 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.1-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.1-ictce-4.0.6.eb @@ -4,7 +4,7 @@ version = '6.1' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'ictce', 'version': '4.0.6'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-goalf-1.1.0-no-OFED.eb index 8cd12c59aa..b344b3f548 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-goalf-1.1.0-no-OFED.eb @@ -4,7 +4,7 @@ version = '6.2' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-goolf-1.4.10.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-goolf-1.4.10.eb index 3bac12bc2c..89a8046f2f 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-goolf-1.4.10.eb @@ -4,7 +4,7 @@ version = '6.2' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'goolf', 'version': '1.4.10'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-ictce-4.0.6.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-ictce-4.0.6.eb index cf9f93f198..2c2c954a1c 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-ictce-4.0.6.eb @@ -4,7 +4,7 @@ version = '6.2' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'ictce', 'version': '4.0.6'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2015a.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2015a.eb index b6ef9ed9c1..1a6ef28db9 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2015a.eb @@ -4,7 +4,7 @@ version = '6.2' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'intel', 'version': '2015a'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb index c8044cb0a3..d237afef62 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-6.2-intel-2016a-Python-2.7.11.eb @@ -5,7 +5,7 @@ versionsuffix = '-Python-2.7.11' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'intel', 'version': '2016a'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2015a.eb b/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2015a.eb index e93ce79175..85541021f4 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.0-intel-2015a.eb @@ -4,7 +4,7 @@ version = '7.0' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'intel', 'version': '2015a'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb index a0b0cfc7ac..b1e10c6404 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb @@ -5,7 +5,7 @@ versionsuffix = '-Python-2.7.11' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'intel', 'version': '2016a'} diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb index f372f2e488..80a5207676 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb @@ -5,7 +5,7 @@ versionsuffix = '-Python-2.7.11' homepage = 'http://www.opengatecollaboration.org/' description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography - (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" toolchain = {'name': 'intel', 'version': '2016a'} -- GitLab From 8dd88a2c7e9fd4d59fc3d4f405561b1725357bbd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 09:53:30 +0100 Subject: [PATCH 0407/1089] fix long line in GSL descr --- easybuild/easyconfigs/g/GSL/GSL-1.15-goalf-1.1.0-no-OFED.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.4.10.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.5.14.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-4.0.6.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-5.3.0.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2014b.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2015a.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015a.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015b.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.4.10.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.5.14.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-1.3.12.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-2.6.10.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.3.0.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.4.0.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.5.0.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-6.2.5.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2014b.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015a.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015b.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2015b.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2015b.eb | 3 ++- easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2016a.eb | 4 ++-- 24 files changed, 48 insertions(+), 25 deletions(-) diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-goalf-1.1.0-no-OFED.eb index 85ec8681aa..f4197820e5 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-goalf-1.1.0-no-OFED.eb @@ -5,7 +5,8 @@ version = '1.15' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.4.10.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.4.10.eb index 2bc7e232eb..d9295adc89 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.4.10.eb @@ -5,7 +5,8 @@ version = '1.15' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. -The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" +The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.5.14.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.5.14.eb index d19efed940..3230d895d1 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-goolf-1.5.14.eb @@ -5,7 +5,8 @@ version = '1.15' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. -The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-4.0.6.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-4.0.6.eb index 3ee18f98a2..93b875b8e7 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-4.0.6.eb @@ -5,7 +5,8 @@ version = '1.15' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'ictce', 'version': '4.0.6'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-5.3.0.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-5.3.0.eb index a0f7045209..3e17c8b5d6 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-ictce-5.3.0.eb @@ -5,7 +5,8 @@ version = '1.15' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2014b.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2014b.eb index 3d34fbf06f..9ef4e74b99 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2014b.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2014b.eb @@ -5,7 +5,8 @@ version = '1.15' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. -The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2015a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2015a.eb index 9cfba7ecd1..2c856c0c22 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.15-intel-2015a.eb @@ -5,7 +5,8 @@ version = '1.15' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015a.eb index b20d7731f8..426a5fa702 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015a.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015a.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'foss', 'version': '2015a'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015b.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015b.eb index ed67148304..681aa2648b 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2015b.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'foss', 'version': '2015b'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.4.10.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.4.10.eb index 108a2f3dc5..7481f95582 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.4.10.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. -The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.5.14.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.5.14.eb index ffcd9e4804..493418d259 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolf-1.5.14.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. -The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-1.3.12.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-1.3.12.eb index 875d7306f5..0336ef456f 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-1.3.12.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-1.3.12.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. -The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'goolfc', 'version': '1.3.12'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-2.6.10.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-2.6.10.eb index 9d9ca82812..0e558d5644 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-2.6.10.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-goolfc-2.6.10.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. -The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'goolfc', 'version': '2.6.10'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.3.0.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.3.0.eb index 7005ed5e6a..e3cf37d1e5 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.3.0.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.4.0.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.4.0.eb index 9d1699e64d..1ee8967b14 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.4.0.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.4.0.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'ictce', 'version': '5.4.0'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.5.0.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.5.0.eb index 1291647435..cc561c1cbf 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-5.5.0.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'ictce', 'version': '5.5.0'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-6.2.5.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-6.2.5.eb index 958500b4dd..e1a049a993 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-6.2.5.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-ictce-6.2.5.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'ictce', 'version': '6.2.5'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2014b.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2014b.eb index 3587bf11b9..f93fbb1090 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2014b.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2014b.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015a.eb index 79f876ac1d..207992d0eb 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015a.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015b.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015b.eb index f9f59f712b..33c068c25d 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2015b.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb index 75f289b550..aaffd974f5 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-intel-2016a.eb @@ -5,7 +5,8 @@ version = '1.16' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2015b.eb b/easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2015b.eb index 812faf4e0f..64966f0023 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2015b.eb @@ -5,7 +5,8 @@ version = "2.1" homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'version': '2015b', 'name': 'foss'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2015b.eb b/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2015b.eb index cae4fccd47..d363055a95 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2015b.eb @@ -5,7 +5,8 @@ version = '2.1' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2016a.eb b/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2016a.eb index 4184830813..6ff19555c3 100644 --- a/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GSL/GSL-2.1-intel-2016a.eb @@ -5,8 +5,8 @@ version = '2.1' homepage = 'http://www.gnu.org/software/gsl/' description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. - The library provides a wide range of mathematical routines such as random number generators, - special functions and least-squares fitting.""" + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} -- GitLab From 3fb1e69deb7b7ba5f8e980ed0c46e41a85c9b4a2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 10:04:10 +0100 Subject: [PATCH 0408/1089] use %(pyver)s --- .../r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb index fa81ad980b..59556c19fd 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb @@ -1,6 +1,6 @@ name = 'ROOT' version = 'v5.34.34' -versionsuffix = '-Python-2.7.11' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://root.cern.ch/drupal/' description = """The ROOT system provides a set of OO frameworks with all the functionality -- GitLab From cd3f12ae6a78b0d3f0b5f4c9facec4fb1509d424 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 10:05:46 +0100 Subject: [PATCH 0409/1089] $LD is set correctly in GATE easyblock, so remove from easyconfig (cfr. https://github.com/hpcugent/easybuild-easyblocks/pull/855) --- .../easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb | 2 -- .../easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb | 2 -- 2 files changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb index b1e10c6404..ddcd9aaa7c 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.1-intel-2016a-Python-2.7.11.eb @@ -27,6 +27,4 @@ builddependencies = [ ('CMake', '3.4.3'), ] -buildopts = 'LD="$CXX"' - moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb index 80a5207676..91e8c30f8c 100644 --- a/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/GATE/GATE-7.2-intel-2016a-Python-2.7.11.eb @@ -26,6 +26,4 @@ builddependencies = [ ('CMake', '3.4.3'), ] -buildopts = 'LD="$CXX"' - moduleclass = 'cae' -- GitLab From 9a96199c4192b0b8fee1479c25a43b14b630a5fd Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 4 Mar 2016 10:18:25 +0100 Subject: [PATCH 0410/1089] X libs are fixed --- .../l/libXmu/libXmu-1.1.2-intel-2016a.eb | 25 +++++++++++++++++++ .../l/libXpm/libXpm-3.5.11-intel-2016a.eb | 22 ++++++++++++++++ .../r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb | 2 ++ 3 files changed, 49 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-intel-2016a.eb b/easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-intel-2016a.eb new file mode 100644 index 0000000000..5611aadb4b --- /dev/null +++ b/easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXmu' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXmu provides a set of miscellaneous utility convenience functions for X libraries to use. + libXmuu is a lighter-weight version that does not depend on libXt or libXext""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +dependencies = [ + ('libXt', '1.1.5'), + ('libXpm', '3.5.11'), +] +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['%(name)s.a', '%%(name)s.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb new file mode 100644 index 0000000000..80b08e7922 --- /dev/null +++ b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libXpm' +version = '3.5.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXp provides the X print library.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [('gettext', '0.19.6')] + +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['libXpm.a', 'libXpm.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb index e0608b0939..61bf28051c 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb @@ -24,6 +24,8 @@ configopts += " --with-recommended-packages=no" dependencies = [ (libx11, libxver), + ('libXt', '1.1.5'), + ('libXmu', '1.1.2'), ('libreadline', '6.3'), ('ncurses', '6.0'), ('libpng', '1.6.21'), # for plotting in R -- GitLab From 8aa7badee4c785afcbf70c2cf8351efb7a0826fc Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 4 Mar 2016 10:41:31 +0100 Subject: [PATCH 0411/1089] GLib builddependency fixed (to use Python with X) --- .../easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb index a93ed50f9f..3ae73ffc00 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb @@ -15,7 +15,6 @@ source_urls = [FTPGNOME_SOURCE] sources = [SOURCELOWER_TAR_XZ] pyver = '2.7.11' -pyshortver = '.'.join(pyver.split('.')[:2]) pysuffix = '-Python-%s%s' % (pyver, versionsuffix) dependencies = [ @@ -25,7 +24,7 @@ dependencies = [ ('PCRE', '8.38'), ] -builddependencies = [('Python', pyver)] +builddependencies = [('Python', pyver, versionsuffix)] configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" -- GitLab From f95c1cd2d0e1c9758bcb8b3a8a525e06cd1056fc Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 12:25:25 +0200 Subject: [PATCH 0412/1089] add easyconfig PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb --- ...penGL-3.1.1a1-intel-2016a-Python-2.7.11.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..c284cf8453 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyOpenGL' +version = '3.1.1a1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://pyopengl.sourceforge.net' +description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('Mesa', '11.1.2'), +] + +options = {'modulename': 'OpenGL'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +moduleclass = 'vis' -- GitLab From 9d202a7e73953c2e17fb64e6476bd3b75edfe3fd Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Fri, 4 Mar 2016 11:45:49 +0100 Subject: [PATCH 0413/1089] Revert "Use directly '--with-hwloc' configopt for MVAPICH2 1.7 instead of to-be-removed 'withhwloc' from MVAPICH2 EB" This reverts commit 6db12d99703e23e76336abbe58be66dee5b71902. --- .../m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index 137b9059fe..95bd5200b6 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -16,7 +16,7 @@ source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] configopts = '--with-mpe ' # enable hwloc support -configopts += '--with-hwloc ' +withhwloc = True dependencies = [('hwloc', '1.5.1')] # enable checkpointing support -- GitLab From 43112ab3f8c4fe9e7c9cf9dce36fb392ac6fd1c3 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Fri, 4 Mar 2016 11:45:55 +0100 Subject: [PATCH 0414/1089] Revert "Use directly '--with-mpe' configopt for MVAPICH2 1.7 instead of to-be-removed 'withmpe' from MVAPICH2 EB" This reverts commit cadbf9619dacee2b0df04dc31a4712631e483c00. --- .../m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 2 +- easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index 95bd5200b6..a20b1e03f0 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -13,7 +13,7 @@ sources = [SOURCELOWER_TGZ] source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] # enable building of MPE routines -configopts = '--with-mpe ' +withmpe = True # enable hwloc support withhwloc = True diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb index 4c2eead91f..76de06e6fd 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb @@ -14,7 +14,7 @@ source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] builddependencies = [('Bison', '2.5')] # enable building of MPE routines -configopts = '--with-mpe ' +withmpe = True # parallel build tends to fail parallel = 1 -- GitLab From e6490b9b37771398ad0362f479803e695d7ffef7 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 4 Mar 2016 11:51:56 +0100 Subject: [PATCH 0415/1089] Move to intel 2016a --- .../{bbFTP-3.2.1-foss-2015b.eb => bbFTP-3.2.1-intel-2016a.eb} | 2 +- .../{Perl-5.22.0-foss-2015b.eb => Perl-5.22.1-intel-2016a.eb} | 4 ++-- .../{shift-4.0-foss-2015b.eb => shift-4.0-intel-2016a.eb} | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) rename easybuild/easyconfigs/b/bbFTP/{bbFTP-3.2.1-foss-2015b.eb => bbFTP-3.2.1-intel-2016a.eb} (96%) rename easybuild/easyconfigs/p/Perl/{Perl-5.22.0-foss-2015b.eb => Perl-5.22.1-intel-2016a.eb} (99%) rename easybuild/easyconfigs/s/shift/{shift-4.0-foss-2015b.eb => shift-4.0-intel-2016a.eb} (90%) diff --git a/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-foss-2015b.eb b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-intel-2016a.eb similarity index 96% rename from easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-foss-2015b.eb rename to easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-intel-2016a.eb index ec80570d1a..3c955962eb 100644 --- a/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-foss-2015b.eb +++ b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-intel-2016a.eb @@ -21,7 +21,7 @@ description = """bbFTP is a file transfer software. It implements its own transf * Automatic retry * Customizable time-outs * Transfer simulation * AFS authentication integration * RFIO interface""" -toolchain = {'name': 'foss', 'version': '2015b'} +toolchain = {'name': 'intel', 'version': '2016a'} # fi. http://doc.in2p3.fr/bbftp/dist/bbftp-client-3.2.0.tar.gz sources = ['%s-client-%s.tar.gz' % (name.lower(), version)] diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.0-foss-2015b.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb similarity index 99% rename from easybuild/easyconfigs/p/Perl/Perl-5.22.0-foss-2015b.eb rename to easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb index 37c67413c1..b46dec87b6 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.0-foss-2015b.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb @@ -1,10 +1,10 @@ name = 'Perl' -version = '5.22.0' +version = '5.22.1' homepage = 'http://www.perl.org/' description = """Larry Wall's Practical Extraction and Report Language""" -toolchain = {'name': 'foss', 'version': '2015b'} +toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://www.cpan.org/src/5.0'] diff --git a/easybuild/easyconfigs/s/shift/shift-4.0-foss-2015b.eb b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb similarity index 90% rename from easybuild/easyconfigs/s/shift/shift-4.0-foss-2015b.eb rename to easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb index 7adef50aac..24ac3912b7 100644 --- a/easybuild/easyconfigs/s/shift/shift-4.0-foss-2015b.eb +++ b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb @@ -9,13 +9,13 @@ Shift is a framework for Self-Healing Independent File Transfer that provides hi performance and resilience for local and remote transfers through a variety of techniques. """ -toolchain = {'name': 'foss', 'version': '2015b'} +toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TGZ] source_urls = [('http://sourceforge.net/projects/shiftc/files', 'download')] dependencies = [ - ('Perl', '5.22.0'), + ('Perl', '5.22.1'), ('bbFTP', '3.2.1'), ] -- GitLab From 7ab9d464e410a7361524941d15fdc07645908474 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 4 Mar 2016 12:32:27 +0100 Subject: [PATCH 0416/1089] Update gnutls to intel/2016a --- .../g/gnutls/gnutls-3.3.21-intel-2016a.eb | 40 +++++++++++++++++++ .../g/guile/guile-1.8.8-intel-2016a.eb | 32 +++++++++++++++ .../l/libidn/libidn-1.32-intel-2016a.eb | 19 +++++++++ .../l/libtasn1/libtasn1-4.7-intel-2016a.eb | 22 ++++++++++ .../libunistring-0.9.3-intel-2016a.eb | 24 +++++++++++ .../n/nettle/nettle-3.1.1-intel-2016a.eb | 28 +++++++++++++ .../p/p11-kit/p11-kit-0.23.2-intel-2016a.eb | 29 ++++++++++++++ 7 files changed, 194 insertions(+) create mode 100644 easybuild/easyconfigs/g/gnutls/gnutls-3.3.21-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/guile/guile-1.8.8-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libidn/libidn-1.32-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libunistring/libunistring-0.9.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/n/nettle/nettle-3.1.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/gnutls/gnutls-3.3.21-intel-2016a.eb b/easybuild/easyconfigs/g/gnutls/gnutls-3.3.21-intel-2016a.eb new file mode 100644 index 0000000000..62fd6a4ca6 --- /dev/null +++ b/easybuild/easyconfigs/g/gnutls/gnutls-3.3.21-intel-2016a.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'gnutls' +version = '3.3.21' + +homepage = 'http://www.gnutls.org/' +description = """GnuTLS is a secure communications library implementing the SSL, TLS + and DTLS protocols and technologies around them. It provides a simple + C language application programming interface (API) to access the secure + communications protocols as well as APIs to parse and write X.509, PKCS #12, + OpenPGP and other required structures. It is aimed to be portable + and efficient with focus on security and interoperability.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['ftp://ftp.gnutls.org/gcrypt/gnutls/v%(version_major_minor)s'] +sources = [SOURCE_TAR_XZ] + +guilever = '1.8.8' +guileshortver = '.'.join(guilever.split('.')[:2]) +dependencies = [ + ('GMP', '6.1.0'), + ('nettle', '3.1.1'), + ('guile', guilever), + ('libtasn1', '4.7'), + ('libidn', '1.32'), + ('p11-kit', '0.23.2'), +] + +configopts = "--with-guile-site-dir=$EBROOTGUILE --enable-openssl-compatibility " + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['certtool', 'crywrap', 'gnutls-cli', 'gnutls-cli-debug', + 'gnutls-serv', 'ocsptool', 'psktool', 'srptool']] + + ['lib/libgnutls%s' % x for x in ['.%s' % SHLIB_EXT, 'xx.%s' % SHLIB_EXT, '-openssl.%s' % SHLIB_EXT]] + + ['lib/guile/%s/guile-gnutls-v-2.so' % guileshortver], + 'dirs': ['include/gnutls'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/g/guile/guile-1.8.8-intel-2016a.eb b/easybuild/easyconfigs/g/guile/guile-1.8.8-intel-2016a.eb new file mode 100644 index 0000000000..a7e7520df8 --- /dev/null +++ b/easybuild/easyconfigs/g/guile/guile-1.8.8-intel-2016a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'guile' +version = '1.8.8' + +homepage = 'http://www.gnu.org/software/guile' +description = """Guile is the GNU Ubiquitous Intelligent Language for Extensions, + the official extension language for the GNU operating system.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [ + ('libtool', '2.4.6'), + ('GMP', '6.1.0'), + ('libunistring', '0.9.3'), + ('pkg-config', '0.29'), + ('libffi', '3.2.1'), + ('libreadline', '6.3'), +] + +configopts = " --enable-error-on-warning=no" + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["guile", 'guile-config', 'guile-snarf', 'guile-tools']] + + ["lib/libguile.a", "include/libguile.h"], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libidn/libidn-1.32-intel-2016a.eb b/easybuild/easyconfigs/l/libidn/libidn-1.32-intel-2016a.eb new file mode 100644 index 0000000000..92af944d43 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn/libidn-1.32-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'libidn' +version = '1.32' + +homepage = 'http://www.gnu.org/software/libidn' +description = """GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. +Libidn's purpose is to encode and decode internationalized domain names.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb new file mode 100644 index 0000000000..f8867d1ca7 --- /dev/null +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libtasn1' +version = '4.7' + +homepage = 'https://www.gnu.org/software/libtasn1/' +description = """Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and some other packages. + It was written by Fabio Fiorina, and has been shipped as part of GnuTLS + for some time but is now a proper GNU package.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + + ['lib/libtasn1.%s' % x for x in ['a', 'so', 'so.6']], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunistring/libunistring-0.9.3-intel-2016a.eb b/easybuild/easyconfigs/l/libunistring/libunistring-0.9.3-intel-2016a.eb new file mode 100644 index 0000000000..8b6d4e58c5 --- /dev/null +++ b/easybuild/easyconfigs/l/libunistring/libunistring-0.9.3-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libunistring' +version = '0.9.3' + +homepage = 'http://www.gnu.org/software/libunistring/' +description = """This library provides functions for manipulating Unicode strings and for manipulating C strings + according to the Unicode standard.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libunistring.a', 'lib/libunistring.%s' % SHLIB_EXT] + + ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm', + 'stdio', 'str', 'types', 'wbrk', 'width']], + 'dirs': ['include/unistring'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nettle/nettle-3.1.1-intel-2016a.eb b/easybuild/easyconfigs/n/nettle/nettle-3.1.1-intel-2016a.eb new file mode 100644 index 0000000000..c725853009 --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.1.1-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.1.1' + +homepage = 'http://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('GMP', '6.1.0'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + ['lib64/libhogweed.a', 'lib64/libhogweed.%s' % SHLIB_EXT, + 'lib64/libnettle.a', 'lib64/libnettle.%s' % SHLIB_EXT], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb new file mode 100644 index 0000000000..671c3febaa --- /dev/null +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'p11-kit' +version = '0.23.2' + +homepage = 'http://p11-glue.freedesktop.org/p11-kit.html' +description = """Provides a way to load and enumerate PKCS#11 modules. + Provides a standard configuration setup for installing + PKCS#11 modules in such a way that they're discoverable. + Also solves problems with coordinating the use of PKCS#11 + by different components or libraries living in the same process.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://p11-glue.freedesktop.org/releases/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('libtasn1', '4.7'), + ('libffi', '3.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/p11-kit', 'bin/trust'] + + ['lib/libp11-kit.%s' % x for x in ['so', 'so.0']], + 'dirs': ['include/p11-kit-1/p11-kit'], +} + +moduleclass = 'lib' -- GitLab From 326e6c8c0d65c30d79250a00556c5b51df9475ec Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 4 Mar 2016 13:00:20 +0100 Subject: [PATCH 0417/1089] Add libgcrypt and libgpg-error --- .../libgcrypt/libgcrypt-1.6.5-intel-2016a.eb | 21 +++++++++++++++++++ .../libgpg-error-1.21-intel-2016a.eb | 19 +++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.21-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb new file mode 100644 index 0000000000..9c3e1eaa05 --- /dev/null +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'libgcrypt' +version = '1.6.5' + +homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_BZ2] +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] + +dependencies = [('libgpg-error', '1.21')] + +sanity_check_paths = { + 'files': ['bin/libgcrypt-config', 'include/gcrypt.h', 'lib/libgcrypt.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.21-intel-2016a.eb b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.21-intel-2016a.eb new file mode 100644 index 0000000000..a3d7d6c682 --- /dev/null +++ b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.21-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'libgpg-error' +version = '1.21' + +homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_BZ2] +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] + +sanity_check_paths = { + 'files': ['bin/gpg-error-config', 'include/gpg-error.h', 'lib/libgpg-error.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' -- GitLab From 3fef96ccf2febe599e601a0a131bbeeecb84b267 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 4 Mar 2016 13:13:27 +0100 Subject: [PATCH 0418/1089] Fix remarks --- easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb | 2 +- easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb index f8867d1ca7..273a3cb53b 100644 --- a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb @@ -15,7 +15,7 @@ sources = [SOURCE_TAR_GZ] sanity_check_paths = { 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + - ['lib/libtasn1.%s' % x for x in ['a', 'so', 'so.6']], + ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT], 'dirs': ['include'], } diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb index 671c3febaa..d945ad10e0 100644 --- a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.23.2-intel-2016a.eb @@ -22,7 +22,7 @@ dependencies = [ sanity_check_paths = { 'files': ['bin/p11-kit', 'bin/trust'] + - ['lib/libp11-kit.%s' % x for x in ['so', 'so.0']], + ['lib/libp11-kit.%s' % SHLIB_EXT], 'dirs': ['include/p11-kit-1/p11-kit'], } -- GitLab From 1970b762c7f3291281d22cbd47bbf53259c4fed3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 13:27:53 +0100 Subject: [PATCH 0419/1089] add missing dependencies for cairo, fix build vs runtime deps in X11 libs --- easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb | 3 +++ easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb | 2 +- .../easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb | 2 +- 6 files changed, 8 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb index 0a62de36aa..3b52cb336a 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb @@ -24,6 +24,9 @@ dependencies = [ ('fontconfig', '2.11.94'), ('expat', '2.1.0'), ('GLib', glibver), + ('libxcb', '1.11.1'), + ('libXrender', '0.9.9'), + ('libXext', '1.3.3'), ] # disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb index 5df5e13e43..e4f9296663 100644 --- a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb @@ -17,12 +17,12 @@ builddependencies = [ ('inputproto', '2.3.1'), ('xproto', '7.0.28'), ('libpthread-stubs', '0.3'), - ('kbproto', '1.0.7'), ('xtrans', '1.3.5'), ] dependencies = [ ('libxcb', '1.11.1'), + ('kbproto', '1.0.7'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb index 243dbd6f22..f18fd04337 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb @@ -13,7 +13,7 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] -builddependencies = [ +dependencies = [ ('xproto', '7.0.28'), ] diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb index 3e89327b58..44f12d56c2 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb @@ -14,11 +14,11 @@ source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] builddependencies = [ ('xproto', '7.0.28'), - ('xextproto', '7.3.0'), ] dependencies = [ ('libX11', '1.6.3'), + ('xextproto', '7.3.0'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb index fefc99f4eb..74f683ec01 100644 --- a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb @@ -13,11 +13,11 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('kbproto', '1.0.7'), - ('renderproto', '0.11'), ] dependencies = [ ('libX11', '1.6.3'), + ('renderproto', '0.11'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb index 098e8569bb..db46240f22 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -15,11 +15,11 @@ sources = [SOURCELOWER_TAR_GZ] builddependencies = [ ('xcb-proto', '1.11', '', True), ('xproto', '7.0.28'), - ('libpthread-stubs', '0.3'), ] dependencies = [ ('libXau', '1.0.8'), ('libXdmcp', '1.1.2'), + ('libpthread-stubs', '0.3'), ] sanity_check_paths = { -- GitLab From f5c8261c454f335bdcd61395e780a4d33bfa3e76 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 4 Mar 2016 13:30:42 +0100 Subject: [PATCH 0420/1089] Fix url for libgcrypt --- .../easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb index 9c3e1eaa05..437c5cc9a2 100644 --- a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.6.5-intel-2016a.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'libgcrypt' version = '1.6.5' -homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +homepage = 'https://gnupg.org/related_software/libgcrypt/index.html' description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" toolchain = {'name': 'intel', 'version': '2016a'} -- GitLab From 05d9c8be573e9dbb3c6d2bc59397c43d5dc25ac2 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 4 Mar 2016 13:31:10 +0100 Subject: [PATCH 0421/1089] Fix typo --- easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb index 273a3cb53b..4bb22e3a8f 100644 --- a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.7-intel-2016a.eb @@ -15,7 +15,7 @@ sources = [SOURCE_TAR_GZ] sanity_check_paths = { 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + - ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT], + ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT]], 'dirs': ['include'], } -- GitLab From 2f9e2de8866be0f3782c767e374db93191301d2c Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 4 Mar 2016 13:44:19 +0100 Subject: [PATCH 0422/1089] Add mutil --- .../m/mutil/mutil-1.822.3-intel-2016a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb new file mode 100644 index 0000000000..a12dea39eb --- /dev/null +++ b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb @@ -0,0 +1,32 @@ +name = 'mutil' +version = '1.822.3' + +homepage = 'http://people.nas.nasa.gov/~kolano/projects/mutil.html' +description = """Mutil is a set of standard utilities that have been parallelized to maximize performance on +modern file systems. These currently include multi-threaded drop-in replacements for cp and md5sum from +GNU coreutils, which have achieved 10/30x rates on one/many nodes. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [ + "coreutils-8.22.tar.xz", + SOURCE_TGZ, +] +source_urls = [ + ('http://sourceforge.net/projects/mutil/files', 'download'), + GNU_SOURCE, +] + +dependencies = [ + ('gnutls', '3.3.21'), + ('libgpg-error', '1.21'), + ('libgcrypt', '1.6.5'), +] + +sanity_check_paths = { + 'files': ['bin/cp', 'bin/md5sum'], + 'dirs': ['man/man1'] +} + +moduleclass = 'tools' -- GitLab From a2eea3f20f47dcaad498d6bfb8b108880aac6499 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 14:13:16 +0100 Subject: [PATCH 0423/1089] don't include proto header libs as runtime deps --- easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb | 2 +- .../easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb index e4f9296663..5df5e13e43 100644 --- a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-intel-2016a.eb @@ -17,12 +17,12 @@ builddependencies = [ ('inputproto', '2.3.1'), ('xproto', '7.0.28'), ('libpthread-stubs', '0.3'), + ('kbproto', '1.0.7'), ('xtrans', '1.3.5'), ] dependencies = [ ('libxcb', '1.11.1'), - ('kbproto', '1.0.7'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb index f18fd04337..243dbd6f22 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb @@ -13,7 +13,7 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] -dependencies = [ +builddependencies = [ ('xproto', '7.0.28'), ] diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb index 44f12d56c2..3e89327b58 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb @@ -14,11 +14,11 @@ source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] builddependencies = [ ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), ] dependencies = [ ('libX11', '1.6.3'), - ('xextproto', '7.3.0'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb index 74f683ec01..fefc99f4eb 100644 --- a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-intel-2016a.eb @@ -13,11 +13,11 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('kbproto', '1.0.7'), + ('renderproto', '0.11'), ] dependencies = [ ('libX11', '1.6.3'), - ('renderproto', '0.11'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb index db46240f22..098e8569bb 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-intel-2016a.eb @@ -15,11 +15,11 @@ sources = [SOURCELOWER_TAR_GZ] builddependencies = [ ('xcb-proto', '1.11', '', True), ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), ] dependencies = [ ('libXau', '1.0.8'), ('libXdmcp', '1.1.2'), - ('libpthread-stubs', '0.3'), ] sanity_check_paths = { -- GitLab From b55cd2298377b5c8cb875d267f9b718a9aacd97c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 14:20:17 +0100 Subject: [PATCH 0424/1089] add libX11 as explicit dep to cairo --- easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb index 3b52cb336a..ef5f023e09 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb @@ -24,6 +24,7 @@ dependencies = [ ('fontconfig', '2.11.94'), ('expat', '2.1.0'), ('GLib', glibver), + ('libX11', '1.6.3'), ('libxcb', '1.11.1'), ('libXrender', '0.9.9'), ('libXext', '1.3.3'), -- GitLab From 57fc835c13032f86b54d80a0cdb798ed175b88cb Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 14:26:22 +0100 Subject: [PATCH 0425/1089] add renderproto as build dep for cairo --- easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb index ef5f023e09..2966a85fa7 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb @@ -29,6 +29,9 @@ dependencies = [ ('libXrender', '0.9.9'), ('libXext', '1.3.3'), ] +builddependencies = [ + ('renderproto', '0.11'), +] # disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes " -- GitLab From beb89b7c4232ffbe815a690432620a1f0196fab4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 15:29:19 +0200 Subject: [PATCH 0426/1089] add easyconfig Glade-3.8.5-intel-2016a-Python-2.7.11.eb, add easyconfig intltool-0.51.0-intel-2016a.eb, add easyconfig XML-Parser-2.41-intel-2016a-Perl-5.20.3.eb --- .../Glade-3.8.5-intel-2016a-Python-2.7.11.eb | 40 +++++++++++++++++++ .../i/intltool/intltool-0.51.0-intel-2016a.eb | 24 +++++++++++ ...XML-Parser-2.41-intel-2016a-Perl-5.20.3.eb | 27 +++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.41-intel-2016a-Perl-5.20.3.eb diff --git a/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..a592f1d91d --- /dev/null +++ b/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Glade' +version = '3.8.5' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://glade.gnome.org/' +description = """Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit + and the GNOME desktop environment.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(namelower)s%(version_major)s/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version_major)s-%(version)s.tar.xz'] + +dependencies = [ + ('Python', '2.7.11'), + ('GTK+', '2.24.28'), + ('PyGTK', '2.24.0', versionsuffix), + ('gettext', '0.19.6'), + ('libxml2', '2.9.3', versionsuffix), +] +builddependencies = [ + ('intltool', '0.51.0'), + ('pkg-config', '0.29'), + ('libpthread-stubs', '0.3'), + ('kbproto', '1.0.7'), + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), + ('renderproto', '0.11'), +] + +sanity_check_paths = { + 'files': ['bin/glade-%(version_major)s', 'lib/libgladeui-1.%s' % SHLIB_EXT, 'lib/pkgconfig/gladeui-1.0.pc', + 'lib/glade%%(version_major)s/modules/libgladegtk.%s' % SHLIB_EXT, + 'lib/glade%%(version_major)s/modules/libgladepython.%s' % SHLIB_EXT], + 'dirs': ['include/libgladeui-1.0/gladeui', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a.eb new file mode 100644 index 0000000000..1b3568a509 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'http://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('XML-Parser', '2.41', '-Perl-5.20.3'), +] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.41-intel-2016a-Perl-5.20.3.eb b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.41-intel-2016a-Perl-5.20.3.eb new file mode 100644 index 0000000000..2ef054ad23 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.41-intel-2016a-Perl-5.20.3.eb @@ -0,0 +1,27 @@ +easyblock = 'PerlModule' + +name = 'XML-Parser' +version = '2.41' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://search.cpan.org/~toddr/XML-Parser-2.41/' +description = """This is a Perl extension interface to James Clark's XML parser, expat.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://cpan.metacpan.org/authors/id/T/TO/TODDR/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Perl', '5.20.3'), + ('expat', '2.1.0') +] + +options = {'modulename': 'XML::Parser'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/XML'], +} + +moduleclass = 'data' -- GitLab From 7a43b7c24a4b2f3f87f7117241bf461282856f30 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 14:37:11 +0100 Subject: [PATCH 0427/1089] add PyOpenGL and Glade as deps for p4vasp --- .../p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb index 7903d62ba9..699eafed53 100644 --- a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb @@ -2,7 +2,7 @@ easyblock = 'ConfigureMake' name = 'p4vasp' version = '0.3.29' -versionsuffix = '-Python-2.7.11' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.p4vasp.at/' description = """Visualization suite for VASP""" @@ -13,7 +13,10 @@ toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TGZ] dependencies = [ + ('Python', '2.7.11'), ('PyGTK', '2.24.0', versionsuffix), + ('PyOpenGL', '3.1.1a1', versionsuffix), + ('Glade', '3.8.5', versionsuffix), ] skipsteps = ['configure', 'build'] -- GitLab From ae86fbb5e227b6c05b1baf7181a756d9086d19bf Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 15:18:26 +0100 Subject: [PATCH 0428/1089] GLib doesn't require libxml2 with Python bindings --- easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a.eb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a.eb index 3dcfe3ad19..2b30216f8c 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a.eb @@ -12,18 +12,14 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = [FTPGNOME_SOURCE] sources = [SOURCELOWER_TAR_XZ] -pyver = '2.7.11' -pyshortver = '.'.join(pyver.split('.')[:2]) -pysuffix = '-Python-%s' % pyver - dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.6'), - ('libxml2', '2.9.3', pysuffix), + ('libxml2', '2.9.3'), ('PCRE', '8.38'), ] -builddependencies = [('Python', pyver)] +builddependencies = [('Python', '2.7.11')] configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" -- GitLab From 0edfa0e1c01e00e4762a690993d689938c83b956 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 15:42:33 +0100 Subject: [PATCH 0429/1089] add patch file to imkl 10.2.6.038 32-bit easyconfig to fix installer not being able to deal with -- in build path] --- .../easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb | 2 ++ .../imkl-10.2.6.038_fix-install-double-dash.patch | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 easybuild/easyconfigs/i/imkl/imkl-10.2.6.038_fix-install-double-dash.patch diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb index 2312f4b388..39b3d7cf7b 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038-32bit.eb @@ -12,6 +12,8 @@ toolchain = {'name': 'dummy', 'version': ''} sources = ['l_mkl_p_%(version)s.tar.gz'] +patches = ['imkl-%(version)s_fix-install-double-dash.patch'] + dontcreateinstalldir = 'True' # deps for interface build diff --git a/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038_fix-install-double-dash.patch b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038_fix-install-double-dash.patch new file mode 100644 index 0000000000..929b9c7069 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-10.2.6.038_fix-install-double-dash.patch @@ -0,0 +1,14 @@ +fix regex that doesn't handle directory names with a double dash (--) in them correctly +this fix is specific to using '-32bit' as versionsuffix +author: Kenneth Hoste (HPC-UGent) +--- l_mkl_p_10.2.6.038/pset/install.sh.orig 2016-03-04 15:28:03.092055076 +0100 ++++ l_mkl_p_10.2.6.038/pset/install.sh 2016-03-04 15:27:44.071603046 +0100 +@@ -1281,7 +1281,7 @@ + + [ $err -eq ${ERR_OK} ] || return 1 + +- RS=$(echo $CMD_STR | sed s/.*--$cmd[[:blank:]]*//g | sed 's/[[:blank:]]*--.*$//g') ++ RS=$(echo $CMD_STR | sed s/.*--$cmd[[:blank:]]*//g | sed 's/[[:blank:]]*--[^3].*$//g') + [[ -z "$RS" ]] && return 1 + echo $RS + -- GitLab From a2943853e4799c2fb32b8a40e17638533ca5fffe Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 16:49:04 +0200 Subject: [PATCH 0430/1089] use libxml2 without Python bindings as dep in Glade easyconfig --- .../g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb index a592f1d91d..a60c5a250c 100644 --- a/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb @@ -18,7 +18,7 @@ dependencies = [ ('GTK+', '2.24.28'), ('PyGTK', '2.24.0', versionsuffix), ('gettext', '0.19.6'), - ('libxml2', '2.9.3', versionsuffix), + ('libxml2', '2.9.3'), ] builddependencies = [ ('intltool', '0.51.0'), -- GitLab From 2b7f0e2f3e1875274240bd090d4c7c82ec66b532 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 15:55:58 +0100 Subject: [PATCH 0431/1089] add -Perl-5.20.3 to versionsuffix for intltool --- .../g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb | 2 +- ...el-2016a.eb => intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb} | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/i/intltool/{intltool-0.51.0-intel-2016a.eb => intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb} (89%) diff --git a/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb index a60c5a250c..7b4701d28d 100644 --- a/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/g/Glade/Glade-3.8.5-intel-2016a-Python-2.7.11.eb @@ -21,7 +21,7 @@ dependencies = [ ('libxml2', '2.9.3'), ] builddependencies = [ - ('intltool', '0.51.0'), + ('intltool', '0.51.0', '-Perl-5.20.3'), ('pkg-config', '0.29'), ('libpthread-stubs', '0.3'), ('kbproto', '1.0.7'), diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb similarity index 89% rename from easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a.eb rename to easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb index 1b3568a509..8fd4cb48f8 100644 --- a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a.eb +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb @@ -2,6 +2,7 @@ easyblock = 'ConfigureMake' name = 'intltool' version = '0.51.0' +versionsuffix = '-Perl-5.20.3' homepage = 'http://freedesktop.org/wiki/Software/intltool/' description = """intltool is a set of tools to centralize translation of @@ -13,7 +14,7 @@ source_urls = ['http://launchpad.net/intltool/trunk/%(version)s/+download/'] sources = [SOURCE_TAR_GZ] dependencies = [ - ('XML-Parser', '2.41', '-Perl-5.20.3'), + ('XML-Parser', '2.41', versionsuffix), ] sanity_check_paths = { -- GitLab From 45f1afd8d292d62ec5d0951d53f19d75599cc881 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 16:35:34 +0100 Subject: [PATCH 0432/1089] add libglade as dependency for PyGTK --- .../l/libglade/libglade-2.6.4-intel-2016a.eb | 27 +++++++++++++++++++ .../PyGTK-2.24.0-intel-2016a-Python-2.7.11.eb | 6 ++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/l/libglade/libglade-2.6.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libglade/libglade-2.6.4-intel-2016a.eb b/easybuild/easyconfigs/l/libglade/libglade-2.6.4-intel-2016a.eb new file mode 100644 index 0000000000..479f939d5a --- /dev/null +++ b/easybuild/easyconfigs/l/libglade/libglade-2.6.4-intel-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libglade' +version = '2.6.4' + +homepage = 'https://developer.gnome.org/libglade/' +description = """Libglade is a library for constructing user interfaces dynamically from XML descriptions.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/libglade/%(version_major_minor)s'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('ATK', '2.18.0'), + ('GTK+', '2.24.28'), + ('GLib', '2.47.5'), + ('libxml2', '2.9.3'), +] + +sanity_check_paths = { + 'files': ['bin/libglade-convert', 'lib/libglade-2.0.a', 'lib/libglade-2.0.%s' % SHLIB_EXT, + 'lib/pkgconfig/libglade-2.0.pc'], + 'dirs': ['include/libglade-2.0/glade', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2016a-Python-2.7.11.eb index d470f598fa..3e012eb7c3 100644 --- a/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PyGTK/PyGTK-2.24.0-intel-2016a-Python-2.7.11.eb @@ -24,6 +24,7 @@ dependencies = [ ('GTK+', '2.24.28'), ('ATK', '2.18.0'), ('PyCairo', '1.10.0', versionsuffix), + ('libglade', '2.6.4'), ] postinstallcmds = [ @@ -45,6 +46,9 @@ sanity_check_paths = { 'dirs': ['lib/pygtk'], } -sanity_check_commands = [('python', "-c 'import gtk'")] +sanity_check_commands = [ + ('python', "-c 'import gtk'"), + ('python', "-c 'import gtk.glade'"), +] moduleclass = 'vis' -- GitLab From c58caeb36055f219eb3e75840916513277fe7702 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 17:24:59 +0100 Subject: [PATCH 0433/1089] PyOpenGL doesn't need usempi... thx @ocaisa --- .../p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb index c284cf8453..cd4aac12db 100644 --- a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.1a1-intel-2016a-Python-2.7.11.eb @@ -8,7 +8,6 @@ homepage = 'http://pyopengl.sourceforge.net' description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'usempi': True} source_urls = [PYPI_SOURCE] sources = [SOURCE_TAR_GZ] -- GitLab From c60e315399ea6e25ac118a06baaa654910b1721f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 17:25:28 +0100 Subject: [PATCH 0434/1089] fix $PYTHONPATH for PyGObject, make sure 'import gio' works --- ...Object-2.28.6-intel-2016a-Python-2.7.11.eb | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2016a-Python-2.7.11.eb index 3291d71bff..2098c7c9b3 100644 --- a/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-2.28.6-intel-2016a-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'ConfigureMake' name = 'PyGObject' version = '2.28.6' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.pygtk.org/' description = """Python Bindings for GLib/GObject/GIO/GTK+""" @@ -15,11 +16,10 @@ patches = ['PyGObject-%(version)s_enum-types.patch'] pyver = '2.7.11' pyshortver = '.'.join(pyver.split('.')[:2]) -versionsuffix = '-Python-%s' % pyver glibver = '2.47.5' dependencies = [ - ('Python', pyver), + ('Python', '2.7.11'), ('GLib', glibver), ('GObject-Introspection', '1.47.1'), ('PyCairo', '1.10.0', versionsuffix), @@ -28,13 +28,24 @@ dependencies = [ configopts = "--disable-introspection" modextrapaths = { - 'PYTHONPATH': ['lib/python%s/site-packages' % pyshortver, 'lib64/python%s/site-packages' % pyshortver], + 'PYTHONPATH': [ + 'lib/python%(pyshortver)s/site-packages', + 'lib/python%(pyshortver)s/site-packages/gtk-2.0', + 'lib64/python%(pyshortver)s/site-packages', + 'lib64/python%(pyshortver)s/site-packages/gtk-2.0', + ], } sanity_check_paths = { 'files': ['include/pygtk-%(version_major)s.0/pyglib.h', 'include/pygtk-%(version_major)s.0/pygobject.h', 'lib/libpyglib-%(version_major)s.0-python.so'], - 'dirs': ['bin', 'lib/python%s/site-packages/' % pyshortver], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/'], } +sanity_check_commands = [ + ('python', "-c 'import gobject'"), + ('python', "-c 'import glib'"), + ('python', "-c 'import gio'"), +] + moduleclass = 'vis' -- GitLab From c0cfc0015d2ac1f35ed8d593fa2883dad927f97f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 17:30:26 +0100 Subject: [PATCH 0435/1089] fix filename for intltool easyconfig --- ...ntltool-0.51.0-intel-2016ab-Perl-5.20.3.eb | 25 ------------------- 1 file changed, 25 deletions(-) delete mode 100644 easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb deleted file mode 100644 index 8fd4cb48f8..0000000000 --- a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016ab-Perl-5.20.3.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'intltool' -version = '0.51.0' -versionsuffix = '-Perl-5.20.3' - -homepage = 'http://freedesktop.org/wiki/Software/intltool/' -description = """intltool is a set of tools to centralize translation of - many different file formats using GNU gettext-compatible PO files.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://launchpad.net/intltool/trunk/%(version)s/+download/'] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('XML-Parser', '2.41', versionsuffix), -] - -sanity_check_paths = { - 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], - 'dirs': [] -} - -moduleclass = 'devel' -- GitLab From ee82bbaf6b5c4ea6f4f1b64fb641f5ee62058e2f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 17:49:47 +0100 Subject: [PATCH 0436/1089] add back intltool easyconfig --- ...intltool-0.51.0-intel-2016a-Perl-5.20.3.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.20.3.eb diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.20.3.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.20.3.eb new file mode 100644 index 0000000000..8fd4cb48f8 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.20.3.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' +versionsuffix = '-Perl-5.20.3' + +homepage = 'http://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('XML-Parser', '2.41', versionsuffix), +] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 1e71cfadbe1f76240557d31d81ba34b2d30ed971 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 4 Mar 2016 18:28:30 +0100 Subject: [PATCH 0437/1089] {geo}[intel/2016a] rgeos 0.3-17 w/ R 3.2.3 --- .../GEOS-3.5.0-intel-2016a-Python-2.7.11.eb | 28 +++++++++++++++++++ .../rgeos/rgeos-0.3-17-intel-2016a-R-3.2.3.eb | 26 +++++++++++++++++ .../SWIG-3.0.8-intel-2016a-Python-2.7.11.eb | 20 +++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/r/rgeos/rgeos-0.3-17-intel-2016a-R-3.2.3.eb create mode 100644 easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..b8bf09f57e --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.5.0-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.5.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] + +dependencies = [('Python', '2.7.11')] + +builddependencies = [('SWIG', '3.0.8', versionsuffix)] + +configopts = '--enable-python' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/geos'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rgeos/rgeos-0.3-17-intel-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/rgeos/rgeos-0.3-17-intel-2016a-R-3.2.3.eb new file mode 100644 index 0000000000..de838e34c0 --- /dev/null +++ b/easybuild/easyconfigs/r/rgeos/rgeos-0.3-17-intel-2016a-R-3.2.3.eb @@ -0,0 +1,26 @@ +easyblock = 'RPackage' + +name = 'rgeos' +version = '0.3-17' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rgeos/' +description = """R interface to Geometry Engine - Open Source (GEOS) using the C API for topology operations + on geometries""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://cran.r-project.org/src/contrib/'] +sources = ['%(name)s_%(version)s.tar.gz'] + +dependencies = [ + ('R', '3.2.3'), + ('GEOS', '3.5.0', '-Python-2.7.11'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..43296c33fb --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,20 @@ +name = 'SWIG' +version = '3.0.8' +versionsuffix = '-Python-2.7.11' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('PCRE', '8.38'), +] + +moduleclass = 'devel' -- GitLab From 16dfb07be9d450b2658fdee641b29c0657aeae2f Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 4 Mar 2016 19:50:01 +0100 Subject: [PATCH 0438/1089] Glib libxml2 dep without Python --- .../cairo-1.14.6-intel-2016a-libX11-1.6.3.eb | 56 ------------------- .../GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb | 30 ---------- .../GLib-2.47.5-intel-2016a-libX11-1.6.3.eb | 38 ------------- ...-intel-2016a-Python-2.7.11-libX11-1.6.3.eb | 29 ---------- .../r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb | 6 +- 5 files changed, 3 insertions(+), 156 deletions(-) delete mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb delete mode 100644 easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb delete mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb delete mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb deleted file mode 100644 index 6db4212fb3..0000000000 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-libX11-1.6.3.eb +++ /dev/null @@ -1,56 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'cairo' -version = '1.14.6' - -libx11 = 'libX11' -libxver = '1.6.3' -versionsuffix = '-%s-%s' % (libx11, libxver) - -homepage = 'http://cairographics.org' -description = """Cairo is a 2D graphics library with support for multiple output devices. - Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, - PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://cairographics.org/releases/'] -sources = [SOURCE_TAR_XZ] - -glibver = '2.47.5' - -builddependencies = [ - ('renderproto', '0.11'), -] - -dependencies = [ - (libx11, libxver), - ('libXrender', '0.9.9'), - ('libdrm', '2.4.67'), - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libpng', '1.6.21'), - ('freetype', '2.6.2'), - ('pixman', '0.34.0'), - ('fontconfig', '2.11.94'), - ('expat', '2.1.0'), - ('GLib', glibver, versionsuffix), -] - -# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC -configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes " - -# workaround for "hidden symbol .* in .* is referenced by DSO" and "ld: final link failed: Bad value" -buildopts = 'LD="$CC" LDFLAGS="$LDFLAGS -shared-intel"' - -sanity_check_paths = { - 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', - 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', - 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + - ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', - '-script', '-script-interpreter', '-svg', '-version', '-xcb', - '-xlib', '-xlib-xrender']], - 'dirs': ['lib/pkgconfig'], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb deleted file mode 100644 index 78e94ccbb6..0000000000 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-intel-2016a-libX11-1.6.3.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'GDAL' -version = '2.0.2' -versionsuffix = '-libX11-1.6.3' - -homepage = 'http://www.gdal.org/' -description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style - Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model - to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for - data translation and processing.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://download.osgeo.org/gdal/%(version)s/'] -sources = [SOURCELOWER_TAR_XZ] - -dependencies = [ - ('netCDF', '4.3.3.1'), - ('expat', '2.1.0'), - ('libxml2', '2.9.3', '-Python-2.7.11%s' % versionsuffix), - ('zlib', '1.2.8'), -] - -sanity_check_paths = { - 'files': ['lib/libgdal.%s' % SHLIB_EXT, 'lib/libgdal.a'], - 'dirs': ['bin', 'include'] -} - -moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb deleted file mode 100644 index 3ae73ffc00..0000000000 --- a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-intel-2016a-libX11-1.6.3.eb +++ /dev/null @@ -1,38 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'GLib' -version = '2.47.5' - -versionsuffix = '-libX11-1.6.3' - -homepage = 'http://www.gtk.org/' -description = """GLib is one of the base libraries of the GTK+ project""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'optarch': True, 'pic': True} - -source_urls = [FTPGNOME_SOURCE] -sources = [SOURCELOWER_TAR_XZ] - -pyver = '2.7.11' -pysuffix = '-Python-%s%s' % (pyver, versionsuffix) - -dependencies = [ - ('libffi', '3.2.1'), - ('gettext', '0.19.6'), - ('libxml2', '2.9.3', pysuffix), - ('PCRE', '8.38'), -] - -builddependencies = [('Python', pyver, versionsuffix)] - -configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" - -postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] - -sanity_check_paths = { - 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], - 'dirs': ['bin', 'include'], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb deleted file mode 100644 index 230d903622..0000000000 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-intel-2016a-Python-2.7.11-libX11-1.6.3.eb +++ /dev/null @@ -1,29 +0,0 @@ -name = 'libxml2' -version = '2.9.3' - -homepage = 'http://xmlsoft.org/' -description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable - outside of the Gnome platform).""" - -toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'pic': True} - -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] - -configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' - -pyver = '2.7.11' -pyshortver = '.'.join(pyver.split('.')[:2]) -libx11suffix = '-libX11-1.6.3' -versionsuffix = '-Python-%s%s' % (pyver, libx11suffix) - -dependencies = [ - ('zlib', '1.2.8'), - ('Python', pyver, libx11suffix), -] - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb index 61bf28051c..8df021253b 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb @@ -31,13 +31,13 @@ dependencies = [ ('libpng', '1.6.21'), # for plotting in R ('libjpeg-turbo', '1.4.2'), # for plottting in R ('LibTIFF', '4.0.6'), # for plotting in R - ('cairo', '1.14.6', versionsuffix), # for plotting in R + ('cairo', '1.14.6'), # for plotting in R ('Java', '1.8.0_72', '', True), # Java bindings are built if Java is found, might as well provide it ('Tcl', '8.6.4'), # for tcltk ('Tk', '8.6.4', versionsuffix), # for tcltk ('cURL', '7.47.0'), # for RCurl - ('libxml2', '2.9.3', '-Python-2.7.11%s' % versionsuffix), # for XML - ('GDAL', '2.0.2', versionsuffix), # for rgdal + ('libxml2', '2.9.3'), # for XML + ('GDAL', '2.0.2'), # for rgdal ('PROJ', '4.9.2'), # for rgdal ] -- GitLab From c1dbd131ac40d265ea7549d5973e94535fa2c4ad Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 4 Mar 2016 19:59:36 +0100 Subject: [PATCH 0439/1089] extra empty line deleted --- easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb index 8df021253b..60dfecc0d6 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb @@ -51,7 +51,6 @@ ext_options = { 'source_tmpl': name_tmpl, } - # !! order of packages is important !! # packages updated on January 21st 2016 exts_list = [ -- GitLab From e59867b60cf61ccdd5d696db15784e88d712b3fe Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Sat, 5 Mar 2016 06:30:52 +1030 Subject: [PATCH 0440/1089] Add missing libxml2 dep to Glib --- easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb index 55b64d46c2..0b0d4ce37c 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb @@ -15,6 +15,7 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.7'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.9')] -- GitLab From cfb939cec91b83b385b7b303f5036172a2d9c4e8 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 4 Mar 2016 21:07:48 +0000 Subject: [PATCH 0441/1089] Remove unnecessary files_to_copy after easyblock change --- .../v/VCFtools/VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb index 926d8c8707..9d1e642f25 100644 --- a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2015b-Perl-5.20.3.eb @@ -30,8 +30,6 @@ dependencies = [ (perl, perlver), ] -files_to_copy = ["bin", "lib", "examples", (["bin/man1"], 'man')] - modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} sanity_check_paths = { -- GitLab From 8a638f2ff59bf591d224df458e7010e4bdb2004c Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Sun, 6 Mar 2016 07:29:02 +1030 Subject: [PATCH 0442/1089] Added missing libxml2 dependency --- easybuild/easyconfigs/g/GLib/GLib-2.40.0-goolf-1.7.20.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015a.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015b.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.44.0-GCC-4.9.2.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.44.0-foss-2015a.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.44.0-intel-2015a.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.44.1-goolf-1.7.20.eb | 1 + .../easyconfigs/g/GLib/GLib-2.44.1-intel-2015a-Python-2.7.10.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb | 1 + easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb | 1 + 11 files changed, 11 insertions(+) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.40.0-goolf-1.7.20.eb b/easybuild/easyconfigs/g/GLib/GLib-2.40.0-goolf-1.7.20.eb index 8949f8ac3a..d5179c2d3f 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.40.0-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.40.0-goolf-1.7.20.eb @@ -15,6 +15,7 @@ sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.1'), ('gettext', '0.19.2'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.9')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015a.eb index 30174bd67f..8a3283f98f 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015a.eb @@ -14,6 +14,7 @@ sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.1'), ('gettext', '0.19.2'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.8')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015b.eb index b79abecbd3..f78f797967 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.41.2-intel-2015b.eb @@ -14,6 +14,7 @@ sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.1'), ('gettext', '0.19.2'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.10')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.44.0-GCC-4.9.2.eb b/easybuild/easyconfigs/g/GLib/GLib-2.44.0-GCC-4.9.2.eb index 08bf6bb8cb..94d03a2c3d 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.44.0-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.44.0-GCC-4.9.2.eb @@ -15,6 +15,7 @@ sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.4'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.9', '-bare')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.44.0-foss-2015a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.44.0-foss-2015a.eb index e2971ec78c..1320160d1a 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.44.0-foss-2015a.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.44.0-foss-2015a.eb @@ -15,6 +15,7 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.4'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.9')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.44.0-intel-2015a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.44.0-intel-2015a.eb index 224be43936..09e94d7c70 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.44.0-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.44.0-intel-2015a.eb @@ -15,6 +15,7 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.4'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.9')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.44.1-goolf-1.7.20.eb b/easybuild/easyconfigs/g/GLib/GLib-2.44.1-goolf-1.7.20.eb index c6424b3f53..9b0db5c7d4 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.44.1-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.44.1-goolf-1.7.20.eb @@ -15,6 +15,7 @@ sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.1'), ('gettext', '0.19.2'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.9')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a-Python-2.7.10.eb b/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a-Python-2.7.10.eb index 9f4e52261e..e1f3dc6096 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a-Python-2.7.10.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a-Python-2.7.10.eb @@ -15,6 +15,7 @@ sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.1'), ('gettext', '0.19.2'), + ('libxml2', '2.9.2'), ] python = 'Python' pyver = '2.7.10' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a.eb index ea740d47ca..6aacfaecc2 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.44.1-intel-2015a.eb @@ -15,6 +15,7 @@ sources = ['glib-%(version)s.tar.xz'] dependencies = [ ('libffi', '3.1'), ('gettext', '0.19.2'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.9')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb index 56025316ff..1a6974652c 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb @@ -15,6 +15,7 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.6'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.10')] diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb index d5db1754d1..90389b48f3 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.1-intel-2015b.eb @@ -15,6 +15,7 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.6'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.10')] -- GitLab From 8fd4030f443c7a32e6ce06aa539b10bebbcf33f8 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Mon, 7 Mar 2016 12:38:39 +1030 Subject: [PATCH 0443/1089] Bump Python version --- easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb index 0b0d4ce37c..2d418a45be 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.2-foss-2015b.eb @@ -17,6 +17,6 @@ dependencies = [ ('gettext', '0.19.7'), ('libxml2', '2.9.2'), ] -builddependencies = [('Python', '2.7.9')] +builddependencies = [('Python', '2.7.10')] moduleclass = 'vis' -- GitLab From 807d12e700fefe7a54aa9c5a85e7793ff3af13bc Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Mon, 7 Mar 2016 13:55:16 +1030 Subject: [PATCH 0444/1089] Added easyconfig for csvkit --- .../csvkit-0.9.1-foss-2015b-Python-2.7.10.eb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..1b0f60b271 --- /dev/null +++ b/easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb @@ -0,0 +1,36 @@ +easyblock = "PythonPackage" + +name = 'csvkit' +version = '0.9.1' + +homepage = 'https://github.com/wireservice/csvkit' +description = """csvkit is a suite of command-line tools for converting to and working with CSV, + the king of tabular file formats.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pyver = '2.7.10' +pyshortver = '.'.join(pyver.split('.')[:2]) + +versionsuffix = "-%s-%s" % (python, pyver) + +dependencies = [ + (python, pyver), +] + +postinstallcmds = ["chmod -R +r %(installdir)s/lib/"] + +sanity_check_paths = { + 'files': ['bin/in2csv', 'bin/sql2csv', 'bin/csvclean', 'bin/csvcut', 'bin/csvgrep', 'bin/csvjoin', + 'bin/csvsort', 'bin/csvstack', 'bin/csvformat', 'bin/csvjson', 'bin/csvlook', 'bin/csvpy', + 'bin/csvsql', 'bin/csvstat'], + 'dirs': [], +} + +sanity_check_commands = [('csvlook','-h')] + +moduleclass = 'tools' -- GitLab From 2b459eebb7a7797b47b81f04ef6b056a31f8ac5b Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 09:47:55 +0100 Subject: [PATCH 0445/1089] easyconfig renamed --- ...opus-5.0.0-intel-2015b.eb => Octopus-5.0.0-intel-2015b-mpi.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/o/Octopus/{Octopus-5.0.0-intel-2015b.eb => Octopus-5.0.0-intel-2015b-mpi.eb} (100%) diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb similarity index 100% rename from easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b.eb rename to easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb -- GitLab From 5278cc3e88ddc3d8a0215b6f4f414341247465c3 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 11:16:26 +0100 Subject: [PATCH 0446/1089] fixes --- easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch | 4 ++++ .../o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb | 11 ++++++----- .../p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb | 4 ++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch b/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch index 981d2feb46..a5895cfc2c 100644 --- a/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch +++ b/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch @@ -1,7 +1,11 @@ #https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en#scripts +#This patch is needed by PFFT +#https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en#pfft #Within these scripts we apply the following patches that have been submitted to FFTW but are not yet included in FFTW-3.3.4: #We add two more global transposition algorithms to the planner. #We patch file mpi/transpose-pairwise.c in order to fix a double free bug. +#The patch file is fleshed out from install_fftw-3.3.4_gcc.sh +#at https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software/install_fftw-3.3.4_gcc.sh diff -rupN fftw-3.3.4/mpi/conf.c fftw-3.3.4-patched/mpi/conf.c --- fftw-3.3.4/mpi/conf.c 2014-03-04 19:41:03.000000000 +0100 +++ fftw-3.3.4-patched/mpi/conf.c 2015-09-05 05:53:19.085516467 +0200 diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb index 932a21ffc2..31ad0d2de5 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb @@ -18,8 +18,8 @@ sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=%(version)s/' ] builddependencies = [ - ('Bison', '3.0.4', '', ('GNU', '4.9.3-2.25')), - ('Perl', '5.20.3'), + ('Bison', '3.0.4'), + ('Perl', '5.20.3', '-bare'), ] dependencies = [ @@ -34,18 +34,19 @@ dependencies = [ configopts = '--disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' -configopts += '--with-blas="-L$MKLROOT/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread" ' +configopts += '--with-blas="-L$MKLROOT/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential ' +iconfigure += '-lmkl_core -Wl,--end-group -lpthread" ' configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" ' configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" ' configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' configopts += '--with-etsf-io-prefix=$EBROOTETSF_IO ' configopts += '--with-pfft-prefix=$EBROOTPFFT --with-mpifftw-prefix=$EBROOTFFTW ' +runtest = 'MPIEXEC=`which mpirun` check' + sanity_check_paths = { 'files': ["bin/octopus_mpi"], 'dirs': [] } -runtest = 'MPIEXEC=`which mpirun` check' - moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb b/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb index 4ee4858b6d..4e9dda8fed 100644 --- a/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb +++ b/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb @@ -16,11 +16,11 @@ source_urls = ['http://www.tu-chemnitz.de/~potts/workgroup/pippig/software/'] dependencies = [ ('FFTW', '3.3.4-p2'), - ('Autotools', '20150215', '', ('GNU', '4.9.3-2.25')), + ('Autotools', '20150215'), ] sanity_check_paths = { - 'files': ['lib/libpfft.so.0.0.0', 'lib/libpfft.a'], + 'files': ['lib/libpfft.%s' % SHLIB_EXT, 'lib/libpfft.a'], 'dirs': [], } -- GitLab From eb98e79dda3d753f5747b718b15fbab9f0acc7fa Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 11:26:41 +0100 Subject: [PATCH 0447/1089] FFTW patch renamed --- easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb | 4 ++-- ...{FFTW_3.3.4-p2.patch => FFTW_3.3.4-p2_PFFT-20150905.patch} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/f/FFTW/{FFTW_3.3.4-p2.patch => FFTW_3.3.4-p2_PFFT-20150905.patch} (100%) diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb index 05f0826bb5..2c340edd6e 100644 --- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb @@ -13,10 +13,10 @@ toolchainopts = {'optarch': True, 'pic': True} sources = ['%s-%s.tar.gz' % (name.lower(), version.split("-")[0])] source_urls = [homepage] -patches = ['%(name)s_%(version)s.patch'] +patches = ['%(name)s_%(version)s_PFFT-20150905.patch'] builddependencies = [ - ('Autotools', '20150215', '', ('GNU', '4.9.3-2.25')), + ('Autotools', '20150215'), ] # the patch changed a Makefile.am, so we need to call autoreconf diff --git a/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch b/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2_PFFT-20150905.patch similarity index 100% rename from easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2.patch rename to easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2_PFFT-20150905.patch -- GitLab From fb02e13bdc60e3ecc34a010a365f7e41e7ff85fb Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 12:02:21 +0100 Subject: [PATCH 0448/1089] typo corrected --- .../easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb index 31ad0d2de5..74a81115f6 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb @@ -35,7 +35,7 @@ dependencies = [ configopts = '--disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' configopts += '--with-blas="-L$MKLROOT/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential ' -iconfigure += '-lmkl_core -Wl,--end-group -lpthread" ' +configopts += '-lmkl_core -Wl,--end-group -lpthread" ' configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" ' configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" ' configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' -- GitLab From 0d55e4c1a3c55122fe237ddb6969a58c46244515 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 12:23:52 +0100 Subject: [PATCH 0449/1089] only bare from perl 5.20.2 --- .../easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb index 74a81115f6..9d2c7d09fa 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb @@ -19,7 +19,7 @@ source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=%(version)s/ builddependencies = [ ('Bison', '3.0.4'), - ('Perl', '5.20.3', '-bare'), + ('Perl', '5.20.2', '-bare'), ] dependencies = [ -- GitLab From 829932dc3bf99d8b8e2d2ef618d2dbbee3c41773 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 7 Mar 2016 13:03:16 +0100 Subject: [PATCH 0450/1089] use %(pyver)s --- .../easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb index 43296c33fb..b441f92cef 100644 --- a/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-intel-2016a-Python-2.7.11.eb @@ -1,6 +1,6 @@ name = 'SWIG' version = '3.0.8' -versionsuffix = '-Python-2.7.11' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.swig.org/' description = """SWIG is a software development tool that connects programs written in C and C++ with -- GitLab From 2c5348e808184eb5e4450639d0857b083a54c4b6 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 13:07:22 +0100 Subject: [PATCH 0451/1089] Fix mutil to copy & rename --- .../m/mutil/mutil-1.822.3-intel-2016a.eb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb index a12dea39eb..545df3ad39 100644 --- a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb +++ b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb @@ -10,12 +10,12 @@ GNU coreutils, which have achieved 10/30x rates on one/many nodes. toolchain = {'name': 'intel', 'version': '2016a'} sources = [ - "coreutils-8.22.tar.xz", + "coreutils-8.22.tar.xz", # must be first SOURCE_TGZ, ] source_urls = [ ('http://sourceforge.net/projects/mutil/files', 'download'), - GNU_SOURCE, + 'http://ftpmirror.gnu.org/coreutils', ] dependencies = [ @@ -24,8 +24,15 @@ dependencies = [ ('libgcrypt', '1.6.5'), ] +builddependencies = [('Automake', '1.14')] + +files_to_copy = [ + (['src/cp', 'src/md5sum'], ['mcp', 'msum'], 'bin'), + (['man/cp.1', 'man/md5sum.1'], ['mcp.1', 'msum.1'], 'man/man1'), +] + sanity_check_paths = { - 'files': ['bin/cp', 'bin/md5sum'], + 'files': ['bin/mcp', 'bin/msum'], 'dirs': ['man/man1'] } -- GitLab From 5489904cf3802ea81f9c90e8c3e0f295c3534c35 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 13:17:17 +0100 Subject: [PATCH 0452/1089] Add mutil to shift --- easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb index 24ac3912b7..d1522854fe 100644 --- a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb @@ -17,6 +17,7 @@ source_urls = [('http://sourceforge.net/projects/shiftc/files', 'download')] dependencies = [ ('Perl', '5.22.1'), ('bbFTP', '3.2.1'), + ('mutil', '1.822.3'), ] files_to_copy = [(['perl/shiftc', 'perl/shift-mgr', 'perl/shift-aux'], 'bin'), 'etc', (['doc/shiftc.1'], 'man/man1')] -- GitLab From 64b722d1dc9a6fb778a33df127bbe5477c6d545b Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 13:25:16 +0100 Subject: [PATCH 0453/1089] blas/blacs/scalapack fixes --- .../easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb index 9d2c7d09fa..932461139a 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb @@ -34,10 +34,9 @@ dependencies = [ configopts = '--disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' -configopts += '--with-blas="-L$MKLROOT/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential ' -configopts += '-lmkl_core -Wl,--end-group -lpthread" ' -configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" ' -configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" ' +configopts += '--with-blas="-L$BLAS_LIB_DIR $LIBBLAS" ' +configopts += ''--with-blacs="-L$BLACS_LIB_DIR $LIBBLACS" ' +configopts += '--with-scalapack="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK" ' configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' configopts += '--with-etsf-io-prefix=$EBROOTETSF_IO ' configopts += '--with-pfft-prefix=$EBROOTPFFT --with-mpifftw-prefix=$EBROOTFFTW ' -- GitLab From 88f9c315deedec6896397bd14395e8a02fd4840c Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 13:55:04 +0100 Subject: [PATCH 0454/1089] typo corrected --- .../easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb index 932461139a..5501b66a20 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb @@ -35,7 +35,7 @@ dependencies = [ configopts = '--disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' configopts += '--with-blas="-L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += ''--with-blacs="-L$BLACS_LIB_DIR $LIBBLACS" ' +configopts += '--with-blacs="-L$BLACS_LIB_DIR $LIBBLACS" ' configopts += '--with-scalapack="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK" ' configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' configopts += '--with-etsf-io-prefix=$EBROOTETSF_IO ' -- GitLab From a5df502069bc1995e723c9782e7e7bbae8d1aa62 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 14:01:31 +0100 Subject: [PATCH 0455/1089] {vis}[intel-2016a] FLTK 1.3.3 with libX11 1.6.3 (REVIEW) --- .../FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb | 43 +++++++++++++++++++ .../l/libGLU/libGLU-9.0.0-intel-2016a.eb | 24 +++++++++++ .../libXcursor-1.1.14-intel-2016a.eb | 29 +++++++++++++ .../libXinerama-1.1.3-intel-2016a.eb | 31 +++++++++++++ .../xineramaproto-1.2.1-intel-2016a.eb | 19 ++++++++ .../x/xprop/xprop-1.2.2-intel-2016a.eb | 26 +++++++++++ 6 files changed, 172 insertions(+) create mode 100644 easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb create mode 100644 easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xprop/xprop-1.2.2-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb new file mode 100644 index 0000000000..9929d550c8 --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb @@ -0,0 +1,43 @@ +# +# author: Dina Mahmoud Ibrahim ( Cairo University ) +# +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.3' + +libx11 = 'libX11' +libxver = '1.6.3' +versionsuffix = '-%s-%s' % (libx11, libxver) + +homepage = 'http://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +source_urls = ['http://fltk.org/pub/%(namelower)s/%(version)s/'] + + +dependencies = [ + (libx11, libxver), + ('libXcursor', '1.1.14'), + ('libXinerama', '1.1.3'), + ('Tcl', '8.6.4'), + ('Tk', '8.6.4', versionsuffix), + ('Mesa', '11.1.2'), + ('libGLU', '9.0.0'), + ('libpng', '1.6.21'), + ('libjpeg-turbo', '1.4.2'), + ('xprop', '1.2.2'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config','bin/fluid'], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a.eb new file mode 100644 index 0000000000..46c9710adc --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +dependencies = [ + ('Mesa', '11.1.2'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-intel-2016a.eb b/easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-intel-2016a.eb new file mode 100644 index 0000000000..e7e9608bd8 --- /dev/null +++ b/easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libXcursor' +version = '1.1.14' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Cursor management library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fixesproto', '5.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXfixes', '5.0.1'), + ('libXrender', '0.9.9'), +] + +sanity_check_paths = { + 'files': ['include/X11/Xcursor/Xcursor.h', 'lib/libXcursor.%s' % SHLIB_EXT, 'lib/libXcursor.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-intel-2016a.eb new file mode 100644 index 0000000000..5963374589 --- /dev/null +++ b/easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXinerama' +version = '1.1.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """Xinerama multiple monitor library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('xineramaproto', '1.2.1'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.28'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), +] + +sanity_check_paths = { + 'files': ['lib/libXinerama.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb new file mode 100644 index 0000000000..d198aa80e4 --- /dev/null +++ b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'xineramaproto' +version = '1.2.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers for xinerama" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/panoramiXproto.h'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xprop/xprop-1.2.2-intel-2016a.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.2-intel-2016a.eb new file mode 100644 index 0000000000..2da94927e9 --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.2-intel-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.2' + +homepage = "http://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://ftp.x.org/archive/individual/app/'] + +builddependencies = [ + ('xorg-macros', '1.19.0'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 23887fcc6a89ba97fc4b5c15dcd37615f5f3cffe Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 14:37:15 +0100 Subject: [PATCH 0456/1089] {devel}[intel-2016a] Qt 4.8.7 (REVIEW) --- .../easyconfigs/q/Qt/Qt-4.8.7-intel-2016a.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2016a.eb diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2016a.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2016a.eb new file mode 100644 index 0000000000..b51c2c0fac --- /dev/null +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2016a.eb @@ -0,0 +1,24 @@ +name = 'Qt' +version = '4.8.7' + +homepage = 'http://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [ + 'http://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/', + 'http://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/' +] +sources = ['%(namelower)s-everywhere-opensource-src-%(version)s.tar.gz'] + +patches = ['Qt-%(version)s_phonon-export.patch'] + +dependencies = [ + ('GLib', '2.47.5'), + ('libX11', '1.6.3'), + ('libXt', '1.1.5'), + ('libXrender', '0.9.9'), +] + +moduleclass = 'devel' -- GitLab From 99e3a7528420d32bb228d76261515f61f0a02766 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Mon, 7 Mar 2016 14:55:35 +0100 Subject: [PATCH 0457/1089] {math}[intel-2016a] Qhull 2015.2 (REVIEW) --- .../q/Qhull/Qhull-2015.2-intel-2016a.eb | 37 ++++++++++++++++++ .../q/Qhull/Qhull-2015.2-intel-fix.patch | 39 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-fix.patch diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb new file mode 100644 index 0000000000..67f36525e6 --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'Qhull' +version = '2015.2' + +homepage = 'http://www.qhull.org' +description = """ +Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, +furthest-site Delaunay triangulation, and furthest-site Voronoi diagram. The source code runs in 2-d, 3-d, 4-d, +and higher dimensions. Qhull implements the Quickhull algorithm for computing the convex hull. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +#recently checkged the Unix version numbering see https://github.com/Homebrew/homebrew-science/issues/3353 +sources = ['%(namelower)s-2015-src-7.2.0.tgz'] +source_urls = ['http://www.qhull.org/download/'] + +patches = [ + 'Qhull-%(version)s-intel-fix.patch', + 'Qhull_pkgconfig.patch', +] + +builddependencies = [('CMake', '3.4.3')] + +sanity_check_paths = { + 'files': ['bin/qhull', 'lib/libqhull.%s' % SHLIB_EXT, 'lib/pkgconfig/qhull.pc'], + 'dirs': [], +} + +modextrapaths = { + 'CPATH': ['qhull/include'], +} + +parallel = 1 + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-fix.patch b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-fix.patch new file mode 100644 index 0000000000..d38ea52b0a --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-fix.patch @@ -0,0 +1,39 @@ +# they use some weird template thing in pure C code to avoid +# warnings, I think, but only for intel compilers +# We remove the special case for intel and use the general one +# Ward Poelmans +diff -ru qhull-2012.1.orig/src/libqhull/qhull_a.h qhull-2012.1/src/libqhull/qhull_a.h +--- qhull-2015.2/src/libqhull/qhull_a.h.orig 2016-01-18 14:32:14.000000000 +0100 ++++ qhull-2015.2/src/libqhull/qhull_a.h 2016-03-07 10:42:19.223952420 +0100 +@@ -101,13 +101,7 @@ + + */ + +-#if defined(__cplusplus) && defined(__INTEL_COMPILER) && !defined(QHULL_OS_WIN) +-template +-inline void qhullUnused(T &x) { (void)x; } +-# define QHULL_UNUSED(x) qhullUnused(x); +-#else +-# define QHULL_UNUSED(x) (void)x; +-#endif ++#define QHULL_UNUSED(x) (void)x; + + /***** -libqhull.c prototypes (alphabetical after qhull) ********************/ + +--- qhull-2015.2/src/libqhull_r/qhull_ra.h.orig 2016-01-17 17:06:10.000000000 +0100 ++++ qhull-2015.2/src/libqhull_r/qhull_ra.h 2016-03-07 14:46:03.846048341 +0100 +@@ -101,13 +101,7 @@ + + */ + +-#if defined(__cplusplus) && defined(__INTEL_COMPILER) && !defined(QHULL_OS_WIN) +-template +-inline void qhullUnused(T &x) { (void)x; } +-# define QHULL_UNUSED(x) qhullUnused(x); +-#else +-# define QHULL_UNUSED(x) (void)x; +-#endif ++#define QHULL_UNUSED(x) (void)x; + + /***** -libqhull_r.c prototypes (alphabetical after qhull) ********************/ + -- GitLab From d1128a5b76975bfa039380828881b96db206f7b5 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Mon, 7 Mar 2016 15:27:56 +0100 Subject: [PATCH 0458/1089] added firefox easyconfig --- .../easyconfigs/f/Firefox/Firefox-44.0.2.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/f/Firefox/Firefox-44.0.2.eb diff --git a/easybuild/easyconfigs/f/Firefox/Firefox-44.0.2.eb b/easybuild/easyconfigs/f/Firefox/Firefox-44.0.2.eb new file mode 100644 index 0000000000..21da1fddad --- /dev/null +++ b/easybuild/easyconfigs/f/Firefox/Firefox-44.0.2.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'Tarball' + +name = 'Firefox' +version = '44.0.2' + +homepage = 'https://www.mozilla.org/en-US/firefox/new/' +description = """Firefox is a free, open source Web browser for Windows, Linux and Mac OS X. It is based on the Mozilla code + base and offers customization options and features such as its capability to block pop-up windows, tabbed browsing, privacy + and security measures, smart searching, and RSS live bookmarks.""" + +toolchain = {'name': 'dummy', 'version': ''} + +source_urls = ['https://ftp.mozilla.org/pub/firefox/releases/%(version)s/linux-x86_64/en-US/'] +sources = [SOURCELOWER_TAR_BZ2] + +sanity_check_paths = { + 'files': ['firefox'], + 'dirs': [] +} + +# add the installation dir to PATH +modextrapaths = { + 'PATH': "", +} + +moduleclass = 'tools' -- GitLab From a925cd1cdc39f71047190aab6990b66862f7f12f Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 15:35:37 +0100 Subject: [PATCH 0459/1089] Adjust mutil for easyblock --- easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb index 545df3ad39..4b04365a5a 100644 --- a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb +++ b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb @@ -26,11 +26,6 @@ dependencies = [ builddependencies = [('Automake', '1.14')] -files_to_copy = [ - (['src/cp', 'src/md5sum'], ['mcp', 'msum'], 'bin'), - (['man/cp.1', 'man/md5sum.1'], ['mcp.1', 'msum.1'], 'man/man1'), -] - sanity_check_paths = { 'files': ['bin/mcp', 'bin/msum'], 'dirs': ['man/man1'] -- GitLab From 65a1af206a0010a69602cd53305a5c6278dab88d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 7 Mar 2016 15:39:28 +0100 Subject: [PATCH 0460/1089] add doSNOW package to R 3.2.3 easyconfigs --- easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb | 1 + easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 1 + 2 files changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb index c3a62add2c..dcabcfedb0 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb @@ -437,6 +437,7 @@ exts_list = [ ('ggm', '2.3', ext_options), ('qgraph', '1.3.2', ext_options), ('diveRsity', '1.9.89', ext_options), + ('doSNOW', '1.0.14', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index eb2673295f..ddf0479c12 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -437,6 +437,7 @@ exts_list = [ ('ggm', '2.3', ext_options), ('qgraph', '1.3.2', ext_options), ('diveRsity', '1.9.89', ext_options), + ('doSNOW', '1.0.14', ext_options), ] moduleclass = 'lang' -- GitLab From f473964495a75dba4ccfc76d99a15a505e05d2c4 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 17:25:39 +0100 Subject: [PATCH 0461/1089] h5py for HDF5 serial --- ...-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb new file mode 100644 index 0000000000..1366ade8a4 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb @@ -0,0 +1,35 @@ +easyblock = "PythonPackage" + +name = 'h5py' +version = '2.5.0' + +homepage = 'http://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +hdf5ver = '1.8.16' +hdf5versuffix = '-serial' +versionsuffix = '-Python-%%(pyver)s-HDF5-%s%s' % (hdf5ver, hdf5versuffix) + +# to really use mpi enabled hdf5 we now seem to need a configure step +prebuildopts = ' python setup.py configure --mpi --hdf5=$EBROOTHDF5 && ' + +dependencies = [ + ('Python', '2.7.11'), + ('HDF5', hdf5ver, hdf5versuffix), + ('pkgconfig', '1.1.0', '-Python-%(pyver)s'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +moduleclass = 'data' -- GitLab From 0039fc555e126d50f029ba45b45656b25e4f9118 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 17:40:27 +0100 Subject: [PATCH 0462/1089] Don't use MPI in h5py-serial --- .../h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb index 1366ade8a4..68c3c3daaf 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb @@ -18,8 +18,7 @@ hdf5ver = '1.8.16' hdf5versuffix = '-serial' versionsuffix = '-Python-%%(pyver)s-HDF5-%s%s' % (hdf5ver, hdf5versuffix) -# to really use mpi enabled hdf5 we now seem to need a configure step -prebuildopts = ' python setup.py configure --mpi --hdf5=$EBROOTHDF5 && ' +prebuildopts = ' python setup.py configure --hdf5=$EBROOTHDF5 && ' dependencies = [ ('Python', '2.7.11'), -- GitLab From 62238b6b9d58baab900019598d624d8eeb2e70bd Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 17:43:01 +0100 Subject: [PATCH 0463/1089] Fix shift easyconfig --- easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb index d1522854fe..62fb0dbd9d 100644 --- a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb @@ -1,4 +1,4 @@ -easyblock = 'CmdCp' +easyblock = 'MakeCp' name = 'shift' version = '4.0' @@ -20,8 +20,8 @@ dependencies = [ ('mutil', '1.822.3'), ] +skipsteps = ['build'] files_to_copy = [(['perl/shiftc', 'perl/shift-mgr', 'perl/shift-aux'], 'bin'), 'etc', (['doc/shiftc.1'], 'man/man1')] -cmds_map = [] sanity_check_paths = { 'files': ['bin/shiftc'], -- GitLab From 6dc78e3a90bfe946af01cf276d8fd59116109277 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 17:58:43 +0100 Subject: [PATCH 0464/1089] Add missing dep --- .../a/Automake/Automake-1.14-intel-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/a/Automake/Automake-1.14-intel-2016a.eb diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.14-intel-2016a.eb b/easybuild/easyconfigs/a/Automake/Automake-1.14-intel-2016a.eb new file mode 100644 index 0000000000..a1f5954bb7 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.14-intel-2016a.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'Automake' +version = "1.14" + +homepage = 'http://www.gnu.org/software/automake/automake.html' +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('Autoconf', '2.69')] + +sanity_check_paths = { + 'files': ['bin/automake', 'bin/aclocal'], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 9f5af1710bca9fc15f41ac3c8b66dacbb4e36501 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 18:01:12 +0100 Subject: [PATCH 0465/1089] Don't use MPI in -serial for h5py --- .../h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb index 68c3c3daaf..43d2050d00 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb @@ -9,7 +9,6 @@ description = """HDF5 for Python (h5py) is a general-purpose Python interface to amounts of data.""" toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'usempi': True} source_urls = [PYPI_SOURCE] sources = [SOURCE_TAR_GZ] -- GitLab From e3dad942d607df08b50472e178a41da94693a8be Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 18:05:38 +0100 Subject: [PATCH 0466/1089] Make all h5py serial consistent --- .../h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb | 2 ++ ....5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 3 ++- .../h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb index c839cbc2dd..f2d854aad2 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb @@ -19,6 +19,8 @@ pythonver = '2.7.9' pythonshortver = '.'.join(pythonver.split('.')[0:2]) versionsuffix = '-%s-%s-serial' % (python, pythonver) +prebuildopts = ' python setup.py configure --hdf5=$EBROOTHDF5 && ' + dependencies = [ (python, pythonver), ('HDF5', '1.8.14', '-serial'), diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb index f070e8c226..6588f01027 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb @@ -19,10 +19,11 @@ pyver = '%s.10' % py_maj_min hdf5ver = '1.8.15-patch1' versionsuffix = '-Python-%s-HDF5-%s-serial' % (pyver, hdf5ver) +prebuildopts = ' python setup.py configure --hdf5=$EBROOTHDF5 && ' + dependencies = [ ('Python', pyver), ('HDF5', hdf5ver), - ('pkgconfig', '1.1.0', '-Python-%(pyver)s'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb index 43d2050d00..108d4c4bb8 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb @@ -9,6 +9,7 @@ description = """HDF5 for Python (h5py) is a general-purpose Python interface to amounts of data.""" toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': False} source_urls = [PYPI_SOURCE] sources = [SOURCE_TAR_GZ] @@ -22,7 +23,6 @@ prebuildopts = ' python setup.py configure --hdf5=$EBROOTHDF5 && ' dependencies = [ ('Python', '2.7.11'), ('HDF5', hdf5ver, hdf5versuffix), - ('pkgconfig', '1.1.0', '-Python-%(pyver)s'), ] sanity_check_paths = { -- GitLab From 89039cbf0e0e1562e43ac11459688675f38ff6ce Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 7 Mar 2016 18:54:14 +0100 Subject: [PATCH 0467/1089] Add pkg-config as build dep --- .../h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb | 2 ++ ...2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 2 ++ .../h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb index f2d854aad2..12d6705dfa 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.4.0-intel-2015a-Python-2.7.9-serial.eb @@ -26,6 +26,8 @@ dependencies = [ ('HDF5', '1.8.14', '-serial'), ] +builddependencies = [('pkgconfig', '1.1.0', '-Python-%(pyver)s')] + sanity_check_paths = { 'files': ['lib/python%s/site-packages/%%(name)s-%%(version)s-py%s-linux-x86_64.egg' % (pythonshortver, pythonshortver)], 'dirs': [], diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb index 6588f01027..7cd0e17232 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb @@ -26,6 +26,8 @@ dependencies = [ ('HDF5', hdf5ver), ] +builddependencies = [('pkgconfig', '1.1.0', '-Python-%(pyver)s')] + sanity_check_paths = { 'files': [], 'dirs': ['lib/python%s/site-packages/' % py_maj_min], diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb index 108d4c4bb8..2f905991c2 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-2.5.0-intel-2016a-Python-2.7.11-HDF5-1.8.16-serial.eb @@ -25,6 +25,8 @@ dependencies = [ ('HDF5', hdf5ver, hdf5versuffix), ] +builddependencies = [('pkgconfig', '1.1.0', '-Python-%(pyver)s')] + sanity_check_paths = { 'files': [], 'dirs': ['lib/python%(pyshortver)s/site-packages/'], -- GitLab From b6aeea2faca9c3b5b73ac8977472229edf0b445a Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 8 Mar 2016 06:25:37 +1030 Subject: [PATCH 0468/1089] Added missing libxm2 and ncurses dependencies to gettext --- easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb index 26649681d7..b35aee8501 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb @@ -13,6 +13,11 @@ toolchain = {'name': 'foss', 'version': '2015b'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SOURCE] +dependencies = [ + ('libxml2', '2.9.2'), + ('ncurses', '5.9'), +] + configopts = '--without-emacs' moduleclass = 'vis' -- GitLab From 799ddb504bc88f5ed4dab6bc1e0c02dc96f89786 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 8 Mar 2016 07:11:43 +1030 Subject: [PATCH 0469/1089] More consistent sanity checks --- .../easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb | 2 +- .../easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb | 5 +++-- .../easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb | 5 +++-- .../easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb | 5 +++-- .../easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb | 6 +++--- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb index 905088b61a..cff5f57f05 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb @@ -33,7 +33,7 @@ postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.32.jar", "cisd-jhdf5.jar"], + "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.32.jar"], 'dirs': ["Contaminants", "Help", "Templates", "uk"], } diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb index 045b3e4281..ca09cb6324 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb @@ -24,8 +24,9 @@ dependencies = [(java, javaver)] postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { - 'files': ['fastqc'], - 'dirs': [], + 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", + "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar"], + 'dirs': ["Contaminants", "Help", "Templates", "uk", 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb index 6b39ac8445..17029e5d5a 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb @@ -24,8 +24,9 @@ dependencies = [(java, javaver)] postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { - 'files': ['fastqc'], - 'dirs': [], + 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", "LICENSE_JHDF5.txt" + "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar", "cisd-jhdf5.jar"], + 'dirs': ['Configuration', "Contaminants", "Help", "Templates", "uk", 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb index 4b0d9817eb..677e8d7c74 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb @@ -24,8 +24,9 @@ dependencies = [(java, javaver)] postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { - 'files': ['fastqc'], - 'dirs': [], + 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", "LICENSE_JHDF5.txt" + "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar", "cisd-jhdf5.jar"], + 'dirs': ['Configuration', "Contaminants", "Help", "Templates", "uk", 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb index 64fb816e8d..ddfb27a3db 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb @@ -24,9 +24,9 @@ dependencies = [(java, javaver)] postinstallcmds = ['chmod +x %(installdir)s/fastqc'] sanity_check_paths = { - 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.32.jar", "cisd-jhdf5.jar"], - 'dirs': ["Contaminants", "Help", "Templates", "uk"], + 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", "LICENSE_JHDF5.txt" + "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar", "cisd-jhdf5.jar"], + 'dirs': ['Configuration', "Contaminants", "Help", "Templates", "uk", 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] -- GitLab From 73d1c4958ce4a18957efa2887cc148724694cce6 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 7 Mar 2016 23:09:40 +0000 Subject: [PATCH 0470/1089] Initial version --- .../BamUtil-libStatGen-1.0.13-foss-2015b.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/b/BamUtil/BamUtil-libStatGen-1.0.13-foss-2015b.eb diff --git a/easybuild/easyconfigs/b/BamUtil/BamUtil-libStatGen-1.0.13-foss-2015b.eb b/easybuild/easyconfigs/b/BamUtil/BamUtil-libStatGen-1.0.13-foss-2015b.eb new file mode 100644 index 0000000000..ceee101f27 --- /dev/null +++ b/easybuild/easyconfigs/b/BamUtil/BamUtil-libStatGen-1.0.13-foss-2015b.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute +# +# This is the version bundled with the libStatGen library + +name = 'BamUtil' +version = '1.0.13' +versionsuffix = 'libStatGen' + +easyblock = 'MakeCp' + +homepage = 'http://genome.sph.umich.edu/wiki/BamUtil' +description = """BamUtil is a repository that contains several programs + that perform operations on SAM/BAM files. All of these programs + are built into a single executable, bam.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = ['%(name)sLibStatGen.%(version)s.tgz'] +source_urls = ['http://genome.sph.umich.edu/w/images/7/70/'] + +files_to_copy = ["bamUtil/bin", "libStatGen"] + +sanity_check_paths = { + 'files': ["bin/bam"], + 'dirs': ["libStatGen"], +} + +moduleclass = 'bio' -- GitLab From 4fe7c4af6ce486e86d3175e9572273b778518a9a Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 09:03:41 +0100 Subject: [PATCH 0471/1089] {vis}[intel-2016a] gnuplot 5.0.3 (REVIEW) --- .../g/gnuplot/gnuplot-5.0.3-intel-2016a.eb | 42 +++++++++++++++++++ .../l/libcerf/libcerf-1.4-intel-2016a.eb | 28 +++++++++++++ .../l/libgd/libgd-2.1.1-intel-2016a.eb | 26 ++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libgd/libgd-2.1.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-intel-2016a.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-intel-2016a.eb new file mode 100644 index 0000000000..131131cfee --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-intel-2016a.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '5.0.3' + +homepage = 'http://gnuplot.sourceforge.net/' +description = """Portable interactive, function plotting utility""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/gnuplot/files', 'download')] + +dependencies = [ + ('cairo', '1.14.6'), + ('libjpeg-turbo', '1.4.2'), + ('libpng', '1.6.21'), + ('libgd', '2.1.1'), + ('Pango', '1.39.0'), + ('libcerf', '1.4'), + ('Qt', '4.8.7'), +] + +configopts = '--with-qt=qt4 ' + +sanity_check_paths = { + 'files': ['bin/gnuplot'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb b/easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb new file mode 100644 index 0000000000..0d21d9de2a --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libcerf' +version = '1.4' + +homepage = 'http://gnuplot.sourceforge.net/' +description = """libcerf is a self-contained numeric library that provides an efficient and accurate + implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TGZ] +source_urls = [ + 'http://apps.jcns.fz-juelich.de/src/libcerf/' + 'http://apps.jcns.fz-juelich.de/src/libcerf/old' +] + +builddependencies = [ + ('Autotools', '20150215'), + ('libtool', '2.4.6'), +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.1.1-intel-2016a.eb b/easybuild/easyconfigs/l/libgd/libgd-2.1.1-intel-2016a.eb new file mode 100644 index 0000000000..6e0e817251 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.1.1-intel-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.1.1' + +homepage = 'http://libgd.bitbucket.org/' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://bitbucket.org/libgd/gd-libgd/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('fontconfig', '2.11.94'), + ('libjpeg-turbo', '1.4.2'), + ('libpng', '1.6.21'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ["lib/libgd.a", "lib/libgd.%s" % SHLIB_EXT], + 'dirs': ["bin", "include"], +} + +moduleclass = 'lib' -- GitLab From 6a287dac3c85a3cca4211fbb0233bb4b6f4ae143 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 09:16:12 +0100 Subject: [PATCH 0472/1089] commas fixed in libcerf --- easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb b/easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb index 0d21d9de2a..e0a93e776c 100644 --- a/easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libcerf/libcerf-1.4-intel-2016a.eb @@ -11,8 +11,8 @@ toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TGZ] source_urls = [ - 'http://apps.jcns.fz-juelich.de/src/libcerf/' - 'http://apps.jcns.fz-juelich.de/src/libcerf/old' + 'http://apps.jcns.fz-juelich.de/src/libcerf/', + 'http://apps.jcns.fz-juelich.de/src/libcerf/old', ] builddependencies = [ -- GitLab From ff58f5a467379cd7ec1f7b319b30696b83a8e9ee Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 09:36:18 +0100 Subject: [PATCH 0473/1089] back to explicit blas/blacs/scalapack and fftw version fixes --- .../easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb | 4 ++-- ...-2015b.eb => FFTW-3.3.4-intel-2015b-PFFT-20150905.eb} | 7 ++++--- ...FFT-20150905.patch => FFTW_3.3.4-PFFT-20150905.patch} | 0 .../o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb | 9 +++++---- 4 files changed, 11 insertions(+), 9 deletions(-) rename easybuild/easyconfigs/f/FFTW/{FFTW-3.3.4-p2-intel-2015b.eb => FFTW-3.3.4-intel-2015b-PFFT-20150905.eb} (91%) rename easybuild/easyconfigs/f/FFTW/{FFTW_3.3.4-p2_PFFT-20150905.patch => FFTW_3.3.4-PFFT-20150905.patch} (100%) diff --git a/easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb b/easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb index 1e01d1ca9a..0e4a07c55e 100644 --- a/easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb +++ b/easybuild/easyconfigs/e/ETSF_IO/ETSF_IO-1.0.4-intel-2015b.eb @@ -21,8 +21,8 @@ source_urls = ['http://www.etsf.eu/system/files'] sources = [SOURCELOWER_TAR_GZ] configopts = "--with-netcdf-prefix=$EBROOTNETCDF " -configopts += "--with-netcdf-libs='-L$EBROOTNETCDF/lib -lnetcdf -lnetcdff' " -configopts += " --with-netcdf-incs='-I$EBROOTNETCDF/include'" +configopts += "--with-netcdf-libs='-L$EBROOTNETCDF/lib -L$EBROOTNETCDFMINFORTRAN/lib -lnetcdf -lnetcdff' " +configopts += " --with-netcdf-incs='-I$EBROOTNETCDF/include -I$EBROOTNETCDFMINFORTRAN/include '" dependencies = [ ('netCDF', '4.3.3.1'), diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb similarity index 91% rename from easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb rename to easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb index 2c340edd6e..80bd65820f 100644 --- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-p2-intel-2015b.eb +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb @@ -1,7 +1,8 @@ easyblock = 'ConfigureMake' name = 'FFTW' -version = '3.3.4-p2' +version = '3.3.4' +versionsuffix = '-PFFT-20150905' homepage = 'http://www.fftw.org' description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) @@ -10,10 +11,10 @@ description = """FFTW is a C subroutine library for computing the discrete Fouri toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True, 'pic': True} -sources = ['%s-%s.tar.gz' % (name.lower(), version.split("-")[0])] +sources = [ source_urls = [homepage] -patches = ['%(name)s_%(version)s_PFFT-20150905.patch'] +patches = ['%(name)s_%(version)s%s.patch' % versionsuffix] builddependencies = [ ('Autotools', '20150215'), diff --git a/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2_PFFT-20150905.patch b/easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-PFFT-20150905.patch similarity index 100% rename from easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-p2_PFFT-20150905.patch rename to easybuild/easyconfigs/f/FFTW/FFTW_3.3.4-PFFT-20150905.patch diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb index 5501b66a20..5f7abe5f1f 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb @@ -26,7 +26,7 @@ dependencies = [ ('libxc', '2.2.2'), ('netCDF', '4.3.3.1'), ('netCDF-Fortran', '4.4.2'), - ('FFTW', '3.3.4-p2'), + ('FFTW', '3.3.4', '-PFFT-20150905'), ('PFFT', '1.0.8-alpha'), ('ETSF_IO', '1.0.4'), ('GSL', '1.16'), @@ -34,9 +34,10 @@ dependencies = [ configopts = '--disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' -configopts += '--with-blas="-L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-blacs="-L$BLACS_LIB_DIR $LIBBLACS" ' -configopts += '--with-scalapack="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK" ' +configopts += '--with-blas="-L$MKLROOT/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential' +configopts += ' -lmkl_core -Wl,--end-group -lpthread" ' +configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" ' +configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" ' configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' configopts += '--with-etsf-io-prefix=$EBROOTETSF_IO ' configopts += '--with-pfft-prefix=$EBROOTPFFT --with-mpifftw-prefix=$EBROOTFFTW ' -- GitLab From 99f95e5050d0a504db3893198bcdcf068d4e4933 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 09:56:13 +0100 Subject: [PATCH 0474/1089] space corrected --- .../easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb index 9929d550c8..ff45e5cf97 100644 --- a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb @@ -36,7 +36,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['bin/fltk-config','bin/fluid'], + 'files': ['bin/fltk-config', 'bin/fluid'], 'dirs': ['lib'], } -- GitLab From fdfbe72fffe6f8fcd21250b3140b301796cf74f6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 09:56:42 +0100 Subject: [PATCH 0475/1089] fix style & sync issues in FastQC easyconfigs --- .../f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb | 12 +++++++----- .../f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb | 10 ++++++---- .../f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb | 10 ++++++---- .../f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb | 10 ++++++---- .../f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb | 10 ++++++---- 5 files changed, 31 insertions(+), 21 deletions(-) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb index cff5f57f05..dd8206547e 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb @@ -6,7 +6,7 @@ # License:: MIT/GPL # ## -easyblock = "PackedBinary" +easyblock = 'PackedBinary' name = 'FastQC' version = '0.10.1' @@ -29,12 +29,14 @@ javaver = '1.7.0_80' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ['chmod +x %(installdir)s/fastqc'] +postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] + +modextrapaths = {'PATH': ['']} sanity_check_paths = { - 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.32.jar"], - 'dirs': ["Contaminants", "Help", "Templates", "uk"], + 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', + 'README.txt', 'RELEASE_NOTES.txt', 'run_fastqc.bat', 'sam-1.32.jar'], + 'dirs': ['Contaminants', 'Help', 'Templates', 'uk'], } sanity_check_commands = [('fastqc', '-v')] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb index ca09cb6324..bfe51bfeb2 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb @@ -21,12 +21,14 @@ javaver = '1.7.0_60' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ['chmod +x %(installdir)s/fastqc'] +postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] + +modextrapaths = {'PATH': ['']} sanity_check_paths = { - 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar"], - 'dirs': ["Contaminants", "Help", "Templates", "uk", 'net', 'org'], + 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', + 'README.txt', 'RELEASE_NOTES.txt', 'run_fastqc.bat', 'sam-1.103.jar'], + 'dirs': ['Configuration', 'Help', 'Templates', 'uk', 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb index 17029e5d5a..6cc20e3f8a 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb @@ -21,12 +21,14 @@ javaver = '1.7.0_80' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ['chmod +x %(installdir)s/fastqc'] +postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] + +modextrapaths = {'PATH': ['']} sanity_check_paths = { - 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", "LICENSE_JHDF5.txt" - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar", "cisd-jhdf5.jar"], - 'dirs': ['Configuration', "Contaminants", "Help", "Templates", "uk", 'net', 'org'], + 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', 'LICENSE_JHDF5.txt', + 'README.txt', 'RELEASE_NOTES.txt', 'run_fastqc.bat', 'sam-1.103.jar', 'cisd-jhdf5.jar'], + 'dirs': ['Configuration', 'Help', 'Templates', 'uk', 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb index 677e8d7c74..7046190a29 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb @@ -21,12 +21,14 @@ javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ['chmod +x %(installdir)s/fastqc'] +postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] + +modextrapaths = {'PATH': ['']} sanity_check_paths = { - 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", "LICENSE_JHDF5.txt" - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar", "cisd-jhdf5.jar"], - 'dirs': ['Configuration', "Contaminants", "Help", "Templates", "uk", 'net', 'org'], + 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', 'LICENSE_JHDF5.txt', + 'README.txt', 'RELEASE_NOTES.txt', 'run_fastqc.bat', 'sam-1.103.jar', 'cisd-jhdf5.jar'], + 'dirs': ['Configuration', 'Help', 'Templates', 'uk', 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb index ddfb27a3db..231ac6979f 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb @@ -21,12 +21,14 @@ javaver = '1.8.0_74' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ['chmod +x %(installdir)s/fastqc'] +postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] + +modextrapaths = {'PATH': ['']} sanity_check_paths = { - 'files': ["fastqc", "fastqc_icon.ico", "INSTALL.txt", "jbzip2-0.9.jar", "LICENSE.txt", "LICENSE_JHDF5.txt" - "README.txt", "RELEASE_NOTES.txt", "run_fastqc.bat", "sam-1.103.jar", "cisd-jhdf5.jar"], - 'dirs': ['Configuration', "Contaminants", "Help", "Templates", "uk", 'net', 'org'], + 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', 'LICENSE_JHDF5.txt', + 'README.txt', 'RELEASE_NOTES.txt', 'run_fastqc.bat', 'sam-1.103.jar', 'cisd-jhdf5.jar'], + 'dirs': ['Configuration', 'Help', 'Templates', 'uk', 'net', 'org'], } sanity_check_commands = [('fastqc', '-v')] -- GitLab From 92820a52fbe08d5f5c6ed49ef55527faec620549 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 10:07:43 +0100 Subject: [PATCH 0476/1089] blas/blacs/scalapack issues part III --- .../easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb | 2 +- .../easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb index 80bd65820f..51541a8e59 100644 --- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb @@ -14,7 +14,7 @@ toolchainopts = {'optarch': True, 'pic': True} sources = [ source_urls = [homepage] -patches = ['%(name)s_%(version)s%s.patch' % versionsuffix] +patches = ['%(name)s_%(version)s%(versionsuffix)s.patch'] builddependencies = [ ('Autotools', '20150215'), diff --git a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb index 5f7abe5f1f..e3cd54d745 100644 --- a/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb +++ b/easybuild/easyconfigs/o/Octopus/Octopus-5.0.0-intel-2015b-mpi.eb @@ -34,8 +34,7 @@ dependencies = [ configopts = '--disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' -configopts += '--with-blas="-L$MKLROOT/lib/intel64 -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential' -configopts += ' -lmkl_core -Wl,--end-group -lpthread" ' +configopts += '--with-blas="-L$BLAS_LIB_DIR $LIBBLAS" ' configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" ' configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" ' configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' -- GitLab From dcabe8e69077cee6c19e782143be8baeb779c389 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 10:13:50 +0100 Subject: [PATCH 0477/1089] Tck/Tk dep deleted --- ...el-2016a-libX11-1.6.3.eb => FLTK-1.3.3-intel-2016a.eb} | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) rename easybuild/easyconfigs/f/FLTK/{FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb => FLTK-1.3.3-intel-2016a.eb} (85%) diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a.eb similarity index 85% rename from easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb rename to easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a.eb index ff45e5cf97..97b3b63c16 100644 --- a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-intel-2016a.eb @@ -6,10 +6,6 @@ easyblock = 'ConfigureMake' name = 'FLTK' version = '1.3.3' -libx11 = 'libX11' -libxver = '1.6.3' -versionsuffix = '-%s-%s' % (libx11, libxver) - homepage = 'http://www.fltk.org' description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL @@ -23,11 +19,9 @@ source_urls = ['http://fltk.org/pub/%(namelower)s/%(version)s/'] dependencies = [ - (libx11, libxver), + ('libX11', '1.6.3'), ('libXcursor', '1.1.14'), ('libXinerama', '1.1.3'), - ('Tcl', '8.6.4'), - ('Tk', '8.6.4', versionsuffix), ('Mesa', '11.1.2'), ('libGLU', '9.0.0'), ('libpng', '1.6.21'), -- GitLab From 35e5db373f1eafd352cedca92094117eac01c409 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 10:19:06 +0100 Subject: [PATCH 0478/1089] fix libxml2 conflict --- easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb index 1a6974652c..d439d240eb 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb @@ -15,8 +15,8 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.6'), - ('libxml2', '2.9.2'), + ('libxml2', '2.9.3', '-Python-2.7.11'), ] -builddependencies = [('Python', '2.7.10')] +builddependencies = [('Python', '2.7.11')] moduleclass = 'vis' -- GitLab From edaa152bd88b122534a0ea45f264dfe9793edb4f Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 10:29:23 +0100 Subject: [PATCH 0479/1089] comment corrected --- easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb index 67f36525e6..0261adb42f 100644 --- a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb @@ -12,7 +12,8 @@ and higher dimensions. Qhull implements the Quickhull algorithm for computing th toolchain = {'name': 'intel', 'version': '2016a'} -#recently checkged the Unix version numbering see https://github.com/Homebrew/homebrew-science/issues/3353 +# Recently changed the Unix version numbering see http://www.qhull.org/src/Changes.txt +# and https://github.com/Homebrew/homebrew-science/issues/3353 sources = ['%(namelower)s-2015-src-7.2.0.tgz'] source_urls = ['http://www.qhull.org/download/'] -- GitLab From 23e89aadc1658f84565030679b8730418ea924d5 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 10:52:19 +0100 Subject: [PATCH 0480/1089] version problems --- easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb index 0261adb42f..0fcce0e702 100644 --- a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb @@ -14,7 +14,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} # Recently changed the Unix version numbering see http://www.qhull.org/src/Changes.txt # and https://github.com/Homebrew/homebrew-science/issues/3353 -sources = ['%(namelower)s-2015-src-7.2.0.tgz'] +sources = ['%(namelower)s-%(version_major)-src-7.%(version_minor).0.tgz'] source_urls = ['http://www.qhull.org/download/'] patches = [ -- GitLab From 9e66df1369e5d31eb98dac9882ef648659f760ac Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 10:55:44 +0100 Subject: [PATCH 0481/1089] fftw source corrected --- .../easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb index 51541a8e59..d127590485 100644 --- a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2015b-PFFT-20150905.eb @@ -11,7 +11,7 @@ description = """FFTW is a C subroutine library for computing the discrete Fouri toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True, 'pic': True} -sources = [ +sources = [SOURCELOWER_TAR_GZ] source_urls = [homepage] patches = ['%(name)s_%(version)s%(versionsuffix)s.patch'] -- GitLab From fd4a651e488f06b79db7c47991207fac6005faec Mon Sep 17 00:00:00 2001 From: perettig Date: Tue, 8 Mar 2016 10:57:54 +0100 Subject: [PATCH 0482/1089] add virtualenv for python 2.7.11 --- easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb | 3 +++ easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb | 3 +++ easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb | 3 +++ .../p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb | 3 +++ easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb | 3 +++ 5 files changed, 15 insertions(+) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb index 34c45f4ac7..b360b95e8c 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb @@ -126,6 +126,9 @@ exts_list = [ 'source_tmpl': '%(name)s-%(version)s.zip', 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], }), + ('virtualenv', '14.0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb index deaca9e5fd..2556554c13 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb @@ -126,6 +126,9 @@ exts_list = [ 'source_tmpl': '%(name)s-%(version)s.zip', 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], }), + ('virtualenv', '14.0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb index 74d0c82b50..3976e80bf2 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb @@ -129,6 +129,9 @@ exts_list = [ 'source_tmpl': '%(name)s-%(version)s.zip', 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], }), + ('virtualenv', '14.0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb index 87032c0ef5..62884700e2 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb @@ -131,6 +131,9 @@ exts_list = [ 'source_tmpl': '%(name)s-%(version)s.zip', 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], }), + ('virtualenv', '14.0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb index 6819a492c9..1ecb34bdf1 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb @@ -129,6 +129,9 @@ exts_list = [ 'source_tmpl': '%(name)s-%(version)s.zip', 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], }), + ('virtualenv', '14.0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], + }), ] moduleclass = 'lang' -- GitLab From 21dd43f705080266b128fc592da7e12870d4584c Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 11:02:13 +0100 Subject: [PATCH 0483/1089] {tools}[intel-2016a] GLPK 4.58 (REVIEW) --- .../g/GLPK/GLPK-4.58-intel-2016a.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLPK/GLPK-4.58-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-4.58-intel-2016a.eb b/easybuild/easyconfigs/g/GLPK/GLPK-4.58-intel-2016a.eb new file mode 100644 index 0000000000..07ed2e7997 --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-4.58-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'GLPK' +version = '4.58' + +homepage = 'https://www.gnu.org/software/glpk/' +description = """The GLPK (GNU Linear Programming Kit) package is intended for + solving large-scale linear programming (LP), + mixed integer programming (MIP), and other related problems. + It is a set of routines written in ANSI C + and organized in the form of a callable library.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://ftp.gnu.org/gnu/%(namelower)s/'] + +dependencies = [('GMP', '6.1.0')] + +configopts = "--with-gmp" + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/glpk.h'] + + ['lib/libglpk.%s' % x for x in [SHLIB_EXT, 'a']], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From c316d78c2ab2c50039f5a85d1f4426fe4d0a0aba Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 11:34:17 +0100 Subject: [PATCH 0484/1089] intermezzo --- .../f/freeglut/freeglut-3.0.0-intel-2016a.eb | 26 ++++++++++++++++ .../g/GL2PS/GL2PS-1.3.9-intel-2016a.eb | 30 ++++++++++++++++++ .../l/libXi/libXi-1.7.6-intel-2016a.eb | 30 ++++++++++++++++++ .../libXrandr/libXrandr-1.5.0-intel-2016a.eb | 31 +++++++++++++++++++ .../randrproto-1.5.0-intel-2016a.eb | 19 ++++++++++++ 5 files changed, 136 insertions(+) create mode 100644 easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb new file mode 100644 index 0000000000..50285c0962 --- /dev/null +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'freeglut' +version = '3.0.0' + +homepage = 'http://freeglut.sourceforge.net/' +description = "freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library." + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(name)s'] + +builddependencies = [('CMake', '3.4.3')] + +dependencies = [ + ('libXi', '1.7.6'), + ('libXrandr', '1.5.0'), +] + +sanity_check_paths = { + 'files': ['lib64/libglut.a', 'lib64/libglut.%s' % SHLIB_EXT], + 'dirs': ['include/GL'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb new file mode 100644 index 0000000000..640e02a1af --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.3.9' + +homepage = 'http://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXi', '1.7.6'), + ('libXmu', '1.1.2'), + ('Mesa', '11.1.2'), + ('libGLU', '9.0.0'), + ('freeglut', '3.0.0'), + ('libpng', '1.6.21'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.so'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb new file mode 100644 index 0000000000..265985f5e5 --- /dev/null +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' +name = 'libXi' +version = '1.7.6' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """LibXi provides an X Window System client interface to the XINPUT extension to the X protocol.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), + ('inputproto', '2.3.1'), + ('xorg-macros', '1.19.0'), +] + +dependencies = [ + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/XInput.h', 'include/X11/extensions/XInput2.h', 'lib/libXi.%s' % SHLIB_EXT, 'lib/libXi.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-intel-2016a.eb b/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-intel-2016a.eb new file mode 100644 index 0000000000..d7c99042a3 --- /dev/null +++ b/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXrandr' +version = '1.5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Resize, Rotate and Reflection extension library""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('randrproto', '1.5.0'), + ('renderproto', '0.11'), + ('xextproto', '7.3.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('libXrender', '0.9.9'), +] + +sanity_check_paths = { + 'files': ['lib/libXrandr.%s' % SHLIB_EXT, 'lib/libXrandr.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb new file mode 100644 index 0000000000..278cc7bbbf --- /dev/null +++ b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'randrproto' +version = '1.5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrandr protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['randr.h', 'randrproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From ed0d9428cc22e8503c90334a23b7fdce933f00ff Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 11:35:18 +0100 Subject: [PATCH 0485/1089] ssssss.... --- easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb index 0fcce0e702..4b32731c89 100644 --- a/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2015.2-intel-2016a.eb @@ -14,7 +14,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} # Recently changed the Unix version numbering see http://www.qhull.org/src/Changes.txt # and https://github.com/Homebrew/homebrew-science/issues/3353 -sources = ['%(namelower)s-%(version_major)-src-7.%(version_minor).0.tgz'] +sources = ['%(namelower)s-%(version_major)s-src-7.%(version_minor)s.0.tgz'] source_urls = ['http://www.qhull.org/download/'] patches = [ -- GitLab From 165a9dcdce97de0b25aeb446876292c37e5d8e93 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 11:38:58 +0100 Subject: [PATCH 0486/1089] PFFT FFTW name corrected --- easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb b/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb index 4e9dda8fed..cbbba0ee73 100644 --- a/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb +++ b/easybuild/easyconfigs/p/PFFT/PFFT-1.0.8-alpha-intel-2015b.eb @@ -15,7 +15,7 @@ sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://www.tu-chemnitz.de/~potts/workgroup/pippig/software/'] dependencies = [ - ('FFTW', '3.3.4-p2'), + ('FFTW', '3.3.4', '-PFFT-20150905'), ('Autotools', '20150215'), ] -- GitLab From 2f7107a4a43e5988e7f71ae6667ba42df3851c52 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 11:50:07 +0100 Subject: [PATCH 0487/1089] fix GLib/Python version conflict --- .../GLib-2.46.0-intel-2015b-Python-2.7.11.eb | 24 +++++++++++++++++++ .../g/GLib/GLib-2.46.0-intel-2015b.eb | 4 ++-- .../Qt/Qt-4.8.7-intel-2015b-Python-2.7.11.eb | 2 +- .../Qt5/Qt5-5.5.1-intel-2015b-Mesa-11.0.8.eb | 2 +- 4 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b-Python-2.7.11.eb new file mode 100644 index 0000000000..a273876d40 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b-Python-2.7.11.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.46.0' +pyver = '2.7.11' +versionsuffix = '-Python-%s' % pyver + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://ftp.gnome.org/pub/gnome/sources/glib/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.6'), + ('libxml2', '2.9.3', versionsuffix), +] +builddependencies = [('Python', pyver)] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb index d439d240eb..dfa82e6a76 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb @@ -15,8 +15,8 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.6'), - ('libxml2', '2.9.3', '-Python-2.7.11'), + ('libxml2', '2.9.3', '-Python-2.7.10'), ] -builddependencies = [('Python', '2.7.11')] +builddependencies = [('Python', '2.7.10')] moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2015b-Python-2.7.11.eb index 9f56d8e9fb..de2e107422 100644 --- a/easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-intel-2015b-Python-2.7.11.eb @@ -16,7 +16,7 @@ sources = ['%(namelower)s-everywhere-opensource-src-%(version)s.tar.gz'] patches = ['Qt-%(version)s_phonon-export.patch'] dependencies = [ - ('GLib', '2.46.0'), + ('GLib', '2.46.0', versionsuffix), ('libX11', '1.6.3', versionsuffix), ('libXt', '1.1.5', versionsuffix), ('libXrender', '0.9.9', versionsuffix), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.5.1-intel-2015b-Mesa-11.0.8.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.5.1-intel-2015b-Mesa-11.0.8.eb index 037b082375..f213e54acc 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.5.1-intel-2015b-Mesa-11.0.8.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.5.1-intel-2015b-Mesa-11.0.8.eb @@ -18,7 +18,7 @@ sources = ['qt-everywhere-opensource-src-%(version)s.tar.xz'] pysuff = '-Python-2.7.11' dependencies = [ - ('GLib', '2.46.0'), + ('GLib', '2.46.0', pysuff), ('libX11', '1.6.3', pysuff), ('libXt', '1.1.5', pysuff), ('libXi', '1.7.4', pysuff), -- GitLab From 642ff13b533609863f3432e8cfdb3f6317bf40ef Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 12:21:25 +0100 Subject: [PATCH 0488/1089] stick to libxml2 2.9.2 in GLib 2.46.0 easyconfig (w/ Python 2.7.10) --- easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb index dfa82e6a76..1a6974652c 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.46.0-intel-2015b.eb @@ -15,7 +15,7 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('libffi', '3.2.1'), ('gettext', '0.19.6'), - ('libxml2', '2.9.3', '-Python-2.7.10'), + ('libxml2', '2.9.2'), ] builddependencies = [('Python', '2.7.10')] -- GitLab From 6949836c17ad9cabc49b4c8b7617067e547f2a81 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 13:34:46 +0200 Subject: [PATCH 0489/1089] add easyconfig Autoconf-2.69-gimkl-2.11.5.eb, add easyconfig Automake-1.15-gimkl-2.11.5.eb, add easyconfig Autotools-20150215-gimkl-2.11.5.eb, add easyconfig GMP-6.1.0-gimkl-2.11.5.eb, add easyconfig Python-2.7.11-gimkl-2.11.5.eb, add easyconfig SQLite-3.9.2-gimkl-2.11.5.eb, add easyconfig libtool-2.4.6-gimkl-2.11.5.eb --- .../a/Autoconf/Autoconf-2.69-gimkl-2.11.5.eb | 26 ++++ .../a/Automake/Automake-1.15-gimkl-2.11.5.eb | 33 +++++ .../Autotools-20150215-gimkl-2.11.5.eb | 17 +++ .../g/GMP/GMP-6.1.0-gimkl-2.11.5.eb | 30 ++++ .../l/libtool/libtool-2.4.6-gimkl-2.11.5.eb | 17 +++ .../p/Python/Python-2.7.11-gimkl-2.11.5.eb | 134 ++++++++++++++++++ .../s/SQLite/SQLite-3.9.2-gimkl-2.11.5.eb | 40 ++++++ 7 files changed, 297 insertions(+) create mode 100644 easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/a/Automake/Automake-1.15-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150215-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/g/GMP/GMP-6.1.0-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.6-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-gimkl-2.11.5.eb diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-gimkl-2.11.5.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-gimkl-2.11.5.eb new file mode 100644 index 0000000000..2a267fa96b --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-gimkl-2.11.5.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.69' + +homepage = 'http://www.gnu.org/software/autoconf/' +description = """Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can adapt the + packages to many kinds of UNIX-like systems without manual user intervention. Autoconf + creates a configuration script for a package from a template file that lists the + operating system features that the package can use, in the form of M4 macro calls.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", + "autoupdate", "ifnames"]], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-gimkl-2.11.5.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-gimkl-2.11.5.eb new file mode 100644 index 0000000000..d521a6ebe2 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-gimkl-2.11.5.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'Automake' +version = "1.15" + +homepage = 'http://www.gnu.org/software/automake/automake.html' +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('Autoconf', '2.69')] + +sanity_check_paths = { + 'files': ['bin/automake', 'bin/aclocal'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150215-gimkl-2.11.5.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-gimkl-2.11.5.eb new file mode 100644 index 0000000000..3f48668b12 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-gimkl-2.11.5.eb @@ -0,0 +1,17 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20150215' # date of the most recent change + +homepage = 'http://autotools.io' +description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +dependencies = [ + ('Autoconf', '2.69'), # 20120424 + ('Automake', '1.15'), # 20150105 + ('libtool', '2.4.6'), # 20150215 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.1.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/g/GMP/GMP-6.1.0-gimkl-2.11.5.eb new file mode 100644 index 0000000000..3a93d0ea86 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.1.0-gimkl-2.11.5.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.1.0' + +homepage = 'http://gmplib.org/' +description = """GMP is a free library for arbitrary precision arithmetic, +operating on signed integers, rational numbers, and floating point numbers. """ + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'pic': True, 'precise': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://ftp.gnu.org/gnu/gmp'] + +builddependencies = [ + ('Autotools', '20150215'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libgmp.%s' % SHLIB_EXT, 'include/gmp.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-gimkl-2.11.5.eb new file mode 100644 index 0000000000..03bf53f395 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-gimkl-2.11.5.eb @@ -0,0 +1,17 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.6' + +homepage = 'http://www.gnu.org/software/libtool' +description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries + behind a consistent, portable interface.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [('M4', '1.4.17')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb new file mode 100644 index 0000000000..9c41844d2f --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb @@ -0,0 +1,134 @@ +name = 'Python' +version = '2.7.11' + +homepage = 'http://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.10.1' +scipyversion = '0.16.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), + ('SQLite', '3.9.2'), + ('Tk', '8.6.4', '-no-X11'), + ('GMP', '6.1.0'), + # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's + # nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +# package versions updated May 28th 2015 +exts_list = [ + ('setuptools', '18.7.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '7.1.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.7', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%s-sse42.patch' % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('pbr', '1.8.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], + }), + ('lockfile', '0.12.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.23.4', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.10.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.2', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.2', { + 'source_tmpl': '%(name)s-%(version)s.post2.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '4.0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.1.0', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.13', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.16.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.18', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), + ('funcsigs', '0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/f/funcsigs'], + }), + ('mock', '1.3.0', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mock'], + }), + ('pytz', '2015.7', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pytz'], + }), + ('pandas', '0.17.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), + ('enum34', '1.1.2', { + 'modulename': 'enum', + 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], + }), + ('bitstring', '3.1.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-gimkl-2.11.5.eb new file mode 100644 index 0000000000..8d257ce664 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-gimkl-2.11.5.eb @@ -0,0 +1,40 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.9.2' + +homepage = 'http://www.sqlite.org/' +description = 'SQLite: SQL Database Engine in a C Library' + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2015/'] +version_str = '%%(version_major)s%s00' % ''.join('%02d' % int(x) for x in version.split('.')[1:]) +sources = ['sqlite-autoconf-%s.tar.gz' % version_str] + +dependencies = [ + ('libreadline', '6.3'), + ('Tcl', '8.6.4'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'devel' -- GitLab From 9d19e68f0e6ccbbe6fcfd09dcad6202c4a8efd0f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 13:35:51 +0200 Subject: [PATCH 0490/1089] add easyconfig CMake-3.4.3-gimkl-2.11.5.eb --- .../c/CMake/CMake-3.4.3-gimkl-2.11.5.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.4.3-gimkl-2.11.5.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.4.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/c/CMake/CMake-3.4.3-gimkl-2.11.5.eb new file mode 100644 index 0000000000..f5527c16d6 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.4.3-gimkl-2.11.5.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.4.3' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '5.9'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1p'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From ca146e53fc09c370a5d2aa4f1d06bc8fb736bc51 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 13:42:00 +0200 Subject: [PATCH 0491/1089] add easyconfig fixesproto-5.0-gimkl-2.11.5.eb, add easyconfig fontsproto-2.1.3-gimkl-2.11.5.eb, add easyconfig freetype-2.6.2-gimkl-2.11.5.eb, add easyconfig inputproto-2.3.1-gimkl-2.11.5.eb, add easyconfig kbproto-1.0.7-gimkl-2.11.5.eb, add easyconfig libX11-1.6.3-gimkl-2.11.5.eb, add easyconfig libXau-1.0.8-gimkl-2.11.5.eb, add easyconfig libXdamage-1.1.4-gimkl-2.11.5.eb, add easyconfig libXdmcp-1.1.2-gimkl-2.11.5.eb, add easyconfig libXext-1.3.3-gimkl-2.11.5.eb, add easyconfig libXfixes-5.0.1-gimkl-2.11.5.eb, add easyconfig libXfont-1.5.1-gimkl-2.11.5.eb, add easyconfig libfontenc-1.1.3-gimkl-2.11.5.eb, add easyconfig libpng-1.6.21-gimkl-2.11.5.eb, add easyconfig libpthread-stubs-0.3-gimkl-2.11.5.eb, add easyconfig libxcb-1.11.1-gimkl-2.11.5.eb, add easyconfig xextproto-7.3.0-gimkl-2.11.5.eb, add easyconfig xorg-macros-1.19.0-gimkl-2.11.5.eb, add easyconfig xproto-7.0.28-gimkl-2.11.5.eb, add easyconfig xtrans-1.3.5-gimkl-2.11.5.eb --- .../fixesproto/fixesproto-5.0-gimkl-2.11.5.eb | 19 ++++++++++ .../fontsproto-2.1.3-gimkl-2.11.5.eb | 20 ++++++++++ .../f/freetype/freetype-2.6.2-gimkl-2.11.5.eb | 22 +++++++++++ .../inputproto-2.3.1-gimkl-2.11.5.eb | 19 ++++++++++ .../k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb | 19 ++++++++++ .../l/libX11/libX11-1.6.3-gimkl-2.11.5.eb | 37 +++++++++++++++++++ .../l/libXau/libXau-1.0.8-gimkl-2.11.5.eb | 25 +++++++++++++ .../libXdamage-1.1.4-gimkl-2.11.5.eb | 25 +++++++++++++ .../l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb | 25 +++++++++++++ .../l/libXext/libXext-1.3.3-gimkl-2.11.5.eb | 33 +++++++++++++++++ .../libXfixes/libXfixes-5.0.1-gimkl-2.11.5.eb | 24 ++++++++++++ .../l/libXfont/libXfont-1.5.1-gimkl-2.11.5.eb | 31 ++++++++++++++++ .../libfontenc-1.1.3-gimkl-2.11.5.eb | 23 ++++++++++++ .../l/libpng/libpng-1.6.21-gimkl-2.11.5.eb | 26 +++++++++++++ .../libpthread-stubs-0.3-gimkl-2.11.5.eb | 20 ++++++++++ .../l/libxcb/libxcb-1.11.1-gimkl-2.11.5.eb | 33 +++++++++++++++++ .../xextproto/xextproto-7.3.0-gimkl-2.11.5.eb | 24 ++++++++++++ .../xorg-macros-1.19.0-gimkl-2.11.5.eb | 22 +++++++++++ .../x/xproto/xproto-7.0.28-gimkl-2.11.5.eb | 23 ++++++++++++ .../x/xtrans/xtrans-1.3.5-gimkl-2.11.5.eb | 22 +++++++++++ 20 files changed, 492 insertions(+) create mode 100644 easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.6.2-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libX11/libX11-1.6.3-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libpng/libpng-1.6.21-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-gimkl-2.11.5.eb diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb new file mode 100644 index 0000000000..88fa55c14d --- /dev/null +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'fixesproto' +version = '5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org FixesProto protocol headers.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb new file mode 100644 index 0000000000..0719ec51f4 --- /dev/null +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'fontsproto' +version = '2.1.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X11 font extension wire protocol" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-gimkl-2.11.5.eb new file mode 100644 index 0000000000..fec100e1f0 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-gimkl-2.11.5.eb @@ -0,0 +1,22 @@ +name = 'freetype' +version = '2.6.2' + +homepage = 'http://freetype.org' +description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and + portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display + servers, font conversion tools, text image generation tools, and many other products as well.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('libpng', '1.6.21')] + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, + 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb new file mode 100644 index 0000000000..1a5db1eefa --- /dev/null +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'inputproto' +version = '2.3.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org InputProto protocol headers.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb new file mode 100644 index 0000000000..050b2bda55 --- /dev/null +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'kbproto' +version = '1.0.7' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org KBProto protocol headers.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-gimkl-2.11.5.eb new file mode 100644 index 0000000000..52b296562e --- /dev/null +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-gimkl-2.11.5.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libX11' +version = '1.6.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xextproto', '7.3.0'), + ('xcb-proto', '1.11', '', True), + ('inputproto', '2.3.1'), + ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), + ('kbproto', '1.0.7'), + ('xtrans', '1.3.5'), +] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'cursorfont.h', 'ImUtil.h', 'Xcms.h', 'XKBlib.h', 'XlibConf.h', 'Xlib.h', 'Xlibint.h', 'Xlib-xcb.h', + 'Xlocale.h', 'Xregion.h', 'Xresource.h', 'Xutil.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb new file mode 100644 index 0000000000..2e88286d07 --- /dev/null +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXau' +version = '1.0.8' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXau package contains a library implementing the X11 Authorization Protocol. +This is useful for restricting client access to the display.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-gimkl-2.11.5.eb new file mode 100644 index 0000000000..e140118bf0 --- /dev/null +++ b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-gimkl-2.11.5.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdamage' +version = '1.1.4' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Damage extension library""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +dependencies = [ + ('libX11', '1.6.3'), + ('libxcb', '1.11.1'), + ('libXau', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xdamage.h', 'lib/libXdamage.%s' % SHLIB_EXT, 'lib/libXdamage.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb new file mode 100644 index 0000000000..9233da540e --- /dev/null +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdmcp' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is +useful for allowing clients to interact with the X Display Manager. +""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] +sanity_check_paths = { + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb new file mode 100644 index 0000000000..9ce9ef676f --- /dev/null +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libXext' +version = '1.3.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """Common X Extensions library""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'dpms.h', 'extutil.h', 'MITMisc.h', 'multibuf.h', 'security.h', 'shape.h', 'sync.h', 'Xag.h', 'Xcup.h', + 'Xdbe.h', 'XEVI.h', 'Xext.h', 'Xge.h', 'XLbx.h', 'XShm.h', 'xtestext1.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-gimkl-2.11.5.eb new file mode 100644 index 0000000000..7f710e144e --- /dev/null +++ b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-gimkl-2.11.5.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libXfixes' +version = '5.0.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Fixes extension library""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fixesproto', '5.0'), + ('xextproto', '7.3.0'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xfixes.h', 'lib/libXfixes.a', 'lib/libXfixes.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-gimkl-2.11.5.eb new file mode 100644 index 0000000000..9695dfd53a --- /dev/null +++ b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-gimkl-2.11.5.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXfont' +version = '1.5.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X font libary""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fontsproto', '2.1.3'), + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), + ('xorg-macros', '1.19.0'), + ('libfontenc', '1.1.3'), +] +dependencies = [ + ('libX11', '1.6.3'), + ('freetype', '2.6.2'), +] + +sanity_check_paths = { + 'files': ['lib/libXfont.%s' % SHLIB_EXT, 'lib/libXfont.a'], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-gimkl-2.11.5.eb new file mode 100644 index 0000000000..7e68f16635 --- /dev/null +++ b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-gimkl-2.11.5.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfontenc' +version = '1.1.3' + +homepage = 'http://www.freedesktop.org/wiki/Software/xlibs/' +description = """X11 font encoding library""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['include/X11/fonts/fontenc.h', 'lib/libfontenc.%s' % SHLIB_EXT, 'lib/libfontenc.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.21-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-gimkl-2.11.5.eb new file mode 100644 index 0000000000..9b5b14067a --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-gimkl-2.11.5.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.21' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('zlib', '1.2.8')] + +configopts = "--with-pic" + +majminver = ''.join(version.split('.')[:2]) +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', 'lib/libpng.a', + 'lib/libpng.%s' % SHLIB_EXT, 'lib/libpng%s.a' % majminver, 'lib/libpng%s.%s' % (majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-gimkl-2.11.5.eb new file mode 100644 index 0000000000..b29ddd6099 --- /dev/null +++ b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-gimkl-2.11.5.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libpthread-stubs' +version = '0.3' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sanity_check_paths = { + 'files': ['lib/pkgconfig/pthread-stubs.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-gimkl-2.11.5.eb new file mode 100644 index 0000000000..ab5bcf6b38 --- /dev/null +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-gimkl-2.11.5.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libxcb' +version = '1.11.1' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('xcb-proto', '1.11', '', True), + ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), +] +dependencies = [ + ('libXau', '1.0.8'), + ('libXdmcp', '1.1.2'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], + 'dirs': ['include/xcb', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb new file mode 100644 index 0000000000..1800fbf094 --- /dev/null +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xextproto' +version = '7.3.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """XExtProto protocol headers.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'agproto.h', 'cupproto.h', 'dbeproto.h', 'dpmsproto.h', 'EVIproto.h', 'geproto.h', 'lbxproto.h', + 'mitmiscproto.h', 'multibufproto.h', 'securproto.h', 'shapeproto.h', 'shm.h', 'shmstr.h', 'syncproto.h', + 'xtestconst.h', 'xtestext1proto.h' + ] + ], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-gimkl-2.11.5.eb new file mode 100644 index 0000000000..536fa8c6ff --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-gimkl-2.11.5.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.0' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb new file mode 100644 index 0000000000..2591e436f9 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.28' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', + 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', + 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', + 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-gimkl-2.11.5.eb new file mode 100644 index 0000000000..4bfb1d13fb --- /dev/null +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-gimkl-2.11.5.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xtrans' +version = '1.3.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """xtrans includes a number of routines to make X implementations transport-independent; + at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet. +""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 4b32067d95dc828d21e9b1be3b959669c99164e4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 14:02:49 +0100 Subject: [PATCH 0492/1089] remove unneeded specs in FastQC easyconfigs --- easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb | 4 +--- easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb | 4 +--- easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb | 4 +--- easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb | 4 +--- easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb | 4 +--- 5 files changed, 5 insertions(+), 15 deletions(-) diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb index dd8206547e..5441477664 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.10.1-Java-1.7.0_80.eb @@ -29,9 +29,7 @@ javaver = '1.7.0_80' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] - -modextrapaths = {'PATH': ['']} +postinstallcmds = ["chmod +x %(installdir)s/fastqc"] sanity_check_paths = { 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb index bfe51bfeb2..89f6650b3c 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.2-Java-1.7.0_60.eb @@ -21,9 +21,7 @@ javaver = '1.7.0_60' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] - -modextrapaths = {'PATH': ['']} +postinstallcmds = ["chmod +x %(installdir)s/fastqc"] sanity_check_paths = { 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb index 6cc20e3f8a..fd7fff1b16 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.3-Java-1.7.0_80.eb @@ -21,9 +21,7 @@ javaver = '1.7.0_80' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] - -modextrapaths = {'PATH': ['']} +postinstallcmds = ["chmod +x %(installdir)s/fastqc"] sanity_check_paths = { 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', 'LICENSE_JHDF5.txt', diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb index 7046190a29..7c531942b3 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_66.eb @@ -21,9 +21,7 @@ javaver = '1.8.0_66' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] - -modextrapaths = {'PATH': ['']} +postinstallcmds = ["chmod +x %(installdir)s/fastqc"] sanity_check_paths = { 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', 'LICENSE_JHDF5.txt', diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb index 231ac6979f..5b6a4d51e9 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.4-Java-1.8.0_74.eb @@ -21,9 +21,7 @@ javaver = '1.8.0_74' versionsuffix = '-%s-%s' % (java, javaver) dependencies = [(java, javaver)] -postinstallcmds = ["chmod +x %(installdir)s/fastqc %(installdir)s/run_fastqc.bat"] - -modextrapaths = {'PATH': ['']} +postinstallcmds = ["chmod +x %(installdir)s/fastqc"] sanity_check_paths = { 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', 'LICENSE.txt', 'LICENSE_JHDF5.txt', -- GitLab From 8f587972c5fb8c57eb837458469e82bbb9dd58c5 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Tue, 8 Mar 2016 15:04:10 +0100 Subject: [PATCH 0493/1089] Fix remarks --- .../m/mutil/mutil-1.822.3-intel-2016a.eb | 10 +- .../p/Perl/Perl-5.22.1-intel-2016a.eb | 110 +++++++++--------- .../s/shift/shift-4.0-intel-2016a.eb | 2 +- 3 files changed, 63 insertions(+), 59 deletions(-) diff --git a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb index 4b04365a5a..363a280e90 100644 --- a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb +++ b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb @@ -1,5 +1,4 @@ name = 'mutil' -version = '1.822.3' homepage = 'http://people.nas.nasa.gov/~kolano/projects/mutil.html' description = """Mutil is a set of standard utilities that have been parallelized to maximize performance on @@ -9,12 +8,16 @@ GNU coreutils, which have achieved 10/30x rates on one/many nodes. toolchain = {'name': 'intel', 'version': '2016a'} +coreutils_maj = '8' +coreutils_min = '22' +version = '1.%s%s.3' % (coreutils_maj, coreutils_min) + sources = [ - "coreutils-8.22.tar.xz", # must be first + "coreutils-%s.%s.tar.xz" % (coreutils_maj, coreutils_min), # must be first SOURCE_TGZ, ] source_urls = [ - ('http://sourceforge.net/projects/mutil/files', 'download'), + SOURCEFORGE_SOURCE, 'http://ftpmirror.gnu.org/coreutils', ] @@ -24,6 +27,7 @@ dependencies = [ ('libgcrypt', '1.6.5'), ] +# needs 1.14 to work builddependencies = [('Automake', '1.14')] sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb index b46dec87b6..2729eb6536 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb @@ -7,11 +7,11 @@ description = """Larry Wall's Practical Extraction and Report Language""" toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True, 'pic': True} -source_urls = ['http://www.cpan.org/src/5.0'] +source_urls = ['http://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] exts_list = [ - ('Config::General', '2.58', { + ('Config::General', '2.60', { 'source_tmpl': 'Config-General-2.58.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], }), @@ -27,7 +27,7 @@ exts_list = [ 'source_tmpl': 'ExtUtils-Helpers-0.022.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), - ('TAP::Harness::Env', '3.35', { + ('TAP::Harness::Env', '3.36', { 'source_tmpl': 'Test-Harness-3.35.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), @@ -47,7 +47,7 @@ exts_list = [ 'source_tmpl': 'Text-Glob-0.09.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], }), - ('Regexp::Common', '2013031301', { + ('Regexp::Common', '2016020301', { 'source_tmpl': 'Regexp-Common-2013031301.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], }), @@ -63,15 +63,15 @@ exts_list = [ 'source_tmpl': 'Test-Fatal-0.014.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('Test::Warnings', '0.021', { + ('Test::Warnings', '0.026', { 'source_tmpl': 'Test-Warnings-0.021.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('DateTime::Locale', '0.46', { + ('DateTime::Locale', '1.02', { 'source_tmpl': 'DateTime-Locale-0.46.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), - ('DateTime::TimeZone', '1.93', { + ('DateTime::TimeZone', '1.95', { 'source_tmpl': 'DateTime-TimeZone-1.93.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -87,11 +87,11 @@ exts_list = [ 'source_tmpl': 'Module-Runtime-0.014.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], }), - ('Try::Tiny', '0.22', { + ('Try::Tiny', '0.24', { 'source_tmpl': 'Try-Tiny-0.22.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], }), - ('Params::Validate', '1.21', { + ('Params::Validate', '1.22', { 'source_tmpl': 'Params-Validate-1.21.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -107,7 +107,7 @@ exts_list = [ 'source_tmpl': 'Class-Singleton-1.5.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], }), - ('DateTime', '1.20', { + ('DateTime', '1.25', { 'source_tmpl': 'DateTime-1.20.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -115,11 +115,11 @@ exts_list = [ 'source_tmpl': 'File-Find-Rule-Perl-1.15.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('Module::Build', '0.4214', { + ('Module::Build', '0.4216', { 'source_tmpl': 'Module-Build-0.4214.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), - ('Readonly', '2.00', { + ('Readonly', '2.01', { 'source_tmpl': 'Readonly-2.00.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SA/SANKO'], }), @@ -127,7 +127,7 @@ exts_list = [ 'source_tmpl': 'Git-0.41.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], }), - ('Tree::DAG_Node', '1.27', { + ('Tree::DAG_Node', '1.29', { 'source_tmpl': 'Tree-DAG_Node-1.27.tgz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], }), @@ -143,7 +143,7 @@ exts_list = [ 'source_tmpl': 'DBI-1.634.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], }), - ('DBD::SQLite', '1.48', { + ('DBD::SQLite', '1.50', { 'source_tmpl': 'DBD-SQLite-1.48.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], }), @@ -159,11 +159,11 @@ exts_list = [ 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/J/JU/JUERD'], }), - ('Shell', '0.72', { + ('Shell', '0.73', { 'source_tmpl': 'Shell-0.72.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], }), - ('File::Spec', '3.47', { + ('File::Spec', '3.62', { 'source_tmpl': 'PathTools-3.47.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], }), @@ -203,7 +203,7 @@ exts_list = [ 'source_tmpl': 'Test-LeakTrace-0.15.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GF/GFUJI'], }), - ('Test::Exception', '0.40', { + ('Test::Exception', '0.43', { 'source_tmpl': 'Test-Exception-0.40.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], }), @@ -211,7 +211,7 @@ exts_list = [ 'source_tmpl': 'Text-Table-1.130.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], }), - ('MIME::Types', '2.11', { + ('MIME::Types', '2.13', { 'source_tmpl': 'MIME-Types-2.11.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], }), @@ -227,7 +227,7 @@ exts_list = [ 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], }), - ('HTML::Parser', '3.71', { + ('HTML::Parser', '3.72', { 'source_tmpl': 'HTML-Parser-3.71.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), @@ -251,7 +251,7 @@ exts_list = [ 'source_tmpl': 'Class-ISA-0.36.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], }), - ('URI', '1.69', { + ('URI', '1.71', { 'source_tmpl': 'URI-1.69.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -271,7 +271,7 @@ exts_list = [ 'source_tmpl': 'Class-DBI-SQLite-0.11.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], }), - ('Pod::POM', '2.00', { + ('Pod::POM', '2.01', { 'source_tmpl': 'Pod-POM-2.00.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], }), @@ -279,7 +279,7 @@ exts_list = [ 'source_tmpl': 'Math-Round-0.07.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], }), - ('Text::Diff', '1.43', { + ('Text::Diff', '1.44', { 'source_tmpl': 'Text-Diff-1.43.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], }), @@ -287,7 +287,7 @@ exts_list = [ 'source_tmpl': 'Log-Message-Simple-0.10.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], }), - ('IO::Socket::SSL', '2.020', { + ('IO::Socket::SSL', '2.024', { 'source_tmpl': 'IO-Socket-SSL-2.020.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], }), @@ -311,7 +311,7 @@ exts_list = [ 'source_tmpl': 'IO-stringy-2.111.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], }), - ('Getopt::Long', '2.47', { + ('Getopt::Long', '2.48', { 'source_tmpl': 'Getopt-Long-2.47.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], }), @@ -335,7 +335,7 @@ exts_list = [ 'source_tmpl': 'Net-HTTP-6.09.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('Test::Deep', '0.117', { + ('Test::Deep', '1.120', { 'source_tmpl': 'Test-Deep-0.117.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), @@ -347,7 +347,7 @@ exts_list = [ 'source_tmpl': 'MRO-Compat-0.12.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BO/BOBTFISH'], }), - ('Moo', '2.000002', { + ('Moo', '2.001001', { 'source_tmpl': 'Moo-2.000002.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], }), @@ -375,7 +375,7 @@ exts_list = [ 'source_tmpl': 'IPC-Run-0.94.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], }), - ('HTML::Entities::Interpolate', '1.05', { + ('HTML::Entities::Interpolate', '1.09', { 'source_tmpl': 'HTML-Entities-Interpolate-1.05.tgz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], }), @@ -391,7 +391,7 @@ exts_list = [ 'source_tmpl': 'Class-Accessor-0.34.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], }), - ('Test::Differences', '0.63', { + ('Test::Differences', '0.64', { 'source_tmpl': 'Test-Differences-0.63.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], }), @@ -399,7 +399,7 @@ exts_list = [ 'source_tmpl': 'HTTP-Tiny-0.056.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), - ('Package::DeprecationManager', '0.14', { + ('Package::DeprecationManager', '0.15', { 'source_tmpl': 'Package-DeprecationManager-0.14.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -411,7 +411,7 @@ exts_list = [ 'source_tmpl': 'TimeDate-2.30.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], }), - ('version', '0.9912', { + ('version', '0.9915', { 'source_tmpl': 'version-0.9912.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK'], }), @@ -432,7 +432,7 @@ exts_list = [ 'source_tmpl': 'Sub-Name-0.14.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('Time::Piece', '1.30', { + ('Time::Piece', '1.31', { 'source_tmpl': 'Time-Piece-1.30.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), @@ -460,7 +460,7 @@ exts_list = [ 'source_tmpl': 'Canary-Stability-2006.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], }), - ('AnyEvent', '7.11', { + ('AnyEvent', '7.12', { 'source_tmpl': 'AnyEvent-7.11.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], }), @@ -520,7 +520,7 @@ exts_list = [ 'source_tmpl': 'XML-SAX-Writer-0.56.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], }), - ('Statistics::Descriptive', '3.0609', { + ('Statistics::Descriptive', '3.0612', { 'source_tmpl': 'Statistics-Descriptive-3.0609.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], }), @@ -528,7 +528,7 @@ exts_list = [ 'source_tmpl': 'Class-Load-0.23.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('LWP::Simple', '6.13', { + ('LWP::Simple', '6.15', { 'source_tmpl': 'libwww-perl-6.13.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -540,7 +540,7 @@ exts_list = [ 'source_tmpl': 'Package-Stash-XS-0.28.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], }), - ('GD::Graph', '1.49', { + ('GD::Graph', '1.52', { 'source_tmpl': 'GDGraph-1.49.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RUZ'], }), @@ -580,19 +580,19 @@ exts_list = [ 'source_tmpl': 'Class-Inspector-1.28.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], }), - ('Parse::RecDescent', '1.967012', { + ('Parse::RecDescent', '1.967013', { 'source_tmpl': 'Parse-RecDescent-1.967012.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], }), - ('Carp', '1.36', { + ('Carp', '1.38', { 'source_tmpl': 'Carp-1.36.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('XML::XPath', '1.13', { + ('XML::XPath', '1.33', { 'source_tmpl': 'XML-XPath-1.13.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MS/MSERGEANT'], }), - ('Capture::Tiny', '0.30', { + ('Capture::Tiny', '0.36', { 'source_tmpl': 'Capture-Tiny-0.30.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), @@ -616,7 +616,7 @@ exts_list = [ 'source_tmpl': 'Sub-Exporter-Progressive-0.001011.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], }), - ('LWP', '6.13', { + ('LWP', '6.15', { 'source_tmpl': 'libwww-perl-6.13.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -648,7 +648,7 @@ exts_list = [ 'source_tmpl': 'Text-Balanced-2.03.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], }), - ('strictures', '2.000001', { + ('strictures', '2.000002', { 'source_tmpl': 'strictures-2.000001.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], }), @@ -656,7 +656,7 @@ exts_list = [ 'source_tmpl': 'Switch-2.17.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], }), - ('File::Which', '1.19', { + ('File::Which', '1.21', { 'source_tmpl': 'File-Which-1.19.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], }), @@ -692,7 +692,7 @@ exts_list = [ 'source_tmpl': 'UNIVERSAL-moniker-0.08.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], }), - ('Exception::Class', '1.39', { + ('Exception::Class', '1.40', { 'source_tmpl': 'Exception-Class-1.39.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -724,7 +724,7 @@ exts_list = [ 'source_tmpl': 'IO-String-1.08.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), - ('XML::Simple', '2.20', { + ('XML::Simple', '2.22', { 'source_tmpl': 'XML-Simple-2.20.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], }), @@ -748,7 +748,7 @@ exts_list = [ 'source_tmpl': 'LWP-MediaTypes-6.02.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), - ('Scalar::Util', '1.42', { + ('Scalar::Util', '1.43', { 'source_tmpl': 'Scalar-List-Utils-1.42.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], }), @@ -808,7 +808,7 @@ exts_list = [ 'source_tmpl': 'Devel-CheckCompiler-0.06.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], }), - ('Log::Handler', '0.87', { + ('Log::Handler', '0.84', { 'source_tmpl': 'Log-Handler-0.87.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], }), @@ -816,11 +816,11 @@ exts_list = [ 'source_tmpl': 'DBIx-ContextualFetch-1.03.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], }), - ('HTML::Entities', '3.71', { + ('HTML::Entities', '3.72', { 'source_tmpl': 'HTML-Parser-3.71.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), - ('Devel::StackTrace', '2.00', { + ('Devel::StackTrace', '2.01', { 'source_tmpl': 'Devel-StackTrace-2.00.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -832,7 +832,7 @@ exts_list = [ 'source_tmpl': 'Set-IntSpan-1.19.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SW/SWMCD'], }), - ('Moose', '2.1603', { + ('Moose', '2.1605', { 'source_tmpl': 'Moose-2.1603.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -848,7 +848,7 @@ exts_list = [ 'source_tmpl': 'IPC-Run3-0.048.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('File::Find::Rule', '0.33', { + ('File::Find::Rule', '0.34', { 'source_tmpl': 'File-Find-Rule-0.33.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], }), @@ -868,11 +868,11 @@ exts_list = [ 'source_tmpl': 'Data-OptList-0.109.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('CPANPLUS', '0.9154', { + ('CPANPLUS', '0.9156', { 'source_tmpl': 'CPANPLUS-0.9154.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], }), - ('Test::Harness', '3.35', { + ('Test::Harness', '3.36', { 'source_tmpl': 'Test-Harness-3.35.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), @@ -880,15 +880,15 @@ exts_list = [ 'source_tmpl': 'IO-Tty-1.12.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], }), - ('Text::Soundex', '3.04', { + ('Text::Soundex', '3.05', { 'source_tmpl': 'Text-Soundex-3.04.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('Lingua::EN::PluralToSingular', '0.14', { + ('Lingua::EN::PluralToSingular', '0.18', { 'source_tmpl': 'Lingua-EN-PluralToSingular-0.14.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BK/BKB'], }), - ('Want', '0.26', { + ('Want', '0.29', { 'source_tmpl': 'Want-0.26.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], }), diff --git a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb index 62fb0dbd9d..14d911f6fc 100644 --- a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb @@ -12,7 +12,7 @@ performance and resilience for local and remote transfers through a variety of t toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TGZ] -source_urls = [('http://sourceforge.net/projects/shiftc/files', 'download')] +source_urls = [SOURCEFORGE_SOURCE] dependencies = [ ('Perl', '5.22.1'), -- GitLab From 753e200d5c6fac3ef8f3f243fed29ce9ec81b918 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 15:23:06 +0100 Subject: [PATCH 0494/1089] {vis}[intel-2016a] GL2PS 1.3.9 (REVIEW) --- .../f/freeglut/freeglut-3.0.0-intel-2016a.eb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb index 50285c0962..095b105fda 100644 --- a/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb @@ -14,10 +14,21 @@ source_urls = ['http://prdownloads.sourceforge.net/%(name)s'] builddependencies = [('CMake', '3.4.3')] dependencies = [ - ('libXi', '1.7.6'), + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), ('libXrandr', '1.5.0'), + ('libXi', '1.7.6'), + ('Mesa', '11.1.2'), ] +configopts = ' -DX11_X11_LIB="$EBROOTLIBX11/lib/libX11.so" ' +configopts += ' -DX11_X11_INCLUDE_PATH="$EBROOTLIBX11/include/X11" ' +configopts += ' -DX11_Xext_LIB="$EBROOTLIBXEXT/lib/libXext.so" ' +configopts += ' -DX11_Xrandr_LIB="$EBROOTLIBXRANDR/lib/libXrandr.so" ' +configopts += ' -DX11_Xrandr_INCLUDE_PATH="$EBROOTLIBXRANDR/include/X11/extensions/" ' +configopts += ' -DX11_Xi_LIB="$EBROOTLIBXIlib/libXrandr.so" ' +configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTLIBXI/include/X11/extensions/" ' + sanity_check_paths = { 'files': ['lib64/libglut.a', 'lib64/libglut.%s' % SHLIB_EXT], 'dirs': ['include/GL'], -- GitLab From 8669cc78fb308a53a24225f9fbb9c6cb0862ff82 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Tue, 8 Mar 2016 15:36:52 +0100 Subject: [PATCH 0495/1089] Fix shift download url --- easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb index 14d911f6fc..62fb0dbd9d 100644 --- a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb @@ -12,7 +12,7 @@ performance and resilience for local and remote transfers through a variety of t toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TGZ] -source_urls = [SOURCEFORGE_SOURCE] +source_urls = [('http://sourceforge.net/projects/shiftc/files', 'download')] dependencies = [ ('Perl', '5.22.1'), -- GitLab From c4a331b38985bf7c412ad788b2e519ed8b3abf12 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 8 Mar 2016 14:50:41 +0000 Subject: [PATCH 0496/1089] Fix download location --- .../Xerces-C++/Xerces-C++-3.1.1-foss-2015a.eb | 2 +- .../Xerces-C++-3.1.1-intel-2015a.eb | 3 ++- .../Xerces-C++/Xerces-C++-3.1.2-foss-2015a.eb | 2 +- .../Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb | 25 +++++++++++++++++++ .../Xerces-C++-3.1.2-goolf-1.7.20.eb | 2 +- .../Xerces-C++-3.1.2-intel-2015a.eb | 2 +- 6 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-foss-2015a.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-foss-2015a.eb index 443076c83e..031a0f54b9 100644 --- a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-foss-2015a.eb +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-foss-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2015a'} sources = ['xerces-c-%(version)s.tar.gz'] source_urls = [ - 'http://apache.belnet.be/xerces/c/3/sources/' + 'http://archive.apache.org/dist/xerces/c/%(version_major)s/sources/' ] dependencies = [ diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-intel-2015a.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-intel-2015a.eb index 9437987e64..2dd8450711 100644 --- a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-intel-2015a.eb +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.1-intel-2015a.eb @@ -10,9 +10,10 @@ toolchain = {'name': 'intel', 'version': '2015a'} sources = ['xerces-c-%(version)s.tar.gz'] source_urls = [ - 'http://apache.belnet.be/xerces/c/3/sources/' + 'http://archive.apache.org/dist/xerces/c/%(version_major)s/sources/' ] + dependencies = [ ('cURL', '7.40.0'), ] diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015a.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015a.eb index e2bfd14b2a..b0abf7e5eb 100644 --- a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015a.eb +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015a.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'foss', 'version': '2015a'} sources = ['xerces-c-%(version)s.tar.gz'] source_urls = [ - 'http://apache.belnet.be/xerces/c/%(version_major)s/sources/' + 'http://archive.apache.org/dist/xerces/c/%(version_major)s/sources/' ] dependencies = [ diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb new file mode 100644 index 0000000000..087db393ee --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Xerces-C++' +version = '3.1.2' + +homepage = 'http://xerces.apache.org/xerces-c/' + +description = """Xerces-C++ is a validating XML parser written in a portable +subset of C++. Xerces-C++ makes it easy to give your application the ability to +read and write XML data. A shared library is provided for parsing, generating, +manipulating, and validating XML documents using the DOM, SAX, and SAX2 +APIs.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = ['xerces-c-%(version)s.tar.gz'] +source_urls = [ + 'http://archive.apache.org/dist/xerces/c/%(version_major)s/sources/' +] + +dependencies = [ + ('cURL', '7.44.0'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-goolf-1.7.20.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-goolf-1.7.20.eb index 258f78b64a..64c371a561 100644 --- a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-goolf-1.7.20.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'goolf', 'version': '1.7.20'} sources = ['xerces-c-%(version)s.tar.gz'] source_urls = [ - 'http://apache.belnet.be/xerces/c/%(version_major)s/sources/' + 'http://archive.apache.org/dist/xerces/c/%(version_major)s/sources/' ] dependencies = [ diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-intel-2015a.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-intel-2015a.eb index 78f997327e..1ddefd9f96 100644 --- a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-intel-2015a.eb +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-intel-2015a.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} sources = ['xerces-c-%(version)s.tar.gz'] source_urls = [ - 'http://apache.belnet.be/xerces/c/%(version_major)s/sources/' + 'http://archive.apache.org/dist/xerces/c/%(version_major)s/sources/' ] dependencies = [ -- GitLab From 9563423f78b19d1f50b77580721e630b7ea83364 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 16:07:46 +0100 Subject: [PATCH 0497/1089] {numlib}[intel-2016a] SuiteSparse 4.5.1 with external METIS (REVIEW) --- .../m/METIS/METIS-5.1.0-intel-2016a.eb | 22 +++++++++++++++++ ...iteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb | 24 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a.eb new file mode 100644 index 0000000000..b79e95dce7 --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a.eb @@ -0,0 +1,22 @@ +name = 'METIS' +version = '5.1.0' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview' +description = """METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, + and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the + multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD', +] + +builddependencies = [('CMake', '3.4.3')] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb new file mode 100644 index 0000000000..f6beb0e31f --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb @@ -0,0 +1,24 @@ +name = 'SuiteSparse' +version = '4.5.1' + +homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'opt': True, 'unroll': True, 'pic': True} + +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] +sources = [SOURCE_TAR_GZ] + +metis = 'METIS' +metis_ver = '5.1.0' +versionsuffix = '-%s-%s' % (metis, metis_ver) +dependencies = [(metis, metis_ver)] + +preconfigopts = 'MY_METIS_LIB="$EBROOTMETIS/lib/libmetis.so" ' +prebuildopts = 'MY_METIS_LIB="$EBROOTMETIS/lib/libmetis.so" ' +preinstallopts = 'MY_METIS_LIB="$EBROOTMETIS/lib/libmetis.so" ' + +maxparallel = 1 + +moduleclass = 'numlib' -- GitLab From 7d7e21cc3c7cdeee99070768396013a48476d580 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Tue, 8 Mar 2016 16:18:14 +0100 Subject: [PATCH 0498/1089] Do extensions update in other PR --- .../p/Perl/Perl-5.22.1-intel-2016a.eb | 108 +++++++++--------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb index 2729eb6536..53fd47ad2d 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb @@ -11,7 +11,7 @@ source_urls = ['http://www.cpan.org/src/%(version_major)s.0'] sources = [SOURCELOWER_TAR_GZ] exts_list = [ - ('Config::General', '2.60', { + ('Config::General', '2.58', { 'source_tmpl': 'Config-General-2.58.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], }), @@ -27,7 +27,7 @@ exts_list = [ 'source_tmpl': 'ExtUtils-Helpers-0.022.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), - ('TAP::Harness::Env', '3.36', { + ('TAP::Harness::Env', '3.35', { 'source_tmpl': 'Test-Harness-3.35.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), @@ -47,7 +47,7 @@ exts_list = [ 'source_tmpl': 'Text-Glob-0.09.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], }), - ('Regexp::Common', '2016020301', { + ('Regexp::Common', '2013031301', { 'source_tmpl': 'Regexp-Common-2013031301.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], }), @@ -63,15 +63,15 @@ exts_list = [ 'source_tmpl': 'Test-Fatal-0.014.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('Test::Warnings', '0.026', { + ('Test::Warnings', '0.021', { 'source_tmpl': 'Test-Warnings-0.021.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('DateTime::Locale', '1.02', { + ('DateTime::Locale', '0.46', { 'source_tmpl': 'DateTime-Locale-0.46.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), - ('DateTime::TimeZone', '1.95', { + ('DateTime::TimeZone', '1.93', { 'source_tmpl': 'DateTime-TimeZone-1.93.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -87,11 +87,11 @@ exts_list = [ 'source_tmpl': 'Module-Runtime-0.014.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], }), - ('Try::Tiny', '0.24', { + ('Try::Tiny', '0.22', { 'source_tmpl': 'Try-Tiny-0.22.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], }), - ('Params::Validate', '1.22', { + ('Params::Validate', '1.21', { 'source_tmpl': 'Params-Validate-1.21.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -107,7 +107,7 @@ exts_list = [ 'source_tmpl': 'Class-Singleton-1.5.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], }), - ('DateTime', '1.25', { + ('DateTime', '1.20', { 'source_tmpl': 'DateTime-1.20.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -115,11 +115,11 @@ exts_list = [ 'source_tmpl': 'File-Find-Rule-Perl-1.15.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('Module::Build', '0.4216', { + ('Module::Build', '0.4214', { 'source_tmpl': 'Module-Build-0.4214.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), - ('Readonly', '2.01', { + ('Readonly', '2.00', { 'source_tmpl': 'Readonly-2.00.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SA/SANKO'], }), @@ -127,7 +127,7 @@ exts_list = [ 'source_tmpl': 'Git-0.41.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], }), - ('Tree::DAG_Node', '1.29', { + ('Tree::DAG_Node', '1.27', { 'source_tmpl': 'Tree-DAG_Node-1.27.tgz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], }), @@ -143,7 +143,7 @@ exts_list = [ 'source_tmpl': 'DBI-1.634.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], }), - ('DBD::SQLite', '1.50', { + ('DBD::SQLite', '1.48', { 'source_tmpl': 'DBD-SQLite-1.48.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], }), @@ -159,11 +159,11 @@ exts_list = [ 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/J/JU/JUERD'], }), - ('Shell', '0.73', { + ('Shell', '0.72', { 'source_tmpl': 'Shell-0.72.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], }), - ('File::Spec', '3.62', { + ('File::Spec', '3.47', { 'source_tmpl': 'PathTools-3.47.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], }), @@ -203,7 +203,7 @@ exts_list = [ 'source_tmpl': 'Test-LeakTrace-0.15.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GF/GFUJI'], }), - ('Test::Exception', '0.43', { + ('Test::Exception', '0.40', { 'source_tmpl': 'Test-Exception-0.40.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], }), @@ -211,7 +211,7 @@ exts_list = [ 'source_tmpl': 'Text-Table-1.130.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], }), - ('MIME::Types', '2.13', { + ('MIME::Types', '2.11', { 'source_tmpl': 'MIME-Types-2.11.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], }), @@ -227,7 +227,7 @@ exts_list = [ 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], }), - ('HTML::Parser', '3.72', { + ('HTML::Parser', '3.71', { 'source_tmpl': 'HTML-Parser-3.71.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), @@ -251,7 +251,7 @@ exts_list = [ 'source_tmpl': 'Class-ISA-0.36.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], }), - ('URI', '1.71', { + ('URI', '1.69', { 'source_tmpl': 'URI-1.69.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -271,7 +271,7 @@ exts_list = [ 'source_tmpl': 'Class-DBI-SQLite-0.11.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], }), - ('Pod::POM', '2.01', { + ('Pod::POM', '2.00', { 'source_tmpl': 'Pod-POM-2.00.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], }), @@ -279,7 +279,7 @@ exts_list = [ 'source_tmpl': 'Math-Round-0.07.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], }), - ('Text::Diff', '1.44', { + ('Text::Diff', '1.43', { 'source_tmpl': 'Text-Diff-1.43.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], }), @@ -287,7 +287,7 @@ exts_list = [ 'source_tmpl': 'Log-Message-Simple-0.10.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], }), - ('IO::Socket::SSL', '2.024', { + ('IO::Socket::SSL', '2.020', { 'source_tmpl': 'IO-Socket-SSL-2.020.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], }), @@ -311,7 +311,7 @@ exts_list = [ 'source_tmpl': 'IO-stringy-2.111.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], }), - ('Getopt::Long', '2.48', { + ('Getopt::Long', '2.47', { 'source_tmpl': 'Getopt-Long-2.47.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], }), @@ -335,7 +335,7 @@ exts_list = [ 'source_tmpl': 'Net-HTTP-6.09.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('Test::Deep', '1.120', { + ('Test::Deep', '0.117', { 'source_tmpl': 'Test-Deep-0.117.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), @@ -347,7 +347,7 @@ exts_list = [ 'source_tmpl': 'MRO-Compat-0.12.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BO/BOBTFISH'], }), - ('Moo', '2.001001', { + ('Moo', '2.000002', { 'source_tmpl': 'Moo-2.000002.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], }), @@ -375,7 +375,7 @@ exts_list = [ 'source_tmpl': 'IPC-Run-0.94.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], }), - ('HTML::Entities::Interpolate', '1.09', { + ('HTML::Entities::Interpolate', '1.05', { 'source_tmpl': 'HTML-Entities-Interpolate-1.05.tgz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], }), @@ -391,7 +391,7 @@ exts_list = [ 'source_tmpl': 'Class-Accessor-0.34.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], }), - ('Test::Differences', '0.64', { + ('Test::Differences', '0.63', { 'source_tmpl': 'Test-Differences-0.63.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], }), @@ -399,7 +399,7 @@ exts_list = [ 'source_tmpl': 'HTTP-Tiny-0.056.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), - ('Package::DeprecationManager', '0.15', { + ('Package::DeprecationManager', '0.14', { 'source_tmpl': 'Package-DeprecationManager-0.14.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -411,7 +411,7 @@ exts_list = [ 'source_tmpl': 'TimeDate-2.30.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], }), - ('version', '0.9915', { + ('version', '0.9912', { 'source_tmpl': 'version-0.9912.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK'], }), @@ -432,7 +432,7 @@ exts_list = [ 'source_tmpl': 'Sub-Name-0.14.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('Time::Piece', '1.31', { + ('Time::Piece', '1.30', { 'source_tmpl': 'Time-Piece-1.30.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), @@ -460,7 +460,7 @@ exts_list = [ 'source_tmpl': 'Canary-Stability-2006.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], }), - ('AnyEvent', '7.12', { + ('AnyEvent', '7.11', { 'source_tmpl': 'AnyEvent-7.11.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], }), @@ -520,7 +520,7 @@ exts_list = [ 'source_tmpl': 'XML-SAX-Writer-0.56.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], }), - ('Statistics::Descriptive', '3.0612', { + ('Statistics::Descriptive', '3.0609', { 'source_tmpl': 'Statistics-Descriptive-3.0609.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], }), @@ -528,7 +528,7 @@ exts_list = [ 'source_tmpl': 'Class-Load-0.23.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), - ('LWP::Simple', '6.15', { + ('LWP::Simple', '6.13', { 'source_tmpl': 'libwww-perl-6.13.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -540,7 +540,7 @@ exts_list = [ 'source_tmpl': 'Package-Stash-XS-0.28.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], }), - ('GD::Graph', '1.52', { + ('GD::Graph', '1.49', { 'source_tmpl': 'GDGraph-1.49.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RUZ'], }), @@ -580,19 +580,19 @@ exts_list = [ 'source_tmpl': 'Class-Inspector-1.28.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], }), - ('Parse::RecDescent', '1.967013', { + ('Parse::RecDescent', '1.967012', { 'source_tmpl': 'Parse-RecDescent-1.967012.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], }), - ('Carp', '1.38', { + ('Carp', '1.36', { 'source_tmpl': 'Carp-1.36.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('XML::XPath', '1.33', { + ('XML::XPath', '1.13', { 'source_tmpl': 'XML-XPath-1.13.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MS/MSERGEANT'], }), - ('Capture::Tiny', '0.36', { + ('Capture::Tiny', '0.30', { 'source_tmpl': 'Capture-Tiny-0.30.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), @@ -616,7 +616,7 @@ exts_list = [ 'source_tmpl': 'Sub-Exporter-Progressive-0.001011.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], }), - ('LWP', '6.15', { + ('LWP', '6.13', { 'source_tmpl': 'libwww-perl-6.13.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -648,7 +648,7 @@ exts_list = [ 'source_tmpl': 'Text-Balanced-2.03.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], }), - ('strictures', '2.000002', { + ('strictures', '2.000001', { 'source_tmpl': 'strictures-2.000001.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], }), @@ -656,7 +656,7 @@ exts_list = [ 'source_tmpl': 'Switch-2.17.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], }), - ('File::Which', '1.21', { + ('File::Which', '1.19', { 'source_tmpl': 'File-Which-1.19.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], }), @@ -692,7 +692,7 @@ exts_list = [ 'source_tmpl': 'UNIVERSAL-moniker-0.08.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], }), - ('Exception::Class', '1.40', { + ('Exception::Class', '1.39', { 'source_tmpl': 'Exception-Class-1.39.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -724,7 +724,7 @@ exts_list = [ 'source_tmpl': 'IO-String-1.08.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), - ('XML::Simple', '2.22', { + ('XML::Simple', '2.20', { 'source_tmpl': 'XML-Simple-2.20.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], }), @@ -748,7 +748,7 @@ exts_list = [ 'source_tmpl': 'LWP-MediaTypes-6.02.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), - ('Scalar::Util', '1.43', { + ('Scalar::Util', '1.42', { 'source_tmpl': 'Scalar-List-Utils-1.42.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], }), @@ -808,7 +808,7 @@ exts_list = [ 'source_tmpl': 'Devel-CheckCompiler-0.06.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], }), - ('Log::Handler', '0.84', { + ('Log::Handler', '0.87', { 'source_tmpl': 'Log-Handler-0.87.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], }), @@ -816,11 +816,11 @@ exts_list = [ 'source_tmpl': 'DBIx-ContextualFetch-1.03.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], }), - ('HTML::Entities', '3.72', { + ('HTML::Entities', '3.71', { 'source_tmpl': 'HTML-Parser-3.71.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], }), - ('Devel::StackTrace', '2.01', { + ('Devel::StackTrace', '2.00', { 'source_tmpl': 'Devel-StackTrace-2.00.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], }), @@ -832,7 +832,7 @@ exts_list = [ 'source_tmpl': 'Set-IntSpan-1.19.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SW/SWMCD'], }), - ('Moose', '2.1605', { + ('Moose', '2.1603', { 'source_tmpl': 'Moose-2.1603.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], }), @@ -848,7 +848,7 @@ exts_list = [ 'source_tmpl': 'IPC-Run3-0.048.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('File::Find::Rule', '0.34', { + ('File::Find::Rule', '0.33', { 'source_tmpl': 'File-Find-Rule-0.33.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], }), @@ -868,11 +868,11 @@ exts_list = [ 'source_tmpl': 'Data-OptList-0.109.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('CPANPLUS', '0.9156', { + ('CPANPLUS', '0.9154', { 'source_tmpl': 'CPANPLUS-0.9154.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], }), - ('Test::Harness', '3.36', { + ('Test::Harness', '3.35', { 'source_tmpl': 'Test-Harness-3.35.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], }), @@ -880,15 +880,15 @@ exts_list = [ 'source_tmpl': 'IO-Tty-1.12.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], }), - ('Text::Soundex', '3.05', { + ('Text::Soundex', '3.04', { 'source_tmpl': 'Text-Soundex-3.04.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], }), - ('Lingua::EN::PluralToSingular', '0.18', { + ('Lingua::EN::PluralToSingular', '0.14', { 'source_tmpl': 'Lingua-EN-PluralToSingular-0.14.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BK/BKB'], }), - ('Want', '0.29', { + ('Want', '0.26', { 'source_tmpl': 'Want-0.26.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], }), -- GitLab From e04cfd11177a408dfa72ad11898829595a38bc57 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 16:46:53 +0100 Subject: [PATCH 0499/1089] {lang}[intel/2016a] Perl 5.22.1 --- .../p/Perl/Perl-5.22.1-intel-2016a.eb | 886 ++++++++++++++++++ 1 file changed, 886 insertions(+) create mode 100644 easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb new file mode 100644 index 0000000000..ae84220ef2 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb @@ -0,0 +1,886 @@ +name = 'Perl' +version = '5.22.1' + +homepage = 'http://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] + +exts_list = [ + ('Config::General', '2.60', { + 'source_tmpl': 'Config-General-2.60.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + }), + ('File::Listing', '6.04', { + 'source_tmpl': 'File-Listing-6.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('ExtUtils::InstallPaths', '0.011', { + 'source_tmpl': 'ExtUtils-InstallPaths-0.011.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Helpers', '0.022', { + 'source_tmpl': 'ExtUtils-Helpers-0.022.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Test::Harness', '3.36', { + 'source_tmpl': 'Test-Harness-3.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-0.008.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-0.039.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Text::Glob', '0.09', { + 'source_tmpl': 'Text-Glob-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('Regexp::Common', '2016020301', { + 'source_tmpl': 'Regexp-Common-2016020301.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-5.2.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + }), + ('Test::Fatal', '0.014', { + 'source_tmpl': 'Test-Fatal-0.014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warnings', '0.026', { + 'source_tmpl': 'Test-Warnings-0.026.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('DateTime::Locale', '1.02', { + 'source_tmpl': 'DateTime-Locale-1.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('DateTime::TimeZone', '1.95', { + 'source_tmpl': 'DateTime-TimeZone-1.95.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Test::Requires', '0.10', { + 'source_tmpl': 'Test-Requires-0.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Module::Build', '0.4216', { + 'source_tmpl': 'Module-Build-0.4216.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Module::Runtime', '0.014', { + 'source_tmpl': 'Module-Runtime-0.014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + }), + ('Try::Tiny', '0.24', { + 'source_tmpl': 'Try-Tiny-0.24.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Params::Validate', '1.22', { + 'source_tmpl': 'Params-Validate-1.22.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('List::MoreUtils', '0.413', { + 'source_tmpl': 'List-MoreUtils-0.413.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Exporter::Tiny', '0.042', { + 'source_tmpl': 'Exporter-Tiny-0.042.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + }), + ('Class::Singleton', '1.5', { + 'source_tmpl': 'Class-Singleton-1.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('DateTime', '1.25', { + 'source_tmpl': 'DateTime-1.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::Find::Rule::Perl', '1.15', { + 'source_tmpl': 'File-Find-Rule-Perl-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Readonly', '2.01', { + 'source_tmpl': 'Readonly-2.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + }), + ('Git', '0.41', { + 'source_tmpl': 'Git-0.41.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + }), + ('Tree::DAG_Node', '1.29', { + 'source_tmpl': 'Tree-DAG_Node-1.29.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Template', '2.26', { + 'source_tmpl': 'Template-Toolkit-2.26.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('FreezeThaw', '0.5001', { + 'source_tmpl': 'FreezeThaw-0.5001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILYAZ'], + }), + ('DBI', '1.634', { + 'source_tmpl': 'DBI-1.634.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + }), + ('DBD::SQLite', '1.50', { + 'source_tmpl': 'DBD-SQLite-1.50.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-0.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('Archive::Extract', '0.76', { + 'source_tmpl': 'Archive-Extract-0.76.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "BINGOS"'], + }), + ('DBIx::Simple', '1.35', { + 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-0.73.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + }), + ('File::Spec', '3.62', { + 'source_tmpl': 'PathTools-3.62.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('ExtUtils::MakeMaker', '7.10', { + 'source_tmpl': 'ExtUtils-MakeMaker-7.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Simple', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-1.29.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + }), + ('IO::Stringy', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::SAX::Base', '1.08', { + 'source_tmpl': 'XML-SAX-Base-1.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('XML::NamespaceSupport', '1.11', { + 'source_tmpl': 'XML-NamespaceSupport-1.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('XML::SAX', '0.99', { + 'source_tmpl': 'XML-SAX-0.99.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Test::LeakTrace', '0.15', { + 'source_tmpl': 'Test-LeakTrace-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GF/GFUJI'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-0.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::Table', '1.130', { + 'source_tmpl': 'Text-Table-1.130.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('MIME::Types', '2.13', { + 'source_tmpl': 'MIME-Types-2.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), + ('Module::Build::XSUtil', '0.16', { + 'source_tmpl': 'Module-Build-XSUtil-0.16.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-0.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + }), + ('HTML::Parser', '3.72', { + 'source_tmpl': 'HTML-Parser-3.72.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-1.2.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + }), + ('Params::Util', '1.07', { + 'source_tmpl': 'Params-Util-1.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('IO::HTML', '1.001', { + 'source_tmpl': 'IO-HTML-1.001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-0.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('URI', '1.71', { + 'source_tmpl': 'URI-1.71.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-0.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-1.23.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-0.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-0.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-2.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-0.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + }), + ('Text::Diff', '1.44', { + 'source_tmpl': 'Text-Diff-1.44.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-0.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('IO::Socket::SSL', '2.024', { + 'source_tmpl': 'IO-Socket-SSL-2.024.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-0.004.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('Meta::Builder', '0.003', { + 'source_tmpl': 'Meta-Builder-0.003.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-0.114.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Getopt::Long', '2.48', { + 'source_tmpl': 'Getopt-Long-2.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Mouse', 'v2.4.5', { + 'source_tmpl': 'Mouse-v2.4.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Test::Version', '2.03', { + 'source_tmpl': 'Test-Version-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('DBIx::Admin::TableInfo', '3.01', { + 'source_tmpl': 'DBIx-Admin-TableInfo-3.01.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Net::HTTP', '6.09', { + 'source_tmpl': 'Net-HTTP-6.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Test::Deep', '1.120', { + 'source_tmpl': 'Test-Deep-1.120.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warn', '0.30', { + 'source_tmpl': 'Test-Warn-0.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('MRO::Compat', '0.12', { + 'source_tmpl': 'MRO-Compat-0.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BO/BOBTFISH'], + }), + ('Moo', '2.001001', { + 'source_tmpl': 'Moo-2.001001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Hash::Merge', '0.200', { + 'source_tmpl': 'Hash-Merge-0.200.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('SQL::Abstract', '1.81', { + 'source_tmpl': 'SQL-Abstract-1.81.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + }), + ('HTML::Form', '6.03', { + 'source_tmpl': 'HTML-Form-6.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::Copy::Recursive', '0.38', { + 'source_tmpl': 'File-Copy-Recursive-0.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-0.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('IPC::Run', '0.94', { + 'source_tmpl': 'IPC-Run-0.94.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('HTML::Entities::Interpolate', '1.09', { + 'source_tmpl': 'HTML-Entities-Interpolate-1.09.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Test::ClassAPI', '1.06', { + 'source_tmpl': 'Test-ClassAPI-1.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Test::Most', '0.34', { + 'source_tmpl': 'Test-Most-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + }), + ('Class::Accessor', '0.34', { + 'source_tmpl': 'Class-Accessor-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Test::Differences', '0.64', { + 'source_tmpl': 'Test-Differences-0.64.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTTP::Tiny', '0.056', { + 'source_tmpl': 'HTTP-Tiny-0.056.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('Package::DeprecationManager', '0.15', { + 'source_tmpl': 'Package-DeprecationManager-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-2.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Language', '2.30', { + 'source_tmpl': 'TimeDate-2.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "GBARR"'], + }), + ('version', '0.9915', { + 'source_tmpl': 'version-0.9915.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + # fails: uses 'gcc' + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-0.53.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'patches': ['XML-Bare-0.53_icc.patch'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Sub::Name', '0.14', { + 'source_tmpl': 'Sub-Name-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece', '1.31', { + 'source_tmpl': 'Time-Piece-1.31.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + }), + ('Digest::HMAC', '1.03', { + 'source_tmpl': 'Digest-HMAC-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-6.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('MIME::Lite', '3.030', { + 'source_tmpl': 'MIME-Lite-3.030.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Crypt::Rijndael', '1.13', { + 'source_tmpl': 'Crypt-Rijndael-1.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Canary::Stability', '2006', { + 'source_tmpl': 'Canary-Stability-2006.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('AnyEvent', '7.12', { + 'source_tmpl': 'AnyEvent-7.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-0.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Data::UUID', '1.221', { + 'source_tmpl': 'Data-UUID-1.221.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Pod', '1.51', { + 'source_tmpl': 'Test-Pod-1.51.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-1.71.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Net::SMTP::SSL', '1.03', { + 'source_tmpl': 'Net-SMTP-SSL-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::Tiny', '2.06', { + 'source_tmpl': 'XML-Tiny-2.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-3.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + }), + ('HTML::Tree', '5.03', { + 'source_tmpl': 'HTML-Tree-5.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Devel::GlobalDestruction', '0.13', { + 'source_tmpl': 'Devel-GlobalDestruction-0.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-6.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Expect', '1.32', { + 'source_tmpl': 'Expect-1.32.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SZ/SZABGAB'], + }), + ('Term::UI', '0.46', { + 'source_tmpl': 'Term-UI-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-v6.0.1.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + }), + ('XML::SAX::Writer', '0.56', { + 'source_tmpl': 'XML-SAX-Writer-0.56.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('Statistics::Descriptive', '3.0612', { + 'source_tmpl': 'Statistics-Descriptive-3.0612.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Class::Load', '0.23', { + 'source_tmpl': 'Class-Load-0.23.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('LWP::Simple', '6.15', { + 'source_tmpl': 'libwww-perl-6.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-0.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Package::Stash::XS', '0.28', { + 'source_tmpl': 'Package-Stash-XS-0.28.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('GD::Graph', '1.52', { + 'source_tmpl': 'GDGraph-1.52.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RUZ'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-0.30.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('boolean', '0.45', { + 'source_tmpl': 'boolean-0.45.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "INGY"'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-1.75.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Test::NoWarnings', '1.04', { + 'source_tmpl': 'Test-NoWarnings-1.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-2.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + }), + ('Exporter', '5.72', { + 'source_tmpl': 'Exporter-5.72.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Class::Inspector', '1.28', { + 'source_tmpl': 'Class-Inspector-1.28.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Parse::RecDescent', '1.967013', { + 'source_tmpl': 'Parse-RecDescent-1.967013.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + }), + ('Carp', '1.38', { + 'source_tmpl': 'Carp-1.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::XPath', '1.33', { + 'source_tmpl': 'XML-XPath-1.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + }), + ('Capture::Tiny', '0.36', { + 'source_tmpl': 'Capture-Tiny-0.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('JSON', '2.90', { + 'source_tmpl': 'JSON-2.90.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Sub::Exporter', '0.987', { + 'source_tmpl': 'Sub-Exporter-0.987.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Class::Load::XS', '0.09', { + 'source_tmpl': 'Class-Load-XS-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + }), + ('Sub::Exporter::Progressive', '0.001011', { + 'source_tmpl': 'Sub-Exporter-Progressive-0.001011.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('Data::Dumper::Concise', '2.022', { + 'source_tmpl': 'Data-Dumper-Concise-2.022.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-0.004.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Algorithm::Diff', '1.1903', { + 'source_tmpl': 'Algorithm-Diff-1.1903.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TY/TYEMQ'], + }), + ('AnyData', '0.12', { + 'source_tmpl': 'AnyData-0.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-1.7.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + }), + ('Class::Data::Inheritable', '0.08', { + 'source_tmpl': 'Class-Data-Inheritable-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('Text::Balanced', '2.03', { + 'source_tmpl': 'Text-Balanced-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('strictures', '2.000002', { + 'source_tmpl': 'strictures-2.000002.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-2.17.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('File::Which', '1.21', { + 'source_tmpl': 'File-Which-1.21.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-1.005.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Error', '0.17024', { + 'source_tmpl': 'Error-0.17024.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Mock::Quick', '1.110', { + 'source_tmpl': 'Mock-Quick-1.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::CSV', '1.33', { + 'source_tmpl': 'Text-CSV-1.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Test::Output', '1.03', { + 'source_tmpl': 'Test-Output-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-v3.0.17.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('List::AllUtils', '0.09', { + 'source_tmpl': 'List-AllUtils-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Exception::Class', '1.40', { + 'source_tmpl': 'Exception-Class-1.40.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-4.42.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-0.61.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + }), + ('Eval::Closure', '0.13', { + 'source_tmpl': 'Eval-Closure-0.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('HTTP::Request', '6.11', { + 'source_tmpl': 'HTTP-Message-6.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('XML::Twig', '3.49', { + 'source_tmpl': 'XML-Twig-3.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-1.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::Simple', '2.22', { + 'source_tmpl': 'XML-Simple-2.22.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-0.928.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('HTTP::Cookies', '6.01', { + 'source_tmpl': 'HTTP-Cookies-6.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-1.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + }), + ('Test::Exception::LessClever', '0.006', { + 'source_tmpl': 'Test-Exception-LessClever-0.006.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('LWP::MediaTypes', '6.02', { + 'source_tmpl': 'LWP-MediaTypes-6.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Scalar::Util', '1.43', { + 'source_tmpl': 'Scalar-List-Utils-1.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-0.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('Class::Trigger', '0.14', { + 'source_tmpl': 'Class-Trigger-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('HTTP::Daemon', '6.01', { + 'source_tmpl': 'HTTP-Daemon-6.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::HomeDir', '1.00', { + 'source_tmpl': 'File-HomeDir-1.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('HTTP::Date', '6.02', { + 'source_tmpl': 'HTTP-Date-6.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-2.16.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('Clone', '0.38', { + 'source_tmpl': 'Clone-0.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + }), + ('Data::Types', '0.09', { + 'source_tmpl': 'Data-Types-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DW/DWHEELER'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-1.002005.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('DateTime::Tiny', '1.04', { + 'source_tmpl': 'DateTime-Tiny-1.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('DBD::AnyData', '0.110', { + 'source_tmpl': 'DBD-AnyData-0.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Format', '0.59', { + 'source_tmpl': 'Text-Format-0.59.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Devel::CheckCompiler', '0.06', { + 'source_tmpl': 'Devel-CheckCompiler-0.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Log::Handler', '0.84', { + 'source_tmpl': 'Log-Handler-0.84.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('Devel::StackTrace', '2.01', { + 'source_tmpl': 'Devel-StackTrace-2.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Term::ReadKey', '2.33', { + 'source_tmpl': 'TermReadKey-2.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-1.19.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + }), + ('Moose', '2.1605', { + 'source_tmpl': 'Moose-2.1605.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Algorithm::Dependency', '1.110', { + 'source_tmpl': 'Algorithm-Dependency-1.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Font::TTF', '1.05', { + 'source_tmpl': 'Font-TTF-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MH/MHOSKEN'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-0.048.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('SQL::Statement', '1.407', { + 'source_tmpl': 'SQL-Statement-1.407.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('File::Slurp', '9999.19', { + 'source_tmpl': 'File-Slurp-9999.19.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/U/UR/URI'], + }), + ('Package::Stash', '0.37', { + 'source_tmpl': 'Package-Stash-0.37.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Data::OptList', '0.109', { + 'source_tmpl': 'Data-OptList-0.109.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('CPANPLUS', '0.9156', { + 'source_tmpl': 'CPANPLUS-0.9156.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('IO::Tty', '1.12', { + 'source_tmpl': 'IO-Tty-1.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-3.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Lingua::EN::PluralToSingular', '0.18', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-0.18.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-0.29.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + }), + ('Cwd::Guard', '0.04', { + 'source_tmpl': 'Cwd-Guard-0.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + }), + ('Bundle::BioPerl', '2.1.9', { + 'source_tmpl': 'Bundle-BioPerl-2.1.9.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS'], + }), + ('Mail::Util', '2.14', { + 'source_tmpl': 'MailTools-2.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), +] + +moduleclass = 'lang' -- GitLab From bd08387aa585149739945ec279d4f81b23ce426f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 16:49:30 +0100 Subject: [PATCH 0500/1089] enable XML::Bare in all Perl easyconfigs --- easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb | 9 ++++----- easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2016a.eb | 9 ++++----- .../easyconfigs/p/Perl/Perl-5.20.3-intel-2015b.eb | 10 +++++----- .../easyconfigs/p/Perl/Perl-5.20.3-intel-2016a.eb | 10 +++++----- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb index 35f20adfa3..6c8f5e608f 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2015b.eb @@ -419,11 +419,10 @@ exts_list = [ 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), - # fails: uses 'gcc' - #('XML::Bare', '0.53', { - # 'source_tmpl': 'XML-Bare-0.53.tar.gz', - # 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], - #}), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-0.53.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD/'], + }), ('Dist::CheckConflicts', '0.11', { 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2016a.eb index 0dbde8ec2c..c82d048099 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-foss-2016a.eb @@ -419,11 +419,10 @@ exts_list = [ 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), - # fails: uses 'gcc' - #('XML::Bare', '0.53', { - # 'source_tmpl': 'XML-Bare-0.53.tar.gz', - # 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], - #}), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-0.53.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD/'], + }), ('Dist::CheckConflicts', '0.11', { 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015b.eb b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015b.eb index ab7a8379bf..2447ac9616 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015b.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015b.eb @@ -419,11 +419,11 @@ exts_list = [ 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), - # fails: uses 'gcc' - #('XML::Bare', '0.53', { - # 'source_tmpl': 'XML-Bare-0.53.tar.gz', - # 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], - #}), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-0.53.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD/'], + 'patches': ['XML-Bare-0.53_icc.patch'], + }), ('Dist::CheckConflicts', '0.11', { 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2016a.eb index 146a854c21..e8b65cc525 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2016a.eb @@ -419,11 +419,11 @@ exts_list = [ 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], }), - # fails: uses 'gcc' - #('XML::Bare', '0.53', { - # 'source_tmpl': 'XML-Bare-0.53.tar.gz', - # 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], - #}), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-0.53.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD/'], + 'patches': ['XML-Bare-0.53_icc.patch'], + }), ('Dist::CheckConflicts', '0.11', { 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], -- GitLab From 41026ced1cf46f65783212b2baa731f6bffa1fd3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 18:27:17 +0200 Subject: [PATCH 0501/1089] add easyconfig LLVM-3.7.1-gimkl-2.11.5.eb, add easyconfig Mesa-11.1.2-gimkl-2.11.5.eb, add easyconfig eudev-3.1.5-gimkl-2.11.5.eb, add easyconfig flex-2.6.0-gimkl-2.11.5.eb, add easyconfig glproto-1.4.17-gimkl-2.11.5.eb, add easyconfig gperf-3.0.4-gimkl-2.11.5.eb, add easyconfig libdrm-2.4.67-gimkl-2.11.5.eb, add easyconfig libpciaccess-0.13.4-gimkl-2.11.5.eb, add easyconfig libxml2-2.9.3-gimkl-2.11.5.eb, add easyconfig makedepend-1.0.5-gimkl-2.11.5.eb, add easyconfig pkg-config-0.29-gimkl-2.11.5.eb --- .../e/eudev/eudev-3.1.5-gimkl-2.11.5.eb | 33 +++++++++ .../f/flex/flex-2.6.0-gimkl-2.11.5.eb | 16 +++++ .../g/glproto/glproto-1.4.17-gimkl-2.11.5.eb | 20 ++++++ .../g/gperf/gperf-3.0.4-gimkl-2.11.5.eb | 22 ++++++ .../l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb | 39 +++++++++++ .../l/libdrm/libdrm-2.4.67-gimkl-2.11.5.eb | 28 ++++++++ .../libpciaccess-0.13.4-gimkl-2.11.5.eb | 26 +++++++ .../l/libxml2/libxml2-2.9.3-gimkl-2.11.5.eb | 29 ++++++++ .../m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb | 68 +++++++++++++++++++ .../makedepend-1.0.5-gimkl-2.11.5.eb | 20 ++++++ .../pkg-config-0.29-gimkl-2.11.5.eb | 27 ++++++++ 11 files changed, 328 insertions(+) create mode 100644 easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.6.0-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/g/gperf/gperf-3.0.4-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-gimkl-2.11.5.eb diff --git a/easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb new file mode 100644 index 0000000000..217a49f901 --- /dev/null +++ b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'eudev' +version = '3.1.5' + +homepage = 'https://wiki.gentoo.org/wiki/Project:Eudev' +description = """eudev is a fork of systemd-udev with the goal of obtaining + better compatibility with existing software such as + OpenRC and Upstart, older kernels, various toolchains + and anything else required by users and various distributions.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'cstd': 'c99'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://dev.gentoo.org/~blueness/%(name)s/'] +patches = ['%(name)s-3.1.2_pre-2.6.34_kernel.patch'] + +builddependencies = [ + ('gperf', '3.0.4'), +] + +osdependencies = [('kernel-headers', 'linux-libc-dev')] + +configopts = '--disable-blkid --disable-selinux --disable-gudev --disable-manpages ' +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/udevadm', 'include/libudev.h', 'include/udev.h', 'lib/libudev.so.1'], + 'dirs': [], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/f/flex/flex-2.6.0-gimkl-2.11.5.eb new file mode 100644 index 0000000000..c2677565b5 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.0-gimkl-2.11.5.eb @@ -0,0 +1,16 @@ +name = 'flex' +version = '2.6.0' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +dependencies = [('Bison', '3.0.4')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb new file mode 100644 index 0000000000..46b9bdb324 --- /dev/null +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'glproto' +version = '1.4.17' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.0.4-gimkl-2.11.5.eb b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-gimkl-2.11.5.eb new file mode 100644 index 0000000000..53134ddab6 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-gimkl-2.11.5.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/gperf/' +description = """GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash + function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash + function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single + string comparison only.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb new file mode 100644 index 0000000000..edbbaa6b61 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'LLVM' +version = '3.7.1' + +homepage = "http://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] + +builddependencies = [ + ('CMake', '3.4.3'), + ('Python', '2.7.11'), +] + +dependencies = [ + ('ncurses', '5.9'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' + +sanity_check_paths = { + 'files': ['bin/llvm-ar'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +separate_build_dir = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-gimkl-2.11.5.eb new file mode 100644 index 0000000000..caf76a0cf5 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-gimkl-2.11.5.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libdrm' +version = '2.4.67' + +homepage = 'http://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +source_urls = ['http://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +builddependencies = [ + ('libpthread-stubs', '0.3'), +] + +dependencies = [ + ('libpciaccess', '0.13.4'), +] + +sanity_check_paths = { + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, + 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], + 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb new file mode 100644 index 0000000000..2a5e9c8d05 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.13.4' + +homepage = 'http://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +source_urls = ['http://cgit.freedesktop.org/xorg/lib/libpciaccess/snapshot'] +sources = [SOURCE_TAR_GZ] + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +builddependencies = [ + ('Autotools', '20150215'), + ('xorg-macros', '1.19.0'), +] + +preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-gimkl-2.11.5.eb new file mode 100644 index 0000000000..1f39ac3f7d --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-gimkl-2.11.5.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb new file mode 100644 index 0000000000..72d772f450 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '11.1.2' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + ('Autotools', '20150215'), + ('pkg-config', '0.29'), + ('glproto', '1.4.17'), + ('kbproto', '1.0.7'), + ('libpthread-stubs', '0.3'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.28'), + ('makedepend', '1.0.5'), +] + +dependencies = [ + ('libxml2', '2.9.3'), + ('libdrm', '2.4.67'), + ('libX11', '1.6.3',), + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), + ('libXdamage', '1.1.4'), + ('libXfont', '1.5.1'), + ('LLVM', '3.7.1'), + ('eudev', '3.1.5'), +] + +# Use the os provided libudev or the EB provided eudev +#osdependencies = ['libudev'] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri" +configopts += " --enable-xlib-glx --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl" +configopts += " --with-osmesa-bits=32 --enable-texture-float " + +# package-config files for os dependencies are in an os specific place +#preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' +preconfigopts = ' libtoolize && ' + +prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, + 'lib/libGLESv2.%s' %SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', 'include/GL/glx.h', + 'include/GL/osmesa.h', 'include/GL/wglext.h', 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], + 'dirs': [] +} + +maxparallel = 1 + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb new file mode 100644 index 0000000000..c92d8634e2 --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.5' + +homepage = "http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html" +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-gimkl-2.11.5.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-gimkl-2.11.5.eb new file mode 100644 index 0000000000..c593a8d395 --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-gimkl-2.11.5.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29' + +homepage = 'http://www.freedesktop.org/wiki/Software/pkg-config/' +description = """pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the + correct compiler options on the command line so an application can use + gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other libraries).""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://pkgconfig.freedesktop.org/releases/'] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 5fb626f666ca2bf5f44367857f05d999ffac3f96 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 8 Mar 2016 17:03:32 +0000 Subject: [PATCH 0502/1089] Use latest available cURL for foss-2015b --- .../easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb index 087db393ee..ae3ef1e8c2 100644 --- a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.1.2-foss-2015b.eb @@ -19,7 +19,7 @@ source_urls = [ ] dependencies = [ - ('cURL', '7.44.0'), + ('cURL', '7.45.0'), ] moduleclass = 'lib' -- GitLab From 15ad050da351d4224417d2882ec31477e9dc24b5 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 8 Mar 2016 17:29:35 +0000 Subject: [PATCH 0503/1089] Remove versionsuffix and rename file --- ...atGen-1.0.13-foss-2015b.eb => BamUtil-1.0.13-foss-2015b.eb} | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) rename easybuild/easyconfigs/b/BamUtil/{BamUtil-libStatGen-1.0.13-foss-2015b.eb => BamUtil-1.0.13-foss-2015b.eb} (89%) diff --git a/easybuild/easyconfigs/b/BamUtil/BamUtil-libStatGen-1.0.13-foss-2015b.eb b/easybuild/easyconfigs/b/BamUtil/BamUtil-1.0.13-foss-2015b.eb similarity index 89% rename from easybuild/easyconfigs/b/BamUtil/BamUtil-libStatGen-1.0.13-foss-2015b.eb rename to easybuild/easyconfigs/b/BamUtil/BamUtil-1.0.13-foss-2015b.eb index ceee101f27..66b054cceb 100644 --- a/easybuild/easyconfigs/b/BamUtil/BamUtil-libStatGen-1.0.13-foss-2015b.eb +++ b/easybuild/easyconfigs/b/BamUtil/BamUtil-1.0.13-foss-2015b.eb @@ -4,11 +4,10 @@ # adam.huffman@crick.ac.uk # The Francis Crick Institute # -# This is the version bundled with the libStatGen library +# This is the version with the bundled libStatGen library name = 'BamUtil' version = '1.0.13' -versionsuffix = 'libStatGen' easyblock = 'MakeCp' -- GitLab From 5cfd3869361d6cccf6c4ada8c54de1bd0d974f19 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 19:50:01 +0200 Subject: [PATCH 0504/1089] modify easyconfig eudev-3.1.5-gimkl-2.11.5.eb, modify easyconfig LLVM-3.7.1-gimkl-2.11.5.eb --- easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb | 1 - easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb index 217a49f901..2d6463fa7e 100644 --- a/easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-gimkl-2.11.5.eb @@ -10,7 +10,6 @@ description = """eudev is a fork of systemd-udev with the goal of obtaining and anything else required by users and various distributions.""" toolchain = {'name': 'gimkl', 'version': '2.11.5'} -toolchainopts = {'cstd': 'c99'} sources = [SOURCE_TAR_GZ] source_urls = ['http://dev.gentoo.org/~blueness/%(name)s/'] diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb index edbbaa6b61..6ad7225296 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.7.1-gimkl-2.11.5.eb @@ -27,7 +27,7 @@ dependencies = [ ('ncurses', '5.9'), ] -configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' +configopts = '-DBUILD_SHARED_LIBS=ON' sanity_check_paths = { 'files': ['bin/llvm-ar'], -- GitLab From 2233e6b571ca238397374a46799cdc4434718d19 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 20:02:35 +0100 Subject: [PATCH 0505/1089] {devel}[gimkl/2.11.5] Qt 4.8.7 --- .../g/GLib/GLib-2.47.5-gimkl-2.11.5.eb | 33 ++++++++++++++++ .../g/gettext/gettext-0.19.6-gimkl-2.11.5.eb | 18 +++++++++ .../l/libICE/libICE-1.0.9-gimkl-2.11.5.eb | 27 +++++++++++++ .../l/libSM/libSM-1.2.2-gimkl-2.11.5.eb | 28 +++++++++++++ .../libXrender-0.9.9-gimkl-2.11.5.eb | 28 +++++++++++++ .../l/libXt/libXt-1.1.5-gimkl-2.11.5.eb | 39 +++++++++++++++++++ .../l/libffi/libffi-3.2.1-gimkl-2.11.5.eb | 23 +++++++++++ .../p/PCRE/PCRE-8.38-gimkl-2.11.5.eb | 20 ++++++++++ .../easyconfigs/q/Qt/Qt-4.8.7-gimkl-2.11.5.eb | 24 ++++++++++++ .../renderproto-0.11-gimkl-2.11.5.eb | 20 ++++++++++ 10 files changed, 260 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.47.5-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.6-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libXt/libXt-1.1.5-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/l/libffi/libffi-3.2.1-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/p/PCRE/PCRE-8.38-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/q/Qt/Qt-4.8.7-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-gimkl-2.11.5.eb new file mode 100644 index 0000000000..8580a33ef1 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-gimkl-2.11.5.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.47.5' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.6'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), +] + +builddependencies = [('Python', '2.7.11')] + +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" + +postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.6-gimkl-2.11.5.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.6-gimkl-2.11.5.eb new file mode 100644 index 0000000000..4aed92d350 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.6-gimkl-2.11.5.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.6' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = '--without-emacs' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb new file mode 100644 index 0000000000..407ce4845d --- /dev/null +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libICE' +version = '1.0.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Inter-Client Exchange library for freedesktop.org""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +dependencies = [ + ('xtrans', '1.3.5'), +] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['include/X11/ICE/ICE%s.h' % x for x in ['', 'conn', 'lib', 'msg', 'proto', 'util']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb new file mode 100644 index 0000000000..580ce7f28a --- /dev/null +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libSM' +version = '1.2.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 Session Management library, which allows for applications to both manage sessions, + and make use of session managers to save and restore their state for later use.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +dependencies = [ + ('libICE', '1.0.9'), +] +builddependencies = [ + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), +] + +sanity_check_paths = { + 'files': ['include/X11/SM/%s' % x for x in ['SM.h', 'SMlib.h', 'SMproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-gimkl-2.11.5.eb new file mode 100644 index 0000000000..ba222c9ba7 --- /dev/null +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-gimkl-2.11.5.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libXrender' +version = '0.9.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['lib/libXrender.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXt/libXt-1.1.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXt/libXt-1.1.5-gimkl-2.11.5.eb new file mode 100644 index 0000000000..79ad76f252 --- /dev/null +++ b/easybuild/easyconfigs/l/libXt/libXt-1.1.5-gimkl-2.11.5.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'libXt' +version = '1.1.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are + based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), + ('kbproto', '1.0.7'), +] + +dependencies = [ + ('libSM', '1.2.2'), + ('libICE', '1.0.9'), + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'CallbackI.h', 'CompositeP.h', 'Constraint.h', 'Core.h', 'CreateI.h', 'HookObjI.h', 'Intrinsic.h', + 'IntrinsicP.h', 'ObjectP.h', 'RectObj.h', 'ResConfigP.h', 'SelectionI.h', 'ShellI.h', 'StringDefs.h', + 'TranslateI.h', 'Vendor.h', 'Xtos.h', 'Composite.h', 'ConstrainP.h', 'ConvertI.h', 'CoreP.h', 'EventI.h', + 'InitialI.h', 'IntrinsicI.h', 'Object.h', 'PassivGraI.h', 'RectObjP.h', 'ResourceI.h', 'Shell.h', 'ShellP.h', + 'ThreadsI.h', 'VarargsI.h', 'VendorP.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.2.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-gimkl-2.11.5.eb new file mode 100644 index 0000000000..7436f22a76 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-gimkl-2.11.5.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.2.1' + +homepage = 'http://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to various calling +conventions. This allows a programmer to call any function specified by a call interface description at run-time.""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = [ + 'ftp://sourceware.org/pub/libffi/', + 'http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/', +] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': [('lib/libffi.%s' % SHLIB_EXT, 'lib64/libffi.%s' % SHLIB_EXT), ('lib/libffi.a', 'lib64/libffi.a')], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.38-gimkl-2.11.5.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-gimkl-2.11.5.eb new file mode 100644 index 0000000000..98509a1b4e --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-gimkl-2.11.5.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE' +version = '8.38' + +homepage = 'http://www.pcre.org/' +description = """ + The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax + and semantics as Perl 5. +""" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.7-gimkl-2.11.5.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-gimkl-2.11.5.eb new file mode 100644 index 0000000000..607058cfe3 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-gimkl-2.11.5.eb @@ -0,0 +1,24 @@ +name = 'Qt' +version = '4.8.7' + +homepage = 'http://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} + +source_urls = [ + 'http://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/', + 'http://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/' +] +sources = ['%(namelower)s-everywhere-opensource-src-%(version)s.tar.gz'] + +patches = ['Qt-%(version)s_phonon-export.patch'] + +dependencies = [ + ('GLib', '2.47.5'), + ('libX11', '1.6.3'), + ('libXt', '1.1.5'), + ('libXrender', '0.9.9'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb new file mode 100644 index 0000000000..c363620cb6 --- /dev/null +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'renderproto' +version = '0.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrender protocol and ancillary headers" + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 0a4d487219fb40608f605ebcdc55e342d2b7d8b9 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Wed, 9 Mar 2016 06:16:59 +1030 Subject: [PATCH 0506/1089] Whitespace fixes --- .../c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb index 1b0f60b271..87ecf8bccd 100644 --- a/easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/c/csvkit/csvkit-0.9.1-foss-2015b-Python-2.7.10.eb @@ -26,11 +26,11 @@ postinstallcmds = ["chmod -R +r %(installdir)s/lib/"] sanity_check_paths = { 'files': ['bin/in2csv', 'bin/sql2csv', 'bin/csvclean', 'bin/csvcut', 'bin/csvgrep', 'bin/csvjoin', - 'bin/csvsort', 'bin/csvstack', 'bin/csvformat', 'bin/csvjson', 'bin/csvlook', 'bin/csvpy', - 'bin/csvsql', 'bin/csvstat'], + 'bin/csvsort', 'bin/csvstack', 'bin/csvformat', 'bin/csvjson', 'bin/csvlook', 'bin/csvpy', + 'bin/csvsql', 'bin/csvstat'], 'dirs': [], } -sanity_check_commands = [('csvlook','-h')] +sanity_check_commands = [('csvlook', '-h')] moduleclass = 'tools' -- GitLab From f053247b9a41764861442340aa52fee95462193b Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 20:56:57 +0100 Subject: [PATCH 0507/1089] {numlib}[intel-2016a] qrupdate 1.1.2 (REVIEW) --- .../q/qrupdate/qrupdate-1.1.2-intel-2016a.eb | 28 +++++++++++++++++++ .../q/qrupdate/qrupdate-1.1.2_makeconf.patch | 17 +++++++++++ 2 files changed, 45 insertions(+) create mode 100644 easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2_makeconf.patch diff --git a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb new file mode 100644 index 0000000000..2829bff70e --- /dev/null +++ b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'MakeCp' + +name = 'qrupdate' +version = '1.1.2' + +homepage = 'http://freeglut.sourceforge.net/' +description = """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [SOURCEFORGE_SOURCE] + +patches = ['%(name)s-%(version)s_makeconf.patch'] + +buildopts = 'lib' + +files_to_copy = [(['libqrupdate.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libqrupdate.a'], + 'dirs': [], +} + +parallel = 1 + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2_makeconf.patch b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2_makeconf.patch new file mode 100644 index 0000000000..8e0f5c03c6 --- /dev/null +++ b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2_makeconf.patch @@ -0,0 +1,17 @@ +# Pick FC and FFLAGS from environmental variables +# March 8th 2016 B. Hajgato (Free Uviveristy Brussels - VUB) +--- qrupdate-1.1.2/Makeconf.old 2010-01-19 12:35:49.000000000 +0100 ++++ qrupdate-1.1.2/Makeconf 2016-03-08 20:51:11.662603099 +0100 +@@ -1,9 +1,9 @@ + # set this to your compiler's executable name (e.g. gfortran, g77) +-FC=gfortran ++FC?=gfortran + # requested flags +-FFLAGS=-fimplicit-none -O3 -funroll-loops ++FFLAGS?=-fimplicit-none -O3 -funroll-loops + # set if you need shared library +-FPICFLAGS=-fPIC ++FPICFLAGS= + + # BLAS library (only required for tests) + BLAS=-lblas -- GitLab From ffad529c31ea9063db8f1c77be441b4ff544589b Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 21:04:16 +0100 Subject: [PATCH 0508/1089] diSNOW added --- easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb index 60dfecc0d6..49fadf4c1f 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb @@ -449,6 +449,7 @@ exts_list = [ ('ggm', '2.3', ext_options), ('qgraph', '1.3.2', ext_options), ('diveRsity', '1.9.89', ext_options), + ('doSNOW', '1.0.14', ext_options), ] moduleclass = 'lang' -- GitLab From 511bdfee7d1f3956cc5a711acbafc71fc5d0ff31 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 21:18:56 +0100 Subject: [PATCH 0509/1089] homepage corrected --- easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb index 2829bff70e..eaa4c88212 100644 --- a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-intel-2016a.eb @@ -3,7 +3,7 @@ easyblock = 'MakeCp' name = 'qrupdate' version = '1.1.2' -homepage = 'http://freeglut.sourceforge.net/' +homepage = 'https://sourceforge.net/projects/qrupdate/' description = """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" toolchain = {'name': 'intel', 'version': '2016a'} -- GitLab From 94471da2337738e879ded434c6a7abfa346bcc46 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 8 Mar 2016 22:20:43 +0200 Subject: [PATCH 0510/1089] add easyconfig ParaView-4.4.0-gimkl-2.11.5-mpi.eb, add easyconfig libGLU-9.0.0-gimkl-2.11.5.eb --- .../l/libGLU/libGLU-9.0.0-gimkl-2.11.5.eb | 24 +++++++++ .../ParaView-4.4.0-gimkl-2.11.5-mpi.eb | 52 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-gimkl-2.11.5.eb create mode 100644 easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-gimkl-2.11.5-mpi.eb diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-gimkl-2.11.5.eb new file mode 100644 index 0000000000..2efc0a1d43 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-gimkl-2.11.5.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +dependencies = [ + ('Mesa', '11.1.2'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-gimkl-2.11.5-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-gimkl-2.11.5-mpi.eb new file mode 100644 index 0000000000..a0d908d3d5 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-gimkl-2.11.5-mpi.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '4.4.0' +versionsuffix = '-mpi' + +homepage = "http://www.paraview.org" +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'gimkl', 'version': '2.11.5'} +toolchainopts = {'pic': True, 'usempi': True} + +download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile=' +source_urls = ['http://www.paraview.org/paraview-downloads/%s' % download_suffix] +sources = ["ParaView-v%(version)s-source.tar.gz"] + +patches = ['%(name)s-%(version)s_missingheader.patch'] + +python = 'Python' +pyver = '2.7.10' +pysuff = '-%s-%s' % (python, pyver) +dependencies = [ + ('Mesa', '11.1.2'), + ('libGLU', '9.0.0'), + ('libXt', '1.1.5'), + ('Qt', '4.8.7'), + ('libXext', '1.3.3'), + ('libX11', '1.6.3'), + ('zlib', '1.2.8'), +] + +builddependencies = [('CMake', '3.4.3')] + +separate_build_dir = True + +maxparallel = 4 + +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DVTK_OPENGL_HAS_OSMESA=ON -DPARAVIEW_USE_MPI=ON ' +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include -DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.so ' +configopts += '-DOSMESA_INCLUDE_DIR=$EBROOTMESA/include -DOSMESA_LIBRARY=$EBROOTMESA/lib/libOSMesa.so ' +# Without internet connection turn off testing (uncomment the following line) +#configopts += '-DBUILD_TESTING=OFF ' +# Or consult https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/data.md +# and download ExternalData to $EASYBUILD_SOURCEPATH and adjust -DExternalData_OBJECT_STORES accordingly +# Without internet connection, comment the following two lines (configopts and prebuildopts) +configopts += '-DExternalData_OBJECT_STORES=%(builddir)s/ExternalData ' +# The ParaView server can be cranky, test downloads are quite often failing, especially in the case +# of parallel downloads. Using ; insted of && gives a second chance to download the test files, if the +# first serial attempt would fail. +prebuildopts = 'make VTKData ;' + +moduleclass = 'vis' -- GitLab From 3defaa7cb4280d0ea6fc193622fa93b4eadafe75 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 21:56:34 +0100 Subject: [PATCH 0511/1089] CMake builddep added --- easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb index 640e02a1af..9b004cefef 100644 --- a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-intel-2016a.eb @@ -11,6 +11,10 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['http://geuz.org/gl2ps/src/'] sources = [SOURCELOWER_TGZ] +builddependencies = [ + ('CMake', '3.4.3'), +] + dependencies = [ ('libX11', '1.6.3'), ('libXi', '1.7.6'), -- GitLab From 609b7695965f5d75bb9aa0a357f134fbb3115049 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 8 Mar 2016 22:17:33 +0100 Subject: [PATCH 0512/1089] check both lib/lib64 for freeglut --- easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb index 095b105fda..fe4a731eff 100644 --- a/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-intel-2016a.eb @@ -30,7 +30,7 @@ configopts += ' -DX11_Xi_LIB="$EBROOTLIBXIlib/libXrandr.so" ' configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTLIBXI/include/X11/extensions/" ' sanity_check_paths = { - 'files': ['lib64/libglut.a', 'lib64/libglut.%s' % SHLIB_EXT], + 'files': [('lib/libglut.a', 'lib64/libglut.a'), ('lib/libglut.%s' % SHLIB_EXT, 'lib64/libglut.%s' % SHLIB_EXT)], 'dirs': ['include/GL'], } -- GitLab From 3a76e163287326199ecf8991a89a77ed3713774a Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 9 Mar 2016 09:21:56 +0100 Subject: [PATCH 0513/1089] fix remarks --- .../easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb index c7ee77bd84..6caf9a9b85 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb @@ -9,13 +9,11 @@ description = """The Ncurses (new curses) library is a free software emulation o function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} -toolchainopts = {'optarch': True, 'shared': True, 'pic': True} +toolchainopts = {'pic': True} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['ncurses-%(version)s_configure_darwin.patch'] - configopts = [ # default build '--with-shared --enable-overwrite', -- GitLab From 1cc16cf822933f32f1ed962b912e7cb6e8d02f11 Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 9 Mar 2016 09:23:28 +0100 Subject: [PATCH 0514/1089] clean up --- .../easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb | 4 +--- .../easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb index 39a02a2b9d..f11ad3873e 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb @@ -9,13 +9,11 @@ description = """The Ncurses (new curses) library is a free software emulation o function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'optarch': True, 'shared': True, 'pic': True} +toolchainopts = {'pic': True} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['ncurses-%(version)s_configure_darwin.patch'] - configopts = [ # default build '--with-shared --enable-overwrite', diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb index a3d14a3a11..0c15e725f4 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb @@ -9,13 +9,11 @@ description = """The Ncurses (new curses) library is a free software emulation o function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'optarch': True, 'shared': True, 'pic': True} +toolchainopts = {'pic': True} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['ncurses-%(version)s_configure_darwin.patch'] - configopts = [ # default build '--with-shared --enable-overwrite', -- GitLab From a7b15e1944e1d14979c38e30214b6fb8480283f6 Mon Sep 17 00:00:00 2001 From: perettig Date: Wed, 9 Mar 2016 09:33:07 +0100 Subject: [PATCH 0515/1089] removed ncurses (as it should come from PR#2606) --- .../ncurses-5.9-CrayIntel-2015.11-XC.eb | 36 ------------------- 1 file changed, 36 deletions(-) delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb deleted file mode 100644 index c7ee77bd84..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} -toolchainopts = {'optarch': True, 'shared': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['ncurses-%(version)s_configure_darwin.patch'] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' -- GitLab From 383ff3305b9b3435edf0c8b6c36fdd66cac9cdcc Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 9 Mar 2016 09:36:24 +0100 Subject: [PATCH 0516/1089] {vis}[intel-2016a] GraphicsMagick 1.3.23 (REVIEW) --- .../GraphicsMagick-1.3.23-intel-2016a.eb | 34 +++++++++++++++++++ .../easyconfigs/x/XZ/XZ-5.2.2-intel-2016a.eb | 30 ++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/XZ/XZ-5.2.2-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb new file mode 100644 index 0000000000..755ecbe16c --- /dev/null +++ b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'GraphicsMagick' +version = '1.3.23' + +homepage = 'http://www.graphicsmagick.org/' +description = """GraphicsMagick is the swiss army knife of image processing.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/%(version_major_minor)s/', +] +sources = [SOURCE_TAR_GZ] + +builddependencies = [ + ('libtool', '2.4.6'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('bzip2', '1.0.6'), + ('freetype', '2.6.2'), + ('libpng', '1.6.21'), + ('libjpeg-turbo', '1.4.2'), + ('LibTIFF', '4.0.6'), + ('libxml2', '2.9.3'), + ('XZ', '5.2.2'), + ('zlib', '1.2.8'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.2-intel-2016a.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.2-intel-2016a.eb new file mode 100644 index 0000000000..b717af018a --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.2-intel-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.2' + +homepage = 'http://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://tukaani.org/xz/'] + +builddependencies = [ + ('Autotools', '20150215'), +] + +dependencies = [ + ('gettext', '0.19.6'), +] + +# may become useful in non-x86 archs +#configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ["bin/xz", "bin/lzmainfo"], + 'dirs': [] +} + +moduleclass = 'tools' -- GitLab From c5a2f52c1c9e836dedc7649a8ddc2551bf6f4bb9 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Wed, 9 Mar 2016 10:57:15 +0100 Subject: [PATCH 0517/1089] Update dead link for SuiteSparse --- .../SuiteSparse-3.7.0-gmpolf-1.4.8-withparmetis.eb | 4 ++-- .../SuiteSparse-3.7.0-goalf-1.1.0-no-OFED-withparmetis.eb | 4 ++-- .../SuiteSparse-3.7.0-goolf-1.4.10-withparmetis.eb | 4 ++-- .../SuiteSparse/SuiteSparse-3.7.0-ictce-4.0.6-withparmetis.eb | 4 ++-- .../SuiteSparse/SuiteSparse-3.7.0-ictce-5.3.0-withparmetis.eb | 4 ++-- .../SuiteSparse-3.7.1-goolf-1.4.10-ParMETIS-4.0.3.eb | 4 ++-- .../SuiteSparse-3.7.1-ictce-5.5.0-ParMETIS-4.0.3.eb | 4 ++-- .../SuiteSparse-4.2.1-goolf-1.4.10-ParMETIS-4.0.3.eb | 4 ++-- .../SuiteSparse-4.2.1-ictce-5.5.0-ParMETIS-4.0.3.eb | 4 ++-- .../SuiteSparse-4.2.1-intel-2014b-ParMETIS-4.0.3.eb | 4 ++-- .../SuiteSparse-4.4.3-intel-2015a-ParMETIS-4.0.3.eb | 2 +- .../SuiteSparse/SuiteSparse-4.4.5-intel-2015b-METIS-5.1.0.eb | 2 +- .../SuiteSparse-4.4.6-intel-2015b-ParMETIS-4.0.3.eb | 2 +- .../SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb | 2 +- 14 files changed, 24 insertions(+), 24 deletions(-) diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-gmpolf-1.4.8-withparmetis.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-gmpolf-1.4.8-withparmetis.eb index 2776109eda..d45fed3224 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-gmpolf-1.4.8-withparmetis.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-gmpolf-1.4.8-withparmetis.eb @@ -2,13 +2,13 @@ name = 'SuiteSparse' version = '3.7.0' versionsuffix = '-withparmetis' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'gmpolf', 'version': '1.4.8'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] dependencies = [('ParMETIS', '4.0.2')] diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goalf-1.1.0-no-OFED-withparmetis.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goalf-1.1.0-no-OFED-withparmetis.eb index 2af57df4b1..be453ea4e0 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goalf-1.1.0-no-OFED-withparmetis.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goalf-1.1.0-no-OFED-withparmetis.eb @@ -2,13 +2,13 @@ name = 'SuiteSparse' version = '3.7.0' versionsuffix = '-withparmetis' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] dependencies = [('ParMETIS', '4.0.2')] diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goolf-1.4.10-withparmetis.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goolf-1.4.10-withparmetis.eb index 4a43a48137..b237096229 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goolf-1.4.10-withparmetis.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-goolf-1.4.10-withparmetis.eb @@ -2,13 +2,13 @@ name = 'SuiteSparse' version = '3.7.0' versionsuffix = '-withparmetis' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] dependencies = [('ParMETIS', '4.0.2')] diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-4.0.6-withparmetis.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-4.0.6-withparmetis.eb index 73e75a56ff..31eaab67de 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-4.0.6-withparmetis.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-4.0.6-withparmetis.eb @@ -2,13 +2,13 @@ name = 'SuiteSparse' version = '3.7.0' versionsuffix = '-withparmetis' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'ictce', 'version': '4.0.6'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] dependencies = [('ParMETIS', '4.0.2')] diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-5.3.0-withparmetis.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-5.3.0-withparmetis.eb index 6cd219c100..1f9476f389 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-5.3.0-withparmetis.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.0-ictce-5.3.0-withparmetis.eb @@ -2,14 +2,14 @@ name = 'SuiteSparse' version = '3.7.0' versionsuffix = '-withparmetis' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] dependencies = [('ParMETIS', '4.0.2')] diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-goolf-1.4.10-ParMETIS-4.0.3.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-goolf-1.4.10-ParMETIS-4.0.3.eb index 62896760f1..7e5f7e0b83 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-goolf-1.4.10-ParMETIS-4.0.3.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-goolf-1.4.10-ParMETIS-4.0.3.eb @@ -1,13 +1,13 @@ name = 'SuiteSparse' version = '3.7.1' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] parmetis = 'ParMETIS' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-ictce-5.5.0-ParMETIS-4.0.3.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-ictce-5.5.0-ParMETIS-4.0.3.eb index 02396e3728..7977eac7fc 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-ictce-5.5.0-ParMETIS-4.0.3.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-3.7.1-ictce-5.5.0-ParMETIS-4.0.3.eb @@ -1,13 +1,13 @@ name = 'SuiteSparse' version = '3.7.1' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'ictce', 'version': '5.5.0'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] parmetis = 'ParMETIS' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-goolf-1.4.10-ParMETIS-4.0.3.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-goolf-1.4.10-ParMETIS-4.0.3.eb index 1193a31b09..e1b3ef8d57 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-goolf-1.4.10-ParMETIS-4.0.3.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-goolf-1.4.10-ParMETIS-4.0.3.eb @@ -1,13 +1,13 @@ name = 'SuiteSparse' version = '4.2.1' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] parmetis = 'ParMETIS' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-ictce-5.5.0-ParMETIS-4.0.3.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-ictce-5.5.0-ParMETIS-4.0.3.eb index c537c65755..a4f5ba5d15 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-ictce-5.5.0-ParMETIS-4.0.3.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-ictce-5.5.0-ParMETIS-4.0.3.eb @@ -1,13 +1,13 @@ name = 'SuiteSparse' version = '4.2.1' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'ictce', 'version': '5.5.0'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] parmetis = 'ParMETIS' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-intel-2014b-ParMETIS-4.0.3.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-intel-2014b-ParMETIS-4.0.3.eb index eb9d92e5d5..bb01d5bbb6 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-intel-2014b-ParMETIS-4.0.3.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.2.1-intel-2014b-ParMETIS-4.0.3.eb @@ -1,13 +1,13 @@ name = 'SuiteSparse' version = '4.2.1' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'static': True} -source_urls = ['http://www.cise.ufl.edu/research/sparse/SuiteSparse/'] +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse/'] sources = [SOURCE_TAR_GZ] parmetis = 'ParMETIS' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.3-intel-2015a-ParMETIS-4.0.3.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.3-intel-2015a-ParMETIS-4.0.3.eb index ace5e25985..3d9532a033 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.3-intel-2015a-ParMETIS-4.0.3.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.3-intel-2015a-ParMETIS-4.0.3.eb @@ -1,7 +1,7 @@ name = 'SuiteSparse' version = '4.4.3' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'intel', 'version': '2015a'} diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.5-intel-2015b-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.5-intel-2015b-METIS-5.1.0.eb index 36dee081ed..cce45a4f26 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.5-intel-2015b-METIS-5.1.0.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.5-intel-2015b-METIS-5.1.0.eb @@ -1,7 +1,7 @@ name = 'SuiteSparse' version = '4.4.5' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'intel', 'version': '2015b'} diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.6-intel-2015b-ParMETIS-4.0.3.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.6-intel-2015b-ParMETIS-4.0.3.eb index f139f365f0..3136cae63d 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.6-intel-2015b-ParMETIS-4.0.3.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.4.6-intel-2015b-ParMETIS-4.0.3.eb @@ -1,7 +1,7 @@ name = 'SuiteSparse' version = '4.4.6' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'intel', 'version': '2015b'} diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb index f6beb0e31f..ac231b59ef 100644 --- a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-4.5.1-intel-2016a-METIS-5.1.0.eb @@ -1,7 +1,7 @@ name = 'SuiteSparse' version = '4.5.1' -homepage = 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" toolchain = {'name': 'intel', 'version': '2016a'} -- GitLab From 004d3d32eab2707b3c8111d05e1601944a309008 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 9 Mar 2016 14:24:22 +0100 Subject: [PATCH 0518/1089] Fix remark --- easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb | 7 +++---- easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb index 363a280e90..d474edee9b 100644 --- a/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb +++ b/easybuild/easyconfigs/m/mutil/mutil-1.822.3-intel-2016a.eb @@ -1,4 +1,7 @@ name = 'mutil' +coreutils_maj = '8' +coreutils_min = '22' +version = '1.%s%s.3' % (coreutils_maj, coreutils_min) homepage = 'http://people.nas.nasa.gov/~kolano/projects/mutil.html' description = """Mutil is a set of standard utilities that have been parallelized to maximize performance on @@ -8,10 +11,6 @@ GNU coreutils, which have achieved 10/30x rates on one/many nodes. toolchain = {'name': 'intel', 'version': '2016a'} -coreutils_maj = '8' -coreutils_min = '22' -version = '1.%s%s.3' % (coreutils_maj, coreutils_min) - sources = [ "coreutils-%s.%s.tar.xz" % (coreutils_maj, coreutils_min), # must be first SOURCE_TGZ, diff --git a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb index 62fb0dbd9d..e47d185932 100644 --- a/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/s/shift/shift-4.0-intel-2016a.eb @@ -24,8 +24,8 @@ skipsteps = ['build'] files_to_copy = [(['perl/shiftc', 'perl/shift-mgr', 'perl/shift-aux'], 'bin'), 'etc', (['doc/shiftc.1'], 'man/man1')] sanity_check_paths = { - 'files': ['bin/shiftc'], - 'dirs': ['etc'] + 'files': ['bin/%s' % x for x in ['shiftc', 'shift-mgr', 'shift-aux']], + 'dirs': ['etc', 'man/man1'] } moduleclass = 'tools' -- GitLab From d783767305fed790377296e4b1695ed98a5f308d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 9 Mar 2016 14:46:02 +0100 Subject: [PATCH 0519/1089] fix style issues: no tabs --- easybuild/easyconfigs/b/binutils/binutils-2.25.eb | 2 +- easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb index 246106ec92..40e3ccc1a8 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb @@ -12,7 +12,7 @@ sources = [SOURCE_TAR_GZ] source_urls = [GNU_SOURCE] builddependencies = [ - ('M4', '1.4.17'), + ('M4', '1.4.17'), ('flex', '2.5.39'), ('Bison', '3.0.4'), # zlib required, but being linked instatically, so not a runtime dep diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb index ce96075acd..32dffb057f 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.3.eb @@ -12,8 +12,8 @@ source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] # use same binutils version that was used when building GCCcore toolchain builddependencies = [ - ('M4', '1.4.17'), - ('binutils', '2.25', '', True) + ('M4', '1.4.17'), + ('binutils', '2.25', '', True) ] moduleclass = 'lang' -- GitLab From 7b57c9254a2b71bc6443b575a862831b6e0de888 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 9 Mar 2016 15:23:10 +0100 Subject: [PATCH 0520/1089] remove custom exts_filter in GC3Pie easyconfigs, since PythonPackage will use right filter by default --- easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.2.3.eb | 1 - easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.3.eb | 1 - easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.0.eb | 1 - easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.1.eb | 1 - easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.2.eb | 1 - 5 files changed, 5 deletions(-) diff --git a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.2.3.eb b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.2.3.eb index 3b725d6c3c..a6eca83b67 100644 --- a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.2.3.eb +++ b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.2.3.eb @@ -11,7 +11,6 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c"import %(ext_name)s"', '') # allow use of system Python allow_system_deps = [('Python', SYS_PYTHON_VERSION)] diff --git a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.3.eb b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.3.eb index 662fb134c2..84677a5142 100644 --- a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.3.eb +++ b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.3.eb @@ -11,7 +11,6 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c"import %(ext_name)s"', '') # allow use of system Python allow_system_deps = [('Python', SYS_PYTHON_VERSION)] diff --git a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.0.eb b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.0.eb index b08b112eb7..55217f87b7 100644 --- a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.0.eb +++ b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.0.eb @@ -11,7 +11,6 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c"import %(ext_name)s"', '') # allow use of system Python allow_system_deps = [('Python', SYS_PYTHON_VERSION)] diff --git a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.1.eb b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.1.eb index 92f6d885db..dbc732d179 100644 --- a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.1.eb +++ b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.1.eb @@ -11,7 +11,6 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c"import %(ext_name)s"', '') # allow use of system Python allow_system_deps = [('Python', SYS_PYTHON_VERSION)] diff --git a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.2.eb b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.2.eb index e5720c5610..0e7690c9c0 100644 --- a/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.2.eb +++ b/easybuild/easyconfigs/g/GC3Pie/GC3Pie-2.4.2.eb @@ -11,7 +11,6 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c"import %(ext_name)s"', '') # allow use of system Python allow_system_deps = [('Python', SYS_PYTHON_VERSION)] -- GitLab From 08a1f1630b4a92d877a3bc279622d8cc3e7cf102 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 9 Mar 2016 15:56:32 +0100 Subject: [PATCH 0521/1089] remove custom exts_filter in various easyconfigs for (bundles of) Python packages --- .../i/IPython/IPython-3.2.1-intel-2015a-Python-2.7.10.eb | 1 - .../i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb | 1 - .../i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb | 1 - .../m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb | 1 - .../m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb | 1 - .../m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb | 1 - .../n/numba/numba-0.22.1-intel-2015b-Python-2.7.11.eb | 1 - .../s/Sphinx/Sphinx-1.3.3-intel-2015b-Python-2.7.11.eb | 1 - 8 files changed, 8 deletions(-) diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.1-intel-2015a-Python-2.7.10.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.1-intel-2015a-Python-2.7.10.eb index 4c966b0d8a..92dcaa700c 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.1-intel-2015a-Python-2.7.10.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.1-intel-2015a-Python-2.7.10.eb @@ -25,7 +25,6 @@ dependencies = [ # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ("python -c 'import %(ext_name)s'", '') exts_list = [ ('pysqlite', '2.7.0', { diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb index 6a2901ff52..693b2889a6 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb @@ -25,7 +25,6 @@ dependencies = [ # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ("python -c 'import %(ext_name)s'", '') exts_list = [ ('pysqlite', '2.8.1', { diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb index fd3e839da8..e3341fcf31 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb @@ -25,7 +25,6 @@ dependencies = [ # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ("python -c 'import %(ext_name)s'", '') exts_list = [ ('pysqlite', '2.8.1', { diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb index 207a23ff90..712519a60c 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb @@ -13,7 +13,6 @@ toolchain = {'name': 'foss', 'version': '2015b'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c "import %(ext_name)s"', '') dependencies = [ ('Python', '2.7.10'), diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb index 1364208cee..8b047bb737 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb @@ -13,7 +13,6 @@ toolchain = {'name': 'intel', 'version': '2015b'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c "import %(ext_name)s"', '') dependencies = [ ('Python', '2.7.11'), diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb index c62d74a1eb..551c06ecef 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb @@ -13,7 +13,6 @@ toolchain = {'name': 'intel', 'version': '2016a'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c "import %(ext_name)s"', '') dependencies = [ ('Python', '2.7.11'), diff --git a/easybuild/easyconfigs/n/numba/numba-0.22.1-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/n/numba/numba-0.22.1-intel-2015b-Python-2.7.11.eb index 402bb7ef96..6456ccb4fb 100644 --- a/easybuild/easyconfigs/n/numba/numba-0.22.1-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/n/numba/numba-0.22.1-intel-2015b-Python-2.7.11.eb @@ -11,7 +11,6 @@ toolchain = {'name': 'intel', 'version': '2015b'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c "import %(ext_name)s"', '') pyver = '2.7.11' versionsuffix = '-Python-%s' % pyver diff --git a/easybuild/easyconfigs/s/Sphinx/Sphinx-1.3.3-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/s/Sphinx/Sphinx-1.3.3-intel-2015b-Python-2.7.11.eb index 3813e03737..be559f9b42 100644 --- a/easybuild/easyconfigs/s/Sphinx/Sphinx-1.3.3-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/Sphinx/Sphinx-1.3.3-intel-2015b-Python-2.7.11.eb @@ -13,7 +13,6 @@ toolchain = {'name': 'intel', 'version': '2015b'} # this is a bundle of Python packages exts_defaultclass = 'PythonPackage' -exts_filter = ('python -c "import %(ext_name)s"', '') pyver = '2.7.11' pyshortver = '.'.join(pyver.split('.')[0:2]) -- GitLab From 63bb41c84a63bb99714ee6c70e633e6453074961 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 09:35:23 +0100 Subject: [PATCH 0522/1089] {bio}[intel/2016a] npstat 0.99 --- .../npstat-0.99_fix-hardcoding-Makefile.patch | 16 +++++++++ easybuild/easyconfigs/n/npstat/npstat.eb | 33 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch create mode 100644 easybuild/easyconfigs/n/npstat/npstat.eb diff --git a/easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch b/easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch new file mode 100644 index 0000000000..b9cdbe3811 --- /dev/null +++ b/easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch @@ -0,0 +1,16 @@ +fix hardcoding of 'gcc' +author: Kenneth Hoste (HPC-UGent) +--- npstat/trunk/Makefile.orig 2016-02-15 01:16:51.000000000 +0100 ++++ npstat/trunk/Makefile 2016-03-10 09:25:46.000000000 +0100 +@@ -1,8 +1,7 @@ + all: npstat + +- + npstat: +- gcc -o npstat NPStat-v0.99.c -lgsl -lgslcblas -lm ++ ${CC} -o npstat NPStat-v0.99.c -lgsl -lgslcblas -lm + + clean: +- rm npstat +\ No newline at end of file ++ rm npstat diff --git a/easybuild/easyconfigs/n/npstat/npstat.eb b/easybuild/easyconfigs/n/npstat/npstat.eb new file mode 100644 index 0000000000..b8f9940b59 --- /dev/null +++ b/easybuild/easyconfigs/n/npstat/npstat.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'npstat' +version = '0.99' + +homepage = 'https://code.google.com/archive/p/npstat/' +description = """npstat implements some population genetics tests and estimators that can be applied + to pooled sequences from Next Generation Sequencing experiments.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/npstat/'] +sources = ['source-archive.zip'] + +patches = ['npstat-%(version)s_fix-hardcoding-Makefile.patch'] + +# commit 14, Oct 31st 2013 +checksums = ['a1595b7c46312d0f51b8b68987289337'] + +dependencies = [ + ('GSL', '1.16'), +] + +start_dir = 'trunk' + +files_to_copy = [(['npstat'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/npstat'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From a9cd29fdaa6c1bc62c65738484548ab0dfad6d11 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 09:58:56 +0100 Subject: [PATCH 0523/1089] switch to foss/2016a (& fix easyconfig filename) + fix remarks w.r.t. $CFLAGS in patch --- .../n/npstat/{npstat.eb => npstat-0.99-foss-2016a.eb} | 2 +- .../n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename easybuild/easyconfigs/n/npstat/{npstat.eb => npstat-0.99-foss-2016a.eb} (93%) diff --git a/easybuild/easyconfigs/n/npstat/npstat.eb b/easybuild/easyconfigs/n/npstat/npstat-0.99-foss-2016a.eb similarity index 93% rename from easybuild/easyconfigs/n/npstat/npstat.eb rename to easybuild/easyconfigs/n/npstat/npstat-0.99-foss-2016a.eb index b8f9940b59..b72652fe93 100644 --- a/easybuild/easyconfigs/n/npstat/npstat.eb +++ b/easybuild/easyconfigs/n/npstat/npstat-0.99-foss-2016a.eb @@ -7,7 +7,7 @@ homepage = 'https://code.google.com/archive/p/npstat/' description = """npstat implements some population genetics tests and estimators that can be applied to pooled sequences from Next Generation Sequencing experiments.""" -toolchain = {'name': 'intel', 'version': '2016a'} +toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/npstat/'] sources = ['source-archive.zip'] diff --git a/easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch b/easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch index b9cdbe3811..54420af1c1 100644 --- a/easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch +++ b/easybuild/easyconfigs/n/npstat/npstat-0.99_fix-hardcoding-Makefile.patch @@ -1,4 +1,4 @@ -fix hardcoding of 'gcc' +fix hardcoding of 'gcc', add optimization flags defined in $CFLAGS author: Kenneth Hoste (HPC-UGent) --- npstat/trunk/Makefile.orig 2016-02-15 01:16:51.000000000 +0100 +++ npstat/trunk/Makefile 2016-03-10 09:25:46.000000000 +0100 @@ -8,7 +8,7 @@ author: Kenneth Hoste (HPC-UGent) - npstat: - gcc -o npstat NPStat-v0.99.c -lgsl -lgslcblas -lm -+ ${CC} -o npstat NPStat-v0.99.c -lgsl -lgslcblas -lm ++ ${CC} ${CFLAGS} -o npstat NPStat-v0.99.c -lgsl -lgslcblas -lm clean: - rm npstat -- GitLab From fe62c93d7d5080fcfa7782a71bd8399c207e47f1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 10:00:01 +0100 Subject: [PATCH 0524/1089] {lang,numlib}[foss/2016a] OCaml 4.02.3 + GSL 1.16 --- .../easyconfigs/g/GSL/GSL-1.16-foss-2016a.eb | 19 ++++++++ .../o/OCaml/OCaml-4.02.3-foss-2016a.eb | 48 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2016a.eb create mode 100644 easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2016a.eb b/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2016a.eb new file mode 100644 index 0000000000..2cce073a65 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-1.16-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '1.16' + +homepage = 'http://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2016a.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2016a.eb new file mode 100644 index 0000000000..ee452fb08e --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2016a.eb @@ -0,0 +1,48 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## +name = 'OCaml' +version = '4.02.3' + +homepage = 'http://ocaml.org/' +description = """OCaml is a general purpose industrial-strength programming language + with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria + it benefits from one of the most advanced type systems and supports functional, + imperative and object-oriented styles of programming.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +opam_ver = '1.2.2' +source_urls = [ + 'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]), + 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, +] +sources = [ + SOURCELOWER_TAR_GZ, + 'opam-full-%s.tar.gz' % opam_ver, +] + +builddependencies = [('Autotools', '20150215')] +dependencies = [ + ('ncurses', '6.0'), + ('libreadline', '6.3'), + ('GSL', '1.16'), +] + +# parallel build tends to break +parallel = 1 + +# handled by OPAM, order matters! +exts_list = [ + ('ocamlfind', '1.5.5'), + ('batteries', '2.3.1'), + ('ocaml+twt', '0.94.0'), + ('gsl', '1.18.5'), +] + +moduleclass = 'lang' -- GitLab From 055acbe0dec9d4bc577a6d25cf4cb95601e7144f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 10:27:18 +0100 Subject: [PATCH 0525/1089] {bio}[foss/2016a] SNAPE-pooled r32 --- .../SNAPE-pooled-r32-foss-2016a.eb | 35 +++++++++++++++++++ ...E-pooled-r32_fix-hardcoding-Makefile.patch | 12 +++++++ 2 files changed, 47 insertions(+) create mode 100644 easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32-foss-2016a.eb create mode 100644 easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32_fix-hardcoding-Makefile.patch diff --git a/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32-foss-2016a.eb b/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32-foss-2016a.eb new file mode 100644 index 0000000000..ee4b4bad14 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32-foss-2016a.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'SNAPE-pooled' +version = 'r32' + +homepage = 'https://code.google.com/archive/p/snape-pooled/' +description = """SNAPE-pooled computes the probability distribution for the frequency of the minor allele + in a certain population, at a certain position in the genome.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/snape-pooled/'] +sources = ['source-archive.zip'] + +patches = ['SNAPE-pooled-%(version)s_fix-hardcoding-Makefile.patch'] + +# commit 32, Aug 12th 2013 +checksums = ['0e9741a45731a2e92d84c129125db3f1'] + +dependencies = [ + ('OCaml', '4.02.3'), +] + +start_dir = 'trunk' + +buildopts = "snape-pooled snape-pooled-fast" + +files_to_copy = [(['snape-pooled', 'snape-pooled-fast'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snape-pooled', 'bin/snape-pooled-fast'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32_fix-hardcoding-Makefile.patch b/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32_fix-hardcoding-Makefile.patch new file mode 100644 index 0000000000..85d8d5a910 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAPE-pooled/SNAPE-pooled-r32_fix-hardcoding-Makefile.patch @@ -0,0 +1,12 @@ +fix hardcoded 'gcc' + add optimization flags through $CFLAGS +author: Kenneth Hoste (HPC-UGent) +--- snape-pooled/trunk/Makefile.orig 2016-03-10 10:23:16.000000000 +0100 ++++ snape-pooled/trunk/Makefile 2016-03-10 10:23:32.000000000 +0100 +@@ -8,6 +8,6 @@ + latex $< + dvips -o snape-pooled-manual.ps snape-pooled-manual.dvi + snape-pooled-fast: snape-pooled.c +- gcc -g -o $@ $< -lm ++ ${CC} ${CFLAGS} -g -o $@ $< -lm + clean: + rm *.cmx *.cmi *.cmo pooled.o snape-pooled *.log *.ps *.dvi *.aux -- GitLab From 3c1a86c564c9ff99c8e7f1f6d755e98b695f2555 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 12:05:22 +0200 Subject: [PATCH 0526/1089] add easyconfig BWA-0.7.13-foss-2016a.eb, add easyconfig picard-2.1.1-Java-1.8.0_74.eb, add easyconfig GATK-3.5-Java-1.8.0_74.eb --- .../b/BWA/BWA-0.7.13-foss-2016a.eb | 32 +++++++++++++++ .../g/GATK/GATK-3.5-Java-1.8.0_74.eb | 40 +++++++++++++++++++ .../p/picard/picard-2.1.1-Java-1.8.0_74.eb | 18 +++++++++ 3 files changed, 90 insertions(+) create mode 100644 easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_74.eb create mode 100644 easybuild/easyconfigs/p/picard/picard-2.1.1-Java-1.8.0_74.eb diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2016a.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2016a.eb new file mode 100644 index 0000000000..419aba7bab --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-foss-2016a.eb @@ -0,0 +1,32 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Version >= 0.7.13 +# Author: Adam Huffman +# The Francis Crick Institute +# +# Note that upstream development is mainly at: https://github.com/lh3/bwa +## + +name = 'BWA' +version = '0.7.13' + +homepage = 'http://bio-bwa.sourceforge.net/' +description = """Burrows-Wheeler Aligner (BWA) is an efficient program that aligns + relatively short nucleotide sequences against a long reference sequence such as the human genome.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_74.eb b/easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_74.eb new file mode 100644 index 0000000000..c52824dc92 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-3.5-Java-1.8.0_74.eb @@ -0,0 +1,40 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 Cyprus Institute / CaSToRC, University of Luxembourg / LCSB +# Authors:: George Tsouloupas , Fotis Georgatos , Kenneth Hoste (UGent) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '3.5' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.broadinstitute.org/gatk/' +description = """The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute + to analyse next-generation resequencing data. The toolkit offers a wide variety of tools, + with a primary focus on variant discovery and genotyping as well as strong emphasis on + data quality assurance. Its robust architecture, powerful processing engine and + high-performance computing features make it capable of taking on projects of any size.""" + +toolchain = {'name': 'dummy', 'version': ''} + +# download manually from http://www.broadinstitute.org/gatk/download +sources = ['GenomeAnalysisTK-%(version)s.tar.bz2'] + +dependencies = [('Java', '1.8.0_74')] + +modloadmsg = """To execute GATK run: java -jar \\$EBROOTGATK/GenomeAnalysisTK.jar""" + +sanity_check_paths = { + 'files': ["GenomeAnalysisTK.jar"], + 'dirs': ["resources"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/picard/picard-2.1.1-Java-1.8.0_74.eb b/easybuild/easyconfigs/p/picard/picard-2.1.1-Java-1.8.0_74.eb new file mode 100644 index 0000000000..b7bb2304d4 --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-2.1.1-Java-1.8.0_74.eb @@ -0,0 +1,18 @@ +name = 'picard' +version = '2.1.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://broadinstitute.github.io/picard/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM + (http://samtools.github.io/hts-specs) format.""" + +toolchain = {'name': 'dummy', 'version': ''} + +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s/'] +sources = ['%(name)s-tools-%(version)s.zip'] + +dependencies = [('Java', '1.8.0_74')] + +modloadmsg = "To execute picard run: java -jar \\${EBROOTPICARD}/%(name)s.jar" + +moduleclass = 'bio' -- GitLab From 4b1b643f11d53d19d0c9665eac3a326eaa7d1a79 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 12:11:05 +0200 Subject: [PATCH 0527/1089] add easyconfig Python-3.5.1-foss-2016a.eb --- .../p/Python/Python-3.5.1-foss-2016a.eb | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb new file mode 100644 index 0000000000..38309ea23d --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb @@ -0,0 +1,109 @@ +name = 'Python' +version = '3.5.1' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.10.4' +scipyversion = '0.17.0' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '6.0'), +# ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev')] + +# order is important! +# package versions updated Feb 25th 2016 +exts_list = [ + ('setuptools', '20.1.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '8.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.7', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': ['https://pypi.python.org/packages/source/n/numpy/'], + }), + ('scipy', scipyversion, { + 'source_urls': ['https://pypi.python.org/packages/source/s/scipy/'], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '2.0.0', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + 'patches': [ + 'paycheck-1.0.2_setup-open-README-utf8.patch', + ], + }), + ('pbr', '1.8.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], + }), + ('lockfile', '0.12.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.23.4', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.10.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.2', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.2', { + 'source_tmpl': '%(name)s-%(version)s.post2.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + 'patches': [ + 'deap-1.0.2_setup-open-README-utf8.patch', + ], + }), + ('decorator', '4.0.9', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.1.0', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.13', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.16.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.1.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.18', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), +] + +moduleclass = 'lang' -- GitLab From c012661d8159a3f76e32fe60a4e36aa035967117 Mon Sep 17 00:00:00 2001 From: Damian Alvarez Date: Thu, 10 Mar 2016 11:22:40 +0100 Subject: [PATCH 0528/1089] Removed hidden deps. Added missing popt easyconfig --- easybuild/easyconfigs/p/popt/popt-1.16.eb | 23 +++++++++++++++++++ .../p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb | 4 ---- .../psmpi-5.1.0-1-iccifort-2015.1.133.eb | 4 ---- .../p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb | 4 ---- .../p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb | 4 ---- .../psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb | 4 ---- .../psmpi-5.1.5-1-iccifort-2015.1.133.eb | 4 ---- 7 files changed, 23 insertions(+), 24 deletions(-) create mode 100644 easybuild/easyconfigs/p/popt/popt-1.16.eb diff --git a/easybuild/easyconfigs/p/popt/popt-1.16.eb b/easybuild/easyconfigs/p/popt/popt-1.16.eb new file mode 100644 index 0000000000..4b05ae3e4e --- /dev/null +++ b/easybuild/easyconfigs/p/popt/popt-1.16.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'popt' +version = "1.16" + +homepage = "http://freecode.com/projects/popt" +description = """Popt is a C library for parsing command line parameters.""" +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://rpm5.org/files/popt/'] +sources = [SOURCE_TAR_GZ] + +toolchainopts = {'optarch': False} +sanity_check_paths = { + 'files': ['include/popt.h', + ('lib/libpopt.a', 'lib64/libpopt.a'), + ('lib/libpopt.%s' % SHLIB_EXT, 'lib64/libpopt.%s' % SHLIB_EXT)], + 'dirs': [], +} + +maxparallel = 1 + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb index 3b8d70635f..89eb3c9f54 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb @@ -23,8 +23,4 @@ dependencies = [ ('pscom', '5.0.44-1', '', True), ] -hiddendependencies = [ - ('pscom', '5.0.44-1', '', True), -] - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb index a5c1e058f0..e8adea5cdd 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-iccifort-2015.1.133.eb @@ -23,8 +23,4 @@ dependencies = [ ('pscom', '5.0.48-1', '', True), ] -hiddendependencies = [ - ('pscom', '5.0.48-1', '', True), -] - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb index c783f37b64..1bfdad4fb7 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3-mt.eb @@ -23,8 +23,4 @@ dependencies = [ ('pscom', '5.0.48-1', '', True), ] -hiddendependencies = [ - ('pscom', '5.0.48-1', '', True), -] - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb index aac098925c..93f76f8af0 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-GCC-4.9.3.eb @@ -20,8 +20,4 @@ dependencies = [ ('pscom', '5.0.48-1', '', True), ] -hiddendependencies = [ - ('pscom', '5.0.48-1', '', True), -] - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb index c33effaedb..9bf66b5728 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133-mt.eb @@ -23,8 +23,4 @@ dependencies = [ ('pscom', '5.0.48-1', '', True), ] -hiddendependencies = [ - ('pscom', '5.0.48-1', '', True), -] - moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb index 22468a4f7f..8251dde430 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.5-1-iccifort-2015.1.133.eb @@ -20,8 +20,4 @@ dependencies = [ ('pscom', '5.0.48-1', '', True), ] -hiddendependencies = [ - ('pscom', '5.0.48-1', '', True), -] - moduleclass = 'mpi' -- GitLab From 9183d921acb0e78a46f4ba973e5ec3d4707ce945 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 12:23:12 +0200 Subject: [PATCH 0529/1089] add easyconfig Perl-5.22.1-foss-2016a.eb --- .../p/Perl/Perl-5.22.1-foss-2016a.eb | 886 ++++++++++++++++++ 1 file changed, 886 insertions(+) create mode 100644 easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb new file mode 100644 index 0000000000..652f0d5227 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb @@ -0,0 +1,886 @@ +name = 'Perl' +version = '5.22.1' + +homepage = 'http://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] + +exts_list = [ + ('Config::General', '2.60', { + 'source_tmpl': 'Config-General-2.60.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + }), + ('File::Listing', '6.04', { + 'source_tmpl': 'File-Listing-6.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('ExtUtils::InstallPaths', '0.011', { + 'source_tmpl': 'ExtUtils-InstallPaths-0.011.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Helpers', '0.022', { + 'source_tmpl': 'ExtUtils-Helpers-0.022.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Test::Harness', '3.36', { + 'source_tmpl': 'Test-Harness-3.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-0.008.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-0.039.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Text::Glob', '0.09', { + 'source_tmpl': 'Text-Glob-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('Regexp::Common', '2016020301', { + 'source_tmpl': 'Regexp-Common-2016020301.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-5.2.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + }), + ('Test::Fatal', '0.014', { + 'source_tmpl': 'Test-Fatal-0.014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warnings', '0.026', { + 'source_tmpl': 'Test-Warnings-0.026.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('DateTime::Locale', '1.02', { + 'source_tmpl': 'DateTime-Locale-1.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('DateTime::TimeZone', '1.95', { + 'source_tmpl': 'DateTime-TimeZone-1.95.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Test::Requires', '0.10', { + 'source_tmpl': 'Test-Requires-0.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Module::Build', '0.4216', { + 'source_tmpl': 'Module-Build-0.4216.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Module::Runtime', '0.014', { + 'source_tmpl': 'Module-Runtime-0.014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + }), + ('Try::Tiny', '0.24', { + 'source_tmpl': 'Try-Tiny-0.24.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Params::Validate', '1.22', { + 'source_tmpl': 'Params-Validate-1.22.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('List::MoreUtils', '0.413', { + 'source_tmpl': 'List-MoreUtils-0.413.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Exporter::Tiny', '0.042', { + 'source_tmpl': 'Exporter-Tiny-0.042.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + }), + ('Class::Singleton', '1.5', { + 'source_tmpl': 'Class-Singleton-1.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('DateTime', '1.25', { + 'source_tmpl': 'DateTime-1.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::Find::Rule::Perl', '1.15', { + 'source_tmpl': 'File-Find-Rule-Perl-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Readonly', '2.01', { + 'source_tmpl': 'Readonly-2.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + }), + ('Git', '0.41', { + 'source_tmpl': 'Git-0.41.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + }), + ('Tree::DAG_Node', '1.29', { + 'source_tmpl': 'Tree-DAG_Node-1.29.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Template', '2.26', { + 'source_tmpl': 'Template-Toolkit-2.26.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('FreezeThaw', '0.5001', { + 'source_tmpl': 'FreezeThaw-0.5001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILYAZ'], + }), + ('DBI', '1.634', { + 'source_tmpl': 'DBI-1.634.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + }), + ('DBD::SQLite', '1.50', { + 'source_tmpl': 'DBD-SQLite-1.50.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-0.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('Archive::Extract', '0.76', { + 'source_tmpl': 'Archive-Extract-0.76.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "BINGOS"'], + }), + ('DBIx::Simple', '1.35', { + 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-0.73.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + }), + ('File::Spec', '3.62', { + 'source_tmpl': 'PathTools-3.62.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('ExtUtils::MakeMaker', '7.10', { + 'source_tmpl': 'ExtUtils-MakeMaker-7.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Simple', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-1.29.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + }), + ('IO::Stringy', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::SAX::Base', '1.08', { + 'source_tmpl': 'XML-SAX-Base-1.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('XML::NamespaceSupport', '1.11', { + 'source_tmpl': 'XML-NamespaceSupport-1.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('XML::SAX', '0.99', { + 'source_tmpl': 'XML-SAX-0.99.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Test::LeakTrace', '0.15', { + 'source_tmpl': 'Test-LeakTrace-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GF/GFUJI'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-0.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::Table', '1.130', { + 'source_tmpl': 'Text-Table-1.130.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('MIME::Types', '2.13', { + 'source_tmpl': 'MIME-Types-2.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), + ('Module::Build::XSUtil', '0.16', { + 'source_tmpl': 'Module-Build-XSUtil-0.16.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-0.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + }), + ('HTML::Parser', '3.72', { + 'source_tmpl': 'HTML-Parser-3.72.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-1.2.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + }), + ('Params::Util', '1.07', { + 'source_tmpl': 'Params-Util-1.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('IO::HTML', '1.001', { + 'source_tmpl': 'IO-HTML-1.001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-0.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('URI', '1.71', { + 'source_tmpl': 'URI-1.71.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-0.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-1.23.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-0.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-0.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-2.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-0.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + }), + ('Text::Diff', '1.44', { + 'source_tmpl': 'Text-Diff-1.44.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-0.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('IO::Socket::SSL', '2.024', { + 'source_tmpl': 'IO-Socket-SSL-2.024.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-0.004.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('Meta::Builder', '0.003', { + 'source_tmpl': 'Meta-Builder-0.003.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-0.114.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Getopt::Long', '2.48', { + 'source_tmpl': 'Getopt-Long-2.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Mouse', 'v2.4.5', { + 'source_tmpl': 'Mouse-v2.4.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Test::Version', '2.03', { + 'source_tmpl': 'Test-Version-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('DBIx::Admin::TableInfo', '3.01', { + 'source_tmpl': 'DBIx-Admin-TableInfo-3.01.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Net::HTTP', '6.09', { + 'source_tmpl': 'Net-HTTP-6.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Test::Deep', '1.120', { + 'source_tmpl': 'Test-Deep-1.120.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warn', '0.30', { + 'source_tmpl': 'Test-Warn-0.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('MRO::Compat', '0.12', { + 'source_tmpl': 'MRO-Compat-0.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BO/BOBTFISH'], + }), + ('Moo', '2.001001', { + 'source_tmpl': 'Moo-2.001001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Hash::Merge', '0.200', { + 'source_tmpl': 'Hash-Merge-0.200.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('SQL::Abstract', '1.81', { + 'source_tmpl': 'SQL-Abstract-1.81.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + }), + ('HTML::Form', '6.03', { + 'source_tmpl': 'HTML-Form-6.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::Copy::Recursive', '0.38', { + 'source_tmpl': 'File-Copy-Recursive-0.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-0.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('IPC::Run', '0.94', { + 'source_tmpl': 'IPC-Run-0.94.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('HTML::Entities::Interpolate', '1.09', { + 'source_tmpl': 'HTML-Entities-Interpolate-1.09.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Test::ClassAPI', '1.06', { + 'source_tmpl': 'Test-ClassAPI-1.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Test::Most', '0.34', { + 'source_tmpl': 'Test-Most-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + }), + ('Class::Accessor', '0.34', { + 'source_tmpl': 'Class-Accessor-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Test::Differences', '0.64', { + 'source_tmpl': 'Test-Differences-0.64.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTTP::Tiny', '0.056', { + 'source_tmpl': 'HTTP-Tiny-0.056.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('Package::DeprecationManager', '0.15', { + 'source_tmpl': 'Package-DeprecationManager-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-2.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Language', '2.30', { + 'source_tmpl': 'TimeDate-2.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "GBARR"'], + }), + ('version', '0.9915', { + 'source_tmpl': 'version-0.9915.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + # fails: uses 'gcc' + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-0.53.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'patches': ['XML-Bare-0.53_icc.patch'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Sub::Name', '0.14', { + 'source_tmpl': 'Sub-Name-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece', '1.31', { + 'source_tmpl': 'Time-Piece-1.31.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + }), + ('Digest::HMAC', '1.03', { + 'source_tmpl': 'Digest-HMAC-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-6.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('MIME::Lite', '3.030', { + 'source_tmpl': 'MIME-Lite-3.030.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Crypt::Rijndael', '1.13', { + 'source_tmpl': 'Crypt-Rijndael-1.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Canary::Stability', '2006', { + 'source_tmpl': 'Canary-Stability-2006.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('AnyEvent', '7.12', { + 'source_tmpl': 'AnyEvent-7.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-0.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Data::UUID', '1.221', { + 'source_tmpl': 'Data-UUID-1.221.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Pod', '1.51', { + 'source_tmpl': 'Test-Pod-1.51.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-1.71.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Net::SMTP::SSL', '1.03', { + 'source_tmpl': 'Net-SMTP-SSL-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::Tiny', '2.06', { + 'source_tmpl': 'XML-Tiny-2.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-3.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + }), + ('HTML::Tree', '5.03', { + 'source_tmpl': 'HTML-Tree-5.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Devel::GlobalDestruction', '0.13', { + 'source_tmpl': 'Devel-GlobalDestruction-0.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-6.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Expect', '1.32', { + 'source_tmpl': 'Expect-1.32.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SZ/SZABGAB'], + }), + ('Term::UI', '0.46', { + 'source_tmpl': 'Term-UI-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-v6.0.1.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + }), + ('XML::SAX::Writer', '0.56', { + 'source_tmpl': 'XML-SAX-Writer-0.56.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('Statistics::Descriptive', '3.0612', { + 'source_tmpl': 'Statistics-Descriptive-3.0612.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Class::Load', '0.23', { + 'source_tmpl': 'Class-Load-0.23.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('LWP::Simple', '6.15', { + 'source_tmpl': 'libwww-perl-6.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-0.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Package::Stash::XS', '0.28', { + 'source_tmpl': 'Package-Stash-XS-0.28.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('GD::Graph', '1.52', { + 'source_tmpl': 'GDGraph-1.52.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RUZ'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-0.30.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('boolean', '0.45', { + 'source_tmpl': 'boolean-0.45.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "INGY"'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-1.75.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Test::NoWarnings', '1.04', { + 'source_tmpl': 'Test-NoWarnings-1.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-2.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + }), + ('Exporter', '5.72', { + 'source_tmpl': 'Exporter-5.72.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Class::Inspector', '1.28', { + 'source_tmpl': 'Class-Inspector-1.28.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Parse::RecDescent', '1.967013', { + 'source_tmpl': 'Parse-RecDescent-1.967013.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + }), + ('Carp', '1.38', { + 'source_tmpl': 'Carp-1.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::XPath', '1.33', { + 'source_tmpl': 'XML-XPath-1.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + }), + ('Capture::Tiny', '0.36', { + 'source_tmpl': 'Capture-Tiny-0.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('JSON', '2.90', { + 'source_tmpl': 'JSON-2.90.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Sub::Exporter', '0.987', { + 'source_tmpl': 'Sub-Exporter-0.987.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Class::Load::XS', '0.09', { + 'source_tmpl': 'Class-Load-XS-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + }), + ('Sub::Exporter::Progressive', '0.001011', { + 'source_tmpl': 'Sub-Exporter-Progressive-0.001011.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('Data::Dumper::Concise', '2.022', { + 'source_tmpl': 'Data-Dumper-Concise-2.022.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-0.004.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Algorithm::Diff', '1.1903', { + 'source_tmpl': 'Algorithm-Diff-1.1903.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TY/TYEMQ'], + }), + ('AnyData', '0.12', { + 'source_tmpl': 'AnyData-0.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-1.7.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + }), + ('Class::Data::Inheritable', '0.08', { + 'source_tmpl': 'Class-Data-Inheritable-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('Text::Balanced', '2.03', { + 'source_tmpl': 'Text-Balanced-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('strictures', '2.000002', { + 'source_tmpl': 'strictures-2.000002.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-2.17.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('File::Which', '1.21', { + 'source_tmpl': 'File-Which-1.21.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-1.005.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Error', '0.17024', { + 'source_tmpl': 'Error-0.17024.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Mock::Quick', '1.110', { + 'source_tmpl': 'Mock-Quick-1.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::CSV', '1.33', { + 'source_tmpl': 'Text-CSV-1.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Test::Output', '1.03', { + 'source_tmpl': 'Test-Output-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-v3.0.17.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('List::AllUtils', '0.09', { + 'source_tmpl': 'List-AllUtils-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Exception::Class', '1.40', { + 'source_tmpl': 'Exception-Class-1.40.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-4.42.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-0.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-0.61.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + }), + ('Eval::Closure', '0.13', { + 'source_tmpl': 'Eval-Closure-0.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('HTTP::Request', '6.11', { + 'source_tmpl': 'HTTP-Message-6.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('XML::Twig', '3.49', { + 'source_tmpl': 'XML-Twig-3.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-1.08.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::Simple', '2.22', { + 'source_tmpl': 'XML-Simple-2.22.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-0.928.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('HTTP::Cookies', '6.01', { + 'source_tmpl': 'HTTP-Cookies-6.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-1.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + }), + ('Test::Exception::LessClever', '0.006', { + 'source_tmpl': 'Test-Exception-LessClever-0.006.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('LWP::MediaTypes', '6.02', { + 'source_tmpl': 'LWP-MediaTypes-6.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Scalar::Util', '1.43', { + 'source_tmpl': 'Scalar-List-Utils-1.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-0.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('Class::Trigger', '0.14', { + 'source_tmpl': 'Class-Trigger-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('HTTP::Daemon', '6.01', { + 'source_tmpl': 'HTTP-Daemon-6.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::HomeDir', '1.00', { + 'source_tmpl': 'File-HomeDir-1.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('HTTP::Date', '6.02', { + 'source_tmpl': 'HTTP-Date-6.02.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-2.16.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('Clone', '0.38', { + 'source_tmpl': 'Clone-0.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + }), + ('Data::Types', '0.09', { + 'source_tmpl': 'Data-Types-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DW/DWHEELER'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-1.002005.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('DateTime::Tiny', '1.04', { + 'source_tmpl': 'DateTime-Tiny-1.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('DBD::AnyData', '0.110', { + 'source_tmpl': 'DBD-AnyData-0.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Format', '0.59', { + 'source_tmpl': 'Text-Format-0.59.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Devel::CheckCompiler', '0.06', { + 'source_tmpl': 'Devel-CheckCompiler-0.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Log::Handler', '0.84', { + 'source_tmpl': 'Log-Handler-0.84.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('Devel::StackTrace', '2.01', { + 'source_tmpl': 'Devel-StackTrace-2.01.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Term::ReadKey', '2.33', { + 'source_tmpl': 'TermReadKey-2.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-1.19.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + }), + ('Moose', '2.1605', { + 'source_tmpl': 'Moose-2.1605.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Algorithm::Dependency', '1.110', { + 'source_tmpl': 'Algorithm-Dependency-1.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Font::TTF', '1.05', { + 'source_tmpl': 'Font-TTF-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MH/MHOSKEN'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-0.048.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('SQL::Statement', '1.407', { + 'source_tmpl': 'SQL-Statement-1.407.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('File::Slurp', '9999.19', { + 'source_tmpl': 'File-Slurp-9999.19.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/U/UR/URI'], + }), + ('Package::Stash', '0.37', { + 'source_tmpl': 'Package-Stash-0.37.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Data::OptList', '0.109', { + 'source_tmpl': 'Data-OptList-0.109.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('CPANPLUS', '0.9156', { + 'source_tmpl': 'CPANPLUS-0.9156.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('IO::Tty', '1.12', { + 'source_tmpl': 'IO-Tty-1.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-3.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Lingua::EN::PluralToSingular', '0.18', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-0.18.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-0.29.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + }), + ('Cwd::Guard', '0.04', { + 'source_tmpl': 'Cwd-Guard-0.04.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + }), + ('Bundle::BioPerl', '2.1.9', { + 'source_tmpl': 'Bundle-BioPerl-2.1.9.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS'], + }), + ('Mail::Util', '2.14', { + 'source_tmpl': 'MailTools-2.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), +] + +moduleclass = 'lang' -- GitLab From 668864908a998ef90936acb70b3214e40a442f3f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 12:49:12 +0200 Subject: [PATCH 0530/1089] add easyconfig Doxygen-1.8.11-foss-2016a.eb, add easyconfig GDAL-2.0.2-foss-2016a.eb, add easyconfig HDF5-1.8.16-foss-2016a.eb, add easyconfig NASM-2.11.08-foss-2016a.eb, add easyconfig PROJ-4.9.2-foss-2016a.eb, add easyconfig R-3.2.3-foss-2016a.eb, add easyconfig Szip-2.1-foss-2016a.eb, add easyconfig cURL-7.47.0-foss-2016a.eb, add easyconfig expat-2.1.0-foss-2016a.eb, add easyconfig libjpeg-turbo-1.4.2-foss-2016a.eb, add easyconfig libpng-1.6.21-foss-2016a.eb, add easyconfig libxml2-2.9.3-foss-2016a.eb, add easyconfig netCDF-4.3.3.1-foss-2016a.eb --- .../c/cURL/cURL-7.47.0-foss-2016a.eb | 31 ++ .../d/Doxygen/Doxygen-1.8.11-foss-2016a.eb | 19 + .../e/expat/expat-2.1.0-foss-2016a.eb | 16 + .../g/GDAL/GDAL-2.0.2-foss-2016a.eb | 29 ++ .../h/HDF5/HDF5-1.8.16-foss-2016a.eb | 26 + .../libjpeg-turbo-1.4.2-foss-2016a.eb | 30 ++ .../l/libpng/libpng-1.6.21-foss-2016a.eb | 26 + .../l/libxml2/libxml2-2.9.3-foss-2016a.eb | 29 ++ .../n/NASM/NASM-2.11.08-foss-2016a.eb | 31 ++ .../n/netCDF/netCDF-4.3.3.1-foss-2016a.eb | 34 ++ .../p/PROJ/PROJ-4.9.2-foss-2016a.eb | 30 ++ .../easyconfigs/r/R/R-3.2.3-foss-2016a.eb | 443 ++++++++++++++++++ .../easyconfigs/s/Szip/Szip-2.1-foss-2016a.eb | 23 + 13 files changed, 767 insertions(+) create mode 100644 easybuild/easyconfigs/c/cURL/cURL-7.47.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb create mode 100644 easybuild/easyconfigs/e/expat/expat-2.1.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/n/NASM/NASM-2.11.08-foss-2016a.eb create mode 100644 easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.47.0-foss-2016a.eb b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-foss-2016a.eb new file mode 100644 index 0000000000..fa67e92bf9 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.47.0' + +homepage = 'http://curl.haxx.se' +description = """libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, + POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports + SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, + proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, + Kerberos), file transfer resume, http proxy tunneling and more.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://curl.haxx.se/download/'] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# dependencies = [('OpenSSL', '1.0.1s')] +# configopts = "--with-ssl=$EBROOTOPENSSL" + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb new file mode 100644 index 0000000000..fea350b755 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb @@ -0,0 +1,19 @@ +name = 'Doxygen' +version = '1.8.11' + +homepage = 'http://www.doxygen.org' +description = """Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] + +builddependencies = [ + ('CMake', '3.4.3'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/e/expat/expat-2.1.0-foss-2016a.eb b/easybuild/easyconfigs/e/expat/expat-2.1.0-foss-2016a.eb new file mode 100644 index 0000000000..c31495ccee --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.1.0-foss-2016a.eb @@ -0,0 +1,16 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.1.0' + +homepage = 'http://expat.sourceforge.net/' +description = """Expat is an XML parser library written in C. It is a stream-oriented parser in which an application + registers handlers for things the parser might find in the XML document (like start tags)""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [SOURCEFORGE_SOURCE] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb new file mode 100644 index 0000000000..1d59b9bdac --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.0.2' + +homepage = 'http://www.gdal.org/' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('netCDF', '4.3.3.1'), + ('expat', '2.1.0'), + ('libxml2', '2.9.3'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['lib/libgdal.%s' % SHLIB_EXT, 'lib/libgdal.a'], + 'dirs': ['bin', 'include'] +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a.eb new file mode 100644 index 0000000000..84580d9ba8 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +version = '1.8.16' + +homepage = 'http://www.hdfgroup.org/HDF5/' +description = """HDF5 is a unique technology suite that makes possible the management of + extremely large and complex data collections.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True, 'usempi': True} + +source_urls = ['http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +patches = [ + 'HDF5-1.8.15_configure_intel.patch', + 'configure_libtool.patch', +] + +buildopts = 'CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK"' + +dependencies = [ + ('zlib', '1.2.8'), + ('Szip', '2.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-foss-2016a.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-foss-2016a.eb new file mode 100644 index 0000000000..fe5eb900db --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-foss-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libjpeg-turbo' +version = '1.4.2' + +homepage = 'http://sourceforge.net/projects/libjpeg-turbo/' +description = """libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG +compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('NASM', '2.11.08'), +] + +configopts = "--with-jpeg8" +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', 'bin/tjbench', 'bin/wrjpgcom', + 'lib/libjpeg.a', 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2016a.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2016a.eb new file mode 100644 index 0000000000..8cfac2c6e9 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.21-foss-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.21' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('zlib', '1.2.8')] + +configopts = "--with-pic" + +majminver = ''.join(version.split('.')[:2]) +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', 'lib/libpng.a', + 'lib/libpng.%s' % SHLIB_EXT, 'lib/libpng%s.a' % majminver, 'lib/libpng%s.%s' % (majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a.eb new file mode 100644 index 0000000000..9f21eb1b66 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.11.08-foss-2016a.eb b/easybuild/easyconfigs/n/NASM/NASM-2.11.08-foss-2016a.eb new file mode 100644 index 0000000000..691495f52f --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.11.08-foss-2016a.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-90.html +## + +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.11.08' + +homepage = 'http://www.nasm.us/' +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2016a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2016a.eb new file mode 100644 index 0000000000..921f90805c --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-foss-2016a.eb @@ -0,0 +1,34 @@ +name = 'netCDF' +version = '4.3.3.1' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/', + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/old', +] + +dependencies = [ + ('HDF5', '1.8.16'), + ('cURL', '7.47.0'), +] + +builddependencies = [ + ('CMake', '3.4.1'), + ('Doxygen', '1.8.11'), +] + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF ", + "-DBUILD_SHARED_LIBS=ON ", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-foss-2016a.eb b/easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-foss-2016a.eb new file mode 100644 index 0000000000..8073931ffc --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-4.9.2-foss-2016a.eb @@ -0,0 +1,30 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'PROJ' +version = '4.9.2' + +homepage = 'http://trac.osgeo.org/proj/' +description = """Program proj is a standard Unix filter function which converts +geographic longitude and latitude coordinates into cartesian coordinates""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'opt': True, 'pic': True, 'usempi': True} + +source_urls = ['http://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/cs2cs', 'bin/geod', 'bin/invgeod', 'bin/invproj', + 'bin/nad2bin', 'bin/proj'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb new file mode 100644 index 0000000000..bc318c4a60 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb @@ -0,0 +1,443 @@ +name = 'R' +version = '3.2.3' + +homepage = 'http://www.r-project.org/' +description = """R is a free software environment for statistical computing and graphics.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://cran.us.r-project.org/src/base/R-%(version_major)s'] + +preconfigopts = 'BLAS_LIBS="$LIBBLAS" LAPACK_LIBS="$LIBLAPACK"' +configopts = "--with-lapack --with-blas --with-pic --enable-threads --with-x=no --enable-R-shlib" +# some recommended packages may fail in a parallel build (e.g. Matrix), and we're installing them anyway below +configopts += " --with-recommended-packages=no" + +dependencies = [ + ('libreadline', '6.3'), + ('ncurses', '6.0'), + ('libpng', '1.6.21'), # for plotting in R + ('libjpeg-turbo', '1.4.2'), # for plottting in R + ('Java', '1.8.0_72', '', True), # Java bindings are built if Java is found, might as well provide it + ('Tcl', '8.6.4'), # for tcltk + ('Tk', '8.6.4', '-no-X11'), # for tcltk + ('cURL', '7.47.0'), # for RCurl + ('libxml2', '2.9.3'), # for XML + ('GDAL', '2.0.2'), # for rgdal + ('PROJ', '4.9.2'), # for rgdal +] + +name_tmpl = '%(name)s_%(version)s.tar.gz' +ext_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} + + +# !! order of packages is important !! +# packages updated on January 21st 2016 +exts_list = [ + # default libraries, only here to sanity check their presence + 'base', + 'datasets', + 'graphics', + 'grDevices', + 'grid', + 'methods', + 'splines', + 'stats', + 'stats4', + 'tools', + 'utils', + # non-standard libraries, should be specified with fixed versions! + ('Rmpi', '0.6-5', ext_options), + ('abind', '1.4-3', ext_options), + ('magic', '1.5-6', ext_options), + ('geometry', '0.3-6', ext_options), + ('bit', '1.1-12', ext_options), + ('filehash', '2.3', ext_options), + ('ff', '2.2-13', ext_options), + ('bnlearn', '3.9', ext_options), + ('bootstrap', '2015.2', ext_options), + ('combinat', '0.0-8', ext_options), + ('deal', '1.2-37', ext_options), + ('fdrtool', '1.2.15', ext_options), + ('formatR', '1.2.1', ext_options), + ('gtools', '3.5.0', ext_options), + ('gdata', '2.17.0', ext_options), + ('GSA', '1.03', ext_options), + ('highr', '0.5.1', ext_options), + ('infotheo', '1.2.0', ext_options), + ('lars', '1.2', ext_options), + ('lazy', '1.2-15', ext_options), + ('kernlab', '0.9-22', ext_options), + ('mime', '0.4', ext_options), + ('markdown', '0.7.7', ext_options), + ('mlbench', '2.1-1', ext_options), + ('NLP', '0.1-8', ext_options), + ('mclust', '5.1', ext_options), + ('RANN', '2.5', ext_options), + ('rmeta', '2.16', ext_options), + ('segmented', '0.5-1.4', ext_options), + ('som', '0.3-5', ext_options), + ('SuppDists', '1.1-9.1', ext_options), + ('stabledist', '0.7-0', ext_options), + ('survivalROC', '1.0.3', ext_options), + ('pspline', '1.0-17', ext_options), + ('timeDate', '3012.100', ext_options), + ('longmemo', '1.0-0', ext_options), + ('ADGofTest', '0.3', ext_options), + ('ade4', '1.7-3', ext_options), + ('AlgDesign', '1.1-7.3', ext_options), + ('base64enc', '0.1-3', ext_options), + ('BH', '1.60.0-1', ext_options), + ('brew', '1.0-6', ext_options), + ('Brobdingnag', '1.2-4', ext_options), + ('corpcor', '1.6.8', ext_options), + ('longitudinal', '1.1.12', ext_options), + ('checkmate', '1.6.3', ext_options), + ('cubature', '1.1-2', ext_options), + ('DEoptimR', '1.0-4', ext_options), + ('digest', '0.6.8', ext_options), + ('fastmatch', '1.0-4', ext_options), + ('ffbase', '0.12.1', ext_options), + ('iterators', '1.0.8', ext_options), + ('maps', '3.0.2', ext_options), + ('nnls', '1.4', ext_options), + ('sendmailR', '1.2-1', ext_options), + ('spam', '1.3-0', ext_options), + ('subplex', '1.1-6', ext_options), + ('stringi', '1.0-1', ext_options), + ('magrittr', '1.5', ext_options), + ('stringr', '1.0.0', ext_options), + ('evaluate', '0.8', ext_options), + ('logspline', '2.1.8', ext_options), + ('ncbit', '2013.03.29', ext_options), + ('permute', '0.8-4', ext_options), + ('plotrix', '3.6-1', ext_options), + ('randomForest', '4.6-12', ext_options), + ('scatterplot3d', '0.3-36', ext_options), + ('SparseM', '1.7', ext_options), + ('tripack', '1.3-7', ext_options), + ('irace', '1.07', ext_options), + ('rJava', '0.9-7', ext_options), + ('lattice', '0.20-33', ext_options), + ('RColorBrewer', '1.1-2', ext_options), + ('latticeExtra', '0.6-26', ext_options), + ('Matrix', '1.2-3', ext_options), + ('png', '0.1-7', ext_options), + ('Rcpp', '0.12.2', ext_options), + ('RcppArmadillo', '0.6.400.2.2', ext_options), + ('plyr', '1.8.3', ext_options), + ('pROC', '1.8', ext_options), + ('quadprog', '1.5-5', ext_options), + ('BB', '2014.10-1', ext_options), + ('BBmisc', '1.9', ext_options), + ('fail', '1.3', ext_options), + ('rlecuyer', '0.3-4', ext_options), + ('snow', '0.4-1', ext_options), + ('MASS', '7.3-45', ext_options), + ('tree', '1.0-36', ext_options), + ('pls', '2.5-0', ext_options), + ('class', '7.3-14', ext_options), + ('e1071', '1.6-7', ext_options), + ('nnet', '7.3-11', ext_options), + ('nlme', '3.1-122', ext_options), + ('minqa', '1.2.4', ext_options), + ('RcppEigen', '0.3.2.5.1', ext_options), + ('MatrixModels', '0.4-1', ext_options), + ('quantreg', '5.19', ext_options), + ('mgcv', '1.8-10', ext_options), + ('colorspace', '1.2-6', ext_options), + ('robustbase', '0.92-5', ext_options), + ('sp', '1.2-1', ext_options), + ('zoo', '1.7-12', ext_options), + ('lmtest', '0.9-34', ext_options), + ('vcd', '1.4-1', ext_options), + ('snowfall', '1.84-6.1', ext_options), + ('rpart', '4.1-10', ext_options), + ('survival', '2.38-3', ext_options), + ('mice', '2.25', ext_options), + ('urca', '1.2-8', ext_options), + ('fracdiff', '1.4-2', ext_options), + ('logistf', '1.21', ext_options), + ('akima', '0.5-12', ext_options), + ('bitops', '1.0-6', ext_options), + ('boot', '1.3-17', ext_options), + ('mixtools', '1.0.3', ext_options), + ('cluster', '2.0.3', ext_options), + ('gclus', '1.3.1', ext_options), + ('coda', '0.18-1', ext_options), + ('codetools', '0.2-14', ext_options), + ('foreach', '1.4.3', ext_options), + ('doMC', '1.3.4', ext_options), + ('DBI', '0.3.1', ext_options), + ('foreign', '0.8-66', ext_options), + ('gam', '1.12', ext_options), + ('gamlss.data', '4.3-2', ext_options), + ('gamlss.dist', '4.3-5', ext_options), + ('hwriter', '1.3.2', ext_options), + ('KernSmooth', '2.23-15', ext_options), + ('xts', '0.9-7', ext_options), + ('TTR', '0.23-0', ext_options), + ('quantmod', '0.4-5', ext_options), + ('mnormt', '1.5-3', ext_options), + ('mvtnorm', '1.0-3', ext_options), + ('pcaPP', '1.9-60', ext_options), + ('numDeriv', '2014.2-1', ext_options), + ('lava', '1.4.1', ext_options), + ('prodlim', '1.5.7', ext_options), + ('pscl', '1.4.9', ext_options), + ('RSQLite', '1.0.0', ext_options), + ('BatchJobs', '1.6', ext_options), + ('sandwich', '2.3-4', ext_options), + ('sfsmisc', '1.0-28', ext_options), + ('spatial', '7.3-11', ext_options), + ('VGAM', '1.0-0', ext_options), + ('waveslim', '1.7.5', ext_options), + ('xtable', '1.8-0', ext_options), + ('profileModel', '0.5-9', ext_options), + ('brglm', '0.5-9', ext_options), + ('deSolve', '1.12', ext_options), + ('tseriesChaos', '0.1-13', ext_options), + ('tseries', '0.10-34', ext_options), + ('fastICA', '1.2-0', ext_options), + ('R.methodsS3', '1.7.0', ext_options), + ('R.oo', '1.19.0', ext_options), + ('cgdsr', '1.2.5', ext_options), + ('R.utils', '2.2.0', ext_options), + ('R.matlab', '3.3.0', ext_options), + ('gbm', '2.1.1', ext_options), + ('dichromat', '2.0-0', ext_options), + ('Formula', '1.2-1', ext_options), + ('acepack', '1.3-3.3', ext_options), + ('reshape2', '1.4.1', ext_options), + ('gtable', '0.1.2', ext_options), + ('munsell', '0.4.2', ext_options), + ('labeling', '0.3', ext_options), + ('scales', '0.3.0', ext_options), + ('proto', '0.3-10', ext_options), + ('ggplot2', '2.0.0', ext_options), + ('gridExtra', '2.0.0', ext_options), + ('Hmisc', '3.17-1', ext_options), + ('fastcluster', '1.1.16', ext_options), + ('chron', '2.3-47', ext_options), + ('data.table', '1.9.6', ext_options), + ('registry', '0.3', ext_options), + ('pkgmaker', '0.22', ext_options), + ('rngtools', '1.2.4', ext_options), + ('doParallel', '1.0.10', ext_options), + ('gridBase', '0.4-7', ext_options), + ('NMF', '0.20.6', ext_options), + ('irlba', '2.0.0', ext_options), + ('igraph', '1.0.1', ext_options), + ('GeneNet', '1.2.13', ext_options), + ('ape', '3.4', ext_options), + ('htmltools', '0.3', ext_options), + ('RJSONIO', '1.3-0', ext_options), + ('caTools', '1.17.1', ext_options), + ('gplots', '2.17.0', ext_options), + ('ROCR', '1.0-7', ext_options), + ('httpuv', '1.3.3', ext_options), + ('R6', '2.1.1', ext_options), + ('jsonlite', '0.9.19', ext_options), + ('rjson', '0.2.15', ext_options), + ('shiny', '0.12.2', ext_options), + ('seqinr', '3.1-3', ext_options), + ('LearnBayes', '2.15', ext_options), + ('deldir', '0.1-9', ext_options), + ('spdep', '0.5-92', ext_options), + ('assertthat', '0.1', ext_options), + ('lazyeval', '0.1.10', ext_options), + ('dplyr', '0.4.3', ext_options), + ('adegenet', '2.0.0', ext_options), + ('rncl', '0.6.0', ext_options), + ('XML', '3.98-1.3', ext_options), + ('memoise', '0.2.1', ext_options), + ('crayon', '1.3.1', ext_options), + ('praise', '1.0.0', ext_options), + ('testthat', '0.11.0', ext_options), + ('yaml', '2.1.13', ext_options), + ('knitr', '1.11', ext_options), + ('rmarkdown', '0.9.2', ext_options), + ('curl', '0.9.4', ext_options), + ('httr', '1.0.0', ext_options), + ('reshape', '0.8.5', ext_options), + ('bold', '0.3.0', ext_options), + ('taxize', '0.7.0', ext_options), + ('tidyr', '0.3.1', ext_options), + ('uuid', '0.1-2', ext_options), + ('RNeXML', '2.0.5', ext_options), + ('phylobase', '0.8.0', ext_options), + ('adephylo', '1.1-6', ext_options), + ('animation', '2.4', ext_options), + ('bigmemory.sri', '0.1.3', ext_options), + ('bigmemory', '4.5.8', ext_options), + ('calibrate', '1.7.2', ext_options), + ('clusterGeneration', '1.3.4', ext_options), + ('raster', '2.5-2', ext_options), + ('dismo', '1.0-12', ext_options), + ('expm', '0.999-0', ext_options), + ('extrafontdb', '1.0', ext_options), + ('Rttf2pt1', '1.3.3', ext_options), + ('extrafont', '0.17', ext_options), + ('fields', '8.3-6', ext_options), + ('shapefiles', '0.7', ext_options), + ('fossil', '0.3.7', ext_options), + ('geiger', '2.0.6', ext_options), + ('glmnet', '2.0-2', ext_options), + ('rgl', '0.95.1441', ext_options), + ('labdsv', '1.7-0', ext_options), + ('stabs', '0.5-1', ext_options), + ('mboost', '2.5-0', ext_options), + ('msm', '1.6', ext_options), + ('nor1mix', '1.2-1', ext_options), + ('np', '0.60-2', ext_options), + ('polynom', '1.3-8', ext_options), + ('polspline', '1.1.12', ext_options), + ('TH.data', '1.0-6', ext_options), + ('multcomp', '1.4-1', ext_options), + ('rms', '4.4-1', ext_options), + ('RWekajars', '3.7.12-1', ext_options), + ('RWeka', '0.4-24', ext_options), + ('slam', '0.1-32', ext_options), + ('tm', '0.6-2', ext_options), + ('TraMineR', '1.8-11', ext_options), + ('chemometrics', '1.3.9', ext_options), + ('FNN', '1.1', ext_options), + ('ipred', '0.9-5', ext_options), + ('statmod', '1.4.23', ext_options), + ('miscTools', '0.6-16', ext_options), + ('maxLik', '1.3-4', ext_options), + ('mlogit', '0.2-4', ext_options), + ('getopt', '1.20.0', ext_options), + ('gsalib', '2.1', ext_options), + ('optparse', '1.3.2', ext_options), + ('klaR', '0.6-12', ext_options), + ('neuRosim', '0.2-12', ext_options), + ('locfit', '1.5-9.1', ext_options), + ('GGally', '1.0.0', ext_options), + ('beanplot', '1.2', ext_options), + ('clValid', '0.6-6', ext_options), + ('matrixStats', '0.50.1', ext_options), + ('DiscriMiner', '0.1-29', ext_options), + ('ellipse', '0.3-8', ext_options), + ('leaps', '2.9', ext_options), + ('nloptr', '1.0.4', ext_options), + ('lme4', '1.1-10', ext_options), + ('pbkrtest', '0.4-4', ext_options), + ('car', '2.1-1', ext_options), + ('flashClust', '1.01-2', ext_options), + ('FactoMineR', '1.31.4', ext_options), + ('modeltools', '0.2-21', ext_options), + ('flexclust', '1.3-4', ext_options), + ('flexmix', '2.3-13', ext_options), + ('prabclus', '2.2-6', ext_options), + ('diptest', '0.75-7', ext_options), + ('trimcluster', '0.1-2', ext_options), + ('fpc', '2.1-10', ext_options), + ('BiasedUrn', '1.07', ext_options), + ('TeachingDemos', '2.9', ext_options), + ('kohonen', '2.0.19', ext_options), + ('base64', '1.1', ext_options), + ('doRNG', '1.6', ext_options), + ('nleqslv', '2.9.1', ext_options), + ('RGCCA', '2.0', ext_options), + ('pheatmap', '1.0.8', ext_options), + ('openxlsx', '3.0.0', ext_options), + ('pvclust', '2.0-0', ext_options), + ('RCircos', '1.1.3', ext_options), + ('lambda.r', '1.1.7', ext_options), + ('futile.options', '1.0.0', ext_options), + ('futile.logger', '1.4.1', ext_options), + ('VennDiagram', '1.6.16', ext_options), + ('xlsxjars', '0.6.1', ext_options), + ('xlsx', '0.5.7', ext_options), + ('vegan', '2.3-2', ext_options), + ('forecast', '6.1', ext_options), + ('fma', '2.01', ext_options), + ('expsmooth', '2.3', ext_options), + ('fpp', '0.5', ext_options), + ('maptools', '0.8-37', ext_options), + ('deldir', '0.1-9', ext_options), + ('tensor', '1.5', ext_options), + ('polyclip', '1.3-2', ext_options), + ('goftest', '1.0-3', ext_options), + ('spatstat', '1.44-1', ext_options), + ('rgdal', '1.1-3', ext_options), + ('gdalUtils', '2.0.1.7', ext_options), + ('pracma', '1.8.8', ext_options), + ('RCurl', '1.95-4.7', ext_options), + ('bio3d', '2.2-4', ext_options), + ('AUC', '0.3.0', ext_options), + ('interpretR', '0.2.3', ext_options), + ('SuperLearner', '2.0-15', ext_options), + ('lpSolve', '5.6.13', ext_options), + ('mediation', '4.4.5', ext_options), + ('caret', '6.0-64', ext_options), + ('adabag', '4.1', ext_options), + ('parallelMap', '1.3', ext_options), + ('ParamHelpers', '1.6', ext_options), + ('ggvis', '0.4.2', ext_options), + ('mlr', '2.7', ext_options), + ('unbalanced', '2.0', ext_options), + ('RSNNS', '0.4-7', ext_options), + ('abc.data', '1.0', ext_options), + ('abc', '2.1', ext_options), + ('lhs', '0.10', ext_options), + ('tensorA', '0.36', ext_options), + ('EasyABC', '1.5', ext_options), + ('shape', '1.4.2', ext_options), + ('whisker', '0.3-2', ext_options), + ('rstudioapi', '0.4.0', ext_options), + ('roxygen2', '5.0.1', ext_options), + ('git2r', '0.13.1', ext_options), + ('xml2', '0.1.2', ext_options), + ('rversions', '1.0.2', ext_options), + ('devtools', '1.9.1', ext_options), + ('Rook', '1.1-1', ext_options), + ('rjson', '0.2.15', ext_options), + ('Cairo', '1.5-9', ext_options), + ('RMTstat', '0.3', ext_options), + ('Lmoments', '1.1-6', ext_options), + ('distillery', '1.0-2', ext_options), + ('extRemes', '2.0-7', ext_options), + ('pixmap', '0.4-11', ext_options), + ('tkrplot', '0.0-23', ext_options), + ('misc3d', '0.8-4', ext_options), + ('multicool', '0.1-9', ext_options), + ('ks', '1.10.1', ext_options), + ('logcondens', '2.1.4', ext_options), + ('Iso', '0.0-17', ext_options), + ('penalized', '0.9-45', ext_options), + ('coin', '1.1-2', ext_options), + ('clusterRepro', '0.5-1.1', ext_options), + ('randomForestSRC', '2.0.7', ext_options), + ('sm', '2.2-5.4', ext_options), + ('psych', '1.5.8', ext_options), + ('pbivnorm', '0.6.0', ext_options), + ('lavaan', '0.5-20', ext_options), + ('matrixcalc', '1.0-3', ext_options), + ('arm', '1.8-6', ext_options), + ('mi', '1.0', ext_options), + ('htmlwidgets', '0.6', ext_options), + ('visNetwork', '0.2.1', ext_options), + ('DiagrammeR', '0.8.2', ext_options), + ('sem', '3.1-6', ext_options), + ('jpeg', '0.1-8', ext_options), + ('sna', '2.3-2', ext_options), + ('glasso', '1.8', ext_options), + ('huge', '1.2.7', ext_options), + ('d3Network', '0.5.2.1', ext_options), + ('ggm', '2.3', ext_options), + ('qgraph', '1.3.2', ext_options), + ('diveRsity', '1.9.89', ext_options), + ('doSNOW', '1.0.14', ext_options), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-foss-2016a.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-foss-2016a.eb new file mode 100644 index 0000000000..747addc8df --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From d2f2ef45168932839ef2d2582349600c6caf64c5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 11:55:56 +0100 Subject: [PATCH 0531/1089] add Szip as dep in netCDF 4.4.0 easyconfig --- easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb index 2818683dd7..719c330b9d 100644 --- a/easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.4.0-intel-2016a.eb @@ -17,6 +17,7 @@ source_urls = [ dependencies = [ ('HDF5', '1.8.16'), ('cURL', '7.47.0'), + ('Szip', '2.1'), ] builddependencies = [ -- GitLab From 37a39678dd32e9226a54a1ee46a26469c71b1c43 Mon Sep 17 00:00:00 2001 From: Damian Alvarez Date: Thu, 10 Mar 2016 12:12:56 +0100 Subject: [PATCH 0532/1089] Added missing pscom easyconfig --- .../easyconfigs/p/pscom/pscom-5.0.44-1.eb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb diff --git a/easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb b/easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb new file mode 100644 index 0000000000..9a9312254f --- /dev/null +++ b/easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'pscom' +version = '5.0.44-1' +homepage = 'http://www.par-tec.com' +description = """ParaStation is a robust and efficient cluster middleware, consisting of a high-performance communication layer (MPI) and a sophisticated management layer.""" +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://github.com/ParaStation/%(name)s/archive/'] +sources = ['%(version)s.zip'] + +dependencies = [('popt', '1.16')] + + +sanity_check_paths = { + 'files': ['include/pscom.h', ('lib/libpscom.%s' % SHLIB_EXT, 'lib64/libpscom.%s' % SHLIB_EXT)], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From ffb4b20b3c4d46fcf325dd4de71b3632c1c7bc20 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 13:20:31 +0200 Subject: [PATCH 0533/1089] enable usempi in GDAL easyconfig w/ foss toolchain --- easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb index 1d59b9bdac..80039ca350 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.0.2-foss-2016a.eb @@ -10,6 +10,7 @@ description = """GDAL is a translator library for raster geospatial data formats data translation and processing.""" toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'usempi': True} source_urls = ['http://download.osgeo.org/gdal/%(version)s/'] sources = [SOURCELOWER_TAR_XZ] -- GitLab From 34a2545f7c7cbf88ccbf022a40e0927c70a9cabc Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 13:24:13 +0200 Subject: [PATCH 0534/1089] add easyconfig PHYLIP-3.696-foss-2016a.eb --- .../p/PHYLIP/PHYLIP-3.696-foss-2016a.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb diff --git a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb new file mode 100644 index 0000000000..090561e4d6 --- /dev/null +++ b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'MakeCp' + +name = 'PHYLIP' +version = '3.696' + +homepage = 'http://evolution.genetics.washington.edu/phylip' +description = "PHYLIP is a free package of programs for inferring phylogenies." + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://evolution.gs.washington.edu/phylip/download/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] + +buildopts = '-Csrc -fMakefile.unx all && make -Csrc -fMakefile.unx install' + +files_to_copy = [(['exe/*'], 'bin'), (['src/libdrawgram.so', 'src/libdrawtree.so'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libdrawgram.so', 'lib/libdrawtree.so'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' -- GitLab From 7d860929075a959ee22e62bc90940dc349531a6b Mon Sep 17 00:00:00 2001 From: Damian Alvarez Date: Thu, 10 Mar 2016 12:27:02 +0100 Subject: [PATCH 0535/1089] Minor fixed in versioning --- .../easyconfigs/p/pscom/pscom-5.0.44-1.eb | 20 ------------------- .../p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb | 2 +- 2 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb diff --git a/easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb b/easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb deleted file mode 100644 index 9a9312254f..0000000000 --- a/easybuild/easyconfigs/p/pscom/pscom-5.0.44-1.eb +++ /dev/null @@ -1,20 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'pscom' -version = '5.0.44-1' -homepage = 'http://www.par-tec.com' -description = """ParaStation is a robust and efficient cluster middleware, consisting of a high-performance communication layer (MPI) and a sophisticated management layer.""" -toolchain = {'name': 'dummy', 'version': 'dummy'} - -source_urls = ['https://github.com/ParaStation/%(name)s/archive/'] -sources = ['%(version)s.zip'] - -dependencies = [('popt', '1.16')] - - -sanity_check_paths = { - 'files': ['include/pscom.h', ('lib/libpscom.%s' % SHLIB_EXT, 'lib64/libpscom.%s' % SHLIB_EXT)], - 'dirs': [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb index 89eb3c9f54..dfba4ffaa8 100644 --- a/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/p/psmpi/psmpi-5.1.0-1-GCC-4.9.2.eb @@ -20,7 +20,7 @@ source_urls = [ mpich_opts = '--enable-static' dependencies = [ - ('pscom', '5.0.44-1', '', True), + ('pscom', '5.0.48-1', '', True), ] moduleclass = 'mpi' -- GitLab From 0514fe5162f0f426085766ea037bc54463394c7a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 13:33:36 +0200 Subject: [PATCH 0536/1089] add easyconfig MUSCLE-3.8.31-intel-2016a.eb --- .../m/MUSCLE/MUSCLE-3.8.31-intel-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-intel-2016a.eb diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-intel-2016a.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-intel-2016a.eb new file mode 100644 index 0000000000..467b83b6ce --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-intel-2016a.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '3.8.31' + +homepage = 'http://drive5.com/muscle/' +description = """ MUSCLE is one of the best-performing multiple alignment programs + according to published benchmark tests, with accuracy and speed that are consistently + better than CLUSTALW. MUSCLE can align hundreds of sequences in seconds. Most users + learn everything they need to know about MUSCLE in a few minutes—only a handful of + command-line options are needed to perform common alignment tasks.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = ['%(namelower)s%(version)s_src.tar.gz'] +source_urls = ['http://www.drive5.com/muscle/downloads%(version)s/'] + +patches = ['MUSCLE-%(version)s_fix-mk-hardcoding.patch'] + +files_to_copy = [ + (["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/muscle"], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 862ff1060c15af3f1a43b9cb638f217bd06679ec Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 14:00:19 +0200 Subject: [PATCH 0537/1089] add easyconfig MUSCLE-3.8.31-foss-2016a.eb --- .../m/MUSCLE/MUSCLE-3.8.31-foss-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-foss-2016a.eb diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-foss-2016a.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-foss-2016a.eb new file mode 100644 index 0000000000..026425a12b --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-foss-2016a.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '3.8.31' + +homepage = 'http://drive5.com/muscle/' +description = """ MUSCLE is one of the best-performing multiple alignment programs + according to published benchmark tests, with accuracy and speed that are consistently + better than CLUSTALW. MUSCLE can align hundreds of sequences in seconds. Most users + learn everything they need to know about MUSCLE in a few minutes—only a handful of + command-line options are needed to perform common alignment tasks.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = ['%(namelower)s%(version)s_src.tar.gz'] +source_urls = ['http://www.drive5.com/muscle/downloads%(version)s/'] + +patches = ['MUSCLE-%(version)s_fix-mk-hardcoding.patch'] + +files_to_copy = [ + (["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/muscle"], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 6ad2325b2de444cb179df604acb285eb6c980b12 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 14:22:48 +0200 Subject: [PATCH 0538/1089] add easyconfig R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb --- ...dle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb new file mode 100644 index 0000000000..d383fdf33e --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb @@ -0,0 +1,152 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'http://www.r-project.org/' +description = """R is a free software environment for statistical computing and graphics.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# these are extensions for R +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +dependencies = [('R', '3.2.3')] + +name_tmpl = '%(name)s_%(version)s.tar.gz' +ext_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} +bioconductor_options = { + 'source_urls': [ + 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', + 'http://www.bioconductor.org/packages/3.1/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/3.1/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/3.1/data/experiment/src/contrib/', + ], + 'source_tmpl': name_tmpl, +} + +# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends +# !! order of packages is important !! +exts_list = [ + ('BiocGenerics', '0.16.1', bioconductor_options), + ('Biobase', '2.30.0', bioconductor_options), + ('S4Vectors', '0.8.11', bioconductor_options), + ('IRanges', '2.4.8', bioconductor_options), + ('GenomeInfoDb', '1.6.3', bioconductor_options), + ('AnnotationDbi', '1.32.3', bioconductor_options), + ('XVector', '0.10.0', bioconductor_options), + ('zlibbioc', '1.16.0', bioconductor_options), + ('Biostrings', '2.38.4', bioconductor_options), + ('GenomicRanges', '1.22.4', bioconductor_options), + ('Rsamtools', '1.22.0', bioconductor_options), + ('lambda.r', '1.1.7', ext_options), + ('futile.options', '1.0.0', ext_options), + ('futile.logger', '1.4.1', ext_options), + ('BiocParallel', '1.4.3', bioconductor_options), + ('GenomicAlignments', '1.6.3', bioconductor_options), + ('ShortRead', '1.28.0', bioconductor_options), + ('graph', '1.48.0', bioconductor_options), + ('affyio', '1.40.0', bioconductor_options), + ('BiocInstaller', '1.20.1', bioconductor_options), + ('preprocessCore', '1.32.0', bioconductor_options), + ('affy', '1.48.0', bioconductor_options), + ('GO.db', '', bioconductor_options), + ('limma', '3.26.8', bioconductor_options), + ('RBGL', '1.46.0', bioconductor_options), + ('org.Hs.eg.db', '', bioconductor_options), + ('AnnotationForge', '1.12.2', bioconductor_options), + ('KEGG.db', '', bioconductor_options), + ('annaffy', '1.42.0', bioconductor_options), + ('gcrma', '2.42.0', bioconductor_options), + ('oligoClasses', '1.32.0', bioconductor_options), + ('edgeR', '3.12.0', bioconductor_options), + ('PFAM.db', '', bioconductor_options), + ('perm', '1.0-0.0', ext_options), + ('baySeq', '2.4.1', bioconductor_options), + ('qvalue', '2.2.2', bioconductor_options), + ('impute', '1.44.0', bioconductor_options), + ('samr', '2.0', ext_options), + ('DEGseq', '1.24.0', bioconductor_options), + ('hgu133plus2.db', '', bioconductor_options), + ('illuminaio', '0.12.0', bioconductor_options), + ('rtracklayer', '1.30.2', bioconductor_options), + ('biomaRt', '2.26.1', bioconductor_options), + ('GenomicFeatures', '1.22.13', bioconductor_options), + ('bumphunter', '1.10.0', bioconductor_options), + ('multtest', '2.26.0', bioconductor_options), + ('siggenes', '1.44.0', bioconductor_options), + ('DynDoc', '1.48.0', bioconductor_options), + ('genoset', '1.24.0', bioconductor_options), + ('NOISeq', '2.14.1', bioconductor_options), + ('Rgraphviz', '2.14.0', bioconductor_options), + ('RNASeqPower', '1.10.0', bioconductor_options), + ('annotate', '1.48.0', bioconductor_options), + ('GSEABase', '1.32.0', bioconductor_options), + ('genefilter', '1.52.1', bioconductor_options), + ('Category', '2.36.0', bioconductor_options), + ('GOstats', '2.36.0', bioconductor_options), + ('BSgenome', '1.38.0', bioconductor_options), + ('VariantAnnotation', '1.16.4', bioconductor_options), + ('biovizBase', '1.18.0', bioconductor_options), + ('OrganismDbi', '1.12.1', bioconductor_options), + ('ggbio', '1.18.5', bioconductor_options), + ('geneplotter', '1.48.0', bioconductor_options), + ('DESeq2', '1.10.1', bioconductor_options), + ('ReportingTools', '2.10.0', bioconductor_options), + ('affycoretools', '1.42.0', bioconductor_options), + ('TxDb.Hsapiens.UCSC.hg19.knownGene', '', bioconductor_options), + ('Homo.sapiens', '', bioconductor_options), + ('BSgenome.Hsapiens.UCSC.hg19', '', bioconductor_options), + ('AgiMicroRna', '2.20.0', bioconductor_options), + ('GenomeGraphs', '1.30.0', bioconductor_options), + ('geneLenDataBase', '', bioconductor_options), + ('goseq', '1.22.0', bioconductor_options), + ('KEGGREST', '1.10.1', bioconductor_options), + ('KEGGgraph', '1.28.0', bioconductor_options), + ('KEGGprofile', '1.12.0', bioconductor_options), + ('GEOquery', '2.36.0', bioconductor_options), + ('minfi', '1.16.1', bioconductor_options), + ('FDb.InfiniumMethylation.hg19', '', bioconductor_options), + ('methylumi', '2.16.0', bioconductor_options), + ('lumi', '2.22.1', bioconductor_options), + ('widgetTools', '1.48.0', bioconductor_options), + ('tkWidgets', '1.48.0', bioconductor_options), + ('Mfuzz', '2.30.0', bioconductor_options), + ('maSigPro', '1.42.0', bioconductor_options), + ('SPIA', '2.22.0', bioconductor_options), + ('Gviz', '1.14.4', bioconductor_options), + ('cummeRbund', '2.12.1', bioconductor_options), + ('GenomicFiles', '1.6.2', bioconductor_options), + ('derfinderHelper', '1.4.1', bioconductor_options), + ('derfinder', '1.4.4', bioconductor_options), + ('polyester', '1.6.0', bioconductor_options), + ('Rsubread', '1.20.3', bioconductor_options), + ('pcaMethods', '1.60.0', bioconductor_options), + ('marray', '1.48.0', bioconductor_options), + ('CGHbase', '1.30.0', bioconductor_options), + ('sigaR', '1.14.0', bioconductor_options), + ('HCsnip', '1.10.0', bioconductor_options), + ('metagenomeSeq', '1.12.0', bioconductor_options), + ('gdsfmt', '1.6.2', bioconductor_options), + ('SNPRelate', '1.4.2', bioconductor_options), +] + +modextrapaths = {'R_LIBS': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocInstaller', 'GenomicFeatures'], +} + +moduleclass = 'bio' -- GitLab From 60ac2c471e4c75e930f78b85fc9315806f75072d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 14:25:56 +0200 Subject: [PATCH 0539/1089] add easyconfig R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb --- ...dle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb new file mode 100644 index 0000000000..43d2df9a2e --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -0,0 +1,152 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'http://www.r-project.org/' +description = """R is a free software environment for statistical computing and graphics.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# these are extensions for R +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +dependencies = [('R', '3.2.3')] + +name_tmpl = '%(name)s_%(version)s.tar.gz' +ext_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} +bioconductor_options = { + 'source_urls': [ + 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', + 'http://www.bioconductor.org/packages/3.1/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/3.1/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/3.1/data/experiment/src/contrib/', + ], + 'source_tmpl': name_tmpl, +} + +# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends +# !! order of packages is important !! +exts_list = [ + ('BiocGenerics', '0.16.1', bioconductor_options), + ('Biobase', '2.30.0', bioconductor_options), + ('S4Vectors', '0.8.11', bioconductor_options), + ('IRanges', '2.4.8', bioconductor_options), + ('GenomeInfoDb', '1.6.3', bioconductor_options), + ('AnnotationDbi', '1.32.3', bioconductor_options), + ('XVector', '0.10.0', bioconductor_options), + ('zlibbioc', '1.16.0', bioconductor_options), + ('Biostrings', '2.38.4', bioconductor_options), + ('GenomicRanges', '1.22.4', bioconductor_options), + ('Rsamtools', '1.22.0', bioconductor_options), + ('lambda.r', '1.1.7', ext_options), + ('futile.options', '1.0.0', ext_options), + ('futile.logger', '1.4.1', ext_options), + ('BiocParallel', '1.4.3', bioconductor_options), + ('GenomicAlignments', '1.6.3', bioconductor_options), + ('ShortRead', '1.28.0', bioconductor_options), + ('graph', '1.48.0', bioconductor_options), + ('affyio', '1.40.0', bioconductor_options), + ('BiocInstaller', '1.20.1', bioconductor_options), + ('preprocessCore', '1.32.0', bioconductor_options), + ('affy', '1.48.0', bioconductor_options), + ('GO.db', '', bioconductor_options), + ('limma', '3.26.8', bioconductor_options), + ('RBGL', '1.46.0', bioconductor_options), + ('org.Hs.eg.db', '', bioconductor_options), + ('AnnotationForge', '1.12.2', bioconductor_options), + ('KEGG.db', '', bioconductor_options), + ('annaffy', '1.42.0', bioconductor_options), + ('gcrma', '2.42.0', bioconductor_options), + ('oligoClasses', '1.32.0', bioconductor_options), + ('edgeR', '3.12.0', bioconductor_options), + ('PFAM.db', '', bioconductor_options), + ('perm', '1.0-0.0', ext_options), + ('baySeq', '2.4.1', bioconductor_options), + ('qvalue', '2.2.2', bioconductor_options), + ('impute', '1.44.0', bioconductor_options), + ('samr', '2.0', ext_options), + ('DEGseq', '1.24.0', bioconductor_options), + ('hgu133plus2.db', '', bioconductor_options), + ('illuminaio', '0.12.0', bioconductor_options), + ('rtracklayer', '1.30.2', bioconductor_options), + ('biomaRt', '2.26.1', bioconductor_options), + ('GenomicFeatures', '1.22.13', bioconductor_options), + ('bumphunter', '1.10.0', bioconductor_options), + ('multtest', '2.26.0', bioconductor_options), + ('siggenes', '1.44.0', bioconductor_options), + ('DynDoc', '1.48.0', bioconductor_options), + ('genoset', '1.24.0', bioconductor_options), + ('NOISeq', '2.14.1', bioconductor_options), + ('Rgraphviz', '2.14.0', bioconductor_options), + ('RNASeqPower', '1.10.0', bioconductor_options), + ('annotate', '1.48.0', bioconductor_options), + ('GSEABase', '1.32.0', bioconductor_options), + ('genefilter', '1.52.1', bioconductor_options), + ('Category', '2.36.0', bioconductor_options), + ('GOstats', '2.36.0', bioconductor_options), + ('BSgenome', '1.38.0', bioconductor_options), + ('VariantAnnotation', '1.16.4', bioconductor_options), + ('biovizBase', '1.18.0', bioconductor_options), + ('OrganismDbi', '1.12.1', bioconductor_options), + ('ggbio', '1.18.5', bioconductor_options), + ('geneplotter', '1.48.0', bioconductor_options), + ('DESeq2', '1.10.1', bioconductor_options), + ('ReportingTools', '2.10.0', bioconductor_options), + ('affycoretools', '1.42.0', bioconductor_options), + ('TxDb.Hsapiens.UCSC.hg19.knownGene', '', bioconductor_options), + ('Homo.sapiens', '', bioconductor_options), + ('BSgenome.Hsapiens.UCSC.hg19', '', bioconductor_options), + ('AgiMicroRna', '2.20.0', bioconductor_options), + ('GenomeGraphs', '1.30.0', bioconductor_options), + ('geneLenDataBase', '', bioconductor_options), + ('goseq', '1.22.0', bioconductor_options), + ('KEGGREST', '1.10.1', bioconductor_options), + ('KEGGgraph', '1.28.0', bioconductor_options), + ('KEGGprofile', '1.12.0', bioconductor_options), + ('GEOquery', '2.36.0', bioconductor_options), + ('minfi', '1.16.1', bioconductor_options), + ('FDb.InfiniumMethylation.hg19', '', bioconductor_options), + ('methylumi', '2.16.0', bioconductor_options), + ('lumi', '2.22.1', bioconductor_options), + ('widgetTools', '1.48.0', bioconductor_options), + ('tkWidgets', '1.48.0', bioconductor_options), + ('Mfuzz', '2.30.0', bioconductor_options), + ('maSigPro', '1.42.0', bioconductor_options), + ('SPIA', '2.22.0', bioconductor_options), + ('Gviz', '1.14.4', bioconductor_options), + ('cummeRbund', '2.12.1', bioconductor_options), + ('GenomicFiles', '1.6.2', bioconductor_options), + ('derfinderHelper', '1.4.1', bioconductor_options), + ('derfinder', '1.4.4', bioconductor_options), + ('polyester', '1.6.0', bioconductor_options), + ('Rsubread', '1.20.3', bioconductor_options), + ('pcaMethods', '1.60.0', bioconductor_options), + ('marray', '1.48.0', bioconductor_options), + ('CGHbase', '1.30.0', bioconductor_options), + ('sigaR', '1.14.0', bioconductor_options), + ('HCsnip', '1.10.0', bioconductor_options), + ('metagenomeSeq', '1.12.0', bioconductor_options), + ('gdsfmt', '1.6.2', bioconductor_options), + ('SNPRelate', '1.4.2', bioconductor_options), +] + +modextrapaths = {'R_LIBS': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocInstaller', 'GenomicFeatures'], +} + +moduleclass = 'bio' -- GitLab From b66998ce4164d27da3f9e01567ec7e5dabffb228 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 14:40:58 +0200 Subject: [PATCH 0540/1089] modify easyconfig R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb --- ...dle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb index 43d2df9a2e..47a6df9dac 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -29,9 +29,9 @@ bioconductor_options = { 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', - 'http://www.bioconductor.org/packages/3.1/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/3.1/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/3.1/data/experiment/src/contrib/', + 'http://www.bioconductor.org/packages/%(version)s/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/%(version)s/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/%(version)s/data/experiment/src/contrib/', ], 'source_tmpl': name_tmpl, } @@ -61,24 +61,24 @@ exts_list = [ ('BiocInstaller', '1.20.1', bioconductor_options), ('preprocessCore', '1.32.0', bioconductor_options), ('affy', '1.48.0', bioconductor_options), - ('GO.db', '', bioconductor_options), + ('GO.db', '3.2.2', bioconductor_options), ('limma', '3.26.8', bioconductor_options), ('RBGL', '1.46.0', bioconductor_options), - ('org.Hs.eg.db', '', bioconductor_options), + ('org.Hs.eg.db', '3.2.3', bioconductor_options), ('AnnotationForge', '1.12.2', bioconductor_options), - ('KEGG.db', '', bioconductor_options), + ('KEGG.db', '3.2.2', bioconductor_options), ('annaffy', '1.42.0', bioconductor_options), ('gcrma', '2.42.0', bioconductor_options), ('oligoClasses', '1.32.0', bioconductor_options), ('edgeR', '3.12.0', bioconductor_options), - ('PFAM.db', '', bioconductor_options), + ('PFAM.db', '3.2.2', bioconductor_options), ('perm', '1.0-0.0', ext_options), ('baySeq', '2.4.1', bioconductor_options), ('qvalue', '2.2.2', bioconductor_options), ('impute', '1.44.0', bioconductor_options), ('samr', '2.0', ext_options), ('DEGseq', '1.24.0', bioconductor_options), - ('hgu133plus2.db', '', bioconductor_options), + ('hgu133plus2.db', '3.2.2', bioconductor_options), ('illuminaio', '0.12.0', bioconductor_options), ('rtracklayer', '1.30.2', bioconductor_options), ('biomaRt', '2.26.1', bioconductor_options), @@ -105,19 +105,19 @@ exts_list = [ ('DESeq2', '1.10.1', bioconductor_options), ('ReportingTools', '2.10.0', bioconductor_options), ('affycoretools', '1.42.0', bioconductor_options), - ('TxDb.Hsapiens.UCSC.hg19.knownGene', '', bioconductor_options), - ('Homo.sapiens', '', bioconductor_options), - ('BSgenome.Hsapiens.UCSC.hg19', '', bioconductor_options), + ('TxDb.Hsapiens.UCSC.hg19.knownGene', '3.2.2', bioconductor_options), + ('Homo.sapiens', '1.3.1', bioconductor_options), + ('BSgenome.Hsapiens.UCSC.hg19', '1.4.0', bioconductor_options), ('AgiMicroRna', '2.20.0', bioconductor_options), ('GenomeGraphs', '1.30.0', bioconductor_options), - ('geneLenDataBase', '', bioconductor_options), + ('geneLenDataBase', '1.6.0', bioconductor_options), ('goseq', '1.22.0', bioconductor_options), ('KEGGREST', '1.10.1', bioconductor_options), ('KEGGgraph', '1.28.0', bioconductor_options), ('KEGGprofile', '1.12.0', bioconductor_options), ('GEOquery', '2.36.0', bioconductor_options), ('minfi', '1.16.1', bioconductor_options), - ('FDb.InfiniumMethylation.hg19', '', bioconductor_options), + ('FDb.InfiniumMethylation.hg19', '2.2.0', bioconductor_options), ('methylumi', '2.16.0', bioconductor_options), ('lumi', '2.22.1', bioconductor_options), ('widgetTools', '1.48.0', bioconductor_options), -- GitLab From 3240a23cad4ea79d6fcc1695fb8db8f4489a07ed Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 13:48:50 +0100 Subject: [PATCH 0541/1089] add phangorn extension in R 3.2.3 easyconfigs --- easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb | 1 + easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb | 1 + easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb | 1 + easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb | 1 + 4 files changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb index dcabcfedb0..966d48e3c9 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2015b.eb @@ -438,6 +438,7 @@ exts_list = [ ('qgraph', '1.3.2', ext_options), ('diveRsity', '1.9.89', ext_options), ('doSNOW', '1.0.14', ext_options), + ('phangorn', '2.0.2', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb index bc318c4a60..323a1f2507 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-foss-2016a.eb @@ -438,6 +438,7 @@ exts_list = [ ('qgraph', '1.3.2', ext_options), ('diveRsity', '1.9.89', ext_options), ('doSNOW', '1.0.14', ext_options), + ('phangorn', '2.0.2', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb index 49fadf4c1f..2fead5c720 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a-libX11-1.6.3.eb @@ -450,6 +450,7 @@ exts_list = [ ('qgraph', '1.3.2', ext_options), ('diveRsity', '1.9.89', ext_options), ('doSNOW', '1.0.14', ext_options), + ('phangorn', '2.0.2', ext_options), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb index ddf0479c12..91dc12b964 100644 --- a/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb +++ b/easybuild/easyconfigs/r/R/R-3.2.3-intel-2016a.eb @@ -438,6 +438,7 @@ exts_list = [ ('qgraph', '1.3.2', ext_options), ('diveRsity', '1.9.89', ext_options), ('doSNOW', '1.0.14', ext_options), + ('phangorn', '2.0.2', ext_options), ] moduleclass = 'lang' -- GitLab From 18427a87b82e5d144a995851376c100da8b2389f Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Thu, 10 Mar 2016 15:22:31 +0100 Subject: [PATCH 0542/1089] Fix OS dependencies for MVAPICH2 with BLCR checkpoint/restart support --- .../m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index cee59253ac..6cd874bb9a 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -23,7 +23,10 @@ dependencies = [('hwloc', '1.5.1')] # enable checkpointing support withchkpt = True -osdependencies = ['blcr-libs', 'blcr-devel'] +osdependencies = [ + ('libcr-dev', 'blcr-devel'), + ('libattr1-dev', 'libattr-devel'), +] builddependencies = [('Bison', '2.5')] -- GitLab From cd6eed7dbf4cde9809f8c0dadfa96317fc62934c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 17:01:20 +0200 Subject: [PATCH 0543/1089] modify easyconfig R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb, add easyconfig R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb --- ...dle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 6 +- ...le-Bioconductor-3.2-intel-2016a-R-3.2.3.eb | 154 ++++++++++++++++++ 2 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb index 47a6df9dac..747435a5bf 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -45,15 +45,16 @@ exts_list = [ ('IRanges', '2.4.8', bioconductor_options), ('GenomeInfoDb', '1.6.3', bioconductor_options), ('AnnotationDbi', '1.32.3', bioconductor_options), - ('XVector', '0.10.0', bioconductor_options), ('zlibbioc', '1.16.0', bioconductor_options), + ('XVector', '0.10.0', bioconductor_options), ('Biostrings', '2.38.4', bioconductor_options), ('GenomicRanges', '1.22.4', bioconductor_options), + ('BiocParallel', '1.4.3', bioconductor_options), ('Rsamtools', '1.22.0', bioconductor_options), ('lambda.r', '1.1.7', ext_options), ('futile.options', '1.0.0', ext_options), ('futile.logger', '1.4.1', ext_options), - ('BiocParallel', '1.4.3', bioconductor_options), + ('SummarizedExperiment', '1.0.2', bioconductor_options), ('GenomicAlignments', '1.6.3', bioconductor_options), ('ShortRead', '1.28.0', bioconductor_options), ('graph', '1.48.0', bioconductor_options), @@ -116,6 +117,7 @@ exts_list = [ ('KEGGgraph', '1.28.0', bioconductor_options), ('KEGGprofile', '1.12.0', bioconductor_options), ('GEOquery', '2.36.0', bioconductor_options), + ('mixOmics', '5.2.0', ext_options), ('minfi', '1.16.1', bioconductor_options), ('FDb.InfiniumMethylation.hg19', '2.2.0', bioconductor_options), ('methylumi', '2.16.0', bioconductor_options), diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb new file mode 100644 index 0000000000..f4c9219e9d --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb @@ -0,0 +1,154 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'http://www.r-project.org/' +description = """R is a free software environment for statistical computing and graphics.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# these are extensions for R +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +dependencies = [('R', '3.2.3')] + +name_tmpl = '%(name)s_%(version)s.tar.gz' +ext_options = { + 'source_urls': [ + 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'http://cran.r-project.org/src/contrib/', # current version of packages + 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': name_tmpl, +} +bioconductor_options = { + 'source_urls': [ + 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', + 'http://www.bioconductor.org/packages/%(version)s/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/%(version)s/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/%(version)s/data/experiment/src/contrib/', + ], + 'source_tmpl': name_tmpl, +} + +# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends +# !! order of packages is important !! +exts_list = [ + ('BiocGenerics', '0.16.1', bioconductor_options), + ('Biobase', '2.30.0', bioconductor_options), + ('S4Vectors', '0.8.11', bioconductor_options), + ('IRanges', '2.4.8', bioconductor_options), + ('GenomeInfoDb', '1.6.3', bioconductor_options), + ('AnnotationDbi', '1.32.3', bioconductor_options), + ('zlibbioc', '1.16.0', bioconductor_options), + ('XVector', '0.10.0', bioconductor_options), + ('Biostrings', '2.38.4', bioconductor_options), + ('GenomicRanges', '1.22.4', bioconductor_options), + ('BiocParallel', '1.4.3', bioconductor_options), + ('Rsamtools', '1.22.0', bioconductor_options), + ('lambda.r', '1.1.7', ext_options), + ('futile.options', '1.0.0', ext_options), + ('futile.logger', '1.4.1', ext_options), + ('SummarizedExperiment', '1.0.2', bioconductor_options), + ('GenomicAlignments', '1.6.3', bioconductor_options), + ('ShortRead', '1.28.0', bioconductor_options), + ('graph', '1.48.0', bioconductor_options), + ('affyio', '1.40.0', bioconductor_options), + ('BiocInstaller', '1.20.1', bioconductor_options), + ('preprocessCore', '1.32.0', bioconductor_options), + ('affy', '1.48.0', bioconductor_options), + ('GO.db', '3.2.2', bioconductor_options), + ('limma', '3.26.8', bioconductor_options), + ('RBGL', '1.46.0', bioconductor_options), + ('org.Hs.eg.db', '3.2.3', bioconductor_options), + ('AnnotationForge', '1.12.2', bioconductor_options), + ('KEGG.db', '3.2.2', bioconductor_options), + ('annaffy', '1.42.0', bioconductor_options), + ('gcrma', '2.42.0', bioconductor_options), + ('oligoClasses', '1.32.0', bioconductor_options), + ('edgeR', '3.12.0', bioconductor_options), + ('PFAM.db', '3.2.2', bioconductor_options), + ('perm', '1.0-0.0', ext_options), + ('baySeq', '2.4.1', bioconductor_options), + ('qvalue', '2.2.2', bioconductor_options), + ('impute', '1.44.0', bioconductor_options), + ('samr', '2.0', ext_options), + ('DEGseq', '1.24.0', bioconductor_options), + ('hgu133plus2.db', '3.2.2', bioconductor_options), + ('illuminaio', '0.12.0', bioconductor_options), + ('rtracklayer', '1.30.2', bioconductor_options), + ('biomaRt', '2.26.1', bioconductor_options), + ('GenomicFeatures', '1.22.13', bioconductor_options), + ('bumphunter', '1.10.0', bioconductor_options), + ('multtest', '2.26.0', bioconductor_options), + ('siggenes', '1.44.0', bioconductor_options), + ('DynDoc', '1.48.0', bioconductor_options), + ('genoset', '1.24.0', bioconductor_options), + ('NOISeq', '2.14.1', bioconductor_options), + ('Rgraphviz', '2.14.0', bioconductor_options), + ('RNASeqPower', '1.10.0', bioconductor_options), + ('annotate', '1.48.0', bioconductor_options), + ('GSEABase', '1.32.0', bioconductor_options), + ('genefilter', '1.52.1', bioconductor_options), + ('Category', '2.36.0', bioconductor_options), + ('GOstats', '2.36.0', bioconductor_options), + ('BSgenome', '1.38.0', bioconductor_options), + ('VariantAnnotation', '1.16.4', bioconductor_options), + ('biovizBase', '1.18.0', bioconductor_options), + ('OrganismDbi', '1.12.1', bioconductor_options), + ('ggbio', '1.18.5', bioconductor_options), + ('geneplotter', '1.48.0', bioconductor_options), + ('DESeq2', '1.10.1', bioconductor_options), + ('ReportingTools', '2.10.0', bioconductor_options), + ('affycoretools', '1.42.0', bioconductor_options), + ('TxDb.Hsapiens.UCSC.hg19.knownGene', '3.2.2', bioconductor_options), + ('Homo.sapiens', '1.3.1', bioconductor_options), + ('BSgenome.Hsapiens.UCSC.hg19', '1.4.0', bioconductor_options), + ('AgiMicroRna', '2.20.0', bioconductor_options), + ('GenomeGraphs', '1.30.0', bioconductor_options), + ('geneLenDataBase', '1.6.0', bioconductor_options), + ('goseq', '1.22.0', bioconductor_options), + ('KEGGREST', '1.10.1', bioconductor_options), + ('KEGGgraph', '1.28.0', bioconductor_options), + ('KEGGprofile', '1.12.0', bioconductor_options), + ('GEOquery', '2.36.0', bioconductor_options), + ('mixOmics', '5.2.0', ext_options), + ('minfi', '1.16.1', bioconductor_options), + ('FDb.InfiniumMethylation.hg19', '2.2.0', bioconductor_options), + ('methylumi', '2.16.0', bioconductor_options), + ('lumi', '2.22.1', bioconductor_options), + ('widgetTools', '1.48.0', bioconductor_options), + ('tkWidgets', '1.48.0', bioconductor_options), + ('Mfuzz', '2.30.0', bioconductor_options), + ('maSigPro', '1.42.0', bioconductor_options), + ('SPIA', '2.22.0', bioconductor_options), + ('Gviz', '1.14.4', bioconductor_options), + ('cummeRbund', '2.12.1', bioconductor_options), + ('GenomicFiles', '1.6.2', bioconductor_options), + ('derfinderHelper', '1.4.1', bioconductor_options), + ('derfinder', '1.4.4', bioconductor_options), + ('polyester', '1.6.0', bioconductor_options), + ('Rsubread', '1.20.3', bioconductor_options), + ('pcaMethods', '1.60.0', bioconductor_options), + ('marray', '1.48.0', bioconductor_options), + ('CGHbase', '1.30.0', bioconductor_options), + ('sigaR', '1.14.0', bioconductor_options), + ('HCsnip', '1.10.0', bioconductor_options), + ('metagenomeSeq', '1.12.0', bioconductor_options), + ('gdsfmt', '1.6.2', bioconductor_options), + ('SNPRelate', '1.4.2', bioconductor_options), +] + +modextrapaths = {'R_LIBS': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocInstaller', 'GenomicFeatures'], +} + +moduleclass = 'bio' -- GitLab From baf9329fdbc191d90ae2a5f392a6ef9b6c12df9f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 10 Mar 2016 16:52:26 +0100 Subject: [PATCH 0544/1089] remove wrong easyconfig --- ...dle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb | 152 ------------------ 1 file changed, 152 deletions(-) delete mode 100644 easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb deleted file mode 100644 index d383fdf33e..0000000000 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.1-foss-2016a-R-3.2.3.eb +++ /dev/null @@ -1,152 +0,0 @@ -easyblock = 'Bundle' - -name = 'R-bundle-Bioconductor' -version = '3.1' -versionsuffix = '-R-%(rver)s' - -homepage = 'http://www.r-project.org/' -description = """R is a free software environment for statistical computing and graphics.""" - -toolchain = {'name': 'foss', 'version': '2016a'} - -# these are extensions for R -exts_defaultclass = 'RPackage' -exts_filter = ("R -q --no-save", "library(%(ext_name)s)") - -dependencies = [('R', '3.2.3')] - -name_tmpl = '%(name)s_%(version)s.tar.gz' -ext_options = { - 'source_urls': [ - 'http://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive - 'http://cran.r-project.org/src/contrib/', # current version of packages - 'http://cran.freestatistics.org/src/contrib', # mirror alternative for current packages - ], - 'source_tmpl': name_tmpl, -} -bioconductor_options = { - 'source_urls': [ - 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', - 'http://www.bioconductor.org/packages/3.1/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/3.1/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/3.1/data/experiment/src/contrib/', - ], - 'source_tmpl': name_tmpl, -} - -# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends -# !! order of packages is important !! -exts_list = [ - ('BiocGenerics', '0.16.1', bioconductor_options), - ('Biobase', '2.30.0', bioconductor_options), - ('S4Vectors', '0.8.11', bioconductor_options), - ('IRanges', '2.4.8', bioconductor_options), - ('GenomeInfoDb', '1.6.3', bioconductor_options), - ('AnnotationDbi', '1.32.3', bioconductor_options), - ('XVector', '0.10.0', bioconductor_options), - ('zlibbioc', '1.16.0', bioconductor_options), - ('Biostrings', '2.38.4', bioconductor_options), - ('GenomicRanges', '1.22.4', bioconductor_options), - ('Rsamtools', '1.22.0', bioconductor_options), - ('lambda.r', '1.1.7', ext_options), - ('futile.options', '1.0.0', ext_options), - ('futile.logger', '1.4.1', ext_options), - ('BiocParallel', '1.4.3', bioconductor_options), - ('GenomicAlignments', '1.6.3', bioconductor_options), - ('ShortRead', '1.28.0', bioconductor_options), - ('graph', '1.48.0', bioconductor_options), - ('affyio', '1.40.0', bioconductor_options), - ('BiocInstaller', '1.20.1', bioconductor_options), - ('preprocessCore', '1.32.0', bioconductor_options), - ('affy', '1.48.0', bioconductor_options), - ('GO.db', '', bioconductor_options), - ('limma', '3.26.8', bioconductor_options), - ('RBGL', '1.46.0', bioconductor_options), - ('org.Hs.eg.db', '', bioconductor_options), - ('AnnotationForge', '1.12.2', bioconductor_options), - ('KEGG.db', '', bioconductor_options), - ('annaffy', '1.42.0', bioconductor_options), - ('gcrma', '2.42.0', bioconductor_options), - ('oligoClasses', '1.32.0', bioconductor_options), - ('edgeR', '3.12.0', bioconductor_options), - ('PFAM.db', '', bioconductor_options), - ('perm', '1.0-0.0', ext_options), - ('baySeq', '2.4.1', bioconductor_options), - ('qvalue', '2.2.2', bioconductor_options), - ('impute', '1.44.0', bioconductor_options), - ('samr', '2.0', ext_options), - ('DEGseq', '1.24.0', bioconductor_options), - ('hgu133plus2.db', '', bioconductor_options), - ('illuminaio', '0.12.0', bioconductor_options), - ('rtracklayer', '1.30.2', bioconductor_options), - ('biomaRt', '2.26.1', bioconductor_options), - ('GenomicFeatures', '1.22.13', bioconductor_options), - ('bumphunter', '1.10.0', bioconductor_options), - ('multtest', '2.26.0', bioconductor_options), - ('siggenes', '1.44.0', bioconductor_options), - ('DynDoc', '1.48.0', bioconductor_options), - ('genoset', '1.24.0', bioconductor_options), - ('NOISeq', '2.14.1', bioconductor_options), - ('Rgraphviz', '2.14.0', bioconductor_options), - ('RNASeqPower', '1.10.0', bioconductor_options), - ('annotate', '1.48.0', bioconductor_options), - ('GSEABase', '1.32.0', bioconductor_options), - ('genefilter', '1.52.1', bioconductor_options), - ('Category', '2.36.0', bioconductor_options), - ('GOstats', '2.36.0', bioconductor_options), - ('BSgenome', '1.38.0', bioconductor_options), - ('VariantAnnotation', '1.16.4', bioconductor_options), - ('biovizBase', '1.18.0', bioconductor_options), - ('OrganismDbi', '1.12.1', bioconductor_options), - ('ggbio', '1.18.5', bioconductor_options), - ('geneplotter', '1.48.0', bioconductor_options), - ('DESeq2', '1.10.1', bioconductor_options), - ('ReportingTools', '2.10.0', bioconductor_options), - ('affycoretools', '1.42.0', bioconductor_options), - ('TxDb.Hsapiens.UCSC.hg19.knownGene', '', bioconductor_options), - ('Homo.sapiens', '', bioconductor_options), - ('BSgenome.Hsapiens.UCSC.hg19', '', bioconductor_options), - ('AgiMicroRna', '2.20.0', bioconductor_options), - ('GenomeGraphs', '1.30.0', bioconductor_options), - ('geneLenDataBase', '', bioconductor_options), - ('goseq', '1.22.0', bioconductor_options), - ('KEGGREST', '1.10.1', bioconductor_options), - ('KEGGgraph', '1.28.0', bioconductor_options), - ('KEGGprofile', '1.12.0', bioconductor_options), - ('GEOquery', '2.36.0', bioconductor_options), - ('minfi', '1.16.1', bioconductor_options), - ('FDb.InfiniumMethylation.hg19', '', bioconductor_options), - ('methylumi', '2.16.0', bioconductor_options), - ('lumi', '2.22.1', bioconductor_options), - ('widgetTools', '1.48.0', bioconductor_options), - ('tkWidgets', '1.48.0', bioconductor_options), - ('Mfuzz', '2.30.0', bioconductor_options), - ('maSigPro', '1.42.0', bioconductor_options), - ('SPIA', '2.22.0', bioconductor_options), - ('Gviz', '1.14.4', bioconductor_options), - ('cummeRbund', '2.12.1', bioconductor_options), - ('GenomicFiles', '1.6.2', bioconductor_options), - ('derfinderHelper', '1.4.1', bioconductor_options), - ('derfinder', '1.4.4', bioconductor_options), - ('polyester', '1.6.0', bioconductor_options), - ('Rsubread', '1.20.3', bioconductor_options), - ('pcaMethods', '1.60.0', bioconductor_options), - ('marray', '1.48.0', bioconductor_options), - ('CGHbase', '1.30.0', bioconductor_options), - ('sigaR', '1.14.0', bioconductor_options), - ('HCsnip', '1.10.0', bioconductor_options), - ('metagenomeSeq', '1.12.0', bioconductor_options), - ('gdsfmt', '1.6.2', bioconductor_options), - ('SNPRelate', '1.4.2', bioconductor_options), -] - -modextrapaths = {'R_LIBS': ''} - -sanity_check_paths = { - 'files': [], - 'dirs': ['AnnotationDbi', 'BiocInstaller', 'GenomicFeatures'], -} - -moduleclass = 'bio' -- GitLab From 3b61720f9d6aba21e540624b2805dff29f21ad84 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 10:44:27 +0100 Subject: [PATCH 0545/1089] drop 'release' URLs, don't use %(rver)s yet --- .../R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 7 +++---- .../R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb | 8 +++----- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb index 747435a5bf..d5dcde11e2 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -13,7 +13,9 @@ toolchain = {'name': 'foss', 'version': '2016a'} exts_defaultclass = 'RPackage' exts_filter = ("R -q --no-save", "library(%(ext_name)s)") -dependencies = [('R', '3.2.3')] +rver = '3.2.3' +versionsuffix = '-R-%s' % rver +dependencies = [('R', rver)] name_tmpl = '%(name)s_%(version)s.tar.gz' ext_options = { @@ -26,9 +28,6 @@ ext_options = { } bioconductor_options = { 'source_urls': [ - 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', 'http://www.bioconductor.org/packages/%(version)s/bioc/src/contrib/', 'http://www.bioconductor.org/packages/%(version)s/data/annotation/src/contrib/', 'http://www.bioconductor.org/packages/%(version)s/data/experiment/src/contrib/', diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb index f4c9219e9d..dce3357e77 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb @@ -2,7 +2,6 @@ easyblock = 'Bundle' name = 'R-bundle-Bioconductor' version = '3.2' -versionsuffix = '-R-%(rver)s' homepage = 'http://www.r-project.org/' description = """R is a free software environment for statistical computing and graphics.""" @@ -13,7 +12,9 @@ toolchain = {'name': 'intel', 'version': '2016a'} exts_defaultclass = 'RPackage' exts_filter = ("R -q --no-save", "library(%(ext_name)s)") -dependencies = [('R', '3.2.3')] +rver = '3.2.3' +versionsuffix = '-R-%s' % rver +dependencies = [('R', rver)] name_tmpl = '%(name)s_%(version)s.tar.gz' ext_options = { @@ -26,9 +27,6 @@ ext_options = { } bioconductor_options = { 'source_urls': [ - 'http://www.bioconductor.org/packages/release/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/release/data/experiment/src/contrib/', 'http://www.bioconductor.org/packages/%(version)s/bioc/src/contrib/', 'http://www.bioconductor.org/packages/%(version)s/data/annotation/src/contrib/', 'http://www.bioconductor.org/packages/%(version)s/data/experiment/src/contrib/', -- GitLab From 782e024dbab561cbe68d02bfd5d917f995130911 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 11 Mar 2016 12:28:22 +0200 Subject: [PATCH 0546/1089] add easyconfig GDB-7.11-intel-2016a.eb --- .../easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb b/easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb new file mode 100644 index 0000000000..fa5295e98e --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '7.11' + +homepage = 'http://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +sources = [SOURCELOWER_TAR_XZ] +source_urls = [GNU_SOURCE] + +toolchain = {'name': 'intel', 'version': '2016a'} + +dependencies = [ + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '6.0'), + ('expat', '2.1.0'), + ('Python', '2.7.11'), +] + +patches = ['GDB-7.9-missing-makeinfo.patch'] + +configopts = '--with-system-zlib --with-python=$EBROOTPYTHON/bin/python --with-expat=$EBROOTEXPAT ' +configopts += '--with-system-readline --enable-tui --enable-plugins' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +moduleclass = 'debugger' -- GitLab From 90276c29d80a68782f1eb9b092ac8265f4c2baf1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 13:04:48 +0200 Subject: [PATCH 0547/1089] add easyconfig PHYLIP-3.696-intel-2016a.eb --- .../p/PHYLIP/PHYLIP-3.696-intel-2016a.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb diff --git a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb new file mode 100644 index 0000000000..337f4f3b90 --- /dev/null +++ b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'MakeCp' + +name = 'PHYLIP' +version = '3.696' + +homepage = 'http://evolution.genetics.washington.edu/phylip' +description = "PHYLIP is a free package of programs for inferring phylogenies." + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://evolution.gs.washington.edu/phylip/download/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] + +buildopts = '-Csrc -fMakefile.unx all && make -Csrc -fMakefile.unx install' + +files_to_copy = [(['exe/*'], 'bin'), (['src/libdrawgram.so', 'src/libdrawtree.so'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libdrawgram.so', 'lib/libdrawtree.so'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' -- GitLab From 0b7c8c0733734518db9d852ba8a112126cbe20bd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 13:06:50 +0200 Subject: [PATCH 0548/1089] add easyconfig BWA-0.7.13-intel-2016a.eb --- .../b/BWA/BWA-0.7.13-intel-2016a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/b/BWA/BWA-0.7.13-intel-2016a.eb diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-intel-2016a.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-intel-2016a.eb new file mode 100644 index 0000000000..f4774cbbbe --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-intel-2016a.eb @@ -0,0 +1,32 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Version >= 0.7.13 +# Author: Adam Huffman +# The Francis Crick Institute +# +# Note that upstream development is mainly at: https://github.com/lh3/bwa +## + +name = 'BWA' +version = '0.7.13' + +homepage = 'http://bio-bwa.sourceforge.net/' +description = """Burrows-Wheeler Aligner (BWA) is an efficient program that aligns + relatively short nucleotide sequences against a long reference sequence such as the human genome.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] + +moduleclass = 'bio' -- GitLab From d264046fac6218f20a0610d5c0b069e3a1324253 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 13:17:08 +0200 Subject: [PATCH 0549/1089] add easyconfig SNPhylo-20140701-intel-2016a.eb, add easyconfig SNPhylo-20140701-foss-2016a.eb --- .../s/SNPhylo/SNPhylo-20140701-foss-2016a.eb | 22 +++++++++++++++++++ .../s/SNPhylo/SNPhylo-20140701-intel-2016a.eb | 22 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb create mode 100644 easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb new file mode 100644 index 0000000000..e61334d314 --- /dev/null +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb @@ -0,0 +1,22 @@ +name = 'SNPhylo' +version = '20140701' + +homepage = 'http://chibba.pgml.uga.edu/snphylo/' +description = """SNPhylo: a pipeline to generate a phylogenetic tree from huge SNP data""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# download from http://chibba.pgml.uga.edu/snphylo/snphylo.tar.gz and rename +# see http://chibba.pgml.uga.edu/snphylo/ for version +sources = ['%(namelower)s-%(version)s.tar.gz'] + +checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] + +dependencies = [ + ('R', '3.2.3'), + ('Python', '2.7.11'), + ('MUSCLE', '3.8.31'), + ('PHYLIP', '3.696'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb new file mode 100644 index 0000000000..cea99bc814 --- /dev/null +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb @@ -0,0 +1,22 @@ +name = 'SNPhylo' +version = '20140701' + +homepage = 'http://chibba.pgml.uga.edu/snphylo/' +description = """SNPhylo: a pipeline to generate a phylogenetic tree from huge SNP data""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# download from http://chibba.pgml.uga.edu/snphylo/snphylo.tar.gz and rename +# see http://chibba.pgml.uga.edu/snphylo/ for version +sources = ['%(namelower)s-%(version)s.tar.gz'] + +checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] + +dependencies = [ + ('R', '3.2.3'), + ('Python', '2.7.11'), + ('MUSCLE', '3.8.31'), + ('PHYLIP', '3.696'), +] + +moduleclass = 'bio' -- GitLab From 5649cc342580e1a881db0e6a949b4a118bf45f9b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 14:47:59 +0200 Subject: [PATCH 0550/1089] add easyconfig npstat-0.99-intel-2016a.eb --- .../n/npstat/npstat-0.99-intel-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/n/npstat/npstat-0.99-intel-2016a.eb diff --git a/easybuild/easyconfigs/n/npstat/npstat-0.99-intel-2016a.eb b/easybuild/easyconfigs/n/npstat/npstat-0.99-intel-2016a.eb new file mode 100644 index 0000000000..b8f9940b59 --- /dev/null +++ b/easybuild/easyconfigs/n/npstat/npstat-0.99-intel-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'npstat' +version = '0.99' + +homepage = 'https://code.google.com/archive/p/npstat/' +description = """npstat implements some population genetics tests and estimators that can be applied + to pooled sequences from Next Generation Sequencing experiments.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/npstat/'] +sources = ['source-archive.zip'] + +patches = ['npstat-%(version)s_fix-hardcoding-Makefile.patch'] + +# commit 14, Oct 31st 2013 +checksums = ['a1595b7c46312d0f51b8b68987289337'] + +dependencies = [ + ('GSL', '1.16'), +] + +start_dir = 'trunk' + +files_to_copy = [(['npstat'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/npstat'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 69480c1a1e0803e198c1d9a449bcb849fde15c03 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 14:53:38 +0200 Subject: [PATCH 0551/1089] modify easyconfig SNPhylo-20140701-intel-2016a.eb, modify easyconfig SNPhylo-20140701-foss-2016a.eb --- easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb | 1 + easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb | 1 + 2 files changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb index e61334d314..6fb5d3516e 100644 --- a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb @@ -14,6 +14,7 @@ checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] dependencies = [ ('R', '3.2.3'), + ('R-bundle-Bioconductor', '3.2', 'R-%(rver)s'), ('Python', '2.7.11'), ('MUSCLE', '3.8.31'), ('PHYLIP', '3.696'), diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb index cea99bc814..45955d802a 100644 --- a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb @@ -14,6 +14,7 @@ checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] dependencies = [ ('R', '3.2.3'), + ('R-bundle-Bioconductor', '3.2', 'R-%(rver)s'), ('Python', '2.7.11'), ('MUSCLE', '3.8.31'), ('PHYLIP', '3.696'), -- GitLab From 1cc3e64db7e1faa91730799ae3c9c25281139c4a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 14:55:28 +0200 Subject: [PATCH 0552/1089] modify easyconfig SNPhylo-20140701-intel-2016a.eb, modify easyconfig SNPhylo-20140701-foss-2016a.eb --- easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb | 2 +- easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb index 6fb5d3516e..701dafb78c 100644 --- a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb @@ -14,7 +14,7 @@ checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] dependencies = [ ('R', '3.2.3'), - ('R-bundle-Bioconductor', '3.2', 'R-%(rver)s'), + ('R-bundle-Bioconductor', '3.2', '-R-%(rver)s'), ('Python', '2.7.11'), ('MUSCLE', '3.8.31'), ('PHYLIP', '3.696'), diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb index 45955d802a..71e1b6e3e1 100644 --- a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb @@ -14,7 +14,7 @@ checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] dependencies = [ ('R', '3.2.3'), - ('R-bundle-Bioconductor', '3.2', 'R-%(rver)s'), + ('R-bundle-Bioconductor', '3.2', '-R-%(rver)s'), ('Python', '2.7.11'), ('MUSCLE', '3.8.31'), ('PHYLIP', '3.696'), -- GitLab From 9538cef30f7081f37b819bb5edf8b5542f397432 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 14:02:37 +0100 Subject: [PATCH 0553/1089] fix remark --- easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb | 2 +- easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb index 090561e4d6..90aea78df7 100644 --- a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb +++ b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-foss-2016a.eb @@ -9,7 +9,7 @@ description = "PHYLIP is a free package of programs for inferring phylogenies." toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['http://evolution.gs.washington.edu/phylip/download/'] -sources = ['%(namelower)s-%(version)s.tar.gz'] +sources = [SOURCELOWER_TAR_GZ] buildopts = '-Csrc -fMakefile.unx all && make -Csrc -fMakefile.unx install' diff --git a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb index 337f4f3b90..312062d04f 100644 --- a/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb +++ b/easybuild/easyconfigs/p/PHYLIP/PHYLIP-3.696-intel-2016a.eb @@ -9,7 +9,7 @@ description = "PHYLIP is a free package of programs for inferring phylogenies." toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['http://evolution.gs.washington.edu/phylip/download/'] -sources = ['%(namelower)s-%(version)s.tar.gz'] +sources = [SOURCELOWER_TAR_GZ] buildopts = '-Csrc -fMakefile.unx all && make -Csrc -fMakefile.unx install' -- GitLab From 10e9af18743b647aedec72e30e300e9d8cf249f7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 15:15:16 +0200 Subject: [PATCH 0554/1089] modify easyconfig SNPhylo-20140701-intel-2016a.eb, modify easyconfig SNPhylo-20140701-foss-2016a.eb --- easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb | 2 +- easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb index 701dafb78c..f27160e9e4 100644 --- a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-foss-2016a.eb @@ -8,7 +8,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} # download from http://chibba.pgml.uga.edu/snphylo/snphylo.tar.gz and rename # see http://chibba.pgml.uga.edu/snphylo/ for version -sources = ['%(namelower)s-%(version)s.tar.gz'] +sources = [SOURCELOWER_TAR_GZ] checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] diff --git a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb index 71e1b6e3e1..d54fcc2b47 100644 --- a/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb +++ b/easybuild/easyconfigs/s/SNPhylo/SNPhylo-20140701-intel-2016a.eb @@ -8,7 +8,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} # download from http://chibba.pgml.uga.edu/snphylo/snphylo.tar.gz and rename # see http://chibba.pgml.uga.edu/snphylo/ for version -sources = ['%(namelower)s-%(version)s.tar.gz'] +sources = [SOURCELOWER_TAR_GZ] checksums = ['80f31c46f1fa9c0c459f18d3acf9fa25'] -- GitLab From 994c84656ccbe2f1b81547066f44e9cf6d531008 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 14:49:25 +0100 Subject: [PATCH 0555/1089] add missing dependencines in Python 3.5.x easyconfigs --- easybuild/easyconfigs/p/Python/Python-3.5.0-intel-2015b.eb | 3 +++ easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb | 3 +++ easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb | 3 +++ 3 files changed, 9 insertions(+) diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.0-intel-2015b.eb b/easybuild/easyconfigs/p/Python/Python-3.5.0-intel-2015b.eb index ae86e7bce7..6b562baa0c 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.0-intel-2015b.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.0-intel-2015b.eb @@ -19,6 +19,9 @@ dependencies = [ ('zlib', '1.2.8'), ('libreadline', '6.3'), ('ncurses', '5.9'), + ('SQLite', '3.9.2'), + ('Tk', '8.6.4', '-no-X11'), + ('GMP', '6.1.0'), # ('OpenSSL', '1.0.1p'), # OS dependency should be preferred if the os version is more recent then this version, it's # nice to have an up to date openssl for security reasons ] diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb index 38309ea23d..ec80435d9b 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb @@ -19,6 +19,9 @@ dependencies = [ ('zlib', '1.2.8'), ('libreadline', '6.3'), ('ncurses', '6.0'), + ('SQLite', '3.9.2'), + ('Tk', '8.6.4', '-no-X11'), + ('GMP', '6.1.0'), # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's # nice to have an up to date openssl for security reasons ] diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb index e610aff618..aa7a7d9034 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb @@ -19,6 +19,9 @@ dependencies = [ ('zlib', '1.2.8'), ('libreadline', '6.3'), ('ncurses', '6.0'), + ('SQLite', '3.9.2'), + ('Tk', '8.6.4', '-no-X11'), + ('GMP', '6.1.0'), # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's # nice to have an up to date openssl for security reasons ] -- GitLab From dc3792dcd107de914d6f2c690f76e425570727bd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 17:22:01 +0200 Subject: [PATCH 0556/1089] add easyconfig attr-2.4.47-GCC-4.6.3.eb --- .../a/attr/attr-2.4.47-GCC-4.6.3.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb diff --git a/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb new file mode 100644 index 0000000000..7d040cf36d --- /dev/null +++ b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'attr' +version = '2.4.47' + +homepage = 'http://savannah.nongnu.org/projects/attr' +description = """Commands for Manipulating Filesystem Extended Attributes""" + +toolchain = {'name': 'GCC', 'version': '4.6.3'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = ['attr-%(version)s.src.tar.gz'] + +installopts = 'install-lib' + +sanity_check_paths = { + 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', 'lib/libattr.so.1', 'lib/libattr.so.1.1.0'], + 'dirs': ['share'], +} + +moduleclass = 'tools' -- GitLab From de64fa3397823e88d287c726e03037d5950b5733 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 16:36:40 +0100 Subject: [PATCH 0557/1089] add 'attr' as dep in MVAPICH2 easyconfig w/ checkpointing support enabled --- .../MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index 6cd874bb9a..04c6dccfe0 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -11,24 +11,26 @@ toolchain = {'name': 'GCC', 'version': '4.6.3'} sources = [SOURCELOWER_TGZ] # note: this URL will only work for the most recent version (previous versions no longer available?) source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] +dependencies = [ + ('hwloc', '1.5.1'), + ('attr', '2.4.47'), +] + +builddependencies = [('Bison', '2.5')] + +osdependencies = [('libcr-dev', 'blcr-devel'),] -rdma_type = "gen2" # 'gen2' or 'udapl' +# 'gen2' or 'udapl' +rdma_type = 'gen2' # enable building of MPE routines withmpe = True # enable hwloc support withhwloc = True -dependencies = [('hwloc', '1.5.1')] # enable checkpointing support withchkpt = True -osdependencies = [ - ('libcr-dev', 'blcr-devel'), - ('libattr1-dev', 'libattr-devel'), -] - -builddependencies = [('Bison', '2.5')] # parallel build tends to fail parallel = 1 -- GitLab From 0ca0ceb1e538326be9741280b130b54e399a4a77 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 18:09:52 +0200 Subject: [PATCH 0558/1089] modify easyconfig attr-2.4.47-GCC-4.6.3.eb --- easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb index 7d040cf36d..5c73e6a27b 100644 --- a/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb +++ b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb @@ -11,11 +11,11 @@ toolchain = {'name': 'GCC', 'version': '4.6.3'} source_urls = [GNU_SAVANNAH_SOURCE] sources = ['attr-%(version)s.src.tar.gz'] -installopts = 'install-lib' +installopts = 'install-dev install-lib' sanity_check_paths = { 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', 'lib/libattr.so.1', 'lib/libattr.so.1.1.0'], - 'dirs': ['share'], + 'dirs': ['include/attr', 'share'], } moduleclass = 'tools' -- GitLab From a3451e115fa85fef0f3ccaeeb6bec8be8a6070ee Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 18:22:53 +0200 Subject: [PATCH 0559/1089] modify easyconfig attr-2.4.47-GCC-4.6.3.eb --- easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb index 5c73e6a27b..3f29b7d6d3 100644 --- a/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb +++ b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb @@ -14,7 +14,7 @@ sources = ['attr-%(version)s.src.tar.gz'] installopts = 'install-dev install-lib' sanity_check_paths = { - 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', 'lib/libattr.so.1', 'lib/libattr.so.1.1.0'], + 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', 'lib/libattr.a', 'lib/libattr.%s' % SHLIB_EXT], 'dirs': ['include/attr', 'share'], } -- GitLab From d51a1b8e4a249e60c7872f858a1207e59138e134 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 18:58:56 +0200 Subject: [PATCH 0560/1089] modify easyconfig attr-2.4.47-GCC-4.6.3.eb --- easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb index 3f29b7d6d3..8a4e822bba 100644 --- a/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb +++ b/easybuild/easyconfigs/a/attr/attr-2.4.47-GCC-4.6.3.eb @@ -14,8 +14,9 @@ sources = ['attr-%(version)s.src.tar.gz'] installopts = 'install-dev install-lib' sanity_check_paths = { - 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', 'lib/libattr.a', 'lib/libattr.%s' % SHLIB_EXT], - 'dirs': ['include/attr', 'share'], + 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', 'include/attr/attributes.h', 'include/attr/error_context.h', + 'include/attr/libattr.h', 'include/attr/xattr.h', 'lib/libattr.a', 'lib/libattr.%s' % SHLIB_EXT], + 'dirs': ['share'], } moduleclass = 'tools' -- GitLab From 4754be502808e9896a96f2dc2acd816aa62e40ce Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 18:46:05 +0100 Subject: [PATCH 0561/1089] consistently add checksums --- .../m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb | 3 +++ easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb | 2 ++ easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb | 1 - .../easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb | 1 - .../easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb | 1 - easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb | 1 - .../m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb | 1 - easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9a2-GCC-4.7.2.eb | 2 ++ easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9b-GCC-4.7.2.eb | 2 ++ .../easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-ClangGCC-1.1.3.eb | 2 ++ easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-GCC-4.7.3.eb | 2 ++ easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.0.1-GCC-4.8.4.eb | 1 - 12 files changed, 13 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb index a2fae1e4c8..0d8dbcbf47 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3-hwloc-chkpt.eb @@ -11,6 +11,9 @@ toolchain = {'name': 'GCC', 'version': '4.6.3'} sources = [SOURCELOWER_TGZ] # note: this URL will only work for the most recent version (previous versions no longer available?) source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] + +checksums = ['b05c3cde3d181b2499500b4bd8962e3f'] + dependencies = [ ('hwloc', '1.5.1'), ('attr', '2.4.47'), diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb index 76de06e6fd..8f93aad7e1 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.7-GCC-4.6.3.eb @@ -11,6 +11,8 @@ sources = [SOURCELOWER_TGZ] # note: this URL will only work for the most recent version (previous versions no longer available?) source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2'] +checksums = ['b05c3cde3d181b2499500b4bd8962e3f'] + builddependencies = [('Bison', '2.5')] # enable building of MPE routines diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb index dbf130a107..f289c8d654 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.8.1-GCC-4.7.2.eb @@ -9,7 +9,6 @@ toolchain = {'name': 'GCC', 'version': '4.7.2'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] -# Let's store the checksum in order to be sure it doesn't suddenly change checksums = ['ef4ae05e3b5ad485326505db7381246c'] builddependencies = [('Bison', '2.7')] diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb index f8ed601fa4..09e0392913 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.1.3.eb @@ -9,7 +9,6 @@ toolchain = {'name': 'ClangGCC', 'version': '1.1.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] -# Let's store the checksum in order to be sure it doesn't suddenly change checksums = ['5dc58ed08fd3142c260b70fe297e127c'] dependencies = [('Bison', '2.7')] diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb index ec3097f101..8c81cfba65 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-ClangGCC-1.2.3.eb @@ -9,7 +9,6 @@ toolchain = {'name': 'ClangGCC', 'version': '1.2.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] -# Let's store the checksum in order to be sure it doesn't suddenly change checksums = ['5dc58ed08fd3142c260b70fe297e127c'] dependencies = [('Bison', '2.7')] diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb index fc82223d21..87eee23607 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-GCC-4.7.3.eb @@ -9,7 +9,6 @@ toolchain = {'name': 'GCC', 'version': '4.7.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] -# Let's store the checksum in order to be sure it doesn't suddenly change checksums = ['5dc58ed08fd3142c260b70fe297e127c'] builddependencies = [('Bison', '2.7')] diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb index 2ff528acce..5bcb7de6da 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb @@ -10,7 +10,6 @@ toolchainopts = {'optarch': True, 'pic': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] -# Let's store the checksum in order to be sure it doesn't suddenly change checksums = ['5dc58ed08fd3142c260b70fe297e127c'] builddependencies = [('Bison', '2.7')] diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9a2-GCC-4.7.2.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9a2-GCC-4.7.2.eb index 86fdc73adc..372dd0b722 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9a2-GCC-4.7.2.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9a2-GCC-4.7.2.eb @@ -9,6 +9,8 @@ toolchain = {'name': 'GCC', 'version': '4.7.2'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +checksums = ['9d517d6fe483ad339ea01fa234f0c4c9'] + builddependencies = [('Bison', '2.7')] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9b-GCC-4.7.2.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9b-GCC-4.7.2.eb index 1c45f04807..657cf1ea16 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9b-GCC-4.7.2.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9b-GCC-4.7.2.eb @@ -9,6 +9,8 @@ toolchain = {'name': 'GCC', 'version': '4.7.2'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +checksums = ['dfc86a014666776c8a76bb8e78356c8b'] + builddependencies = [('Bison', '2.7')] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-ClangGCC-1.1.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-ClangGCC-1.1.3.eb index 892dac4687..efbb18826b 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-ClangGCC-1.1.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-ClangGCC-1.1.3.eb @@ -9,6 +9,8 @@ toolchain = {'name': 'ClangGCC', 'version': '1.1.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +checksums = ['0a236f526e368e12a1b3de90716a12d7'] + builddependencies = [('Bison', '2.7')] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-GCC-4.7.3.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-GCC-4.7.3.eb index 9e7d8d7641..46ea0c6676 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-GCC-4.7.3.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9rc1-GCC-4.7.3.eb @@ -9,6 +9,8 @@ toolchain = {'name': 'GCC', 'version': '4.7.3'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich2/'] sources = [SOURCELOWER_TGZ] +checksums = ['0a236f526e368e12a1b3de90716a12d7'] + builddependencies = [('Bison', '2.7')] moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.0.1-GCC-4.8.4.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.0.1-GCC-4.8.4.eb index bf2762a1a1..b07b0a30f4 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.0.1-GCC-4.8.4.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-2.0.1-GCC-4.8.4.eb @@ -9,7 +9,6 @@ toolchain = {'name': 'GCC', 'version': '4.8.4'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/'] sources = [SOURCELOWER_TAR_GZ] -# Let's store the checksum in order to be sure it doesn't suddenly change checksums = ['77bba29442f81e196155e87869cdceda'] builddependencies = [('Bison', '2.7')] -- GitLab From 5def8be0d16d4175188ecd8eb939b2ba7bb14829 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 20:01:23 +0200 Subject: [PATCH 0562/1089] add easyconfig SAMtools-1.3-foss-2016a.eb, add easyconfig SAMtools-1.3-intel-2016a.eb --- .../s/SAMtools/SAMtools-1.3-foss-2016a.eb | 31 +++++++++++++++++++ .../s/SAMtools/SAMtools-1.3-intel-2016a.eb | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-foss-2016a.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-foss-2016a.eb new file mode 100644 index 0000000000..96d3b95f0f --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-foss-2016a.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Robert Schmidt , Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +## +name = 'SAMtools' +version = '1.3' + +homepage = 'http://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] + +# Patch Makefile to link against zlib provided by EB +patches = ['SAMtools-1.3_Makefile.patch'] + +dependencies = [ + ('ncurses', '6.0'), + ('zlib', '1.2.8'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-intel-2016a.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-intel-2016a.eb new file mode 100644 index 0000000000..d869d21007 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3-intel-2016a.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Robert Schmidt , Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +## +name = 'SAMtools' +version = '1.3' + +homepage = 'http://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] + +# Patch Makefile to link against zlib provided by EB +patches = ['SAMtools-1.3_Makefile.patch'] + +dependencies = [ + ('ncurses', '6.0'), + ('zlib', '1.2.8'), +] + +moduleclass = 'bio' -- GitLab From 2067db8a1de479e20c7faee94ee6e93ec9704021 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 20:02:26 +0200 Subject: [PATCH 0563/1089] add easyconfig VCFtools-0.1.14-foss-2016a-Perl-5.22.1.eb, add easyconfig VCFtools-0.1.14-intel-2016a-Perl-5.22.1.eb --- .../VCFtools-0.1.14-foss-2016a-Perl-5.22.1.eb | 37 +++++++++++++++++++ ...VCFtools-0.1.14-intel-2016a-Perl-5.22.1.eb | 37 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2016a-Perl-5.22.1.eb create mode 100644 easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-intel-2016a-Perl-5.22.1.eb diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2016a-Perl-5.22.1.eb new file mode 100644 index 0000000000..c7db740277 --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-foss-2016a-Perl-5.22.1.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'VCFtools' +version = '0.1.14' +versionsuffix = '-Perl-%(perlver)s' + +homepage = "https://vcftools.github.io" +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] + +dependencies = [ + ('Perl', '5.22.1'), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['vcftools', 'vcf-sort', 'vcf-stats']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-intel-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-intel-2016a-Perl-5.22.1.eb new file mode 100644 index 0000000000..9f1d001bfa --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.14-intel-2016a-Perl-5.22.1.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'VCFtools' +version = '0.1.14' +versionsuffix = '-Perl-%(perlver)s' + +homepage = "https://vcftools.github.io" +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] + +dependencies = [ + ('Perl', '5.22.1'), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['vcftools', 'vcf-sort', 'vcf-stats']], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 84ad66c690b657863777d5b1f16621ffc995a0d7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 19:05:58 +0100 Subject: [PATCH 0564/1089] fix source URLs for Bioconductor 3.2 --- .../R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 6 +++--- .../R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb index d5dcde11e2..d1392d23cc 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -28,9 +28,9 @@ ext_options = { } bioconductor_options = { 'source_urls': [ - 'http://www.bioconductor.org/packages/%(version)s/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/%(version)s/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/%(version)s/data/experiment/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/data/experiment/src/contrib/', ], 'source_tmpl': name_tmpl, } diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb index dce3357e77..60d39797ec 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb @@ -27,9 +27,9 @@ ext_options = { } bioconductor_options = { 'source_urls': [ - 'http://www.bioconductor.org/packages/%(version)s/bioc/src/contrib/', - 'http://www.bioconductor.org/packages/%(version)s/data/annotation/src/contrib/', - 'http://www.bioconductor.org/packages/%(version)s/data/experiment/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/bioc/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/data/annotation/src/contrib/', + 'http://www.bioconductor.org/packages/3.2/data/experiment/src/contrib/', ], 'source_tmpl': name_tmpl, } -- GitLab From 4606a7f6ce37e1ca5222629d13d1842c4ede1411 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 11 Mar 2016 23:00:30 +0100 Subject: [PATCH 0565/1089] drop patch for XML-Bare that's specific to icc --- easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb index 652f0d5227..2ecf3ea45f 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb @@ -419,7 +419,6 @@ exts_list = [ ('XML::Bare', '0.53', { 'source_tmpl': 'XML-Bare-0.53.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], - 'patches': ['XML-Bare-0.53_icc.patch'], }), ('Dist::CheckConflicts', '0.11', { 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', -- GitLab From 1de3ad9229b8db13719eb839de0939eca5ac260d Mon Sep 17 00:00:00 2001 From: perettig Date: Sat, 12 Mar 2016 12:29:15 +0100 Subject: [PATCH 0566/1089] dropping -XC suffix for Cray toolchains --- .../b/Bison/Bison-3.0.2-CrayGNU-2015.06.eb | 22 ++++ .../b/Bison/Bison-3.0.2-CrayGNU-2015.11.eb | 22 ++++ .../b/bzip2/bzip2-1.0.6-CrayGNU-2015.06.eb | 15 +++ .../b/bzip2/bzip2-1.0.6-CrayGNU-2015.11.eb | 15 +++ .../c/CMake/CMake-3.2.2-CrayGNU-2015.06.eb | 22 ++++ .../c/CMake/CMake-3.2.2-CrayGNU-2015.11.eb | 22 ++++ .../c/CMake/CMake-3.2.2-CrayIntel-2015.11.eb | 22 ++++ .../c/CP2K/CP2K-2.6.0-CrayGNU-2015.06.eb | 38 ++++++ .../c/CP2K/CP2K-2.6.0-CrayGNU-2015.11.eb | 38 ++++++ .../CP2K/CP2K-3.0-CrayGNU-2015.11-cuda-7.0.eb | 48 ++++++++ .../c/CP2K/CP2K-3.0-CrayGNU-2015.11.eb | 45 +++++++ ...ayCCE-2015.06-XC.eb => CrayCCE-2015.06.eb} | 2 +- ...ayCCE-2015.11-XC.eb => CrayCCE-2015.11.eb} | 2 +- ...ayGNU-2015.06-XC.eb => CrayGNU-2015.06.eb} | 2 +- ...ayGNU-2015.11-XC.eb => CrayGNU-2015.11.eb} | 2 +- ...tel-2015.06-XC.eb => CrayIntel-2015.06.eb} | 2 +- ...tel-2015.11-XC.eb => CrayIntel-2015.11.eb} | 2 +- .../f/flex/flex-2.5.39-CrayGNU-2015.06.eb | 14 +++ .../f/flex/flex-2.5.39-CrayGNU-2015.11.eb | 14 +++ .../GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb | 45 +++++++ .../GROMACS-4.6.7-CrayGNU-2015.11-mpi.eb | 45 +++++++ .../GROMACS-4.6.7-CrayIntel-2015.11-mpi.eb | 45 +++++++ .../h/HPL/HPL-2.1-CrayCCE-2015.06.eb | 22 ++++ .../h/HPL/HPL-2.1-CrayCCE-2015.11.eb | 22 ++++ .../h/HPL/HPL-2.1-CrayGNU-2015.06.eb | 18 +++ .../h/HPL/HPL-2.1-CrayGNU-2015.11.eb | 18 +++ .../h/HPL/HPL-2.1-CrayIntel-2015.06.eb | 18 +++ .../h/HPL/HPL-2.1-CrayIntel-2015.11.eb | 18 +++ .../JasPer/JasPer-1.900.1-CrayGNU-2015.06.eb | 21 ++++ .../JasPer/JasPer-1.900.1-CrayGNU-2015.11.eb | 21 ++++ .../JasPer-1.900.1-CrayIntel-2015.11.eb | 21 ++++ .../l/Libint/Libint-1.1.4-CrayGNU-2015.06.eb | 24 ++++ .../l/Libint/Libint-1.1.4-CrayGNU-2015.11.eb | 24 ++++ .../libreadline-6.3-CrayGNU-2015.06.eb | 30 +++++ .../libreadline-6.3-CrayGNU-2015.11.eb | 30 +++++ .../l/libxc/libxc-2.2.1-CrayGNU-2015.06.eb | 32 +++++ .../l/libxc/libxc-2.2.1-CrayGNU-2015.11.eb | 32 +++++ .../l/libxc/libxc-2.2.2-CrayGNU-2015.11.eb | 33 +++++ .../m/M4/M4-1.4.17-CrayGNU-2015.06.eb | 23 ++++ .../m/M4/M4-1.4.17-CrayGNU-2015.11.eb | 23 ++++ .../n/NFFT/NFFT-3.3.0-CrayGNU-2015.06.eb | 25 ++++ .../n/NFFT/NFFT-3.3.0-CrayGNU-2015.11.eb | 25 ++++ .../n/ncurses/ncurses-5.9-CrayGNU-2015.06.eb | 34 ++++++ .../n/ncurses/ncurses-5.9-CrayGNU-2015.11.eb | 34 ++++++ .../ncurses/ncurses-5.9-CrayIntel-2015.11.eb | 34 ++++++ ...umpy-1.9.2-CrayGNU-2015.06-Python-2.7.9.eb | 26 ++++ ...umpy-1.9.2-CrayGNU-2015.11-Python-2.7.9.eb | 26 ++++ .../Python-2.7.9-CrayGNU-2015.06-bare.eb | 39 ++++++ .../p/Python/Python-2.7.9-CrayGNU-2015.06.eb | 115 ++++++++++++++++++ .../Python-2.7.9-CrayGNU-2015.11-bare.eb | 39 ++++++ .../p/Python/Python-2.7.9-CrayGNU-2015.11.eb | 115 ++++++++++++++++++ .../s/Szip/Szip-2.1-CrayGNU-2015.06.eb | 23 ++++ .../s/Szip/Szip-2.1-CrayGNU-2015.11.eb | 23 ++++ ...ipy-0.15.1-CrayGNU-2015.06-Python-2.7.9.eb | 19 +++ ...ipy-0.15.1-CrayGNU-2015.11-Python-2.7.9.eb | 19 +++ .../s/spglib/spglib-1.7.3-CrayGNU-2015.06.eb | 21 ++++ .../s/spglib/spglib-1.7.3-CrayGNU-2015.11.eb | 21 ++++ .../t/tcsh/tcsh-6.18.01-CrayGNU-2015.06.eb | 38 ++++++ .../t/tcsh/tcsh-6.18.01-CrayGNU-2015.11.eb | 38 ++++++ .../t/tcsh/tcsh-6.18.01-CrayIntel-2015.11.eb | 38 ++++++ .../w/WRF/WRF-3.6.1-CrayGNU-2015.06-dmpar.eb | 41 +++++++ .../w/WRF/WRF-3.6.1-CrayGNU-2015.11-dmpar.eb | 41 +++++++ .../WRF/WRF-3.6.1-CrayIntel-2015.11-dmpar.eb | 41 +++++++ .../z/zlib/zlib-1.2.8-CrayGNU-2015.06.eb | 22 ++++ .../z/zlib/zlib-1.2.8-CrayGNU-2015.11.eb | 22 ++++ 65 files changed, 1827 insertions(+), 6 deletions(-) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11.eb create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-cuda-7.0.eb create mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11.eb rename easybuild/easyconfigs/c/CrayCCE/{CrayCCE-2015.06-XC.eb => CrayCCE-2015.06.eb} (96%) rename easybuild/easyconfigs/c/CrayCCE/{CrayCCE-2015.11-XC.eb => CrayCCE-2015.11.eb} (96%) rename easybuild/easyconfigs/c/CrayGNU/{CrayGNU-2015.06-XC.eb => CrayGNU-2015.06.eb} (96%) rename easybuild/easyconfigs/c/CrayGNU/{CrayGNU-2015.11-XC.eb => CrayGNU-2015.11.eb} (96%) rename easybuild/easyconfigs/c/CrayIntel/{CrayIntel-2015.06-XC.eb => CrayIntel-2015.06.eb} (96%) rename easybuild/easyconfigs/c/CrayIntel/{CrayIntel-2015.11-XC.eb => CrayIntel-2015.11.eb} (96%) create mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-mpi.eb create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-mpi.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11.eb create mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11.eb create mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11.eb create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-bare.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-bare.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11.eb create mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11.eb create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-dmpar.eb create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-dmpar.eb create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-dmpar.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..1e373e5c59 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.2' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..fbde1c1bed --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.2' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..afe1e361bf --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06.eb @@ -0,0 +1,15 @@ +name = 'bzip2' +version = '1.0.6' + +homepage = 'http://www.bzip.org/' +description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically + compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical + compressors), whilst being around twice as fast at compression and six times faster at decompression.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.bzip.org/%(version)s'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..4907113147 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11.eb @@ -0,0 +1,15 @@ +name = 'bzip2' +version = '1.0.6' + +homepage = 'http://www.bzip.org/' +description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically + compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical + compressors), whilst being around twice as fast at compression and six times faster at decompression.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.bzip.org/%(version)s'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..3de7ff42c3 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.2.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..1f3739c57e --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.2.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11.eb new file mode 100644 index 0000000000..7c87dffeab --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.2.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..428626aef1 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06.eb @@ -0,0 +1,38 @@ +name = 'CP2K' +version = '2.6.0' + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.1'), +] + +builddependencies = [ + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test reports failures +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..1b2b44d855 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11.eb @@ -0,0 +1,38 @@ +name = 'CP2K' +version = '2.6.0' + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.1'), +] + +builddependencies = [ + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test reports failures +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-cuda-7.0.eb b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-cuda-7.0.eb new file mode 100644 index 0000000000..d34361f252 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-cuda-7.0.eb @@ -0,0 +1,48 @@ +# contributed by Luca Marsella (CSCS) +name = 'CP2K' +version = "3.0" +cudaversion = '7.0' +versionsuffix = '-cuda-%s' % cudaversion + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.2'), +] + +builddependencies = [ + ('cudatoolkit/7.0.28-1.0502.10742.5.1', EXTERNAL_MODULE), + ('fftw/3.3.4.3', EXTERNAL_MODULE), + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test +runtest = False +# regression test reports failures +#ignore_regtest_fails = True + +# build type +type = 'psmp' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11.eb b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..e7bf9550c7 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11.eb @@ -0,0 +1,45 @@ +# contributed by Luca Marsella (CSCS) +name = 'CP2K' +version = "3.0" + +homepage = 'http://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [SOURCEFORGE_SOURCE] + +patches = [ + 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] + +dependencies = [ + ('Libint', '1.1.4'), + ('libxc', '2.2.2'), +] + +builddependencies = [ + ('fftw/3.3.4.3', EXTERNAL_MODULE), + ('flex', '2.5.39'), + ('Bison', '3.0.2'), +] + +# don't use parallel make, results in compilation failure +# because Fortran module files aren't created before they are needed +parallel = 1 + +# regression test +runtest = False +# regression test reports failures +#ignore_regtest_fails = True + +# build type +type = 'psmp' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06.eb similarity index 96% rename from easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb rename to easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06.eb index bf91772267..da34dc3b82 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.06.eb @@ -1,7 +1,7 @@ easyblock = 'CrayToolchain' name = 'CrayCCE' -version = '2015.06-XC' +version = '2015.06' homepage = 'http://docs.cray.com/books/S-9407-1511' description = """Toolchain using Cray compiler wrapper, using PrgEnv-cray module (PE release: November 2015).\n""" diff --git a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11.eb similarity index 96% rename from easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb rename to easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11.eb index dbf091ccf3..f6426373dd 100644 --- a/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayCCE/CrayCCE-2015.11.eb @@ -1,7 +1,7 @@ easyblock = 'CrayToolchain' name = 'CrayCCE' -version = '2015.11-XC' +version = '2015.11' homepage = 'http://docs.cray.com/books/S-9407-1511' description = """Toolchain using Cray compiler wrapper, using PrgEnv-cray module (PE release: November 2015).\n""" diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06.eb similarity index 96% rename from easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb rename to easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06.eb index 0612076d5a..af4314daa9 100644 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.06.eb @@ -1,7 +1,7 @@ easyblock = 'CrayToolchain' name = 'CrayGNU' -version = '2015.06-XC' +version = '2015.06' homepage = 'http://docs.cray.com/books/S-9407-1506' description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: June 2015).\n""" diff --git a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11.eb similarity index 96% rename from easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb rename to easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11.eb index 370978db76..fdcd8836c8 100644 --- a/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayGNU/CrayGNU-2015.11.eb @@ -1,7 +1,7 @@ easyblock = 'CrayToolchain' name = 'CrayGNU' -version = '2015.11-XC' +version = '2015.11' homepage = 'http://docs.cray.com/books/S-9407-1511' description = """Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: November 2015).\n""" diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06.eb similarity index 96% rename from easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb rename to easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06.eb index c80854490a..5d9b4c1609 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.06.eb @@ -1,7 +1,7 @@ easyblock = 'CrayToolchain' name = 'CrayIntel' -version = '2015.06-XC' +version = '2015.06' homepage = 'http://docs.cray.com/books/S-9407-1511' description = """Toolchain using Cray compiler wrapper, using PrgEnv-intel module (PE release: November 2015).\n""" diff --git a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11.eb similarity index 96% rename from easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb rename to easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11.eb index cc105734db..8632b007b7 100644 --- a/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11-XC.eb +++ b/easybuild/easyconfigs/c/CrayIntel/CrayIntel-2015.11.eb @@ -1,7 +1,7 @@ easyblock = 'CrayToolchain' name = 'CrayIntel' -version = '2015.11-XC' +version = '2015.11' homepage = 'http://docs.cray.com/books/S-9407-1511' description = """Toolchain using Cray compiler wrapper, using PrgEnv-intel module (PE release: November 2015).\n""" diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..24e3dfb5dc --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06.eb @@ -0,0 +1,14 @@ +name = 'flex' +version = '2.5.39' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..8c57faa309 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11.eb @@ -0,0 +1,14 @@ +name = 'flex' +version = '2.5.39' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb new file mode 100644 index 0000000000..7fae7e2b3f --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +## +name = 'GROMACS' +version = '4.6.7' +versionsuffix = '-mpi' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'usempi': True} + +# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz +source_urls = [ + 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources + 'http://gerrit.gromacs.org/download/', # regression tests sources +] +sources = [ + SOURCELOWER_TAR_GZ, + 'regressiontests-%(version)s.tar.gz', +] + +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW}/lib && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/include && " + +dependencies = [ + ('fftw/3.3.4.3', EXTERNAL_MODULE), +] + +builddependencies = [('CMake', '3.2.2')] + +runtest = False + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-mpi.eb new file mode 100644 index 0000000000..83b2732fb5 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-mpi.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +## +name = 'GROMACS' +version = '4.6.7' +versionsuffix = '-mpi' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'usempi': True} + +# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz +source_urls = [ + 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources + 'http://gerrit.gromacs.org/download/', # regression tests sources +] +sources = [ + SOURCELOWER_TAR_GZ, + 'regressiontests-%(version)s.tar.gz', +] + +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:$EBROOTFFTW/lib && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$EBROOTFFTW/include && " + +dependencies = [ + ('fftw/3.3.4.5', EXTERNAL_MODULE), +] + +builddependencies = [('CMake', '3.2.2')] + +runtest = False + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-mpi.eb new file mode 100644 index 0000000000..350a3d6cfa --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-mpi.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +## +name = 'GROMACS' +version = '4.6.7' +versionsuffix = '-mpi' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11'} +toolchainopts = {'usempi': True} + +# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz +source_urls = [ + 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources + 'http://gerrit.gromacs.org/download/', # regression tests sources +] +sources = [ + SOURCELOWER_TAR_GZ, + 'regressiontests-%(version)s.tar.gz', +] + +preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:$EBROOTFFTW/lib && " +preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$EBROOTFFTW/include && " + +dependencies = [ + ('fftw/3.3.4.5', EXTERNAL_MODULE), +] + +builddependencies = [('CMake', '3.2.2')] + +runtest = False + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06.eb new file mode 100644 index 0000000000..934cc8d3eb --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06.eb @@ -0,0 +1,22 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'CrayCCE', 'version': '2015.06'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +patches = [ + # fix Make dependencies, so parallel build also works + 'HPL_parallel-make.patch', + 'HPL-2.1_LINKER-ld.patch', +] + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11.eb new file mode 100644 index 0000000000..7a8e5a0800 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11.eb @@ -0,0 +1,22 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'CrayCCE', 'version': '2015.11'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +patches = [ + # fix Make dependencies, so parallel build also works + 'HPL_parallel-make.patch', + 'HPL-2.1_LINKER-ld.patch', +] + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..4f4dbfc813 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06.eb @@ -0,0 +1,18 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'optarch': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..455f495e6e --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11.eb @@ -0,0 +1,18 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'optarch': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06.eb new file mode 100644 index 0000000000..00ee4facc9 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06.eb @@ -0,0 +1,18 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.06'} +toolchainopts = {'optarch': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11.eb new file mode 100644 index 0000000000..651ae824ba --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11.eb @@ -0,0 +1,18 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11'} +toolchainopts = {'optarch': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..274dc46093 --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'JasPer' +version = '1.900.1' + +homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' +description = """The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_ZIP] +source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] + +sanity_check_paths = { + 'files': ["bin/jasper", "lib/libjasper.a"], + 'dirs': ["include"], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..1a379efce9 --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'JasPer' +version = '1.900.1' + +homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' +description = """The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_ZIP] +source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] + +sanity_check_paths = { + 'files': ["bin/jasper", "lib/libjasper.a"], + 'dirs': ["include"], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11.eb new file mode 100644 index 0000000000..3cd71b46bf --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'JasPer' +version = '1.900.1' + +homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' +description = """The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_ZIP] +source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] + +sanity_check_paths = { + 'files': ["bin/jasper", "lib/libjasper.a"], + 'dirs': ["include"], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..173c7dbd1e --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06.eb @@ -0,0 +1,24 @@ +name = 'Libint' +version = '1.1.4' + +homepage = 'https://sourceforge.net/p/libint/' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'opt': True, 'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') + +configopts = "--enable-deriv --enable-r12" + +sanity_check_paths = { + 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + + ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + + ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + + ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], + 'dirs':[], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..ef47d32bbf --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11.eb @@ -0,0 +1,24 @@ +name = 'Libint' +version = '1.1.4' + +homepage = 'https://sourceforge.net/p/libint/' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'opt': True, 'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') + +configopts = "--enable-deriv --enable-r12" + +sanity_check_paths = { + 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + + ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + + ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + + ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], + 'dirs':[], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..883868add2 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs' : [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..d828f262a5 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs' : [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..d9d2ff8c6b --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '2.2.1' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'opt': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] + +configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' + +# From the libxc mailing list +# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect +# a fully working testsuite soon (unless someone wants to volunteer to do +# it, of course ) In the meantime, unless the majority of the tests +# fail, your build should be fine. +#runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc.a'], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..254367cee7 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '2.2.1' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'opt': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] + +configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' + +# From the libxc mailing list +# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect +# a fully working testsuite soon (unless someone wants to volunteer to do +# it, of course ) In the meantime, unless the majority of the tests +# fail, your build should be fine. +#runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc.a'], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..ae74d150b0 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11.eb @@ -0,0 +1,33 @@ +# contributed by Luca Marsella (CSCS) +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '2.2.2' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'opt': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] + +configopts = 'FC="$F77" FCFLAGS="$FFLAGS" --enable-shared' + +# From the libxc mailing list +# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect +# a fully working testsuite soon (unless someone wants to volunteer to do +# it, of course ) In the meantime, unless the majority of the tests +# fail, your build should be fine. +#runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc.a', 'lib/libxc.so'], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..31c851b3d9 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.17' + +homepage = 'http://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = "--enable-cxx" + +sanity_check_paths = { + 'files': ["bin/m4"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..3010711346 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.17' + +homepage = 'http://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = "--enable-cxx" + +sanity_check_paths = { + 'files': ["bin/m4"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..a33090c4b6 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.3.0' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' +description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine + library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more + dimensions, of arbitrary input size, and of complex data.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} + +source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('fftw/3.3.4.3', EXTERNAL_MODULE), +] + +sanity_check_paths = { + 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..c9ebfcb9f5 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.3.0' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' +description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine + library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more + dimensions, of arbitrary input size, and of complex data.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} + +source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('fftw/3.3.4.5', EXTERNAL_MODULE), +] + +sanity_check_paths = { + 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..16fc4ff0ea --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..cb88b8202d --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11.eb new file mode 100644 index 0000000000..c1260d9ce2 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-Python-2.7.9.eb new file mode 100644 index 0000000000..aa3c00b163 --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-Python-2.7.9.eb @@ -0,0 +1,26 @@ +name = 'numpy' +version = '1.9.2' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['numpy-1.8.0-mkl.patch'] + +python = 'Python' +pyver = '2.7.9' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-Python-2.7.9.eb new file mode 100644 index 0000000000..5c8368180f --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-Python-2.7.9.eb @@ -0,0 +1,26 @@ +name = 'numpy' +version = '1.9.2' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['numpy-1.8.0-mkl.patch'] + +python = 'Python' +pyver = '2.7.9' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-bare.eb new file mode 100644 index 0000000000..92748077e8 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-bare.eb @@ -0,0 +1,39 @@ +name = 'Python' +version = '2.7.9' +versionsuffix = '-bare' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True, 'opt': True} + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +# bare installation: no extensions included +exts_list = [] + +buildopts = 'LINKCC="$CC -dynamic"' + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..21613bcfb7 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06.eb @@ -0,0 +1,115 @@ +name = 'Python' +version = '2.7.9' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.9.1' +scipyversion = '0.14.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +buildopts = 'LINKCC="$CC -dynamic"' + +# order is important! +# package versions updated Jan 19th 2015 +exts_list = [ + ('setuptools', '11.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '6.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-1.8.0-mkl.patch', # % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('lockfile', '0.10.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.21.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.0', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.0.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.11', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.15.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.13', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), +] + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-bare.eb new file mode 100644 index 0000000000..f7679002a1 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-bare.eb @@ -0,0 +1,39 @@ +name = 'Python' +version = '2.7.9' +versionsuffix = '-bare' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True, 'opt': True} + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +# bare installation: no extensions included +exts_list = [] + +buildopts = 'LINKCC="$CC -dynamic"' + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..9958308892 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11.eb @@ -0,0 +1,115 @@ +name = 'Python' +version = '2.7.9' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.9.1' +scipyversion = '0.14.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] + +buildopts = 'LINKCC="$CC -dynamic"' + +# order is important! +# package versions updated Jan 19th 2015 +exts_list = [ + ('setuptools', '11.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '6.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-1.8.0-mkl.patch', # % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('lockfile', '0.10.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.21.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.0', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.0.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.11', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.15.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.13', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), +] + +sanity_check_commands = [ + ('python', '--version'), + ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works + ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another + ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) + ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..de900f73b2 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True, } + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..58f5db7a33 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True, } + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-Python-2.7.9.eb new file mode 100644 index 0000000000..bec11c9016 --- /dev/null +++ b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-Python-2.7.9.eb @@ -0,0 +1,19 @@ +name = 'scipy' +version = '0.15.1' +versionsuffix = '-Python-2.7.9' + +homepage = 'http://www.scipy.org' +description = """SciPy is a collection of mathematical algorithms and convenience + functions built on the Numpy extension for Python.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True} + +source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('numpy', '1.9.2', versionsuffix), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-Python-2.7.9.eb new file mode 100644 index 0000000000..35ad3eac24 --- /dev/null +++ b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-Python-2.7.9.eb @@ -0,0 +1,19 @@ +name = 'scipy' +version = '0.15.1' +versionsuffix = '-Python-2.7.9' + +homepage = 'http://www.scipy.org' +description = """SciPy is a collection of mathematical algorithms and convenience + functions built on the Numpy extension for Python.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True} + +source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('numpy', '1.9.2', versionsuffix), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..7601dde601 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'spglib' +version = '1.7.3' + +homepage = 'http://spglib.sourceforge.net/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +start_dir = '%(name)s-%(version)s' + +sanity_check_paths = { + 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], + 'dirs': ['include/spglib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..0395e331ec --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'spglib' +version = '1.7.3' + +homepage = 'http://spglib.sourceforge.net/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +start_dir = '%(name)s-%(version)s' + +sanity_check_paths = { + 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], + 'dirs': ['include/spglib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..bf01430fff --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.18.01' + +homepage = 'http://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/tcsh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..57a30b1d87 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.18.01' + +homepage = 'http://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/tcsh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11.eb new file mode 100644 index 0000000000..558feb7579 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.18.01' + +homepage = 'http://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] + +dependencies = [('ncurses', '5.9')] + +sanity_check_paths = { + 'files': ["bin/tcsh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-dmpar.eb new file mode 100644 index 0000000000..c88ec72408 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-dmpar.eb @@ -0,0 +1,41 @@ +name = 'WRF' +version = '3.6.1' + +homepage = 'http://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +sources = ['%(name)sV%(version)s.TAR.gz'] +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] + +# csh is used by WRF install scripts +builddependencies = [('tcsh', '6.18.01')] + +dependencies = [ + ('JasPer', '1.900.1'), + ('cray-netcdf/4.3.2', EXTERNAL_MODULE), + ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), +] + +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF-3.6.1_known_problems.patch', + 'WRF_tests_limit-runtimes.patch', +] + +# limit parallel build to 20 +maxparallel = 20 + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +runtest = False + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-dmpar.eb new file mode 100644 index 0000000000..ab4cacf6da --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-dmpar.eb @@ -0,0 +1,41 @@ +name = 'WRF' +version = '3.6.1' + +homepage = 'http://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +sources = ['%(name)sV%(version)s.TAR.gz'] +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] + +# csh is used by WRF install scripts +builddependencies = [('tcsh', '6.18.01')] + +dependencies = [ + ('JasPer', '1.900.1'), + ('cray-netcdf/4.3.2', EXTERNAL_MODULE), + ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), +] + +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF-3.6.1_known_problems.patch', + 'WRF_tests_limit-runtimes.patch', +] + +# limit parallel build to 20 +maxparallel = 20 + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +runtest = False + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-dmpar.eb new file mode 100644 index 0000000000..ac5084ad2d --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-dmpar.eb @@ -0,0 +1,41 @@ +name = 'WRF' +version = '3.6.1' + +homepage = 'http://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'CrayIntel', 'version': '2015.11'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +sources = ['%(name)sV%(version)s.TAR.gz'] +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] + +# csh is used by WRF install scripts +builddependencies = [('tcsh', '6.18.01')] + +dependencies = [ + ('JasPer', '1.900.1'), + ('cray-netcdf/4.3.2', EXTERNAL_MODULE), + ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), +] + +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF-3.6.1_known_problems.patch', + 'WRF_tests_limit-runtimes.patch', +] + +# limit parallel build to 20 +maxparallel = 20 + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +runtest = False + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06.eb new file mode 100644 index 0000000000..9daa7bba81 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.8' + +homepage = 'http://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.06'} +toolchainopts = {'pic': True, } + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11.eb new file mode 100644 index 0000000000..ec75812a65 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.8' + +homepage = 'http://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'CrayGNU', 'version': '2015.11'} +toolchainopts = {'pic': True, } + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From bbb4bf36f5f8bcd852aade02c94232fdaa899bbf Mon Sep 17 00:00:00 2001 From: perettig Date: Sat, 12 Mar 2016 12:32:09 +0100 Subject: [PATCH 0567/1089] delete old -XC files --- .../b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb | 22 ---- .../b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb | 22 ---- .../b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb | 15 --- .../b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb | 15 --- .../c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb | 22 ---- .../c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb | 22 ---- .../CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb | 22 ---- .../c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb | 38 ------ .../c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb | 38 ------ .../CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb | 48 -------- .../c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb | 45 ------- .../f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb | 14 --- .../f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb | 14 --- .../GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb | 45 ------- .../GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb | 45 ------- .../GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb | 45 ------- .../h/HPL/HPL-2.1-CrayCCE-2015.06-XC.eb | 22 ---- .../h/HPL/HPL-2.1-CrayCCE-2015.11-XC.eb | 22 ---- .../h/HPL/HPL-2.1-CrayGNU-2015.06-XC.eb | 18 --- .../h/HPL/HPL-2.1-CrayGNU-2015.11-XC.eb | 18 --- .../h/HPL/HPL-2.1-CrayIntel-2015.06-XC.eb | 18 --- .../h/HPL/HPL-2.1-CrayIntel-2015.11-XC.eb | 18 --- .../JasPer-1.900.1-CrayGNU-2015.06-XC.eb | 21 ---- .../JasPer-1.900.1-CrayGNU-2015.11-XC.eb | 21 ---- .../JasPer-1.900.1-CrayIntel-2015.11-XC.eb | 21 ---- .../Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb | 24 ---- .../Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb | 24 ---- .../libreadline-6.3-CrayGNU-2015.06-XC.eb | 30 ----- .../libreadline-6.3-CrayGNU-2015.11-XC.eb | 30 ----- .../l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb | 32 ----- .../l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb | 32 ----- .../l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb | 33 ----- .../m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb | 23 ---- .../m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb | 23 ---- .../n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb | 25 ---- .../n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb | 25 ---- .../ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb | 34 ------ .../ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb | 34 ------ .../ncurses-5.9-CrayIntel-2015.11-XC.eb | 34 ------ ...y-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb | 26 ---- ...y-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb | 26 ---- .../Python-2.7.9-CrayGNU-2015.06-XC-bare.eb | 39 ------ .../Python/Python-2.7.9-CrayGNU-2015.06-XC.eb | 115 ------------------ .../Python-2.7.9-CrayGNU-2015.11-XC-bare.eb | 39 ------ .../Python/Python-2.7.9-CrayGNU-2015.11-XC.eb | 115 ------------------ .../s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb | 23 ---- .../s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb | 23 ---- ...-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb | 19 --- ...-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb | 19 --- .../spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb | 21 ---- .../spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb | 21 ---- .../t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb | 38 ------ .../t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb | 38 ------ .../tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb | 38 ------ .../WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb | 41 ------- .../WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb | 41 ------- .../WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb | 41 ------- .../z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb | 22 ---- .../z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb | 22 ---- 59 files changed, 1821 deletions(-) delete mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb delete mode 100644 easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb delete mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb delete mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb delete mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb delete mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb delete mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb delete mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb delete mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb delete mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb delete mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 77bb4a043c..0000000000 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Bison' -version = '3.0.2' - -homepage = 'http://www.gnu.org/software/bison' -description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar - into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [('M4', '1.4.17')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], - 'dirs': [], -} - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb deleted file mode 100644 index cfb18be138..0000000000 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.2-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Bison' -version = '3.0.2' - -homepage = 'http://www.gnu.org/software/bison' -description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar - into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [('M4', '1.4.17')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], - 'dirs': [], -} - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 5b74aeb4ae..0000000000 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,15 +0,0 @@ -name = 'bzip2' -version = '1.0.6' - -homepage = 'http://www.bzip.org/' -description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically - compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical - compressors), whilst being around twice as fast at compression and six times faster at decompression.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.bzip.org/%(version)s'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 5666a2e9f5..0000000000 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,15 +0,0 @@ -name = 'bzip2' -version = '1.0.6' - -homepage = 'http://www.bzip.org/' -description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically - compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical - compressors), whilst being around twice as fast at compression and six times faster at decompression.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.bzip.org/%(version)s'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb deleted file mode 100644 index d4b9c66352..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.2.2' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 1a73916b52..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.2.2' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb deleted file mode 100644 index 8fe0d6e4d8..0000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.2.2-CrayIntel-2015.11-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'CMake' -version = '3.2.2' - -homepage = 'http://www.cmake.org' -description = """CMake, the cross-platform, open-source build system. - CMake is a family of tools designed to build, test and package software.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} - -source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb deleted file mode 100644 index c1c02c3bcf..0000000000 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,38 +0,0 @@ -name = 'CP2K' -version = '2.6.0' - -homepage = 'http://www.cp2k.org/' -description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular - simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different - methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and - classical pair and many-body potentials. """ - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_BZ2] -source_urls = [SOURCEFORGE_SOURCE] - -patches = [ - 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', -] - -dependencies = [ - ('Libint', '1.1.4'), - ('libxc', '2.2.1'), -] - -builddependencies = [ - ('flex', '2.5.39'), - ('Bison', '3.0.2'), -] - -# don't use parallel make, results in compilation failure -# because Fortran module files aren't created before they are needed -parallel = 1 - -# regression test reports failures -ignore_regtest_fails = True - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 18250df781..0000000000 --- a/easybuild/easyconfigs/c/CP2K/CP2K-2.6.0-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,38 +0,0 @@ -name = 'CP2K' -version = '2.6.0' - -homepage = 'http://www.cp2k.org/' -description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular - simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different - methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and - classical pair and many-body potentials. """ - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_BZ2] -source_urls = [SOURCEFORGE_SOURCE] - -patches = [ - 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', -] - -dependencies = [ - ('Libint', '1.1.4'), - ('libxc', '2.2.1'), -] - -builddependencies = [ - ('flex', '2.5.39'), - ('Bison', '3.0.2'), -] - -# don't use parallel make, results in compilation failure -# because Fortran module files aren't created before they are needed -parallel = 1 - -# regression test reports failures -ignore_regtest_fails = True - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb deleted file mode 100644 index aeb506b2a1..0000000000 --- a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC-cuda-7.0.eb +++ /dev/null @@ -1,48 +0,0 @@ -# contributed by Luca Marsella (CSCS) -name = 'CP2K' -version = "3.0" -cudaversion = '7.0' -versionsuffix = '-cuda-%s' % cudaversion - -homepage = 'http://www.cp2k.org/' -description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular - simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different - methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and - classical pair and many-body potentials. """ - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_BZ2] -source_urls = [SOURCEFORGE_SOURCE] - -patches = [ - 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', -] - -dependencies = [ - ('Libint', '1.1.4'), - ('libxc', '2.2.2'), -] - -builddependencies = [ - ('cudatoolkit/7.0.28-1.0502.10742.5.1', EXTERNAL_MODULE), - ('fftw/3.3.4.3', EXTERNAL_MODULE), - ('flex', '2.5.39'), - ('Bison', '3.0.2'), -] - -# don't use parallel make, results in compilation failure -# because Fortran module files aren't created before they are needed -parallel = 1 - -# regression test -runtest = False -# regression test reports failures -#ignore_regtest_fails = True - -# build type -type = 'psmp' - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 55e00d968f..0000000000 --- a/easybuild/easyconfigs/c/CP2K/CP2K-3.0-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,45 +0,0 @@ -# contributed by Luca Marsella (CSCS) -name = 'CP2K' -version = "3.0" - -homepage = 'http://www.cp2k.org/' -description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular - simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different - methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and - classical pair and many-body potentials. """ - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_BZ2] -source_urls = [SOURCEFORGE_SOURCE] - -patches = [ - 'CP2K-2.6.0-ifort-compiler-bug-fix.patch', - 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', -] - -dependencies = [ - ('Libint', '1.1.4'), - ('libxc', '2.2.2'), -] - -builddependencies = [ - ('fftw/3.3.4.3', EXTERNAL_MODULE), - ('flex', '2.5.39'), - ('Bison', '3.0.2'), -] - -# don't use parallel make, results in compilation failure -# because Fortran module files aren't created before they are needed -parallel = 1 - -# regression test -runtest = False -# regression test reports failures -#ignore_regtest_fails = True - -# build type -type = 'psmp' - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb deleted file mode 100644 index d9b2e6f439..0000000000 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,14 +0,0 @@ -name = 'flex' -version = '2.5.39' - -homepage = 'http://flex.sourceforge.net/' -description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, - sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 7fbee438c5..0000000000 --- a/easybuild/easyconfigs/f/flex/flex-2.5.39-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,14 +0,0 @@ -name = 'flex' -version = '2.5.39' - -homepage = 'http://flex.sourceforge.net/' -description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, - sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb deleted file mode 100644 index eb693a5ca3..0000000000 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.06-XC-mpi.eb +++ /dev/null @@ -1,45 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University -# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ -# George Tsouloupas , Kenneth Hoste -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html -## -name = 'GROMACS' -version = '4.6.7' -versionsuffix = '-mpi' - -homepage = 'http://www.gromacs.org' -description = """GROMACS is a versatile package to perform molecular dynamics, - i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'usempi': True} - -# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz -source_urls = [ - 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources - 'http://gerrit.gromacs.org/download/', # regression tests sources -] -sources = [ - SOURCELOWER_TAR_GZ, - 'regressiontests-%(version)s.tar.gz', -] - -preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:${EBROOTFFTW}/lib && " -preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:${EBROOTFFTW}/include && " - -dependencies = [ - ('fftw/3.3.4.3', EXTERNAL_MODULE), -] - -builddependencies = [('CMake', '3.2.2')] - -runtest = False - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb deleted file mode 100644 index 7d022ac778..0000000000 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayGNU-2015.11-XC-mpi.eb +++ /dev/null @@ -1,45 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University -# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ -# George Tsouloupas , Kenneth Hoste -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html -## -name = 'GROMACS' -version = '4.6.7' -versionsuffix = '-mpi' - -homepage = 'http://www.gromacs.org' -description = """GROMACS is a versatile package to perform molecular dynamics, - i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'usempi': True} - -# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz -source_urls = [ - 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources - 'http://gerrit.gromacs.org/download/', # regression tests sources -] -sources = [ - SOURCELOWER_TAR_GZ, - 'regressiontests-%(version)s.tar.gz', -] - -preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:$EBROOTFFTW/lib && " -preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$EBROOTFFTW/include && " - -dependencies = [ - ('fftw/3.3.4.5', EXTERNAL_MODULE), -] - -builddependencies = [('CMake', '3.2.2')] - -runtest = False - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb deleted file mode 100644 index 492e226263..0000000000 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-4.6.7-CrayIntel-2015.11-XC-mpi.eb +++ /dev/null @@ -1,45 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University -# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ -# George Tsouloupas , Kenneth Hoste -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html -## -name = 'GROMACS' -version = '4.6.7' -versionsuffix = '-mpi' - -homepage = 'http://www.gromacs.org' -description = """GROMACS is a versatile package to perform molecular dynamics, - i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} -toolchainopts = {'usempi': True} - -# eg. ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.6.tar.gz -source_urls = [ - 'ftp://ftp.gromacs.org/pub/gromacs/', # GROMACS sources - 'http://gerrit.gromacs.org/download/', # regression tests sources -] -sources = [ - SOURCELOWER_TAR_GZ, - 'regressiontests-%(version)s.tar.gz', -] - -preconfigopts = "export CMAKE_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:$EBROOTFFTW/lib && " -preconfigopts += "export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:$EBROOTFFTW/include && " - -dependencies = [ - ('fftw/3.3.4.5', EXTERNAL_MODULE), -] - -builddependencies = [('CMake', '3.2.2')] - -runtest = False - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06-XC.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06-XC.eb deleted file mode 100644 index 845802b504..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.06-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayCCE', 'version': '2015.06-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -patches = [ - # fix Make dependencies, so parallel build also works - 'HPL_parallel-make.patch', - 'HPL-2.1_LINKER-ld.patch', -] - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11-XC.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11-XC.eb deleted file mode 100644 index f4a0256f79..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayCCE-2015.11-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayCCE', 'version': '2015.11-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -patches = [ - # fix Make dependencies, so parallel build also works - 'HPL_parallel-make.patch', - 'HPL-2.1_LINKER-ld.patch', -] - -parallel = 1 - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06-XC.eb deleted file mode 100644 index fe0de8812c..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11-XC.eb deleted file mode 100644 index ecd5998b8d..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06-XC.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06-XC.eb deleted file mode 100644 index 32e943a8d6..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.06-XC.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.06-XC'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11-XC.eb deleted file mode 100644 index 370ce49b4c..0000000000 --- a/easybuild/easyconfigs/h/HPL/HPL-2.1-CrayIntel-2015.11-XC.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'HPL' -version = '2.1' - -homepage = 'http://www.netlib.org/benchmark/hpl/' -description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic - on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the - High Performance Computing Linpack Benchmark.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} -toolchainopts = {'optarch': True, 'usempi': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] - -# fix Make dependencies, so parallel build also works -patches = ['HPL_parallel-make.patch'] - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 057b6423c3..0000000000 --- a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'JasPer' -version = '1.900.1' - -homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' -description = """The JasPer Project is an open-source initiative to provide a free - software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_ZIP] -source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] - -sanity_check_paths = { - 'files': ["bin/jasper", "lib/libjasper.a"], - 'dirs': ["include"], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb deleted file mode 100644 index b3d235faba..0000000000 --- a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'JasPer' -version = '1.900.1' - -homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' -description = """The JasPer Project is an open-source initiative to provide a free - software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_ZIP] -source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] - -sanity_check_paths = { - 'files': ["bin/jasper", "lib/libjasper.a"], - 'dirs': ["include"], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb deleted file mode 100644 index 45bc1007dd..0000000000 --- a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-CrayIntel-2015.11-XC.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'JasPer' -version = '1.900.1' - -homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' -description = """The JasPer Project is an open-source initiative to provide a free - software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = [SOURCELOWER_ZIP] -source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] - -sanity_check_paths = { - 'files': ["bin/jasper", "lib/libjasper.a"], - 'dirs': ["include"], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 8c50a3c766..0000000000 --- a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'Libint' -version = '1.1.4' - -homepage = 'https://sourceforge.net/p/libint/' -description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body - matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'opt': True, 'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') - -configopts = "--enable-deriv --enable-r12" - -sanity_check_paths = { - 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + - ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + - ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + - ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], - 'dirs':[], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb deleted file mode 100644 index ba7eabefb4..0000000000 --- a/easybuild/easyconfigs/l/Libint/Libint-1.1.4-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,24 +0,0 @@ -name = 'Libint' -version = '1.1.4' - -homepage = 'https://sourceforge.net/p/libint/' -description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body - matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'opt': True, 'pic': True} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ('http://sourceforge.net/projects/libint/files/v1-releases/', 'download') - -configopts = "--enable-deriv --enable-r12" - -sanity_check_paths = { - 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + - ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + - ['lib/lib%s.a' % x for x in ['deriv', 'int', 'r12']] + - ['lib/lib%s.so' % x for x in ['deriv', 'int', 'r12']], - 'dirs':[], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 86d9535460..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.3' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """The GNU Readline library provides a set of functions for use by applications that - allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. - The Readline library includes additional functions to maintain a list of previously-entered command lines, - to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '5.9')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs' : [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 9f6f591568..0000000000 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libreadline' -version = '6.3' - -homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' -description = """The GNU Readline library provides a set of functions for use by applications that - allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. - The Readline library includes additional functions to maintain a list of previously-entered command lines, - to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -sources = ['readline-%(version)s.tar.gz'] -source_urls = ['http://ftp.gnu.org/gnu/readline'] - -dependencies = [('ncurses', '5.9')] - -# for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" - -sanity_check_paths = { - 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + - ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', - 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], - 'dirs' : [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 3ef89d660d..0000000000 --- a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libxc' -version = '2.2.1' - -homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' -description = """Libxc is a library of exchange-correlation functionals for density-functional theory. - The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'opt': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] - -configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' - -# From the libxc mailing list -# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect -# a fully working testsuite soon (unless someone wants to volunteer to do -# it, of course ) In the meantime, unless the majority of the tests -# fail, your build should be fine. -#runtest = 'check' - -sanity_check_paths = { - 'files': ['lib/libxc.a'], - 'dirs': ['include'], -} - -parallel = 1 - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb deleted file mode 100644 index bfd88b3c4b..0000000000 --- a/easybuild/easyconfigs/l/libxc/libxc-2.2.1-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libxc' -version = '2.2.1' - -homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' -description = """Libxc is a library of exchange-correlation functionals for density-functional theory. - The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'opt': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] - -configopts = 'FC="$F77" FCFLAGS="$FFLAGS"' - -# From the libxc mailing list -# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect -# a fully working testsuite soon (unless someone wants to volunteer to do -# it, of course ) In the meantime, unless the majority of the tests -# fail, your build should be fine. -#runtest = 'check' - -sanity_check_paths = { - 'files': ['lib/libxc.a'], - 'dirs': ['include'], -} - -parallel = 1 - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 99ad1db263..0000000000 --- a/easybuild/easyconfigs/l/libxc/libxc-2.2.2-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,33 +0,0 @@ -# contributed by Luca Marsella (CSCS) -easyblock = 'ConfigureMake' - -name = 'libxc' -version = '2.2.2' - -homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' -description = """Libxc is a library of exchange-correlation functionals for density-functional theory. - The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'opt': True} - -sources = [SOURCE_TAR_GZ] -source_urls = ['http://www.tddft.org/programs/octopus/down.php?file=libxc/'] - -configopts = 'FC="$F77" FCFLAGS="$FFLAGS" --enable-shared' - -# From the libxc mailing list -# To summarize: expect less tests to fail in libxc 2.0.2, but don't expect -# a fully working testsuite soon (unless someone wants to volunteer to do -# it, of course ) In the meantime, unless the majority of the tests -# fail, your build should be fine. -#runtest = 'check' - -sanity_check_paths = { - 'files': ['lib/libxc.a', 'lib/libxc.so'], - 'dirs': ['include'], -} - -parallel = 1 - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 68ee7aa23b..0000000000 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'M4' -version = '1.4.17' - -homepage = 'http://www.gnu.org/software/m4/m4.html' -description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible - although it has some extensions (for example, handling more than 9 positional parameters to macros). - GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -configopts = "--enable-cxx" - -sanity_check_paths = { - 'files': ["bin/m4"], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb deleted file mode 100644 index fd7cafa798..0000000000 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'M4' -version = '1.4.17' - -homepage = 'http://www.gnu.org/software/m4/m4.html' -description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible - although it has some extensions (for example, handling more than 9 positional parameters to macros). - GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [GNU_SOURCE] - -configopts = "--enable-cxx" - -sanity_check_paths = { - 'files': ["bin/m4"], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb deleted file mode 100644 index f016964748..0000000000 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'NFFT' -version = '3.3.0' - -homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' -description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine - library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more - dimensions, of arbitrary input size, and of complex data.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} - -source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [ - ('fftw/3.3.4.3', EXTERNAL_MODULE), -] - -sanity_check_paths = { - 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], - 'dirs': ['lib/pkgconfig'], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 10957199be..0000000000 --- a/easybuild/easyconfigs/n/NFFT/NFFT-3.3.0-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'NFFT' -version = '3.3.0' - -homepage = 'https://www-user.tu-chemnitz.de/~potts/nfft/' -description = """The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine - library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more - dimensions, of arbitrary input size, and of complex data.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} - -source_urls = ['https://www-user.tu-chemnitz.de/~potts/nfft/download/'] -sources = [SOURCELOWER_TAR_GZ] - -dependencies = [ - ('fftw/3.3.4.5', EXTERNAL_MODULE), -] - -sanity_check_paths = { - 'files': ['include/nfft3.h', 'include/nfft3mp.h', 'lib/libnfft3.a', 'lib/libnfft3.%s' % SHLIB_EXT], - 'dirs': ['lib/pkgconfig'], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb deleted file mode 100644 index f11ad3873e..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 0c15e725f4..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb deleted file mode 100644 index 6caf9a9b85..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-CrayIntel-2015.11-XC.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb deleted file mode 100644 index 09f3884a76..0000000000 --- a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.06-XC-Python-2.7.9.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'numpy' -version = '1.9.2' - -homepage = 'http://www.numpy.org' -description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: - a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran - code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, - NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be - defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['numpy-1.8.0-mkl.patch'] - -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb deleted file mode 100644 index 91375139ee..0000000000 --- a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-CrayGNU-2015.11-XC-Python-2.7.9.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'numpy' -version = '1.9.2' - -homepage = 'http://www.numpy.org' -description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: - a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran - code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, - NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be - defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['numpy-1.8.0-mkl.patch'] - -python = 'Python' -pyver = '2.7.9' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb deleted file mode 100644 index ae58dbb498..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC-bare.eb +++ /dev/null @@ -1,39 +0,0 @@ -name = 'Python' -version = '2.7.9' -versionsuffix = '-bare' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True, 'opt': True} - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -# bare installation: no extensions included -exts_list = [] - -buildopts = 'LINKCC="$CC -dynamic"' - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb deleted file mode 100644 index d2018b8970..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,115 +0,0 @@ -name = 'Python' -version = '2.7.9' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -numpyversion = '1.9.1' -scipyversion = '0.14.1' - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -buildopts = 'LINKCC="$CC -dynamic"' - -# order is important! -# package versions updated Jan 19th 2015 -exts_list = [ - ('setuptools', '11.3.1', { - 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], - }), - ('pip', '6.0.6', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], - }), - ('nose', '1.3.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], - }), - ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': [ - 'numpy-1.8.0-mkl.patch', # % numpyversion, - ], - }), - ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], - }), - ('blist', '1.3.6', { - 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], - }), - ('mpi4py', '1.3.1', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], - }), - ('paycheck', '1.0.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], - }), - ('argparse', '1.2.1', { - 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], - }), - ('lockfile', '0.10.2', { - 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], - }), - ('Cython', '0.21.2', { - 'source_urls': ['http://www.cython.org/release/'], - }), - ('six', '1.9.0', { - 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], - }), - ('dateutil', '2.4.0', { - 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', - 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], - }), - ('deap', '1.0.1', { - 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], - }), - ('decorator', '3.4.0', { - 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], - }), - ('arff', '2.0.1', { - 'source_tmpl': 'liac-%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], - }), - ('ecdsa', '0.11', { - 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], - }), - ('paramiko', '1.15.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], - }), - ('pyparsing', '2.0.3', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], - }), - ('netifaces', '0.10.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], - }), - ('netaddr', '0.7.13', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], - }), -] - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb deleted file mode 100644 index f91af70f07..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC-bare.eb +++ /dev/null @@ -1,39 +0,0 @@ -name = 'Python' -version = '2.7.9' -versionsuffix = '-bare' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True, 'opt': True} - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -# bare installation: no extensions included -exts_list = [] - -buildopts = 'LINKCC="$CC -dynamic"' - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb deleted file mode 100644 index da85447313..0000000000 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,115 +0,0 @@ -name = 'Python' -version = '2.7.9' - -homepage = 'http://python.org/' -description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True, 'opt': True, 'optarch': True} - -numpyversion = '1.9.1' -scipyversion = '0.14.1' - -source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] -sources = [SOURCE_TGZ] - -# python needs bzip2 to build the bz2 package -dependencies = [ - ('bzip2', '1.0.6'), - ('zlib', '1.2.8'), - ('libreadline', '6.3'), - ('ncurses', '5.9'), -# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's -# nice to have an up to date openssl for security reasons -] - -osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel'), 'tk-devel'] - -buildopts = 'LINKCC="$CC -dynamic"' - -# order is important! -# package versions updated Jan 19th 2015 -exts_list = [ - ('setuptools', '11.3.1', { - 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], - }), - ('pip', '6.0.6', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], - }), - ('nose', '1.3.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], - }), - ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], - 'patches': [ - 'numpy-1.8.0-mkl.patch', # % numpyversion, - ], - }), - ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], - }), - ('blist', '1.3.6', { - 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], - }), - ('mpi4py', '1.3.1', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], - }), - ('paycheck', '1.0.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], - }), - ('argparse', '1.2.1', { - 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], - }), - ('lockfile', '0.10.2', { - 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], - }), - ('Cython', '0.21.2', { - 'source_urls': ['http://www.cython.org/release/'], - }), - ('six', '1.9.0', { - 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], - }), - ('dateutil', '2.4.0', { - 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', - 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], - }), - ('deap', '1.0.1', { - 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], - }), - ('decorator', '3.4.0', { - 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], - }), - ('arff', '2.0.1', { - 'source_tmpl': 'liac-%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], - }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], - }), - ('ecdsa', '0.11', { - 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], - }), - ('paramiko', '1.15.2', { - 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], - }), - ('pyparsing', '2.0.3', { - 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], - }), - ('netifaces', '0.10.4', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], - }), - ('netaddr', '0.7.13', { - 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], - }), -] - -sanity_check_commands = [ - ('python', '--version'), - ('python', '-c "import _ctypes"'), # make sure that foreign function interface (libffi) works - ('python', '-c "import _ssl"'), # make sure SSL support is enabled one way or another - ('python', '-c "import readline"'), # make sure readline module is installed (requires libreadline) - ('python', '-c "import Tkinter"'), # make sure Tkinter module is installed (requires Tk) -] - -moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb deleted file mode 100644 index a075d53839..0000000000 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Szip' -version = '2.1' - -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' -description = "Szip compression software, providing lossless compression of scientific data" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True, } - -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic" - -sanity_check_paths = { - 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + - ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 6340c63211..0000000000 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,23 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Szip' -version = '2.1' - -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' -description = "Szip compression software, providing lossless compression of scientific data" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True, } - -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] - -configopts = "--with-pic" - -sanity_check_paths = { - 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + - ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb deleted file mode 100644 index b47cc99c57..0000000000 --- a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.06-XC-Python-2.7.9.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'scipy' -version = '0.15.1' -versionsuffix = '-Python-2.7.9' - -homepage = 'http://www.scipy.org' -description = """SciPy is a collection of mathematical algorithms and convenience - functions built on the Numpy extension for Python.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True} - -source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('numpy', '1.9.2', versionsuffix), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb b/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb deleted file mode 100644 index b69de1aa3b..0000000000 --- a/easybuild/easyconfigs/s/scipy/scipy-0.15.1-CrayGNU-2015.11-XC-Python-2.7.9.eb +++ /dev/null @@ -1,19 +0,0 @@ -name = 'scipy' -version = '0.15.1' -versionsuffix = '-Python-2.7.9' - -homepage = 'http://www.scipy.org' -description = """SciPy is a collection of mathematical algorithms and convenience - functions built on the Numpy extension for Python.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True} - -source_urls = [('http://sourceforge.net/projects/scipy/files/scipy/%(version)s', 'download')] -sources = [SOURCE_TAR_GZ] - -dependencies = [ - ('numpy', '1.9.2', versionsuffix), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb deleted file mode 100644 index 68086c7c98..0000000000 --- a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'spglib' -version = '1.7.3' - -homepage = 'http://spglib.sourceforge.net/' -description = """Spglib is a C library for finding and handling crystal symmetries.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -start_dir = '%(name)s-%(version)s' - -sanity_check_paths = { - 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], - 'dirs': ['include/spglib'], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb deleted file mode 100644 index bdb5c45a5a..0000000000 --- a/easybuild/easyconfigs/s/spglib/spglib-1.7.3-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,21 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'spglib' -version = '1.7.3' - -homepage = 'http://spglib.sourceforge.net/' -description = """Spglib is a C library for finding and handling crystal symmetries.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -start_dir = '%(name)s-%(version)s' - -sanity_check_paths = { - 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], - 'dirs': ['include/spglib'], -} - -moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb deleted file mode 100644 index c5db50a961..0000000000 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit -# Authors:: Valentin Plugaru -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html -## -easyblock = 'ConfigureMake' - -name = 'tcsh' -version = '6.18.01' - -homepage = 'http://www.tcsh.org' -description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). - It is a command language interpreter usable both as an interactive login shell and a shell script command - processor. It includes a command-line editor, programmable word completion, spelling correction, a history - mechanism, job control and a C-like syntax.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [ - 'ftp://ftp.astron.com/pub/%(namelower)s', - 'ftp://ftp.astron.com/pub/%(namelower)s/old', -] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/tcsh"], - 'dirs': [] -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 3b456bd5d5..0000000000 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit -# Authors:: Valentin Plugaru -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html -## -easyblock = 'ConfigureMake' - -name = 'tcsh' -version = '6.18.01' - -homepage = 'http://www.tcsh.org' -description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). - It is a command language interpreter usable both as an interactive login shell and a shell script command - processor. It includes a command-line editor, programmable word completion, spelling correction, a history - mechanism, job control and a C-like syntax.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [ - 'ftp://ftp.astron.com/pub/%(namelower)s', - 'ftp://ftp.astron.com/pub/%(namelower)s/old', -] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/tcsh"], - 'dirs': [] -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb deleted file mode 100644 index df83e70f3b..0000000000 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.18.01-CrayIntel-2015.11-XC.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# -# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit -# Authors:: Valentin Plugaru -# License:: MIT/GPL -# $Id$ -# -# This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html -## -easyblock = 'ConfigureMake' - -name = 'tcsh' -version = '6.18.01' - -homepage = 'http://www.tcsh.org' -description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). - It is a command language interpreter usable both as an interactive login shell and a shell script command - processor. It includes a command-line editor, programmable word completion, spelling correction, a history - mechanism, job control and a C-like syntax.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [ - 'ftp://ftp.astron.com/pub/%(namelower)s', - 'ftp://ftp.astron.com/pub/%(namelower)s/old', -] - -dependencies = [('ncurses', '5.9')] - -sanity_check_paths = { - 'files': ["bin/tcsh"], - 'dirs': [] -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb deleted file mode 100644 index 0b7fd5cfb3..0000000000 --- a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.06-XC-dmpar.eb +++ /dev/null @@ -1,41 +0,0 @@ -name = 'WRF' -version = '3.6.1' - -homepage = 'http://www.wrf-model.org' -description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale - numerical weather prediction system designed to serve both operational forecasting and atmospheric - research needs.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 - -sources = ['%(name)sV%(version)s.TAR.gz'] -source_urls = [ - 'http://www2.mmm.ucar.edu/wrf/src/', - 'http://www.mmm.ucar.edu/wrf/src/', -] - -# csh is used by WRF install scripts -builddependencies = [('tcsh', '6.18.01')] - -dependencies = [ - ('JasPer', '1.900.1'), - ('cray-netcdf/4.3.2', EXTERNAL_MODULE), - ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), -] - -patches = [ - 'WRF_parallel_build_fix.patch', - 'WRF-3.6.1_known_problems.patch', - 'WRF_tests_limit-runtimes.patch', -] - -# limit parallel build to 20 -maxparallel = 20 - -buildtype = "dmpar" -versionsuffix = '-%s' % buildtype - -runtest = False - -moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb deleted file mode 100644 index d353e6742c..0000000000 --- a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayGNU-2015.11-XC-dmpar.eb +++ /dev/null @@ -1,41 +0,0 @@ -name = 'WRF' -version = '3.6.1' - -homepage = 'http://www.wrf-model.org' -description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale - numerical weather prediction system designed to serve both operational forecasting and atmospheric - research needs.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 - -sources = ['%(name)sV%(version)s.TAR.gz'] -source_urls = [ - 'http://www2.mmm.ucar.edu/wrf/src/', - 'http://www.mmm.ucar.edu/wrf/src/', -] - -# csh is used by WRF install scripts -builddependencies = [('tcsh', '6.18.01')] - -dependencies = [ - ('JasPer', '1.900.1'), - ('cray-netcdf/4.3.2', EXTERNAL_MODULE), - ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), -] - -patches = [ - 'WRF_parallel_build_fix.patch', - 'WRF-3.6.1_known_problems.patch', - 'WRF_tests_limit-runtimes.patch', -] - -# limit parallel build to 20 -maxparallel = 20 - -buildtype = "dmpar" -versionsuffix = '-%s' % buildtype - -runtest = False - -moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb deleted file mode 100644 index dc552a3235..0000000000 --- a/easybuild/easyconfigs/w/WRF/WRF-3.6.1-CrayIntel-2015.11-XC-dmpar.eb +++ /dev/null @@ -1,41 +0,0 @@ -name = 'WRF' -version = '3.6.1' - -homepage = 'http://www.wrf-model.org' -description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale - numerical weather prediction system designed to serve both operational forecasting and atmospheric - research needs.""" - -toolchain = {'name': 'CrayIntel', 'version': '2015.11-XC'} -toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 - -sources = ['%(name)sV%(version)s.TAR.gz'] -source_urls = [ - 'http://www2.mmm.ucar.edu/wrf/src/', - 'http://www.mmm.ucar.edu/wrf/src/', -] - -# csh is used by WRF install scripts -builddependencies = [('tcsh', '6.18.01')] - -dependencies = [ - ('JasPer', '1.900.1'), - ('cray-netcdf/4.3.2', EXTERNAL_MODULE), - ('cray-hdf5-parallel/1.8.13', EXTERNAL_MODULE), -] - -patches = [ - 'WRF_parallel_build_fix.patch', - 'WRF-3.6.1_known_problems.patch', - 'WRF_tests_limit-runtimes.patch', -] - -# limit parallel build to 20 -maxparallel = 20 - -buildtype = "dmpar" -versionsuffix = '-%s' % buildtype - -runtest = False - -moduleclass = 'geo' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb deleted file mode 100644 index fbc74998eb..0000000000 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.06-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'zlib' -version = '1.2.8' - -homepage = 'http://www.zlib.net/' -description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, - not covered by any patents -- lossless data-compression library for use on virtually any - computer hardware and operating system.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.06-XC'} -toolchainopts = {'pic': True, } - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] - -sanity_check_paths = { - 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb deleted file mode 100644 index 0c6915d7cd..0000000000 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-CrayGNU-2015.11-XC.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'zlib' -version = '1.2.8' - -homepage = 'http://www.zlib.net/' -description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, - not covered by any patents -- lossless data-compression library for use on virtually any - computer hardware and operating system.""" - -toolchain = {'name': 'CrayGNU', 'version': '2015.11-XC'} -toolchainopts = {'pic': True, } - -sources = [SOURCELOWER_TAR_GZ] -source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] - -sanity_check_paths = { - 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], - 'dirs': [], -} - -moduleclass = 'lib' -- GitLab From 1a04d6640a63dcb22c3ca78d7ce4c477867f8572 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 13 Mar 2016 20:50:25 +0000 Subject: [PATCH 0568/1089] Add packed binary version of sratoolkit 2.5.7 --- .../s/sratoolkit/sratoolkit-2.5.7.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb diff --git a/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb new file mode 100644 index 0000000000..e8e5e37a6b --- /dev/null +++ b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb @@ -0,0 +1,34 @@ +easyblock = 'PackedBinary' + +name = 'sratoolkit' +version = '2.5.7' + +homepage = 'http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software' +description = """The SRA Toolkit, and the source-code SRA System Development + Kit (SDK), will allow you to programmatically access data housed within SRA + and convert it from the SRA format""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/%(version)s/'] +sources = ['sratoolkit.%(version)s-centos_linux64.tar.gz'] + +executables = [ +'abi-dump*', 'abi-load*', 'align-info*', 'bam-load*', 'blastn_vdb*', 'cache-mgr*', +'cg-load*', 'fastq-dump*', 'fastq-load*', 'helicos-load*', 'illumina-dump*', +'illumina-load*', 'kar*', 'kdbmeta*', 'latf-load*', 'ncbi', 'pacbio-load*', +'prefetch*', 'rcexplain*', 'remote-fuser*', 'sam-dump*', 'sff-dump*', +'sff-load*', 'sra-kar*', 'sra-pileup*', 'sra-sort*', 'sra-stat*', 'srapath*', +'srf-load*', 'tblastn_vdb*', 'test-sra*', 'vdb-config*', 'vdb-copy*', +'vdb-decrypt*', 'vdb-dump*', 'vdb-encrypt*', 'vdb-lock*', 'vdb-passwd*', +'vdb-unlock*', 'vdb-validate*', +] + +files_to_copy = [('*', 'bin')] + +sanity_check_paths = { + 'files': ['bin/abi-dump', 'bin/illumina-load', 'bin/srf-load', ], + 'dirs': [] +} + +moduleclass = 'bio' -- GitLab From c09c304722a69796d45d2678918508534f225b37 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 13 Mar 2016 20:53:24 +0000 Subject: [PATCH 0569/1089] Add proper header with attribution --- easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb index e8e5e37a6b..fc210435ee 100644 --- a/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb +++ b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb @@ -1,3 +1,10 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute +# Based on work by npklein + easyblock = 'PackedBinary' name = 'sratoolkit' -- GitLab From 9750d399b67a70e27e331d3ed0227bf30d373ea5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 14 Mar 2016 13:55:10 +0100 Subject: [PATCH 0570/1089] include pandas as extension in Python 3.5.1 easyconfigs --- easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb | 3 +++ easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb | 3 +++ 2 files changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb index ec80435d9b..782d02fe62 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb @@ -107,6 +107,9 @@ exts_list = [ ('netaddr', '0.7.18', { 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], }), + ('pandas', '0.17.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb index aa7a7d9034..5dcd8c848b 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb @@ -111,6 +111,9 @@ exts_list = [ ('netaddr', '0.7.18', { 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], }), + ('pandas', '0.17.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), ] moduleclass = 'lang' -- GitLab From dc22f84516afbdee12bbc87d59077c30d83704a1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 14 Mar 2016 15:10:34 +0200 Subject: [PATCH 0571/1089] modify easyconfig scikit-learn-0.17.1-intel-2016a-Python-3.5.1.eb, modify easyconfig matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb --- ...tplotlib-1.5.1-intel-2016a-Python-3.5.1.eb | 45 +++++++++++++++++++ ...t-learn-0.17.1-intel-2016a-Python-3.5.1.eb | 30 +++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb create mode 100644 easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-3.5.1.eb diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..2c2c674d2c --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,45 @@ +easyblock = 'Bundle' + +name = 'matplotlib' +version = '1.5.1' +versionsuffix = '-Python-%(pyver)s' + +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.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' +exts_filter = ('python -c "import %(ext_name)s"', '') + +dependencies = [ + ('Python', '3.5.1'), + ('freetype', '2.6.2'), + ('libpng', '1.6.21'), +] + +exts_list = [ + ('Cycler', '0.9.0', { + 'modulename': 'cycler', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'source_tmpl': 'cycler-%(version)s.tar.gz', + }), + (name, version, { + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + }), +] + +# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module +full_sanity_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..f49a608d87 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'scikit-learn' +version = '0.17.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://scikit-learn.org/stable/index.html' +description = """Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, +building upon numpy, scipy, and matplotlib. As a machine-learning module, +it provides versatile tools for data mining and analysis in any field of science and engineering. +It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '3.5.1'), + ('matplotlib', '1.5.1', versionsuffix), +] + +options = {'modulename': 'sklearn'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sklearn'], +} + +moduleclass = 'data' -- GitLab From a22ef3361ebc08e4296092d559b97071e024068d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 14 Mar 2016 17:57:47 +0200 Subject: [PATCH 0572/1089] add easyconfig ADF-2016.101.eb --- easybuild/easyconfigs/a/ADF/ADF-2016.101.eb | 31 +++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/a/ADF/ADF-2016.101.eb diff --git a/easybuild/easyconfigs/a/ADF/ADF-2016.101.eb b/easybuild/easyconfigs/a/ADF/ADF-2016.101.eb new file mode 100644 index 0000000000..5fe5e14c14 --- /dev/null +++ b/easybuild/easyconfigs/a/ADF/ADF-2016.101.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'ADF' +version = '2016.101' + +homepage = 'http://www.scm.com/ADF/' +description = """ADF is an accurate, parallelized, powerful computational chemistry program to understand and + predict chemical structure and reactivity with density functional theory (DFT).""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +sources = ['adf%(version)s.pc64_linux.intelmpi.tgz'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['atomicdata', 'bin', 'examples'], +} + +modextravars = { + 'ADFHOME': '%(installdir)s', + 'ADFBIN': '%(installdir)s/bin', + 'ADFRESOURCES': '%(installdir)s/atomicdata', +} + +modloadmsg = "These environment variables need to be defined before using ADF:\n" +modloadmsg += " * $SCMLICENSE: path to ADF license file\n" +modloadmsg += " * $SCM_TMPDIR: path to user scratch directory" + +moduleclass = 'chem' -- GitLab From 600a222f07887960db797217fe7d058dfeb7a046 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 14 Mar 2016 18:13:18 +0200 Subject: [PATCH 0573/1089] add easyconfig statsmodels-0.6.1-intel-2016a-Python-3.5.1.eb --- ...tsmodels-0.6.1-intel-2016a-Python-3.5.1.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/s/statsmodels/statsmodels-0.6.1-intel-2016a-Python-3.5.1.eb diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.6.1-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.6.1-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..a2ab69cdf5 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.6.1-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,40 @@ +easyblock = 'Bundle' + +name = 'statsmodels' +version = '0.6.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pypi.python.org/pypi/statsmodels' +description = """Statsmodels is a Python package that provides a complement to scipy for statistical computations + including descriptive statistics and estimation and inference for statistical models.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' + +dependencies = [ + ('Python', '3.5.1'), +] + +exts_list = [ + ('patsy', '0.4.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/patsy'], + 'source_tmpl': 'patsy-%(version)s.zip', + }), + (name, version, { + 'source_urls': ['https://pypi.python.org/packages/source/s/statsmodels'], + }), +] + +# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module +full_sanity_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'math' -- GitLab From 7c545ed144d07424dff4f16fffbb9dc94b1f950d Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 14 Mar 2016 17:14:09 +0000 Subject: [PATCH 0574/1089] Fix indent and sanity check --- .../s/sratoolkit/sratoolkit-2.5.7.eb | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb index fc210435ee..da9654c11e 100644 --- a/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb +++ b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb @@ -21,21 +21,21 @@ source_urls = ['http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/%(version)s/'] sources = ['sratoolkit.%(version)s-centos_linux64.tar.gz'] executables = [ -'abi-dump*', 'abi-load*', 'align-info*', 'bam-load*', 'blastn_vdb*', 'cache-mgr*', -'cg-load*', 'fastq-dump*', 'fastq-load*', 'helicos-load*', 'illumina-dump*', -'illumina-load*', 'kar*', 'kdbmeta*', 'latf-load*', 'ncbi', 'pacbio-load*', -'prefetch*', 'rcexplain*', 'remote-fuser*', 'sam-dump*', 'sff-dump*', -'sff-load*', 'sra-kar*', 'sra-pileup*', 'sra-sort*', 'sra-stat*', 'srapath*', -'srf-load*', 'tblastn_vdb*', 'test-sra*', 'vdb-config*', 'vdb-copy*', -'vdb-decrypt*', 'vdb-dump*', 'vdb-encrypt*', 'vdb-lock*', 'vdb-passwd*', -'vdb-unlock*', 'vdb-validate*', + 'abi-dump*', 'abi-load*', 'align-info*', 'bam-load*', 'blastn_vdb*', 'cache-mgr*', + 'cg-load*', 'fastq-dump*', 'fastq-load*', 'helicos-load*', 'illumina-dump*', + 'illumina-load*', 'kar*', 'kdbmeta*', 'latf-load*', 'ncbi', 'pacbio-load*', + 'prefetch*', 'rcexplain*', 'remote-fuser*', 'sam-dump*', 'sff-dump*', + 'sff-load*', 'sra-kar*', 'sra-pileup*', 'sra-sort*', 'sra-stat*', 'srapath*', + 'srf-load*', 'tblastn_vdb*', 'test-sra*', 'vdb-config*', 'vdb-copy*', + 'vdb-decrypt*', 'vdb-dump*', 'vdb-encrypt*', 'vdb-lock*', 'vdb-passwd*', + 'vdb-unlock*', 'vdb-validate*', ] files_to_copy = [('*', 'bin')] sanity_check_paths = { - 'files': ['bin/abi-dump', 'bin/illumina-load', 'bin/srf-load', ], - 'dirs': [] + 'files': [], + 'dirs': ['bin'] } moduleclass = 'bio' -- GitLab From 24f917cdef4c9a335c64052ea227ee67623450fc Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 14 Mar 2016 17:37:12 +0000 Subject: [PATCH 0575/1089] Remove executables and add detail to sanity check --- .../s/sratoolkit/sratoolkit-2.5.7.eb | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb index da9654c11e..b3d358e4a3 100644 --- a/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb +++ b/easybuild/easyconfigs/s/sratoolkit/sratoolkit-2.5.7.eb @@ -20,22 +20,9 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/%(version)s/'] sources = ['sratoolkit.%(version)s-centos_linux64.tar.gz'] -executables = [ - 'abi-dump*', 'abi-load*', 'align-info*', 'bam-load*', 'blastn_vdb*', 'cache-mgr*', - 'cg-load*', 'fastq-dump*', 'fastq-load*', 'helicos-load*', 'illumina-dump*', - 'illumina-load*', 'kar*', 'kdbmeta*', 'latf-load*', 'ncbi', 'pacbio-load*', - 'prefetch*', 'rcexplain*', 'remote-fuser*', 'sam-dump*', 'sff-dump*', - 'sff-load*', 'sra-kar*', 'sra-pileup*', 'sra-sort*', 'sra-stat*', 'srapath*', - 'srf-load*', 'tblastn_vdb*', 'test-sra*', 'vdb-config*', 'vdb-copy*', - 'vdb-decrypt*', 'vdb-dump*', 'vdb-encrypt*', 'vdb-lock*', 'vdb-passwd*', - 'vdb-unlock*', 'vdb-validate*', -] - -files_to_copy = [('*', 'bin')] - sanity_check_paths = { - 'files': [], - 'dirs': ['bin'] + 'files': ['bin/abi-load', 'bin/fastq-dump', 'bin/sff-load', 'bin/vdb-dump'], + 'dirs': [] } moduleclass = 'bio' -- GitLab From 594901c38692154ba44bae343882354bc7c0af7d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 14 Mar 2016 19:34:41 +0100 Subject: [PATCH 0576/1089] stick to binutils 2.25 for now --- .../b/binutils/binutils-2.26-GCCcore-4.9.3.eb | 41 ------------------- ...26.eb => icc-2016.2.181-GCC-4.9.3-2.25.eb} | 2 +- ... => iccifort-2016.2.181-GCC-4.9.3-2.25.eb} | 2 +- ....eb => ifort-2016.2.181-GCC-4.9.3-2.25.eb} | 2 +- ....26.eb => iimpi-2016.02-GCC-4.9.3-2.25.eb} | 2 +- ...1.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb} | 2 +- ...181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb} | 2 +- .../i/intel/intel-2016.02-GCC-4.9.eb | 2 +- 8 files changed, 7 insertions(+), 48 deletions(-) delete mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb rename easybuild/easyconfigs/i/icc/{icc-2016.2.181-GCC-4.9.3-2.26.eb => icc-2016.2.181-GCC-4.9.3-2.25.eb} (98%) rename easybuild/easyconfigs/i/iccifort/{iccifort-2016.2.181-GCC-4.9.3-2.26.eb => iccifort-2016.2.181-GCC-4.9.3-2.25.eb} (93%) rename easybuild/easyconfigs/i/ifort/{ifort-2016.2.181-GCC-4.9.3-2.26.eb => ifort-2016.2.181-GCC-4.9.3-2.25.eb} (98%) rename easybuild/easyconfigs/i/iimpi/{iimpi-2016.02-GCC-4.9.3-2.26.eb => iimpi-2016.02-GCC-4.9.3-2.25.eb} (94%) rename easybuild/easyconfigs/i/imkl/{imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb => imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb} (95%) rename easybuild/easyconfigs/i/impi/{impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb => impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb} (99%) diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb deleted file mode 100644 index 0d3fdd2d17..0000000000 --- a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.3.eb +++ /dev/null @@ -1,41 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'binutils' -version = '2.26' - -homepage = 'http://directory.fsf.org/project/binutils/' -description = "binutils: GNU binary utilities" - -toolchain = {'name': 'GCCcore', 'version': '4.9.3'} - -sources = [SOURCE_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [ - ('flex', '2.6.0'), - ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep - ('zlib', '1.2.8'), - # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) -] - -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb similarity index 98% rename from easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb rename to easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb index ec73b70b03..569030c764 100644 --- a/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.26.eb +++ b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb @@ -13,7 +13,7 @@ sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_cpp_update checksums = ['d6f8529a44231e427219c8e025dec3b2'] gccver = '4.9.3' -binutilsver = '2.26' +binutilsver = '2.25' versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) dependencies = [ diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.25.eb similarity index 93% rename from easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.26.eb rename to easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.25.eb index 93577bed54..871fae395a 100644 --- a/easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.26.eb +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2016.2.181-GCC-4.9.3-2.25.eb @@ -3,7 +3,7 @@ easyblock = "Toolchain" name = 'iccifort' version = '2016.2.181' -versionsuffix = '-GCC-4.9.3-2.26' +versionsuffix = '-GCC-4.9.3-2.25' homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' description = """Intel Cluster Toolkit Compiler Edition provides Intel C,C++ and fortran compilers, Intel MPI and Intel MKL""" diff --git a/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb similarity index 98% rename from easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb rename to easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb index c55e928942..01be1aa191 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.26.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb @@ -13,7 +13,7 @@ sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_fortran_up checksums = ['70e88db11efc59b1d8ff8b5aadf50f7f'] gccver = '4.9.3' -binutilsver = '2.26' +binutilsver = '2.25' versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) dependencies = [ diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.25.eb similarity index 94% rename from easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb rename to easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.25.eb index 0be81ea753..3d1b981714 100644 --- a/easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.26.eb +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2016.02-GCC-4.9.3-2.25.eb @@ -3,7 +3,7 @@ easyblock = "Toolchain" name = 'iimpi' version = '2016.02' -versionsuffix = '-GCC-4.9.3-2.26' +versionsuffix = '-GCC-4.9.3-2.25' homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/' description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb similarity index 95% rename from easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb rename to easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb index 78baf11191..34b7b8bb07 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.26.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb @@ -9,7 +9,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" -toolchain = {'name': 'iimpi', 'version': '2016.02-GCC-4.9.3-2.26'} +toolchain = {'name': 'iimpi', 'version': '2016.02-GCC-4.9.3-2.25'} sources = ['l_mkl_%(version)s.tgz'] checksums = ['536dbd82896d6facc16de8f961d17d65'] diff --git a/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb similarity index 99% rename from easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb rename to easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb index 147e9c1ec1..d3526d68e5 100644 --- a/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.26.eb +++ b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb @@ -8,7 +8,7 @@ description = """The Intel(R) MPI Library for Linux* OS is a multi-fabric messag passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.""" -toolchain = {'name': 'iccifort', 'version': '2016.2.181-GCC-4.9.3-2.26'} +toolchain = {'name': 'iccifort', 'version': '2016.2.181-GCC-4.9.3-2.25'} sources = ['l_mpi_p_%(version)s.tgz'] diff --git a/easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb index 955db91710..41552f25a9 100644 --- a/easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/i/intel/intel-2016.02-GCC-4.9.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} compver = '2016.2.181' gccver = '%s.3' % gcc_maj_min -binutilsver = '2.26' +binutilsver = '2.25' gccsuff = '-GCC-%s-%s' % (gccver, binutilsver) dependencies = [ ('GCCcore', gccver), -- GitLab From a1164904bfbae01fbb12a988aaef505d6dc5bf0b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 14 Mar 2016 20:39:31 +0100 Subject: [PATCH 0577/1089] fix binutils version in flex easyconfig --- easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb index 5a3de111fc..4015f41291 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-4.9.3.eb @@ -14,7 +14,7 @@ source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] dependencies = [('Bison', '3.0.4')] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.25', '', True)] parallel = 1 -- GitLab From 83cfd2deaf27fe0045109af043a5552e36fe47de Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 15 Mar 2016 10:33:31 +0100 Subject: [PATCH 0578/1089] use HOME constant in new icc/ifort/imkl/impi easyconfigs --- easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb | 4 +--- .../easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb | 4 +--- .../i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb | 4 +--- .../impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb | 3 +-- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb index 569030c764..9338983477 100644 --- a/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb @@ -28,8 +28,6 @@ components = ['intel-comp', 'intel-ccomp', 'intel-icc', 'intel-openmp', 'intel-i dontcreateinstalldir = 'True' -# license file -import os -license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") +license_file = HOME + 'licenses/intel/license.lic' moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb index 01be1aa191..5db05e1948 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb @@ -28,8 +28,6 @@ components = ['intel-comp', 'intel-fcomp', 'intel-ifort', 'intel-openmp', 'intel dontcreateinstalldir = 'True' -# license file -import os -license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") +license_file = HOME + 'licenses/intel/license.lic' moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb index 34b7b8bb07..53630f7111 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb @@ -16,9 +16,7 @@ checksums = ['536dbd82896d6facc16de8f961d17d65'] dontcreateinstalldir = 'True' -# license file -import os -license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") +license_file = HOME + 'licenses/intel/license.lic' interfaces = True diff --git a/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb index d3526d68e5..d059a83720 100644 --- a/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb @@ -16,8 +16,7 @@ checksums = ['1c14656859d48bf8b90c71dace2a977b'] dontcreateinstalldir = 'True' -import os -license_file = os.path.join(os.getenv('HOME'), "licenses", "intel", "license.lic") +license_file = HOME + 'licenses/intel/license.lic' # set up all the mpi commands to default to intel compilers # set_mpi_wrappers_all = 'True' -- GitLab From 1f16832a0cfc461c45b7c35a796f53db2ab4b4c6 Mon Sep 17 00:00:00 2001 From: Louis Vanduyfhuys Date: Tue, 15 Mar 2016 11:44:31 +0100 Subject: [PATCH 0579/1089] QuickFF and Yaff for DEFNET --- ...QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb | 34 ++++++++++++++++++ ....develop.2.13-intel-2015b-Python-2.7.10.eb | 35 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb create mode 100644 easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..e48df83b5c --- /dev/null +++ b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,34 @@ +easyblock = "PythonPackage" + +name = 'QuickFF' +version = '2.0.1' + +homepage = 'http://molmod.github.io/QuickFF/' +description = """QuickFF is a Python package developed at the Center for +Molecular Modeling (CMM) to quickly derive accurate force fields from ab initio +calculations.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/molmod/QuickFF/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] + +python = "Python" +pythonversion = '2.7.10' +pythonshortversion = ".".join(pythonversion.split(".")[:-1]) + +versionsuffix = "-%s-%s" % (python, pythonversion) + +dependencies = [ + (python, pythonversion), + ('matplotlib', '1.5.0', versionsuffix), + ('molmod', '1.1', versionsuffix), + ('yaff', 'thesissven2.13', '%s-HDF5-1.8.15-patch1-serial' %(versionsuffix)) +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/%%(namelower)s' % pythonshortversion], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..36a2dc281d --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,35 @@ +easyblock = "PythonPackage" + +name = 'yaff' +version = '1.0.develop.2.13' + +homepage = 'http://molmod.github.io/yaff/' +description = """Yaff stands for 'Yet another force field'. It is a pythonic force-field code.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/molmod/yaff/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] + +pyver = '2.7.10' + +hdf5ver = '1.8.15-patch1' +versionsuffix = '-Python-%s-HDF5-%s-serial' %(pyver, hdf5ver) + +dependencies = [ + ('Python', pyver), + ('h5py', '2.5.0', versionsuffix), + ('molmod', '1.1', '-Python-%s' %(pyver)), +] + +options = {'modulename': name} +#runtest = 'python setup.py build_ext -i; nosetests -v' + + +pyshortver = ".".join(pyver.split(".")[:-1]) +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/%s' % (pyshortver, name)] +} + +moduleclass = 'chem' -- GitLab From 4143001890fac7735da939e011118aed9d4c120b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 15 Mar 2016 13:07:31 +0100 Subject: [PATCH 0580/1089] add missing '/' --- easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb | 2 +- .../easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb | 2 +- .../i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb | 2 +- .../i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb index 9338983477..4d0d75afae 100644 --- a/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/icc/icc-2016.2.181-GCC-4.9.3-2.25.eb @@ -28,6 +28,6 @@ components = ['intel-comp', 'intel-ccomp', 'intel-icc', 'intel-openmp', 'intel-i dontcreateinstalldir = 'True' -license_file = HOME + 'licenses/intel/license.lic' +license_file = HOME + '/licenses/intel/license.lic' moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb index 5db05e1948..ffe995c4ac 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2016.2.181-GCC-4.9.3-2.25.eb @@ -28,6 +28,6 @@ components = ['intel-comp', 'intel-fcomp', 'intel-ifort', 'intel-openmp', 'intel dontcreateinstalldir = 'True' -license_file = HOME + 'licenses/intel/license.lic' +license_file = HOME + '/licenses/intel/license.lic' moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb index 53630f7111..91dcce3df9 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-11.3.2.181-iimpi-2016.02-GCC-4.9.3-2.25.eb @@ -16,7 +16,7 @@ checksums = ['536dbd82896d6facc16de8f961d17d65'] dontcreateinstalldir = 'True' -license_file = HOME + 'licenses/intel/license.lic' +license_file = HOME + '/licenses/intel/license.lic' interfaces = True diff --git a/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb index d059a83720..845f7631f8 100644 --- a/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/i/impi/impi-5.1.3.181-iccifort-2016.2.181-GCC-4.9.3-2.25.eb @@ -16,7 +16,7 @@ checksums = ['1c14656859d48bf8b90c71dace2a977b'] dontcreateinstalldir = 'True' -license_file = HOME + 'licenses/intel/license.lic' +license_file = HOME + '/licenses/intel/license.lic' # set up all the mpi commands to default to intel compilers # set_mpi_wrappers_all = 'True' -- GitLab From 4e9120dea53da6a178d82c6c2c61f56300116ace Mon Sep 17 00:00:00 2001 From: Louis Vanduyfhuys Date: Tue, 15 Mar 2016 13:50:41 +0100 Subject: [PATCH 0581/1089] Fix yaff version in quickff eb, fix yaff eb filename and fix yaff nosetests --- ...QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb | 2 +- ....develop.2.13-intel-2015b-Python-2.7.10.eb | 35 ------------------- 2 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb index e48df83b5c..5d737222c9 100644 --- a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb @@ -23,7 +23,7 @@ dependencies = [ (python, pythonversion), ('matplotlib', '1.5.0', versionsuffix), ('molmod', '1.1', versionsuffix), - ('yaff', 'thesissven2.13', '%s-HDF5-1.8.15-patch1-serial' %(versionsuffix)) + ('yaff', '1.0.develop.2.13', '%s-HDF5-1.8.15-patch1-serial' %(versionsuffix)) ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb deleted file mode 100644 index 36a2dc281d..0000000000 --- a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.13-intel-2015b-Python-2.7.10.eb +++ /dev/null @@ -1,35 +0,0 @@ -easyblock = "PythonPackage" - -name = 'yaff' -version = '1.0.develop.2.13' - -homepage = 'http://molmod.github.io/yaff/' -description = """Yaff stands for 'Yet another force field'. It is a pythonic force-field code.""" - -toolchain = {'name': 'intel', 'version': '2015b'} - -source_urls = ['https://github.com/molmod/yaff/releases/download/%(version)s'] -sources = [SOURCE_TAR_GZ] - -pyver = '2.7.10' - -hdf5ver = '1.8.15-patch1' -versionsuffix = '-Python-%s-HDF5-%s-serial' %(pyver, hdf5ver) - -dependencies = [ - ('Python', pyver), - ('h5py', '2.5.0', versionsuffix), - ('molmod', '1.1', '-Python-%s' %(pyver)), -] - -options = {'modulename': name} -#runtest = 'python setup.py build_ext -i; nosetests -v' - - -pyshortver = ".".join(pyver.split(".")[:-1]) -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%s/site-packages/%s' % (pyshortver, name)] -} - -moduleclass = 'chem' -- GitLab From 64f041f458140135cc968ab38b501f064d5b48ab Mon Sep 17 00:00:00 2001 From: Louis Vanduyfhuys Date: Tue, 15 Mar 2016 14:06:57 +0100 Subject: [PATCH 0582/1089] Update eb file to new yaff version with fixed nose tests --- ...Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb new file mode 100644 index 0000000000..235257521b --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb @@ -0,0 +1,35 @@ +easyblock = "PythonPackage" + +name = 'yaff' +version = '1.0.develop.2.14' + +homepage = 'http://molmod.github.io/yaff/' +description = """Yaff stands for 'Yet another force field'. It is a pythonic force-field code.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/molmod/yaff/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] + +pyver = '2.7.10' + +hdf5ver = '1.8.15-patch1' +versionsuffix = '-Python-%s-HDF5-%s-serial' %(pyver, hdf5ver) + +dependencies = [ + ('Python', pyver), + ('h5py', '2.5.0', versionsuffix), + ('molmod', '1.1', '-Python-%s' %(pyver)), +] + +options = {'modulename': name} +runtest = 'python setup.py build_ext -i; nosetests -v' + + +pyshortver = ".".join(pyver.split(".")[:-1]) +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/%s' % (pyshortver, name)] +} + +moduleclass = 'chem' -- GitLab From 91129f8059eb0c9f1fa4fa0dc74b8ea1d0fb46c8 Mon Sep 17 00:00:00 2001 From: Louis Vanduyfhuys Date: Tue, 15 Mar 2016 14:10:49 +0100 Subject: [PATCH 0583/1089] Update QuickFF eb file to new yaff version --- .../q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb index 5d737222c9..8eea2d3e11 100644 --- a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb @@ -23,7 +23,7 @@ dependencies = [ (python, pythonversion), ('matplotlib', '1.5.0', versionsuffix), ('molmod', '1.1', versionsuffix), - ('yaff', '1.0.develop.2.13', '%s-HDF5-1.8.15-patch1-serial' %(versionsuffix)) + ('yaff', '1.0.develop.2.14', '%s-HDF5-1.8.15-patch1-serial' %(versionsuffix)) ] sanity_check_paths = { -- GitLab From ac747bc3fc479757aa6d8eee896e4afab6afbb07 Mon Sep 17 00:00:00 2001 From: Louis Vanduyfhuys Date: Tue, 15 Mar 2016 16:28:10 +0100 Subject: [PATCH 0584/1089] Add eb file to build the molmod dependency of yaff and QuickFF --- .../molmod-1.1-intel-2015b-Python-2.7.10.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..c36da2b123 --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,34 @@ +# Built with EasyBuild version 2.2.0 on 2015-10-01_15-35-44 +easyblock = "PythonPackage" + +name = 'molmod' +version = '1.1' + +homepage = 'http://molmod.github.io/molmod/' +description = """MolMod is a Python library with many compoments that are useful to write molecular modeling programs.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/molmod/molmod/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] + +python = "Python" +pythonversion = '2.7.10' +pythonshortversion = ".".join(pythonversion.split(".")[:-1]) + +versionsuffix = "-%s-%s" % (python, pythonversion) + +dependencies = [ + (python, pythonversion), + ('matplotlib', '1.5.0', versionsuffix), +] + +options = {'modulename': 'molmod'} +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; python setup.py build_ext -i; nosetests -v' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/molmod' % pythonshortversion] +} + +moduleclass = 'math' -- GitLab From 9cb1e88ea4838c9df0b08239be240363570cdbce Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Tue, 15 Mar 2016 16:47:53 +0100 Subject: [PATCH 0585/1089] added segemehl-0.2.0-goolf-1.4.10.eb --- .../s/segemehl/segemehl-0.2.0-goolf-1.4.10.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/s/segemehl/segemehl-0.2.0-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/s/segemehl/segemehl-0.2.0-goolf-1.4.10.eb b/easybuild/easyconfigs/s/segemehl/segemehl-0.2.0-goolf-1.4.10.eb new file mode 100644 index 0000000000..39c950b357 --- /dev/null +++ b/easybuild/easyconfigs/s/segemehl/segemehl-0.2.0-goolf-1.4.10.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'MakeCp' + +name = "segemehl" +version = "0.2.0" + +homepage = 'http://www.bioinf.uni-leipzig.de/Software/segemehl/' +description = """ segemehl is a software to map short sequencer reads to reference genomes. + Unlike other methods, segemehl is able to detect not only mismatches but also insertions + and deletions. Furthermore, segemehl is not limited to a specific read length and is able + to mapprimer- or polyadenylation contaminated reads correctly. segemehl implements a matching + strategy based on enhanced suffix arrays (ESA). Segemehl now supports the SAM format, reads + gziped queries to save both disk and memory space and allows bisulfite sequencing mapping + and split read mapping. """ + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://www.bioinf.uni-leipzig.de/Software/segemehl/'] +sources = ['%s_%s.tar.gz' % (name, version.replace('.','_'))] + +parallel = 1 + +dependencies = [ + ('ncurses', '5.9'), + ('zlib', '1.2.8'), +] + +files_to_copy = [(["lack.x", "segemehl.x", "testrealign.x"], "bin")] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["lack.x" , "segemehl.x", "testrealign.x"]], + 'dirs': ["."] +} + +moduleclass = 'bio' -- GitLab From c6064624c6bb7e484e21937dab0998fe75398bd4 Mon Sep 17 00:00:00 2001 From: Louis Vanduyfhuys Date: Tue, 15 Mar 2016 19:05:38 +0100 Subject: [PATCH 0586/1089] Fix matplotlib bug in yaff eb --- ....2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb index 235257521b..29a3cca013 100644 --- a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb +++ b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb @@ -23,7 +23,7 @@ dependencies = [ ] options = {'modulename': name} -runtest = 'python setup.py build_ext -i; nosetests -v' +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; python setup.py build_ext -i; nosetests -v' pyshortver = ".".join(pyver.split(".")[:-1]) -- GitLab From 914b6e8207bd07567fb6c7b86c037e9ed21862fd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 15 Mar 2016 22:45:23 +0100 Subject: [PATCH 0587/1089] style fixes --- .../molmod-1.1-intel-2015b-Python-2.7.10.eb | 18 ++++++----------- ...QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb | 15 +++++--------- ...Python-2.7.10-HDF5-1.8.15-patch1-serial.eb | 20 ++++++++----------- 3 files changed, 19 insertions(+), 34 deletions(-) diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb index c36da2b123..4fd3ed9a53 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb @@ -1,8 +1,8 @@ -# Built with EasyBuild version 2.2.0 on 2015-10-01_15-35-44 -easyblock = "PythonPackage" +easyblock = 'PythonPackage' name = 'molmod' version = '1.1' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://molmod.github.io/molmod/' description = """MolMod is a Python library with many compoments that are useful to write molecular modeling programs.""" @@ -12,23 +12,17 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = ['https://github.com/molmod/molmod/releases/download/v%(version)s'] sources = [SOURCE_TAR_GZ] -python = "Python" -pythonversion = '2.7.10' -pythonshortversion = ".".join(pythonversion.split(".")[:-1]) - -versionsuffix = "-%s-%s" % (python, pythonversion) - dependencies = [ - (python, pythonversion), + ('Python', '2.7.10'), ('matplotlib', '1.5.0', versionsuffix), ] -options = {'modulename': 'molmod'} -runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; python setup.py build_ext -i; nosetests -v' +runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" +runtest += "python setup.py build_ext -i; nosetests -v" sanity_check_paths = { 'files': [], - 'dirs': ['lib/python%s/site-packages/molmod' % pythonshortversion] + 'dirs': ['lib/python%(pyshortver)s/site-packages/molmod'], } moduleclass = 'math' diff --git a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb index 8eea2d3e11..1920995e1b 100644 --- a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.0.1-intel-2015b-Python-2.7.10.eb @@ -1,7 +1,8 @@ -easyblock = "PythonPackage" +easyblock = 'PythonPackage' name = 'QuickFF' version = '2.0.1' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://molmod.github.io/QuickFF/' description = """QuickFF is a Python package developed at the Center for @@ -13,22 +14,16 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = ['https://github.com/molmod/QuickFF/releases/download/v%(version)s'] sources = [SOURCE_TAR_GZ] -python = "Python" -pythonversion = '2.7.10' -pythonshortversion = ".".join(pythonversion.split(".")[:-1]) - -versionsuffix = "-%s-%s" % (python, pythonversion) - dependencies = [ - (python, pythonversion), + ('Python', '2.7.10'), ('matplotlib', '1.5.0', versionsuffix), ('molmod', '1.1', versionsuffix), - ('yaff', '1.0.develop.2.14', '%s-HDF5-1.8.15-patch1-serial' %(versionsuffix)) + ('yaff', '1.0.develop.2.14', '%s-HDF5-1.8.15-patch1-serial' % versionsuffix), ] sanity_check_paths = { 'files': [], - 'dirs': ['lib/python%s/site-packages/%%(namelower)s' % pythonshortversion], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], } moduleclass = 'chem' diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb index 29a3cca013..8d4f8961ee 100644 --- a/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb +++ b/easybuild/easyconfigs/y/yaff/yaff-1.0.develop.2.14-intel-2015b-Python-2.7.10-HDF5-1.8.15-patch1-serial.eb @@ -1,7 +1,9 @@ -easyblock = "PythonPackage" +easyblock = 'PythonPackage' name = 'yaff' version = '1.0.develop.2.14' +hdf5ver = '1.8.15-patch1' +versionsuffix = '-Python-%%(pyver)s-HDF5-%s-serial' % hdf5ver homepage = 'http://molmod.github.io/yaff/' description = """Yaff stands for 'Yet another force field'. It is a pythonic force-field code.""" @@ -11,25 +13,19 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = ['https://github.com/molmod/yaff/releases/download/%(version)s'] sources = [SOURCE_TAR_GZ] -pyver = '2.7.10' - -hdf5ver = '1.8.15-patch1' -versionsuffix = '-Python-%s-HDF5-%s-serial' %(pyver, hdf5ver) - dependencies = [ - ('Python', pyver), + ('Python', '2.7.10'), ('h5py', '2.5.0', versionsuffix), - ('molmod', '1.1', '-Python-%s' %(pyver)), + ('molmod', '1.1', '-Python-%(pyver)s'), ] options = {'modulename': name} -runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; python setup.py build_ext -i; nosetests -v' - +runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; " +runtest += "python setup.py build_ext -i; nosetests -v" -pyshortver = ".".join(pyver.split(".")[:-1]) sanity_check_paths = { 'files': [], - 'dirs': ['lib/python%s/site-packages/%s' % (pyshortver, name)] + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], } moduleclass = 'chem' -- GitLab From e67988bafa0f2ee3059dc1d3611aabf40343ff48 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Mar 2016 10:00:06 +0200 Subject: [PATCH 0588/1089] Contributing Python package CosmoloPy --- ...oloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb diff --git a/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb new file mode 100644 index 0000000000..61bd20053b --- /dev/null +++ b/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb @@ -0,0 +1,31 @@ +easyblock = "PythonPackage" + +name = 'CosmoloPy' +version = '0.1.104' + +homepage = 'https://github.com/roban/CosmoloPy' +description = """A cosmology package for Python. CosmoloPy is +built on and designed for use with NumPy and SciPy.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pyver = '2.7.3' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('numpy', '1.7.1', versionsuffix), +] + +pyshortver = '.'.join(pyver.split('.')[:2]) + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages' % pyshortver], +} + +moduleclass = 'tools' -- GitLab From 73c4c8939f69bd0fbb50a0a028c6205dd963ec1f Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Mar 2016 10:34:47 +0200 Subject: [PATCH 0589/1089] Contributing Python package astropy --- ...astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb diff --git a/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb new file mode 100644 index 0000000000..bab7a31bcf --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb @@ -0,0 +1,33 @@ +easyblock = "PythonPackage" + +name = 'astropy' +version = '1.0.6' + +homepage = 'http://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pyver = '2.7.3' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('setuptools', '18.4', versionsuffix), + ('numpy', '1.7.1', versionsuffix), +] + +pyshortver = '.'.join(pyver.split('.')[:2]) + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages' % pyshortver], +} + +moduleclass = 'tools' -- GitLab From 58f33889facc9683c075bd35e88b4001ca178c81 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Mar 2016 10:36:10 +0200 Subject: [PATCH 0590/1089] Contriburing Python package Whoosh --- .../Whoosh-2.7.0-goolf-1.4.10-Python-2.7.3.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/w/Whoosh/Whoosh-2.7.0-goolf-1.4.10-Python-2.7.3.eb diff --git a/easybuild/easyconfigs/w/Whoosh/Whoosh-2.7.0-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/w/Whoosh/Whoosh-2.7.0-goolf-1.4.10-Python-2.7.3.eb new file mode 100644 index 0000000000..db2dcb5741 --- /dev/null +++ b/easybuild/easyconfigs/w/Whoosh/Whoosh-2.7.0-goolf-1.4.10-Python-2.7.3.eb @@ -0,0 +1,32 @@ +easyblock = "PythonPackage" + +name = 'Whoosh' +version = '2.7.0' + +homepage = 'https://pypi.python.org/pypi/Whoosh/' +description = """Fast, pure-Python full text indexing, +search, and spell checking library.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +python = "Python" +pyver = '2.7.3' +pyshortver = ".".join(pyver.split(".")[:-1]) + +versionsuffix = "-%s-%s" % (python, pyver) + +dependencies = [ + (python, pyver), + ('numpy','1.6.2', versionsuffix), + ('scipy', '0.11.0', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages' % pyshortver], +} + +moduleclass = 'lib' -- GitLab From ff336d5b553615453f6611f73f2be8e247eba528 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Mar 2016 12:29:49 +0200 Subject: [PATCH 0591/1089] Adding setuptools config --- ...oloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb | 31 ------------------- ...tuptools-18.4-goolf-1.4.10-Python-2.7.3.eb | 29 +++++++++++++++++ 2 files changed, 29 insertions(+), 31 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb create mode 100644 easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb diff --git a/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb deleted file mode 100644 index 61bd20053b..0000000000 --- a/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb +++ /dev/null @@ -1,31 +0,0 @@ -easyblock = "PythonPackage" - -name = 'CosmoloPy' -version = '0.1.104' - -homepage = 'https://github.com/roban/CosmoloPy' -description = """A cosmology package for Python. CosmoloPy is -built on and designed for use with NumPy and SciPy.""" - -toolchain = {'name': 'goolf', 'version': '1.4.10'} - -source_urls = [PYPI_SOURCE] -sources = [SOURCE_TAR_GZ] - -python = 'Python' -pyver = '2.7.3' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), - ('numpy', '1.7.1', versionsuffix), -] - -pyshortver = '.'.join(pyver.split('.')[:2]) - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%s/site-packages' % pyshortver], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb new file mode 100644 index 0000000000..e4b06a51e1 --- /dev/null +++ b/easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb @@ -0,0 +1,29 @@ +easyblock = "PythonPackage" + +name = "setuptools" +version = "18.4" + +homepage = "http://pypi.python.org/pypi/setuptools/" +description = """Download, build, install, upgrade, and uninstall Python packages -- easily!""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://pypi.python.org/packages/source/s/%s/' % name] +sources = [SOURCE_TAR_GZ] + +python = "Python" +pythonversion = "2.7.3" + +versionsuffix = "-%s-%s" % (python, pythonversion) + +dependencies = [(python, pythonversion)] + +py_short_ver = ".".join(pythonversion.split(".")[0:2]) +pylibdir = "lib/python%s/site-packages/%s" % (py_short_ver, name) + +sanity_check_paths = { + 'files': ["bin/easy_install", "%s-%s-py%s.egg" % (pylibdir, version, py_short_ver)], + 'dirs': [] + } + +moduleclass = 'devel' -- GitLab From 06e9ae546aa45bcdec0db8857ed5e251dfbd9e2a Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Mar 2016 12:34:27 +0200 Subject: [PATCH 0592/1089] Updated PR, deleted unwanted files --- ...astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb | 33 ------------------- ...oloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb | 31 ----------------- 2 files changed, 64 deletions(-) delete mode 100644 easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb delete mode 100644 easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb diff --git a/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb deleted file mode 100644 index bab7a31bcf..0000000000 --- a/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = "PythonPackage" - -name = 'astropy' -version = '1.0.6' - -homepage = 'http://www.astropy.org/' -description = """The Astropy Project is a community effort to develop -a single core package for Astronomy in Python and foster interoperability -between Python astronomy packages.""" - -toolchain = {'name': 'goolf', 'version': '1.4.10'} - -source_urls = [PYPI_SOURCE] -sources = [SOURCE_TAR_GZ] - -python = 'Python' -pyver = '2.7.3' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), - ('setuptools', '18.4', versionsuffix), - ('numpy', '1.7.1', versionsuffix), -] - -pyshortver = '.'.join(pyver.split('.')[:2]) - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%s/site-packages' % pyshortver], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb deleted file mode 100644 index 61bd20053b..0000000000 --- a/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb +++ /dev/null @@ -1,31 +0,0 @@ -easyblock = "PythonPackage" - -name = 'CosmoloPy' -version = '0.1.104' - -homepage = 'https://github.com/roban/CosmoloPy' -description = """A cosmology package for Python. CosmoloPy is -built on and designed for use with NumPy and SciPy.""" - -toolchain = {'name': 'goolf', 'version': '1.4.10'} - -source_urls = [PYPI_SOURCE] -sources = [SOURCE_TAR_GZ] - -python = 'Python' -pyver = '2.7.3' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), - ('numpy', '1.7.1', versionsuffix), -] - -pyshortver = '.'.join(pyver.split('.')[:2]) - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%s/site-packages' % pyshortver], -} - -moduleclass = 'tools' -- GitLab From 43d5d37b7ce6fea2f8c9ef312f9543b99a245175 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Wed, 16 Mar 2016 12:40:08 +0100 Subject: [PATCH 0593/1089] Fix typo --- easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb b/easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb index 391d1f7f0c..d81b50276d 100644 --- a/easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb +++ b/easybuild/easyconfigs/g/gmpolf/gmpolf-2016a.eb @@ -26,7 +26,7 @@ comp_mpi_tc = (comp_mpi_tc_name, version) # For binutils, stick to http://wiki.osdev.org/Cross-Compiler_Successful_Builds dependencies = [ ('GCC', gccver), - ('MVAPICH2', '2.2b', '', ('GCC', gccver)), + ('MPICH', '3.2', '', ('GCC', gccver)), (blaslib, blasver, blassuff, ('GCC', gccver)), ('FFTW', '3.3.4', '', comp_mpi_tc), ('ScaLAPACK', '2.0.2', '-%s%s' % (blas, blassuff), comp_mpi_tc), -- GitLab From 82a53a3c9515ca386991a88206c2d6f51549e672 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Wed, 16 Mar 2016 12:40:22 +0100 Subject: [PATCH 0594/1089] Cleanup --- easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb | 5 +---- easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb b/easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb index d495830401..45cf27aa8b 100644 --- a/easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb +++ b/easybuild/easyconfigs/g/gmpich/gmpich-2016a.eb @@ -13,13 +13,10 @@ compname = 'GCC' compver = '4.9.3-2.25' comp = (compname, compver) -mpilib = 'MPICH' -mpiver = '3.2' - # compiler toolchain dependencies dependencies = [ comp, - (mpilib, mpiver, '', comp), + ('MPICH', '3.2', '', comp), ] moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb b/easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb index efd6351300..80a9588d01 100644 --- a/easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb +++ b/easybuild/easyconfigs/g/gmvapich2/gmvapich2-2016a.eb @@ -13,13 +13,10 @@ compname = 'GCC' compver = '4.9.3-2.25' comp = (compname, compver) -mpilib = 'MVAPICH2' -mpiver = '2.2b' - # compiler toolchain dependencies dependencies = [ comp, - (mpilib, mpiver, '', comp), + ('MVAPICH2', '2.2b', '', comp), ] moduleclass = 'toolchain' -- GitLab From dff5ae0ec1e64be935bb7cb8270f1fa2b67eeeb3 Mon Sep 17 00:00:00 2001 From: Xavier Besseron Date: Wed, 16 Mar 2016 12:43:53 +0100 Subject: [PATCH 0595/1089] Add easyconfig for HPL with the two new toolchain gmpolf/2016a and gmvpolf/2016a --- .../easyconfigs/h/HPL/HPL-2.1-gmpolf-2016a.eb | 18 ++++++++++++++++++ .../easyconfigs/h/HPL/HPL-2.1-gmvolf-2016a.eb | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-gmpolf-2016a.eb create mode 100644 easybuild/easyconfigs/h/HPL/HPL-2.1-gmvolf-2016a.eb diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-gmpolf-2016a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-gmpolf-2016a.eb new file mode 100644 index 0000000000..ae8a971cbf --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-gmpolf-2016a.eb @@ -0,0 +1,18 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'gmpolf', 'version': '2016a'} +toolchainopts = {'optarch': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.1-gmvolf-2016a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.1-gmvolf-2016a.eb new file mode 100644 index 0000000000..d581afc6f7 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.1-gmvolf-2016a.eb @@ -0,0 +1,18 @@ +name = 'HPL' +version = '2.1' + +homepage = 'http://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic + on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the + High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'gmvolf', 'version': '2016a'} +toolchainopts = {'optarch': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.netlib.org/benchmark/%(namelower)s'] + +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] + +moduleclass = 'tools' -- GitLab From a8ab9324ac69573f4d59b9a6242c17dbe2a39137 Mon Sep 17 00:00:00 2001 From: Thekla Loizou Date: Wed, 16 Mar 2016 14:15:18 +0200 Subject: [PATCH 0596/1089] Fixing indent --- .../setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb index e4b06a51e1..0b0cd4ff22 100644 --- a/easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/setuptools/setuptools-18.4-goolf-1.4.10-Python-2.7.3.eb @@ -22,8 +22,8 @@ py_short_ver = ".".join(pythonversion.split(".")[0:2]) pylibdir = "lib/python%s/site-packages/%s" % (py_short_ver, name) sanity_check_paths = { - 'files': ["bin/easy_install", "%s-%s-py%s.egg" % (pylibdir, version, py_short_ver)], - 'dirs': [] - } + 'files': ["bin/easy_install", "%s-%s-py%s.egg" % (pylibdir, version, py_short_ver)], + 'dirs': [] +} moduleclass = 'devel' -- GitLab From 4f13a60ee4d93dc68fb5a87bd68698ec5c406b6b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 16 Mar 2016 15:03:14 +0100 Subject: [PATCH 0597/1089] add postinstall command to fix permission issues in molmod easyconfig file --- .../m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb index 4fd3ed9a53..ee1c589750 100644 --- a/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2015b-Python-2.7.10.eb @@ -20,6 +20,9 @@ dependencies = [ runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" runtest += "python setup.py build_ext -i; nosetests -v" +# fix permissions issue on files in share/molmod subdir +postinstallcmds = ['chmod -R o+r %(installdir)s/share/molmod'] + sanity_check_paths = { 'files': [], 'dirs': ['lib/python%(pyshortver)s/site-packages/molmod'], -- GitLab From 38320cfa41dcfd4886d5f64b5c19244705106374 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 16 Mar 2016 16:14:22 +0100 Subject: [PATCH 0598/1089] Revert "Updated PR, deleted unwanted files" This reverts commit 06e9ae546aa45bcdec0db8857ed5e251dfbd9e2a. --- ...astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb | 33 +++++++++++++++++++ ...oloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb | 31 +++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb create mode 100644 easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb diff --git a/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb new file mode 100644 index 0000000000..bab7a31bcf --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-1.0.6-goolf-1.4.10-Python-2.7.3.eb @@ -0,0 +1,33 @@ +easyblock = "PythonPackage" + +name = 'astropy' +version = '1.0.6' + +homepage = 'http://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pyver = '2.7.3' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('setuptools', '18.4', versionsuffix), + ('numpy', '1.7.1', versionsuffix), +] + +pyshortver = '.'.join(pyver.split('.')[:2]) + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages' % pyshortver], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb new file mode 100644 index 0000000000..61bd20053b --- /dev/null +++ b/easybuild/easyconfigs/c/CosmoloPy/CosmoloPy-0.1.104-goolf-1.4.10-Python-2.7.3.eb @@ -0,0 +1,31 @@ +easyblock = "PythonPackage" + +name = 'CosmoloPy' +version = '0.1.104' + +homepage = 'https://github.com/roban/CosmoloPy' +description = """A cosmology package for Python. CosmoloPy is +built on and designed for use with NumPy and SciPy.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pyver = '2.7.3' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('numpy', '1.7.1', versionsuffix), +] + +pyshortver = '.'.join(pyver.split('.')[:2]) + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages' % pyshortver], +} + +moduleclass = 'tools' -- GitLab From 1a564ebd3f7b674fc01c16277f53d0ba79399ff2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 16 Mar 2016 17:45:23 +0200 Subject: [PATCH 0599/1089] add easyconfig PyAMG-3.0.1-intel-2016a-Python-2.7.11.eb --- .../PyAMG-3.0.1-intel-2016a-Python-2.7.11.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyAMG/PyAMG-3.0.1-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/PyAMG/PyAMG-3.0.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyAMG/PyAMG-3.0.1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..25956cf16e --- /dev/null +++ b/easybuild/easyconfigs/p/PyAMG/PyAMG-3.0.1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,26 @@ +easyblock = "PythonPackage" + +name = 'PyAMG' +version = '3.0.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://pyamg.org' +description = """PyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), +] + +options = {'modulename': 'pyamg'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pyamg'], +} + +moduleclass = 'math' -- GitLab From df381842df1ab423a230a44afd0921ec33e2f3d6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 16 Mar 2016 18:39:27 +0100 Subject: [PATCH 0600/1089] reinstate Velvet easyconfigs that were removed in #2495 --- .../Velvet-1.2.10-intel-2015b-mt-kmer_100.eb | 29 ++++++++++++++++++ .../Velvet-1.2.10-intel-2015b-mt-kmer_31.eb | 30 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb create mode 100644 easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb new file mode 100644 index 0000000000..70b05647b0 --- /dev/null +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb @@ -0,0 +1,29 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA, 2012-2013 The Cyprus Institute +# Authors:: Cedric Laczny , Fotis Georgatos , +# Thekla Loizou , Andreas Panteli +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +name = 'Velvet' +version = '1.2.10' +versionsuffix = '-mt-kmer_100' + +homepage = 'http://www.ebi.ac.uk/~zerbino/velvet/' +description = """Sequence assembler for very short reads""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True, 'openmp': True} + +sources = ['%(namelower)s_%(version)s.tgz'] +source_urls = ['http://www.ebi.ac.uk/~zerbino/%(namelower)s'] + +buildopts = "OPENMP=1 MAXKMERLENGTH=%s" % versionsuffix.split('_')[1] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb new file mode 100644 index 0000000000..fff6a988ab --- /dev/null +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb @@ -0,0 +1,30 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA, 2012-2013 The Cyprus Institute +# Authors:: Cedric Laczny , Fotis Georgatos , +# Thekla Loizou , Andreas Panteli +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +name = 'Velvet' +version = '1.2.10' +versionsuffix = '-mt-kmer_31' + +homepage = 'http://www.ebi.ac.uk/~zerbino/velvet/' +description = """Sequence assembler for very short reads""" + +toolchain = {'name': 'intel', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True, 'openmp': True} + +sources = ['%(namelower)s_%(version)s.tgz'] +source_urls = ['http://www.ebi.ac.uk/~zerbino/%(namelower)s'] + +# by default MAXKMERLENGTH=31 but defined here to keep all the easyconfigs homogeneous +buildopts = "OPENMP=1 MAXKMERLENGTH=%s" % versionsuffix.split('_')[1] + +moduleclass = 'bio' -- GitLab From 90fa22472b6cfc099996ca3b9335d92339d1041e Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Wed, 16 Mar 2016 18:45:42 +0100 Subject: [PATCH 0601/1089] rainbow-2.0.4-goolf-1.4.10.eb --- .../r/rainbow/rainbow-2.0.4-goolf-1.4.10.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/r/rainbow/rainbow-2.0.4-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/r/rainbow/rainbow-2.0.4-goolf-1.4.10.eb b/easybuild/easyconfigs/r/rainbow/rainbow-2.0.4-goolf-1.4.10.eb new file mode 100644 index 0000000000..c431cc2a4f --- /dev/null +++ b/easybuild/easyconfigs/r/rainbow/rainbow-2.0.4-goolf-1.4.10.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'MakeCp' + +name = 'rainbow' +version = '2.0.4' + +homepage = 'https://sourceforge.net/projects/bio-rainbow/' +description = """Efficient tool for clustering and assembling short reads, especially for RAD.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://downloads.sourceforge.net/project/bio-rainbow/'] +sources = ['%(name)s_%(version)s.tar.gz'] + +buildopts = ' CC=$CC' + +files_to_copy = [(['rainbow', 'ezmsim', 'rbasm', 'select_sec_rbcontig.pl', + 'select_best_rbcontig_plus_read1.pl', 'select_sec_rbcontig.pl', 'select_all_rbcontig.pl'], 'bin')] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/rainbow', 'bin/ezmsim', 'bin/rbasm'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 7e1d2ba87aabccafdc34a72438f79de067394201 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Wed, 16 Mar 2016 18:47:49 +0100 Subject: [PATCH 0602/1089] PEAR-0.9.6-goolf-1.4.10.eb --- .../p/PEAR/PEAR-0.9.6-goolf-1.4.10.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/p/PEAR/PEAR-0.9.6-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/p/PEAR/PEAR-0.9.6-goolf-1.4.10.eb b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.6-goolf-1.4.10.eb new file mode 100644 index 0000000000..5ee2eb89d1 --- /dev/null +++ b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.6-goolf-1.4.10.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'PEAR' +version = '0.9.6' + +homepage = 'http://sco.h-its.org/exelixis/web/software/pear/' +description = """PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger. + It is fully parallelized and can run with as low as just a few kilobytes of memory.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['http://sco.h-its.org/exelixis/web/software/pear/files/'] +sources = ['%(namelower)s-%(version)s-src.tar.gz'] + +dependencies = [ + ('zlib', '1.2.8'), + ('bzip2', '1.0.6'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/pear'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 0e5d1dc188f3920467c8ddd6ff17c9fd7ac64b5c Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Wed, 16 Mar 2016 18:50:52 +0100 Subject: [PATCH 0603/1089] Mawk-1.3.4-goolf-1.4.10-20150503.eb --- .../Mawk/Mawk-1.3.4-goolf-1.4.10-20150503.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/m/Mawk/Mawk-1.3.4-goolf-1.4.10-20150503.eb diff --git a/easybuild/easyconfigs/m/Mawk/Mawk-1.3.4-goolf-1.4.10-20150503.eb b/easybuild/easyconfigs/m/Mawk/Mawk-1.3.4-goolf-1.4.10-20150503.eb new file mode 100644 index 0000000000..7235621e5d --- /dev/null +++ b/easybuild/easyconfigs/m/Mawk/Mawk-1.3.4-goolf-1.4.10-20150503.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'Mawk' +version = '1.3.4' +versionsuffix = '-20150503' + +homepage = 'http://invisible-island.net/mawk/' +description = """mawk is an interpreter for the AWK Programming Language.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +source_urls = ['ftp://invisible-island.net/mawk/'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tgz'] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/mawk'], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From 8ac95fa17358dc9aa92a48df101ea2a2074e3dae Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 16 Mar 2016 20:30:58 +0100 Subject: [PATCH 0604/1089] reinstate building MetaVelvet and copying contrib in Velvet easyconfigs --- .../v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb | 2 ++ .../v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb index 70b05647b0..52c0ab85db 100644 --- a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_100.eb @@ -26,4 +26,6 @@ source_urls = ['http://www.ebi.ac.uk/~zerbino/%(namelower)s'] buildopts = "OPENMP=1 MAXKMERLENGTH=%s" % versionsuffix.split('_')[1] +postinstallcmds = ["cd contrib/MetaVelvet-1.* && make && cd ../../ && cp -a contrib %(installdir)s/"] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb index fff6a988ab..c23584dddd 100644 --- a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2015b-mt-kmer_31.eb @@ -27,4 +27,6 @@ source_urls = ['http://www.ebi.ac.uk/~zerbino/%(namelower)s'] # by default MAXKMERLENGTH=31 but defined here to keep all the easyconfigs homogeneous buildopts = "OPENMP=1 MAXKMERLENGTH=%s" % versionsuffix.split('_')[1] +postinstallcmds = ["cd contrib/MetaVelvet-1.* && make && cd ../../ && cp -a contrib %(installdir)s/"] + moduleclass = 'bio' -- GitLab From 97559c46c82ca98f9214ed35f1ba78d4349a81ec Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 16 Mar 2016 20:55:24 +0100 Subject: [PATCH 0605/1089] bump version to 2.7.0 and update release notes --- RELEASE_NOTES | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++- setup.py | 2 +- 2 files changed, 73 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index a3e8287af7..b2548fe550 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -3,9 +3,80 @@ 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 5,093 easyconfig files, for 799 different software packages, +The latest version of easybuild-easyconfig provides 5,580 easyconfig files, for 862 different software packages, 34 different (compiler) toolchains, 12 software bundles and 1 meta-package. +v2.7.0 (March 18th 2016) +------------------------ + +feature + bugfix release +- added example easyconfig files for 63 new software packages: + ATSAS (#616, #2587), astropy (#2724, #2727), attr (#2706), BamUtil (#2654), BBMap (#2322), BH (#2508), + CheMPS2 (#2445), CosmoloPy (#2723, #2727), csvkit (#2639), Firefox (#2648), FreeXL (#2422), GL2PS (#2667), + Glade (#2631), htop (#2538), IGV (#2019), IGVTools (#2019), ImageMagick (#2438), jModelTest (#2529), + KEALib (#2420), libcerf (#2656), libgcrypt (#2201), libglade (#2631), libgpg-error (#2201), libspatialite (#2431), + LittleCMS (#2438), MAST (#2542), MLC (#2577), MPJ-Express (#2529), mutil (#2201), neon (#758), NextClip (#2544), + npstat (#2686, #2703), Octopus (#2643), QuickFF (#2721), p4vasp (#2328), PCMSolver (#2445), PFFT (#2643), + PHYLIP (#2694), pkgconfig (#2475, #2476), Platypus (#2618), pplacer (#1056), PRINSEQ (#2437, #2444, #2585), + PyFFmpeg (#2501, #2519), PyGObject (#2443), PyGTK (#2443), PyOpenGL (#2628), pyringe (#2533), qrupdate (#2675), + rgeos (#2635), rpmrebuild (#2402), shift (#2201), SNAPE-pooled (#2688), SNPhylo (#2701), sratoolkit (#2715), + STAR-Fusion (#2463), statsmodels (#2719), StringTie (#2527), synchronicity (#2508), testpath (#2461), + USEARCH (#2537), VarScan (#2464), vsc-install (#2165), Whoosh (#2725), xprop (#2645) +- added new easyconfigs for existing toolchains: + intel/2016.02-GCC-4.9 (#2620), gmpolf/2016a & gmvolf/2016a (#2589) +- stable Cray-specific easyconfigs + - delete deprecated Cray toolchains and easyconfig files (#2400) + - don't hardcode PrgEnv version, remove craype and fftw components in Cray toolchains (#2554) + - remove -XC versionsuffix for stable definitions for Cray* toolchains (#2714) + - support for various software packages with CrayGNU and CrayIntel toolchains: CP2K, GROMACS, WRF +- added additional easyconfigs for various supported software packages: version updates, different toolchains, ... + including BWA 0.7.13, CMake 3.4.3, GATE 7.2, GROMACS 5.1.2, Mesa 11.1.2, netCDF 4.4.0, Perl 5.22.1, Python 3.5.1, + R 3.2.3, R-bundle-Bioconductor 3.2, scipy 0.17.0, SuiteSparse 4.5.1 +- various other enhancements, including: + - copy contrib dir in Velvet easyconfigs so scripts are also available (#2456) + - redefine matplotlib 1.5.1 easyconfig as a bundle, also include cycler extension (dep for matplotlib) (#2470) + - add bitstring extension to Python 2.7.11 easyconfigs (#2471) + - enable building of MetaVelvet in Velvet 1.2.10 easyconfigs (#2473) + - add custom sanity check for libjpeg-turbo (#2480) + - add Velvet easyconfigs that include BioPerl dependency, so VelvetOptimizer can use it (#2495, #2729, #2733) + - add source URL in RAxML 7.2.6 easyconfigs (#2536) + - update MPICH easyconfigs to use new MPICH easyblock (#2589) + - free libX11 & co from unneeded Python dependency/versionsuffix (#2549, #2563, #2605, #2664) + - add '--enable-utf --enable-unicode-properties' configure options in PCRE easyconfigs (#2561) + - required for latest R versions + - add HCsnip, metagenomeSeq in Bioconductor 3.1 bundles (#2553, #2578) + - add additional extensions in R 3.2.x easyconfigs that are required for extra Bioconductor extensions (#2547, #2556) + - update psmpi easyconfig files to use the new psmpi easyblock (#2619) + - add easyconfig for Python 2.7.11 on top of X11-enabled Tk (#2614, #2621) + - add virtualenv as extension in Python 2.7.11 easyconfigs (#2660) +- various bug fixes, including: + - fix software name for GTK+ (was 'gtk+'), PyCairo (was 'pycairo') and Gdk-Pixbuf (was 'gdk-pixbuf') (#2468) + - don't hardcode CC/CXX in OpenMPI easyconfigs (#2472) + - remove Google Code source URL for mpi4py (#2474) + - rename ffmpeg to FFmpeg (#2425, #2481) + - use available easyblock for flex (#2486) + - fix determining list of easyconfigs in unit test suite, don't assume locations are correct (#2530) + - fix specifying DB dependency in DB_File easyconfigs (#2539) + - remove hard-coded -xSSE4.2 for numpy/scipy with Intel compilers (#2546) + - fix license headers: Hercules foundation is now FWO (#2550) + - add --with-zlib configure argument in libxml easyconfigs (#2555) + - don't hardcode optarch=True in xextproto/xtrans easyconfigs (#2601) + - change toolchain version to '' in easyconfigs that use dummy toolchain and include dependencies (#2612) + - GLib doesn't require libxml2 with Python bindings (#2632) + - add patch file to imkl 10.2.6.038 32-bit easyconfig to fix installer not being able to deal with '--' in build path (#2634) + - add missing 'pkgconfig' dependency for h5py (#2476, #2650) + - correct software name in FastQC easyconfigs (was 'fastqc'), use 'dummy' toolchain for all FastQC version (#2657, #2666) + - add missing libxml2 dependencies in GLib easyconfigs (#2658) + - fix Xerces-C++ download location (#2668) + - enable XML::Bare extension in all Perl easyconfigs (#2672) + - update dead link for SuiteSparse (#2679) + - remove custom exts_filter in easyconfigs used PythonPackage easyblock (#2683, #2685) + - add M4 as build dep for binutils & flex (#2681) + - add missing dependencies in Python 3.5.x easyconfigs: SQLite, Tk, GMP (#2704) + - fix (OS) deps, add checksums, remove parameter definition with default values in MVAPICH2 easyconfigs (#2707) +- style cleanup in various easyconfigs (#2378, #2387, #2395, #2396, #2488-#2493, #2496-#2500, #2502-#2504, #2602) + - working towards automated style review of pull requests + v2.6.0 (January 26th 2016) -------------------------- diff --git a/setup.py b/setup.py index e1abe096bf..bbfef2ebfa 100644 --- a/setup.py +++ b/setup.py @@ -47,7 +47,7 @@ from distutils import log # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '2.7.0.dev0' +VERSION = '2.7.0' API_VERSION = VERSION.split('.')[0] EB_VERSION = '.'.join(VERSION.split('.')[0:2]) -- GitLab From 887023130eadcc6a55f01d695d6cec31ef56a599 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Thu, 17 Mar 2016 14:17:05 -0500 Subject: [PATCH 0606/1089] Adding an Easyconfig file for gtool-v0.7.5 --- .../g/gtool/gtool-0.7.5_linux_x86_64.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb new file mode 100644 index 0000000000..276283587b --- /dev/null +++ b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: + +easyblock = "Binary" + +name = 'gtool' +version = '0.7.5' +versionsuffix = '_linux_x86_64' + +homepage = 'http://www.well.ox.ac.uk/~cfreeman/software/gwas/gtool.html' +description = """ GTOOL is a program for transforming sets of genotype data for use with the programs SNPTEST and IMPUTE. """ + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://www.well.ox.ac.uk/~cfreeman/software/gwas/'] +sources = ['gtool_v%(version)s_x86_64.tgz'] + +# Following commands are used to untar the file and copy the content to install directory +install_cmd = "tar xvf gtool_v%(version)s_x86_64.tgz && HOME=%(builddir)s && " +install_cmd += "cp -a %(builddir)s/* %(installdir)s" + +sanity_check_paths = { + 'files': ["gtool", "LICENCE"], + 'dirs': ["example"] +} + +moduleclass = 'bio' -- GitLab From 02c80db3e5edf4c515e7c2e84cba772f41ed4867 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Thu, 17 Mar 2016 16:55:18 -0500 Subject: [PATCH 0607/1089] Adding Easyconfig file for shapeit_v2.r837_GLIBCv2.12 --- ...shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/s/shapeit/shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb diff --git a/easybuild/easyconfigs/s/shapeit/shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb b/easybuild/easyconfigs/s/shapeit/shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb new file mode 100644 index 0000000000..a71ba8d96d --- /dev/null +++ b/easybuild/easyconfigs/s/shapeit/shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Ravi Tripathi + +easyblock = "Binary" + +name = 'shapeit' +version = '2.r837.GLIBCv2.12' +versionsuffix = '_linux_x86_64' + +homepage = 'https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.html' +description = """ SHAPEIT is a fast and accurate method for estimation of haplotypes (aka phasing) from genotype or sequencing data. """ + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/'] +sources = ['shapeit.v%(version)s.Linux.static.tgz'] + +# Following commands are used to untar the file and copy the content to install directory +install_cmd = "tar xzvf shapeit.v%(version)s.Linux.static.tgz && HOME=%(builddir)s && " +install_cmd += "cp -a %(builddir)s/* %(installdir)s" + +sanity_check_paths = { + 'files': ["bin/shapeit", "LICENCE"], + 'dirs': ["example"] +} + +moduleclass = 'bio' -- GitLab From 4ac34ac670957972ae454538b960cf7b2b57bd5e Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Thu, 17 Mar 2016 17:08:51 -0500 Subject: [PATCH 0608/1089] Adding author to the Easyconfig file for gtool --- easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb index 276283587b..aa280fb576 100644 --- a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb +++ b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb @@ -1,5 +1,5 @@ # This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# Author: +# Author: Ravi Tripathi easyblock = "Binary" -- GitLab From b42b09ef2b1fdebe5b1d98891eed75169834e0f9 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Fri, 18 Mar 2016 02:12:56 -0500 Subject: [PATCH 0609/1089] Changing the name of Easyconfig file for gtool v0.7.5 --- .../g/gtool/gtool-0.7.5-linux_x86_64.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb new file mode 100644 index 0000000000..aa280fb576 --- /dev/null +++ b/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Ravi Tripathi + +easyblock = "Binary" + +name = 'gtool' +version = '0.7.5' +versionsuffix = '_linux_x86_64' + +homepage = 'http://www.well.ox.ac.uk/~cfreeman/software/gwas/gtool.html' +description = """ GTOOL is a program for transforming sets of genotype data for use with the programs SNPTEST and IMPUTE. """ + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://www.well.ox.ac.uk/~cfreeman/software/gwas/'] +sources = ['gtool_v%(version)s_x86_64.tgz'] + +# Following commands are used to untar the file and copy the content to install directory +install_cmd = "tar xvf gtool_v%(version)s_x86_64.tgz && HOME=%(builddir)s && " +install_cmd += "cp -a %(builddir)s/* %(installdir)s" + +sanity_check_paths = { + 'files': ["gtool", "LICENCE"], + 'dirs': ["example"] +} + +moduleclass = 'bio' -- GitLab From 38474722b49c807cdbe36716e92088c8f989803d Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Fri, 18 Mar 2016 02:15:47 -0500 Subject: [PATCH 0610/1089] Changing the name of Easyconfig file for gtool v0.7.5 --- .../g/gtool/gtool-0.7.5_linux_x86_64.eb | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb deleted file mode 100644 index aa280fb576..0000000000 --- a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb +++ /dev/null @@ -1,27 +0,0 @@ -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# Author: Ravi Tripathi - -easyblock = "Binary" - -name = 'gtool' -version = '0.7.5' -versionsuffix = '_linux_x86_64' - -homepage = 'http://www.well.ox.ac.uk/~cfreeman/software/gwas/gtool.html' -description = """ GTOOL is a program for transforming sets of genotype data for use with the programs SNPTEST and IMPUTE. """ - -toolchain = {'name': 'dummy', 'version': 'dummy'} - -source_urls = ['http://www.well.ox.ac.uk/~cfreeman/software/gwas/'] -sources = ['gtool_v%(version)s_x86_64.tgz'] - -# Following commands are used to untar the file and copy the content to install directory -install_cmd = "tar xvf gtool_v%(version)s_x86_64.tgz && HOME=%(builddir)s && " -install_cmd += "cp -a %(builddir)s/* %(installdir)s" - -sanity_check_paths = { - 'files': ["gtool", "LICENCE"], - 'dirs': ["example"] -} - -moduleclass = 'bio' -- GitLab From 9f51538585027769015932d76f80f27967b610f7 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Fri, 18 Mar 2016 02:19:51 -0500 Subject: [PATCH 0611/1089] Change the name of easyconfig file for shapeit-v2.r837_GLIBCv2.12 --- ...linux_x86_64.eb => shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/s/shapeit/{shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb => shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb} (100%) diff --git a/easybuild/easyconfigs/s/shapeit/shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb b/easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb similarity index 100% rename from easybuild/easyconfigs/s/shapeit/shapeit_v2.r837_GLIBCv2.12_linux_x86_64.eb rename to easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb -- GitLab From 73c1f0a92e6ba69c9a6e6b0aaee1edc1ec9a395a Mon Sep 17 00:00:00 2001 From: Daniel Navarro-Gomez Date: Fri, 18 Mar 2016 10:39:18 -0400 Subject: [PATCH 0612/1089] Add easyconfig BWA-0.7.13-goolf-1.4.10 --- .../b/BWA/BWA-0.7.13-goolf-1.4.10.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb new file mode 100644 index 0000000000..403c2a7c2e --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb @@ -0,0 +1,26 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos , Daniel Navarro +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +name = 'BWA' +version = '0.7.13' + +homepage = 'http://bio-bwa.sourceforge.net/' +description = """Burrows-Wheeler Aligner (BWA) is an efficient program that aligns + relatively short nucleotide sequences against a long reference sequence such as the human genome.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = [('http://sourceforge.net/projects/bio-bwa/files/', 'download')] + +moduleclass = 'bio' -- GitLab From 808d1eb56e319ed017b07fb3b2e748acb67f7686 Mon Sep 17 00:00:00 2001 From: Daniel Navarro-Gomez Date: Fri, 18 Mar 2016 11:03:07 -0400 Subject: [PATCH 0613/1089] Including zlib as dependency for BWA-0.7.13-goolf-1.4.10.eb --- easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb index 403c2a7c2e..439ab3ce81 100644 --- a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb @@ -19,6 +19,7 @@ description = """Burrows-Wheeler Aligner (BWA) is an efficient program that alig toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'optarch': True, 'pic': True} +dependencies = [('zlib', '1.2.8')] sources = [SOURCELOWER_TAR_BZ2] source_urls = [('http://sourceforge.net/projects/bio-bwa/files/', 'download')] -- GitLab From 4e25132c4035aabb3f79d24934f93419d26090b7 Mon Sep 17 00:00:00 2001 From: Daniel Navarro-Gomez Date: Fri, 18 Mar 2016 11:07:02 -0400 Subject: [PATCH 0614/1089] Style fix --- easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb index 439ab3ce81..9cbb01f191 100644 --- a/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.13-goolf-1.4.10.eb @@ -19,9 +19,10 @@ description = """Burrows-Wheeler Aligner (BWA) is an efficient program that alig toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'optarch': True, 'pic': True} -dependencies = [('zlib', '1.2.8')] sources = [SOURCELOWER_TAR_BZ2] source_urls = [('http://sourceforge.net/projects/bio-bwa/files/', 'download')] +dependencies = [('zlib', '1.2.8')] + moduleclass = 'bio' -- GitLab From 9f856123b6f4837cfafad3e129861c9e1fb14293 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Sat, 19 Mar 2016 10:54:21 +0100 Subject: [PATCH 0615/1089] fixed foss easyconfig --- easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb index 2ecf3ea45f..67cfd94871 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb @@ -153,7 +153,7 @@ exts_list = [ }), ('Archive::Extract', '0.76', { 'source_tmpl': 'Archive-Extract-0.76.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "BINGOS"'], + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS'], }), ('DBIx::Simple', '1.35', { 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', @@ -405,7 +405,7 @@ exts_list = [ }), ('Date::Language', '2.30', { 'source_tmpl': 'TimeDate-2.30.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "GBARR"'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], }), ('version', '0.9915', { 'source_tmpl': 'version-0.9915.tar.gz', @@ -546,7 +546,7 @@ exts_list = [ }), ('boolean', '0.45', { 'source_tmpl': 'boolean-0.45.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "INGY"'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], }), ('Number::Format', '1.75', { 'source_tmpl': 'Number-Format-1.75.tar.gz', -- GitLab From 3fad4beecd206cdad60adebf2b8719dc3051d37c Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Sat, 19 Mar 2016 10:56:24 +0100 Subject: [PATCH 0616/1089] fixed intel easyconfig --- easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb index ae84220ef2..fd9ccde670 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb @@ -153,7 +153,7 @@ exts_list = [ }), ('Archive::Extract', '0.76', { 'source_tmpl': 'Archive-Extract-0.76.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "BINGOS"'], + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS'], }), ('DBIx::Simple', '1.35', { 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', @@ -405,7 +405,7 @@ exts_list = [ }), ('Date::Language', '2.30', { 'source_tmpl': 'TimeDate-2.30.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "GBARR"'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], }), ('version', '0.9915', { 'source_tmpl': 'version-0.9915.tar.gz', @@ -547,7 +547,7 @@ exts_list = [ }), ('boolean', '0.45', { 'source_tmpl': 'boolean-0.45.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/ / "/ "INGY"'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], }), ('Number::Format', '1.75', { 'source_tmpl': 'Number-Format-1.75.tar.gz', -- GitLab From 8e71210d0960333d22b625b7fac297dd84f5a7a0 Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Sat, 19 Mar 2016 12:12:16 +0100 Subject: [PATCH 0617/1089] updated url --- easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb | 2 +- easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb index 67cfd94871..404b98df7e 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb @@ -153,7 +153,7 @@ exts_list = [ }), ('Archive::Extract', '0.76', { 'source_tmpl': 'Archive-Extract-0.76.tar.gz', - 'source_urls': ['http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], }), ('DBIx::Simple', '1.35', { 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb index fd9ccde670..aed8a467d0 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb @@ -153,7 +153,7 @@ exts_list = [ }), ('Archive::Extract', '0.76', { 'source_tmpl': 'Archive-Extract-0.76.tar.gz', - 'source_urls': ['http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], }), ('DBIx::Simple', '1.35', { 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', -- GitLab From df78df46c817032519ddcb787df100b0c846983d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 20 Mar 2016 08:50:34 +0100 Subject: [PATCH 0618/1089] fix release date for EasyBuild v2.7.0 --- RELEASE_NOTES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index b2548fe550..b5c225454e 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -6,7 +6,7 @@ These release notes can also be consulted at http://easybuild.readthedocs.org/en The latest version of easybuild-easyconfig provides 5,580 easyconfig files, for 862 different software packages, 34 different (compiler) toolchains, 12 software bundles and 1 meta-package. -v2.7.0 (March 18th 2016) +v2.7.0 (March 20th 2016) ------------------------ feature + bugfix release -- GitLab From 972a0974247a5f3641728f8fcdce30c47e4b4835 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 20 Mar 2016 10:45:38 +0100 Subject: [PATCH 0619/1089] bump version to 2.8.0.dev0 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index bbfef2ebfa..72cf85df21 100644 --- a/setup.py +++ b/setup.py @@ -47,7 +47,7 @@ from distutils import log # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '2.7.0' +VERSION = '2.8.0dev0' API_VERSION = VERSION.split('.')[0] EB_VERSION = '.'.join(VERSION.split('.')[0:2]) -- GitLab From f2ecb8a398d2a16aecb24c378131202077b6f485 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 20 Mar 2016 11:45:55 +0200 Subject: [PATCH 0620/1089] add easyconfig EasyBuild-2.7.0.eb --- .../e/EasyBuild/EasyBuild-2.7.0.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/e/EasyBuild/EasyBuild-2.7.0.eb diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-2.7.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-2.7.0.eb new file mode 100644 index 0000000000..1ca29896e8 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-2.7.0.eb @@ -0,0 +1,31 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '2.7.0' + +homepage = 'http://hpcugent.github.com/easybuild/' +description = """EasyBuild is a software build and installation framework + written in Python that allows you to install software in a structured, + repeatable and robust way.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = [ + 'https://pypi.python.org/packages/source/v/vsc-base/', + 'https://pypi.python.org/packages/source/e/easybuild-framework/', + 'https://pypi.python.org/packages/source/e/easybuild-easyblocks/', + 'https://pypi.python.org/packages/source/e/easybuild-easyconfigs/', +] +# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?) +sources = [ + 'vsc-base-2.4.18.tar.gz', + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] + +# EasyBuild is a (set of) Python packages, so it depends on Python +# usually, we want to use the system Python, so no actual Python dependency is listed +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +moduleclass = 'tools' -- GitLab From 4dcdd9aa5726c945a7301332f00b431d1db3da86 Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 08:30:39 +0100 Subject: [PATCH 0621/1089] add easyconfig inputproto-2.3.1-foss-2016a.eb, add easyconfig kbproto-1.0.7-foss-2016a.eb, add easyconfig libpthread-stubs-0.3-foss-2016a.eb, add easyconfig libX11-1.6.3-foss-2016a.eb, add easyconfig libXau-1.0.8-foss-2016a.eb, add easyconfig libxcb-1.11.1-foss-2016a.eb, add easyconfig libXdmcp-1.1.2-foss-2016a.eb, add easyconfig xextproto-7.3.0-foss-2016a.eb, add easyconfig xproto-7.0.28-foss-2016a.eb, add easyconfig xtrans-1.3.5-foss-2016a.eb --- .../inputproto/inputproto-2.3.1-foss-2016a.eb | 19 ++++++++++ .../k/kbproto/kbproto-1.0.7-foss-2016a.eb | 19 ++++++++++ .../l/libX11/libX11-1.6.3-foss-2016a.eb | 37 +++++++++++++++++++ .../l/libXau/libXau-1.0.8-foss-2016a.eb | 25 +++++++++++++ .../l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb | 25 +++++++++++++ .../libpthread-stubs-0.3-foss-2016a.eb | 20 ++++++++++ .../l/libxcb/libxcb-1.11.1-foss-2016a.eb | 33 +++++++++++++++++ .../x/xextproto/xextproto-7.3.0-foss-2016a.eb | 24 ++++++++++++ .../x/xproto/xproto-7.0.28-foss-2016a.eb | 23 ++++++++++++ .../x/xtrans/xtrans-1.3.5-foss-2016a.eb | 22 +++++++++++ 10 files changed, 247 insertions(+) create mode 100644 easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb new file mode 100644 index 0000000000..be4171cde7 --- /dev/null +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'inputproto' +version = '2.3.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org InputProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb new file mode 100644 index 0000000000..bca5ddd7ca --- /dev/null +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'kbproto' +version = '1.0.7' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org KBProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb new file mode 100644 index 0000000000..7bbdcf2dc4 --- /dev/null +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libX11' +version = '1.6.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xextproto', '7.3.0'), + ('xcb-proto', '1.11', '', True), + ('inputproto', '2.3.1'), + ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), + ('kbproto', '1.0.7'), + ('xtrans', '1.3.5'), +] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'cursorfont.h', 'ImUtil.h', 'Xcms.h', 'XKBlib.h', 'XlibConf.h', 'Xlib.h', 'Xlibint.h', 'Xlib-xcb.h', + 'Xlocale.h', 'Xregion.h', 'Xresource.h', 'Xutil.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb new file mode 100644 index 0000000000..8694ab5ad2 --- /dev/null +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXau' +version = '1.0.8' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXau package contains a library implementing the X11 Authorization Protocol. +This is useful for restricting client access to the display.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb new file mode 100644 index 0000000000..c12e65e6e8 --- /dev/null +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdmcp' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is +useful for allowing clients to interact with the X Display Manager. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] +sanity_check_paths = { + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb new file mode 100644 index 0000000000..fcb767cfdb --- /dev/null +++ b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libpthread-stubs' +version = '0.3' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'foss', 'version': '2016a'} + +sanity_check_paths = { + 'files': ['lib/pkgconfig/pthread-stubs.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb new file mode 100644 index 0000000000..d818b47843 --- /dev/null +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libxcb' +version = '1.11.1' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('xcb-proto', '1.11', '', True), + ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), +] +dependencies = [ + ('libXau', '1.0.8'), + ('libXdmcp', '1.1.2'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], + 'dirs': ['include/xcb', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb new file mode 100644 index 0000000000..9bc6335cdf --- /dev/null +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xextproto' +version = '7.3.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """XExtProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'agproto.h', 'cupproto.h', 'dbeproto.h', 'dpmsproto.h', 'EVIproto.h', 'geproto.h', 'lbxproto.h', + 'mitmiscproto.h', 'multibufproto.h', 'securproto.h', 'shapeproto.h', 'shm.h', 'shmstr.h', 'syncproto.h', + 'xtestconst.h', 'xtestext1proto.h' + ] + ], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb new file mode 100644 index 0000000000..3e787177f0 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.28' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', + 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', + 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', + 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb new file mode 100644 index 0000000000..1d32cb1ae6 --- /dev/null +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xtrans' +version = '1.3.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """xtrans includes a number of routines to make X implementations transport-independent; + at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From a07b7c3608e80cb5bbbcd8ad159231b462582047 Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 08:39:44 +0100 Subject: [PATCH 0622/1089] add easyconfig libXext-1.3.3-foss-2016a.eb --- .../l/libXext/libXext-1.3.3-foss-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb new file mode 100644 index 0000000000..fc57003279 --- /dev/null +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libXext' +version = '1.3.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """Common X Extensions library""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'dpms.h', 'extutil.h', 'MITMisc.h', 'multibuf.h', 'security.h', 'shape.h', 'sync.h', 'Xag.h', 'Xcup.h', + 'Xdbe.h', 'XEVI.h', 'Xext.h', 'Xge.h', 'XLbx.h', 'XShm.h', 'xtestext1.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From ada59b306cff8427daa61380d50f9e4419e1f6dc Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 08:56:07 +0100 Subject: [PATCH 0623/1089] add easyconfig libXft-2.3.2-foss-2016a.eb, add easyconfig fontconfig-2.11.94-foss-2016a.eb, add easyconfig freetype-2.6.2-foss-2016a.eb, add easyconfig libXrender-0.9.9-foss-2016a.eb, add easyconfig renderproto-0.11-foss-2016a.eb --- .../fontconfig-2.11.94-foss-2016a.eb | 22 +++++++++++++ .../f/freetype/freetype-2.6.2-foss-2016a.eb | 22 +++++++++++++ .../l/libXft/libXft-2.3.2-foss-2016a.eb | 31 +++++++++++++++++++ .../libXrender/libXrender-0.9.9-foss-2016a.eb | 28 +++++++++++++++++ .../renderproto-0.11-foss-2016a.eb | 20 ++++++++++++ 5 files changed, 123 insertions(+) create mode 100644 easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXft/libXft-2.3.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb create mode 100644 easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb new file mode 100644 index 0000000000..d955835431 --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.11.94' + +homepage = 'http://www.freedesktop.org/software/fontconfig' +description = """Fontconfig is a library designed to provide system-wide font configuration, customization and +application access.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('expat', '2.1.0'), + ('freetype', '2.6.2'), +] + +configopts = '--disable-docs ' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb new file mode 100644 index 0000000000..41c2f0204e --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb @@ -0,0 +1,22 @@ +name = 'freetype' +version = '2.6.2' + +homepage = 'http://freetype.org' +description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and + portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display + servers, font conversion tools, text image generation tools, and many other products as well.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('libpng', '1.6.21')] + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, + 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXft/libXft-2.3.2-foss-2016a.eb b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-foss-2016a.eb new file mode 100644 index 0000000000..1a968a5ada --- /dev/null +++ b/easybuild/easyconfigs/l/libXft/libXft-2.3.2-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXft' +version = '2.3.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXrender', '0.9.9'), + ('freetype', '2.6.2'), + ('fontconfig', '2.11.94'), +] + +sanity_check_paths = { + 'files': ['lib/libXft.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb new file mode 100644 index 0000000000..eee347a314 --- /dev/null +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libXrender' +version = '0.9.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['lib/libXrender.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb new file mode 100644 index 0000000000..48199d0511 --- /dev/null +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'renderproto' +version = '0.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrender protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 61e73501ae42f1a56e50031555bd20d3cf4aeb0d Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 09:00:48 +0100 Subject: [PATCH 0624/1089] add easyconfig PCRE-8.38-foss-2016a.eb --- .../p/PCRE/PCRE-8.38-foss-2016a.eb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb new file mode 100644 index 0000000000..1fe2fcb26c --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE' +version = '8.38' + +homepage = 'http://www.pcre.org/' +description = """ + The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax + and semantics as Perl 5. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" + +moduleclass = 'devel' -- GitLab From d84ea63b7582b3cf1d54b1bc07bdc32a2da5222c Mon Sep 17 00:00:00 2001 From: Toon Verstraelen Date: Mon, 21 Mar 2016 17:30:01 +0100 Subject: [PATCH 0625/1089] New TAMkin easyconfig --- .../TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb new file mode 100644 index 0000000000..9f28a619eb --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb @@ -0,0 +1,37 @@ +easyblock = "PythonPackage" + +name = 'TAMkin' +version = '1.0.8' + +homepage = 'http://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'intel', 'version': '2015b'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] + +python = "Python" +pythonversion = '2.7.10' +pythonshortversion = ".".join(pythonversion.split(".")[:-1]) + +versionsuffix = "-%s-%s" % (python, pythonversion) + +dependencies = [ + (python, pythonversion), + ('matplotlib', '1.5.0', versionsuffix), + ('molmod', '1.1', versionsuffix), +] + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v test' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/%%(namelower)s' % pythonshortversion], +} + +moduleclass = 'chem' -- GitLab From 85471cb0716f38691dff6baf1aa00a73ba0845b8 Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 17:49:48 +0100 Subject: [PATCH 0626/1089] add easyconfig gperf-3.0.4-foss-2016a.eb --- .../g/gperf/gperf-3.0.4-foss-2016a.eb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 easybuild/easyconfigs/g/gperf/gperf-3.0.4-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.0.4-foss-2016a.eb b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-foss-2016a.eb new file mode 100644 index 0000000000..0547875020 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.0.4-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/gperf/' +description = """GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash + function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash + function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single + string comparison only.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 1017f5824cdac5303667b828d4b0c54a1b5d73eb Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 18:10:54 +0100 Subject: [PATCH 0627/1089] modify easyconfig bzip2-1.0.6-foss-2016a.eb, add easyconfig gettext-0.19.6-foss-2016a.eb, add easyconfig GraphicsMagick-1.3.23-foss-2016a.eb, modify easyconfig libjpeg-turbo-1.4.2-foss-2016a.eb, add easyconfig LibTIFF-4.0.6-foss-2016a.eb, modify easyconfig libtool-2.4.6-foss-2016a.eb, modify easyconfig libxml2-2.9.3-foss-2016a.eb, add easyconfig XZ-5.2.2-foss-2016a.eb --- .../GraphicsMagick-1.3.23-foss-2016a.eb | 34 +++++++++++++++++++ .../g/gettext/gettext-0.19.6-foss-2016a.eb | 18 ++++++++++ .../l/LibTIFF/LibTIFF-4.0.6-foss-2016a.eb | 33 ++++++++++++++++++ .../easyconfigs/x/XZ/XZ-5.2.2-foss-2016a.eb | 30 ++++++++++++++++ 4 files changed, 115 insertions(+) create mode 100644 easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.6-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.0.6-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/XZ/XZ-5.2.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb new file mode 100644 index 0000000000..e3433e3f0b --- /dev/null +++ b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'GraphicsMagick' +version = '1.3.23' + +homepage = 'http://www.graphicsmagick.org/' +description = """GraphicsMagick is the swiss army knife of image processing.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/%(version_major_minor)s/', +] +sources = [SOURCE_TAR_GZ] + +builddependencies = [ + ('libtool', '2.4.6'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('bzip2', '1.0.6'), + ('freetype', '2.6.2'), + ('libpng', '1.6.21'), + ('libjpeg-turbo', '1.4.2'), + ('LibTIFF', '4.0.6'), + ('libxml2', '2.9.3'), + ('XZ', '5.2.2'), + ('zlib', '1.2.8'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.6-foss-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.6-foss-2016a.eb new file mode 100644 index 0000000000..1fdb744032 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.6-foss-2016a.eb @@ -0,0 +1,18 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.6' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = '--without-emacs' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.0.6-foss-2016a.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.0.6-foss-2016a.eb new file mode 100644 index 0000000000..d7aa3b2df4 --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.0.6-foss-2016a.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos , Alan O'Cais (JSC) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.0.6' + +homepage = 'http://www.remotesensing.org/libtiff/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + 'http://download.osgeo.org/libtiff/', + 'ftp://ftp.remotesensing.org/pub/libtiff/', +] +sources = ['tiff-%(version)s.tar.gz'] + +sanity_check_paths = { + 'files': ['bin/tiffinfo'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.2-foss-2016a.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.2-foss-2016a.eb new file mode 100644 index 0000000000..2a89ca6af6 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.2-foss-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.2' + +homepage = 'http://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://tukaani.org/xz/'] + +builddependencies = [ + ('Autotools', '20150215'), +] + +dependencies = [ + ('gettext', '0.19.6'), +] + +# may become useful in non-x86 archs +#configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ["bin/xz", "bin/lzmainfo"], + 'dirs': [] +} + +moduleclass = 'tools' -- GitLab From e5236a98d2ea36fb4c3a4aa8ed4eb98f0f43f076 Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 18:29:11 +0100 Subject: [PATCH 0628/1089] add easyconfig qrupdate-1.1.2-foss-2016a.eb --- .../q/qrupdate/qrupdate-1.1.2-foss-2016a.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-foss-2016a.eb new file mode 100644 index 0000000000..27976f981b --- /dev/null +++ b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-foss-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'MakeCp' + +name = 'qrupdate' +version = '1.1.2' + +homepage = 'https://sourceforge.net/projects/qrupdate/' +description = """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [SOURCEFORGE_SOURCE] + +patches = ['%(name)s-%(version)s_makeconf.patch'] + +buildopts = 'lib' + +files_to_copy = [(['libqrupdate.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libqrupdate.a'], + 'dirs': [], +} + +parallel = 1 + +moduleclass = 'numlib' -- GitLab From 994d6f447d81fb081150ce1a1aec518a4bd2d45b Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 18:40:00 +0100 Subject: [PATCH 0629/1089] add easyconfig HDF5-1.8.16-foss-2016a-serial.eb --- .../h/HDF5/HDF5-1.8.16-foss-2016a-serial.eb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a-serial.eb diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a-serial.eb new file mode 100644 index 0000000000..2936e9795e --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-foss-2016a-serial.eb @@ -0,0 +1,22 @@ +name = 'HDF5' +version = '1.8.16' +versionsuffix = '-serial' + +homepage = 'http://www.hdfgroup.org/HDF5/' +description = """HDF5 is a unique technology suite that makes possible the management of + extremely large and complex data collections.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True, 'usempi': False} + +source_urls = ['http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +patches = ['configure_libtool.patch'] + +dependencies = [ + ('zlib', '1.2.8'), + ('Szip', '2.1'), +] + +moduleclass = 'data' -- GitLab From 7a94c71bd384f3f1dc82777fc7abd5c24f5fcfab Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 20:51:41 +0100 Subject: [PATCH 0630/1089] add easyconfig GLib-2.47.5-foss-2016a.eb, add easyconfig libffi-3.2.1-foss-2016a.eb, add easyconfig libICE-1.0.9-foss-2016a.eb, add easyconfig libSM-1.2.2-foss-2016a.eb, add easyconfig libXt-1.1.5-foss-2016a.eb, add easyconfig Qt-4.8.7-foss-2016a.eb --- .../g/GLib/GLib-2.47.5-foss-2016a.eb | 33 ++++++++++++++++ .../l/libICE/libICE-1.0.9-foss-2016a.eb | 27 +++++++++++++ .../l/libSM/libSM-1.2.2-foss-2016a.eb | 28 +++++++++++++ .../l/libXt/libXt-1.1.5-foss-2016a.eb | 39 +++++++++++++++++++ .../l/libffi/libffi-3.2.1-foss-2016a.eb | 23 +++++++++++ .../easyconfigs/q/Qt/Qt-4.8.7-foss-2016a.eb | 24 ++++++++++++ 6 files changed, 174 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXt/libXt-1.1.5-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb new file mode 100644 index 0000000000..06841954c4 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.47.5' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.6'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), +] + +builddependencies = [('Python', '2.7.11')] + +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" + +postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb new file mode 100644 index 0000000000..fa49f6c97c --- /dev/null +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libICE' +version = '1.0.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Inter-Client Exchange library for freedesktop.org""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +dependencies = [ + ('xtrans', '1.3.5'), +] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['include/X11/ICE/ICE%s.h' % x for x in ['', 'conn', 'lib', 'msg', 'proto', 'util']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb new file mode 100644 index 0000000000..fe3df1bbcf --- /dev/null +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libSM' +version = '1.2.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 Session Management library, which allows for applications to both manage sessions, + and make use of session managers to save and restore their state for later use.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +dependencies = [ + ('libICE', '1.0.9'), +] +builddependencies = [ + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), +] + +sanity_check_paths = { + 'files': ['include/X11/SM/%s' % x for x in ['SM.h', 'SMlib.h', 'SMproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libXt/libXt-1.1.5-foss-2016a.eb b/easybuild/easyconfigs/l/libXt/libXt-1.1.5-foss-2016a.eb new file mode 100644 index 0000000000..e37e36b1f5 --- /dev/null +++ b/easybuild/easyconfigs/l/libXt/libXt-1.1.5-foss-2016a.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'libXt' +version = '1.1.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are + based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), + ('kbproto', '1.0.7'), +] + +dependencies = [ + ('libSM', '1.2.2'), + ('libICE', '1.0.9'), + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'CallbackI.h', 'CompositeP.h', 'Constraint.h', 'Core.h', 'CreateI.h', 'HookObjI.h', 'Intrinsic.h', + 'IntrinsicP.h', 'ObjectP.h', 'RectObj.h', 'ResConfigP.h', 'SelectionI.h', 'ShellI.h', 'StringDefs.h', + 'TranslateI.h', 'Vendor.h', 'Xtos.h', 'Composite.h', 'ConstrainP.h', 'ConvertI.h', 'CoreP.h', 'EventI.h', + 'InitialI.h', 'IntrinsicI.h', 'Object.h', 'PassivGraI.h', 'RectObjP.h', 'ResourceI.h', 'Shell.h', 'ShellP.h', + 'ThreadsI.h', 'VarargsI.h', 'VendorP.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb new file mode 100644 index 0000000000..c7c638b6fa --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.2.1' + +homepage = 'http://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to various calling +conventions. This allows a programmer to call any function specified by a call interface description at run-time.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + 'ftp://sourceware.org/pub/libffi/', + 'http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/', +] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': [('lib/libffi.%s' % SHLIB_EXT, 'lib64/libffi.%s' % SHLIB_EXT), ('lib/libffi.a', 'lib64/libffi.a')], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a.eb new file mode 100644 index 0000000000..fd0d5932c9 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a.eb @@ -0,0 +1,24 @@ +name = 'Qt' +version = '4.8.7' + +homepage = 'http://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + 'http://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/', + 'http://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/' +] +sources = ['%(namelower)s-everywhere-opensource-src-%(version)s.tar.gz'] + +patches = ['Qt-%(version)s_phonon-export.patch'] + +dependencies = [ + ('GLib', '2.47.5'), + ('libX11', '1.6.3'), + ('libXt', '1.1.5'), + ('libXrender', '0.9.9'), +] + +moduleclass = 'devel' -- GitLab From 27b9000a75e68f57f624ad38be815faa1baeb57f Mon Sep 17 00:00:00 2001 From: Toon Verstraelen Date: Mon, 21 Mar 2016 21:45:37 +0100 Subject: [PATCH 0631/1089] Simplify python dependency info in TAMkin easyconfig --- .../t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb index 9f28a619eb..808f61dc12 100644 --- a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb @@ -13,14 +13,10 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = ['https://github.com/molmod/tamkin/releases/download/v%(version)s'] sources = [SOURCE_TAR_GZ] -python = "Python" -pythonversion = '2.7.10' -pythonshortversion = ".".join(pythonversion.split(".")[:-1]) - -versionsuffix = "-%s-%s" % (python, pythonversion) +versionsuffix = "-Python-%(pyver)s" dependencies = [ - (python, pythonversion), + ('Python', '2.7.10'), ('matplotlib', '1.5.0', versionsuffix), ('molmod', '1.1', versionsuffix), ] -- GitLab From 27c1ecfe7002a2e31f8b1719dfd7ee9f8cfa0a41 Mon Sep 17 00:00:00 2001 From: Toon Verstraelen Date: Mon, 21 Mar 2016 21:47:46 +0100 Subject: [PATCH 0632/1089] Move line in TAMkin easyconfig --- .../t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb index 808f61dc12..b5bff455c0 100644 --- a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb @@ -2,6 +2,7 @@ easyblock = "PythonPackage" name = 'TAMkin' version = '1.0.8' +versionsuffix = "-Python-%(pyver)s" homepage = 'http://molmod.github.io/tamkin/' description = """TAMkin is a post-processing toolkit for normal mode analysis, @@ -13,8 +14,6 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = ['https://github.com/molmod/tamkin/releases/download/v%(version)s'] sources = [SOURCE_TAR_GZ] -versionsuffix = "-Python-%(pyver)s" - dependencies = [ ('Python', '2.7.10'), ('matplotlib', '1.5.0', versionsuffix), -- GitLab From 916e9d74d7e679b04d4ac0e44f1f3df12ca03d13 Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 22:23:46 +0100 Subject: [PATCH 0633/1089] add easyconfig eudev-3.1.5-foss-2016a.eb, add easyconfig fixesproto-5.0-foss-2016a.eb, add easyconfig fontsproto-2.1.3-foss-2016a.eb, add easyconfig glproto-1.4.17-foss-2016a.eb, add easyconfig libdrm-2.4.67-foss-2016a.eb, add easyconfig libfontenc-1.1.3-foss-2016a.eb, add easyconfig libpciaccess-0.13.4-foss-2016a.eb, add easyconfig libXdamage-1.1.4-foss-2016a.eb, add easyconfig libXfixes-5.0.1-foss-2016a.eb, add easyconfig libXfont-1.5.1-foss-2016a.eb, add easyconfig makedepend-1.0.5-foss-2016a.eb, add easyconfig Mesa-11.1.2-foss-2016a.eb, add easyconfig pkg-config-0.29-foss-2016a.eb, add easyconfig xorg-macros-1.19.0-foss-2016a.eb --- .../e/eudev/eudev-3.1.5-foss-2016a.eb | 32 +++++++++ .../f/fixesproto/fixesproto-5.0-foss-2016a.eb | 19 ++++++ .../fontsproto/fontsproto-2.1.3-foss-2016a.eb | 20 ++++++ .../g/glproto/glproto-1.4.17-foss-2016a.eb | 20 ++++++ .../libXdamage/libXdamage-1.1.4-foss-2016a.eb | 25 +++++++ .../l/libXfixes/libXfixes-5.0.1-foss-2016a.eb | 24 +++++++ .../l/libXfont/libXfont-1.5.1-foss-2016a.eb | 31 +++++++++ .../l/libdrm/libdrm-2.4.67-foss-2016a.eb | 28 ++++++++ .../libfontenc/libfontenc-1.1.3-foss-2016a.eb | 23 +++++++ .../libpciaccess-0.13.4-foss-2016a.eb | 26 +++++++ .../m/Mesa/Mesa-11.1.2-foss-2016a.eb | 68 +++++++++++++++++++ .../makedepend/makedepend-1.0.5-foss-2016a.eb | 20 ++++++ .../pkg-config/pkg-config-0.29-foss-2016a.eb | 27 ++++++++ .../xorg-macros-1.19.0-foss-2016a.eb | 22 ++++++ 14 files changed, 385 insertions(+) create mode 100644 easybuild/easyconfigs/e/eudev/eudev-3.1.5-foss-2016a.eb create mode 100644 easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb create mode 100644 easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/e/eudev/eudev-3.1.5-foss-2016a.eb b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-foss-2016a.eb new file mode 100644 index 0000000000..3265e4fdb4 --- /dev/null +++ b/easybuild/easyconfigs/e/eudev/eudev-3.1.5-foss-2016a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'eudev' +version = '3.1.5' + +homepage = 'https://wiki.gentoo.org/wiki/Project:Eudev' +description = """eudev is a fork of systemd-udev with the goal of obtaining + better compatibility with existing software such as + OpenRC and Upstart, older kernels, various toolchains + and anything else required by users and various distributions.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://dev.gentoo.org/~blueness/%(name)s/'] +patches = ['%(name)s-3.1.2_pre-2.6.34_kernel.patch'] + +builddependencies = [ + ('gperf', '3.0.4'), +] + +osdependencies = [('kernel-headers', 'linux-libc-dev')] + +configopts = '--disable-blkid --disable-selinux --disable-gudev --disable-manpages ' +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/udevadm', 'include/libudev.h', 'include/udev.h', 'lib/libudev.so.1'], + 'dirs': [], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb new file mode 100644 index 0000000000..4fe8f2b4dc --- /dev/null +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'fixesproto' +version = '5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org FixesProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb new file mode 100644 index 0000000000..0d7fd4a4a2 --- /dev/null +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'fontsproto' +version = '2.1.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X11 font extension wire protocol" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb new file mode 100644 index 0000000000..d26077ac1e --- /dev/null +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'glproto' +version = '1.4.17' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-foss-2016a.eb b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-foss-2016a.eb new file mode 100644 index 0000000000..19c75463d3 --- /dev/null +++ b/easybuild/easyconfigs/l/libXdamage/libXdamage-1.1.4-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdamage' +version = '1.1.4' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Damage extension library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +dependencies = [ + ('libX11', '1.6.3'), + ('libxcb', '1.11.1'), + ('libXau', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xdamage.h', 'lib/libXdamage.%s' % SHLIB_EXT, 'lib/libXdamage.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb new file mode 100644 index 0000000000..aa11951f76 --- /dev/null +++ b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libXfixes' +version = '5.0.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Fixes extension library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fixesproto', '5.0'), + ('xextproto', '7.3.0'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xfixes.h', 'lib/libXfixes.a', 'lib/libXfixes.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a.eb b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a.eb new file mode 100644 index 0000000000..b62ce08a63 --- /dev/null +++ b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXfont' +version = '1.5.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X font libary""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fontsproto', '2.1.3'), + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), + ('xorg-macros', '1.19.0'), + ('libfontenc', '1.1.3'), +] +dependencies = [ + ('libX11', '1.6.3'), + ('freetype', '2.6.2'), +] + +sanity_check_paths = { + 'files': ['lib/libXfont.%s' % SHLIB_EXT, 'lib/libXfont.a'], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-foss-2016a.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-foss-2016a.eb new file mode 100644 index 0000000000..93d87d9533 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.67-foss-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libdrm' +version = '2.4.67' + +homepage = 'http://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +source_urls = ['http://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'foss', 'version': '2016a'} + +builddependencies = [ + ('libpthread-stubs', '0.3'), +] + +dependencies = [ + ('libpciaccess', '0.13.4'), +] + +sanity_check_paths = { + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, + 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], + 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-foss-2016a.eb b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-foss-2016a.eb new file mode 100644 index 0000000000..b21fd6654e --- /dev/null +++ b/easybuild/easyconfigs/l/libfontenc/libfontenc-1.1.3-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfontenc' +version = '1.1.3' + +homepage = 'http://www.freedesktop.org/wiki/Software/xlibs/' +description = """X11 font encoding library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['include/X11/fonts/fontenc.h', 'lib/libfontenc.%s' % SHLIB_EXT, 'lib/libfontenc.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb new file mode 100644 index 0000000000..75924f159f --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.13.4' + +homepage = 'http://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +source_urls = ['http://cgit.freedesktop.org/xorg/lib/libpciaccess/snapshot'] +sources = [SOURCE_TAR_GZ] + +toolchain = {'name': 'foss', 'version': '2016a'} + +builddependencies = [ + ('Autotools', '20150215'), + ('xorg-macros', '1.19.0'), +] + +preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb new file mode 100644 index 0000000000..c9dd66c1c1 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '11.1.2' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + ('Autotools', '20150215'), + ('pkg-config', '0.29'), + ('glproto', '1.4.17'), + ('kbproto', '1.0.7'), + ('libpthread-stubs', '0.3'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.28'), + ('makedepend', '1.0.5'), +] + +dependencies = [ + ('libxml2', '2.9.3'), + ('libdrm', '2.4.67'), + ('libX11', '1.6.3',), + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), + ('libXdamage', '1.1.4'), + ('libXfont', '1.5.1'), + ('LLVM', '3.7.1'), + ('eudev', '3.1.5'), +] + +# Use the os provided libudev or the EB provided eudev +#osdependencies = ['libudev'] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri" +configopts += " --enable-xlib-glx --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl" +configopts += " --with-osmesa-bits=32 --enable-texture-float " + +# package-config files for os dependencies are in an os specific place +#preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' +preconfigopts = ' libtoolize && ' + +prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, + 'lib/libGLESv2.%s' %SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', 'include/GL/glx.h', + 'include/GL/osmesa.h', 'include/GL/wglext.h', 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], + 'dirs': [] +} + +maxparallel = 1 + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb new file mode 100644 index 0000000000..8bd95eee91 --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.5' + +homepage = "http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html" +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb new file mode 100644 index 0000000000..2796515752 --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29' + +homepage = 'http://www.freedesktop.org/wiki/Software/pkg-config/' +description = """pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the + correct compiler options on the command line so an application can use + gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other libraries).""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://pkgconfig.freedesktop.org/releases/'] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb new file mode 100644 index 0000000000..3965c12078 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.0' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 441307a0cbfd668e39a248b8a868d3edfa9e331c Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 22:28:31 +0100 Subject: [PATCH 0634/1089] add easyconfig GLPK-4.58-foss-2016a.eb --- .../g/GLPK/GLPK-4.58-foss-2016a.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLPK/GLPK-4.58-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-4.58-foss-2016a.eb b/easybuild/easyconfigs/g/GLPK/GLPK-4.58-foss-2016a.eb new file mode 100644 index 0000000000..d5751eec2a --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-4.58-foss-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'GLPK' +version = '4.58' + +homepage = 'https://www.gnu.org/software/glpk/' +description = """The GLPK (GNU Linear Programming Kit) package is intended for + solving large-scale linear programming (LP), + mixed integer programming (MIP), and other related problems. + It is a set of routines written in ANSI C + and organized in the form of a callable library.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://ftp.gnu.org/gnu/%(namelower)s/'] + +dependencies = [('GMP', '6.1.0')] + +configopts = "--with-gmp" + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/glpk.h'] + + ['lib/libglpk.%s' % x for x in [SHLIB_EXT, 'a']], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From 20a9dff4b702a113c5e9375b03ff2aeb68147707 Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 22:38:33 +0100 Subject: [PATCH 0635/1089] add easyconfig freeglut-3.0.0-foss-2016a.eb, add easyconfig GL2PS-1.3.9-foss-2016a.eb, add easyconfig libGLU-9.0.0-foss-2016a.eb, add easyconfig libXi-1.7.6-foss-2016a.eb, add easyconfig libXmu-1.1.2-foss-2016a.eb, add easyconfig libXpm-3.5.11-foss-2016a.eb, add easyconfig libXrandr-1.5.0-foss-2016a.eb, add easyconfig randrproto-1.5.0-foss-2016a.eb --- .../f/freeglut/freeglut-3.0.0-foss-2016a.eb | 37 +++++++++++++++++++ .../g/GL2PS/GL2PS-1.3.9-foss-2016a.eb | 34 +++++++++++++++++ .../l/libGLU/libGLU-9.0.0-foss-2016a.eb | 24 ++++++++++++ .../l/libXi/libXi-1.7.6-foss-2016a.eb | 30 +++++++++++++++ .../l/libXmu/libXmu-1.1.2-foss-2016a.eb | 25 +++++++++++++ .../l/libXpm/libXpm-3.5.11-foss-2016a.eb | 22 +++++++++++ .../l/libXrandr/libXrandr-1.5.0-foss-2016a.eb | 31 ++++++++++++++++ .../randrproto/randrproto-1.5.0-foss-2016a.eb | 19 ++++++++++ 8 files changed, 222 insertions(+) create mode 100644 easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a.eb new file mode 100644 index 0000000000..aa4fa34ea2 --- /dev/null +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'freeglut' +version = '3.0.0' + +homepage = 'http://freeglut.sourceforge.net/' +description = "freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library." + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(name)s'] + +builddependencies = [('CMake', '3.4.3')] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('libXrandr', '1.5.0'), + ('libXi', '1.7.6'), + ('Mesa', '11.1.2'), +] + +configopts = ' -DX11_X11_LIB="$EBROOTLIBX11/lib/libX11.so" ' +configopts += ' -DX11_X11_INCLUDE_PATH="$EBROOTLIBX11/include/X11" ' +configopts += ' -DX11_Xext_LIB="$EBROOTLIBXEXT/lib/libXext.so" ' +configopts += ' -DX11_Xrandr_LIB="$EBROOTLIBXRANDR/lib/libXrandr.so" ' +configopts += ' -DX11_Xrandr_INCLUDE_PATH="$EBROOTLIBXRANDR/include/X11/extensions/" ' +configopts += ' -DX11_Xi_LIB="$EBROOTLIBXIlib/libXrandr.so" ' +configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTLIBXI/include/X11/extensions/" ' + +sanity_check_paths = { + 'files': [('lib/libglut.a', 'lib64/libglut.a'), ('lib/libglut.%s' % SHLIB_EXT, 'lib64/libglut.%s' % SHLIB_EXT)], + 'dirs': ['include/GL'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a.eb new file mode 100644 index 0000000000..f83060a449 --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.3.9' + +homepage = 'http://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] + +builddependencies = [ + ('CMake', '3.4.3'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXi', '1.7.6'), + ('libXmu', '1.1.2'), + ('Mesa', '11.1.2'), + ('libGLU', '9.0.0'), + ('freeglut', '3.0.0'), + ('libpng', '1.6.21'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.so'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb new file mode 100644 index 0000000000..087bd589cb --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +dependencies = [ + ('Mesa', '11.1.2'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb new file mode 100644 index 0000000000..bd92d68db6 --- /dev/null +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' +name = 'libXi' +version = '1.7.6' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """LibXi provides an X Window System client interface to the XINPUT extension to the X protocol.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), + ('inputproto', '2.3.1'), + ('xorg-macros', '1.19.0'), +] + +dependencies = [ + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/XInput.h', 'include/X11/extensions/XInput2.h', 'lib/libXi.%s' % SHLIB_EXT, 'lib/libXi.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-foss-2016a.eb new file mode 100644 index 0000000000..c219eeb168 --- /dev/null +++ b/easybuild/easyconfigs/l/libXmu/libXmu-1.1.2-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXmu' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXmu provides a set of miscellaneous utility convenience functions for X libraries to use. + libXmuu is a lighter-weight version that does not depend on libXt or libXext""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +dependencies = [ + ('libXt', '1.1.5'), + ('libXpm', '3.5.11'), +] +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['%(name)s.a', '%%(name)s.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-foss-2016a.eb b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-foss-2016a.eb new file mode 100644 index 0000000000..1cc567cb36 --- /dev/null +++ b/easybuild/easyconfigs/l/libXpm/libXpm-3.5.11-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libXpm' +version = '3.5.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """libXp provides the X print library.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [('gettext', '0.19.6')] + +sanity_check_paths = { + 'files': ['lib/%s' % x for x in ['libXpm.a', 'libXpm.%s' % SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb b/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb new file mode 100644 index 0000000000..b6614e79e7 --- /dev/null +++ b/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXrandr' +version = '1.5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Resize, Rotate and Reflection extension library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('randrproto', '1.5.0'), + ('renderproto', '0.11'), + ('xextproto', '7.3.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('libXrender', '0.9.9'), +] + +sanity_check_paths = { + 'files': ['lib/libXrandr.%s' % SHLIB_EXT, 'lib/libXrandr.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb new file mode 100644 index 0000000000..eab697bf89 --- /dev/null +++ b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'randrproto' +version = '1.5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrandr protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['randr.h', 'randrproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 40ee838e51bc76352a13168ef86058d8d4dfa8dc Mon Sep 17 00:00:00 2001 From: hajgato Date: Mon, 21 Mar 2016 22:53:41 +0100 Subject: [PATCH 0636/1089] add easyconfig cairo-1.14.6-foss-2016a.eb, add easyconfig gnuplot-5.0.3-foss-2016a.eb, add easyconfig GObject-Introspection-1.47.1-foss-2016a.eb, add easyconfig HarfBuzz-1.1.3-foss-2016a.eb, add easyconfig libcerf-1.4-foss-2016a.eb, add easyconfig libgd-2.1.1-foss-2016a.eb, add easyconfig Pango-1.39.0-foss-2016a.eb, add easyconfig pixman-0.34.0-foss-2016a.eb --- .../c/cairo/cairo-1.14.6-foss-2016a.eb | 49 +++++++++++++++++++ ...GObject-Introspection-1.47.1-foss-2016a.eb | 47 ++++++++++++++++++ .../g/gnuplot/gnuplot-5.0.3-foss-2016a.eb | 42 ++++++++++++++++ .../h/HarfBuzz/HarfBuzz-1.1.3-foss-2016a.eb | 34 +++++++++++++ .../l/libcerf/libcerf-1.4-foss-2016a.eb | 28 +++++++++++ .../l/libgd/libgd-2.1.1-foss-2016a.eb | 26 ++++++++++ .../p/Pango/Pango-1.39.0-foss-2016a.eb | 31 ++++++++++++ .../p/pixman/pixman-0.34.0-foss-2016a.eb | 20 ++++++++ 8 files changed, 277 insertions(+) create mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.1.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libcerf/libcerf-1.4-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libgd/libgd-2.1.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/Pango/Pango-1.39.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb new file mode 100644 index 0000000000..3684c31e54 --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.14.6' + +homepage = 'http://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] + +glibver = '2.47.5' + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libpng', '1.6.21'), + ('freetype', '2.6.2'), + ('pixman', '0.34.0'), + ('fontconfig', '2.11.94'), + ('expat', '2.1.0'), + ('GLib', glibver), + ('libX11', '1.6.3'), + ('libxcb', '1.11.1'), + ('libXrender', '0.9.9'), + ('libXext', '1.3.3'), +] +builddependencies = [ + ('renderproto', '0.11'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes " + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb new file mode 100644 index 0000000000..3c83530c29 --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'GObject-Introspection' +version = '1.47.1' + +homepage = 'https://wiki.gnome.org/GObjectIntrospection/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +pyver = '2.7.11' + +dependencies = [ + ('Python', pyver), + ('GLib', '2.47.5'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + ('cairo', '1.14.6'), + ('libffi', '3.2.1'), +] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = "GI_SCANNER_DISABLE_CACHE=true " + +# avoid using hard-coded path to 'python' in shebang of scripts +buildopts = "PYTHON=python" + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.%s' % x for x in ['so', 'a']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-foss-2016a.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-foss-2016a.eb new file mode 100644 index 0000000000..7e42e00e67 --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.0.3-foss-2016a.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '5.0.3' + +homepage = 'http://gnuplot.sourceforge.net/' +description = """Portable interactive, function plotting utility""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/gnuplot/files', 'download')] + +dependencies = [ + ('cairo', '1.14.6'), + ('libjpeg-turbo', '1.4.2'), + ('libpng', '1.6.21'), + ('libgd', '2.1.1'), + ('Pango', '1.39.0'), + ('libcerf', '1.4'), + ('Qt', '4.8.7'), +] + +configopts = '--with-qt=qt4 ' + +sanity_check_paths = { + 'files': ['bin/gnuplot'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.1.3-foss-2016a.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.1.3-foss-2016a.eb new file mode 100644 index 0000000000..91db4cfacd --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.1.3-foss-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '1.1.3' + +homepage = 'http://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.freedesktop.org/software/harfbuzz/release/'] +sources = [SOURCELOWER_TAR_BZ2] + +glibver = '2.47.5' +dependencies = [ + ('GLib', glibver), + ('cairo', '1.14.6'), + ('freetype', '2.6.2'), + ('GObject-Introspection', '1.47.1') +] + +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-1.4-foss-2016a.eb b/easybuild/easyconfigs/l/libcerf/libcerf-1.4-foss-2016a.eb new file mode 100644 index 0000000000..4f3471b4f6 --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-1.4-foss-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libcerf' +version = '1.4' + +homepage = 'http://gnuplot.sourceforge.net/' +description = """libcerf is a self-contained numeric library that provides an efficient and accurate + implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TGZ] +source_urls = [ + 'http://apps.jcns.fz-juelich.de/src/libcerf/', + 'http://apps.jcns.fz-juelich.de/src/libcerf/old', +] + +builddependencies = [ + ('Autotools', '20150215'), + ('libtool', '2.4.6'), +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.1.1-foss-2016a.eb b/easybuild/easyconfigs/l/libgd/libgd-2.1.1-foss-2016a.eb new file mode 100644 index 0000000000..b645a00595 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.1.1-foss-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.1.1' + +homepage = 'http://libgd.bitbucket.org/' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://bitbucket.org/libgd/gd-libgd/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('fontconfig', '2.11.94'), + ('libjpeg-turbo', '1.4.2'), + ('libpng', '1.6.21'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ["lib/libgd.a", "lib/libgd.%s" % SHLIB_EXT], + 'dirs': ["bin", "include"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.39.0-foss-2016a.eb b/easybuild/easyconfigs/p/Pango/Pango-1.39.0-foss-2016a.eb new file mode 100644 index 0000000000..80529d5bda --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.39.0-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'Pango' +version = '1.39.0' + +homepage = 'http://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +glibver = '2.47.5' +dependencies = [ + ('GLib', glibver), + ('cairo', '1.14.6'), + ('HarfBuzz', '1.1.3'), + ('GObject-Introspection', '1.47.1'), + ('fontconfig', '2.11.94') +] + +configopts = "--disable-silent-rules --enable-introspection=yes --enable-static --enable-shared " + +modextrapaths = { + 'XDG_DATA_DIRS': 'share', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb b/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb new file mode 100644 index 0000000000..896aab1550 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = "pixman" +version = '0.34.0' + +homepage = 'http://www.pixman.org/' +description = """Pixman is a low-level software library for pixel manipulation, providing features such as image +compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' -- GitLab From 1aa7665c7c05b88a165667d0c2b727827d2b2f70 Mon Sep 17 00:00:00 2001 From: Toon Verstraelen Date: Tue, 22 Mar 2016 09:42:54 +0100 Subject: [PATCH 0637/1089] Fix string substitution issues in TAMkin easyconfig --- .../t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb index b5bff455c0..baf9ff6145 100644 --- a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb @@ -26,7 +26,7 @@ runtest += 'export OMP_NUM_THREADS=1; nosetests -v test' sanity_check_paths = { 'files': [], - 'dirs': ['lib/python%s/site-packages/%%(namelower)s' % pythonshortversion], + 'dirs': ['lib/python-%(pyshortver)s/site-packages/%(namelower)s'], } moduleclass = 'chem' -- GitLab From 3cf1a6a9ba4ea24407a165db18bb20e91aa8e5da Mon Sep 17 00:00:00 2001 From: Toon Verstraelen Date: Tue, 22 Mar 2016 09:50:39 +0100 Subject: [PATCH 0638/1089] Fix typo in TAMkin easyconfig --- .../t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb index baf9ff6145..c4a906b243 100644 --- a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.8-intel-2015b-Python-2.7.10.eb @@ -26,7 +26,7 @@ runtest += 'export OMP_NUM_THREADS=1; nosetests -v test' sanity_check_paths = { 'files': [], - 'dirs': ['lib/python-%(pyshortver)s/site-packages/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], } moduleclass = 'chem' -- GitLab From 09f2c97bc278a4a2ea87de7137f1a2234a539801 Mon Sep 17 00:00:00 2001 From: hajgato Date: Tue, 22 Mar 2016 10:26:15 +0100 Subject: [PATCH 0639/1089] add easyconfig FLTK-1.3.3-foss-2016a.eb, add easyconfig libXcursor-1.1.14-foss-2016a.eb, add easyconfig libXinerama-1.1.3-foss-2016a.eb, add easyconfig xineramaproto-1.2.1-foss-2016a.eb, add easyconfig xprop-1.2.2-foss-2016a.eb --- .../f/FLTK/FLTK-1.3.3-foss-2016a.eb | 37 +++++++++++++++++++ .../libXcursor-1.1.14-foss-2016a.eb | 29 +++++++++++++++ .../libXinerama-1.1.3-foss-2016a.eb | 31 ++++++++++++++++ .../xineramaproto-1.2.1-foss-2016a.eb | 19 ++++++++++ .../x/xprop/xprop-1.2.2-foss-2016a.eb | 26 +++++++++++++ 5 files changed, 142 insertions(+) create mode 100644 easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xprop/xprop-1.2.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-foss-2016a.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-foss-2016a.eb new file mode 100644 index 0000000000..650bf33743 --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.3-foss-2016a.eb @@ -0,0 +1,37 @@ +# +# author: Dina Mahmoud Ibrahim ( Cairo University ) +# +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.3' + +homepage = 'http://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +source_urls = ['http://fltk.org/pub/%(namelower)s/%(version)s/'] + + +dependencies = [ + ('libX11', '1.6.3'), + ('libXcursor', '1.1.14'), + ('libXinerama', '1.1.3'), + ('Mesa', '11.1.2'), + ('libGLU', '9.0.0'), + ('libpng', '1.6.21'), + ('libjpeg-turbo', '1.4.2'), + ('xprop', '1.2.2'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid'], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-foss-2016a.eb b/easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-foss-2016a.eb new file mode 100644 index 0000000000..1fc949ad4e --- /dev/null +++ b/easybuild/easyconfigs/l/libXcursor/libXcursor-1.1.14-foss-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libXcursor' +version = '1.1.14' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Cursor management library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fixesproto', '5.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXfixes', '5.0.1'), + ('libXrender', '0.9.9'), +] + +sanity_check_paths = { + 'files': ['include/X11/Xcursor/Xcursor.h', 'lib/libXcursor.%s' % SHLIB_EXT, 'lib/libXcursor.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-foss-2016a.eb b/easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-foss-2016a.eb new file mode 100644 index 0000000000..e0a2e3d206 --- /dev/null +++ b/easybuild/easyconfigs/l/libXinerama/libXinerama-1.1.3-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXinerama' +version = '1.1.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """Xinerama multiple monitor library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('xineramaproto', '1.2.1'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.28'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), +] + +sanity_check_paths = { + 'files': ['lib/libXinerama.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb new file mode 100644 index 0000000000..a40280e419 --- /dev/null +++ b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'xineramaproto' +version = '1.2.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers for xinerama" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/panoramiXproto.h'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xprop/xprop-1.2.2-foss-2016a.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.2-foss-2016a.eb new file mode 100644 index 0000000000..bd60b7c873 --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.2-foss-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.2' + +homepage = "http://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://ftp.x.org/archive/individual/app/'] + +builddependencies = [ + ('xorg-macros', '1.19.0'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 6ccd02bdb1d7397de31d2b3f8060e559b373798e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Hajgat=C3=B3?= Date: Tue, 22 Mar 2016 11:29:53 +0100 Subject: [PATCH 0640/1089] Update GraphicsMagick-1.3.23-foss-2016a.eb -fpic needed by Octacve --- .../g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb index e3433e3f0b..6fa3747197 100644 --- a/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-foss-2016a.eb @@ -7,6 +7,7 @@ homepage = 'http://www.graphicsmagick.org/' description = """GraphicsMagick is the swiss army knife of image processing.""" toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} source_urls = [ SOURCEFORGE_SOURCE, -- GitLab From 803e8384f663f340a66fa4ea79d36fc448b63b3b Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Tue, 22 Mar 2016 11:32:09 +0100 Subject: [PATCH 0641/1089] Octave needs pic --- .../g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb index 755ecbe16c..ea37c3e81c 100644 --- a/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.23-intel-2016a.eb @@ -7,6 +7,7 @@ homepage = 'http://www.graphicsmagick.org/' description = """GraphicsMagick is the swiss army knife of image processing.""" toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} source_urls = [ SOURCEFORGE_SOURCE, -- GitLab From e8b93739a75d8c20e97ab89028bb9b58fb7cf0cf Mon Sep 17 00:00:00 2001 From: Pablo Escobar Date: Tue, 22 Mar 2016 11:53:27 +0100 Subject: [PATCH 0642/1089] BayeScEnv-1.1-goolf-1.4.10.eb --- .../b/BayeScEnv/BayeScEnv-1.1-goolf-1.4.10.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/b/BayeScEnv/BayeScEnv-1.1-goolf-1.4.10.eb diff --git a/easybuild/easyconfigs/b/BayeScEnv/BayeScEnv-1.1-goolf-1.4.10.eb b/easybuild/easyconfigs/b/BayeScEnv/BayeScEnv-1.1-goolf-1.4.10.eb new file mode 100644 index 0000000000..7a976185d2 --- /dev/null +++ b/easybuild/easyconfigs/b/BayeScEnv/BayeScEnv-1.1-goolf-1.4.10.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'MakeCp' + +name = 'BayeScEnv' +version = '1.1' + +homepage = 'https://github.com/devillemereuil/bayescenv' +description = """BayeScEnv is a Fst-based, genome-scan method that uses environmental variables to detect local adaptation.""" + +toolchain = {'name': 'goolf', 'version': '1.4.10'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/devillemereuil/bayescenv/archive/'] +sources = ['v%(version)s.tar.gz'] + +start_dir = 'source' + +files_to_copy = [(['source/bayescenv'], 'bin'), 'test', 'COPYING', 'README.md', 'ChangeLog'] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/bayescenv'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 1527993f12857255edb7ffbd9efcf6da5fd95aee Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 22 Mar 2016 21:47:20 +0000 Subject: [PATCH 0643/1089] Update rtracklayer to 1.30.3 --- .../R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 2 +- .../R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb index d1392d23cc..78a36e128c 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -80,7 +80,7 @@ exts_list = [ ('DEGseq', '1.24.0', bioconductor_options), ('hgu133plus2.db', '3.2.2', bioconductor_options), ('illuminaio', '0.12.0', bioconductor_options), - ('rtracklayer', '1.30.2', bioconductor_options), + ('rtracklayer', '1.30.3', bioconductor_options), ('biomaRt', '2.26.1', bioconductor_options), ('GenomicFeatures', '1.22.13', bioconductor_options), ('bumphunter', '1.10.0', bioconductor_options), diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb index 60d39797ec..42093e636a 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb @@ -79,7 +79,7 @@ exts_list = [ ('DEGseq', '1.24.0', bioconductor_options), ('hgu133plus2.db', '3.2.2', bioconductor_options), ('illuminaio', '0.12.0', bioconductor_options), - ('rtracklayer', '1.30.2', bioconductor_options), + ('rtracklayer', '1.30.3', bioconductor_options), ('biomaRt', '2.26.1', bioconductor_options), ('GenomicFeatures', '1.22.13', bioconductor_options), ('bumphunter', '1.10.0', bioconductor_options), -- GitLab From d2f49d06ce3607de57e4bb93705bde9247dfdd3e Mon Sep 17 00:00:00 2001 From: fenoyc Date: Thu, 24 Mar 2016 14:25:31 +0100 Subject: [PATCH 0644/1089] add easyconfig OSU-Micro-Benchmarks-5.2-goolf-1.7.20.eb --- .../OSU-Micro-Benchmarks-5.2-goolf-1.7.20.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.2-goolf-1.7.20.eb diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.2-goolf-1.7.20.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.2-goolf-1.7.20.eb new file mode 100644 index 0000000000..456a180ae7 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.2-goolf-1.7.20.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.2' + +homepage = 'http://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'goolf', 'version': '1.7.20'} + +source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$MPICC" CXX="$MPICC"' + +benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +modextrapaths = {'PATH': benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': benchmark_dirs, +} + +moduleclass = 'perf' -- GitLab From 95827494b4f314243b046063bd45bbc3eafc50f2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 24 Mar 2016 16:32:58 +0200 Subject: [PATCH 0645/1089] modify easyconfig GCCcore-4.9.3.eb --- easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb index 268b052687..78428e12c5 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.3.eb @@ -25,7 +25,10 @@ sources = [ 'mpc-1.0.2.tar.gz', ] -builddependencies = [('binutils', '2.25')] +builddependencies = [ + ('Autotools', '20150215'), + ('binutils', '2.25'), +] patches = [('mpfr-%s-allpatches-20141204.patch' % mpfr_version, '../mpfr-%s' % mpfr_version)] -- GitLab From af28806336f567e64466ba8f29d19006bfd9612a Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 24 Mar 2016 17:58:21 +0200 Subject: [PATCH 0646/1089] add easyconfig Saxon-HE-9.7.0.4-Java-1.7.0_79.eb --- .../Saxon-HE-9.7.0.4-Java-1.7.0_79.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb diff --git a/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb new file mode 100644 index 0000000000..eed56a9078 --- /dev/null +++ b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb @@ -0,0 +1,28 @@ +easyblock = 'Tarball' + +name = 'Saxon-HE' +version = '9.7.0.4' + +homepage = 'http://saxon.sourceforge.net' +description = """Open Source SAXON XSLT processor developed by Saxonica Limited.""" + +toolchain = {'name': 'dummy', 'version': ''} + +sources = ['SaxonHE%sJ.zip' % version.replace(".","-")] + +source_urls = ['https://sourceforge.net/projects/saxon/files/Saxon-HE/%(version_major_minor)s' , 'download'] + +versionsuffix = '-Java-%(javaver)s' + +dependencies = [('Java', '1.7.0_79')] + +jarfiles = ['saxon%(version_major)she.jar', 'saxon%(version_major)s-test.jar', 'saxon%(version_major)s-xqj.jar'] + +sanity_check_paths = { + 'files': jarfiles, + 'dirs': [], +} + +modextrapaths = {'CLASSPATH': jarfiles} + +moduleclass = 'devel' -- GitLab From cca33c128a3ac475714f4c99fea45fb369affbb2 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 24 Mar 2016 18:18:48 +0200 Subject: [PATCH 0647/1089] modify easyconfig M4-1.4.17-GCCcore-4.9.3.eb --- easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb index c1c8a52948..02f06d5cfe 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb @@ -16,7 +16,7 @@ source_urls = [GNU_SOURCE] # use same binutils version that was used when building GCC toolchain builddependencies = [('binutils', '2.25', '', True)] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS='-fgnu89-inline'" sanity_check_paths = { 'files': ["bin/m4"], -- GitLab From 73a8f1353ac0011e1c698eee8587510a306c8898 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 24 Mar 2016 17:24:33 +0100 Subject: [PATCH 0648/1089] Bump FSL to intel/2016a --- .../f/FSL/FSL-5.0.9-intel-2016a.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb b/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb new file mode 100644 index 0000000000..145ff09b91 --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb @@ -0,0 +1,23 @@ +name = 'FSL' +version = '5.0.9' + +homepage = 'http://www.fmrib.ox.ac.uk/fsl/' +description = """FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ["http://www.fmrib.ox.ac.uk/fsldownloads/"] +sources = ['%(namelower)s-%(version)s-sources.tar.gz'] + +patches = [ + 'FSL-%(version)s_makefile_fixes.patch', + 'FSL_icc_nan-inf_fix.patch', +] + +dependencies = [ + ('freeglut', '3.0.0'), + ('expat', '2.1.0'), + ('libX11', '1.6.3'), +] + +moduleclass = 'bio' -- GitLab From 4f63d5fd457e914b17b505a79ab9b948dac38ef5 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 08:42:15 +0200 Subject: [PATCH 0649/1089] modify easyconfig Tk-8.6.4-foss-2016a-no-X11.eb --- easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2016a-no-X11.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2016a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2016a-no-X11.eb index 6f98f7076c..449ce63a29 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2016a-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2016a-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8') ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' -- GitLab From 7d31e07e4d50572096fe299846f23480ab5f8264 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 08:50:57 +0200 Subject: [PATCH 0650/1089] modify easyconfig M4-1.4.17-foss-2016a.eb --- easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2016a.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2016a.eb index 0d030e3264..ce563e7def 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2016a.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2016a.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS='-fgnu89-inline'" sanity_check_paths = { 'files': ["bin/m4"], -- GitLab From 123ca05e26b955947108f4f3a2bb414138e46df9 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 10:40:25 +0200 Subject: [PATCH 0651/1089] add easyconfig ant-1.9.6-Java-1.7.0_79.eb --- .../a/ant/ant-1.9.6-Java-1.7.0_79.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_79.eb diff --git a/easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_79.eb b/easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_79.eb new file mode 100644 index 0000000000..3ee7c5b406 --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.9.6-Java-1.7.0_79.eb @@ -0,0 +1,23 @@ +name = 'ant' +version = '1.9.6' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://ant.apache.org/' +description = """Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files + as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.""" + +toolchain = {'name': 'dummy', 'version': ''} + +sources = ['apache-%(name)s-%(version)s-src.tar.gz'] +source_urls = ['http://archive.apache.org/dist/%(name)s/source/'] + +dependencies = [('Java', '1.7.0_79')] + +builddependencies = [('JUnit', '4.11', versionsuffix)] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar', 'lib/ant.jar'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 9bcdda139d149aac176a17a5aa9f38b137e55d83 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 25 Mar 2016 13:48:00 +0000 Subject: [PATCH 0652/1089] Update Bowtie2 to 2.2.8 for recent foss --- .../b/Bowtie2/Bowtie2-2.2.8-foss-2015b.eb | 40 +++++++++++++++++++ .../b/Bowtie2/Bowtie2-2.2.8-foss-2016a.eb | 40 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2015b.eb create mode 100644 easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2015b.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2015b.eb new file mode 100644 index 0000000000..29bf068b6a --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2015b.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Robert Schmidt +# Ottawa Hospital Research Institute - Bioinformatics Team +# Modified by: Adam Huffman +# The Francis Crick Institute + +easyblock = 'MakeCp' + +name = 'Bowtie2' +version = '2.2.8' + +homepage = 'http://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads + to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s + of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. + Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, + its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = ['%(namelower)s-%(version)s-source.zip'] +source_urls = [('http://sourceforge.net/projects/bowtie-bio/files/%(namelower)s/%(version)s', 'download')] + +files_to_copy = [ + (["bowtie2", "bowtie2-align-l", "bowtie2-align-s", "bowtie2-build", "bowtie2-build-l", "bowtie2-build-s", + "bowtie2-inspect", "bowtie2-inspect-l", "bowtie2-inspect-s"], 'bin'), + "doc", "example", "scripts", "MANUAL", "MANUAL.markdown", "NEWS"] + +sanity_check_paths = { + 'files': ["bin/bowtie2-align-l", "bin/bowtie2-build", "bin/bowtie2-inspect"], + 'dirs': [], +} + +# to add script folder to path just uncomment this line +#modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2016a.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2016a.eb new file mode 100644 index 0000000000..e48888855e --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.2.8-foss-2016a.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Robert Schmidt +# Ottawa Hospital Research Institute - Bioinformatics Team +# Modified by: Adam Huffman +# The Francis Crick Institute + +easyblock = 'MakeCp' + +name = 'Bowtie2' +version = '2.2.8' + +homepage = 'http://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads + to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s + of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. + Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, + its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = ['%(namelower)s-%(version)s-source.zip'] +source_urls = [('http://sourceforge.net/projects/bowtie-bio/files/%(namelower)s/%(version)s', 'download')] + +files_to_copy = [ + (["bowtie2", "bowtie2-align-l", "bowtie2-align-s", "bowtie2-build", "bowtie2-build-l", "bowtie2-build-s", + "bowtie2-inspect", "bowtie2-inspect-l", "bowtie2-inspect-s"], 'bin'), + "doc", "example", "scripts", "MANUAL", "MANUAL.markdown", "NEWS"] + +sanity_check_paths = { + 'files': ["bin/bowtie2-align-l", "bin/bowtie2-build", "bin/bowtie2-inspect"], + 'dirs': [], +} + +# to add script folder to path just uncomment this line +#modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' -- GitLab From 9f4fb4098262af3f3388b25be24f4eeb890274b2 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 17:17:01 +0200 Subject: [PATCH 0653/1089] add easyconfig Blitz++-0.10-foss-2016a.eb --- .../b/Blitz++/Blitz++-0.10-foss-2016a.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb new file mode 100644 index 0000000000..03886c8db9 --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Blitz++' +version = '0.10' + +homepage = 'http://blitz.sourceforge.net/' +description = """Blitz++ is a (LGPLv3+) licensed meta-template library for array manipulation in C++ + with a speed comparable to Fortran implementations, while preserving an object-oriented interface""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = ['blitz-%(version)s.tar.gz'] +source_urls = ['https://sourceforge.net/projects/blitz/files/blitz/%(name)s %(version)s', + 'download'] + +sanity_check_paths = { + 'files': ['lib/libblitz.a'], + 'dirs': ['include/blitz/array', + 'include/blitz/gnu', + 'include/blitz/meta', + 'include/random', + 'lib/pkgconfig'], +} + +moduleclass = 'lib' -- GitLab From 020f92e1035043d6dbfcc9e9e7bfe2a80e9f9aa0 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 17:19:45 +0200 Subject: [PATCH 0654/1089] add easyconfig cairo-1.14.6-foss-2016a.eb, add easyconfig freetype-2.6.2-foss-2016a.eb, add easyconfig fontconfig-2.11.94-foss-2016a.eb, add easyconfig pixman-0.34.0-foss-2016a.eb --- .../c/cairo/cairo-1.14.6-foss-2016a.eb | 29 +++++++++++++++++++ .../fontconfig-2.11.94-foss-2016a.eb | 22 ++++++++++++++ .../f/freetype/freetype-2.6.2-foss-2016a.eb | 21 ++++++++++++++ .../p/pixman/pixman-0.34.0-foss-2016a.eb | 20 +++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb create mode 100644 easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb new file mode 100644 index 0000000000..4afe79dcce --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = "cairo" +version = '1.14.6' + +homepage = 'http://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libpng', '1.6.21'), + ('freetype', '2.6.2'), + ('pixman', '0.34.0'), + ('fontconfig', '2.11.94'), + ('expat', '2.1.0'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no" + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb new file mode 100644 index 0000000000..d955835431 --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.94-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.11.94' + +homepage = 'http://www.freedesktop.org/software/fontconfig' +description = """Fontconfig is a library designed to provide system-wide font configuration, customization and +application access.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('expat', '2.1.0'), + ('freetype', '2.6.2'), +] + +configopts = '--disable-docs ' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb new file mode 100644 index 0000000000..3111a314be --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb @@ -0,0 +1,21 @@ +name = 'freetype' +version = '2.6.2' + +homepage = 'http://freetype.org' +description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and + portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display + servers, font conversion tools, text image generation tools, and many other products as well.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('libpng', '1.6.21')] + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb b/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb new file mode 100644 index 0000000000..896aab1550 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = "pixman" +version = '0.34.0' + +homepage = 'http://www.pixman.org/' +description = """Pixman is a low-level software library for pixel manipulation, providing features such as image +compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' -- GitLab From 1d95e0d44afa8bd2a6d3dd12f779f03f377eab75 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 17:22:11 +0200 Subject: [PATCH 0655/1089] add easyconfig libxml2-2.9.3-foss-2016a-Python-2.7.11.eb --- .../libxml2-2.9.3-foss-2016a-Python-2.7.11.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..0237c8f83b --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' + +pythonver = '2.7.11' +pythonshortver = '.'.join(pythonver.split('.')[:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +moduleclass = 'lib' -- GitLab From a429536dc79733a15a2ecdbf335fcbed1f2990df Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 17:24:03 +0200 Subject: [PATCH 0656/1089] add easyconfig MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb --- ...-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb new file mode 100644 index 0000000000..a11de24d4f --- /dev/null +++ b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'MDSplus' +version = '7.0.67' +versionsuffix = '-Java-%(javaver)s-Python-%(pyver)s' + +homepage = 'http://mdsplus.org/' +description = """MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://github.com/%(name)s/%(namelower)s/archive'] +sources = ['stable_release-%s.zip' % version.replace('.','-')] + +dependencies = [ + ('Java', '1.7.0_79', '', True), + ('Python', '2.7.11'), + ('HDF5', '1.8.16'), + ('libxml2', '2.9.3', '-Python-%(pyver)s') +] + +configopts = '--with-jdk=$JAVA_HOME' + +preconfigopts = 'export CFLAGS="$CFLAGS -I$EBROOTLIBXML2/include/libxml2 " && ' + +buildopts = '-j 1' + +moduleclass = 'data' -- GitLab From 0f7f918444396849cefb3ddd10ec622ceb292c8a Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 28 Mar 2016 13:42:38 -0500 Subject: [PATCH 0657/1089] Adding Email to the easyconfig --- easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb index aa280fb576..6d1dad133e 100644 --- a/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb +++ b/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb @@ -1,5 +1,6 @@ # This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild # Author: Ravi Tripathi +# Email: ravi89@uab.edu easyblock = "Binary" -- GitLab From 7665efa01e6c846d6fcc6299b62552125d23d5de Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 28 Mar 2016 13:45:45 -0500 Subject: [PATCH 0658/1089] Adding email to shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb Easyconfig file --- .../s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb b/easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb index a71ba8d96d..7441bd58af 100644 --- a/easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb +++ b/easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb @@ -1,5 +1,6 @@ # This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild # Author: Ravi Tripathi +# Email: ravi89@uab.edu easyblock = "Binary" -- GitLab From 4bc1fe85404268c258d800beb130fe6597928b40 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 28 Mar 2016 14:07:21 -0500 Subject: [PATCH 0659/1089] Adding an Easyconfig file for MRICron built on 06/22/2015 --- .../m/mricron/mricron-062215-linux_x86_64.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/m/mricron/mricron-062215-linux_x86_64.eb diff --git a/easybuild/easyconfigs/m/mricron/mricron-062215-linux_x86_64.eb b/easybuild/easyconfigs/m/mricron/mricron-062215-linux_x86_64.eb new file mode 100644 index 0000000000..a7fb738545 --- /dev/null +++ b/easybuild/easyconfigs/m/mricron/mricron-062215-linux_x86_64.eb @@ -0,0 +1,28 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Ravi Tripathi +# Email: ravi89@uab.edu + +easyblock = "Binary" + +name = 'mricron' +version = '062215' +versionsuffix = '_linux_x86_64' + +homepage = 'http://www.mccauslandcenter.sc.edu/mricro/mricron/' +description = """ MRIcron allows viewing of medical images. It includes tools to complement SPM and FSL. Native format is NIFTI but includes a conversion program (see dcm2nii) for converting DICOM images. Features layers, ROIs, and volume rendering. """ + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['https://www.nitrc.org/frs/download.php/7765/'] +sources = ['lx.zip'] + +# Following commands are used to untar the file and copy the content to install directory +install_cmd = "unzip lx.zip && HOME=%(builddir)s && " +install_cmd += "cp -a %(builddir)s/* %(installdir)s" + +sanity_check_paths = { + 'files': ["dcm2nii", "dcm2niigui", "mricron", "npm"], + 'dirs': ["example", "lut", "templates"] +} + +moduleclass = 'bio' -- GitLab From cff82a7a7cce953ae7c746a6227a1e01777bf81f Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 28 Mar 2016 23:40:39 +0100 Subject: [PATCH 0660/1089] Use latest numpy and fix tests --- .../r/RSeQC/RSeQC-2.6.3-foss-2015b.eb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb index c0f1f917f6..c33eb72992 100644 --- a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb @@ -1,3 +1,7 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Adam Huffman +# The Francis Crick Institute + easyblock = 'PythonPackage' name = 'RSeQC' @@ -16,20 +20,22 @@ toolchain = {'name': 'foss', 'version': '2015b'} sources = [SOURCE_TAR_GZ] source_urls = [SOURCEFORGE_SOURCE] -patches = [] - -Python = 'Python' +python = 'Python' pyver = '2.7.10' versionsuffix = '-%s-%s' % (python, pyver) dependencies = [ ('R', '3.2.3'), - ('numpy', '1.9.2'), + ('numpy', '1.10.1', versionsuffix), ] +runtest = "python setup.py test" + sanity_check_paths = { 'files': [], - 'dirs': ["."] + 'dirs': ["bin", "lib"] } +options = {'modulename': 'qcmodule'} + moduleclass = 'bio' -- GitLab From 9403a1c1ed2e243ded00fd181b7c3e74f6f8061c Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 28 Mar 2016 23:48:28 +0100 Subject: [PATCH 0661/1089] Remove obsolete numpy dep for RSeQC --- .../numpy-1.9.2-foss-2015b-Python-2.7.10.eb | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb deleted file mode 100644 index f55df325cf..0000000000 --- a/easybuild/easyconfigs/n/numpy/numpy-1.9.2-foss-2015b-Python-2.7.10.eb +++ /dev/null @@ -1,27 +0,0 @@ -name = 'numpy' -version = '1.9.2' - -homepage = 'http://www.numpy.org' -description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: - a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran - code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, - NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be - defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" - -toolchain = {'name': 'foss', 'version': '2015b'} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] - -patches = ['numpy-1.8.0-mkl.patch'] - -python = 'Python' -pyver = '2.7.10' -versionsuffix = '-%s-%s' % (python, pyver) - -dependencies = [ - (python, pyver), - ('SuiteSparse', '4.4.5', '-METIS-5.1.0'), -] - -moduleclass = 'math' -- GitLab From bda5cb872c43f93c6f7207cdf42e96364661b7a0 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 29 Mar 2016 07:45:09 +0100 Subject: [PATCH 0662/1089] Add BEDTools 2.25.0 to foss-2015b and foss-2016a --- .../b/BEDTools/BEDTools-2.25.0-foss-2015b.eb | 33 +++++++++++++++++++ .../b/BEDTools/BEDTools-2.25.0-foss-2016a.eb | 33 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2015b.eb create mode 100644 easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2015b.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2015b.eb new file mode 100644 index 0000000000..50f76cdae7 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2015b.eb @@ -0,0 +1,33 @@ +# Author: Maxime Schmitt, University of Luxembourg +# Author: Adam Huffman, The Francis Crick Institute +# +# Based on the work of: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'BEDTools' +version = '2.25.0' + +homepage = "https://github.com/arq5x/bedtools2" +description = """The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps + and computing coverage. The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, + and SAM/BAM.""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +# https://github.com/arq5x/bedtools2/releases/download/v2.25.0/bedtools-2.25.0.tar.gz +source_urls = ['https://github.com/arq5x/bedtools2/releases/download/v%(version)s/'] +sources = ['bedtools-%(version)s.tar.gz'] + +buildopts = 'CXX="$CXX"' + +files_to_copy = ["bin", "docs", "data", "genomes", "scripts", "test"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bedtools', 'pairToBed', 'mergeBed', 'bedToBam', 'fastaFromBed']], + 'dirs': files_to_copy, +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2016a.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2016a.eb new file mode 100644 index 0000000000..89147e0b20 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.25.0-foss-2016a.eb @@ -0,0 +1,33 @@ +# Author: Maxime Schmitt, University of Luxembourg +# Author: Adam Huffman, The Francis Crick Institute +# +# Based on the work of: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'BEDTools' +version = '2.25.0' + +homepage = "https://github.com/arq5x/bedtools2" +description = """The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps + and computing coverage. The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, + and SAM/BAM.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# https://github.com/arq5x/bedtools2/releases/download/v2.25.0/bedtools-2.25.0.tar.gz +source_urls = ['https://github.com/arq5x/bedtools2/releases/download/v%(version)s/'] +sources = ['bedtools-%(version)s.tar.gz'] + +buildopts = 'CXX="$CXX"' + +files_to_copy = ["bin", "docs", "data", "genomes", "scripts", "test"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bedtools', 'pairToBed', 'mergeBed', 'bedToBam', 'fastaFromBed']], + 'dirs': files_to_copy, +} + +moduleclass = 'bio' -- GitLab From 9e31cc2f81179ae76942ac50899220609c8d5438 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 29 Mar 2016 07:59:12 +0100 Subject: [PATCH 0663/1089] Fix version, description, sanity check and build options --- .../s/Subread/Subread-1.5.0p1-foss-2015b.eb | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb index 245a7b2f5a..4fd69f051e 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb @@ -1,30 +1,28 @@ -# Note: -# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild -# It was auto-generated based on a template easyconfig, so it should be used with care. +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Adam Huffman +# The Francis Crick Institute easyblock = 'MakeCp' name = 'Subread' -version = '1.5.0p1' +version = '1.5.0-p1' homepage = 'http://subread.sourceforge.net/' -description = """TEMPLATE DESCRIPTION""" +description = """High performance read alignment, quantification and mutation discovery""" -# toolchain name should be 'TEMPLATE' if this is a template, so EasyBuild knows and is willing to use it as a template toolchain = {'name': 'foss', 'version': '2015b'} -toolchainopts = {} # toolchain options, e.g. opt, pic, usempi, optarch, ... -# For sources line to work correctly with --try-software-version, you MUST employ %s OR use a construct like SOURCE_TAR_GZ -sources = ['%(namelower)s-%version)s-source.tar.gz'] -source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +source_urls = [('https://sourceforge.net/projects/%(namelower)s/files/%(namelower)s-%(version)s', 'download')] -patches = [] +prebuildopts = 'cd src;' +buildopts = '-f Makefile.Linux' + +files_to_copy = ['bin', 'annotation', 'doc', 'LICENSE', 'README.txt', 'src', 'test'] -dependencies = [] -# The sanity test MUST be tuned before going production and submitting your contribution to upstream git repositories sanity_check_paths = { - 'files': [], - 'dirs': ["."] + 'files': ['LICENSE', 'README.txt'], + 'dirs': ['bin', 'annotation', 'doc', 'src', 'test'] } moduleclass = 'bio' -- GitLab From 4b1b8e1b10c5d5378efc01381b9deb998f20c8f5 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 29 Mar 2016 08:02:18 +0100 Subject: [PATCH 0664/1089] Add foss-2016a port of Subread --- .../s/Subread/Subread-1.5.0p1-foss-2016a.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2016a.eb diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2016a.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2016a.eb new file mode 100644 index 0000000000..1312eb0648 --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2016a.eb @@ -0,0 +1,28 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Adam Huffman +# The Francis Crick Institute +easyblock = 'MakeCp' + +name = 'Subread' +version = '1.5.0-p1' + +homepage = 'http://subread.sourceforge.net/' +description = """High performance read alignment, quantification and mutation discovery""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +source_urls = [('https://sourceforge.net/projects/%(namelower)s/files/%(namelower)s-%(version)s', 'download')] + +prebuildopts = 'cd src;' +buildopts = '-f Makefile.Linux' + +files_to_copy = ['bin', 'annotation', 'doc', 'LICENSE', 'README.txt', 'src', 'test'] + + +sanity_check_paths = { + 'files': ['LICENSE', 'README.txt'], + 'dirs': ['bin', 'annotation', 'doc', 'src', 'test'] +} + +moduleclass = 'bio' -- GitLab From 8466e1b77b8a8c23b3a659045371f9db70b304f4 Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Tue, 29 Mar 2016 22:02:06 +0200 Subject: [PATCH 0665/1089] New `.eb` files for LinBox 1.4.0, FFLAS-FFPACK 2.2.0, and Givaro 4.0.1 --- .../FFLAS-FFPACK-2.2.0-foss-2016a.eb | 70 +++++++++++++++++++ .../g/Givaro/Givaro-4.0.1-foss-2016a.eb | 45 ++++++++++++ .../l/LinBox/LinBox-1.4.0-foss-2016a.eb | 70 +++++++++++++++++++ 3 files changed, 185 insertions(+) create mode 100644 easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb new file mode 100644 index 0000000000..382acef001 --- /dev/null +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb @@ -0,0 +1,70 @@ +## +# This file is an EasyBuild recipe; see https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +## + +easyblock = 'ConfigureMake' + +name = 'FFLAS-FFPACK' +version = '2.2.0' + +homepage = 'https://linbox-team.github.io/fflas-ffpack/' +description = "Finite Field Linear Algebra Subroutines / Package" + +toolchain = {'version': '2016a', 'name': 'foss'} + +sources = ['v2.2.0.zip'] +source_urls = ['https://github.com/linbox-team/%(namelower)s/archive'] + +builddependencies = [ + ('Autoconf', '2.69', '', True), + ('Automake', '1.15', '', True), + ('libtool', '2.4.6', '', True), +] +dependencies = [ + ('GMP', '6.1.0', '', ('GCC', '4.9.3-2.25')), + ('Givaro', '4.0.1'), +] + +preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " +configopts = '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO --with-blas-cflags="-I$BLAS_INC_DIR" --with-blas-libs="-L$BLAS_LIB_DIR $LIBBLAS" --enable-openmp' + +parallel = 4 + +unwanted_env_vars = {} +start_dir = '%(builddir)s/%(namelower)s-%(version)s/' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-config', 'include/%(namelower)s/%(namelower)s.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'math' +# Build statistics +buildstats = [{ + "easybuild-framework_version": "2.8.0dev0", + "easybuild-easyblocks_version": "2.8.0dev0", + "timestamp": 1459270041, + "build_time": 30.84, + "install_size": 1762928, + "command_line": ['--add-dummy-to-minimal-toolchains', '--buildpath=/tmp', '--experimental', '--github-user=riccardomurri', '--installpath=/home/rmurri/w/easybuild', '--minimal-toolchains', '--module-syntax=Lua', '--modules-tool=Lmod', '--packagepath=/home/rmurri/w/easybuild/packages', '--prefix=/home/rmurri/w/easybuild', '--repositorypath=ebfiles', '--robot=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--robot-paths=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--skip-test-cases', '--sourcepath=/home/rmurri/w/easybuild/sources', '--try-toolchain="[\'foss\', \'2016a\']"', 'FFLAS-FFPACK-2.2.0-foss-2015a.eb'], + "modules_tool": ('Lmod', '/usr/share/lmod/lmod/libexec/lmod', '5.8'), + "core_count": 4, + "cpu_model": "Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz", + "cpu_speed": 2400.0, + "cpu_vendor": "Intel", + "gcc_version": "Using built-in specs.; COLLECT_GCC=gcc; COLLECT_LTO_WRAPPER=/home/rmurri/w/easybuild/software/GCCcore/4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper; Target: x86_64-unknown-linux-gnu; Configured with: ../configure --enable-languages=c,c++,fortran --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-gold=default --enable-plugins --enable-ld --with-plugin-ld=ld.gold --enable-bootstrap --prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3 --with-local-prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3; Thread model: posix; gcc version 4.9.3 (GCC) ; ", + "glibc_version": "2.21", + "hostname": "xenia", + "os_name": "ubuntu", + "os_type": "Linux", + "os_version": "15.10", + "platform_name": "x86_64-unknown-linux", + "python_version": "2.7.10 (default, Oct 14 2015, 16:09:02) ; [GCC 5.2.1 20151010]", + "system_gcc_path": "/home/rmurri/w/easybuild/software/GCCcore/4.9.3/bin/gcc", + "system_python_path": "/home/rmurri/.virtualenvs/easybuild/bin/python", +}] diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb new file mode 100644 index 0000000000..56ed27ad72 --- /dev/null +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild recipe; see https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +## + +easyblock = 'ConfigureMake' + +name = 'Givaro' +version = '4.0.1' + +homepage = 'http://givaro.forge.imag.fr/' +description = "C++ library for arithmetic and algebraic computations" + +toolchain = {'version': '2016a', 'name': 'foss'} + +sources = ['v4.0.1.zip'] +source_urls = ['https://github.com/linbox-team/%(namelower)s/archive'] + +builddependencies = [ + ('Autoconf', '2.69', '', True), + ('Automake', '1.15', '', True), + ('libtool', '2.4.6', '', True), +] +dependencies = [ + ('GMP', '6.1.0', '', ('GCC', '4.9.3-2.25')), +] + +preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --enable-inline" + +parallel = 4 + +unwanted_env_vars = {} +start_dir = '%(builddir)s/%(namelower)s-%(version)s/' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-config', 'include/%(namelower)s-config.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb new file mode 100644 index 0000000000..042673b61a --- /dev/null +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb @@ -0,0 +1,70 @@ +## +# This file is an EasyBuild recipe; see https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +## + +easyblock = 'ConfigureMake' + +name = 'LinBox' +version = '1.4.0' + +homepage = 'http://linalg.org/' +description = "C++ library for exact, high-performance linear algebra" + +toolchain = {'version': '2016a', 'name': 'foss'} + +sources = ['v1.4.0.zip'] +source_urls = ['https://github.com/%(namelower)s-team/%(namelower)s/archive'] + +builddependencies = [ + ('Autoconf', '2.69', '', True), + ('Automake', '1.15', '', True), + ('libtool', '2.4.6', '', True), +] +dependencies = [ + ('FFLAS-FFPACK', '2.2.0'), + ('Givaro', '4.0.1'), +] + +preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " +configopts = "--with-givaro=$EBROOTGIVARO --with-fflas-ffpack=$EBROOTFFLASMINFFPACK --enable-openmp" + +parallel = 4 + +unwanted_env_vars = {} +start_dir = '%(builddir)s/%(namelower)s-%(version)s/' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-config', 'include/%(namelower)s/%(namelower)s-config.h', 'lib/liblinbox.a'], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'math' +# Build statistics +buildstats = [{ + "easybuild-framework_version": "2.8.0dev0", + "easybuild-easyblocks_version": "2.8.0dev0", + "timestamp": 1459270157, + "build_time": 64.4, + "install_size": 8769443, + "command_line": ['--add-dummy-to-minimal-toolchains', '--buildpath=/tmp', '--experimental', '--github-user=riccardomurri', '--installpath=/home/rmurri/w/easybuild', '--minimal-toolchains', '--module-syntax=Lua', '--modules-tool=Lmod', '--packagepath=/home/rmurri/w/easybuild/packages', '--prefix=/home/rmurri/w/easybuild', '--repositorypath=ebfiles', '--robot=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--robot-paths=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--skip-test-cases', '--sourcepath=/home/rmurri/w/easybuild/sources', '--try-toolchain="[\'foss\', \'2016a\']"', 'LinBox-1.4.0-foss-2015a.eb'], + "modules_tool": ('Lmod', '/usr/share/lmod/lmod/libexec/lmod', '5.8'), + "core_count": 4, + "cpu_model": "Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz", + "cpu_speed": 2400.0, + "cpu_vendor": "Intel", + "gcc_version": "Using built-in specs.; COLLECT_GCC=gcc; COLLECT_LTO_WRAPPER=/home/rmurri/w/easybuild/software/GCCcore/4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper; Target: x86_64-unknown-linux-gnu; Configured with: ../configure --enable-languages=c,c++,fortran --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-gold=default --enable-plugins --enable-ld --with-plugin-ld=ld.gold --enable-bootstrap --prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3 --with-local-prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3; Thread model: posix; gcc version 4.9.3 (GCC) ; ", + "glibc_version": "2.21", + "hostname": "xenia", + "os_name": "ubuntu", + "os_type": "Linux", + "os_version": "15.10", + "platform_name": "x86_64-unknown-linux", + "python_version": "2.7.10 (default, Oct 14 2015, 16:09:02) ; [GCC 5.2.1 20151010]", + "system_gcc_path": "/home/rmurri/w/easybuild/software/GCCcore/4.9.3/bin/gcc", + "system_python_path": "/home/rmurri/.virtualenvs/easybuild/bin/python", +}] -- GitLab From 842135094fa8af11889df5460b3aa58906661c11 Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Tue, 29 Mar 2016 22:33:16 +0200 Subject: [PATCH 0666/1089] Remove "buildstatistics" section that sneaked in --- .../FFLAS-FFPACK-2.2.0-foss-2016a.eb | 24 ------------------- .../l/LinBox/LinBox-1.4.0-foss-2016a.eb | 24 ------------------- 2 files changed, 48 deletions(-) diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb index 382acef001..153536ed7b 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb @@ -44,27 +44,3 @@ sanity_check_paths = { } moduleclass = 'math' -# Build statistics -buildstats = [{ - "easybuild-framework_version": "2.8.0dev0", - "easybuild-easyblocks_version": "2.8.0dev0", - "timestamp": 1459270041, - "build_time": 30.84, - "install_size": 1762928, - "command_line": ['--add-dummy-to-minimal-toolchains', '--buildpath=/tmp', '--experimental', '--github-user=riccardomurri', '--installpath=/home/rmurri/w/easybuild', '--minimal-toolchains', '--module-syntax=Lua', '--modules-tool=Lmod', '--packagepath=/home/rmurri/w/easybuild/packages', '--prefix=/home/rmurri/w/easybuild', '--repositorypath=ebfiles', '--robot=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--robot-paths=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--skip-test-cases', '--sourcepath=/home/rmurri/w/easybuild/sources', '--try-toolchain="[\'foss\', \'2016a\']"', 'FFLAS-FFPACK-2.2.0-foss-2015a.eb'], - "modules_tool": ('Lmod', '/usr/share/lmod/lmod/libexec/lmod', '5.8'), - "core_count": 4, - "cpu_model": "Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz", - "cpu_speed": 2400.0, - "cpu_vendor": "Intel", - "gcc_version": "Using built-in specs.; COLLECT_GCC=gcc; COLLECT_LTO_WRAPPER=/home/rmurri/w/easybuild/software/GCCcore/4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper; Target: x86_64-unknown-linux-gnu; Configured with: ../configure --enable-languages=c,c++,fortran --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-gold=default --enable-plugins --enable-ld --with-plugin-ld=ld.gold --enable-bootstrap --prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3 --with-local-prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3; Thread model: posix; gcc version 4.9.3 (GCC) ; ", - "glibc_version": "2.21", - "hostname": "xenia", - "os_name": "ubuntu", - "os_type": "Linux", - "os_version": "15.10", - "platform_name": "x86_64-unknown-linux", - "python_version": "2.7.10 (default, Oct 14 2015, 16:09:02) ; [GCC 5.2.1 20151010]", - "system_gcc_path": "/home/rmurri/w/easybuild/software/GCCcore/4.9.3/bin/gcc", - "system_python_path": "/home/rmurri/.virtualenvs/easybuild/bin/python", -}] diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb index 042673b61a..df00b437d1 100644 --- a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb @@ -44,27 +44,3 @@ sanity_check_paths = { } moduleclass = 'math' -# Build statistics -buildstats = [{ - "easybuild-framework_version": "2.8.0dev0", - "easybuild-easyblocks_version": "2.8.0dev0", - "timestamp": 1459270157, - "build_time": 64.4, - "install_size": 8769443, - "command_line": ['--add-dummy-to-minimal-toolchains', '--buildpath=/tmp', '--experimental', '--github-user=riccardomurri', '--installpath=/home/rmurri/w/easybuild', '--minimal-toolchains', '--module-syntax=Lua', '--modules-tool=Lmod', '--packagepath=/home/rmurri/w/easybuild/packages', '--prefix=/home/rmurri/w/easybuild', '--repositorypath=ebfiles', '--robot=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--robot-paths=/home/rmurri/w/easybuild/ebfiles:/home/rmurri/w/easybuild/easyconfigs/easybuild/easyconfigs/', '--skip-test-cases', '--sourcepath=/home/rmurri/w/easybuild/sources', '--try-toolchain="[\'foss\', \'2016a\']"', 'LinBox-1.4.0-foss-2015a.eb'], - "modules_tool": ('Lmod', '/usr/share/lmod/lmod/libexec/lmod', '5.8'), - "core_count": 4, - "cpu_model": "Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz", - "cpu_speed": 2400.0, - "cpu_vendor": "Intel", - "gcc_version": "Using built-in specs.; COLLECT_GCC=gcc; COLLECT_LTO_WRAPPER=/home/rmurri/w/easybuild/software/GCCcore/4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper; Target: x86_64-unknown-linux-gnu; Configured with: ../configure --enable-languages=c,c++,fortran --enable-lto --enable-checking=release --disable-multilib --enable-shared=yes --enable-static=yes --enable-threads=posix --enable-gold=default --enable-plugins --enable-ld --with-plugin-ld=ld.gold --enable-bootstrap --prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3 --with-local-prefix=/home/rmurri/w/easybuild/software/GCCcore/4.9.3; Thread model: posix; gcc version 4.9.3 (GCC) ; ", - "glibc_version": "2.21", - "hostname": "xenia", - "os_name": "ubuntu", - "os_type": "Linux", - "os_version": "15.10", - "platform_name": "x86_64-unknown-linux", - "python_version": "2.7.10 (default, Oct 14 2015, 16:09:02) ; [GCC 5.2.1 20151010]", - "system_gcc_path": "/home/rmurri/w/easybuild/software/GCCcore/4.9.3/bin/gcc", - "system_python_path": "/home/rmurri/.virtualenvs/easybuild/bin/python", -}] -- GitLab From 1f0c0f48cdee7708fbcbbd1584e5539528823e2f Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Tue, 29 Mar 2016 15:42:59 -0700 Subject: [PATCH 0667/1089] add Nvidia OptiX 3.8.0 easyconfig --- .../o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb diff --git a/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb new file mode 100644 index 0000000000..db096d2117 --- /dev/null +++ b/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Authors:: Stephane Thiell +## +easyblock = 'Binary' +name = 'OptiX' +version = '3.8.0' + +homepage = 'https://developer.nvidia.com/optix' +description = """OptiX is NVIDIA SDK for easy ray tracing performance. + It provides a simple framework for accessing the GPU’s massive ray tracing + power using state-of-the-art GPU algorithms.""" + +toolchain = {'name': 'GNU', 'version': '4.9.3-2.25'} + +#source_urls = ['http://developer.download.nvidia.com/compute/cuda/%(version_major_minor)s/Prod/local_installers/'] + +sources = ['NVIDIA-OptiX-SDK-%(version)s-linux64.run'] + +checksums = [ + 'ecf63cf32b87defa36d3cd283d085314', # NVIDIA-OptiX-SDK-3.8.0-linux64.run +] + +install_cmd = "./" + sources[0] + " --skip-license --prefix=%(installdir)s" + +sanity_check_paths = { + 'files': ["include/optix.h", "include/optix_cuda.h", "lib64/liboptix.so", "lib64/liboptixu.so"], + 'dirs': [] +} + +modextravars = { 'OPTIX_HOME': '%(installdir)s' } + +moduleclass = 'vis' -- GitLab From a192c8e8addf0c4d566a728cca056b438cc1e3fb Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Wed, 30 Mar 2016 10:41:23 +0200 Subject: [PATCH 0668/1089] Edits suggested by @boegel and general cleanup. Some cruft was added by EB as a result of saving back the file, and it gets dutifully removed now. (Well, hopefully!) --- .../FFLAS-FFPACK-2.2.0-foss-2016a.eb | 24 ++++++++----------- .../g/Givaro/Givaro-4.0.1-foss-2016a.eb | 21 +++++++--------- .../l/LinBox/LinBox-1.4.0-foss-2016a.eb | 21 +++++++--------- 3 files changed, 26 insertions(+), 40 deletions(-) diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb index 153536ed7b..282843bbc7 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb @@ -17,30 +17,26 @@ description = "Finite Field Linear Algebra Subroutines / Package" toolchain = {'version': '2016a', 'name': 'foss'} -sources = ['v2.2.0.zip'] -source_urls = ['https://github.com/linbox-team/%(namelower)s/archive'] +sources = ['v%(version)s.zip'] +source_urls = ['https://github.com/linbox-team/fflas-ffpack/archive'] builddependencies = [ - ('Autoconf', '2.69', '', True), - ('Automake', '1.15', '', True), - ('libtool', '2.4.6', '', True), + ('Autoconf', '2.69'), + ('Automake', '1.15'), + ('libtool', '2.4.6'), ] dependencies = [ - ('GMP', '6.1.0', '', ('GCC', '4.9.3-2.25')), + ('GMP', '6.1.0'), ('Givaro', '4.0.1'), ] preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " -configopts = '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO --with-blas-cflags="-I$BLAS_INC_DIR" --with-blas-libs="-L$BLAS_LIB_DIR $LIBBLAS" --enable-openmp' - -parallel = 4 - -unwanted_env_vars = {} -start_dir = '%(builddir)s/%(namelower)s-%(version)s/' +configopts = ('--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO' + ' --with-blas-cflags="-I$BLAS_INC_DIR" --with-blas-libs="-L$BLAS_LIB_DIR $LIBBLAS" --enable-openmp') sanity_check_paths = { - 'files': ['bin/%(namelower)s-config', 'include/%(namelower)s/%(namelower)s.h'], - 'dirs': ['bin', 'include', 'lib'], + 'files': ['bin/fflas-ffpack-config', 'include/fflas-ffpack/fflas-ffpack.h'], + 'dirs': ['bin', 'include', 'lib'], } moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb index 56ed27ad72..fe391b51b5 100644 --- a/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb @@ -17,29 +17,24 @@ description = "C++ library for arithmetic and algebraic computations" toolchain = {'version': '2016a', 'name': 'foss'} -sources = ['v4.0.1.zip'] -source_urls = ['https://github.com/linbox-team/%(namelower)s/archive'] +sources = ['v%(version)s.zip'] +source_urls = ['https://github.com/linbox-team/givaro/archive'] builddependencies = [ - ('Autoconf', '2.69', '', True), - ('Automake', '1.15', '', True), - ('libtool', '2.4.6', '', True), + ('Autoconf', '2.69'), + ('Automake', '1.15'), + ('libtool', '2.4.6'), ] dependencies = [ - ('GMP', '6.1.0', '', ('GCC', '4.9.3-2.25')), + ('GMP', '6.1.0'), ] preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " configopts = "--with-gmp=$EBROOTGMP --enable-inline" -parallel = 4 - -unwanted_env_vars = {} -start_dir = '%(builddir)s/%(namelower)s-%(version)s/' - sanity_check_paths = { - 'files': ['bin/%(namelower)s-config', 'include/%(namelower)s-config.h'], - 'dirs': ['bin', 'include', 'lib'], + 'files': ['bin/givaro-config', 'include/givaro-config.h'], + 'dirs': ['bin', 'include', 'lib'], } moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb index df00b437d1..4d00ba2bf0 100644 --- a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb @@ -17,30 +17,25 @@ description = "C++ library for exact, high-performance linear algebra" toolchain = {'version': '2016a', 'name': 'foss'} -sources = ['v1.4.0.zip'] -source_urls = ['https://github.com/%(namelower)s-team/%(namelower)s/archive'] +sources = ['v%(version)s.zip'] +source_urls = ['https://github.com/linbox-team/linbox/archive'] builddependencies = [ - ('Autoconf', '2.69', '', True), - ('Automake', '1.15', '', True), - ('libtool', '2.4.6', '', True), + ('Autoconf', '2.69'), + ('Automake', '1.15'), + ('libtool', '2.4.6'), ] dependencies = [ ('FFLAS-FFPACK', '2.2.0'), - ('Givaro', '4.0.1'), + ('Givaro', '4.0.1'), ] preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " configopts = "--with-givaro=$EBROOTGIVARO --with-fflas-ffpack=$EBROOTFFLASMINFFPACK --enable-openmp" -parallel = 4 - -unwanted_env_vars = {} -start_dir = '%(builddir)s/%(namelower)s-%(version)s/' - sanity_check_paths = { - 'files': ['bin/%(namelower)s-config', 'include/%(namelower)s/%(namelower)s-config.h', 'lib/liblinbox.a'], - 'dirs': ['bin', 'include', 'lib'], + 'files': ['bin/linbox-config', 'include/linbox/linbox-config.h', 'lib/liblinbox.a'], + 'dirs': ['bin', 'include', 'lib'], } moduleclass = 'math' -- GitLab From e0e12f2bcce4f121fbc00a1d3787a62d35c8766e Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Wed, 30 Mar 2016 11:00:47 +0200 Subject: [PATCH 0669/1089] Use `Autotools` bundle instead of depending on each tool separately. --- .../f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb | 4 +--- easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb | 4 +--- easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb index 282843bbc7..94cd13bd81 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb @@ -21,9 +21,7 @@ sources = ['v%(version)s.zip'] source_urls = ['https://github.com/linbox-team/fflas-ffpack/archive'] builddependencies = [ - ('Autoconf', '2.69'), - ('Automake', '1.15'), - ('libtool', '2.4.6'), + ('Autotools', '20150215'), ] dependencies = [ ('GMP', '6.1.0'), diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb index fe391b51b5..4f0fbad866 100644 --- a/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb @@ -21,9 +21,7 @@ sources = ['v%(version)s.zip'] source_urls = ['https://github.com/linbox-team/givaro/archive'] builddependencies = [ - ('Autoconf', '2.69'), - ('Automake', '1.15'), - ('libtool', '2.4.6'), + ('Autotools', '20150215'), ] dependencies = [ ('GMP', '6.1.0'), diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb index 4d00ba2bf0..640a495db8 100644 --- a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb @@ -21,9 +21,7 @@ sources = ['v%(version)s.zip'] source_urls = ['https://github.com/linbox-team/linbox/archive'] builddependencies = [ - ('Autoconf', '2.69'), - ('Automake', '1.15'), - ('libtool', '2.4.6'), + ('Autotools', '20150215'), ] dependencies = [ ('FFLAS-FFPACK', '2.2.0'), -- GitLab From 236a8879552482ac855d3c1fbbf69c0089fb53d7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 30 Mar 2016 12:47:31 +0200 Subject: [PATCH 0670/1089] {lang}[intel/2016a] numba 0.24.0 w/ Python 2.7.11 & 3.5.1 --- .../llvmlite-0.9.0_fix-ffi-Makefile.patch | 29 +++++++++++++ .../numba-0.24.0-intel-2016a-Python-2.7.11.eb | 41 +++++++++++++++++++ .../numba-0.24.0-intel-2016a-Python-3.5.1.eb | 41 +++++++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 easybuild/easyconfigs/n/numba/llvmlite-0.9.0_fix-ffi-Makefile.patch create mode 100644 easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb diff --git a/easybuild/easyconfigs/n/numba/llvmlite-0.9.0_fix-ffi-Makefile.patch b/easybuild/easyconfigs/n/numba/llvmlite-0.9.0_fix-ffi-Makefile.patch new file mode 100644 index 0000000000..7a74cc0623 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/llvmlite-0.9.0_fix-ffi-Makefile.patch @@ -0,0 +1,29 @@ +don't use -static-libstdc++, causing problems like "glibc detected *** python: free(): invalid pointer" +cfr. https://github.com/numba/llvmlite/issues/93; +don't hardcode -lLLVMOProfileJIT, not required anymore +cfr. https://github.com/numba/llvmlite/issues/121 +author: Kenneth Hoste (HPC-UGent) +--- llvmlite-0.9.0/ffi/Makefile.linux.orig 2016-01-26 15:11:43.000000000 +0100 ++++ llvmlite-0.9.0/ffi/Makefile.linux 2016-03-30 12:41:34.102307156 +0200 +@@ -4,9 +4,7 @@ + # -flto and --exclude-libs allow us to remove those parts of LLVM we don't use + CXXFLAGS = $(LLVM_CXXFLAGS) -flto + LDFLAGS = $(LLVM_LDFLAGS) -flto -Wl,--exclude-libs=ALL +-# Need to add LLVMOProfileJIT by hand +-# see https://llvm.org/bugs/show_bug.cgi?id=25091 +-LIBS = $(LLVM_LIBS) -lLLVMOProfileJIT ++LIBS = $(LLVM_LIBS) + SRC = assembly.cpp bitcode.cpp core.cpp initfini.cpp module.cpp value.cpp \ + executionengine.cpp transforms.cpp passmanagers.cpp targets.cpp dylib.cpp \ + linker.cpp +@@ -15,9 +13,7 @@ + all: $(OUTPUT) + + $(OUTPUT): $(SRC) +- # static-libstdc++ avoids runtime dependencies on a +- # particular libstdc++ version. +- $(CXX) -static-libstdc++ -shared $(CXXFLAGS) $(SRC) -o $(OUTPUT) $(LDFLAGS) $(LIBS) ++ $(CXX) -shared $(CXXFLAGS) $(SRC) -o $(OUTPUT) $(LDFLAGS) $(LIBS) + + clean: + rm -rf test diff --git a/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..0ddf57da7d --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,41 @@ +easyblock = 'Bundle' + +name = 'numba' +version = '0.24.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for Python sponsored by Continuum Analytics, + Inc. It uses the remarkable LLVM compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' + +dependencies = [ + ('Python', '2.7.11'), + ('LLVM', '3.7.1'), +] + +exts_list = [ + ('llvmlite', '0.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/l/llvmlite/'], + 'patches': ['llvmlite-0.8.0_no-static-libstc++.patch'], + }), + (name, version, { + 'source_urls': ['https://pypi.python.org/packages/source/n/numba/'], + }), +] + +# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module +full_sanity_check = True + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..e0e36eeb79 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,41 @@ +easyblock = 'Bundle' + +name = 'numba' +version = '0.24.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for Python sponsored by Continuum Analytics, + Inc. It uses the remarkable LLVM compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' + +dependencies = [ + ('Python', '3.5.1'), + ('LLVM', '3.7.1'), +] + +exts_list = [ + ('llvmlite', '0.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/l/llvmlite/'], + 'patches': ['llvmlite-0.8.0_no-static-libstc++.patch'], + }), + (name, version, { + 'source_urls': ['https://pypi.python.org/packages/source/n/numba/'], + }), +] + +# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module +full_sanity_check = True + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'lang' -- GitLab From a45e7509603391b8a42eb3f1d333cfd902bfefc9 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 30 Mar 2016 12:53:43 +0200 Subject: [PATCH 0671/1089] use right patch file for llvmlite --- .../n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb | 2 +- .../n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb index 0ddf57da7d..1ed8278597 100644 --- a/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-2.7.11.eb @@ -21,7 +21,7 @@ dependencies = [ exts_list = [ ('llvmlite', '0.9.0', { 'source_urls': ['https://pypi.python.org/packages/source/l/llvmlite/'], - 'patches': ['llvmlite-0.8.0_no-static-libstc++.patch'], + 'patches': ['llvmlite-0.9.0_fix-ffi-Makefile.patch'], }), (name, version, { 'source_urls': ['https://pypi.python.org/packages/source/n/numba/'], diff --git a/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb index e0e36eeb79..c11e1bdb17 100644 --- a/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb +++ b/easybuild/easyconfigs/n/numba/numba-0.24.0-intel-2016a-Python-3.5.1.eb @@ -21,7 +21,7 @@ dependencies = [ exts_list = [ ('llvmlite', '0.9.0', { 'source_urls': ['https://pypi.python.org/packages/source/l/llvmlite/'], - 'patches': ['llvmlite-0.8.0_no-static-libstc++.patch'], + 'patches': ['llvmlite-0.9.0_fix-ffi-Makefile.patch'], }), (name, version, { 'source_urls': ['https://pypi.python.org/packages/source/n/numba/'], -- GitLab From ed68b28d57a933a0570d61aa9a8a7c8d40ebffb0 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 30 Mar 2016 15:09:50 +0200 Subject: [PATCH 0672/1089] {system}[intel/2016a] file 5.25 + enhance sanity check --- .../easyconfigs/f/file/file-5.17-GCC-4.8.2.eb | 8 +++--- .../f/file/file-5.25-intel-2016a.eb | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 easybuild/easyconfigs/f/file/file-5.25-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/file/file-5.17-GCC-4.8.2.eb b/easybuild/easyconfigs/f/file/file-5.17-GCC-4.8.2.eb index 63db8305d5..bca5d69508 100644 --- a/easybuild/easyconfigs/f/file/file-5.17-GCC-4.8.2.eb +++ b/easybuild/easyconfigs/f/file/file-5.17-GCC-4.8.2.eb @@ -12,14 +12,14 @@ homepage = 'http://www.darwinsys.com/file/' description = """The file command is 'a file type guesser', that is, a command-line tool that tells you in words what kind of data a file contains.""" +toolchain = {'name': 'GCC', 'version': '4.8.2'} + source_urls = ['ftp://ftp.astron.com/pub/file/'] sources = [SOURCE_TAR_GZ] -toolchain = {'name': 'GCC', 'version': '4.8.2'} - sanity_check_paths = { - 'files': ['bin/file'], - 'dirs': [] + 'files': ['bin/file', 'include/magic.h', 'lib/libmagic.%s' % SHLIB_EXT], + 'dirs': ['share'] } moduleclass = 'system' diff --git a/easybuild/easyconfigs/f/file/file-5.25-intel-2016a.eb b/easybuild/easyconfigs/f/file/file-5.25-intel-2016a.eb new file mode 100644 index 0000000000..61f8e29397 --- /dev/null +++ b/easybuild/easyconfigs/f/file/file-5.25-intel-2016a.eb @@ -0,0 +1,25 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +## + +easyblock = 'ConfigureMake' + +name = 'file' +version = '5.25' + +homepage = 'http://www.darwinsys.com/file/' +description = """The file command is 'a file type guesser', that is, a command-line tool + that tells you in words what kind of data a file contains.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['ftp://ftp.astron.com/pub/file/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/file', 'include/magic.h', 'lib/libmagic.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' -- GitLab From b92eaf3eac50f53ac2b688a53b821a92f797371a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 30 Mar 2016 16:02:50 +0200 Subject: [PATCH 0673/1089] add easyconfig Java-1.8.0_77.eb --- easybuild/easyconfigs/j/Java/Java-1.8.0_77.eb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 easybuild/easyconfigs/j/Java/Java-1.8.0_77.eb diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_77.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_77.eb new file mode 100644 index 0000000000..fa48d66cd4 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_77.eb @@ -0,0 +1,15 @@ +name = 'Java' +version = '1.8.0_77' + +homepage = 'http://java.com/' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy + Java applications on desktops and servers.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# download the tar.gz directly from http://www.oracle.com/technetwork/java/javase/downloads/index.html +(vp, vs) = version.split('_') +altver = '%su%s' % (vp.split('.')[1], vs) +sources = ['jdk-%s-linux-x64.tar.gz' % altver] + +moduleclass = 'lang' -- GitLab From 3df8b5b4e3a15448caa4ef4b023b13d4ee1f31a8 Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Wed, 30 Mar 2016 16:42:55 +0200 Subject: [PATCH 0674/1089] More style edits suggested by @boegel --- .../f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb | 8 ++++---- easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb | 2 +- easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb index 94cd13bd81..da99f9d5b8 100644 --- a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.2.0-foss-2016a.eb @@ -24,17 +24,17 @@ builddependencies = [ ('Autotools', '20150215'), ] dependencies = [ - ('GMP', '6.1.0'), + ('GMP', '6.1.0'), ('Givaro', '4.0.1'), ] preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " -configopts = ('--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO' - ' --with-blas-cflags="-I$BLAS_INC_DIR" --with-blas-libs="-L$BLAS_LIB_DIR $LIBBLAS" --enable-openmp') +configopts = '--with-gmp=$EBROOTGMP --with-givaro=$EBROOTGIVARO' +configopts += ' --with-blas-cflags="-I$BLAS_INC_DIR" --with-blas-libs="-L$BLAS_LIB_DIR $LIBBLAS" --enable-openmp' sanity_check_paths = { 'files': ['bin/fflas-ffpack-config', 'include/fflas-ffpack/fflas-ffpack.h'], - 'dirs': ['bin', 'include', 'lib'], + 'dirs': ['bin', 'include', 'lib'], } moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb index 4f0fbad866..22ad6d392a 100644 --- a/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.0.1-foss-2016a.eb @@ -32,7 +32,7 @@ configopts = "--with-gmp=$EBROOTGMP --enable-inline" sanity_check_paths = { 'files': ['bin/givaro-config', 'include/givaro-config.h'], - 'dirs': ['bin', 'include', 'lib'], + 'dirs': ['bin', 'include', 'lib'], } moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb index 640a495db8..f0951b2b35 100644 --- a/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.4.0-foss-2016a.eb @@ -25,7 +25,7 @@ builddependencies = [ ] dependencies = [ ('FFLAS-FFPACK', '2.2.0'), - ('Givaro', '4.0.1'), + ('Givaro', '4.0.1'), ] preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " @@ -33,7 +33,7 @@ configopts = "--with-givaro=$EBROOTGIVARO --with-fflas-ffpack=$EBROOTFFLASMINFFP sanity_check_paths = { 'files': ['bin/linbox-config', 'include/linbox/linbox-config.h', 'lib/liblinbox.a'], - 'dirs': ['bin', 'include', 'lib'], + 'dirs': ['bin', 'include', 'lib'], } moduleclass = 'math' -- GitLab From 29197e7d989d93758bf1fb0ee678de15f6d0f592 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 30 Mar 2016 16:47:02 +0200 Subject: [PATCH 0675/1089] add easyconfig NGS-1.2.3-intel-2016a.eb --- .../n/NGS/NGS-1.2.3-intel-2016a.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/n/NGS/NGS-1.2.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/n/NGS/NGS-1.2.3-intel-2016a.eb b/easybuild/easyconfigs/n/NGS/NGS-1.2.3-intel-2016a.eb new file mode 100644 index 0000000000..ed0e37836c --- /dev/null +++ b/easybuild/easyconfigs/n/NGS/NGS-1.2.3-intel-2016a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'NGS' +version = '1.2.3' + +homepage = 'https://github.com/ncbi/ngs' +description = """NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from + Next Generation Sequencing.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/ncbi/ngs/archive/'] +sources = ['%(version)s.tar.gz'] + +dependencies = [('Java', '1.8.0_77', '', True)] + +# override default of using $HOME/ncbi-outdir +configopts = "--build-prefix=%(builddir)s/ncbi-outdir" + +buildopts = 'CC="$CC -c" CPP="$CXX" CP="$CXX -c" -C ngs-sdk && ' +buildopts += 'make CC="$CC -c" CPP="$CXX" CP="$CXX -c" -C ngs-java' + +installopts = "-C ngs-sdk && make install -C ngs-java" + +parallel = 1 + +sanity_check_paths = { + 'files': ['jar/ngs-java.jar', ('lib/libngs-sdk.%s' % SHLIB_EXT, 'lib64/libngs-sdk.%s' % SHLIB_EXT), + ('lib/libngs-adapt-c++.a', 'lib64/libngs-adapt-c++.a'), ('lib/libngs-c++.a', 'lib64/libngs-c++.a')], + 'dirs': ['include/ngs', 'share'], +} + +modextrapaths = {'CLASSPATH': 'jar/ngs-java.jar'} + +moduleclass = 'bio' -- GitLab From 96afcdd6c2a927d1aaf5e9364af131a34c1e0162 Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Wed, 30 Mar 2016 22:22:41 +0200 Subject: [PATCH 0676/1089] Use `env` wherever `preconfigopts is used to set environmental variables. Without `env`, we are relying on a syntactical feature of Bourne-type shells; the `env` utility guarantees that the command-line will continue to work even with other shells (e.g., `tcsh`). --- .../easyconfigs/a/ABySS/ABySS-1.3.7-intel-2015a-Python-2.7.9.eb | 2 +- easybuild/easyconfigs/a/a2ps/a2ps-4.14-goalf-1.1.0-no-OFED.eb | 2 +- easybuild/easyconfigs/a/a2ps/a2ps-4.14-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-5.3.0.eb | 2 +- .../b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb | 2 +- .../b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb | 2 +- .../b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25.eb | 2 +- .../easyconfigs/c/Cufflinks/Cufflinks-1.3.0-goolf-1.4.10.eb | 2 +- .../c/Cufflinks/Cufflinks-2.0.2-goalf-1.1.0-no-OFED.eb | 2 +- .../easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goolf-1.4.10.eb | 2 +- .../easyconfigs/c/Cufflinks/Cufflinks-2.0.2-ictce-5.3.0.eb | 2 +- .../easyconfigs/c/Cufflinks/Cufflinks-2.1.1-ictce-5.5.0.eb | 2 +- easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2015a.eb | 2 +- .../easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.4.10.eb | 2 +- .../easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.7.20.eb | 2 +- .../easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015a.eb | 2 +- .../Cufflinks-2.2.1-intel-2015b-Python-2.7.10-Boost-1.59.0.eb | 2 +- .../easyconfigs/g/grib_api/grib_api-1.10.0-goolf-1.4.10.eb | 2 +- .../easyconfigs/g/grib_api/grib_api-1.10.0-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-5.3.0.eb | 2 +- .../g/grib_api/grib_api-1.9.18-goalf-1.1.0-no-OFED.eb | 2 +- .../easyconfigs/g/grib_api/grib_api-1.9.18-goolf-1.4.10.eb | 2 +- .../easyconfigs/g/grib_api/grib_api-1.9.18-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-5.3.0.eb | 2 +- easybuild/easyconfigs/l/libdwarf/libdwarf-20140805-GCC-4.9.2.eb | 2 +- .../easyconfigs/l/libpciaccess/libpciaccess-0.13.1-GCC-4.7.2.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.1-goalf-1.1.0-no-OFED.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.1-goolf-1.4.10.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.1-ictce-4.0.6.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.1-ictce-4.1.13.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.1-ictce-5.3.0.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.1-ictce-5.5.0.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.1-intel-2015a.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.3-intel-2015a.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.4-intel-2015b.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-cgmpolf-1.1.6.eb | 2 +- .../l/libreadline/libreadline-6.2-cgmvolf-1.1.12rc1.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.2.7.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-cgoolf-1.1.7.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-gmpolf-1.4.8.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12.eb | 2 +- .../l/libreadline/libreadline-6.2-gmvolf-1.7.12rc1.eb | 2 +- .../l/libreadline/libreadline-6.2-goalf-1.1.0-no-OFED.eb | 2 +- .../l/libreadline/libreadline-6.2-goalf-1.5.12-no-OFED.eb | 2 +- .../l/libreadline/libreadline-6.2-gompi-1.4.12-no-OFED.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-goolf-1.4.10.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-goolf-1.5.14.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.10.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.6.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-ictce-4.1.13.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-ictce-5.2.0.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-ictce-5.3.0.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-ictce-5.5.0.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-intel-2015a.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-iomkl-4.6.13.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-iqacml-3.7.3.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.2-iqacml-4.4.13.eb | 2 +- .../l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb | 2 +- .../l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-GCC-4.8.2.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-GCC-4.9.2.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-GCCcore-4.9.3.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-GNU-4.9.3-2.25.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-foss-2014b.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-foss-2015.05.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-foss-2015a.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-foss-2015b.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-foss-2016a.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-gimkl-2.11.5.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-gompi-1.5.16.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-goolf-1.4.10.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.14.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-goolf-1.7.20.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-ictce-6.2.5.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-ictce-6.3.5.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-ictce-7.1.2.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-ictce-7.3.5.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-intel-2014.06.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-intel-2014b.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-intel-2015a.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-intel-2015b.eb | 2 +- .../easyconfigs/l/libreadline/libreadline-6.3-intel-2016a.eb | 2 +- .../easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb | 2 +- easybuild/easyconfigs/p/PLUMED/PLUMED-2.1.4-foss-2015b.eb | 2 +- easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.0-intel-2015b.eb | 2 +- easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-foss-2015b.eb | 2 +- easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-intel-2015b.eb | 2 +- easybuild/easyconfigs/p/Python/Python-2.7.8-ictce-7.1.2.eb | 2 +- easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2015a.eb | 2 +- .../r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb | 2 +- .../v/ViennaRNA/ViennaRNA-2.0.7-goalf-1.1.0-no-OFED.eb | 2 +- .../easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goolf-1.4.10.eb | 2 +- .../easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-4.0.6.eb | 2 +- .../easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-5.3.0.eb | 2 +- .../easyconfigs/v/ViennaRNA/ViennaRNA-2.1.6-ictce-5.5.0.eb | 2 +- 105 files changed, 105 insertions(+), 105 deletions(-) diff --git a/easybuild/easyconfigs/a/ABySS/ABySS-1.3.7-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/a/ABySS/ABySS-1.3.7-intel-2015a-Python-2.7.9.eb index 20c30c8e62..6b5c1c6d52 100644 --- a/easybuild/easyconfigs/a/ABySS/ABySS-1.3.7-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/a/ABySS/ABySS-1.3.7-intel-2015a-Python-2.7.9.eb @@ -31,7 +31,7 @@ dependencies = [ ('Boost', '1.58.0', versionsuffix), ] -preconfigopts = 'CPPFLAGS=-I$EBROOTSPARSEHASH/include' +preconfigopts = 'env CPPFLAGS=-I$EBROOTSPARSEHASH/include' sanity_check_paths = { 'files': ["bin/ABYSS", "bin/ABYSS-P"], diff --git a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goalf-1.1.0-no-OFED.eb index 13ae69456f..916fcd7e48 100644 --- a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goalf-1.1.0-no-OFED.eb @@ -25,7 +25,7 @@ dependencies = [ ('gperf', '3.0.4'), ] -preconfigopts = 'EMACS=no' +preconfigopts = 'env EMACS=no' configopts = '--with-gnu-gettext' sanity_check_paths = { diff --git a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goolf-1.4.10.eb b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goolf-1.4.10.eb index 5144a9afc9..97e5c8330b 100644 --- a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-goolf-1.4.10.eb @@ -25,7 +25,7 @@ dependencies = [ ('gperf', '3.0.4'), ] -preconfigopts = 'EMACS=no' +preconfigopts = 'env EMACS=no' configopts = '--with-gnu-gettext' sanity_check_paths = { diff --git a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-4.0.6.eb b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-4.0.6.eb index 3b963e0d7e..74f9dffca6 100644 --- a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-4.0.6.eb @@ -25,7 +25,7 @@ dependencies = [ ('gperf', '3.0.4'), ] -preconfigopts = 'EMACS=no' +preconfigopts = 'env EMACS=no' configopts = '--with-gnu-gettext' sanity_check_paths = { diff --git a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-5.3.0.eb b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-5.3.0.eb index f6a35a3dc0..efd5845e70 100644 --- a/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/a/a2ps/a2ps-4.14-ictce-5.3.0.eb @@ -26,7 +26,7 @@ dependencies = [ ('gperf', '3.0.4'), ] -preconfigopts = 'EMACS=no' +preconfigopts = 'env EMACS=no' configopts = '--with-gnu-gettext' sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb index 608c44a155..35e328daad 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb @@ -21,7 +21,7 @@ builddependencies = [ ] # statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb index 17ecd5c190..6c55f76694 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb @@ -20,7 +20,7 @@ builddependencies = [ ] # statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb index 61254037e0..6f9a318360 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb @@ -21,7 +21,7 @@ builddependencies = [ ] # statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb index 0007322f1f..ef80ad6bb5 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb @@ -20,7 +20,7 @@ builddependencies = [ ] # statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb index e6f5a84c78..b8fa0b77ca 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb @@ -21,7 +21,7 @@ builddependencies = [ ] # statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb index 8efdae380a..9ec199023d 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb @@ -22,7 +22,7 @@ builddependencies = [ ] # statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb index b6d188a41b..63837a712c 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb @@ -21,7 +21,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib # further, add the system library path in the rpath: this should 'harden' the # resulting binutils to bootstrap GCC (no trouble when other libstdc++ is build etc) -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' prebuildopts = preconfigopts # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb index 40e3ccc1a8..cfcfe38d3d 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb @@ -22,7 +22,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib # further, add the system library path in the rpath: this should 'harden' the # resulting binutils to bootstrap GCC (no trouble when other libstdc++ is build etc) -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' prebuildopts = preconfigopts # make sure that system libraries are also considered by ld and ld.gold is also built diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-1.3.0-goolf-1.4.10.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-1.3.0-goolf-1.4.10.eb index 501824903b..7b8dca8554 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-1.3.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-1.3.0-goolf-1.4.10.eb @@ -34,7 +34,7 @@ patches = [ 'cufflinks-1.x-ldflags.patch' ] -preconfigopts = 'CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' +preconfigopts = 'env CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' configopts = '--with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' sanity_check_paths = { diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goalf-1.1.0-no-OFED.eb index d258537699..2ef873d2da 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goalf-1.1.0-no-OFED.eb @@ -30,7 +30,7 @@ dependencies = [ ] configopts = '--with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' -preconfigopts = 'CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' +preconfigopts = 'env CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goolf-1.4.10.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goolf-1.4.10.eb index 645f94a833..25b9208f0e 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-goolf-1.4.10.eb @@ -32,7 +32,7 @@ dependencies = [ patches = ['Cufflinks_GCC-4.7.patch'] configopts = '--with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' -preconfigopts = 'CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' +preconfigopts = 'env CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-ictce-5.3.0.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-ictce-5.3.0.eb index 799e9172ba..9c37cd717b 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.0.2-ictce-5.3.0.eb @@ -34,7 +34,7 @@ dependencies = [ configopts = '--with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' configopts += ' --enable-intel64 ' -preconfigopts = 'CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' +preconfigopts = 'env CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.1.1-ictce-5.5.0.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.1.1-ictce-5.5.0.eb index 991b5a4c8b..6751cec530 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.1.1-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.1.1-ictce-5.5.0.eb @@ -33,7 +33,7 @@ dependencies = [ ] configopts = '--enable-intel64 --with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' -preconfigopts = 'CPPFLAGS=-I$EBROOTEIGEN/include' +preconfigopts = 'env CPPFLAGS=-I$EBROOTEIGEN/include' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2015a.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2015a.eb index d0372e6f70..6ac33d77d4 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2015a.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2015a.eb @@ -18,7 +18,7 @@ dependencies = [ ('zlib', '1.2.8'), ] -preconfigopts = 'CPPFLAGS=-I$EBROOTEIGEN/include' +preconfigopts = 'env CPPFLAGS=-I$EBROOTEIGEN/include' configopts = '--with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' sanity_check_paths = { diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.4.10.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.4.10.eb index 2741497a4d..e368245a6c 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.4.10.eb @@ -18,7 +18,7 @@ dependencies = [ ] configopts = '--with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' -preconfigopts = 'CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' +preconfigopts = 'env CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.7.20.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.7.20.eb index 0a4b6fa7ab..fe15c228e1 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-goolf-1.7.20.eb @@ -18,7 +18,7 @@ dependencies = [ ] configopts = '--with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' -preconfigopts = 'CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' +preconfigopts = 'env CPPFLAGS="-I$EBROOTEIGEN/include $CPPFLAGS" LDFLAGS="-lboost_system $LDFLAGS" ' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015a.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015a.eb index 43da714323..50fce481a6 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015a.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015a.eb @@ -19,7 +19,7 @@ dependencies = [ ] configopts = '--enable-intel64 --with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' -preconfigopts = 'CPPFLAGS=-I$EBROOTEIGEN/include' +preconfigopts = 'env CPPFLAGS=-I$EBROOTEIGEN/include' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015b-Python-2.7.10-Boost-1.59.0.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015b-Python-2.7.10-Boost-1.59.0.eb index 38e9d1ce03..8360322002 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015b-Python-2.7.10-Boost-1.59.0.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2015b-Python-2.7.10-Boost-1.59.0.eb @@ -21,7 +21,7 @@ dependencies = [ ] configopts = '--enable-intel64 --with-boost=$EBROOTBOOST --with-bam-libdir=${EBROOTSAMTOOLS}/lib' -preconfigopts = 'CPPFLAGS=-I${EBROOTEIGEN}/include' +preconfigopts = 'env CPPFLAGS=-I${EBROOTEIGEN}/include' sanity_check_paths = { 'files': ['bin/cufflinks'], diff --git a/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-goolf-1.4.10.eb b/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-goolf-1.4.10.eb index ffd2e3a7a6..4bcdb9773b 100644 --- a/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-goolf-1.4.10.eb @@ -17,7 +17,7 @@ dependencies = [ ('JasPer', '1.900.1'), ] -preconfigopts = 'FC=$F90' +preconfigopts = 'env FC=$F90' configopts = '--with-jasper=$EBROOTJASPER' parallel = 1 diff --git a/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-4.1.13.eb b/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-4.1.13.eb index 8f6396f5b8..7a4d21e078 100644 --- a/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-4.1.13.eb @@ -17,7 +17,7 @@ dependencies = [ ('JasPer', '1.900.1'), ] -preconfigopts = 'FC=$F90' +preconfigopts = 'env FC=$F90' configopts = '--with-jasper=$EBROOTJASPER' parallel = 1 diff --git a/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-5.3.0.eb b/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-5.3.0.eb index ee472aa372..4e298ad677 100644 --- a/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/g/grib_api/grib_api-1.10.0-ictce-5.3.0.eb @@ -17,7 +17,7 @@ dependencies = [ ('JasPer', '1.900.1'), ] -preconfigopts = 'FC=$F90' +preconfigopts = 'env FC=$F90' configopts = '--with-jasper=$EBROOTJASPER' parallel = 1 diff --git a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goalf-1.1.0-no-OFED.eb index ef2423ee53..4b6a000d12 100644 --- a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goalf-1.1.0-no-OFED.eb @@ -17,7 +17,7 @@ dependencies = [ ('JasPer', '1.900.1'), ] -preconfigopts = 'FC=$F90' +preconfigopts = 'env FC=$F90' configopts = '--with-jasper=$EBROOTJASPER' parallel = 1 diff --git a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goolf-1.4.10.eb b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goolf-1.4.10.eb index c0f9f1c6d8..9445690c85 100644 --- a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-goolf-1.4.10.eb @@ -16,7 +16,7 @@ dependencies = [ ('JasPer', '1.900.1'), ] -preconfigopts = 'FC=$F90' +preconfigopts = 'env FC=$F90' configopts = '--with-jasper=$EBROOTJASPER' parallel = 1 diff --git a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-4.1.13.eb b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-4.1.13.eb index 384aa93ebf..1f66eb79d7 100644 --- a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-4.1.13.eb @@ -17,7 +17,7 @@ dependencies = [ ('JasPer', '1.900.1'), ] -preconfigopts = 'FC=$F90' +preconfigopts = 'env FC=$F90' configopts = '--with-jasper=$EBROOTJASPER' parallel = 1 diff --git a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-5.3.0.eb b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-5.3.0.eb index 048ac9570d..8bc580fd82 100644 --- a/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/g/grib_api/grib_api-1.9.18-ictce-5.3.0.eb @@ -18,7 +18,7 @@ dependencies = [ ('JasPer', '1.900.1'), ] -preconfigopts = 'FC=$F90' +preconfigopts = 'env FC=$F90' configopts = '--with-jasper=$EBROOTJASPER' parallel = 1 diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-20140805-GCC-4.9.2.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-20140805-GCC-4.9.2.eb index cc9e86a7d0..8c554c3e24 100644 --- a/easybuild/easyconfigs/l/libdwarf/libdwarf-20140805-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-20140805-GCC-4.9.2.eb @@ -15,7 +15,7 @@ source_urls = ['http://www.prevanders.net'] dependencies = [('libelf', '0.8.13')] with_configure = True -preconfigopts = 'CFLAGS="-fPIC $CFLAGS" ' +preconfigopts = 'env CFLAGS="-fPIC $CFLAGS" ' configopts = "--enable-shared " # This is dirty but libdwarf cannot find it's own library in the build process... diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-GCC-4.7.2.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-GCC-4.7.2.eb index 6ac9b7d5c3..01c9c7b5d7 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-GCC-4.7.2.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-GCC-4.7.2.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goalf-1.1.0-no-OFED.eb index a021127537..3c63b87470 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goalf-1.1.0-no-OFED.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goolf-1.4.10.eb index 11090d4b7a..437954d342 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-goolf-1.4.10.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.0.6.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.0.6.eb index f66aff6454..f0291301fc 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.0.6.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.1.13.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.1.13.eb index f03e2b9b60..e43c36e89c 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-4.1.13.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.3.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.3.0.eb index 33c34a406a..834a292992 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.3.0.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.5.0.eb index 7e3d115240..c3e51b6854 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-ictce-5.5.0.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2015a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2015a.eb index ce77f3502c..8f259d339a 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.1-intel-2015a.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.17'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.3-intel-2015a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.3-intel-2015a.eb index e28f16cff6..5f22d77a36 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.3-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.3-intel-2015a.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.19.0'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb index 2a5e9c8d05..ea05edcced 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-gimkl-2.11.5.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.19.0'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2015b.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2015b.eb index 4281029487..1af83efe66 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2015b.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.19.0'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb index 2ac72299c5..c0a23d9702 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-intel-2016a.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.19.0'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmpolf-1.1.6.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmpolf-1.1.6.eb index 17ca0fce10..084f645370 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmpolf-1.1.6.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmpolf-1.1.6.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9-20130406')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.1.12rc1.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.1.12rc1.eb index 8d2ea29b4c..f0751a5aa2 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.1.12rc1.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.1.12rc1.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9-20130406')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.2.7.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.2.7.eb index aea7099ee4..0ae01c0783 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.2.7.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgmvolf-1.2.7.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9-20130406')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgoolf-1.1.7.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgoolf-1.1.7.eb index 7216c9ca1c..39cc896311 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgoolf-1.1.7.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-cgoolf-1.1.7.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9-20130406')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb index 6589e3ba7c..9a9c4dd1a0 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-foss-2015b.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmpolf-1.4.8.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmpolf-1.4.8.eb index a36ac06d74..245f1b2b64 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmpolf-1.4.8.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmpolf-1.4.8.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12.eb index 4425696364..8e8d97c9af 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9-20130406')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12rc1.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12rc1.eb index 8892dfc907..0e2ab07ab0 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12rc1.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gmvolf-1.7.12rc1.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9-20130406')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.1.0-no-OFED.eb index 7778abffff..c6a66c33d9 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.1.0-no-OFED.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.5.12-no-OFED.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.5.12-no-OFED.eb index 157a15b6bb..f765c40888 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.5.12-no-OFED.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goalf-1.5.12-no-OFED.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gompi-1.4.12-no-OFED.eb index 6a9bcf9cdd..f13cdef958 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gompi-1.4.12-no-OFED.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-gompi-1.4.12-no-OFED.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.4.10.eb index c5324cbad1..f5f1c5bd47 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.4.10.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.5.14.eb index b07b7634b9..5c9d193cce 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-goolf-1.5.14.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.10.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.10.eb index 853816b19b..596222a189 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.10.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.10.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.6.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.6.eb index 26cadb84b9..2ed024170c 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.0.6.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.1.13.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.1.13.eb index 055d457da0..fd8d7fabf0 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-4.1.13.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.2.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.2.0.eb index 6f9a153abf..35b967c78d 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.2.0.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.2.0.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.3.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.3.0.eb index a4bce470a5..54fd902c42 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.3.0.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb index 8003f03676..12e011a8ed 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.4.0.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.5.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.5.0.eb index 15a227218e..18ebd1a1e7 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-ictce-5.5.0.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2015a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2015a.eb index 9236fd84d0..cdb4bf6f5a 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-intel-2015a.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iomkl-4.6.13.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iomkl-4.6.13.eb index 7435fb5029..0f7e912805 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iomkl-4.6.13.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iomkl-4.6.13.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-3.7.3.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-3.7.3.eb index a669b4f5be..27560c2cd2 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-3.7.3.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-3.7.3.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-4.4.13.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-4.4.13.eb index a120dd4307..7ca975dc76 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-4.4.13.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.2-iqacml-4.4.13.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb index 883868add2..b30099a775 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.06.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb index d828f262a5..712eabaeda 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-CrayGNU-2015.11.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.8.2.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.8.2.eb index 252a86c527..667201ed1a 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.8.2.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.8.2.eb @@ -17,7 +17,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.9.2.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.9.2.eb index afd0f9f313..55974b6b67 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCC-4.9.2.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-4.9.3.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-4.9.3.eb index 46e89b5a96..68d5cccacb 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-4.9.3.eb @@ -19,7 +19,7 @@ builddependencies = [('binutils', '2.25')] dependencies = [('ncurses', '6.0')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GNU-4.9.3-2.25.eb index 05d8476935..d726fb4329 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GNU-4.9.3-2.25.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2014b.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2014b.eb index 362df4f9bd..2745ab8557 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2014b.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2014b.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015.05.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015.05.eb index 763ccd9488..c856b61000 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015.05.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015.05.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015a.eb index d3b76459b6..b5740c5333 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015a.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015a.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015b.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015b.eb index 66ecad79ff..4bbd90baa7 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015b.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2015b.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2016a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2016a.eb index 037141ab77..e33a1ae239 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-foss-2016a.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '6.0')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gimkl-2.11.5.eb index fb2145ca85..675e8c38cd 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gimkl-2.11.5.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gompi-1.5.16.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gompi-1.5.16.eb index 8845b7c009..dbc0087596 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gompi-1.5.16.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-gompi-1.5.16.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.4.10.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.4.10.eb index 793dcaf0af..cbb20595ce 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.4.10.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.14.eb index e594babc96..7ecfe2dc0a 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.14.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.7.20.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.7.20.eb index ec5413615c..3c009a2b02 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.7.20.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.2.5.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.2.5.eb index 35af50be83..84703a1b03 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.2.5.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.2.5.eb @@ -20,7 +20,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.3.5.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.3.5.eb index 2db2e85326..fdf5247663 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.3.5.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-6.3.5.eb @@ -20,7 +20,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.1.2.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.1.2.eb index c9c675d484..fb685e3854 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.1.2.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.1.2.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.3.5.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.3.5.eb index 46eef59b19..68d21572c3 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.3.5.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-ictce-7.3.5.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014.06.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014.06.eb index 583b41298f..76b828f76d 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014.06.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014.06.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014b.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014b.eb index 3e67c20449..9539bb724f 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2014b.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015a.eb index 2c8752c400..051672a6f2 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015a.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015b.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015b.eb index de76493eec..fa9c58b0b8 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2015b.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016a.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016a.eb index 0762f90f29..5b1cb39b0a 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016a.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '6.0')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + diff --git a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb index 5bcb7de6da..b08de1e59f 100644 --- a/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb +++ b/easybuild/easyconfigs/m/MVAPICH2/MVAPICH2-1.9-iccifort-2011.13.367.eb @@ -15,6 +15,6 @@ checksums = ['5dc58ed08fd3142c260b70fe297e127c'] builddependencies = [('Bison', '2.7')] # the hydra launcher start's before LD_LIBRARY_PATH is forwarded, so we provide this hint on where to find some libs -preconfigopts = 'LDFLAGS="-Wl,-rpath,$EBROOTICC/compiler/lib/intel64 $LDFLAGS"' +preconfigopts = 'env LDFLAGS="-Wl,-rpath,$EBROOTICC/compiler/lib/intel64 $LDFLAGS"' moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.1.4-foss-2015b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.1.4-foss-2015b.eb index 9cac08c076..3b2363cdf9 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.1.4-foss-2015b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.1.4-foss-2015b.eb @@ -25,7 +25,7 @@ dependencies = [ ('libmatheval', '1.1.11'), ] -preconfigopts = 'FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' configopts = ' --exec-prefix=%(installdir)s --enable-gsl' prebuildopts = 'source sourceme.sh && ' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.0-intel-2015b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.0-intel-2015b.eb index c6b4f4fabd..b547dd35fb 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.0-intel-2015b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.0-intel-2015b.eb @@ -25,7 +25,7 @@ dependencies = [ ('libmatheval', '1.1.11'), ] -preconfigopts = 'FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' configopts = ' --exec-prefix=%(installdir)s --enable-gsl' prebuildopts = 'source sourceme.sh && ' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-foss-2015b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-foss-2015b.eb index f3480b9f42..2be6013ea4 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-foss-2015b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-foss-2015b.eb @@ -25,7 +25,7 @@ dependencies = [ ('libmatheval', '1.1.11'), ] -preconfigopts = 'FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' configopts = ' --exec-prefix=%(installdir)s --enable-gsl' prebuildopts = 'source sourceme.sh && ' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-intel-2015b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-intel-2015b.eb index a8664f7399..c2a88ca7fa 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-intel-2015b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.2.1-intel-2015b.eb @@ -25,7 +25,7 @@ dependencies = [ ('libmatheval', '1.1.11'), ] -preconfigopts = 'FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' configopts = ' --exec-prefix=%(installdir)s --enable-gsl' prebuildopts = 'source sourceme.sh && ' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.8-ictce-7.1.2.eb b/easybuild/easyconfigs/p/Python/Python-2.7.8-ictce-7.1.2.eb index bcf88e98c9..a7caba4fae 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.8-ictce-7.1.2.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.8-ictce-7.1.2.eb @@ -14,7 +14,7 @@ source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] sources = [SOURCE_TGZ] configopts = ' --enable-unicode=ucs4 ' -preconfigopts = ' LDFLAGS="-lstdc++" ' +preconfigopts = 'env LDFLAGS="-lstdc++" ' # libffi build in python is still broken, see http://bugs.python.org/issue4130 patches = ['python-2.7_libffi-include-xmmintrin.patch'] diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2015a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2015a.eb index 4f0b4fda48..05baffbd16 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2015a.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.26-intel-2015a.eb @@ -34,7 +34,7 @@ dependencies = [ ] # use external ZLIB -preconfigopts = 'ZLIB=$EBROOTZLIB ' +preconfigopts = 'env ZLIB=$EBROOTZLIB ' # architecture arch = 'linuxx8664icc' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb index 59556c19fd..fc6f18713c 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.34-intel-2016a-Python-2.7.11.eb @@ -32,7 +32,7 @@ dependencies = [ ] # use external ZLIB -preconfigopts = 'ZLIB=$EBROOTZLIB ' +preconfigopts = 'env ZLIB=$EBROOTZLIB ' # architecture arch = 'linuxx8664icc' diff --git a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goalf-1.1.0-no-OFED.eb index 740784c812..795671412f 100644 --- a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goalf-1.1.0-no-OFED.eb @@ -29,7 +29,7 @@ source_urls = ['http://www.tbi.univie.ac.at/~ronny/RNA'] configopts = '--without-perl' # Alternatively, you may want to use the following to copy the perl-module to a "local" directory # Code NOT yet tested, therefor left here for future recycling -#preconfigopts = 'PERLPREFIX="/path/where/the/perl/module/shoud/go"' +#preconfigopts = 'env PERLPREFIX="/path/where/the/perl/module/shoud/go"' sanity_check_paths = { 'files': ['bin/RNA%s' % x for x in ['fold', 'eval', 'heat', 'pdist', 'distance', diff --git a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goolf-1.4.10.eb b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goolf-1.4.10.eb index 327bd773eb..1e20cf23ec 100644 --- a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-goolf-1.4.10.eb @@ -29,7 +29,7 @@ source_urls = ['http://www.tbi.univie.ac.at/~ronny/RNA'] configopts = '--without-perl' # Alternatively, you may want to use the following to copy the perl-module to a "local" directory # Code NOT yet tested, therefor left here for future recycling -#preconfigopts = 'PERLPREFIX="/path/where/the/perl/module/shoud/go"' +#preconfigopts = 'env PERLPREFIX="/path/where/the/perl/module/shoud/go"' sanity_check_paths = { 'files': ['bin/RNA%s' % x for x in ['fold', 'eval', 'heat', 'pdist', 'distance', diff --git a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-4.0.6.eb b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-4.0.6.eb index 375b58016f..b7723d7af3 100644 --- a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-4.0.6.eb @@ -31,7 +31,7 @@ patches = ['ViennaRNA_ictce-pragma.patch'] configopts = '--without-perl' # Alternatively, you may want to use the following to copy the perl-module to a "local" directory # Code NOT yet tested, therefor left here for future recycling -#preconfigopts = 'PERLPREFIX="/path/where/the/perl/module/shoud/go"' +#preconfigopts = 'env PERLPREFIX="/path/where/the/perl/module/shoud/go"' sanity_check_paths = { 'files': ['bin/RNA%s' % x for x in ['fold', 'eval', 'heat', 'pdist', 'distance', diff --git a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-5.3.0.eb b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-5.3.0.eb index 316c43df98..a66be3332b 100644 --- a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.0.7-ictce-5.3.0.eb @@ -32,7 +32,7 @@ patches = ['ViennaRNA_ictce-pragma.patch'] configopts = '--without-perl' # Alternatively, you may want to use the following to copy the perl-module to a "local" directory # Code NOT yet tested, therefor left here for future recycling -#preconfigopts = 'PERLPREFIX="/path/where/the/perl/module/shoud/go"' +#preconfigopts = 'env PERLPREFIX="/path/where/the/perl/module/shoud/go"' sanity_check_paths = { 'files': ['bin/RNA%s' % x for x in ['fold', 'eval', 'heat', 'pdist', 'distance', diff --git a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.1.6-ictce-5.5.0.eb b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.1.6-ictce-5.5.0.eb index d9a8ebec92..664ec56172 100644 --- a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.1.6-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.1.6-ictce-5.5.0.eb @@ -31,7 +31,7 @@ patches = ['ViennaRNA-2.1.6_ictce.patch'] configopts = '--without-perl' # Alternatively, you may want to use the following to copy the perl-module to a "local" directory # Code NOT yet tested, therefor left here for future recycling -#preconfigopts = 'PERLPREFIX="/path/where/the/perl/module/shoud/go"' +#preconfigopts = 'env PERLPREFIX="/path/where/the/perl/module/shoud/go"' sanity_check_paths = { 'files': ['bin/RNA%s' % x for x in ['fold', 'eval', 'heat', 'pdist', 'distance', -- GitLab From 53eadadc575930bd0d5729d2239c3df8d70316fc Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 10:16:47 +0200 Subject: [PATCH 0677/1089] add easyconfig ncbi-vdb-2.5.8-1-intel-2016a.eb --- .../ncbi-vdb/ncbi-vdb-2.5.8-1-intel-2016a.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.5.8-1-intel-2016a.eb diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.5.8-1-intel-2016a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.5.8-1-intel-2016a.eb new file mode 100644 index 0000000000..4197805f9e --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.5.8-1-intel-2016a.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'ncbi-vdb' +version = '2.5.8-1' + +homepage = 'https://github.com/ncbi/ncbi-vdb' +description = """The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for + using data in the INSDC Sequence Read Archives.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/ncbi/ncbi-vdb/archive/'] +sources = ['%(version)s.tar.gz'] + +dependencies = [ + ('libxml2', '2.9.3'), + ('file', '5.25'), # provides libmagic + ('HDF5', '1.8.16'), + ('NGS', '1.2.3'), +] + +# override default of using $HOME/ncbi-outdir +configopts = "--build-prefix=%(builddir)s/ncbi-outdir " + +configopts += "--with-ngs-sdk-prefix=$EBROOTNGS --with-ngs-java-prefix=$EBROOTNGS " +configopts += "--with-hdf5-prefix=$EBROOTHDF5 --with-xml2-prefix=$EBROOTLIBXML2" + +parallel = 1 + +sanity_check_paths = { + 'files': ['include/ncbi-vdb/NGS.hpp', ('lib/libncbi-vdb.%s' % SHLIB_EXT, 'lib64/libncbi-vdb.%s' % SHLIB_EXT), + ('lib/libncbi-wvdb.%s' % SHLIB_EXT, 'lib64/libncbi-wvdb.%s' % SHLIB_EXT), + ('lib/libncbi-ngs-c++.a', 'lib64/libncbi-ngs-c++.a'), ('lib/libncbi-vdb.a', 'lib64/libncbi-vdb.a'), + ('lib/libncbi-wvdb.a', 'lib64/libncbi-wvdb.a')], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 0af7e722e8f3aa0b28b12b62424772425ad587bf Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 11:57:16 +0200 Subject: [PATCH 0678/1089] add easyconfig HISAT2-2.0.3-beta-intel-2016a.eb --- .../h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb new file mode 100644 index 0000000000..c08c2f92a9 --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.0.3-beta' + +homepage = 'https://ccb.jhu.edu/software/hisat2/index.shtml' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = ['%(namelower)s-%(version)s-source.zip'] +source_urls = ['ftp://ftp.ccb.jhu.edu/pub/infphilo/%(namelower)s/downloads/'] + +checksums = ['deb29e32e48045b2f970fb999946b411'] + +dependencies = [ + ('NGS', '1.2.3'), + ('ncbi-vdb', '2.5.8-1'), +] + +buildopts = "USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINUSVDB" + +executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l'] +files_to_copy = [(executables, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in executables], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From e0707b966ea23e736726488c4039e47960fc9bbb Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 12:22:31 +0200 Subject: [PATCH 0679/1089] modify easyconfig HISAT2-2.0.3-beta-intel-2016a.eb --- easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb index c08c2f92a9..ab9ee05adb 100644 --- a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.0.3-beta-intel-2016a.eb @@ -19,7 +19,7 @@ dependencies = [ ('ncbi-vdb', '2.5.8-1'), ] -buildopts = "USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINUSVDB" +buildopts = "USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINVDB" executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l'] -- GitLab From 3120311ff75bf2561aa7b6cfee5f6f3456966d47 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 12:47:43 +0200 Subject: [PATCH 0680/1089] {bio}[intel/2016a] NGS-Python 1.2.3 --- ...-Python-1.2.3-intel-2016a-Python-2.7.11.eb | 46 +++++++++++++++++++ .../NGS-Python-1.2.3_fix-prefix.patch | 13 ++++++ 2 files changed, 59 insertions(+) create mode 100644 easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3_fix-prefix.patch diff --git a/easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..94dc61a1a7 --- /dev/null +++ b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'NGS-Python' +version = '1.2.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/ncbi/ngs' +description = """NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from + Next Generation Sequencing.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/ncbi/ngs/archive/'] +sources = ['%(version)s.tar.gz'] + +patches = ['NGS-Python-%(version)s_fix-prefix.patch'] + +dependencies = [ + ('Python', '2.7.11'), + ('NGS', version), + ('ncbi-vdb', '2.5.8-1'), +] + +preconfigopts = "cd ngs-python && " + +# override default of using $HOME/ncbi-outdir +configopts = "--build-prefix=%(builddir)s/ncbi-outdir " + +configopts += "--with-ngs-sdk-prefix=$EBROOTNGS " +configopts += "--with-ncbi-vdb-prefix=$EBROOTNCBIMINVDB" + +buildopts = 'CC="$CC -c" CPP="$CXX" CP="$CXX -c" -C ngs-python' +installopts = "-C ngs-python" + +parallel = 1 + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python2.7/site-packages', 'share/examples-python'], +} + +sanity_check_commands = [('python', "-c 'import ngs'")] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3_fix-prefix.patch b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3_fix-prefix.patch new file mode 100644 index 0000000000..60411ef541 --- /dev/null +++ b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-1.2.3_fix-prefix.patch @@ -0,0 +1,13 @@ +correctly specify prefix to install NGS-Python package to +author: Kenneth Hoste (HPC-UGent) +--- ngs-1.2.3/ngs-python/Makefile.python.orig 2016-03-31 12:34:54.124551782 +0200 ++++ ngs-1.2.3/ngs-python/Makefile.python 2016-03-31 12:37:01.515699327 +0200 +@@ -82,7 +82,7 @@ + + else + @ echo "Installing ngs package..." +- @ python setup.py -q install --user ++ @ python setup.py -q install --prefix $(INST_PYTHONDIR) + endif + + ifneq (, $(NGS_LIBDIR)) -- GitLab From af36210e03039665d0ac97e321a93585e12c0f2a Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 31 Mar 2016 12:11:56 +0100 Subject: [PATCH 0681/1089] Add explicit Python dep and rename to reflect that --- ...6.3-foss-2015b.eb => RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb} | 1 + 1 file changed, 1 insertion(+) rename easybuild/easyconfigs/r/RSeQC/{RSeQC-2.6.3-foss-2015b.eb => RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb} (98%) diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb similarity index 98% rename from easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb rename to easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb index c33eb72992..4fc2b27c34 100644 --- a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b.eb +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb @@ -26,6 +26,7 @@ versionsuffix = '-%s-%s' % (python, pyver) dependencies = [ ('R', '3.2.3'), + (python, pyver), ('numpy', '1.10.1', versionsuffix), ] -- GitLab From 311923d8aa7e6717ee43fa4414580f5e4cf9f605 Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Thu, 31 Mar 2016 13:11:59 +0200 Subject: [PATCH 0682/1089] Use `env` wherever `preinstallopts is used to set environmental variables. --- .../p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb index 699eafed53..ab6efabad7 100644 --- a/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/p4vasp/p4vasp-0.3.29-intel-2016a-Python-2.7.11.eb @@ -22,7 +22,7 @@ dependencies = [ skipsteps = ['configure', 'build'] # redefine $HOME to specify installation prefix O_o -preinstallopts = "HOME=%(installdir)s make local &&" +preinstallopts = "env HOME=%(installdir)s make local &&" sanity_check_paths = { 'files': ['p4vasp/bin/p4v', 'p4vasp/lib/libODP.a', 'p4vasp/lib/libp4vasp.a'], -- GitLab From 2fb5725bfc6410ec511fdfa3183ba32d6161dd14 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 31 Mar 2016 12:47:26 +0100 Subject: [PATCH 0683/1089] Fix Subread filename to match version --- ...bread-1.5.0p1-foss-2015b.eb => Subread-1.5.0-p1-foss-2015b.eb} | 0 ...bread-1.5.0p1-foss-2016a.eb => Subread-1.5.0-p1-foss-2016a.eb} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/s/Subread/{Subread-1.5.0p1-foss-2015b.eb => Subread-1.5.0-p1-foss-2015b.eb} (100%) rename easybuild/easyconfigs/s/Subread/{Subread-1.5.0p1-foss-2016a.eb => Subread-1.5.0-p1-foss-2016a.eb} (100%) diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb similarity index 100% rename from easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2015b.eb rename to easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2016a.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb similarity index 100% rename from easybuild/easyconfigs/s/Subread/Subread-1.5.0p1-foss-2016a.eb rename to easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb -- GitLab From 476581ab23b45a00bb8d8a5bd7e94fad980ed7be Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 14:42:24 +0200 Subject: [PATCH 0684/1089] {tools}[intel/2016a] SCOOP 0.7.1.1 w/ Python 2.7.11 --- ...reenlet-0.4.9-intel-2016a-Python-2.7.11.eb | 30 ++++++++++++++++ .../libsodium/libsodium-1.0.6-intel-2016a.eb | 20 +++++++++++ .../o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb | 28 +++++++++++++++ ...Q-15.2.0-intel-2016a-Python-2.7.11-zmq4.eb | 28 +++++++++++++++ ...SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb | 27 ++++++++++++++ .../util-linux-2.27.1-intel-2016a.eb | 33 +++++++++++++++++ .../z/ZeroMQ/ZeroMQ-4.1.4-intel-2016a.eb | 35 +++++++++++++++++++ 7 files changed, 201 insertions(+) create mode 100644 easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/l/libsodium/libsodium-1.0.6-intel-2016a.eb create mode 100644 easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-2.7.11-zmq4.eb create mode 100644 easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..c8fb9489f2 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,30 @@ +easyblock = "PythonPackage" + +name = 'Greenlet' +version = '0.4.9' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/python-greenlet/greenlet' +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_ZIP] + +patches = ['Greenlet-0.4.2_icc_no_amd64_predefined_in_prepocessor.patch'] + +dependencies = [('Python', '2.7.11')] + +sanity_check_paths = { + 'files': ['include/python%(pyshortver)s/greenlet/greenlet.h', + 'lib/python%(pyshortver)s/site-packages/greenlet.so'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.6-intel-2016a.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.6-intel-2016a.eb new file mode 100644 index 0000000000..8cd02bafe0 --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.6-intel-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.6' + +homepage = 'http://doc.libsodium.org/' +description = """Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, + password hashing and more.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://download.libsodium.org/libsodium/releases/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/libsodium.so', 'lib/libsodium.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb new file mode 100644 index 0000000000..7d687c23fb --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'http://code.google.com/p/openpgm/' +description = """OpenPGM is an open source implementation of the Pragmatic General Multicast (PGM) + specification in RFC 3208 available at www.ietf.org. PGM is a reliable and scalable multicast protocol + that enables receivers to detect loss, request retransmission of lost data, or notify an application + of unrecoverable loss. PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception responsibility.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [GOOGLECODE_SOURCE] +sources = ['libpgm-%(version)s.tar.gz'] + +configopts = '--with-pic' + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.so', 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-2.7.11-zmq4.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-2.7.11-zmq4.eb new file mode 100644 index 0000000000..3b84d83e0c --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-2.7.11-zmq4.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '15.2.0' +zmqversion = '4.1.4' +versionsuffix = '-Python-%%(pyver)s-zmq%s' % zmqversion.split('.')[0] + +homepage = 'http://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('ZeroMQ', zmqversion), +] + +options = {'modulename': 'zmq'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/zmq'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..159567d24d --- /dev/null +++ b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'SCOOP' +version = '0.7.1.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://code.google.com/p/scoop/' +description = """SCOOP (Scalable COncurrent Operations in Python) is a distributed task module + allowing concurrent parallel programming on various environments, from heterogeneous grids to supercomputers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('Greenlet', '0.4.9', versionsuffix), + ('PyZMQ', '15.2.0', versionsuffix + '-zmq4'), +] + +sanity_check_paths = { + 'files': ['lib/python%(pyshortver)s/site-packages/scoop-%(version)s.release-py%(pyshortver)s.egg'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-intel-2016a.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-intel-2016a.eb new file mode 100644 index 0000000000..fa18d8bb1d --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-intel-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.27.1' + +homepage = 'http://www.kernel.org/pub/linux/utils/util-linux' +description = """Set of Linux utilities""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] + +# disable account related utilities (they need OS dependant pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +dependencies = [('ncurses', '6.0')] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-intel-2016a.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-intel-2016a.eb new file mode 100644 index 0000000000..5eeb602737 --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-intel-2016a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.1.4' + +homepage = 'http://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://download.zeromq.org/'] +sources = [SOURCELOWER_TAR_GZ] + +# --with-pgm will use shipped OpenPGM (in foreign subdir) +configopts = '--with-pic --with-system-pgm ' +configopts += 'OpenPGM_CFLAGS="-I$EBROOTOPENPGM/include/pgm-${EBVERSIONOPENPGM%.*}" ' +configopts += 'OpenPGM_LIBS="-L$EBROOTOPENPGM/lib -lpgm -lrt -lpthread -lm" ' + +dependencies = [ + ('OpenPGM', '5.2.122'), + ('util-linux', '2.27.1'), + ('libsodium', '1.0.6'), +] + +sanity_check_paths = { + 'files': ['lib/libzmq.so', 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' -- GitLab From 227f6059951a467bb27eecc6f54afda8284eef69 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 14:48:42 +0200 Subject: [PATCH 0685/1089] {tools}[intel/2016a] SCOOP 0.7.1.1 w/ Python 3.5.1 --- ...Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb | 30 +++++++++++++++++++ ...MQ-15.2.0-intel-2016a-Python-3.5.1-zmq4.eb | 28 +++++++++++++++++ .../SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb | 27 +++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb create mode 100644 easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-3.5.1-zmq4.eb create mode 100644 easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..26ba01fae4 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,30 @@ +easyblock = "PythonPackage" + +name = 'Greenlet' +version = '0.4.9' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/python-greenlet/greenlet' +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_ZIP] + +patches = ['Greenlet-0.4.2_icc_no_amd64_predefined_in_prepocessor.patch'] + +dependencies = [('Python', '3.5.1')] + +sanity_check_paths = { + 'files': ['include/python%(pyshortver)s/greenlet/greenlet.h', + 'lib/python%(pyshortver)s/site-packages/greenlet.so'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-3.5.1-zmq4.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-3.5.1-zmq4.eb new file mode 100644 index 0000000000..40389161f7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-intel-2016a-Python-3.5.1-zmq4.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '15.2.0' +zmqversion = '4.1.4' +versionsuffix = '-Python-%%(pyver)s-zmq%s' % zmqversion.split('.')[0] + +homepage = 'http://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '3.5.1'), + ('ZeroMQ', zmqversion), +] + +options = {'modulename': 'zmq'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/zmq'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..8eac309517 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'SCOOP' +version = '0.7.1.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://code.google.com/p/scoop/' +description = """SCOOP (Scalable COncurrent Operations in Python) is a distributed task module + allowing concurrent parallel programming on various environments, from heterogeneous grids to supercomputers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '3.5.1'), + ('Greenlet', '0.4.9', versionsuffix), + ('PyZMQ', '15.2.0', versionsuffix + '-zmq4'), +] + +sanity_check_paths = { + 'files': ['lib/python%(pyshortver)s/site-packages/scoop-%(version)s.release-py%(pyshortver)s.egg'], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From 31497fc893cc738df14f49f87e60e92868d78313 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 15:27:31 +0200 Subject: [PATCH 0686/1089] fix sanity check for SCOOP --- .../s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb index 8eac309517..21ced6bf47 100644 --- a/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb +++ b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-3.5.1.eb @@ -20,7 +20,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/python%(pyshortver)s/site-packages/scoop-%(version)s.release-py%(pyshortver)s.egg'], + 'files': ['lib/python%(pyshortver)s/site-packages/scoop-%(version)s-py%(pyshortver)s.egg'], 'dirs': [], } -- GitLab From 43ac5b3c6c64f1f65f61be34acdb65097e0a2ba1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 15:27:48 +0200 Subject: [PATCH 0687/1089] fix sanity check for SCOOP --- .../s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb index 159567d24d..eb5338d376 100644 --- a/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/SCOOP/SCOOP-0.7.1.1-intel-2016a-Python-2.7.11.eb @@ -20,7 +20,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['lib/python%(pyshortver)s/site-packages/scoop-%(version)s.release-py%(pyshortver)s.egg'], + 'files': ['lib/python%(pyshortver)s/site-packages/scoop-%(version)s-py%(pyshortver)s.egg'], 'dirs': [], } -- GitLab From 7f64fcc96a1ceb19d3f513d26b534cf3e9b36897 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 15:29:01 +0200 Subject: [PATCH 0688/1089] fix sanity check for Greenlet --- .../g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb index 26ba01fae4..0d6aba002e 100644 --- a/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb @@ -22,7 +22,7 @@ patches = ['Greenlet-0.4.2_icc_no_amd64_predefined_in_prepocessor.patch'] dependencies = [('Python', '3.5.1')] sanity_check_paths = { - 'files': ['include/python%(pyshortver)s/greenlet/greenlet.h', + 'files': ['include/python%(pyshortver)sm/greenlet/greenlet.h', 'lib/python%(pyshortver)s/site-packages/greenlet.so'], 'dirs': [], } -- GitLab From eb191c8e53282e75113408cb024eb7063c4df418 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 15:32:28 +0200 Subject: [PATCH 0689/1089] really fix sanity check for Greenlet --- .../g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb index 0d6aba002e..26eafeafb1 100644 --- a/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-0.4.9-intel-2016a-Python-3.5.1.eb @@ -22,9 +22,8 @@ patches = ['Greenlet-0.4.2_icc_no_amd64_predefined_in_prepocessor.patch'] dependencies = [('Python', '3.5.1')] sanity_check_paths = { - 'files': ['include/python%(pyshortver)sm/greenlet/greenlet.h', - 'lib/python%(pyshortver)s/site-packages/greenlet.so'], - 'dirs': [], + 'files': ['include/python%(pyshortver)sm/greenlet/greenlet.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], } moduleclass = 'devel' -- GitLab From a671d34e8d9ffcacff21ea8076804301a2e037cd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 16:24:05 +0200 Subject: [PATCH 0690/1089] don't hardcode .so in OpenPGM easyconfig --- easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb index 7d687c23fb..d391dfe9fd 100644 --- a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-intel-2016a.eb @@ -21,7 +21,7 @@ configopts = '--with-pic' start_dir = 'pgm' sanity_check_paths = { - 'files': ['lib/libpgm.so', 'lib/libpgm.a'], + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], 'dirs': ['include'], } -- GitLab From 9771b3cbc1b41f77c6bc468f521a821c3b7c2b1c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 18:00:48 +0200 Subject: [PATCH 0691/1089] add zlib as explicit dep in Tk easyconfigs --- easybuild/easyconfigs/t/Tk/Tk-8.5.12-foss-2014b.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.5.12-goalf-1.1.0-no-OFED.eb | 5 ++++- easybuild/easyconfigs/t/Tk/Tk-8.5.12-goolf-1.4.10.eb | 5 ++++- easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.10.eb | 5 ++++- easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.6.eb | 5 ++++- easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-5.3.0.eb | 5 ++++- easybuild/easyconfigs/t/Tk/Tk-8.5.12-intel-2014b.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.5.15-ictce-5.3.0.eb | 5 ++++- easybuild/easyconfigs/t/Tk/Tk-8.6.1-ictce-5.3.0.eb | 5 ++++- easybuild/easyconfigs/t/Tk/Tk-8.6.3-GCC-4.9.2-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015.05-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015a-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.3-gompi-1.5.16-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.14-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.7.20-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2015a-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-GCC-4.9.3-2.25-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-GNU-4.9.3-2.25-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015a-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015b-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-gimkl-2.11.5-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.4.10-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.7.20-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-ictce-7.3.5-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015a-no-X11.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015b-no-X11.eb | 1 + .../easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb | 1 + easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-no-X11.eb | 1 + 29 files changed, 50 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-foss-2014b.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-foss-2014b.eb index 9ebfd37f5f..ff05f0890c 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-foss-2014b.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-foss-2014b.eb @@ -14,6 +14,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ('libX11', '1.6.2', '-Python-2.7.8'), ] diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goalf-1.1.0-no-OFED.eb index 5f035ccbf2..e28fd7a2dc 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goalf-1.1.0-no-OFED.eb @@ -12,7 +12,10 @@ toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] -dependencies = [('Tcl', version)] +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.7'), +] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goolf-1.4.10.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goolf-1.4.10.eb index 16d5293528..cbf7bcb4b2 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-goolf-1.4.10.eb @@ -12,7 +12,10 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] -dependencies = [('Tcl', version)] +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.7'), +] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.10.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.10.eb index 1415c70f4e..06a1978ba4 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.10.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.10.eb @@ -12,7 +12,10 @@ toolchain = {'name': 'ictce', 'version': '4.0.10'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] -dependencies = [('Tcl', version)] +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.7'), +] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.6.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.6.eb index 5c0a6ccd92..4798d6cf81 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-4.0.6.eb @@ -12,7 +12,10 @@ toolchain = {'name': 'ictce', 'version': '4.0.6'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] -dependencies = [('Tcl', version)] +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.7'), +] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-5.3.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-5.3.0.eb index f65e1a0e09..71f6f47992 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-ictce-5.3.0.eb @@ -12,7 +12,10 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] -dependencies = [('Tcl', version)] +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.7'), +] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-intel-2014b.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-intel-2014b.eb index 25372ffd8f..11e23b0c07 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.12-intel-2014b.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.12-intel-2014b.eb @@ -14,6 +14,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ('libX11', '1.6.2', '-Python-2.7.8'), ] diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.5.15-ictce-5.3.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.5.15-ictce-5.3.0.eb index 3231de70b9..8b45a8770e 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.5.15-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.5.15-ictce-5.3.0.eb @@ -12,7 +12,10 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] -dependencies = [('Tcl', version)] +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.5'), +] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.1-ictce-5.3.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.1-ictce-5.3.0.eb index a79397a5f8..60130e9216 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.1-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.1-ictce-5.3.0.eb @@ -13,7 +13,10 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] -dependencies = [('Tcl', version)] +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.7'), +] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-GCC-4.9.2-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-GCC-4.9.2-no-X11.eb index 602101704a..878cfecf53 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-GCC-4.9.2-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-GCC-4.9.2-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015.05-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015.05-no-X11.eb index 8ff29d34a2..ac0d5ff0bc 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015.05-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015.05-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015a-no-X11.eb index c34f24fd99..0cf00324c8 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015a-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015a-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb index 31e024fb43..aaa247a658 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-foss-2015b-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-gompi-1.5.16-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-gompi-1.5.16-no-X11.eb index a292e06eb8..0a860475e3 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-gompi-1.5.16-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-gompi-1.5.16-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.14-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.14-no-X11.eb index cd4da6afb6..890bfc8cfe 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.14-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.14-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.7.20-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.7.20-no-X11.eb index 025f5e6476..6550c8a427 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.7.20-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.7.20-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2015a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2015a-no-X11.eb index d841e7bd84..4762abfa09 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2015a-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-intel-2015a-no-X11.eb @@ -15,6 +15,7 @@ sources = ['%(namelower)s%(version)s-src.tar.gz'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GCC-4.9.3-2.25-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GCC-4.9.3-2.25-no-X11.eb index a8245c8580..684f3bddb6 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GCC-4.9.3-2.25-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GCC-4.9.3-2.25-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GNU-4.9.3-2.25-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GNU-4.9.3-2.25-no-X11.eb index 05eafdb2e8..f077e32cc2 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GNU-4.9.3-2.25-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-GNU-4.9.3-2.25-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015a-no-X11.eb index da82b39576..9e3efc89f0 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015a-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015a-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015b-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015b-no-X11.eb index c10f179e0c..89ecb3248a 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015b-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-foss-2015b-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-gimkl-2.11.5-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-gimkl-2.11.5-no-X11.eb index 7aa028f61c..5066a5847c 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-gimkl-2.11.5-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-gimkl-2.11.5-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.4.10-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.4.10-no-X11.eb index b3fd0e9714..9419fc66d6 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.4.10-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.4.10-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.7.20-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.7.20-no-X11.eb index 7feeb34477..60f899a584 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.7.20-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-goolf-1.7.20-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-ictce-7.3.5-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-ictce-7.3.5-no-X11.eb index 4630a6a0f4..53f70e54d2 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-ictce-7.3.5-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-ictce-7.3.5-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015a-no-X11.eb index 6e8ab4a8ff..85504f8688 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015a-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015a-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015b-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015b-no-X11.eb index 6b8350fb20..b7e6c77202 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015b-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2015b-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb index 8ada7cd405..c0f2464a6d 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-libX11-1.6.3.eb @@ -24,6 +24,7 @@ builddependencies = [ dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), (libx11, libxver), ('libXt', '1.1.5'), ('libXext', '1.3.3'), diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-no-X11.eb index 9f46cbbff7..9eede49210 100644 --- a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-no-X11.eb +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016a-no-X11.eb @@ -17,6 +17,7 @@ patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] dependencies = [ ('Tcl', version), + ('zlib', '1.2.8'), ] configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' -- GitLab From ac6e72b23b9ffd5642a04710023df6f515bcfd9a Mon Sep 17 00:00:00 2001 From: Riccardo Murri Date: Thu, 31 Mar 2016 13:05:24 +0200 Subject: [PATCH 0692/1089] Use `env` wherever `prebuildopts is used to set environmental variables. --- .../b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb | 2 +- .../b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb | 2 +- .../b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb | 2 +- easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb | 2 +- easybuild/easyconfigs/f/FDS/FDS-6.3.0-intel-2015b.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb | 2 +- easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb | 2 +- .../m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb | 2 +- easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-foss-2015a.eb | 2 +- easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-intel-2015a.eb | 2 +- easybuild/easyconfigs/m/motif/motif-2.2.4-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/m/motif/motif-2.2.4-ictce-4.1.13.eb | 2 +- .../easyconfigs/m/multitail/multitail-6.2.1-intel-2015a.eb | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb index 35e328daad..c3ffc6e24a 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb @@ -22,7 +22,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built # --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb index 6c55f76694..418f81f5f1 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb @@ -21,7 +21,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built # --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb index 6f9a318360..2e680c9ce3 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb @@ -22,7 +22,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built # --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb index ef80ad6bb5..b6d6a68fc6 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb @@ -21,7 +21,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built # --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb index b8fa0b77ca..6858b124b1 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb @@ -22,7 +22,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built # --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb index 9ec199023d..5378940837 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb @@ -23,7 +23,7 @@ builddependencies = [ # statically link with zlib, to avoid runtime dependency on zlib preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' # make sure that system libraries are also considered by ld and ld.gold is also built # --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html diff --git a/easybuild/easyconfigs/f/FDS/FDS-6.3.0-intel-2015b.eb b/easybuild/easyconfigs/f/FDS/FDS-6.3.0-intel-2015b.eb index 24f4ba27ec..7278d23d80 100644 --- a/easybuild/easyconfigs/f/FDS/FDS-6.3.0-intel-2015b.eb +++ b/easybuild/easyconfigs/f/FDS/FDS-6.3.0-intel-2015b.eb @@ -23,7 +23,7 @@ start_dir = 'FDS_Compilation' skipsteps = ['configure', 'install'] buildininstalldir = True -prebuildopts = 'FFLAGS="$FFLAGS -fpp"' +prebuildopts = 'env FFLAGS="$FFLAGS -fpp"' modextrapaths = {'PATH': 'FDS_Compilation'} diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb index 2c72b2e6f5..17513817cb 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb @@ -59,7 +59,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --disable-egl" # package-config files for os dependencies are in an os specific place #preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb b/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb index 1a69d47441..1e7fe202e8 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb @@ -57,7 +57,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disabl #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb index 9d960059a5..43f9b4f3d2 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb @@ -56,7 +56,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disabl #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb index 73b355c719..7fe4602968 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb @@ -56,7 +56,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disabl #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.so', 'lib/libOSMesa.so', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb index 72d772f450..3ddc492ea7 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb @@ -53,7 +53,7 @@ configopts += " --with-osmesa-bits=32 --enable-texture-float " #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb index 3ee16e73ea..3fe5e0bc06 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb @@ -53,7 +53,7 @@ configopts += " --with-osmesa-bits=32 --enable-texture-float " #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb index 0cd27019ac..442c4168fe 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb @@ -44,7 +44,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb index a724cb0c52..82b8af7b4f 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb @@ -43,7 +43,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb index 70a2816d6b..7c42ab711a 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb @@ -44,7 +44,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb index 0371483898..ed80bbbf2f 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb @@ -44,7 +44,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb index 7e87cc2bd4..663c38a45e 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb @@ -45,7 +45,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb index 9c7388d824..3df094cda8 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb @@ -45,7 +45,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-foss-2015a.eb b/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-foss-2015a.eb index 3f8c039cdb..0df4d93ef0 100644 --- a/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-foss-2015a.eb +++ b/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-foss-2015a.eb @@ -15,7 +15,7 @@ sources = ['%(name)s.v%(version)s.tar.gz'] dependencies = [('zlib', '1.2.8')] -prebuildopts = 'CFLAGS="$CFLAGS -L$EBROOTZLIB/lib"' +prebuildopts = 'env CFLAGS="$CFLAGS -L$EBROOTZLIB/lib"' buildopts = 'CC="$CC" CXX="$CXX" F77="$F77" OPTFLAG_OPT="$CFLAGS"' files_to_copy = [(['bin/Minimac3'], 'bin')] diff --git a/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-intel-2015a.eb b/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-intel-2015a.eb index e493e1ad48..5bb00f47ad 100644 --- a/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-intel-2015a.eb +++ b/easybuild/easyconfigs/m/Minimac3/Minimac3-1.0.10-intel-2015a.eb @@ -15,7 +15,7 @@ sources = ['%(name)s.v%(version)s.tar.gz'] dependencies = [('zlib', '1.2.8')] -prebuildopts = 'CFLAGS="$CFLAGS -wd751 -L$EBROOTZLIB/lib"' +prebuildopts = 'env CFLAGS="$CFLAGS -wd751 -L$EBROOTZLIB/lib"' buildopts = 'CC="$CC" CXX="$CXX" F77="$F77" OPTFLAG_OPT="$CFLAGS"' files_to_copy = [(['bin/Minimac3'], 'bin')] diff --git a/easybuild/easyconfigs/m/motif/motif-2.2.4-goolf-1.4.10.eb b/easybuild/easyconfigs/m/motif/motif-2.2.4-goolf-1.4.10.eb index 6d97e3c57a..ea8c9d49ac 100644 --- a/easybuild/easyconfigs/m/motif/motif-2.2.4-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/m/motif/motif-2.2.4-goolf-1.4.10.eb @@ -38,7 +38,7 @@ builddependencies = [ ] # make has problems with utf8 -prebuildopts = "LANG=C " +prebuildopts = "env LANG=C " # motif ships a broken automake and libtool preconfigopts = "rm -f libtool install-sh missing depcomp config.guess config.sub && " diff --git a/easybuild/easyconfigs/m/motif/motif-2.2.4-ictce-4.1.13.eb b/easybuild/easyconfigs/m/motif/motif-2.2.4-ictce-4.1.13.eb index 36d9829a6d..4476f0d922 100644 --- a/easybuild/easyconfigs/m/motif/motif-2.2.4-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/m/motif/motif-2.2.4-ictce-4.1.13.eb @@ -38,7 +38,7 @@ dependencies = [ ] # make has problems with utf8 -prebuildopts = "LANG=C " +prebuildopts = "env LANG=C " # motif ships a broken automake and libtool preconfigopts = "rm -f libtool install-sh missing depcomp config.guess config.sub && " diff --git a/easybuild/easyconfigs/m/multitail/multitail-6.2.1-intel-2015a.eb b/easybuild/easyconfigs/m/multitail/multitail-6.2.1-intel-2015a.eb index e8dddb718d..eb272b1b70 100644 --- a/easybuild/easyconfigs/m/multitail/multitail-6.2.1-intel-2015a.eb +++ b/easybuild/easyconfigs/m/multitail/multitail-6.2.1-intel-2015a.eb @@ -21,7 +21,7 @@ files_to_copy = [ dependencies = [("ncurses", "5.9")] -prebuildopts = 'DESTDIR=%(installdir)s ' +prebuildopts = 'env DESTDIR=%(installdir)s ' sanity_check_paths = { 'files': ['bin/multitail'], -- GitLab From 27192c656261f1cfaea193869f34d7afdd7a4d81 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 18:28:35 +0200 Subject: [PATCH 0693/1089] don't hard overwrite $CPATH in prebuildopts in Mesa easyconfig files --- .../easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb | 2 +- easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb | 2 +- .../m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb | 2 +- .../easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb index 17513817cb..3f895315b2 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-10.4.5-intel-2015a-Python-2.7.9.eb @@ -59,7 +59,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --disable-egl" # package-config files for os dependencies are in an os specific place #preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb b/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb index 1e7fe202e8..592c4a1182 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-10.5.5-intel-2015a-Python-2.7.10.eb @@ -57,7 +57,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disabl #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb index 43f9b4f3d2..2bd0ff0f94 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.2-intel-2015b-Python-2.7.10.eb @@ -56,7 +56,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disabl #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb index 7fe4602968..a22cf02d69 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.0.8-intel-2015b-Python-2.7.11.eb @@ -56,7 +56,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='swrast' --disabl #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.so', 'lib/libOSMesa.so', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb index 3ddc492ea7..171b47710c 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-gimkl-2.11.5.eb @@ -53,7 +53,7 @@ configopts += " --with-osmesa-bits=32 --enable-texture-float " #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb index 3fe5e0bc06..3282ad740c 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-intel-2016a.eb @@ -53,7 +53,7 @@ configopts += " --with-osmesa-bits=32 --enable-texture-float " #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb index 442c4168fe..c47447d239 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goalf-1.1.0-no-OFED-Python-2.7.3.eb @@ -44,7 +44,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb index 82b8af7b4f..57483e1d4f 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-goolf-1.4.10-Python-2.7.3.eb @@ -43,7 +43,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb index 7c42ab711a..fa63661948 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.0.6-Python-2.7.3.eb @@ -44,7 +44,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb index ed80bbbf2f..3d2d9d7e93 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-4.1.13-Python-2.7.3.eb @@ -44,7 +44,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb index 663c38a45e..ac83c1243a 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.3.0-Python-2.7.3.eb @@ -45,7 +45,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb index 3df094cda8..810e10d3bb 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-7.11.2-ictce-5.5.0-Python-2.7.6.eb @@ -45,7 +45,7 @@ configopts += " --disable-driglx-direct --with-gallium-drivers='' --without-demo # package-config files for os dependencies are in an os specific place preconfigopts = ' PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' -prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libGLU.%s' % SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', -- GitLab From 15c44bd734ed1e058bd228a60cd39beab076ee84 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 31 Mar 2016 17:36:49 +0100 Subject: [PATCH 0694/1089] Style fixes for Subread --- easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb | 3 +-- easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb index 4fd69f051e..4df6c05b5e 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb @@ -14,12 +14,11 @@ toolchain = {'name': 'foss', 'version': '2015b'} sources = ['%(namelower)s-%(version)s-source.tar.gz'] source_urls = [('https://sourceforge.net/projects/%(namelower)s/files/%(namelower)s-%(version)s', 'download')] -prebuildopts = 'cd src;' +startdir = 'src &&' buildopts = '-f Makefile.Linux' files_to_copy = ['bin', 'annotation', 'doc', 'LICENSE', 'README.txt', 'src', 'test'] - sanity_check_paths = { 'files': ['LICENSE', 'README.txt'], 'dirs': ['bin', 'annotation', 'doc', 'src', 'test'] diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb index 1312eb0648..f0d2074639 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb @@ -14,12 +14,11 @@ toolchain = {'name': 'foss', 'version': '2016a'} sources = ['%(namelower)s-%(version)s-source.tar.gz'] source_urls = [('https://sourceforge.net/projects/%(namelower)s/files/%(namelower)s-%(version)s', 'download')] -prebuildopts = 'cd src;' +start_dir = 'src &&' buildopts = '-f Makefile.Linux' files_to_copy = ['bin', 'annotation', 'doc', 'LICENSE', 'README.txt', 'src', 'test'] - sanity_check_paths = { 'files': ['LICENSE', 'README.txt'], 'dirs': ['bin', 'annotation', 'doc', 'src', 'test'] -- GitLab From 7fc04b6a034430ccc672bcc4fd954b7efd947704 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 18:53:50 +0200 Subject: [PATCH 0695/1089] use existing libxml2 easyblock, use %(pyver)s --- .../l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb index 0237c8f83b..0df5cbd957 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb @@ -1,7 +1,6 @@ -easyblock = 'ConfigureMake' - name = 'libxml2' version = '2.9.3' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://xmlsoft.org/' description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable @@ -18,13 +17,9 @@ sources = [SOURCELOWER_TAR_GZ] configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' -pythonver = '2.7.11' -pythonshortver = '.'.join(pythonver.split('.')[:2]) -versionsuffix = '-%s-%s' % ('Python', pythonver) - dependencies = [ ('zlib', '1.2.8'), - ('Python', pythonver), + ('Python', '2.7.11'), ] moduleclass = 'lib' -- GitLab From 0d6511bd1d3ba7dcafa852dc033de9aff737a052 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 31 Mar 2016 18:05:34 +0100 Subject: [PATCH 0696/1089] Use new-style pyver and make sanity_check paths more specific --- .../r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb index 4fc2b27c34..a177369637 100644 --- a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb @@ -6,6 +6,7 @@ easyblock = 'PythonPackage' name = 'RSeQC' version = '2.6.3' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://rseqc.sourceforge.net/' description = """RSeQC provides a number of useful modules that can @@ -20,21 +21,17 @@ toolchain = {'name': 'foss', 'version': '2015b'} sources = [SOURCE_TAR_GZ] source_urls = [SOURCEFORGE_SOURCE] -python = 'Python' -pyver = '2.7.10' -versionsuffix = '-%s-%s' % (python, pyver) - dependencies = [ ('R', '3.2.3'), - (python, pyver), - ('numpy', '1.10.1', versionsuffix), + ('Python', '2.7.10'), ] runtest = "python setup.py test" sanity_check_paths = { - 'files': [], - 'dirs': ["bin", "lib"] + 'files': ['bin/bam_stat.py', 'bin/overlay_bigwig.py', + 'bin/split_paired_bam.py'], + 'dirs': ['lib'] } options = {'modulename': 'qcmodule'} -- GitLab From e991040ec94fd7b22bab054ff840999434975cd3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 31 Mar 2016 19:06:51 +0200 Subject: [PATCH 0697/1089] consistently specify to use -fgnu89-inline flag in M4 1.4.17 easyconfigs --- easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.7.2.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.2.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.4.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.2-2.25.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.3-2.25.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-5.1.0-2.25.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2014b.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015a.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015b.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.4.0.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.5.0.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-7.1.2.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2014b.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015a.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015b.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016a.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17-intel-para-2014.12.eb | 2 +- easybuild/easyconfigs/m/M4/M4-1.4.17.eb | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb index 31c851b3d9..8398e40d06 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.06.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'CrayGNU', 'version': '2015.06'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb index 3010711346..b84761b602 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-CrayGNU-2015.11.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'CrayGNU', 'version': '2015.11'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.7.2.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.7.2.eb index b62284872a..b4bb4c955d 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.7.2.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.7.2.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GCC', 'version': '4.7.2'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.2.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.2.eb index c2e9e52426..5df1dda5a3 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.2.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.2.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GCC', 'version': '4.8.2'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.4.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.4.eb index 90c7eb9017..f406268a87 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.4.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.8.4.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GCC', 'version': '4.8.4'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb index a79d153988..560606e07a 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb @@ -16,7 +16,7 @@ source_urls = [GNU_SOURCE] # use same binutils version that was used when building GCC toolchain builddependencies = [('binutils', '2.25', '', True)] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2.eb index 372d1c346d..00b1eb05a8 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GCC', 'version': '4.9.2'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-2.25.eb index 0fa72c61c9..a939e01023 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-2.25.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb index 89984f9baf..64c98aad33 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb @@ -16,7 +16,7 @@ source_urls = [GNU_SOURCE] # use same binutils version that was used when building GCC toolchain builddependencies = [('binutils', '2.25', '', True)] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3.eb index 52fc84e052..745063ebad 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GCC', 'version': '4.9.3'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb index e856a3fd43..a95ac9f601 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb @@ -16,7 +16,7 @@ source_urls = [GNU_SOURCE] # use same binutils version that was used when building GCC toolchain builddependencies = [('binutils', '2.25', '', True)] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.2-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.2-2.25.eb index e2764250bf..134d181212 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.2-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.2-2.25.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GNU', 'version': '4.9.2-2.25'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.3-2.25.eb index ad83091b2b..25f9aacace 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-4.9.3-2.25.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GNU', 'version': '4.9.3-2.25'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-5.1.0-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-5.1.0-2.25.eb index e83b261924..5ca90d16a7 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-5.1.0-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GNU-5.1.0-2.25.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'GNU', 'version': '5.1.0-2.25'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2014b.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2014b.eb index 94ec58056b..4abe05a74f 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2014b.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2014b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'foss', 'version': '2014b'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015a.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015a.eb index 411820a76b..f58173164e 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015a.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015a.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'foss', 'version': '2015a'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015b.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015b.eb index b66775c7a6..6a7048dcf1 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015b.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-foss-2015b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'foss', 'version': '2015b'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-gimkl-2.11.5.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-gimkl-2.11.5.eb index 42808d7b77..aa806c1087 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-gimkl-2.11.5.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.4.0.eb index 3b4187acd1..304b160de5 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.4.0.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'ictce', 'version': '5.4.0'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.5.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.5.0.eb index e8d95f1f54..46c1b375cb 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-5.5.0.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-7.1.2.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-7.1.2.eb index 68b3d851f6..0289e6c40e 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-7.1.2.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-ictce-7.1.2.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'ictce', 'version': '7.1.2'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2014b.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2014b.eb index d6a8a6e705..857e1b9ffc 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2014b.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2014b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015a.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015a.eb index f842bdc90a..a805266216 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015a.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015a.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015b.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015b.eb index 292da57c7e..6746b4b3a4 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015b.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2015b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016a.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016a.eb index 519be6b6b3..4472772492 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016a.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016a.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-para-2014.12.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-para-2014.12.eb index 37a6837b2b..104ad6a3bd 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-para-2014.12.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-para-2014.12.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel-para', 'version': '2014.12'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17.eb index 3f396ce26b..2bc8d9c022 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17.eb @@ -15,7 +15,7 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], -- GitLab From 2469d572c2a76c37fc5fb46c174678e48b6c85c8 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 31 Mar 2016 18:32:03 +0100 Subject: [PATCH 0698/1089] Add R suffix and fix sanity_check style --- ....10.eb => RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/r/RSeQC/{RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb => RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb} (89%) diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb similarity index 89% rename from easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb rename to easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb index a177369637..58d91e5c53 100644 --- a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb @@ -7,6 +7,7 @@ easyblock = 'PythonPackage' name = 'RSeQC' version = '2.6.3' versionsuffix = '-Python-%(pyver)s' +versionsuffix += '-R-%(rver)s' homepage = 'http://rseqc.sourceforge.net/' description = """RSeQC provides a number of useful modules that can @@ -29,8 +30,7 @@ dependencies = [ runtest = "python setup.py test" sanity_check_paths = { - 'files': ['bin/bam_stat.py', 'bin/overlay_bigwig.py', - 'bin/split_paired_bam.py'], + 'files': ['bin/bam_stat.py', 'bin/overlay_bigwig.py', 'bin/split_paired_bam.py'], 'dirs': ['lib'] } -- GitLab From 6027c4ad03cf95b635270fa365e376735c183426 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Thu, 31 Mar 2016 13:47:56 -0500 Subject: [PATCH 0699/1089] Renamed Easyconfig file from gtool-0.7.5-linux_x86_64.eb to gtool-0.7.5_linux_x86_64.eb --- .../{gtool-0.7.5-linux_x86_64.eb => gtool-0.7.5_linux_x86_64.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/g/gtool/{gtool-0.7.5-linux_x86_64.eb => gtool-0.7.5_linux_x86_64.eb} (100%) diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb similarity index 100% rename from easybuild/easyconfigs/g/gtool/gtool-0.7.5-linux_x86_64.eb rename to easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb -- GitLab From 61839ae12b5c739ec3e36b4ee971cd5e4da2d3f8 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Thu, 31 Mar 2016 14:18:10 -0500 Subject: [PATCH 0700/1089] Renamed Easyconfig file from shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb to shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb --- ...-linux_x86_64.eb => shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/s/shapeit/{shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb => shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb} (100%) diff --git a/easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb b/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb similarity index 100% rename from easybuild/easyconfigs/s/shapeit/shapeit-v2.r837_GLIBCv2.12-linux_x86_64.eb rename to easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb -- GitLab From 4df62bb5e637f584d3ebffb56b2fd25d40a94b2b Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 31 Mar 2016 22:11:56 +0100 Subject: [PATCH 0701/1089] Use start_dir, not startdir for Subread --- easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb index 4df6c05b5e..5192855877 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb @@ -14,7 +14,7 @@ toolchain = {'name': 'foss', 'version': '2015b'} sources = ['%(namelower)s-%(version)s-source.tar.gz'] source_urls = [('https://sourceforge.net/projects/%(namelower)s/files/%(namelower)s-%(version)s', 'download')] -startdir = 'src &&' +start_dir = 'src &&' buildopts = '-f Makefile.Linux' files_to_copy = ['bin', 'annotation', 'doc', 'LICENSE', 'README.txt', 'src', 'test'] -- GitLab From 6dfc122e053950dd94d862cb80be20a6797e4e12 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 31 Mar 2016 22:35:29 +0100 Subject: [PATCH 0702/1089] Style cleanup for versionsuffix --- .../r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb index 58d91e5c53..d3a31d723c 100644 --- a/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-2.6.3-foss-2015b-Python-2.7.10-R-3.2.3.eb @@ -6,8 +6,7 @@ easyblock = 'PythonPackage' name = 'RSeQC' version = '2.6.3' -versionsuffix = '-Python-%(pyver)s' -versionsuffix += '-R-%(rver)s' +versionsuffix = '-Python-%(pyver)s-R-%(rver)s' homepage = 'http://rseqc.sourceforge.net/' description = """RSeQC provides a number of useful modules that can -- GitLab From 37491f387e1a294625a7d71fa72bd06065326dba Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 1 Apr 2016 10:10:53 +0100 Subject: [PATCH 0703/1089] Fix start_dir --- easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb | 2 +- easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb index 5192855877..612c514399 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2015b.eb @@ -14,7 +14,7 @@ toolchain = {'name': 'foss', 'version': '2015b'} sources = ['%(namelower)s-%(version)s-source.tar.gz'] source_urls = [('https://sourceforge.net/projects/%(namelower)s/files/%(namelower)s-%(version)s', 'download')] -start_dir = 'src &&' +start_dir = 'src' buildopts = '-f Makefile.Linux' files_to_copy = ['bin', 'annotation', 'doc', 'LICENSE', 'README.txt', 'src', 'test'] diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb index f0d2074639..e525a015c8 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.5.0-p1-foss-2016a.eb @@ -14,7 +14,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} sources = ['%(namelower)s-%(version)s-source.tar.gz'] source_urls = [('https://sourceforge.net/projects/%(namelower)s/files/%(namelower)s-%(version)s', 'download')] -start_dir = 'src &&' +start_dir = 'src' buildopts = '-f Makefile.Linux' files_to_copy = ['bin', 'annotation', 'doc', 'LICENSE', 'README.txt', 'src', 'test'] -- GitLab From 2e4f5401e6f65f307bbfced75186d8a0f43aba91 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Fri, 1 Apr 2016 11:00:50 -0500 Subject: [PATCH 0704/1089] Converting from 'Binaries' Easyblock to 'Tarball'. --- easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb index 6d1dad133e..bc3ceffb75 100644 --- a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb +++ b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb @@ -2,7 +2,7 @@ # Author: Ravi Tripathi # Email: ravi89@uab.edu -easyblock = "Binary" +easyblock = "Tarball" name = 'gtool' version = '0.7.5' @@ -16,10 +16,6 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['http://www.well.ox.ac.uk/~cfreeman/software/gwas/'] sources = ['gtool_v%(version)s_x86_64.tgz'] -# Following commands are used to untar the file and copy the content to install directory -install_cmd = "tar xvf gtool_v%(version)s_x86_64.tgz && HOME=%(builddir)s && " -install_cmd += "cp -a %(builddir)s/* %(installdir)s" - sanity_check_paths = { 'files': ["gtool", "LICENCE"], 'dirs': ["example"] -- GitLab From 163189467710769bcb3fc8785cfc0bc719ab8ac1 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Fri, 1 Apr 2016 11:07:32 -0500 Subject: [PATCH 0705/1089] Converting from 'Binaries' Easyblock to 'Tarball'. --- .../s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb b/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb index 7441bd58af..75a894a8c8 100644 --- a/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb +++ b/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb @@ -2,7 +2,7 @@ # Author: Ravi Tripathi # Email: ravi89@uab.edu -easyblock = "Binary" +easyblock = "Tarball" name = 'shapeit' version = '2.r837.GLIBCv2.12' @@ -16,10 +16,6 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/'] sources = ['shapeit.v%(version)s.Linux.static.tgz'] -# Following commands are used to untar the file and copy the content to install directory -install_cmd = "tar xzvf shapeit.v%(version)s.Linux.static.tgz && HOME=%(builddir)s && " -install_cmd += "cp -a %(builddir)s/* %(installdir)s" - sanity_check_paths = { 'files': ["bin/shapeit", "LICENCE"], 'dirs': ["example"] -- GitLab From 53eccaea377809af2cf69d87b18ef86843a6cf79 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sat, 2 Apr 2016 00:05:44 -0700 Subject: [PATCH 0706/1089] add easyconfig for LAME MP3 encoder --- .../l/LAME/LAME-3.99.5-foss-2015a.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb b/easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb new file mode 100644 index 0000000000..8ce773805a --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb @@ -0,0 +1,30 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Stephane Thiell +### + +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.99.5' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] + +dependencies = [('ncurses', '5.9')] + +# configure is broken: add workaround to find libncurses... +configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.so'], + 'dirs': [], +} + +moduleclass = 'data' -- GitLab From d07bf5d6c4a52bb9f65d5d8add7c300ce05b084d Mon Sep 17 00:00:00 2001 From: jgp Date: Sat, 2 Apr 2016 09:21:03 +0200 Subject: [PATCH 0707/1089] qt/486 for dummy toolchain --- easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb new file mode 100644 index 0000000000..5c83d337b8 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb @@ -0,0 +1,15 @@ +name = 'Qt' +version = '4.8.6' + +homepage = 'http://qt-project.org/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = [ 'http://download.qt.io/official_releases/qt/4.8/%(version)s' ] +sources = [ 'qt-everywhere-opensource-src-%(version)s.tar.gz' ] + +configopts = ' -opensource -nomake tests -nomake examples -confirm-license -release -shared -no-accessibility -no-sql-mysql -no-sql-sqlite' +platform = 'linux-g++-64' + +moduleclass = 'devel' -- GitLab From 686957e8a63d021e32cc88fe2a96e09e131651e2 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sat, 2 Apr 2016 00:42:51 -0700 Subject: [PATCH 0708/1089] Pygments: fix homepage URL and description --- .../p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb | 4 ++-- .../p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb index 103bb38998..dc2b7c311c 100644 --- a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb @@ -3,8 +3,8 @@ easyblock = 'PythonPackage' name = 'Pygments' version = '2.0.2' -homepage = 'https://pypi.python.org/pypi/requests/2.6.0' -description = """Python http for humans""" +homepage = 'http://pygments.org/' +description = """Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code.""" toolchain = {'name': 'foss', 'version': '2015a'} diff --git a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb index 06251d7872..45a6907cbe 100644 --- a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb @@ -3,8 +3,8 @@ easyblock = 'PythonPackage' name = 'Pygments' version = '2.0.2' -homepage = 'https://pypi.python.org/pypi/requests/2.6.0' -description = """Python http for humans""" +homepage = 'http://pygments.org/' +description = """Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code.""" toolchain = {'name': 'intel', 'version': '2015a'} -- GitLab From 9e88f53c5f8c8aa7540c08f84b5c96a77d720fd1 Mon Sep 17 00:00:00 2001 From: jgp Date: Sat, 2 Apr 2016 14:14:43 +0200 Subject: [PATCH 0709/1089] fixing line max length --- easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb index 5c83d337b8..48c0604f80 100644 --- a/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb @@ -9,7 +9,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = [ 'http://download.qt.io/official_releases/qt/4.8/%(version)s' ] sources = [ 'qt-everywhere-opensource-src-%(version)s.tar.gz' ] -configopts = ' -opensource -nomake tests -nomake examples -confirm-license -release -shared -no-accessibility -no-sql-mysql -no-sql-sqlite' +configopts = ' -opensource -nomake tests -nomake examples -confirm-license -release' +configopts += ' -shared -no-accessibility -no-sql-mysql -no-sql-sqlite' platform = 'linux-g++-64' moduleclass = 'devel' -- GitLab From 79a0eb02eaac79c6058e84ca25a9326a731c1970 Mon Sep 17 00:00:00 2001 From: jgp Date: Sat, 2 Apr 2016 14:29:52 +0200 Subject: [PATCH 0710/1089] adding -no-webkit for redhat builds --- easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb index 48c0604f80..eacf9a8384 100644 --- a/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.6.eb @@ -9,8 +9,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = [ 'http://download.qt.io/official_releases/qt/4.8/%(version)s' ] sources = [ 'qt-everywhere-opensource-src-%(version)s.tar.gz' ] -configopts = ' -opensource -nomake tests -nomake examples -confirm-license -release' -configopts += ' -shared -no-accessibility -no-sql-mysql -no-sql-sqlite' +configopts = ' -opensource -nomake tests -nomake examples -confirm-license -release' +configopts += ' -shared -no-accessibility -no-sql-mysql -no-sql-sqlite -no-webkit' platform = 'linux-g++-64' moduleclass = 'devel' -- GitLab From 05a5e0a091c4191a14cac7cf03367874b7e20eae Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sat, 2 Apr 2016 20:53:00 -0700 Subject: [PATCH 0711/1089] add easyconfig for FLAC audio codec --- .../f/FLAC/FLAC-1.3.1-foss-2015a.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb new file mode 100644 index 0000000000..72f2e62fcc --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb @@ -0,0 +1,25 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Stephane Thiell +### + +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.3.1' + +homepage = 'https://xiph.org/flac/' +description = """Programs and libraries for working with Free Lossless Audio Codec (FLAC) files.""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +sources = [SOURCELOWER_TAR_XZ] +source_urls = ['http://downloads.xiph.org/releases/flac/'] + +sanity_check_paths = { + 'files': ['bin/flac', 'include/FLAC/all.h', 'lib/libFLAC.so'], + 'dirs': [], +} + +moduleclass = 'data' -- GitLab From 28b3cea3b180c4b84704914f72a04857aaa980f5 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sat, 2 Apr 2016 21:08:27 -0700 Subject: [PATCH 0712/1089] add easyconfig for SoX (a Torch7 dependency) --- .../s/SoX/SoX-14.4.2-foss-2015a.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb diff --git a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb new file mode 100644 index 0000000000..8228308a17 --- /dev/null +++ b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Stephane Thiell +### + +easyblock = 'ConfigureMake' + +name = 'SoX' +version = '14.4.2' + +homepage = 'http://http://sox.sourceforge.net/' +description = """Sound eXchange, the Swiss Army knife of audio manipulation""" + +toolchain = {'name': 'foss', 'version': '2015a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://sourceforge.net/projects/sox/files/sox/%(version)s'] + +# These are not strictly mandatory but add flac and mp3 support to SoX +dependencies = [ + ('FLAC', '1.3.1'), + ('LAME', '3.99.5') +] + +sanity_check_paths = { + 'files': ['bin/sox', 'include/sox.h', 'lib/libsox.so'], + 'dirs': [], +} + +moduleclass = 'data' -- GitLab From f42683f08dedc4e4c9980e0d116ef92403cbc805 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 3 Apr 2016 14:01:34 +0200 Subject: [PATCH 0713/1089] add easyconfig scikit-learn-0.17.1-intel-2016a-Python-2.7.11.eb --- ...-learn-0.17.1-intel-2016a-Python-2.7.11.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..50d044b41c --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.17.1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'scikit-learn' +version = '0.17.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://scikit-learn.org/stable/index.html' +description = """Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, +building upon numpy, scipy, and matplotlib. As a machine-learning module, +it provides versatile tools for data mining and analysis in any field of science and engineering. +It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('matplotlib', '1.5.1', versionsuffix), +] + +options = {'modulename': 'sklearn'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sklearn'], +} + +moduleclass = 'data' -- GitLab From 65c8245f61d91344b4965fe2f35a153fee92de78 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sun, 3 Apr 2016 09:51:25 -0700 Subject: [PATCH 0714/1089] FLAC: use SHLIB_EXT rather than hardcoding .so --- easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb index 72f2e62fcc..509bb248c0 100644 --- a/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb @@ -18,7 +18,7 @@ sources = [SOURCELOWER_TAR_XZ] source_urls = ['http://downloads.xiph.org/releases/flac/'] sanity_check_paths = { - 'files': ['bin/flac', 'include/FLAC/all.h', 'lib/libFLAC.so'], + 'files': ['bin/flac', 'include/FLAC/all.h', 'lib/libFLAC.%s' % SHLIB_EXT], 'dirs': [], } -- GitLab From dddf87803d9b9f070568fdefa07f7a2325437c23 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sun, 3 Apr 2016 09:54:55 -0700 Subject: [PATCH 0715/1089] Pygments: keep lines under 120 characters --- .../p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb | 3 ++- .../p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb index dc2b7c311c..bfe92c90eb 100644 --- a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-foss-2015a-Python-2.7.9.eb @@ -4,7 +4,8 @@ name = 'Pygments' version = '2.0.2' homepage = 'http://pygments.org/' -description = """Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code.""" +description = """Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications + that need to prettify source code.""" toolchain = {'name': 'foss', 'version': '2015a'} diff --git a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb index 45a6907cbe..3c3f9ad92d 100644 --- a/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/p/Pygments/Pygments-2.0.2-intel-2015a-Python-2.7.9.eb @@ -4,7 +4,8 @@ name = 'Pygments' version = '2.0.2' homepage = 'http://pygments.org/' -description = """Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code.""" +description = """Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications + that need to prettify source code.""" toolchain = {'name': 'intel', 'version': '2015a'} -- GitLab From c4186634b8ced2d454d53bad348efcde85150ff3 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sun, 3 Apr 2016 10:11:01 -0700 Subject: [PATCH 0716/1089] use SHLIB_EXT rather than .so --- easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb b/easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb index 8ce773805a..a1da0d2c90 100644 --- a/easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb +++ b/easybuild/easyconfigs/l/LAME/LAME-3.99.5-foss-2015a.eb @@ -23,7 +23,7 @@ dependencies = [('ncurses', '5.9')] configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " sanity_check_paths = { - 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.so'], + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], 'dirs': [], } -- GitLab From 4505dcb1a2b2ccb0274b3e7dc991244ca376ec8e Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Sun, 3 Apr 2016 10:20:21 -0700 Subject: [PATCH 0717/1089] SoX: use SHLIB_EXT rather than hardcoding .so --- easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb index 8228308a17..a71ba0bca6 100644 --- a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb +++ b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-foss-2015a.eb @@ -24,7 +24,7 @@ dependencies = [ ] sanity_check_paths = { - 'files': ['bin/sox', 'include/sox.h', 'lib/libsox.so'], + 'files': ['bin/sox', 'include/sox.h', 'lib/libsox.%s' % SHLIB_EXT], 'dirs': [], } -- GitLab From a9481ca6559314b4ddf261a8030df7426a7e3251 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 4 Apr 2016 10:57:07 +0200 Subject: [PATCH 0718/1089] add binutils as build dep for FLAC, also run tests --- easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb index 509bb248c0..76be36ffc6 100644 --- a/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.1-foss-2015a.eb @@ -17,6 +17,11 @@ toolchain = {'name': 'foss', 'version': '2015a'} sources = [SOURCELOWER_TAR_XZ] source_urls = ['http://downloads.xiph.org/releases/flac/'] +# use of assembly routines requires a recent binutils +builddependencies = [('binutils', '2.25', '', ('GCC', '4.9.2'))] + +runtest = 'check' + sanity_check_paths = { 'files': ['bin/flac', 'include/FLAC/all.h', 'lib/libFLAC.%s' % SHLIB_EXT], 'dirs': [], -- GitLab From e20aeaca67693bf5be63cd89953e98b9071642dd Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 10:03:55 -0500 Subject: [PATCH 0719/1089] Changed software name to uppercase (to match the official software name) --- easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb index bc3ceffb75..8b1697e3af 100644 --- a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb +++ b/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb @@ -4,12 +4,12 @@ easyblock = "Tarball" -name = 'gtool' +name = 'GTOOL' version = '0.7.5' -versionsuffix = '_linux_x86_64' homepage = 'http://www.well.ox.ac.uk/~cfreeman/software/gwas/gtool.html' -description = """ GTOOL is a program for transforming sets of genotype data for use with the programs SNPTEST and IMPUTE. """ +description = """ GTOOL is a program for transforming sets of genotype data for use with +the programs SNPTEST and IMPUTE. """ toolchain = {'name': 'dummy', 'version': 'dummy'} -- GitLab From b9707b6147bbd5662971c333ff5a371bf7624483 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 10:13:29 -0500 Subject: [PATCH 0720/1089] Changed the name to SHAPEIT(uppercase), to match the official software name as well as added GLIBCv2.12 part as a versionsuffix --- .../shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb b/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb index 75a894a8c8..f2424bbea4 100644 --- a/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb +++ b/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb @@ -4,17 +4,18 @@ easyblock = "Tarball" -name = 'shapeit' -version = '2.r837.GLIBCv2.12' -versionsuffix = '_linux_x86_64' +name = 'SHAPEIT' +version = '2.r837' +versionsuffix = '.GLIBCv2.12' homepage = 'https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.html' -description = """ SHAPEIT is a fast and accurate method for estimation of haplotypes (aka phasing) from genotype or sequencing data. """ +description = """SHAPEIT is a fast and accurate method for estimation of +haplotypes (aka phasing) from genotype or sequencing data.""" toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/'] -sources = ['shapeit.v%(version)s.Linux.static.tgz'] +sources = ['shapeit.v%(version)s%(versionsuffix)s.Linux.static.tgz'] sanity_check_paths = { 'files': ["bin/shapeit", "LICENCE"], -- GitLab From acd19f1aef37e3efbdc6afb2aa3393f73d6a6e5e Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 10:57:50 -0500 Subject: [PATCH 0721/1089] Renamed the Easyconfig file --- .../g/{gtool/gtool-0.7.5_linux_x86_64.eb => GTOOL-0.7.5.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/g/{gtool/gtool-0.7.5_linux_x86_64.eb => GTOOL-0.7.5.eb} (100%) diff --git a/easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb b/easybuild/easyconfigs/g/GTOOL-0.7.5.eb similarity index 100% rename from easybuild/easyconfigs/g/gtool/gtool-0.7.5_linux_x86_64.eb rename to easybuild/easyconfigs/g/GTOOL-0.7.5.eb -- GitLab From e11bdeb3d103cd2b7bfd0538ba674537d47fd89c Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 11:06:12 -0500 Subject: [PATCH 0722/1089] Renamed the Easyconfig file --- easybuild/easyconfigs/g/{ => gtool}/GTOOL-0.7.5.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/g/{ => gtool}/GTOOL-0.7.5.eb (100%) diff --git a/easybuild/easyconfigs/g/GTOOL-0.7.5.eb b/easybuild/easyconfigs/g/gtool/GTOOL-0.7.5.eb similarity index 100% rename from easybuild/easyconfigs/g/GTOOL-0.7.5.eb rename to easybuild/easyconfigs/g/gtool/GTOOL-0.7.5.eb -- GitLab From 4f08e6223419bd817ec1345de6bf367d0bdccac7 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 11:10:38 -0500 Subject: [PATCH 0723/1089] Renamed the Easyconfig file --- ...37.GLIBCv2.12_linux_x86_64.eb => SHAPEIT-2.r837.GLIBCv2.12.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/s/shapeit/{shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb => SHAPEIT-2.r837.GLIBCv2.12.eb} (100%) diff --git a/easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb b/easybuild/easyconfigs/s/shapeit/SHAPEIT-2.r837.GLIBCv2.12.eb similarity index 100% rename from easybuild/easyconfigs/s/shapeit/shapeit-2.r837.GLIBCv2.12_linux_x86_64.eb rename to easybuild/easyconfigs/s/shapeit/SHAPEIT-2.r837.GLIBCv2.12.eb -- GitLab From d21d922f81159e6d35ae23969d32b56797458ac4 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 11:40:26 -0500 Subject: [PATCH 0724/1089] Renamed the directory from 'gtool' to 'GTOOL' --- easybuild/easyconfigs/g/{gtool => GTOOL}/GTOOL-0.7.5.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/g/{gtool => GTOOL}/GTOOL-0.7.5.eb (100%) diff --git a/easybuild/easyconfigs/g/gtool/GTOOL-0.7.5.eb b/easybuild/easyconfigs/g/GTOOL/GTOOL-0.7.5.eb similarity index 100% rename from easybuild/easyconfigs/g/gtool/GTOOL-0.7.5.eb rename to easybuild/easyconfigs/g/GTOOL/GTOOL-0.7.5.eb -- GitLab From 03d799432b512447956e6f35f56370817d04b817 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 11:42:44 -0500 Subject: [PATCH 0725/1089] Renamed the directory from 'shapeit' to 'SHAPEIT' --- .../s/{shapeit => SHAPEIT}/SHAPEIT-2.r837.GLIBCv2.12.eb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/s/{shapeit => SHAPEIT}/SHAPEIT-2.r837.GLIBCv2.12.eb (100%) diff --git a/easybuild/easyconfigs/s/shapeit/SHAPEIT-2.r837.GLIBCv2.12.eb b/easybuild/easyconfigs/s/SHAPEIT/SHAPEIT-2.r837.GLIBCv2.12.eb similarity index 100% rename from easybuild/easyconfigs/s/shapeit/SHAPEIT-2.r837.GLIBCv2.12.eb rename to easybuild/easyconfigs/s/SHAPEIT/SHAPEIT-2.r837.GLIBCv2.12.eb -- GitLab From 64c78cbac01a04a0771040e2cf3ccfa69aa16c14 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Mon, 4 Apr 2016 12:44:17 -0500 Subject: [PATCH 0726/1089] Adding 'modextrapaths' parameter to include the root directory in the PATH variable --- easybuild/easyconfigs/g/GTOOL/GTOOL-0.7.5.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/g/GTOOL/GTOOL-0.7.5.eb b/easybuild/easyconfigs/g/GTOOL/GTOOL-0.7.5.eb index 8b1697e3af..69e22e6cab 100644 --- a/easybuild/easyconfigs/g/GTOOL/GTOOL-0.7.5.eb +++ b/easybuild/easyconfigs/g/GTOOL/GTOOL-0.7.5.eb @@ -16,6 +16,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['http://www.well.ox.ac.uk/~cfreeman/software/gwas/'] sources = ['gtool_v%(version)s_x86_64.tgz'] +modextrapaths = {'PATH': ''} + sanity_check_paths = { 'files': ["gtool", "LICENCE"], 'dirs': ["example"] -- GitLab From 6057e0642b6b7e61c5e68a69c1709d485e17a6c9 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Tue, 5 Apr 2016 15:44:50 -0400 Subject: [PATCH 0727/1089] libxcb-1.11.1 easyconfig for foss-2016a --- .../l/libxcb/libxcb-1.11.1-foss-2016a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb new file mode 100644 index 0000000000..b12be025db --- /dev/null +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libxcb' +version = '1.11.1' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('pkg-config', '0.29'), +] +dependencies = [ + ('libXau', '1.0.8'), + ('libXdmcp', '1.1.2'), + ('xcb-proto', '1.11', '', True), + ('libpthread-stubs', '0.3'), + +] + +sanity_check_paths = { + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], + 'dirs': ['include/xcb', 'lib/pkgconfig'], +} + +moduleclass = 'lib' -- GitLab From 3c13fbcd743487e7e4fd7ecc7faa633e07d827d2 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Tue, 5 Apr 2016 15:53:45 -0400 Subject: [PATCH 0728/1089] xproto-7.0.28 easyconfig for foss-2016a --- .../x/xproto/xproto-7.0.28-foss-2016a.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb new file mode 100644 index 0000000000..3e787177f0 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.28' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', + 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', + 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', + 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 76dbf608ede3b5ec4fc28fb94e93b9ce633e50ad Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Tue, 5 Apr 2016 15:56:17 -0400 Subject: [PATCH 0729/1089] libpthread-stubs-0.3 easyconfig for foss-2016a --- .../libpthread-stubs-0.3-foss-2016a.eb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb new file mode 100644 index 0000000000..fcb767cfdb --- /dev/null +++ b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libpthread-stubs' +version = '0.3' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'foss', 'version': '2016a'} + +sanity_check_paths = { + 'files': ['lib/pkgconfig/pthread-stubs.pc'], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From d9ec15efee75c4133c9b4476d5eca278ee28bfb5 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Tue, 5 Apr 2016 15:59:14 -0400 Subject: [PATCH 0730/1089] libXau-1.0.8 easyconfig for foss-2016a --- .../l/libXau/libXau-1.0.8-foss-2016a.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb new file mode 100644 index 0000000000..b6f23c9a07 --- /dev/null +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libXau' +version = '1.0.8' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXau package contains a library implementing the X11 Authorization Protocol. +This is useful for restricting client access to the display.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('pkg-config', '0.29'), +] + +dependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 0ee9e5f553a8df087774e50b56875a009b0c96b9 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Tue, 5 Apr 2016 16:00:39 -0400 Subject: [PATCH 0731/1089] libXdmcp-1.1.2 easyconfig for foss-2016a --- .../l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb new file mode 100644 index 0000000000..9e90ec9775 --- /dev/null +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libXdmcp' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is +useful for allowing clients to interact with the X Display Manager. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('pkg-config', '0.29') +] + +dependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 76339fa83cdd28958c5dd3e44282321dffaa260c Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Tue, 5 Apr 2016 16:01:47 -0400 Subject: [PATCH 0732/1089] pkg-config-0.29 easyconfig for foss-2016a --- .../pkg-config/pkg-config-0.29-foss-2016a.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb new file mode 100644 index 0000000000..2796515752 --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29-foss-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29' + +homepage = 'http://www.freedesktop.org/wiki/Software/pkg-config/' +description = """pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the + correct compiler options on the command line so an application can use + gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other libraries).""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://pkgconfig.freedesktop.org/releases/'] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 508d9ac2b09b1bffc86709993300f41fee471478 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Tue, 5 Apr 2016 15:23:39 -0500 Subject: [PATCH 0733/1089] Changing the file name and the folder name containing it. --- .../MRIcron-06_22_15.eb} | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) rename easybuild/easyconfigs/m/{mricron/mricron-062215-linux_x86_64.eb => MRIcron/MRIcron-06_22_15.eb} (60%) diff --git a/easybuild/easyconfigs/m/mricron/mricron-062215-linux_x86_64.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb similarity index 60% rename from easybuild/easyconfigs/m/mricron/mricron-062215-linux_x86_64.eb rename to easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb index a7fb738545..097d50c5b6 100644 --- a/easybuild/easyconfigs/m/mricron/mricron-062215-linux_x86_64.eb +++ b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb @@ -4,20 +4,22 @@ easyblock = "Binary" -name = 'mricron' -version = '062215' -versionsuffix = '_linux_x86_64' +name = 'MRIcron' +version = '06_22_15' homepage = 'http://www.mccauslandcenter.sc.edu/mricro/mricron/' -description = """ MRIcron allows viewing of medical images. It includes tools to complement SPM and FSL. Native format is NIFTI but includes a conversion program (see dcm2nii) for converting DICOM images. Features layers, ROIs, and volume rendering. """ +description = """ MRIcron allows viewing of medical images. It +includes tools to complement SPM and FSL. Native format is NIFTI +but includes a conversion program (see dcm2nii) for converting DICOM images. +Features layers, ROIs, and volume rendering. """ toolchain = {'name': 'dummy', 'version': 'dummy'} source_urls = ['https://www.nitrc.org/frs/download.php/7765/'] sources = ['lx.zip'] -# Following commands are used to untar the file and copy the content to install directory -install_cmd = "unzip lx.zip && HOME=%(builddir)s && " +# Following commands are used to unzip the files and copy the content to install directory +install_cmd = "unzip lx.zip &&" install_cmd += "cp -a %(builddir)s/* %(installdir)s" sanity_check_paths = { -- GitLab From 030b70a2a075c3b29af339d5210a6569e2d14def Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Wed, 6 Apr 2016 11:33:39 +0200 Subject: [PATCH 0734/1089] {vis}[intel-2016a] Pillow 3.2.0 (REVIEW) --- .../Pillow-3.2.0-intel-2016a-Python-2.7.11.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..bc1187561f --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '3.2.0' + +homepage = 'http://pillow.readthedocs.org/' +description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. + PIL is the Python Imaging Library by Fredrik Lundh and Contributors.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pyver = '2.7.11' +versionsuffix = '-%s-%s' % (python, pyver) + +dependencies = [ + (python, pyver), + ('libjpeg-turbo', '1.4.2'), + ('zlib', '1.2.8'), + ('LibTIFF', '4.0.6'), + ('freetype', '2.6.2'), +] + +options = {'modulename': 'PIL'} + +moduleclass = 'vis' -- GitLab From e53d9aea980e8a51a012176937fea91cb3cf0255 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 6 Apr 2016 15:41:33 +0200 Subject: [PATCH 0735/1089] Libxslt-1.1.28 for foss-2016a --- .../l/libxslt/libxslt-1.1.28-foss-2016a.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb new file mode 100644 index 0000000000..63c3fa7e2d --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.28' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] + +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.8'), + ('libxml2', '2.9.3'), +] + +moduleclass = 'lib' \ No newline at end of file -- GitLab From 2f2d57ae191b8c71b2dd9015965a617f608ddb30 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 6 Apr 2016 18:01:14 +0200 Subject: [PATCH 0736/1089] consistently use XORG_LIB_SOURCE constant --- easybuild/easyconfigs/l/libICE/libICE-1.0.8-intel-2014b.eb | 2 +- easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015a.eb | 2 +- easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015b.eb | 2 +- easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libSM/libSM-1.2.1-intel-2014b.eb | 2 +- easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015a.eb | 2 +- easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015b.eb | 2 +- easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libX11/libX11-1.6.1-intel-2014b.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb | 2 +- easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb | 2 +- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb | 2 +- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb | 2 +- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb | 2 +- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb | 2 +- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.2-intel-2014b.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-goolf-1.5.14.eb | 2 +- .../l/libXext/libXext-1.3.3-intel-2015a-Python-2.7.10.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a.eb | 2 +- .../l/libXext/libXext-1.3.3-intel-2015b-Python-2.7.11.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXt/libXt-1.1.4-intel-2014b.eb | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.8-intel-2014b.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.8-intel-2014b.eb index bb3839e6a6..ff2702cd71 100644 --- a/easybuild/easyconfigs/l/libICE/libICE-1.0.8-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.8-intel-2014b.eb @@ -9,7 +9,7 @@ description = """X Inter-Client Exchange library for freedesktop.org""" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xtrans', '1.3.4'), diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb index 407ce4845d..b63222e9d8 100644 --- a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-gimkl-2.11.5.eb @@ -9,7 +9,7 @@ description = """X Inter-Client Exchange library for freedesktop.org""" toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xtrans', '1.3.5'), diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015a.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015a.eb index 0fb685525a..1bd7511944 100644 --- a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015a.eb @@ -9,7 +9,7 @@ description = """X Inter-Client Exchange library for freedesktop.org""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xtrans', '1.3.5'), diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015b.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015b.eb index d28d3a6e76..2f28c257c5 100644 --- a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2015b.eb @@ -9,7 +9,7 @@ description = """X Inter-Client Exchange library for freedesktop.org""" toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xtrans', '1.3.5'), diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb index 0038b41047..bd5ecc8bcd 100644 --- a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-intel-2016a.eb @@ -9,7 +9,7 @@ description = """X Inter-Client Exchange library for freedesktop.org""" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xtrans', '1.3.5'), diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.1-intel-2014b.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.1-intel-2014b.eb index a15bba69ef..30a7625681 100644 --- a/easybuild/easyconfigs/l/libSM/libSM-1.2.1-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.1-intel-2014b.eb @@ -10,7 +10,7 @@ description = """X11 Session Management library, which allows for applications t toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libICE', '1.0.8'), diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb index 580ce7f28a..a8d0c1fc55 100644 --- a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-gimkl-2.11.5.eb @@ -10,7 +10,7 @@ description = """X11 Session Management library, which allows for applications t toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libICE', '1.0.9'), diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015a.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015a.eb index 2a2391d847..c3a28914e6 100644 --- a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015a.eb @@ -10,7 +10,7 @@ description = """X11 Session Management library, which allows for applications t toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libICE', '1.0.9'), diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015b.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015b.eb index 641ea44476..503006a89b 100644 --- a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2015b.eb @@ -10,7 +10,7 @@ description = """X11 Session Management library, which allows for applications t toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libICE', '1.0.9'), diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb index b34ef0db33..1bab5701fe 100644 --- a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-intel-2016a.eb @@ -10,7 +10,7 @@ description = """X11 Session Management library, which allows for applications t toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libICE', '1.0.9'), diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.1-intel-2014b.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.1-intel-2014b.eb index 3522b7de99..3a034255d6 100644 --- a/easybuild/easyconfigs/l/libX11/libX11-1.6.1-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.1-intel-2014b.eb @@ -9,7 +9,7 @@ description = """X11 client-side library""" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] pythonversion = '-Python-2.7.8' builddependencies = [ diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb index 8694ab5ad2..96ec24e1fc 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb index 2e88286d07..934e207665 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-gimkl-2.11.5.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb index f1bc2bfb36..bd0254a335 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-goolf-1.5.14.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xproto', '7.0.27'), diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb index 22bf8016cf..afa4166c18 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2014b.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xproto', '7.0.26'), diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb index 408dc4aede..1accebb77f 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015a.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xproto', '7.0.27'), diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb index 9304d0fc79..dafc84e463 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2015b.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb index 243dbd6f22..8003dc09d5 100644 --- a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-intel-2016a.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb index 735a0391ab..efb7a8e46c 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.1-intel-2014b.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.26'), diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb index c12e65e6e8..20f0072ce3 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb index 9233da540e..395760652d 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-gimkl-2.11.5.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb index cc513f2315..599620e265 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-goolf-1.5.14.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.27'), diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb index 79416debdd..0912eb0311 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015a.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.27'), diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb index 93de3908f0..1639916a6f 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2015b.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb index 24fc239d5e..6ec7ecf45d 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-intel-2016a.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.2-intel-2014b.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.2-intel-2014b.eb index 1eeae06c66..b642948a1b 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.2-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.2-intel-2014b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libX11', '1.6.1'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb index 9ce9ef676f..388076a498 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-gimkl-2.11.5.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-goolf-1.5.14.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-goolf-1.5.14.eb index f5d31320dd..e0c74eaaa7 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-goolf-1.5.14.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.27'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a-Python-2.7.10.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a-Python-2.7.10.eb index fea0b330b9..59f66ccd07 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a-Python-2.7.10.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a-Python-2.7.10.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.27'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a.eb index c076690abe..3b9f118dec 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.27'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b-Python-2.7.11.eb index 23544e2ee3..7c257d0a2f 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b-Python-2.7.11.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b.eb index 93ffb79a95..3751e0a221 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2015b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb index 3e89327b58..2b4eff3bde 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/l/libXt/libXt-1.1.4-intel-2014b.eb b/easybuild/easyconfigs/l/libXt/libXt-1.1.4-intel-2014b.eb index 6f79135801..4646632358 100644 --- a/easybuild/easyconfigs/l/libXt/libXt-1.1.4-intel-2014b.eb +++ b/easybuild/easyconfigs/l/libXt/libXt-1.1.4-intel-2014b.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libSM', '1.2.1'), -- GitLab From 1e6a202f0f1415b190d434c94c74464ddccbfc9f Mon Sep 17 00:00:00 2001 From: jrbosch Date: Wed, 6 Apr 2016 12:45:43 -0400 Subject: [PATCH 0737/1089] Update libXdmcp-1.1.2-foss-2016a.eb --- easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb index bbe5e2fcc0..dcd4997f9b 100644 --- a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb @@ -15,7 +15,7 @@ sources = [SOURCE_TAR_GZ] source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] builddependencies = [ - ('pkg-config', '0.29') + ('pkg-config', '0.29'), ('xproto', '7.0.28'), ] -- GitLab From b9dfd342150f7b28e69e6c96746ab2f2537a5b8e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 6 Apr 2016 19:12:21 +0200 Subject: [PATCH 0738/1089] consistently use XORG_*_SOURCE constants --- .../easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb | 2 +- .../easyconfigs/f/fixesproto/fixesproto-5.0-goolf-1.4.10.eb | 2 +- .../easyconfigs/f/fixesproto/fixesproto-5.0-ictce-4.1.13.eb | 2 +- .../easyconfigs/f/fixesproto/fixesproto-5.0-ictce-5.3.0.eb | 2 +- .../easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015a.eb | 2 +- .../easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015b.eb | 2 +- .../easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb | 2 +- .../easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb | 2 +- .../easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015a.eb | 2 +- .../easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015b.eb | 2 +- .../easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb | 2 +- .../easyconfigs/g/glproto/glproto-1.4.16-goalf-1.1.0-no-OFED.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.16-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.3.0.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.5.0.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015a.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015b.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb | 2 +- easybuild/easyconfigs/i/inputproto/inputproto-2.3-foss-2014b.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3-goolf-1.4.10.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3-goolf-1.5.14.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3-ictce-4.1.13.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3-ictce-5.3.0.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3-intel-2014b.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3-intel-2015a.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3.1-goolf-1.5.14.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015a.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015b.eb | 2 +- .../easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-foss-2014b.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-5.3.0.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2014b.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2015a.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015a.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015b.eb | 2 +- easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb | 2 +- easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb | 2 +- .../easyconfigs/p/printproto/printproto-1.0.5-goolf-1.4.10.eb | 2 +- .../easyconfigs/p/printproto/printproto-1.0.5-ictce-4.1.13.eb | 2 +- .../easyconfigs/p/printproto/printproto-1.0.5-ictce-5.3.0.eb | 2 +- .../easyconfigs/p/printproto/printproto-1.0.5-intel-2015a.eb | 2 +- .../easyconfigs/r/randrproto/randrproto-1.5.0-intel-2015b.eb | 2 +- .../easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb | 2 +- .../easyconfigs/r/renderproto/renderproto-0.11-foss-2014b.eb | 2 +- .../easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb | 2 +- .../easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb | 2 +- .../easyconfigs/r/renderproto/renderproto-0.11-intel-2014b.eb | 2 +- .../easyconfigs/r/renderproto/renderproto-0.11-intel-2015a.eb | 2 +- .../easyconfigs/r/renderproto/renderproto-0.11-intel-2015b.eb | 2 +- .../easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb | 2 +- easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-5.3.0.eb | 2 +- easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2014b.eb | 2 +- easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2015a.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb | 2 +- easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb | 2 +- easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb | 2 +- .../easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb | 2 +- .../x/xineramaproto/xineramaproto-1.2.1-foss-2014b.eb | 2 +- .../x/xineramaproto/xineramaproto-1.2.1-intel-2014b.eb | 2 +- .../x/xineramaproto/xineramaproto-1.2.1-intel-2015b.eb | 2 +- .../x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb | 2 +- .../easyconfigs/x/xproto/xproto-7.0.23-goalf-1.1.0-no-OFED.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.4.10.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.5.14.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.0.6.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.1.13.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-5.3.0.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.26-foss-2014b.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.26-intel-2014b.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.27-goolf-1.5.14.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2015a.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015b.eb | 2 +- easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb | 2 +- 95 files changed, 95 insertions(+), 95 deletions(-) diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb index 88fa55c14d..1deb262347 100644 --- a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-gimkl-2.11.5.eb @@ -9,7 +9,7 @@ description = """X.org FixesProto protocol headers.""" toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-goolf-1.4.10.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-goolf-1.4.10.eb index 80e72c01e5..574d6d02de 100644 --- a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-goolf-1.4.10.eb @@ -9,7 +9,7 @@ description = """X.org FixesProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-4.1.13.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-4.1.13.eb index c52db08f49..15154dbbea 100644 --- a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-4.1.13.eb @@ -9,7 +9,7 @@ description = """X.org FixesProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '4.1.13'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-5.3.0.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-5.3.0.eb index 06e3d71fba..4df2be2be9 100644 --- a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-ictce-5.3.0.eb @@ -9,7 +9,7 @@ description = """X.org FixesProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015a.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015a.eb index 5d430a5301..8b11789fca 100644 --- a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015a.eb +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015a.eb @@ -9,7 +9,7 @@ description = """X.org FixesProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015b.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015b.eb index 3fe841d973..fd373c373a 100644 --- a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015b.eb +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2015b.eb @@ -9,7 +9,7 @@ description = """X.org FixesProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb index 33951308af..f26ed2df7a 100644 --- a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-intel-2016a.eb @@ -9,7 +9,7 @@ description = """X.org FixesProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb index 0719ec51f4..8e577e277b 100644 --- a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-gimkl-2.11.5.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015a.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015a.eb index 6c5ce99387..47f2d3c961 100644 --- a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015a.eb +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015b.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015b.eb index 5c83a62b97..062cfdbcf8 100644 --- a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015b.eb +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2015b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb index 5b1c1517ba..9c00b32506 100644 --- a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-intel-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goalf-1.1.0-no-OFED.eb index f9c5e14a8e..4282ea773f 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goalf-1.1.0-no-OFED.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goolf-1.4.10.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goolf-1.4.10.eb index 06b846c04c..037260e492 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-goolf-1.4.10.eb @@ -9,7 +9,7 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.0.6.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.0.6.eb index 42dc60dd5e..aebc924b14 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.0.6.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '4.0.6'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.1.13.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.1.13.eb index 8b99a901c9..cb35b32223 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-4.1.13.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '4.1.13'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.3.0.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.3.0.eb index 6ccc91bb75..c92de947ba 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.3.0.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.5.0.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.5.0.eb index 2566876879..1f4bad7112 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.16-ictce-5.5.0.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb index 46b9bdb324..8a7667c002 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-gimkl-2.11.5.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015a.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015a.eb index 4eb87a66ef..b28bfab5ef 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015a.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015b.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015b.eb index a1f9a0b9d2..191cd512ed 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015b.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2015b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb index c26a1ac08a..5dd250fddb 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-intel-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-foss-2014b.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-foss-2014b.eb index 3297e8dea0..ce9480d3aa 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-foss-2014b.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-foss-2014b.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'foss', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.4.10.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.4.10.eb index 1e1be175b1..475b25485e 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.4.10.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.5.14.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.5.14.eb index 56a7e864e0..7ae3e0efff 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-goolf-1.5.14.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-4.1.13.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-4.1.13.eb index 75a9c42cf7..9931bbca58 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-4.1.13.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '4.1.13'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-5.3.0.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-5.3.0.eb index 804a25ce18..19917b0ef7 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-ictce-5.3.0.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2014b.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2014b.eb index e307d5deb4..eb95b2f34a 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2014b.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2014b.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2015a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2015a.eb index 0437a042db..d652aba387 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2015a.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3-intel-2015a.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb index be4171cde7..cad6b846e6 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb index 1a5db1eefa..b26cb20222 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-gimkl-2.11.5.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-goolf-1.5.14.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-goolf-1.5.14.eb index 66fc05b6d4..6a557da522 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-goolf-1.5.14.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015a.eb index 21d5d376d5..512fcad715 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015a.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015a.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015b.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015b.eb index 83bc32fc03..00ad73c8ec 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015b.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2015b.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb index 323816dd0b..f40968ca7a 100644 --- a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-intel-2016a.eb @@ -9,7 +9,7 @@ description = """X.org InputProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-foss-2014b.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-foss-2014b.eb index 7482053f6f..30967e9fe4 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-foss-2014b.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-foss-2014b.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'foss', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-goolf-1.4.10.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-goolf-1.4.10.eb index e54e5f74c9..7e3ad5f572 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-goolf-1.4.10.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-4.1.13.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-4.1.13.eb index 3790a57f15..ee1d8ab5ad 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-4.1.13.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '4.1.13'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-5.3.0.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-5.3.0.eb index 664996727e..48cbc77814 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-ictce-5.3.0.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2014b.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2014b.eb index 31cb837d0f..2393fe61dc 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2014b.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2014b.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2015a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2015a.eb index 2d16cb0b13..295d7b8f94 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2015a.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.6-intel-2015a.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb index bca5ddd7ca..86f8eb23de 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb index 050b2bda55..a2add0de30 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-gimkl-2.11.5.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015a.eb index 62923f260f..13dbd2eb08 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015a.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015a.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015b.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015b.eb index d692faf393..9a5a48c480 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015b.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2015b.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb index 29d6a6987a..e5d229774c 100644 --- a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-intel-2016a.eb @@ -9,7 +9,7 @@ description = """X.org KBProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb index fc57003279..ce3e6d964e 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-goolf-1.4.10.eb b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-goolf-1.4.10.eb index dacbb816a7..3f72d96af4 100644 --- a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-goolf-1.4.10.eb @@ -6,7 +6,7 @@ version = '1.0.5' homepage = 'http://xorg.freedesktop.org/' description = """X.org PrintProto protocol headers.""" -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sources = [SOURCELOWER_TAR_GZ] toolchain = {'name': 'goolf', 'version': '1.4.10'} diff --git a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-4.1.13.eb b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-4.1.13.eb index db2b6fad94..83069f50b6 100644 --- a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-4.1.13.eb @@ -6,7 +6,7 @@ version = '1.0.5' homepage = 'http://xorg.freedesktop.org/' description = """X.org PrintProto protocol headers.""" -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sources = [SOURCELOWER_TAR_GZ] toolchain = {'name': 'ictce', 'version': '4.1.13'} diff --git a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-5.3.0.eb b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-5.3.0.eb index ae82f50061..bd1a547705 100644 --- a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-ictce-5.3.0.eb @@ -6,7 +6,7 @@ version = '1.0.5' homepage = 'http://xorg.freedesktop.org/' description = """X.org PrintProto protocol headers.""" -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sources = [SOURCELOWER_TAR_GZ] toolchain = {'name': 'ictce', 'version': '5.3.0'} diff --git a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-intel-2015a.eb b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-intel-2015a.eb index 0e5bfb142c..38e0bbe3cc 100644 --- a/easybuild/easyconfigs/p/printproto/printproto-1.0.5-intel-2015a.eb +++ b/easybuild/easyconfigs/p/printproto/printproto-1.0.5-intel-2015a.eb @@ -6,7 +6,7 @@ version = '1.0.5' homepage = 'http://xorg.freedesktop.org/' description = """X.org PrintProto protocol headers.""" -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sources = [SOURCELOWER_TAR_GZ] toolchain = {'name': 'intel', 'version': '2015a'} diff --git a/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2015b.eb b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2015b.eb index cb2cc76a3b..87f1456d12 100644 --- a/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2015b.eb +++ b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2015b.eb @@ -9,7 +9,7 @@ description = "Xrandr protocol and ancillary headers" toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['randr.h', 'randrproto.h']], diff --git a/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb index 278cc7bbbf..563fbfcbf2 100644 --- a/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb +++ b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-intel-2016a.eb @@ -9,7 +9,7 @@ description = "Xrandr protocol and ancillary headers" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['randr.h', 'randrproto.h']], diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2014b.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2014b.eb index 3119cd29b7..a354245bf6 100644 --- a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2014b.eb +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2014b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb index 48199d0511..9f19fc4dfc 100644 --- a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb index c363620cb6..c2eb005cc6 100644 --- a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-gimkl-2.11.5.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2014b.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2014b.eb index 9d7f0c2a91..c0cb8f56f1 100644 --- a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2014b.eb +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2014b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015a.eb index 87042e0e65..59a4298687 100644 --- a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015a.eb +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015b.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015b.eb index b16c201ac1..20a477feb6 100644 --- a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015b.eb +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2015b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb index 37b516e535..c3ac221b11 100644 --- a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-intel-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], diff --git a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-goolf-1.4.10.eb b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-goolf-1.4.10.eb index 93be023dae..9e6fad7729 100644 --- a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-goolf-1.4.10.eb @@ -9,7 +9,7 @@ description = """provides bitmaps for x""" toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/data/'] +source_urls = [XORG_DATA_SOURCE] sanity_check_paths = { 'files': ['include/X11/bitmaps/gray'], diff --git a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-4.1.13.eb b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-4.1.13.eb index 7edd725bb8..6dfd84dd09 100644 --- a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-4.1.13.eb @@ -8,7 +8,7 @@ description = """provides bitmaps for x""" toolchain = {'name': 'ictce', 'version': '4.1.13'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/data/'] +source_urls = [XORG_DATA_SOURCE] sanity_check_paths = { 'files': ['include/X11/bitmaps/gray'], diff --git a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-5.3.0.eb b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-5.3.0.eb index 38732656c2..23a639e880 100644 --- a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-ictce-5.3.0.eb @@ -9,7 +9,7 @@ description = """provides bitmaps for x""" toolchain = {'name': 'ictce', 'version': '5.3.0'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/data/'] +source_urls = [XORG_DATA_SOURCE] sanity_check_paths = { 'files': ['include/X11/bitmaps/gray'], diff --git a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2014b.eb b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2014b.eb index f7d2e42a4b..c294b4f211 100644 --- a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2014b.eb @@ -9,7 +9,7 @@ description = """provides bitmaps for x""" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/data/'] +source_urls = [XORG_DATA_SOURCE] sanity_check_paths = { 'files': ['include/X11/bitmaps/gray'], diff --git a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2015a.eb b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2015a.eb index 7c6cc82582..4cb4a74155 100644 --- a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2015a.eb @@ -9,7 +9,7 @@ description = """provides bitmaps for x""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/data/'] +source_urls = [XORG_DATA_SOURCE] sanity_check_paths = { 'files': ['include/X11/bitmaps/gray'], diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb index 222c1cb8a9..c125fc2989 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.4.10.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb index f8d28a6517..658fd35838 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-goolf-1.5.14.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb index 7e5dd65346..a2085627e9 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-4.1.13.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '4.1.13'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb index e73a8f9515..6edad56122 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-ictce-5.3.0.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb index 0f74426405..bd75285755 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.2.1-intel-2014b.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb index bceed61321..3876294b7f 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2014b.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'foss', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb index 9bc6335cdf..53735a84e4 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb index 1800fbf094..beda89b5c6 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-gimkl-2.11.5.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb index eb7322e162..82aff3127f 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-goolf-1.5.14.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'goolf', 'version': '1.5.14'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb index 6156597f8b..4a87699495 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2014b.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb index 96189817b0..91c591e727 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015a.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb index d2b93b5852..c2246d9293 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2015b.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb index af65fa2a9d..08ca1e412b 100644 --- a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-intel-2016a.eb @@ -9,7 +9,7 @@ description = """XExtProto protocol headers.""" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/%s' % x for x in [ diff --git a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2014b.eb b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2014b.eb index b0ee431324..883ec594b7 100644 --- a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2014b.eb +++ b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2014b.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers for xinerama" toolchain = {'name': 'foss', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/panoramiXproto.h'], diff --git a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2014b.eb b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2014b.eb index 797b75e5e7..e582ff06dd 100644 --- a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2014b.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers for xinerama" toolchain = {'name': 'intel', 'version': '2014b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/panoramiXproto.h'], diff --git a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2015b.eb b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2015b.eb index e96e89759a..7e6eb92e97 100644 --- a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2015b.eb +++ b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2015b.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers for xinerama" toolchain = {'name': 'intel', 'version': '2015b'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/panoramiXproto.h'], diff --git a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb index d198aa80e4..892ed9f5bd 100644 --- a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb +++ b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-intel-2016a.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers for xinerama" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/panoramiXproto.h'], diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goalf-1.1.0-no-OFED.eb index f6c2e0c627..572e38002b 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goalf-1.1.0-no-OFED.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.4.10.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.4.10.eb index 241268e4a6..6eb06bc7d4 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.4.10.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.5.14.eb index ab202e5075..5054d70df3 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-goolf-1.5.14.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.0.6.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.0.6.eb index e0f4abf144..ddf767b605 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.0.6.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '4.0.6'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.1.13.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.1.13.eb index 884e64e8dd..06bdb8bc21 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-4.1.13.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '4.1.13'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-5.3.0.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-5.3.0.eb index 8f17ba5d45..7d12c7f86a 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.23-ictce-5.3.0.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.26-foss-2014b.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.26-foss-2014b.eb index bdb6d9e8c7..76cc9f4a7a 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.26-foss-2014b.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.26-foss-2014b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.26-intel-2014b.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.26-intel-2014b.eb index 74b305ce8c..1caa382ace 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.26-intel-2014b.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.26-intel-2014b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2014b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.27-goolf-1.5.14.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.27-goolf-1.5.14.eb index 4ec0e6221a..4d66b00ecb 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.27-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.27-goolf-1.5.14.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goolf', 'version': '1.5.14'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2015a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2015a.eb index f9bd7118c8..a0292fbf8e 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2015a.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.27-intel-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb index 3e787177f0..2a47f2490b 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers" toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb index 2591e436f9..8dab7213fb 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-gimkl-2.11.5.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers" toolchain = {'name': 'gimkl', 'version': '2.11.5'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015b.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015b.eb index d3de936da4..6722798efb 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015b.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb index 1d3df458a7..9de353786c 100644 --- a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2016a.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers" toolchain = {'name': 'intel', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', -- GitLab From c025b26559a8de6353a6e2f64b8a16413b2f1900 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Wed, 6 Apr 2016 13:06:53 -0500 Subject: [PATCH 0739/1089] Adhering to the 120 characters per line standard for the description variable --- easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb index 097d50c5b6..64d81e0783 100644 --- a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb +++ b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb @@ -2,7 +2,7 @@ # Author: Ravi Tripathi # Email: ravi89@uab.edu -easyblock = "Binary" +easyblock = "PackedBinary" name = 'MRIcron' version = '06_22_15' @@ -19,8 +19,8 @@ source_urls = ['https://www.nitrc.org/frs/download.php/7765/'] sources = ['lx.zip'] # Following commands are used to unzip the files and copy the content to install directory -install_cmd = "unzip lx.zip &&" -install_cmd += "cp -a %(builddir)s/* %(installdir)s" +#install_cmd = "unzip lx.zip &&" +#install_cmd += "cp -a %(builddir)s/* %(installdir)s" sanity_check_paths = { 'files': ["dcm2nii", "dcm2niigui", "mricron", "npm"], -- GitLab From 8be21fa9d9b4d44c566d83c7b8e48cf187d7f4f5 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Wed, 6 Apr 2016 13:31:56 -0500 Subject: [PATCH 0740/1089] Removing source_url and adding a comment detailing how to download zip'd files manually from the website --- easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb index 64d81e0783..a984af8d3b 100644 --- a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb +++ b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb @@ -15,12 +15,10 @@ Features layers, ROIs, and volume rendering. """ toolchain = {'name': 'dummy', 'version': 'dummy'} -source_urls = ['https://www.nitrc.org/frs/download.php/7765/'] -sources = ['lx.zip'] - -# Following commands are used to unzip the files and copy the content to install directory -#install_cmd = "unzip lx.zip &&" -#install_cmd += "cp -a %(builddir)s/* %(installdir)s" +# Automatic Download doesn't work for this software sice you need to accept their +# license, so you can download it manually at https://www.nitrc.org/frs/download.php/7765/ +# and place it in a folder where Easybuild can see it. +sources = [SOURCE.ZIP] sanity_check_paths = { 'files': ["dcm2nii", "dcm2niigui", "mricron", "npm"], -- GitLab From d45ee07c957fb86c3a3794ee2ee8f085ccbf68ec Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Wed, 6 Apr 2016 13:57:55 -0500 Subject: [PATCH 0741/1089] Corrected some spell errors --- easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb index a984af8d3b..4c0655294e 100644 --- a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb +++ b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb @@ -15,8 +15,8 @@ Features layers, ROIs, and volume rendering. """ toolchain = {'name': 'dummy', 'version': 'dummy'} -# Automatic Download doesn't work for this software sice you need to accept their -# license, so you can download it manually at https://www.nitrc.org/frs/download.php/7765/ +# Automatic Download doesn't work for this software as you need to accept their license, +# so you can download it manually at https://www.nitrc.org/frs/download.php/7765/ # and place it in a folder where Easybuild can see it. sources = [SOURCE.ZIP] -- GitLab From 4c0b59ae9650f557c12569e0085e22f6ec14e1e2 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Wed, 6 Apr 2016 14:34:11 -0500 Subject: [PATCH 0742/1089] Adding the source file to the Easyconfig file --- easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb index 4c0655294e..daea20393e 100644 --- a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb +++ b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb @@ -18,7 +18,7 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # Automatic Download doesn't work for this software as you need to accept their license, # so you can download it manually at https://www.nitrc.org/frs/download.php/7765/ # and place it in a folder where Easybuild can see it. -sources = [SOURCE.ZIP] +sources = ['lx.zip'] sanity_check_paths = { 'files': ["dcm2nii", "dcm2niigui", "mricron", "npm"], -- GitLab From d97b12f986e603dac7e20078dd6db73d79ac709d Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Wed, 6 Apr 2016 15:06:42 -0500 Subject: [PATCH 0743/1089] Adding the md5 checksum value for the source --- easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb index daea20393e..69196eb784 100644 --- a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb +++ b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb @@ -20,6 +20,8 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # and place it in a folder where Easybuild can see it. sources = ['lx.zip'] +checksums = ['a2d8b1c053384220953f6b670d0fd4df'] + sanity_check_paths = { 'files': ["dcm2nii", "dcm2niigui", "mricron", "npm"], 'dirs': ["example", "lut", "templates"] -- GitLab From 29f2c6b09b5e6b7d871d0da26aab6597c5c52163 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Wed, 6 Apr 2016 18:05:56 -0400 Subject: [PATCH 0744/1089] libXrandr-1.5.0 easyconfig for foss-2016a --- .../l/libXrandr/libXrandr-1.5.0-foss-2016a.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb b/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb new file mode 100644 index 0000000000..b6614e79e7 --- /dev/null +++ b/easybuild/easyconfigs/l/libXrandr/libXrandr-1.5.0-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libXrandr' +version = '1.5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Resize, Rotate and Reflection extension library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('randrproto', '1.5.0'), + ('renderproto', '0.11'), + ('xextproto', '7.3.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('libXrender', '0.9.9'), +] + +sanity_check_paths = { + 'files': ['lib/libXrandr.%s' % SHLIB_EXT, 'lib/libXrandr.a'], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From a7a61c9d0568c5d4f59df08abb5aae85f3def8f4 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Wed, 6 Apr 2016 18:08:32 -0400 Subject: [PATCH 0745/1089] randrproto-1.5.0 easyconfig for foss-2016a --- .../randrproto/randrproto-1.5.0-foss-2016a.eb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb new file mode 100644 index 0000000000..d480848616 --- /dev/null +++ b/easybuild/easyconfigs/r/randrproto/randrproto-1.5.0-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'randrproto' +version = '1.5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrandr protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_PROTO_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['randr.h', 'randrproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 44cf756826c8e52b397447b030e627360e7c5bdf Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Wed, 6 Apr 2016 22:38:57 -0400 Subject: [PATCH 0746/1089] libXi-1.7.6 for foss-2016a toolchain --- .../l/libXi/libXi-1.7.6-foss-2016a.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb new file mode 100644 index 0000000000..bd92d68db6 --- /dev/null +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' +name = 'libXi' +version = '1.7.6' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """LibXi provides an X Window System client interface to the XINPUT extension to the X protocol.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), + ('inputproto', '2.3.1'), + ('xorg-macros', '1.19.0'), +] + +dependencies = [ + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/XInput.h', 'include/X11/extensions/XInput2.h', 'lib/libXi.%s' % SHLIB_EXT, 'lib/libXi.a'], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From a5dd9bfb4552cf157384fbccf9b9538e771453f7 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Wed, 6 Apr 2016 22:39:56 -0400 Subject: [PATCH 0747/1089] libXfixes-5.0.1 for foss-2016a toolchain --- .../l/libXfixes/libXfixes-5.0.1-foss-2016a.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb new file mode 100644 index 0000000000..aa11951f76 --- /dev/null +++ b/easybuild/easyconfigs/l/libXfixes/libXfixes-5.0.1-foss-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libXfixes' +version = '5.0.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X Fixes extension library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('fixesproto', '5.0'), + ('xextproto', '7.3.0'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/Xfixes.h', 'lib/libXfixes.a', 'lib/libXfixes.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From fd70a1bdd1a84da2729aa341abe5e8262512e767 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Wed, 6 Apr 2016 22:41:19 -0400 Subject: [PATCH 0748/1089] xorg-macros-1.19.0 for foss-2016a toolchain --- .../xorg-macros-1.19.0-foss-2016a.eb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb new file mode 100644 index 0000000000..3965c12078 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.0' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 285276c385c90279c966915beba4bb24fbc1aae1 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Wed, 6 Apr 2016 22:44:31 -0400 Subject: [PATCH 0749/1089] fixesproto-5.0 for foss-2016a toolchain --- .../f/fixesproto/fixesproto-5.0-foss-2016a.eb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb new file mode 100644 index 0000000000..b04efa3b3a --- /dev/null +++ b/easybuild/easyconfigs/f/fixesproto/fixesproto-5.0-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'fixesproto' +version = '5.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org FixesProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_PROTO_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/extensions/xfixesproto.h', 'include/X11/extensions/xfixeswire.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' -- GitLab From 03e17713072089963a0bceb1a92e343f650ef664 Mon Sep 17 00:00:00 2001 From: "Javier Ruiz Bosch-jrbosch@uclv.cu" Date: Thu, 7 Apr 2016 00:21:05 -0400 Subject: [PATCH 0750/1089] libGLU for foss-2016a toolchain --- .../l/libGLU/libGLU-9.0.0-foss-2016a.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb new file mode 100644 index 0000000000..087bd589cb --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +dependencies = [ + ('Mesa', '11.1.2'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 6db2fe08a4d22e3e21471bca3ae1eb74e3bc437d Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 7 Apr 2016 09:37:09 +0200 Subject: [PATCH 0751/1089] use of %(pyver)s --- .../p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb index bc1187561f..e08e25c6bb 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-3.2.0-intel-2016a-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'PythonPackage' name = 'Pillow' version = '3.2.0' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://pillow.readthedocs.org/' description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. @@ -12,12 +13,8 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = [PYPI_SOURCE] sources = [SOURCE_TAR_GZ] -python = 'Python' -pyver = '2.7.11' -versionsuffix = '-%s-%s' % (python, pyver) - dependencies = [ - (python, pyver), + ('Python', '2.7.11'), ('libjpeg-turbo', '1.4.2'), ('zlib', '1.2.8'), ('LibTIFF', '4.0.6'), -- GitLab From f5cca74c3cae5b9e3e51677a37cc33fd0e25993d Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 10:02:48 +0200 Subject: [PATCH 0752/1089] modify easyconfig cairo-1.14.6-foss-2016a.eb, add easyconfig GLib-2.47.5-foss-2016a.eb, modify easyconfig freetype-2.6.2-foss-2016a.eb, modify easyconfig pixman-0.34.0-foss-2016a.eb, modify easyconfig fontconfig-2.11.94-foss-2016a.eb, add easyconfig libX11-1.6.3-foss-2016a.eb, add easyconfig libxcb-1.11.1-foss-2016a.eb, add easyconfig libXrender-0.9.9-foss-2016a.eb, add easyconfig libXext-1.3.3-foss-2016a.eb, add easyconfig renderproto-0.11-foss-2016a.eb, add easyconfig xextproto-7.3.0-foss-2016a.eb, add easyconfig xproto-7.0.28-foss-2016a.eb, add easyconfig libffi-3.2.1-foss-2016a.eb, add easyconfig gettext-0.19.7-foss-2016a.eb, add easyconfig libxml2-2.9.3-foss-2016a-Python-2.7.11.eb, add easyconfig PCRE-8.38-foss-2016a.eb, add easyconfig inputproto-2.3.1-foss-2016a.eb, add easyconfig libpthread-stubs-0.3-foss-2016a.eb, add easyconfig kbproto-1.0.7-foss-2016a.eb, add easyconfig xtrans-1.3.5-foss-2016a.eb, add easyconfig xorg-macros-1.19.0-foss-2016a.eb --- .../c/cairo/cairo-1.14.6-foss-2016a.eb | 30 ++++++++++++++- .../g/GLib/GLib-2.47.5-foss-2016a.eb | 33 +++++++++++++++++ .../g/gettext/gettext-0.19.7-foss-2016a.eb | 23 ++++++++++++ .../inputproto/inputproto-2.3.1-foss-2016a.eb | 19 ++++++++++ .../k/kbproto/kbproto-1.0.7-foss-2016a.eb | 19 ++++++++++ .../l/libX11/libX11-1.6.3-foss-2016a.eb | 37 +++++++++++++++++++ .../l/libXext/libXext-1.3.3-foss-2016a.eb | 34 +++++++++++++++++ .../libXrender/libXrender-0.9.9-foss-2016a.eb | 32 ++++++++++++++++ .../l/libffi/libffi-3.2.1-foss-2016a.eb | 23 ++++++++++++ .../libpthread-stubs-0.3-foss-2016a.eb | 20 ++++++++++ .../l/libxcb/libxcb-1.11.1-foss-2016a.eb | 33 +++++++++++++++++ .../libxml2-2.9.3-foss-2016a-Python-2.7.11.eb | 30 +++++++++++++++ .../p/PCRE/PCRE-8.38-foss-2016a.eb | 20 ++++++++++ .../renderproto-0.11-foss-2016a.eb | 20 ++++++++++ .../x/xextproto/xextproto-7.3.0-foss-2016a.eb | 24 ++++++++++++ .../xorg-macros-1.19.0-foss-2016a.eb | 22 +++++++++++ .../x/xproto/xproto-7.0.28-foss-2016a.eb | 23 ++++++++++++ .../x/xtrans/xtrans-1.3.5-foss-2016a.eb | 22 +++++++++++ 18 files changed, 462 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb create mode 100644 easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb create mode 100644 easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb create mode 100644 easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb index 4afe79dcce..ab395e2001 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = "cairo" +name = 'cairo' version = '1.14.6' homepage = 'http://cairographics.org' @@ -13,6 +13,8 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['http://cairographics.org/releases/'] sources = [SOURCE_TAR_XZ] +glibver = '2.47.5' + dependencies = [ ('bzip2', '1.0.6'), ('zlib', '1.2.8'), @@ -21,9 +23,33 @@ dependencies = [ ('pixman', '0.34.0'), ('fontconfig', '2.11.94'), ('expat', '2.1.0'), + ('GLib', glibver), + ('libX11', '1.6.3'), + ('libxcb', '1.11.1'), + ('libXrender', '0.9.9'), + ('libXext', '1.3.3'), +] + +builddependencies = [ + ('renderproto', '0.11'), + ('libXext', '1.3.3'), + ('xextproto', '7.3.0'), + ('libX11', '1.6.3'), + ('xproto', '7.0.28'), + ('libxcb', '1.11.1') ] # disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC -configopts = "--enable-symbol-lookup=no" +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes " + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb new file mode 100644 index 0000000000..fb0fcbff8c --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.47.5' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.7'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), +] + +builddependencies = [('Python', '2.7.11')] + +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" + +postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb new file mode 100644 index 0000000000..168b2490e6 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.7' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [ + ('libxml2', '2.9.3'), + ('ncurses', '6.0'), +] + +configopts = '--without-emacs' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb new file mode 100644 index 0000000000..be4171cde7 --- /dev/null +++ b/easybuild/easyconfigs/i/inputproto/inputproto-2.3.1-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'inputproto' +version = '2.3.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org InputProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XI2.h', 'XI.h', 'XIproto.h', 'XI2proto.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb new file mode 100644 index 0000000000..bca5ddd7ca --- /dev/null +++ b/easybuild/easyconfigs/k/kbproto/kbproto-1.0.7-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'kbproto' +version = '1.0.7' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X.org KBProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['XKBgeom.h', 'XKB.h', 'XKBproto.h', 'XKBsrv.h', 'XKBstr.h']], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb new file mode 100644 index 0000000000..7bbdcf2dc4 --- /dev/null +++ b/easybuild/easyconfigs/l/libX11/libX11-1.6.3-foss-2016a.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libX11' +version = '1.6.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('xextproto', '7.3.0'), + ('xcb-proto', '1.11', '', True), + ('inputproto', '2.3.1'), + ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), + ('kbproto', '1.0.7'), + ('xtrans', '1.3.5'), +] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in [ + 'cursorfont.h', 'ImUtil.h', 'Xcms.h', 'XKBlib.h', 'XlibConf.h', 'Xlib.h', 'Xlibint.h', 'Xlib-xcb.h', + 'Xlocale.h', 'Xregion.h', 'Xresource.h', 'Xutil.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb new file mode 100644 index 0000000000..b53c0d9a18 --- /dev/null +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libXext' +version = '1.3.3' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """Common X Extensions library""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), + ('libpthread-stubs', '0.3'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'dpms.h', 'extutil.h', 'MITMisc.h', 'multibuf.h', 'security.h', 'shape.h', 'sync.h', 'Xag.h', 'Xcup.h', + 'Xdbe.h', 'XEVI.h', 'Xext.h', 'Xge.h', 'XLbx.h', 'XShm.h', 'xtestext1.h', + ] + ], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb new file mode 100644 index 0000000000..12b8caece2 --- /dev/null +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libXrender' +version = '0.9.9' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 client-side library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +builddependencies = [ + ('kbproto', '1.0.7'), + ('renderproto', '0.11'), + ('libX11', '1.6.3'), + ('libpthread-stubs', '0.3'), + ('xorg-macros', '1.19.0'), + ('xproto', '7.0.28') +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['lib/libXrender.a'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb new file mode 100644 index 0000000000..c7c638b6fa --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.2.1' + +homepage = 'http://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to various calling +conventions. This allows a programmer to call any function specified by a call interface description at run-time.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + 'ftp://sourceware.org/pub/libffi/', + 'http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/', +] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': [('lib/libffi.%s' % SHLIB_EXT, 'lib64/libffi.%s' % SHLIB_EXT), ('lib/libffi.a', 'lib64/libffi.a')], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb new file mode 100644 index 0000000000..fcb767cfdb --- /dev/null +++ b/easybuild/easyconfigs/l/libpthread-stubs/libpthread-stubs-0.3-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libpthread-stubs' +version = '0.3' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'foss', 'version': '2016a'} + +sanity_check_paths = { + 'files': ['lib/pkgconfig/pthread-stubs.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb new file mode 100644 index 0000000000..d818b47843 --- /dev/null +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.11.1-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libxcb' +version = '1.11.1' + +homepage = 'http://xcb.freedesktop.org/' +description = """The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, +latency hiding, direct access to the protocol, improved threading support, and extensibility.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('xcb-proto', '1.11', '', True), + ('xproto', '7.0.28'), + ('libpthread-stubs', '0.3'), +] +dependencies = [ + ('libXau', '1.0.8'), + ('libXdmcp', '1.1.2'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb%s.a' % x for x in ['', '-composite', '-damage', '-dpms', '-dri2', '-glx', + '-randr', '-record', '-render', '-res', '-screensaver', + '-shape', '-shm', '-sync', '-xevie', '-xf86dri', '-xfixes', + '-xinerama', '-xprint', '-xtest', '-xv', '-xvmc']], + 'dirs': ['include/xcb', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..0237c8f83b --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' + +pythonver = '2.7.11' +pythonshortver = '.'.join(pythonver.split('.')[:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb new file mode 100644 index 0000000000..1fe2fcb26c --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.38-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE' +version = '8.38' + +homepage = 'http://www.pcre.org/' +description = """ + The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax + and semantics as Perl 5. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic --disable-cpp --enable-utf --enable-unicode-properties" + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb new file mode 100644 index 0000000000..48199d0511 --- /dev/null +++ b/easybuild/easyconfigs/r/renderproto/renderproto-0.11-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'renderproto' +version = '0.11' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "Xrender protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in ['render.h', 'renderproto.h']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb new file mode 100644 index 0000000000..9bc6335cdf --- /dev/null +++ b/easybuild/easyconfigs/x/xextproto/xextproto-7.3.0-foss-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xextproto' +version = '7.3.0' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """XExtProto protocol headers.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/%s' % x for x in [ + 'agproto.h', 'cupproto.h', 'dbeproto.h', 'dpmsproto.h', 'EVIproto.h', 'geproto.h', 'lbxproto.h', + 'mitmiscproto.h', 'multibufproto.h', 'securproto.h', 'shapeproto.h', 'shm.h', 'shmstr.h', 'syncproto.h', + 'xtestconst.h', 'xtestext1proto.h' + ] + ], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb new file mode 100644 index 0000000000..3965c12078 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.0' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb new file mode 100644 index 0000000000..3e787177f0 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.28' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', + 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', + 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', + 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb new file mode 100644 index 0000000000..1d32cb1ae6 --- /dev/null +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xtrans' +version = '1.3.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """xtrans includes a number of routines to make X implementations transport-independent; + at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From f73937858cb1ce3028affcc9f53f79f287f9a3af Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 10:21:22 +0200 Subject: [PATCH 0753/1089] modify easyconfig cairo-1.14.6-foss-2016a.eb, add easyconfig libXau-1.0.8-foss-2016a.eb, add easyconfig libXdmcp-1.1.2-foss-2016a.eb --- .../c/cairo/cairo-1.14.6-foss-2016a.eb | 4 ++- .../l/libXau/libXau-1.0.8-foss-2016a.eb | 25 +++++++++++++++++++ .../l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb | 25 +++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb index ab395e2001..5cf49b60d8 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb @@ -25,9 +25,11 @@ dependencies = [ ('expat', '2.1.0'), ('GLib', glibver), ('libX11', '1.6.3'), + ('libXau', '1.0.8'), ('libxcb', '1.11.1'), - ('libXrender', '0.9.9'), + ('libXdmcp', '1.1.2'), ('libXext', '1.3.3'), + ('libXrender', '0.9.9'), ] builddependencies = [ diff --git a/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb new file mode 100644 index 0000000000..8694ab5ad2 --- /dev/null +++ b/easybuild/easyconfigs/l/libXau/libXau-1.0.8-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXau' +version = '1.0.8' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXau package contains a library implementing the X11 Authorization Protocol. +This is useful for restricting client access to the display.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] + +sanity_check_paths = { + 'files': ['lib/libXau.a', 'lib/libXau.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb new file mode 100644 index 0000000000..c12e65e6e8 --- /dev/null +++ b/easybuild/easyconfigs/l/libXdmcp/libXdmcp-1.1.2-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libXdmcp' +version = '1.1.2' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is +useful for allowing clients to interact with the X Display Manager. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xproto', '7.0.28'), +] +sanity_check_paths = { + 'files': ['lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From 3f8d502c4b072f4e045c7ed18628e219a304cd24 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 10:46:56 +0200 Subject: [PATCH 0754/1089] modify easyconfig Blitz++-0.10-foss-2016a.eb, add easyconfig Blitz++-0.10-goolf-1.5.16.eb --- .../b/Blitz++/Blitz++-0.10-foss-2016a.eb | 9 ++------- .../b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb index 03886c8db9..f91bad5dd3 100644 --- a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb @@ -10,16 +10,11 @@ description = """Blitz++ is a (LGPLv3+) licensed meta-template library for array toolchain = {'name': 'foss', 'version': '2016a'} sources = ['blitz-%(version)s.tar.gz'] -source_urls = ['https://sourceforge.net/projects/blitz/files/blitz/%(name)s %(version)s', - 'download'] +source_urls = [('https://sourceforge.net/projects/blitz/files/blitz/%(name)s %(version)s', 'download')] sanity_check_paths = { 'files': ['lib/libblitz.a'], - 'dirs': ['include/blitz/array', - 'include/blitz/gnu', - 'include/blitz/meta', - 'include/random', - 'lib/pkgconfig'], + 'dirs': ['include/blitz/array', 'include/blitz/gnu', 'include/blitz/meta', 'include/random', 'lib/pkgconfig'], } moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb new file mode 100644 index 0000000000..f75014e6f2 --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'Blitz++' +version = '0.10' + +homepage = 'http://blitz.sourceforge.net/' +description = """Blitz++ is a (LGPLv3+) licensed meta-template library for array manipulation in C++ + with a speed comparable to Fortran implementations, while preserving an object-oriented interface""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} + +sources = ['blitz-%(version)s.tar.gz'] +source_urls = [('https://sourceforge.net/projects/blitz/files/blitz/%(name)s %(version)s', 'download')] + +sanity_check_paths = { + 'files': ['lib/libblitz.a'], + 'dirs': ['include/blitz/array', 'include/blitz/gnu', 'include/blitz/meta', 'include/random', 'lib/pkgconfig'], +} + +moduleclass = 'lib' -- GitLab From 9f9d4d40dcff4c9109de8ce909ca0e950a386531 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 10:53:06 +0200 Subject: [PATCH 0755/1089] modify easyconfig Saxon-HE-9.7.0.4-Java-1.7.0_79.eb --- .../easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb index eed56a9078..d38576ab53 100644 --- a/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb +++ b/easybuild/easyconfigs/s/Saxon-HE/Saxon-HE-9.7.0.4-Java-1.7.0_79.eb @@ -2,6 +2,7 @@ easyblock = 'Tarball' name = 'Saxon-HE' version = '9.7.0.4' +versionsuffix = '-Java-%(javaver)s' homepage = 'http://saxon.sourceforge.net' description = """Open Source SAXON XSLT processor developed by Saxonica Limited.""" @@ -9,11 +10,8 @@ description = """Open Source SAXON XSLT processor developed by Saxonica Limited. toolchain = {'name': 'dummy', 'version': ''} sources = ['SaxonHE%sJ.zip' % version.replace(".","-")] - source_urls = ['https://sourceforge.net/projects/saxon/files/Saxon-HE/%(version_major_minor)s' , 'download'] -versionsuffix = '-Java-%(javaver)s' - dependencies = [('Java', '1.7.0_79')] jarfiles = ['saxon%(version_major)she.jar', 'saxon%(version_major)s-test.jar', 'saxon%(version_major)s-xqj.jar'] -- GitLab From 4c3641259118bc70d74b75893f2c24e348a1d661 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Thu, 7 Apr 2016 11:40:45 +0200 Subject: [PATCH 0756/1089] 1 --- .../g/GConf/GConf-3.2.6-intel-2016a.eb | 39 ++++++++++++++++ ...Python-3.0.2.0-intel-2016-Python-2.7.11.eb | 45 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb create mode 100644 easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb new file mode 100644 index 0000000000..118e97695c --- /dev/null +++ b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'GConf' +version = '3.2.6' + +homepage = 'https://projects.gnome.org/gconf/' +description = """GConf is a system for storing application preferences. + It is intended for user preferences; not configuration + of something like Apache, or arbitrary data storage.""" + +toolchain = {'name': 'intel', 'version': '2014b'} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/GConf/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] + +dependencies = [ + ('dbus-glib', '0.106'), + ('GLib', '2.47.5'), + ('GObject-Introspection', '1.47.1'), + ('libxml', '2.9.3'), + ('GTK+', '2.24.28'), +] + +configopts = '--disable-orbit ' + +sanity_check_paths = { + 'files': ['bin/gconf%s' % x for x in['-merge-tree', 'tool-2']] + + ['bin/gsettings-%s-convert' % x for x in ['data', 'schema']] + + ['lib/libgconf-2.%s' % x for x in['a', 'so']], + 'dirs': ['include', 'share'] +} + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +moduleclass = 'devel' + diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb new file mode 100644 index 0000000000..2bca75979e --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb @@ -0,0 +1,45 @@ +name = 'wxPython' +version = '3.0.2.0' +versionsuffix = "-Python-%(pyver)s" + +homepage = 'http://www.wxpython.org' +description = """wxPython is a GUI toolkit for the Python programming language. + It allows Python programmers to create programs with a robust, + highly functional graphical user interface, simply and easily. + It is implemented as a Python extension module (native code) + that wraps the popular wxWidgets cross platform GUI library, + which is written in C++.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s-src-%(version)s.tar.bz2'] + +patches = ['%(name)s_%(version)s_intel.patch'] + +dependencies = [ + ('Python', '2.7.11'), + ('libpng', '1.6.21'), + ('zlib', '1.2.8'), + ('libjpeg-turbo', '1.4.2'), + ('LibTIFF', '4.0.6'), + ('expat', '2.1.0'), + ('GTK+', '2.24.28'), + ('GConf', '3.2.6'), + ('GST-plugins-base', '0.10.36'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/wxrc'] + + ['bin/py%s' % x for x in ['alacarte', 'alamode', 'crust', 'shell', 'wrap', 'wxrc']] + + ['lib/lib%s-3.0.so' % x for x in ['wx_baseu', 'wx_gtk2u_core']], + 'dirs': ['include', 'share', 'lib/python%(pyshortver)s/site-packages'] +} + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages/wx-3.0-gtk2'], +} + +moduleclass = 'vis' -- GitLab From fb1feec5cb73661660cfa839cf2ff6aa193a2b5c Mon Sep 17 00:00:00 2001 From: RvDijk Date: Thu, 7 Apr 2016 15:42:40 +0200 Subject: [PATCH 0757/1089] removed newline --- easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb index 63c3fa7e2d..6b593148b4 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-foss-2016a.eb @@ -21,4 +21,4 @@ dependencies = [ ('libxml2', '2.9.3'), ] -moduleclass = 'lib' \ No newline at end of file +moduleclass = 'lib' -- GitLab From 7b27041bb0c383832ffb63e6f205c1f091a3934a Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 15:59:16 +0200 Subject: [PATCH 0758/1089] add easyconfig libxml2-2.9.3-foss-2016a-Python-2.7.11.eb --- .../libxml2-2.9.3-foss-2016a-Python-2.7.11.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..0237c8f83b --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' + +pythonver = '2.7.11' +pythonshortver = '.'.join(pythonver.split('.')[:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +moduleclass = 'lib' -- GitLab From 690b3dbdd43db476033b8e56facd240268975327 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 16:45:13 +0200 Subject: [PATCH 0759/1089] add easyconfig MDSplus-7.0.67-goolf-1.5.16-Java-1.7.0_79-Python-2.7.9.eb, add easyconfig libxml2-2.9.2-goolf-1.5.16.eb, add easyconfig HDF5-1.8.9-goolf-1.5.16.eb, add easyconfig Szip-2.1-goolf-1.5.16.eb --- .../h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb | 22 ++++++++++++++ .../l/libxml2/libxml2-2.9.2-goolf-1.5.16.eb | 29 ++++++++++++++++++ ...goolf-1.5.16-Java-1.7.0_79-Python-2.7.9.eb | 30 +++++++++++++++++++ .../s/Szip/Szip-2.1-goolf-1.5.16.eb | 23 ++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-goolf-1.5.16-Java-1.7.0_79-Python-2.7.9.eb create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-goolf-1.5.16.eb diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb new file mode 100644 index 0000000000..755c2cc7f9 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb @@ -0,0 +1,22 @@ +# Built with EasyBuild version 2.1.1 on 2015-08-05_14-22-07 +name = 'HDF5' +version = '1.8.9' + +homepage = 'http://www.hdfgroup.org/HDF5/' +description = """HDF5 is a unique technology suite that makes possible the management of + extremely large and complex data collections.""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'optarch': True, 'usempi': True, 'pic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +patches = ['configure_libtool.patch'] + +dependencies = [ + ('zlib', '1.2.8'), + ('Szip', '2.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.16.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.16.eb new file mode 100644 index 0000000000..54c5dad803 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.2-goolf-1.5.16.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.2' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and +toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-goolf-1.5.16-Java-1.7.0_79-Python-2.7.9.eb b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-goolf-1.5.16-Java-1.7.0_79-Python-2.7.9.eb new file mode 100644 index 0000000000..a5aa488ebe --- /dev/null +++ b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-goolf-1.5.16-Java-1.7.0_79-Python-2.7.9.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'MDSplus' +version = '7.0.67' +versionsuffix = '-Java-%(javaver)s-Python-%(pyver)s' + +homepage = 'http://mdsplus.org/' +description = """MDSplus is a set of software tools for data acquisition and storage and a methodology + for management of complex scientific data.""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} + +source_urls = ['https://github.com/%(name)s/%(namelower)s/archive'] +sources = ['stable_release-%s.zip' % version.replace('.','-')] + +dependencies = [ + ('Java', '1.7.0_79', '', True), + ('Python', '2.7.9'), + ('HDF5', '1.8.9'), + ('libxml2', '2.9.2'), + ('zlib', '1.2.8') +] + +configopts = '--with-jdk=$JAVA_HOME' + +preconfigopts = 'export CFLAGS="$CFLAGS -I$EBROOTLIBXML2/include/libxml2 " && ' + +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-goolf-1.5.16.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-goolf-1.5.16.eb new file mode 100644 index 0000000000..73e27f5f6c --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-goolf-1.5.16.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From ec8c9fd7d0dadd4dd1c5089f6135a0e87a76e244 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 8 Apr 2016 09:26:38 +0200 Subject: [PATCH 0760/1089] add easyconfig Python-2.7.9-goolf-1.5.16.eb, add easyconfig bzip2-1.0.6-goolf-1.5.16.eb, add easyconfig libreadline-6.3-goolf-1.5.16.eb, add easyconfig ncurses-5.9-goolf-1.5.16.eb, add easyconfig SQLite-3.8.8.1-goolf-1.5.16.eb, add easyconfig Tk-8.6.3-goolf-1.5.16-no-X11.eb, add easyconfig OpenSSL-1.0.1k-goolf-1.5.16.eb --- .../b/bzip2/bzip2-1.0.6-goolf-1.5.16.eb | 15 +++ .../libreadline-6.3-goolf-1.5.16.eb | 30 +++++ .../n/ncurses/ncurses-5.9-goolf-1.5.16.eb | 36 ++++++ .../o/OpenSSL/OpenSSL-1.0.1k-goolf-1.5.16.eb | 24 ++++ .../p/Python/Python-2.7.9-goolf-1.5.16.eb | 116 ++++++++++++++++++ .../s/SQLite/SQLite-3.8.8.1-goolf-1.5.16.eb | 38 ++++++ .../t/Tk/Tk-8.6.3-goolf-1.5.16-no-X11.eb | 25 ++++ 7 files changed, 284 insertions(+) create mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1k-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-goolf-1.5.16.eb create mode 100644 easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.16-no-X11.eb diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-goolf-1.5.16.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-goolf-1.5.16.eb new file mode 100644 index 0000000000..1f608a116f --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-goolf-1.5.16.eb @@ -0,0 +1,15 @@ +name = 'bzip2' +version = '1.0.6' + +homepage = 'http://www.bzip.org/' +description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically +compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical +compressors), whilst being around twice as fast at compression and six times faster at decompression.""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.bzip.org/%(version)s/'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb new file mode 100644 index 0000000000..9a2a57c200 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '5.9')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-goolf-1.5.16.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-goolf-1.5.16.eb new file mode 100644 index 0000000000..0d4841191f --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-goolf-1.5.16.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, +and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and +function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['ncurses-%(version)s_configure_darwin.patch'] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1k-goolf-1.5.16.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1k-goolf-1.5.16.eb new file mode 100644 index 0000000000..895b5bd87b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1k-goolf-1.5.16.eb @@ -0,0 +1,24 @@ +name = 'OpenSSL' +version = '1.0.1k' + +homepage = 'http://www.openssl.org/' +description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, + and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) + protocols as well as a full-strength general purpose cryptography library. """ + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.openssl.org/source/'] + +patches = [ + 'OpenSSL-1.0.1f_icc-fixes.patch', + 'OpenSSL-1.0.1i-fix_parallel_build-1.patch', +] + +dependencies = [('zlib', '1.2.8')] + +runtest = 'test' + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb new file mode 100644 index 0000000000..dee7cd4fdf --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb @@ -0,0 +1,116 @@ +name = 'Python' +version = '2.7.9' + +homepage = 'http://python.org/' +description = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." + +toolchain = {'name': 'goolf', 'version': '1.5.16'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.9.1' +scipyversion = '0.14.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '5.9'), + ('SQLite', '3.8.8.1'), + ('Tk', '8.6.3', '-no-X11'), + ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's + # nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +# package versions updated Jan 19th 2015 +exts_list = [ + ('setuptools', '11.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '6.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.2.1', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('pbr', '0.10.8', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], + }), + ('lockfile', '0.10.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.21.2', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.9.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.0', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '3.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.0.1', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.11', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.15.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.13', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), + ('mock', '1.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mock'], + }), + ('pytz', '2014.10', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pytz'], + }), + ('pandas', '0.16.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-goolf-1.5.16.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-goolf-1.5.16.eb new file mode 100644 index 0000000000..6946daaee7 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.8.8.1-goolf-1.5.16.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.8.8.1' + +homepage = 'http://www.sqlite.org/' +description = 'SQLite: SQL Database Engine in a C Library' + +toolchain = {'name': 'goolf', 'version': '1.5.16'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2015/'] +version_str = '%(version_major)s' + ''.join('%02d' % int(x) for x in version.split('.')[1:]) +sources = ['sqlite-autoconf-%s.tar.gz' % version_str] + +dependencies = [ + ('libreadline', '6.3'), + ('Tcl', '8.6.3'), +] + +sanity_check_paths = { + 'files': ['bin/sqlite3'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.16-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.16-no-X11.eb new file mode 100644 index 0000000000..b383831c92 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.3-goolf-1.5.16-no-X11.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.3' +versionsuffix = '-no-X11' + +homepage = 'http://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building + a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('Tcl', version), + ('zlib', '1.2.8'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' + +start_dir = 'unix' + +moduleclass = 'vis' -- GitLab From 2b8706a0b067912224fda3a480f910701fe0cbe4 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Fri, 25 Mar 2016 17:19:45 +0200 Subject: [PATCH 0761/1089] add easyconfig cairo-1.14.6-foss-2016a.eb, add easyconfig freetype-2.6.2-foss-2016a.eb, add easyconfig fontconfig-2.11.94-foss-2016a.eb, add easyconfig pixman-0.34.0-foss-2016a.eb --- .../c/cairo/cairo-1.14.6-foss-2016a.eb | 29 +++++++++++++++++++ .../f/freetype/freetype-2.6.2-foss-2016a.eb | 3 +- .../p/pixman/pixman-0.34.0-foss-2016a.eb | 20 +++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb new file mode 100644 index 0000000000..4afe79dcce --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = "cairo" +version = '1.14.6' + +homepage = 'http://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libpng', '1.6.21'), + ('freetype', '2.6.2'), + ('pixman', '0.34.0'), + ('fontconfig', '2.11.94'), + ('expat', '2.1.0'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no" + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb index 41c2f0204e..3111a314be 100644 --- a/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.2-foss-2016a.eb @@ -14,8 +14,7 @@ sources = [SOURCE_TAR_GZ] dependencies = [('libpng', '1.6.21')] sanity_check_paths = { - 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, - 'lib/pkgconfig/freetype2.pc'], + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], 'dirs': ['include/freetype2'], } diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb b/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb new file mode 100644 index 0000000000..896aab1550 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.34.0-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = "pixman" +version = '0.34.0' + +homepage = 'http://www.pixman.org/' +description = """Pixman is a low-level software library for pixel manipulation, providing features such as image +compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' -- GitLab From 821479d0f1049f642b3f2ff7cfb9a2fca8f9206b Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 8 Apr 2016 10:18:48 +0200 Subject: [PATCH 0762/1089] 2 --- .../d/DBus/DBus-1.10.8-intel-2016a.eb | 24 +++++++++++ .../dbus-glib/dbus-glib-0.106-intel-2016a.eb | 25 +++++++++++ .../g/GConf/GConf-3.2.6-intel-2016a.eb | 5 ++- .../GST-plugins-base-0.10.36-intel-2016a.eb | 37 +++++++++++++++++ .../GStreamer-0.10.36-intel-2016a.eb | 41 +++++++++++++++++++ ...intltool-0.51.0-intel-2016a-Perl-5.22.1.eb | 25 +++++++++++ ...Python-3.0.2.0-intel-2016-Python-2.7.11.eb | 6 +++ ...XML-Parser-2.44-intel-2016a-Perl-5.22.1.eb | 27 ++++++++++++ 8 files changed, 188 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/d/DBus/DBus-1.10.8-intel-2016a.eb create mode 100644 easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.106-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb create mode 100644 easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb create mode 100644 easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.44-intel-2016a-Perl-5.22.1.eb diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.10.8-intel-2016a.eb b/easybuild/easyconfigs/d/DBus/DBus-1.10.8-intel-2016a.eb new file mode 100644 index 0000000000..f322881382 --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.10.8-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'DBus' +version = '1.10.8' + +homepage = 'http://dbus.freedesktop.org/doc/dbus-glib' +description = """D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['bin/dbus-%s' % x for x in ['cleanup-sockets', 'daemon', 'launch', 'monitor', 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.106-intel-2016a.eb b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.106-intel-2016a.eb new file mode 100644 index 0000000000..321204b244 --- /dev/null +++ b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.106-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'dbus-glib' +version = '0.106' + +homepage = 'http://dbus.freedesktop.org/doc/dbus-glib' +description = """D-Bus is a message bus system, a simple way for applications to talk to one another.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://dbus.freedesktop.org/releases/dbus-glib'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('GLib', '2.47.5'), + ('DBus', '1.10.8'), + ('expat', '2.1.0'), +] + +sanity_check_paths = { + 'files': ['bin/dbus-binding-tool', 'lib/libdbus-glib-1.%s' % SHLIB_EXT, 'lib/libdbus-glib-1.a'], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb index 118e97695c..ec87efba55 100644 --- a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb @@ -8,7 +8,7 @@ description = """GConf is a system for storing application preferences. It is intended for user preferences; not configuration of something like Apache, or arbitrary data storage.""" -toolchain = {'name': 'intel', 'version': '2014b'} +toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/GConf/%(version_major_minor)s/'] sources = [SOURCE_TAR_XZ] @@ -17,8 +17,9 @@ dependencies = [ ('dbus-glib', '0.106'), ('GLib', '2.47.5'), ('GObject-Introspection', '1.47.1'), - ('libxml', '2.9.3'), + ('libxml2', '2.9.3'), ('GTK+', '2.24.28'), + ('intltool', '0.51.0', '-Perl-5.22.1'), ] configopts = '--disable-orbit ' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb new file mode 100644 index 0000000000..914e875639 --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'GST-plugins-base' +version = '0.10.36' + +homepage = 'http://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [('GStreamer', '0.10.36')] + +#Does not work with Bison 3 +builddependencies = [ +# ('Bison', '2.7', '', True), + ('Bison', '3.0.4'), + ('flex', '2.6.0'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-0.10' % x for x in ['discoverer', 'visualise']] + + ['lib/libgst%s-0.10.so' % x for x in ['app', 'audio', 'video']], + 'dirs': ['include', 'share'] +} + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb new file mode 100644 index 0000000000..6c81f735d4 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'GStreamer' +version = '0.10.36' + +homepage = 'http://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://gstreamer.freedesktop.org/src/gstreamer'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('GLib', '2.47.5'), + ('GObject-Introspection', '1.47.1'), + ('zlib', '1.2.8'), +] + +#Does not work with Bison 3 +builddependencies = [ +# ('Bison', '2.7', '', True), + ('Bison', '3.0.4'), + ('flex', '2.6.0'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-0.10' % x for x in ['inspect', 'typefind', 'launch']] + + ['lib/libgst%s-0.10.so' % x for x in ['reamer', 'base', 'controller', 'check']], + 'dirs': ['include', 'share', 'libexec'] +} + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb new file mode 100644 index 0000000000..4c3bc089de --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' +versionsuffix = '-Perl-5.22.1' + +homepage = 'http://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('XML-Parser', '2.44', versionsuffix), +] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb index 2bca75979e..439291d7b0 100644 --- a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb +++ b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb @@ -1,3 +1,6 @@ +easyblock = 'ConfigureMake' +#easyblock = 'PythonPackage' + name = 'wxPython' version = '3.0.2.0' versionsuffix = "-Python-%(pyver)s" @@ -31,6 +34,9 @@ dependencies = [ parallel = 1 +#options = {'modulename': 'wx'} +#skipsteps = ['install_step', 'make_installdir' ] + sanity_check_paths = { 'files': ['bin/wxrc'] + ['bin/py%s' % x for x in ['alacarte', 'alamode', 'crust', 'shell', 'wrap', 'wxrc']] + diff --git a/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.44-intel-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.44-intel-2016a-Perl-5.22.1.eb new file mode 100644 index 0000000000..5cb19baa1c --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.44-intel-2016a-Perl-5.22.1.eb @@ -0,0 +1,27 @@ +easyblock = 'PerlModule' + +name = 'XML-Parser' +version = '2.44' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://search.cpan.org/~toddr/XML-Parser-2.41/' +description = """This is a Perl extension interface to James Clark's XML parser, expat.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://cpan.metacpan.org/authors/id/T/TO/TODDR/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Perl', '5.22.1'), + ('expat', '2.1.0') +] + +options = {'modulename': 'XML::Parser'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/XML'], +} + +moduleclass = 'data' -- GitLab From 0263a7c1eae14b20cf0d549b928a77037cdc15ce Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 8 Apr 2016 10:39:37 +0200 Subject: [PATCH 0763/1089] Builddependencies fixed for GObject-introspection --- .../GObject-Introspection-1.42.0-intel-2014b.eb | 4 +++- .../GObject-Introspection-1.44.0-intel-2015a.eb | 3 +++ .../GObject-Introspection-1.47.1-intel-2015b.eb | 3 +++ .../GObject-Introspection-1.47.1-intel-2016a.eb | 8 +++++--- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.42.0-intel-2014b.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.42.0-intel-2014b.eb index 7ae4e4f769..1f246a9bfc 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.42.0-intel-2014b.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.42.0-intel-2014b.eb @@ -18,9 +18,11 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('Python', '2.7.8'), ('GLib', '2.40.0'), - ('Bison', '3.0.2'), ] +builddependencies = [ + ('Bison', '3.0.2'), +] sanity_check_paths = { 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + ['lib/libgirepository-1.0.%s' % x for x in ['so', 'a']], diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.44.0-intel-2015a.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.44.0-intel-2015a.eb index 0461a34f5f..835de46b5b 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.44.0-intel-2015a.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.44.0-intel-2015a.eb @@ -18,6 +18,9 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('Python', '2.7.10'), ('GLib', '2.44.1'), +] + +builddependencies = [ ('Bison', '3.0.4', '', ('GCC', '4.9.2')), ] diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb index 7bff362648..3e1f37f646 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb @@ -18,6 +18,9 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('Python', '2.7.10'), ('GLib', '2.47.1'), +] + +builddependencies = [ ('Bison', '3.0.4'), ] diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb index eaa343080d..360f641464 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb @@ -20,14 +20,16 @@ pyver = '2.7.11' dependencies = [ ('Python', pyver), ('GLib', '2.47.5'), + ('libffi', '3.2.1'), +] + +builddependencies = [ + ('Autotools', '20150215'), ('flex', '2.6.0'), ('Bison', '3.0.4'), ('cairo', '1.14.6'), - ('libffi', '3.2.1'), ] -builddependencies = [('Autotools', '20150215')] - preconfigopts = "GI_SCANNER_DISABLE_CACHE=true " # avoid using hard-coded path to 'python' in shebang of scripts -- GitLab From 7b8ff1272ac3332e3a75cb50cf751cb568ae4ea2 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 8 Apr 2016 10:44:38 +0200 Subject: [PATCH 0764/1089] fixed gobject-intro builddep --- .../GObject-Introspection-1.47.1-foss-2016a.eb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb index 3c83530c29..2ea4584a28 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb @@ -20,14 +20,16 @@ pyver = '2.7.11' dependencies = [ ('Python', pyver), ('GLib', '2.47.5'), + ('libffi', '3.2.1'), +] + +builddependencies = [ + ('Autotools', '20150215'), ('flex', '2.6.0'), ('Bison', '3.0.4'), ('cairo', '1.14.6'), - ('libffi', '3.2.1'), ] -builddependencies = [('Autotools', '20150215')] - preconfigopts = "GI_SCANNER_DISABLE_CACHE=true " # avoid using hard-coded path to 'python' in shebang of scripts -- GitLab From ab78bd9b77913e4fc297e3a80c01225d559b051b Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 10:02:48 +0200 Subject: [PATCH 0765/1089] modify easyconfig cairo-1.14.6-foss-2016a.eb, add easyconfig GLib-2.47.5-foss-2016a.eb, modify easyconfig freetype-2.6.2-foss-2016a.eb, modify easyconfig pixman-0.34.0-foss-2016a.eb, modify easyconfig fontconfig-2.11.94-foss-2016a.eb, add easyconfig libX11-1.6.3-foss-2016a.eb, add easyconfig libxcb-1.11.1-foss-2016a.eb, add easyconfig libXrender-0.9.9-foss-2016a.eb, add easyconfig libXext-1.3.3-foss-2016a.eb, add easyconfig renderproto-0.11-foss-2016a.eb, add easyconfig xextproto-7.3.0-foss-2016a.eb, add easyconfig xproto-7.0.28-foss-2016a.eb, add easyconfig libffi-3.2.1-foss-2016a.eb, add easyconfig gettext-0.19.7-foss-2016a.eb, add easyconfig libxml2-2.9.3-foss-2016a-Python-2.7.11.eb, add easyconfig PCRE-8.38-foss-2016a.eb, add easyconfig inputproto-2.3.1-foss-2016a.eb, add easyconfig libpthread-stubs-0.3-foss-2016a.eb, add easyconfig kbproto-1.0.7-foss-2016a.eb, add easyconfig xtrans-1.3.5-foss-2016a.eb, add easyconfig xorg-macros-1.19.0-foss-2016a.eb --- .../c/cairo/cairo-1.14.6-foss-2016a.eb | 30 +++++++++++++++-- .../g/GLib/GLib-2.47.5-foss-2016a.eb | 33 +++++++++++++++++++ .../g/gettext/gettext-0.19.7-foss-2016a.eb | 23 +++++++++++++ .../l/libXext/libXext-1.3.3-foss-2016a.eb | 1 + .../libXrender/libXrender-0.9.9-foss-2016a.eb | 4 +++ .../l/libffi/libffi-3.2.1-foss-2016a.eb | 23 +++++++++++++ .../libxml2-2.9.3-foss-2016a-Python-2.7.11.eb | 30 +++++++++++++++++ .../xorg-macros-1.19.0-foss-2016a.eb | 22 +++++++++++++ 8 files changed, 164 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb index 4afe79dcce..ab395e2001 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = "cairo" +name = 'cairo' version = '1.14.6' homepage = 'http://cairographics.org' @@ -13,6 +13,8 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['http://cairographics.org/releases/'] sources = [SOURCE_TAR_XZ] +glibver = '2.47.5' + dependencies = [ ('bzip2', '1.0.6'), ('zlib', '1.2.8'), @@ -21,9 +23,33 @@ dependencies = [ ('pixman', '0.34.0'), ('fontconfig', '2.11.94'), ('expat', '2.1.0'), + ('GLib', glibver), + ('libX11', '1.6.3'), + ('libxcb', '1.11.1'), + ('libXrender', '0.9.9'), + ('libXext', '1.3.3'), +] + +builddependencies = [ + ('renderproto', '0.11'), + ('libXext', '1.3.3'), + ('xextproto', '7.3.0'), + ('libX11', '1.6.3'), + ('xproto', '7.0.28'), + ('libxcb', '1.11.1') ] # disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC -configopts = "--enable-symbol-lookup=no" +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes " + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb new file mode 100644 index 0000000000..fb0fcbff8c --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.47.5-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.47.5' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.7'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), +] + +builddependencies = [('Python', '2.7.11')] + +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" + +postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb new file mode 100644 index 0000000000..168b2490e6 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.7' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [ + ('libxml2', '2.9.3'), + ('ncurses', '6.0'), +] + +configopts = '--without-emacs' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb index ce3e6d964e..0a0acbe42b 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-foss-2016a.eb @@ -15,6 +15,7 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), ('xextproto', '7.3.0'), + ('libpthread-stubs', '0.3'), ] dependencies = [ diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb index eee347a314..12b8caece2 100644 --- a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb @@ -14,6 +14,10 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('kbproto', '1.0.7'), ('renderproto', '0.11'), + ('libX11', '1.6.3'), + ('libpthread-stubs', '0.3'), + ('xorg-macros', '1.19.0'), + ('xproto', '7.0.28') ] dependencies = [ diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb new file mode 100644 index 0000000000..c7c638b6fa --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.2.1' + +homepage = 'http://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to various calling +conventions. This allows a programmer to call any function specified by a call interface description at run-time.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + 'ftp://sourceware.org/pub/libffi/', + 'http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/', +] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': [('lib/libffi.%s' % SHLIB_EXT, 'lib64/libffi.%s' % SHLIB_EXT), ('lib/libffi.a', 'lib64/libffi.a')], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..0237c8f83b --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable + outside of the Gnome platform).""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' + +pythonver = '2.7.11' +pythonshortver = '.'.join(pythonver.split('.')[:2]) +versionsuffix = '-%s-%s' % ('Python', pythonver) + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pythonver), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb new file mode 100644 index 0000000000..3965c12078 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.0-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.0' + +homepage = 'http://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://cgit.freedesktop.org/xorg/util/macros/snapshot'] # no slash ('/') at the end! +sources = ['util-macros-%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 23d49b344a3159cf6e1b84a0e873754b08789e41 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 7 Apr 2016 10:21:22 +0200 Subject: [PATCH 0766/1089] modify easyconfig cairo-1.14.6-foss-2016a.eb, add easyconfig libXau-1.0.8-foss-2016a.eb, add easyconfig libXdmcp-1.1.2-foss-2016a.eb --- easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb index ab395e2001..5cf49b60d8 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-foss-2016a.eb @@ -25,9 +25,11 @@ dependencies = [ ('expat', '2.1.0'), ('GLib', glibver), ('libX11', '1.6.3'), + ('libXau', '1.0.8'), ('libxcb', '1.11.1'), - ('libXrender', '0.9.9'), + ('libXdmcp', '1.1.2'), ('libXext', '1.3.3'), + ('libXrender', '0.9.9'), ] builddependencies = [ -- GitLab From 3dcbdd98222ef584623e17fe698cf4f602897cdc Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Fri, 8 Apr 2016 12:02:01 +0100 Subject: [PATCH 0767/1089] Update IGVTools to 2.3.72 --- .../IGVTools/IGVTools-2.3.72-Java-1.7.0_80.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/i/IGVTools/IGVTools-2.3.72-Java-1.7.0_80.eb diff --git a/easybuild/easyconfigs/i/IGVTools/IGVTools-2.3.72-Java-1.7.0_80.eb b/easybuild/easyconfigs/i/IGVTools/IGVTools-2.3.72-Java-1.7.0_80.eb new file mode 100644 index 0000000000..af0616b491 --- /dev/null +++ b/easybuild/easyconfigs/i/IGVTools/IGVTools-2.3.72-Java-1.7.0_80.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by Adam Huffman +# The Francis Crick Institute + +easyblock = 'Tarball' + +name = 'IGVTools' +version = '2.3.72' + +homepage = 'http://www.broadinstitute.org/software/igv/' +description = """ This package contains command line utilities for preprocessing, + computing feature count density (coverage), sorting, and indexing data files. + See also http://www.broadinstitute.org/software/igv/igvtools_commandline. """ + +toolchain = {'name': 'dummy', 'version': ''} + +source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/'] +sources = ['%(namelower)s_%(version)s.zip'] + +java = 'Java' +javaver = '1.7.0_80' +versionsuffix = '-%s-%s' % (java, javaver) +dependencies = [(java, javaver)] + +# add the installation dir to PATH +modextrapaths = { + 'PATH': '', +} + +sanity_check_paths = { + 'files': ["igvtools.jar", "igvtools"], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From 4dab0a4ea3bcc8e35b8f22daab6ba0ebe764a781 Mon Sep 17 00:00:00 2001 From: Balazs Hajgato Date: Fri, 8 Apr 2016 14:42:42 +0200 Subject: [PATCH 0768/1089] {vis}[intel-2016a] wxPython 3.0.2.0 (REVIEW) --- .../GST-plugins-base-0.10.36-intel-2016a.eb | 4 +-- .../GStreamer-0.10.36-intel-2016a.eb | 4 +-- .../libXxf86vm-1.1.4-intel-2016a.eb | 30 +++++++++++++++++++ ...Python-3.0.2.0-intel-2016-Python-2.7.11.eb | 12 ++++---- .../w/wxPython/wxPython_3.0.2.0_intel.patch | 12 ++++++++ .../xf86vidmodeproto-2.3.1-intel-2016a.eb | 19 ++++++++++++ 6 files changed, 69 insertions(+), 12 deletions(-) create mode 100644 easybuild/easyconfigs/l/libXxf86vm/libXxf86vm-1.1.4-intel-2016a.eb create mode 100644 easybuild/easyconfigs/w/wxPython/wxPython_3.0.2.0_intel.patch create mode 100644 easybuild/easyconfigs/x/xf86vidmodeproto/xf86vidmodeproto-2.3.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb index 914e875639..af962689d7 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb @@ -18,9 +18,7 @@ dependencies = [('GStreamer', '0.10.36')] #Does not work with Bison 3 builddependencies = [ -# ('Bison', '2.7', '', True), - ('Bison', '3.0.4'), - ('flex', '2.6.0'), + ('Bison', '2.7', '', True), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb index 6c81f735d4..178e012daf 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb @@ -22,9 +22,7 @@ dependencies = [ #Does not work with Bison 3 builddependencies = [ -# ('Bison', '2.7', '', True), - ('Bison', '3.0.4'), - ('flex', '2.6.0'), + ('Bison', '2.7', '', True), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libXxf86vm/libXxf86vm-1.1.4-intel-2016a.eb b/easybuild/easyconfigs/l/libXxf86vm/libXxf86vm-1.1.4-intel-2016a.eb new file mode 100644 index 0000000000..873ae3da80 --- /dev/null +++ b/easybuild/easyconfigs/l/libXxf86vm/libXxf86vm-1.1.4-intel-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libXxf86vm' +version = '1.1.4' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 XFree86 video mode extension library""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] + +builddependencies = [ + ('xf86vidmodeproto', '2.3.1'), + ('xorg-macros', '1.19.0'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/extensions/xf86vmode.h']+ + ['lib/libXxf86vm.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb index 439291d7b0..4d7ba463bd 100644 --- a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb +++ b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb @@ -1,6 +1,3 @@ -easyblock = 'ConfigureMake' -#easyblock = 'PythonPackage' - name = 'wxPython' version = '3.0.2.0' versionsuffix = "-Python-%(pyver)s" @@ -30,12 +27,15 @@ dependencies = [ ('GTK+', '2.24.28'), ('GConf', '3.2.6'), ('GST-plugins-base', '0.10.36'), + ('Mesa', '11.1.2'), + ('libGLU', '9.0.0'), + ('libSM', '1.2.2'), + ('libXxf86vm', '1.1.4'), ] -parallel = 1 +options = {'modulename': 'wx'} -#options = {'modulename': 'wx'} -#skipsteps = ['install_step', 'make_installdir' ] +parallel = 1 sanity_check_paths = { 'files': ['bin/wxrc'] + diff --git a/easybuild/easyconfigs/w/wxPython/wxPython_3.0.2.0_intel.patch b/easybuild/easyconfigs/w/wxPython/wxPython_3.0.2.0_intel.patch new file mode 100644 index 0000000000..ac58f0c1ac --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython_3.0.2.0_intel.patch @@ -0,0 +1,12 @@ +# Intel compiler have problems with precompiled headers (cannot mix C and C++ precompiled headers, like in GNU compilers) +# B. Hajgato (VUB) April 8th 2016 +--- wxPython-src-3.0.2.0/build/tools/build-wxwidgets.py.org 2014-11-27 21:49:59.000000000 +0100 ++++ wxPython-src-3.0.2.0/build/tools/build-wxwidgets.py 2016-04-08 13:03:01.362591062 +0200 +@@ -268,6 +268,7 @@ + configure_opts.append("--with-gtk=3") + + wxpy_configure_opts = [ ++ "--disable-precomp-headers", + "--with-opengl", + "--enable-sound", + "--enable-graphics_ctx", diff --git a/easybuild/easyconfigs/x/xf86vidmodeproto/xf86vidmodeproto-2.3.1-intel-2016a.eb b/easybuild/easyconfigs/x/xf86vidmodeproto/xf86vidmodeproto-2.3.1-intel-2016a.eb new file mode 100644 index 0000000000..3665e42444 --- /dev/null +++ b/easybuild/easyconfigs/x/xf86vidmodeproto/xf86vidmodeproto-2.3.1-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'xf86vidmodeproto' +version = '2.3.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X11 XFree86 video mode extension protocol headers.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] + +sanity_check_paths = { + 'files': ['include/X11/extensions/xf86vm%s.h' % x for x in ['', 'proto', 'str']], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 556b6294cd2ae5229d67cc4986caa48b4a0bcb33 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Fri, 8 Apr 2016 15:52:14 -0400 Subject: [PATCH 0769/1089] add ScientificPython 2.9.4 and numpy 1.10.4 for foss 2016a toolchain --- .../numpy-1.10.4-foss-2016a-Python-2.7.11.eb | 26 ++++++++++++++ ...icPython-2.9.4-foss-2016a-Python-2.7.11.eb | 35 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 easybuild/easyconfigs/n/numpy/numpy-1.10.4-foss-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..f2c859648a --- /dev/null +++ b/easybuild/easyconfigs/n/numpy/numpy-1.10.4-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,26 @@ +name = 'numpy' +version = '1.10.4' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%(version)s-sse42.patch', +] + +dependencies = [ + ('Python', '2.7.11'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..a597bd3eff --- /dev/null +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'ScientificPython' +version = '2.9.4' + +homepage = 'https://sourcesup.cru.fr/projects/scientific-py/' +description = """ScientificPython is a collection of Python modules for scientific computing. + It contains support for geometry, mathematical functions, statistics, physical units, IO, visualization, + and parallelization.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/4570'] +sources = [SOURCE_TAR_GZ] + +pyver = '2.7.11' +pyshortver = '.'.join(pyver.split('.')[:2]) + +versionsuffix = '-Python-%s' % pyver + +dependencies = [ + ('Python', pyver), + # older version of numpy than the one included in Python module required + # cfr. https://bitbucket.org/khinsen/scientificpython/issue/13/numpy-19-has-dropped-support-for + ('numpy', '1.10.4', versionsuffix), +] + +options = {'modulename': 'Scientific'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages/Scientific' % pyshortver], +} + +moduleclass = 'math' -- GitLab From 2f44609dc27711bf4292e2b9101d2cbac77061f1 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Fri, 8 Apr 2016 16:38:14 -0400 Subject: [PATCH 0770/1089] Update source_urls parameter in ScientificPython easyconfig files --- .../ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb | 2 +- .../ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb | 2 +- .../ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb | 2 +- .../ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb | 2 +- .../ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb | 2 +- .../ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb | 2 +- .../ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb | 2 +- .../ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb | 2 +- .../ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb index b783e38692..c1aca8b5ad 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'gmpolf', 'version': '1.4.8'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/2309'] sources = [SOURCE_TAR_GZ] python = "Python" diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb index f3c253971b..65204949fb 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/2309'] sources = [SOURCE_TAR_GZ] python = "Python" diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb index ed6a708c5f..25d50d354e 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb @@ -10,7 +10,7 @@ and parallelization.""" toolchain = {'name': 'goolf', 'version': '1.4.10'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/2309'] sources = [SOURCE_TAR_GZ] python = "Python" diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb index 20336396df..9274b5b9ad 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'ictce', 'version': '4.0.6'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/2309'] sources = [SOURCE_TAR_GZ] python = "Python" diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb index fcc68a81ed..5aa3dd118d 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'ictce', 'version': '5.2.0'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/2309'] sources = [SOURCE_TAR_GZ] python = "Python" diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb index 997b8a1673..89a12d0943 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'ictce', 'version': '5.3.0'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/2309'] sources = [SOURCE_TAR_GZ] python = "Python" diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb index 2446abe86f..b745e7f0a4 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'intel', 'version': '2014b'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/4411'] sources = [SOURCE_TAR_GZ] python = "Python" diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb index 0170615e9c..876a244102 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'intel', 'version': '2015a'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/4570'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/4570'] sources = [SOURCE_TAR_GZ] python = 'Python' diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb index 47671f1164..857fd95a08 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb @@ -10,7 +10,7 @@ description = """ScientificPython is a collection of Python modules for scientif toolchain = {'name': 'intel', 'version': '2015b'} -source_urls = ['https://sourcesup.renater.fr/frs/download.php/4570'] +source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/4570'] sources = [SOURCE_TAR_GZ] pyver = '2.7.11' -- GitLab From c74b00de25ab3199f39cde3c889c01383f1ef871 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 11:21:50 +0200 Subject: [PATCH 0771/1089] use XORG_LIB_SOURCE everywhere --- easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb | 2 +- easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb index fa49f6c97c..78420c88a5 100644 --- a/easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libICE/libICE-1.0.9-foss-2016a.eb @@ -9,7 +9,7 @@ description = """X Inter-Client Exchange library for freedesktop.org""" toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('xtrans', '1.3.5'), diff --git a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb index fe3df1bbcf..289966eec9 100644 --- a/easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libSM/libSM-1.2.2-foss-2016a.eb @@ -10,7 +10,7 @@ description = """X11 Session Management library, which allows for applications t toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/lib/'] +source_urls = [XORG_LIB_SOURCE] dependencies = [ ('libICE', '1.0.9'), -- GitLab From 1a9927879a743d52c447108463b62b095a6d15ea Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 12:19:03 +0200 Subject: [PATCH 0772/1089] add checksums in SuiteSparse easyconfigs --- .../ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb | 2 ++ .../ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb | 2 ++ .../ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb | 2 ++ .../ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb | 2 ++ .../ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb | 2 ++ .../ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb | 2 ++ .../ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb | 2 ++ .../ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb | 2 ++ .../ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb | 2 ++ 9 files changed, 18 insertions(+) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb index b783e38692..ce094bf25b 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-gmpolf-1.4.8-Python-2.7.3.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'gmpolf', 'version': '1.4.8'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] sources = [SOURCE_TAR_GZ] +checksums = ['82d8592635d6ae8608b3073dacf9e694'] + python = "Python" pythonversion = '2.7.3' pythonshortversion = ".".join(pythonversion.split(".")[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb index f3c253971b..a89c80a516 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goalf-1.1.0-no-OFED-Python-2.7.3.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] sources = [SOURCE_TAR_GZ] +checksums = ['82d8592635d6ae8608b3073dacf9e694'] + python = "Python" pythonversion = '2.7.3' pythonshortversion = ".".join(pythonversion.split(".")[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb index ed6a708c5f..51bacf787c 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-goolf-1.4.10-Python-2.7.3.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] sources = [SOURCE_TAR_GZ] +checksums = ['82d8592635d6ae8608b3073dacf9e694'] + python = "Python" pythonversion = '2.7.3' pythonshortversion = ".".join(pythonversion.split(".")[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb index 20336396df..a889a4de4d 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-4.0.6-Python-2.7.3.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'ictce', 'version': '4.0.6'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] sources = [SOURCE_TAR_GZ] +checksums = ['82d8592635d6ae8608b3073dacf9e694'] + python = "Python" pythonversion = '2.7.3' pythonshortversion = ".".join(pythonversion.split(".")[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb index fcc68a81ed..2c70b32004 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.2.0-Python-2.7.3.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'ictce', 'version': '5.2.0'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] sources = [SOURCE_TAR_GZ] +checksums = ['82d8592635d6ae8608b3073dacf9e694'] + python = "Python" pythonversion = '2.7.3' pythonshortversion = ".".join(pythonversion.split(".")[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb index 997b8a1673..e0938abda4 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8-ictce-5.3.0-Python-2.7.3.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] sources = [SOURCE_TAR_GZ] +checksums = ['82d8592635d6ae8608b3073dacf9e694'] + python = "Python" pythonversion = '2.7.3' pythonshortversion = ".".join(pythonversion.split(".")[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb index 2446abe86f..feb8f56c9d 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.8.1-intel-2014b-Python-2.7.8.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'intel', 'version': '2014b'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/2309'] sources = [SOURCE_TAR_GZ] +checksums = ['73ee0df19c7b58cdf2954261f0763c77'] + python = "Python" pythonversion = '2.7.8' pythonshortversion = ".".join(pythonversion.split(".")[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb index 0170615e9c..01aca5b107 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015a-Python-2.7.9.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'intel', 'version': '2015a'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/4570'] sources = [SOURCE_TAR_GZ] +checksums = ['dc2987089e106cb807b4ccecf7adc071'] + python = 'Python' pythonversion = '2.7.9' pythonshortversion = '.'.join(pythonversion.split('.')[:-1]) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb index 47671f1164..20da6ee305 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-intel-2015b-Python-2.7.11.eb @@ -13,6 +13,8 @@ toolchain = {'name': 'intel', 'version': '2015b'} source_urls = ['https://sourcesup.renater.fr/frs/download.php/4570'] sources = [SOURCE_TAR_GZ] +checksums = ['dc2987089e106cb807b4ccecf7adc071'] + pyver = '2.7.11' pyshortver = '.'.join(pyver.split('.')[:2]) -- GitLab From ff6955fedb6d0c154f4ab0b3d8f057f986c215d7 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 9 Apr 2016 12:10:39 +0100 Subject: [PATCH 0773/1089] Initial version of bam-readcount --- ...readcount-0.7.4-cmake_install_prefix.patch | 12 +++++++ .../bam-readcount-0.7.4-foss-2015b.eb | 35 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch create mode 100644 easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb diff --git a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch new file mode 100644 index 0000000000..2916d1f5e7 --- /dev/null +++ b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch @@ -0,0 +1,12 @@ +diff -u bam-readcount-0.7.4/CMakeLists.txt bam-readcount-0.7.4.new/CMakeLists.txt +--- bam-readcount-0.7.4/CMakeLists.txt 2014-12-07 19:45:03.000000000 +0000 ++++ bam-readcount-0.7.4.new/CMakeLists.txt 2016-04-06 22:06:12.336807391 +0100 +@@ -2,7 +2,7 @@ + + project(bam-readcount) + +-set(CMAKE_INSTALL_PREFIX "/usr") ++#set(CMAKE_INSTALL_PREFIX "/usr") + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake;${CMAKE_SOURCE_DIR}/build-common/cmake") + include(TestHelper) + include(VersionHelper) diff --git a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb new file mode 100644 index 0000000000..b19ba9482c --- /dev/null +++ b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Adam Huffman +# The Francis Crick Institute +easyblock = 'CMakeMake' + +name = 'bam-readcount' +version = '0.7.4' + +homepage = 'https://github.com/genome/bam-readcount' +description = """Count DNA sequence reads in BAM files""" + +toolchain = {'name': 'foss', 'version': '2015b'} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/genome/%(name)s/archive'] + +patches = ['%(name)s-%(version)s-cmake_install_prefix.patch'] + +builddependencies = [ + ('SAMtools', '1.3'), + ('CMake', '3.4.1'), +] + +configopts = " -DCMAKE_INSTALL_PREFIX=%(installdir)s " + +prebuildopts = "export SAMTOOLS_ROOT=${EBROOTSAMTOOLS}/include/bam && make deps &&" + +separate_build_dir = True + +sanity_check_paths = { + 'files': ["bin/bam-readcount"], + 'dirs': [] +} + +moduleclass = 'bio' -- GitLab From 09e71b456c69f7db1a62915a145b1dab23b5e952 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 15:21:46 +0200 Subject: [PATCH 0774/1089] use XORG_PROTO_SOURCE + 'env' in preconfigopts --- .../easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb | 2 +- easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb | 2 +- .../l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb | 2 +- easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb index 0d7fd4a4a2..1fbffb2758 100644 --- a/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb +++ b/easybuild/easyconfigs/f/fontsproto/fontsproto-2.1.3-foss-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb index d26077ac1e..850097aee1 100644 --- a/easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb +++ b/easybuild/easyconfigs/g/glproto/glproto-1.4.17-foss-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/GL/%s.h' % x for x in ['glxint', 'glxmd', 'glxproto', 'glxtokens', 'internal/glcore']], diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb index 75924f159f..c39482e40c 100644 --- a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.13.4-foss-2016a.eb @@ -16,7 +16,7 @@ builddependencies = [ ('xorg-macros', '1.19.0'), ] -preconfigopts = "ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " +preconfigopts = "env ACLOCAL='aclocal -I $EBROOTXORGMINMACROS/share/aclocal' ./autogen.sh && " sanity_check_paths = { 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb index c9dd66c1c1..fb2151e5df 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.1.2-foss-2016a.eb @@ -53,7 +53,7 @@ configopts += " --with-osmesa-bits=32 --enable-texture-float " #preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' preconfigopts = ' libtoolize && ' -prebuildopts = 'CPATH="$EBROOTLIBDRM/include/libdrm" ' +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' sanity_check_paths = { 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, -- GitLab From 68db97d838656d94d12133f292533dc2670c42f0 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 9 Apr 2016 14:51:56 +0100 Subject: [PATCH 0775/1089] Remove obsolete configopts and add explanation/authorship to patch --- .../bam-readcount-0.7.4-cmake_install_prefix.patch | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch index 2916d1f5e7..aecba22db8 100644 --- a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch +++ b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-cmake_install_prefix.patch @@ -1,3 +1,7 @@ +# patch to remove hard-coded installation prefix +# Adam Huffman +# The Francis Crick Institute + diff -u bam-readcount-0.7.4/CMakeLists.txt bam-readcount-0.7.4.new/CMakeLists.txt --- bam-readcount-0.7.4/CMakeLists.txt 2014-12-07 19:45:03.000000000 +0000 +++ bam-readcount-0.7.4.new/CMakeLists.txt 2016-04-06 22:06:12.336807391 +0100 -- GitLab From 86e08e86be0bf0b7717a15b4bd15b9ace3b60c60 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 16:37:07 +0200 Subject: [PATCH 0776/1089] sync preconfigopts/buildopts in GObject-Introspection 1.47.1 easyconfigs --- .../GObject-Introspection-1.47.1-intel-2015b.eb | 5 +++++ .../GObject-Introspection-1.47.1-intel-2016a.eb | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb index 3e1f37f646..42f9c4f97f 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb @@ -24,6 +24,11 @@ builddependencies = [ ('Bison', '3.0.4'), ] +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +# avoid using hard-coded path to 'python' in shebang of scripts +buildopts = "PYTHON=python" + sanity_check_paths = { 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + ['lib/libgirepository-1.0.%s' % x for x in ['so', 'a']], diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb index 360f641464..7606731e75 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2016a.eb @@ -30,7 +30,7 @@ builddependencies = [ ('cairo', '1.14.6'), ] -preconfigopts = "GI_SCANNER_DISABLE_CACHE=true " +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " # avoid using hard-coded path to 'python' in shebang of scripts buildopts = "PYTHON=python" -- GitLab From ebb1e4c1d3f91f420161ddacb12c4270b9380e84 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 16:39:35 +0200 Subject: [PATCH 0777/1089] sync (build) deps in GObject-Introspection 1.47.1 easyconfigs --- .../GObject-Introspection-1.47.1-intel-2015b.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb index 42f9c4f97f..b1d634cd35 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-intel-2015b.eb @@ -18,10 +18,14 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('Python', '2.7.10'), ('GLib', '2.47.1'), + ('libffi', '3.2.1'), ] builddependencies = [ + ('Autotools', '20150215'), + ('flex', '2.6.0'), ('Bison', '3.0.4'), + ('cairo', '1.14.4'), ] preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " -- GitLab From d0eedfe69ed10024cd995cb170fddb0d1467732d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 17:27:10 +0200 Subject: [PATCH 0778/1089] various small style fixes --- .../GObject-Introspection-1.47.1-foss-2016a.eb | 6 ++---- easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015a.eb | 1 + .../l/libXi/libXi-1.7.4-intel-2015b-Python-2.7.11.eb | 1 + easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b.eb | 1 + easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb | 1 + easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb | 1 + .../m/makedepend/makedepend-1.0.4-goalf-1.1.0-no-OFED.eb | 2 +- .../m/makedepend/makedepend-1.0.4-goolf-1.4.10.eb | 2 +- .../m/makedepend/makedepend-1.0.4-ictce-3.2.2.u3.eb | 2 +- .../m/makedepend/makedepend-1.0.4-ictce-4.0.6.eb | 2 +- .../m/makedepend/makedepend-1.0.4-ictce-4.1.13.eb | 2 +- .../m/makedepend/makedepend-1.0.4-ictce-5.3.0.eb | 2 +- .../m/makedepend/makedepend-1.0.4-ictce-5.5.0.eb | 2 +- .../m/makedepend/makedepend-1.0.4-iqacml-3.7.3.eb | 2 +- .../easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb | 2 +- .../m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb | 2 +- .../m/makedepend/makedepend-1.0.5-intel-2015a.eb | 2 +- .../m/makedepend/makedepend-1.0.5-intel-2015b.eb | 2 +- .../m/makedepend/makedepend-1.0.5-intel-2016a.eb | 2 +- 19 files changed, 20 insertions(+), 17 deletions(-) diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb index 2ea4584a28..ef2d0a1446 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.47.1-foss-2016a.eb @@ -15,10 +15,8 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = [FTPGNOME_SOURCE] sources = [SOURCELOWER_TAR_XZ] -pyver = '2.7.11' - dependencies = [ - ('Python', pyver), + ('Python', '2.7.11'), ('GLib', '2.47.5'), ('libffi', '3.2.1'), ] @@ -30,7 +28,7 @@ builddependencies = [ ('cairo', '1.14.6'), ] -preconfigopts = "GI_SCANNER_DISABLE_CACHE=true " +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " # avoid using hard-coded path to 'python' in shebang of scripts buildopts = "PYTHON=python" diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015a.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015a.eb index 6943d3e084..68589245d1 100644 --- a/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015a.eb +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015a.eb @@ -1,4 +1,5 @@ easyblock = 'ConfigureMake' + name = 'libXi' version = '1.7.4' diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b-Python-2.7.11.eb index eaa232fe89..cd973d2ea0 100644 --- a/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b-Python-2.7.11.eb @@ -1,4 +1,5 @@ easyblock = 'ConfigureMake' + name = 'libXi' version = '1.7.4' versionsuffix = '-Python-2.7.11' diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b.eb index 0ed8e42a20..60cd626d31 100644 --- a/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b.eb +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.4-intel-2015b.eb @@ -1,4 +1,5 @@ easyblock = 'ConfigureMake' + name = 'libXi' version = '1.7.4' diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb index bd92d68db6..c94df236e0 100644 --- a/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-foss-2016a.eb @@ -1,4 +1,5 @@ easyblock = 'ConfigureMake' + name = 'libXi' version = '1.7.6' diff --git a/easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb index 265985f5e5..5e9d4cb87a 100644 --- a/easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXi/libXi-1.7.6-intel-2016a.eb @@ -1,4 +1,5 @@ easyblock = 'ConfigureMake' + name = 'libXi' version = '1.7.6' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goalf-1.1.0-no-OFED.eb index 3b30e0e1d5..6fb02db3e5 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goalf-1.1.0-no-OFED.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'goalf', 'version': '1.1.0-no-OFED'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goolf-1.4.10.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goolf-1.4.10.eb index 393090c994..00c6dd2232 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-goolf-1.4.10.eb @@ -9,7 +9,7 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-3.2.2.u3.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-3.2.2.u3.eb index f5f634beae..82ed5ca658 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-3.2.2.u3.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-3.2.2.u3.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '3.2.2.u3'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] patches = ['makedepend_icc-sigaction.patch'] diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.0.6.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.0.6.eb index 25ba8c0849..c4b315a1b7 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.0.6.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.0.6.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '4.0.6'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.1.13.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.1.13.eb index 858f7c2608..255cd2ad52 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-4.1.13.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '4.1.13'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.3.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.3.0.eb index 808282ac91..49f692fd43 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.3.0.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.3.0.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'ictce', 'version': '5.3.0'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.5.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.5.0.eb index 873b6391a2..ece06f94eb 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.5.0.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-ictce-5.5.0.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'ictce', 'version': '5.5.0'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-iqacml-3.7.3.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-iqacml-3.7.3.eb index 07b6b524bf..50e1707937 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-iqacml-3.7.3.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.4-iqacml-3.7.3.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'iqacml', 'version': '3.7.3'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] patches = ['makedepend_icc-sigaction.patch'] diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb index 8bd95eee91..863911703e 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb index c92d8634e2..38d76d37d2 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'gimkl', 'version': '2.11.5'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb index 0b36b37c50..282179280a 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb index 77541afc67..ca6025105b 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2015b'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb index 1158bd68be..e38d07d26e 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] sanity_check_paths = { 'files': ['bin/makedepend'], -- GitLab From 25115093469d2add35217998147dd08a68ce16aa Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 18:34:13 +0200 Subject: [PATCH 0779/1089] use XORG_PROTO_SOURCE --- .../x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb index a40280e419..fdbb9a1f7d 100644 --- a/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb +++ b/easybuild/easyconfigs/x/xineramaproto/xineramaproto-1.2.1-foss-2016a.eb @@ -9,7 +9,7 @@ description = "X protocol and ancillary headers for xinerama" toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/archive/individual/proto/'] +source_urls = [XORG_PROTO_SOURCE] sanity_check_paths = { 'files': ['include/X11/extensions/panoramiXproto.h'], -- GitLab From 6e3de4adfa74be7ef5b164931fa37c5dba22be68 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 20:23:28 +0200 Subject: [PATCH 0780/1089] clean up wxPython easyconfig according to enhancements to wxPython easyblock --- .../wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb index 4d7ba463bd..803388b88a 100644 --- a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb +++ b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb @@ -33,19 +33,4 @@ dependencies = [ ('libXxf86vm', '1.1.4'), ] -options = {'modulename': 'wx'} - -parallel = 1 - -sanity_check_paths = { - 'files': ['bin/wxrc'] + - ['bin/py%s' % x for x in ['alacarte', 'alamode', 'crust', 'shell', 'wrap', 'wxrc']] + - ['lib/lib%s-3.0.so' % x for x in ['wx_baseu', 'wx_gtk2u_core']], - 'dirs': ['include', 'share', 'lib/python%(pyshortver)s/site-packages'] -} - -modextrapaths = { - 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages/wx-3.0-gtk2'], -} - moduleclass = 'vis' -- GitLab From 71405555deacf3b3a4280055e2b11d53317629f7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 9 Apr 2016 20:35:55 +0200 Subject: [PATCH 0781/1089] style fixes --- easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb | 1 - .../GST-plugins-base-0.10.36-intel-2016a.eb | 6 +++--- .../g/GStreamer/GStreamer-0.10.36-intel-2016a.eb | 9 +++++---- .../intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb index ec87efba55..89fe1cefe2 100644 --- a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-intel-2016a.eb @@ -37,4 +37,3 @@ modextrapaths = { } moduleclass = 'devel' - diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb index af962689d7..f2d1e756a5 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb @@ -16,14 +16,14 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [('GStreamer', '0.10.36')] -#Does not work with Bison 3 +# does not work with Bison 3.x builddependencies = [ ('Bison', '2.7', '', True), ] sanity_check_paths = { - 'files': ['bin/gst-%s-0.10' % x for x in ['discoverer', 'visualise']] + - ['lib/libgst%s-0.10.so' % x for x in ['app', 'audio', 'video']], + 'files': ['bin/gst-%s-%%(version_major_minor)s' % x for x in ['discoverer', 'visualise']] + + ['lib/libgst%s-%%(version_major_minor)s.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']], 'dirs': ['include', 'share'] } diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb index 178e012daf..ccd3a73617 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb @@ -20,15 +20,16 @@ dependencies = [ ('zlib', '1.2.8'), ] -#Does not work with Bison 3 +# does not work with Bison 3.x builddependencies = [ ('Bison', '2.7', '', True), ] sanity_check_paths = { - 'files': ['bin/gst-%s-0.10' % x for x in ['inspect', 'typefind', 'launch']] + - ['lib/libgst%s-0.10.so' % x for x in ['reamer', 'base', 'controller', 'check']], - 'dirs': ['include', 'share', 'libexec'] + 'files': ['bin/gst-%s-%%(version_major_minor)s' % x for x in ['inspect', 'typefind', 'launch']] + + ['lib/libgst%s-%%(version_major_minor)s.%s' % (x, SHLIB_EXT) for x in ['reamer', 'base', + 'controller', 'check']], + 'dirs': ['include', 'share', 'libexec'], } modextrapaths = { diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb index 4c3bc089de..0b9db08cff 100644 --- a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-intel-2016a-Perl-5.22.1.eb @@ -10,7 +10,7 @@ description = """intltool is a set of tools to centralize translation of toolchain = {'name': 'intel', 'version': '2016a'} -source_urls = ['http://launchpad.net/intltool/trunk/%(version)s/+download/'] +source_urls = ['http://launchpad.net/intltool/trunk/%(version)s/+download/'] sources = [SOURCE_TAR_GZ] dependencies = [ -- GitLab From 9fe4ba351aca7af665bb92fb5ce3a5220bb630a6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 10 Apr 2016 10:47:20 +0200 Subject: [PATCH 0782/1089] fix typo in filename for wxPython --- ...on-2.7.11.eb => wxPython-3.0.2.0-intel-2016a-Python-2.7.11.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/w/wxPython/{wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb => wxPython-3.0.2.0-intel-2016a-Python-2.7.11.eb} (100%) diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb b/easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016a-Python-2.7.11.eb similarity index 100% rename from easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016-Python-2.7.11.eb rename to easybuild/easyconfigs/w/wxPython/wxPython-3.0.2.0-intel-2016a-Python-2.7.11.eb -- GitLab From 8ac5aefb82cd2237cd679ba3c103e973ee3f9581 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sun, 10 Apr 2016 16:00:31 +0200 Subject: [PATCH 0783/1089] Fix build/runtime dependencies --- .../easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb index 12b8caece2..1e63340752 100644 --- a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb @@ -14,7 +14,6 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('kbproto', '1.0.7'), ('renderproto', '0.11'), - ('libX11', '1.6.3'), ('libpthread-stubs', '0.3'), ('xorg-macros', '1.19.0'), ('xproto', '7.0.28') -- GitLab From 75e2d85779aa974e7c506e0a95547fa6618ddc73 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 10 Apr 2016 21:26:14 +0100 Subject: [PATCH 0784/1089] Really remove the obsolete configopts this time --- .../b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb index b19ba9482c..a786a5b208 100644 --- a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb +++ b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb @@ -21,8 +21,6 @@ builddependencies = [ ('CMake', '3.4.1'), ] -configopts = " -DCMAKE_INSTALL_PREFIX=%(installdir)s " - prebuildopts = "export SAMTOOLS_ROOT=${EBROOTSAMTOOLS}/include/bam && make deps &&" separate_build_dir = True -- GitLab From e3800389846428f835f7674d1e3a9d31923189c2 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 10 Apr 2016 23:17:21 +0100 Subject: [PATCH 0785/1089] Port GROMACS 5.1.2 to foss-2016a --- .../GROMACS-5.1.2-foss-2016a-hybrid.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb new file mode 100644 index 0000000000..5b189abdbd --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, Ghent University +# Authors:: Wiktor Jurkowski , Fotis Georgatos , \ +# George Tsouloupas , Kenneth Hoste +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-93.html +# +# Version 5.1.2 +# Author: Adam Huffman +# The Francis Crick Institute +## + +name = 'GROMACS' +version = '5.1.2' +versionsuffix = '-hybrid' + +homepage = 'http://www.gromacs.org' +description = """GROMACS is a versatile package to perform molecular dynamics, + i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['ftp://ftp.gromacs.org/pub/gromacs/'] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [ + ('CMake', '3.4.1'), + ('libxml2', '2.9.2') +] + +dependencies = [('Boost', '1.60.0')] + +moduleclass = 'bio' -- GitLab From 0382afb4bd7cb2f5c50dd5364d7090eb238747df Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 10 Apr 2016 23:50:25 +0100 Subject: [PATCH 0786/1089] Update libxml2 to 2.9.3 for foss-2016a --- .../easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb index 5b189abdbd..e699b7dd9b 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-5.1.2-foss-2016a-hybrid.eb @@ -31,7 +31,7 @@ sources = [SOURCELOWER_TAR_GZ] builddependencies = [ ('CMake', '3.4.1'), - ('libxml2', '2.9.2') + ('libxml2', '2.9.3') ] dependencies = [('Boost', '1.60.0')] -- GitLab From 22adb35c727a98b0064b959c40b49d646e055e9b Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Mon, 11 Apr 2016 09:27:41 +0100 Subject: [PATCH 0787/1089] Add missing zlib dep and change samtools to normal, not build dep --- .../b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb index a786a5b208..9f5b2f295c 100644 --- a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb +++ b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.7.4-foss-2015b.eb @@ -17,10 +17,14 @@ source_urls = ['https://github.com/genome/%(name)s/archive'] patches = ['%(name)s-%(version)s-cmake_install_prefix.patch'] builddependencies = [ - ('SAMtools', '1.3'), ('CMake', '3.4.1'), ] +dependencies = [ + ('SAMtools', '1.3'), + ('zlib', '1.2.8'), +] + prebuildopts = "export SAMTOOLS_ROOT=${EBROOTSAMTOOLS}/include/bam && make deps &&" separate_build_dir = True -- GitLab From a7b47e4ad40b160fb4989ad4cf48697e6006e266 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 11 Apr 2016 10:34:28 +0200 Subject: [PATCH 0788/1089] foss 2016a version for sparsehash --- .../sparsehash/sparsehash-2.0.2-foss-2016a.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb new file mode 100644 index 0000000000..062c5abe5e --- /dev/null +++ b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'sparsehash' +version = '2.0.2' + +homepage = 'https://code.google.com/p/sparsehash/' +description = """An extremely memory-efficient hash_map + implementation. 2 bits/entry overhead! The SparseHash library + contains several hash-map implementations, including + implementations that optimize for space or speed.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://sparsehash.googlecode.com/files/'] + +sanity_check_paths = { + 'files': ['include/google/type_traits.h'], + 'dirs': [], +} + +moduleclass = 'devel' \ No newline at end of file -- GitLab From 52b1c35a20d08cd618263ffe10d9108548360361 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 11 Apr 2016 10:37:50 +0200 Subject: [PATCH 0789/1089] removed newline --- .../easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb index 062c5abe5e..d835154d86 100644 --- a/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb +++ b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.2-foss-2016a.eb @@ -20,4 +20,4 @@ sanity_check_paths = { 'dirs': [], } -moduleclass = 'devel' \ No newline at end of file +moduleclass = 'devel' -- GitLab From 8cf5d34294607fb7c056c4c581f26444a3152e68 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 11 Apr 2016 10:45:57 +0200 Subject: [PATCH 0790/1089] foss 2016a version for ABySS --- .../a/ABySS/ABySS-1.9.0-foss-2016a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb new file mode 100644 index 0000000000..1aff3781e1 --- /dev/null +++ b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb @@ -0,0 +1,32 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Maxime Schmitt , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +## + +easyblock = 'ConfigureMake' + +name = 'ABySS' +version = '1.9.0' + +homepage = 'http://www.bcgsc.ca/platform/bioinfo/software/abyss' +description = """Assembly By Short Sequences - a de novo, parallel, paired-end sequence assembler""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://github.com/bcgsc/abyss/releases/download/%(version)s/'] + +dependencies = [('Boost', '1.60.0')] + +sanity_check_paths = { + 'files': ["bin/ABYSS", "bin/ABYSS-P"], + 'dirs': [] +} + +moduleclass = 'bio' -- GitLab From f7ac943a2ff6f9d2719bd0ca4d704cbf3af38622 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 11 Apr 2016 11:52:51 +0200 Subject: [PATCH 0791/1089] add easyconfig pandas-0.18.0-intel-2016a-Python-2.7.11.eb, add easyconfig pandas-0.18.0-intel-2016a-Python-3.5.1.eb --- ...pandas-0.18.0-intel-2016a-Python-2.7.11.eb | 23 +++++++++++++++++++ .../pandas-0.18.0-intel-2016a-Python-3.5.1.eb | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-3.5.1.eb diff --git a/easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..69e84f6fa3 --- /dev/null +++ b/easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'pandas' +version = '0.18.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = "https://pypi.python.org/pypi/pandas/" +description = """pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures + and data analysis tools for the Python programming language.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('Python', '2.7.11')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..a3d2dbb5d1 --- /dev/null +++ b/easybuild/easyconfigs/p/pandas/pandas-0.18.0-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'pandas' +version = '0.18.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = "https://pypi.python.org/pypi/pandas/" +description = """pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures + and data analysis tools for the Python programming language.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('Python', '3.5.1')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' -- GitLab From 446c86fc8446d9ceff2641644de5b40c79318f99 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 11 Apr 2016 12:33:47 +0200 Subject: [PATCH 0792/1089] Dependency of sparsehash --- easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb index 1aff3781e1..46ae6d041a 100644 --- a/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb +++ b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb @@ -22,7 +22,10 @@ toolchainopts = {'usempi': True} sources = [SOURCELOWER_TAR_GZ] source_urls = ['https://github.com/bcgsc/abyss/releases/download/%(version)s/'] -dependencies = [('Boost', '1.60.0')] +dependencies = [ + ('Boost', '1.60.0'), + (sparsehash, '2.0.2') +] sanity_check_paths = { 'files': ["bin/ABYSS", "bin/ABYSS-P"], -- GitLab From 807626f4d5d2ea884882a3fd8da582245e8726ee Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 11 Apr 2016 14:44:56 +0200 Subject: [PATCH 0793/1089] add easyconfig Tcl-8.6.3-goolf-1.5.16.eb --- .../t/Tcl/Tcl-8.6.3-goolf-1.5.16.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-goolf-1.5.16.eb diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-goolf-1.5.16.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-goolf-1.5.16.eb new file mode 100644 index 0000000000..a8f55caa25 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.3-goolf-1.5.16.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.3' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'goolf', 'version': '1.5.16'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('zlib', '1.2.8'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' -- GitLab From 100f5c6abb616bfeb897c14a99b9023787f0ff6f Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 11 Apr 2016 14:52:11 +0200 Subject: [PATCH 0794/1089] Remove comment from HDF5-1.8.9-goolf-1.5.16.eb --- easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb index 755c2cc7f9..46dd3d15ad 100644 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.9-goolf-1.5.16.eb @@ -1,4 +1,3 @@ -# Built with EasyBuild version 2.1.1 on 2015-08-05_14-22-07 name = 'HDF5' version = '1.8.9' -- GitLab From c65cce06d6b0a92d173c96e87a6161f06a4b0a74 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 11 Apr 2016 14:53:58 +0200 Subject: [PATCH 0795/1089] Comment out OpenSSL dependency in Python-2.7.9-goolf-1.5.16.eb --- easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb index dee7cd4fdf..d726f06367 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb @@ -21,7 +21,7 @@ dependencies = [ ('ncurses', '5.9'), ('SQLite', '3.8.8.1'), ('Tk', '8.6.3', '-no-X11'), - ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's +# ('OpenSSL', '1.0.1k'), # OS dependency should be preferred if the os version is more recent then this version, it's # nice to have an up to date openssl for security reasons ] -- GitLab From 2d01f15bc0ff258e333b4110d1e60ba413e6dbb3 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 11 Apr 2016 15:03:51 +0200 Subject: [PATCH 0796/1089] Use https where possible in Python-2.7.9-goolf-1.5.16.eb --- .../easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb b/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb index d726f06367..70860e49fa 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.9-goolf-1.5.16.eb @@ -40,16 +40,16 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], }), ('numpy', numpyversion, { - 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'source_urls': [('https://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], }), ('scipy', scipyversion, { - 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + 'source_urls': [('https://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], }), ('blist', '1.3.6', { 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], }), ('mpi4py', '1.3.1', { - 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + 'source_urls': ['https://bitbucket.org/mpi4py/mpi4py/downloads/'], }), ('paycheck', '1.0.2', { 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], @@ -85,7 +85,7 @@ exts_list = [ }), ('pycrypto', '2.6.1', { 'modulename': 'Crypto', - 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + 'source_urls': ['https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], }), ('ecdsa', '0.11', { 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], -- GitLab From 8acce97e99dd80a6fdad06c62cdc1f01b396b3fc Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 11 Apr 2016 15:04:46 +0200 Subject: [PATCH 0797/1089] Correct preconfigopts in libreadline-6.3-goolf-1.5.16.eb --- .../easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb index 9a2a57c200..a11e7823ed 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-goolf-1.5.16.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '5.9')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + -- GitLab From 3752406eadac2b7d4b7f5b2f98a206b441b0d5de Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 11 Apr 2016 15:14:10 +0200 Subject: [PATCH 0798/1089] Restrict parallel build in MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb --- .../MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb index a11de24d4f..5af25d6b8e 100644 --- a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb @@ -23,6 +23,6 @@ configopts = '--with-jdk=$JAVA_HOME' preconfigopts = 'export CFLAGS="$CFLAGS -I$EBROOTLIBXML2/include/libxml2 " && ' -buildopts = '-j 1' +parallel = 1 moduleclass = 'data' -- GitLab From 179a5fc322d8db28072e25ddf7c30851a389f14e Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 11 Apr 2016 15:18:20 +0200 Subject: [PATCH 0799/1089] Wrap description to <120 characters in MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb --- .../MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb index 5af25d6b8e..6a1d121ef8 100644 --- a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb @@ -5,7 +5,8 @@ version = '7.0.67' versionsuffix = '-Java-%(javaver)s-Python-%(pyver)s' homepage = 'http://mdsplus.org/' -description = """MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.""" +description = """MDSplus is a set of software tools for data acquisition and storage and a + methodology for management of complex scientific data.""" toolchain = {'name': 'foss', 'version': '2016a'} -- GitLab From 472992ac0f7f131dcd519fa2fed53114f1a27e0f Mon Sep 17 00:00:00 2001 From: Yann Sagon Date: Mon, 11 Apr 2016 16:01:43 +0200 Subject: [PATCH 0800/1089] Beast latest version using foss-2016a --- .../b/Beast/Beast-2.4.0-foss-2016a.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb b/easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb new file mode 100644 index 0000000000..68cf147acc --- /dev/null +++ b/easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = "Tarball" + +name = 'Beast' +version = '2.4.0' + +homepage = 'http://beast2.org/' +description = """ BEAST is a cross-platform program for Bayesian MCMC analysis of molecular + sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using + strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies + but is also a framework for testing evolutionary hypotheses without conditioning on a single + tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted + proportional to its posterior probability. """ + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://github.com/CompEvol/beast2/releases/download/v%(version)s/'] +sources = ['BEAST.v%(version)s.Linux.tgz'] + + +dependencies = [ + # this is not mandatory but beagle-lib is recommended by developers + # beagle-lib will also load the required java dependency + # if you remove this you should add the java dependency + ('beagle-lib', '2_1_2', '', ('foss', '2016a')), +] + +sanity_check_paths = { + 'files': ["bin/beast"], + 'dirs': [] +} + +moduleclass = 'bio' -- GitLab From a6397ef10bccd4aa65c1bc309b57c3a3cc40321d Mon Sep 17 00:00:00 2001 From: Yann Sagon Date: Mon, 11 Apr 2016 16:06:53 +0200 Subject: [PATCH 0801/1089] latest beagle-lib support foss2016a --- .../beagle-lib/beagle-lib-2_1_2-foss-2016a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb new file mode 100644 index 0000000000..033afea4f8 --- /dev/null +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'beagle-lib' +version = '2_1_2' + +homepage = 'http://code.google.com/p/beagle-lib/' +description = """ +beagle-lib is a high-performance library that can perform the core +calculations at the heart of most Bayesian and Maximum Likelihood +phylogenetics packages. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# https://github.com/beagle-dev/beagle-lib/archive/beagle_release_2_1_2.tar.gz +source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] +sources = ['beagle_release_%(version)s.tar.gz'] + +dependencies = [('Java', '1.7.0_15', '', True)] + +# parallel build does not work (to test) +parallel = 1 + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ["include/libhmsbeagle-1/libhmsbeagle/%s" % includefile + for includefile in ["beagle.h", "platform.h"]] + + ["lib/libhmsbeagle%s.so" % libfile + for libfile in ["-cpu", "-cpu-sse", "-jni", ""]], + 'dirs': [] +} + +moduleclass = 'numlib' -- GitLab From edeed474f2fd36ab442256811a34bc917853649b Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 11 Apr 2016 17:27:04 +0200 Subject: [PATCH 0802/1089] quickfix quotes for sparsehash dependency --- easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb index 46ae6d041a..442c127432 100644 --- a/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb +++ b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb @@ -24,7 +24,7 @@ source_urls = ['https://github.com/bcgsc/abyss/releases/download/%(version)s/'] dependencies = [ ('Boost', '1.60.0'), - (sparsehash, '2.0.2') + ('sparsehash', '2.0.2') ] sanity_check_paths = { -- GitLab From e2ca621fcc6de9d3d7acd6a59c8f150370f1c588 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Mon, 11 Apr 2016 14:48:56 -0400 Subject: [PATCH 0803/1089] using numpy 1.8.2 that support oldnumeric and makes compatible with Scientificpython --- ...tplotlib-1.5.1-foss-2016a-Python-2.7.11.eb | 44 +++++++++++++++++++ ...icPython-2.9.4-foss-2016a-Python-2.7.11.eb | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..182905c4bb --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,44 @@ +easyblock = 'Bundle' + +name = 'matplotlib' +version = '1.5.1' +versionsuffix = '-Python-%(pyver)s' + +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.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' + +dependencies = [ + ('Python', '2.7.11'), + ('freetype', '2.6.2'), + ('libpng', '1.6.21'), +] + +exts_list = [ + ('Cycler', '0.9.0', { + 'modulename': 'cycler', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'source_tmpl': 'cycler-%(version)s.tar.gz', + }), + (name, version, { + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + }), +] + +# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module +full_sanity_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb index a597bd3eff..ef29eaf445 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb @@ -22,7 +22,7 @@ dependencies = [ ('Python', pyver), # older version of numpy than the one included in Python module required # cfr. https://bitbucket.org/khinsen/scientificpython/issue/13/numpy-19-has-dropped-support-for - ('numpy', '1.10.4', versionsuffix), + ('numpy', '1.8.2', versionsuffix), ] options = {'modulename': 'Scientific'} -- GitLab From a947b9c9d89fc88a92ac4a55183a037922b70dad Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Mon, 11 Apr 2016 15:04:46 -0400 Subject: [PATCH 0804/1089] add easyconfig numpy 1.8.2 for foss --- ...tplotlib-1.5.1-foss-2016a-Python-2.7.11.eb | 44 ------------------- ...> numpy-1.8.2-foss-2016a-Python-2.7.11.eb} | 14 +++--- 2 files changed, 7 insertions(+), 51 deletions(-) delete mode 100644 easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb rename easybuild/easyconfigs/n/numpy/{numpy-1.10.4-foss-2016a-Python-2.7.11.eb => numpy-1.8.2-foss-2016a-Python-2.7.11.eb} (82%) diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb deleted file mode 100644 index 182905c4bb..0000000000 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb +++ /dev/null @@ -1,44 +0,0 @@ -easyblock = 'Bundle' - -name = 'matplotlib' -version = '1.5.1' -versionsuffix = '-Python-%(pyver)s' - -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.""" - -toolchain = {'name': 'foss', 'version': '2016a'} - -# this is a bundle of Python packages -exts_defaultclass = 'PythonPackage' - -dependencies = [ - ('Python', '2.7.11'), - ('freetype', '2.6.2'), - ('libpng', '1.6.21'), -] - -exts_list = [ - ('Cycler', '0.9.0', { - 'modulename': 'cycler', - 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], - 'source_tmpl': 'cycler-%(version)s.tar.gz', - }), - (name, version, { - 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], - }), -] - -# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module -full_sanity_check = True - -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb similarity index 82% rename from easybuild/easyconfigs/n/numpy/numpy-1.10.4-foss-2016a-Python-2.7.11.eb rename to easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb index f2c859648a..e591de8fe1 100644 --- a/easybuild/easyconfigs/n/numpy/numpy-1.10.4-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb @@ -1,6 +1,5 @@ name = 'numpy' -version = '1.10.4' -versionsuffix = '-Python-%(pyver)s' +version = '1.8.2' homepage = 'http://www.numpy.org' description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: @@ -14,13 +13,14 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] -patches = [ - 'numpy-1.8.0-mkl.patch', - 'numpy-%(version)s-sse42.patch', -] +patches = ['numpy-1.8.1-mkl.patch'] + +python = 'Python' +pyver = '2.7.11' +versionsuffix = '-%s-%s' % (python, pyver) dependencies = [ - ('Python', '2.7.11'), + (python, pyver), ] moduleclass = 'math' -- GitLab From af9773821329739f983ee9983353627e0b1d673c Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Mon, 11 Apr 2016 16:06:16 -0400 Subject: [PATCH 0805/1089] matplotlib 1.5.1 for foss 2016a --- ...tplotlib-1.5.1-foss-2016a-Python-2.7.11.eb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..182905c4bb --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,44 @@ +easyblock = 'Bundle' + +name = 'matplotlib' +version = '1.5.1' +versionsuffix = '-Python-%(pyver)s' + +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.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' + +dependencies = [ + ('Python', '2.7.11'), + ('freetype', '2.6.2'), + ('libpng', '1.6.21'), +] + +exts_list = [ + ('Cycler', '0.9.0', { + 'modulename': 'cycler', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'source_tmpl': 'cycler-%(version)s.tar.gz', + }), + (name, version, { + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + }), +] + +# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module +full_sanity_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' -- GitLab From d297900bdcad241d8e042b2c8136cd5f3044995b Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Mon, 11 Apr 2016 17:42:22 -0400 Subject: [PATCH 0806/1089] add easyconfig files for git 2.8.0 foss toolchain --- .../g/gettext/gettext-0.19.7-foss-2016a.eb | 23 +++++++++++++ .../easyconfigs/g/git/git-2.8.0-foss-2016a.eb | 33 +++++++++++++++++++ .../p/Perl/Perl-5.22.1-foss-2016a-bare.eb | 17 ++++++++++ 3 files changed, 73 insertions(+) create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/git/git-2.8.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a-bare.eb diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb new file mode 100644 index 0000000000..168b2490e6 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.7' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [ + ('libxml2', '2.9.3'), + ('ncurses', '6.0'), +] + +configopts = '--without-emacs' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/git/git-2.8.0-foss-2016a.eb b/easybuild/easyconfigs/g/git/git-2.8.0-foss-2016a.eb new file mode 100644 index 0000000000..37fb210f88 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.8.0-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.8.0' + +homepage = 'http://git-scm.com/' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/git/git/archive'] + +dependencies = [ + ('cURL', '7.47.0'), + ('expat', '2.1.0'), + ('gettext', '0.19.7'), + ('Perl', '5.22.1', '-bare'), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a-bare.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a-bare.eb new file mode 100644 index 0000000000..9234ed61fa --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a-bare.eb @@ -0,0 +1,17 @@ +name = 'Perl' +version = '5.22.1' +versionsuffix = '-bare' + +homepage = 'http://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] + +# bare, no extensions +exts_list = [] + +moduleclass = 'lang' -- GitLab From c35baf4c311b0abecf3fb9e6942386f6bca79b0e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 12 Apr 2016 09:35:06 +0200 Subject: [PATCH 0807/1089] correctly specify Perl location in git easyconfig --- easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb b/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb index 6a03e95dba..d8dcaa74d8 100644 --- a/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb @@ -36,7 +36,7 @@ preconfigopts = 'make configure && ' # Work around git build system bug. If LIBS contains -lpthread, then configure # will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. -configopts = "--with-perl=${EBPERLROOT} --enable-pthreads='-lpthread'" +configopts = "--with-perl=${EBPERLROOT}/bin/perl --enable-pthreads='-lpthread'" sanity_check_paths = { 'files': ['bin/git'], -- GitLab From 3ab69db466b5c4491146598c3e23f17c9fc52191 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 12 Apr 2016 09:39:03 +0200 Subject: [PATCH 0808/1089] add easyconfig MultiNest-3.10-intel-2016a.eb --- .../m/MultiNest/MultiNest-3.10-intel-2016a.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/m/MultiNest/MultiNest-3.10-intel-2016a.eb diff --git a/easybuild/easyconfigs/m/MultiNest/MultiNest-3.10-intel-2016a.eb b/easybuild/easyconfigs/m/MultiNest/MultiNest-3.10-intel-2016a.eb new file mode 100644 index 0000000000..78d3266bf6 --- /dev/null +++ b/easybuild/easyconfigs/m/MultiNest/MultiNest-3.10-intel-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'MultiNest' +version = '3.10' + +homepage = 'https://ccpforge.cse.rl.ac.uk/gf/project/multinest/' +description = """MultiNest is a Bayesian inference tool which calculates the evidence and explores the parameter space + which may contain multiple posterior modes and pronounced (curving) degeneracies in moderately high dimensions.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +# download via https://ccpforge.cse.rl.ac.uk/gf/project/multinest/frs (requires registration) +sources = ['MultiNest_v%(version)s_CMake.tar.gz'] +checksums = ['a4ed7c15f2fbbf7f859f565734fc5296'] + +builddependencies = [('CMake', '3.4.3')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ackley', 'eggboxC', 'eggboxC++', 'gaussian', 'gauss_shell', 'himmelblau', + 'obj_detect', 'rosenbrock']] + + ['lib/lib%s' % x for x in ['multinest.a', 'multinest_mpi.a', 'multinest_mpi.%s' % SHLIB_EXT, + 'multinest.%s' % SHLIB_EXT]] + + ['include/multinest.h'], + 'dirs': ['modules'], +} + +moduleclass = 'tools' -- GitLab From 04e53f7a24ab360a3f3812526116aafc8a73a421 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 12 Apr 2016 09:39:58 +0200 Subject: [PATCH 0809/1089] fix typo --- easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb b/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb index d8dcaa74d8..1da07f9d58 100644 --- a/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/g/git/git-2.2.2-GCC-4.9.2.eb @@ -36,7 +36,7 @@ preconfigopts = 'make configure && ' # Work around git build system bug. If LIBS contains -lpthread, then configure # will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. -configopts = "--with-perl=${EBPERLROOT}/bin/perl --enable-pthreads='-lpthread'" +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" sanity_check_paths = { 'files': ['bin/git'], -- GitLab From fbb3f0cd75ab28fb77e3c558f35ab2a8c6117da8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 12 Apr 2016 09:42:31 +0200 Subject: [PATCH 0810/1089] add easyconfig CMake-3.5.1-intel-2016a.eb --- .../c/CMake/CMake-3.5.1-intel-2016a.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.5.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.5.1-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.5.1-intel-2016a.eb new file mode 100644 index 0000000000..a70441375c --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.5.1-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.5.1' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '6.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1s'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From d2dbcc47e9b38f23d53272986bfbc28aa15faaaf Mon Sep 17 00:00:00 2001 From: Yann Sagon Date: Tue, 12 Apr 2016 11:32:03 +0200 Subject: [PATCH 0811/1089] fix beagle-lib dependency --- easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb b/easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb index 68cf147acc..484da63909 100644 --- a/easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb +++ b/easybuild/easyconfigs/b/Beast/Beast-2.4.0-foss-2016a.eb @@ -21,12 +21,11 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['https://github.com/CompEvol/beast2/releases/download/v%(version)s/'] sources = ['BEAST.v%(version)s.Linux.tgz'] - dependencies = [ # this is not mandatory but beagle-lib is recommended by developers # beagle-lib will also load the required java dependency # if you remove this you should add the java dependency - ('beagle-lib', '2_1_2', '', ('foss', '2016a')), + ('beagle-lib', '2.1.2'), ] sanity_check_paths = { -- GitLab From 2b7c6d3f7ccd97633b3f77e36d3083ecc8135c8f Mon Sep 17 00:00:00 2001 From: Yann Sagon Date: Tue, 12 Apr 2016 11:34:32 +0200 Subject: [PATCH 0812/1089] fix java version, naming, builddependencies --- .../beagle-lib/beagle-lib-2.1.2-foss-2016a.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2016a.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2016a.eb new file mode 100644 index 0000000000..29785ed5e6 --- /dev/null +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2016a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'beagle-lib' +version = '2.1.2' +homepage= 'https://github.com/beagle-dev/beagle-lib' +description = """ +beagle-lib is a high-performance library that can perform the core +calculations at the heart of most Bayesian and Maximum Likelihood +phylogenetics packages. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# https://github.com/beagle-dev/beagle-lib/archive/beagle_release_2_1_2.tar.gz +source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] +sources = ['beagle_release_%s.tar.gz' % version.replace('.', '_')] + +dependencies = [('Java', '1.8.0_74', '', True)] + +builddependencies = [('Autotools', '20150215')] + +# parallel build does not work (to test) +parallel = 1 + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ["include/libhmsbeagle-1/libhmsbeagle/%s" % includefile + for includefile in ["beagle.h", "platform.h"]] + + ["lib/libhmsbeagle%s.so" % libfile + for libfile in ["-cpu", "-cpu-sse", "-jni", ""]], + 'dirs': [] +} + +moduleclass = 'numlib' -- GitLab From 18e01e189a43b9ad3c3f6c356919cb8808dd7f39 Mon Sep 17 00:00:00 2001 From: Yann Sagon Date: Tue, 12 Apr 2016 13:25:43 +0200 Subject: [PATCH 0813/1089] removed bad beagle-lib --- .../beagle-lib/beagle-lib-2_1_2-foss-2016a.eb | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb deleted file mode 100644 index 033afea4f8..0000000000 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2_1_2-foss-2016a.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'beagle-lib' -version = '2_1_2' - -homepage = 'http://code.google.com/p/beagle-lib/' -description = """ -beagle-lib is a high-performance library that can perform the core -calculations at the heart of most Bayesian and Maximum Likelihood -phylogenetics packages. -""" - -toolchain = {'name': 'foss', 'version': '2016a'} - -# https://github.com/beagle-dev/beagle-lib/archive/beagle_release_2_1_2.tar.gz -source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] -sources = ['beagle_release_%(version)s.tar.gz'] - -dependencies = [('Java', '1.7.0_15', '', True)] - -# parallel build does not work (to test) -parallel = 1 - -preconfigopts = "./autogen.sh && " - -sanity_check_paths = { - 'files': ["include/libhmsbeagle-1/libhmsbeagle/%s" % includefile - for includefile in ["beagle.h", "platform.h"]] + - ["lib/libhmsbeagle%s.so" % libfile - for libfile in ["-cpu", "-cpu-sse", "-jni", ""]], - 'dirs': [] -} - -moduleclass = 'numlib' -- GitLab From 4a944ea2fd093c34ea0941a39499c694fd26d6b0 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 14:32:26 +0200 Subject: [PATCH 0814/1089] dependency for SQLite --- easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb index 442c127432..aa09a6e789 100644 --- a/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb +++ b/easybuild/easyconfigs/a/ABySS/ABySS-1.9.0-foss-2016a.eb @@ -23,8 +23,9 @@ sources = [SOURCELOWER_TAR_GZ] source_urls = ['https://github.com/bcgsc/abyss/releases/download/%(version)s/'] dependencies = [ - ('Boost', '1.60.0'), - ('sparsehash', '2.0.2') + ('Boost', '1.60.0'), + ('sparsehash', '2.0.2'), + ('SQLite', '3.9.2'), ] sanity_check_paths = { -- GitLab From 7724b2dfaa1a7cfb474d0c1c7b188dd796ce53b3 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 15:42:21 +0200 Subject: [PATCH 0815/1089] ANTLR with foss 2016a --- .../ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..a69233b272 --- /dev/null +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ANTLR' +version = "2.7.7" + +homepage = 'http://www.antlr2.org/' +description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) + is a language tool that provides a framework for constructing recognizers, + compilers, and translators from grammatical descriptions containing + Java, C#, C++, or Python actions.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.antlr2.org/download/'] +sources = [SOURCELOWER_TAR_GZ] + +patches = ['%(name)s-%(version)s_includes.patch'] + +pythonversion = '2.7.11' +versionsuffix = "-Python-%s" % pythonversion + +dependencies = [ + ('Java', '1.8.0_74', '', True), + ('Python', pythonversion), +] + +configopts = '--disable-examples --disable-csharp ' + +sanity_check_paths = { + 'files': ['bin/antlr', 'bin/antlr-config'], + 'dirs': ['include'], +} + +moduleclass = 'tools' -- GitLab From 2b1307343774ae1202878dfafa731a4a6d2f09d0 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 16:46:02 +0200 Subject: [PATCH 0816/1089] BayesAss with foss 2016a --- .../b/BayesAss/BayesAss-3.0.4-foss-2016a.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb new file mode 100644 index 0000000000..3e78699b7f --- /dev/null +++ b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'BayesAss' +version = '3.0.3' + +homepage = 'http://www.rannala.org/?page_id=245' description = """ +BayesAss: Bayesian Inference of Recent Migration Using Multilocus Genotypes +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +sources = ['BA3-%(version)s.tar.gz'] +source_urls = ['http://downloads.sourceforge.net/project/bayesass/BA3/%s/src/' % +version] +dependencies = [ + ('GSL','1.16') +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/%s" % binfile for binfile in ["BA3"]], + 'dirs' : ['bin','include'] +} + +moduleclass = 'bio' -- GitLab From 4a1fe16ac37a29bdf91da0c140fc6b92f3e7809d Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 16:54:33 +0200 Subject: [PATCH 0817/1089] newline added --- easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb index 3e78699b7f..9f74a15dd0 100644 --- a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb +++ b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb @@ -3,7 +3,8 @@ easyblock = 'ConfigureMake' name = 'BayesAss' version = '3.0.3' -homepage = 'http://www.rannala.org/?page_id=245' description = """ +homepage = 'http://www.rannala.org/?page_id=245' +description = """ BayesAss: Bayesian Inference of Recent Migration Using Multilocus Genotypes """ -- GitLab From 441d862ecefdf2adc6222a07a7b2129f618ec502 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 17:09:00 +0200 Subject: [PATCH 0818/1089] HTSlib for foss 2016a --- .../h/HTSlib/HTSlib-1.3-foss-2016a.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb new file mode 100644 index 0000000000..7f85666c7d --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.3' + +homepage = "http://www.htslib.org/" +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': ["bin/bgzip", "bin/tabix", "lib/libhts.%s" % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' \ No newline at end of file -- GitLab From 6e446908e5bb57328bccdb45bc08d8e751ec8fa9 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 17:11:17 +0200 Subject: [PATCH 0819/1089] removed newline --- easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb index 7f85666c7d..93d7d3c6df 100644 --- a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.3-foss-2016a.eb @@ -24,4 +24,4 @@ sanity_check_paths = { 'dirs': [], } -moduleclass = 'bio' \ No newline at end of file +moduleclass = 'bio' -- GitLab From bd6af2e81b9f53060da3ebb1a51fc7abdd4f69ae Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 17:13:57 +0200 Subject: [PATCH 0820/1089] BCFtools for foss 2016a --- .../b/BCFtools/BCFtools-1.3-foss-2016a.eb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb new file mode 100644 index 0000000000..fe8eabe029 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.3' + +homepage = 'http://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] + +patches = ['%(name)s-%(version)s_extHTSlib_Makefile.patch'] + +dependencies = [ + ('HTSlib', '1.3'), + ('zlib', '1.2.8'), + ('GSL', '1.16'), +] + +parallel = 1 + +skipsteps = ['configure'] + +installopts = ' prefix=%(installdir)s' + +postinstallcmds = [ + 'mkdir -p %(installdir)s/lib/plugins', + 'cp -a plugins/*.so %(installdir)s/lib/plugins/.', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']], + 'dirs': ['lib/plugins'], +} + +moduleclass = 'bio' -- GitLab From 0330bcc156ccb9096c94cdee4b1c7c9c479577db Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 12 Apr 2016 17:23:53 +0200 Subject: [PATCH 0821/1089] quickfix version number --- .../easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb index 9f74a15dd0..b10287dfdd 100644 --- a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb +++ b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb @@ -1,14 +1,14 @@ easyblock = 'ConfigureMake' name = 'BayesAss' -version = '3.0.3' +version = '3.0.4' homepage = 'http://www.rannala.org/?page_id=245' description = """ BayesAss: Bayesian Inference of Recent Migration Using Multilocus Genotypes """ -toolchain = {'name': 'foss', 'version': '2016a'} +toolchain = {'name': 'foss','version': '2016a'} sources = ['BA3-%(version)s.tar.gz'] source_urls = ['http://downloads.sourceforge.net/project/bayesass/BA3/%s/src/' % version] @@ -19,7 +19,7 @@ dependencies = [ runtest = 'check' sanity_check_paths = { - 'files': ["bin/%s" % binfile for binfile in ["BA3"]], + 'files': [bin/BA3], 'dirs' : ['bin','include'] } -- GitLab From e4b84a2bc7e5e6f95e21523fb6b05320e33780a9 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Tue, 12 Apr 2016 15:29:39 -0500 Subject: [PATCH 0822/1089] Changing the version (Date Format) and also adding instructions to rename the downloaded file to lx-%(version)s.zip --- easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb index 69196eb784..9830a06815 100644 --- a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb +++ b/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb @@ -5,7 +5,7 @@ easyblock = "PackedBinary" name = 'MRIcron' -version = '06_22_15' +version = '20150601' homepage = 'http://www.mccauslandcenter.sc.edu/mricro/mricron/' description = """ MRIcron allows viewing of medical images. It @@ -17,8 +17,9 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # Automatic Download doesn't work for this software as you need to accept their license, # so you can download it manually at https://www.nitrc.org/frs/download.php/7765/ -# and place it in a folder where Easybuild can see it. -sources = ['lx.zip'] +# and place it in a folder where Easybuild can see it. +# Also rename the zip file to lx-20150601.zip +sources = ['lx-%(version)s.zip'] checksums = ['a2d8b1c053384220953f6b670d0fd4df'] -- GitLab From d25771501a9f87623f013f7f34c643b824846f50 Mon Sep 17 00:00:00 2001 From: Ravi Tripathi Date: Tue, 12 Apr 2016 15:51:36 -0500 Subject: [PATCH 0823/1089] Renaming the Easyconfig from easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb -> easybuild/easyconfigs/m/MRIcron/MRIcron-20150601.eb --- .../m/MRIcron/{MRIcron-06_22_15.eb => MRIcron-20150601.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/m/MRIcron/{MRIcron-06_22_15.eb => MRIcron-20150601.eb} (100%) diff --git a/easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb b/easybuild/easyconfigs/m/MRIcron/MRIcron-20150601.eb similarity index 100% rename from easybuild/easyconfigs/m/MRIcron/MRIcron-06_22_15.eb rename to easybuild/easyconfigs/m/MRIcron/MRIcron-20150601.eb -- GitLab From 428e635f7c6c76b6e89bba45dc64e263930df681 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Tue, 12 Apr 2016 23:01:13 +0200 Subject: [PATCH 0824/1089] Add missing zlib dependency to MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb --- .../MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb index 6a1d121ef8..b1dbee0965 100644 --- a/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/MDSplus/MDSplus-7.0.67-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb @@ -17,7 +17,8 @@ dependencies = [ ('Java', '1.7.0_79', '', True), ('Python', '2.7.11'), ('HDF5', '1.8.16'), - ('libxml2', '2.9.3', '-Python-%(pyver)s') + ('libxml2', '2.9.3', '-Python-%(pyver)s'), + ('zlib', '1.2.8') ] configopts = '--with-jdk=$JAVA_HOME' -- GitLab From 2a277f236dbba0ad4e31f680f65d5ac4f5d4da27 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 13 Apr 2016 07:35:25 +0200 Subject: [PATCH 0825/1089] fix (build) deps for intel/2016a easyconfigs of cairo, libXext, libXrender --- easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb | 4 ++++ easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb | 1 + .../easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb | 3 +++ 3 files changed, 8 insertions(+) diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb index 2966a85fa7..a289e5fb02 100644 --- a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a.eb @@ -28,9 +28,13 @@ dependencies = [ ('libxcb', '1.11.1'), ('libXrender', '0.9.9'), ('libXext', '1.3.3'), + ('libXau', '1.0.8'), + ('libXdmcp', '1.1.2'), ] builddependencies = [ ('renderproto', '0.11'), + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), ] # disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC diff --git a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb index 2b4eff3bde..2d93058e5e 100644 --- a/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb +++ b/easybuild/easyconfigs/l/libXext/libXext-1.3.3-intel-2016a.eb @@ -15,6 +15,7 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('xproto', '7.0.28'), ('xextproto', '7.3.0'), + ('libpthread-stubs', '0.3'), ] dependencies = [ diff --git a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb index eee347a314..1e63340752 100644 --- a/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libXrender/libXrender-0.9.9-foss-2016a.eb @@ -14,6 +14,9 @@ source_urls = [XORG_LIB_SOURCE] builddependencies = [ ('kbproto', '1.0.7'), ('renderproto', '0.11'), + ('libpthread-stubs', '0.3'), + ('xorg-macros', '1.19.0'), + ('xproto', '7.0.28') ] dependencies = [ -- GitLab From b9067f93645bb3e7ac817334393b612f4d21ad47 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 10:50:26 +0200 Subject: [PATCH 0826/1089] fix (pyver)s --- .../a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb index a69233b272..ddbfe7c092 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2016a-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'ConfigureMake' name = 'ANTLR' version = "2.7.7" +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.antlr2.org/' description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) @@ -16,12 +17,9 @@ sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s_includes.patch'] -pythonversion = '2.7.11' -versionsuffix = "-Python-%s" % pythonversion - dependencies = [ ('Java', '1.8.0_74', '', True), - ('Python', pythonversion), + ('Python', '2.7.11'), ] configopts = '--disable-examples --disable-csharp ' -- GitLab From 46471130a735bf0c4bcc673d57e4f92dc0128e01 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 13 Apr 2016 10:19:44 +0100 Subject: [PATCH 0827/1089] Update rtracklayer to 1.30.4 --- .../R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 2 +- .../R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb index 78a36e128c..60ddc2ec31 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -80,7 +80,7 @@ exts_list = [ ('DEGseq', '1.24.0', bioconductor_options), ('hgu133plus2.db', '3.2.2', bioconductor_options), ('illuminaio', '0.12.0', bioconductor_options), - ('rtracklayer', '1.30.3', bioconductor_options), + ('rtracklayer', '1.30.4', bioconductor_options), ('biomaRt', '2.26.1', bioconductor_options), ('GenomicFeatures', '1.22.13', bioconductor_options), ('bumphunter', '1.10.0', bioconductor_options), diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb index 42093e636a..75d2568589 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb @@ -79,7 +79,7 @@ exts_list = [ ('DEGseq', '1.24.0', bioconductor_options), ('hgu133plus2.db', '3.2.2', bioconductor_options), ('illuminaio', '0.12.0', bioconductor_options), - ('rtracklayer', '1.30.3', bioconductor_options), + ('rtracklayer', '1.30.4', bioconductor_options), ('biomaRt', '2.26.1', bioconductor_options), ('GenomicFeatures', '1.22.13', bioconductor_options), ('bumphunter', '1.10.0', bioconductor_options), -- GitLab From b38448a86b6ed9d38ab6d5653d2582a50ddbae0d Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 11:39:21 +0200 Subject: [PATCH 0828/1089] quickfixes, but still needs GSL-2.1 dependency --- .../easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb index b10287dfdd..ba5608e32b 100644 --- a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb +++ b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb @@ -10,8 +10,9 @@ BayesAss: Bayesian Inference of Recent Migration Using Multilocus Genotypes toolchain = {'name': 'foss','version': '2016a'} sources = ['BA3-%(version)s.tar.gz'] -source_urls = ['http://downloads.sourceforge.net/project/bayesass/BA3/%s/src/' % -version] + +source_urls = ['http://downloads.sourceforge.net/project/bayesass/BA3/%(version)s/src/'] + dependencies = [ ('GSL','1.16') ] @@ -20,7 +21,7 @@ runtest = 'check' sanity_check_paths = { 'files': [bin/BA3], - 'dirs' : ['bin','include'] + 'dirs' : ['bin', 'include'] } moduleclass = 'bio' -- GitLab From 49bf25ee263585f62beec59942007be8f3dbce47 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 11:39:49 +0200 Subject: [PATCH 0829/1089] GSL-2.1 dependency --- easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb index ba5608e32b..97b9dbe142 100644 --- a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb +++ b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb @@ -14,7 +14,7 @@ sources = ['BA3-%(version)s.tar.gz'] source_urls = ['http://downloads.sourceforge.net/project/bayesass/BA3/%(version)s/src/'] dependencies = [ - ('GSL','1.16') + ('GSL','2.1') ] runtest = 'check' -- GitLab From 2de7a18c82c6442ebb2bc246fbb2964a4c4ce511 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 11:42:36 +0200 Subject: [PATCH 0830/1089] GSL for foss 2016a --- .../easyconfigs/g/GSL/GSL-2.1-foss-2016a.eb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2016a.eb b/easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2016a.eb new file mode 100644 index 0000000000..f4a28c0d8f --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.1-foss-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = "2.1" + +homepage = 'http://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'version': '2016a', 'name': 'foss'} +toolchainopts = {'opt': True, 'optarch': True, 'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +moduleclass = 'numlib' -- GitLab From db2effc74e8f575a3632e68206455bab132a3fcd Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 11:49:49 +0200 Subject: [PATCH 0831/1089] missing quotes --- easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb index 97b9dbe142..0dc4a540af 100644 --- a/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb +++ b/easybuild/easyconfigs/b/BayesAss/BayesAss-3.0.4-foss-2016a.eb @@ -20,7 +20,7 @@ dependencies = [ runtest = 'check' sanity_check_paths = { - 'files': [bin/BA3], + 'files': ['bin/BA3'], 'dirs' : ['bin', 'include'] } -- GitLab From 84b85cd3604256e9af2be975196276df1bf66c5c Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 12:04:52 +0200 Subject: [PATCH 0832/1089] GSL dependency from 1.16 -> 2.1 --- easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb index fe8eabe029..3e9dc817b1 100644 --- a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb @@ -18,7 +18,7 @@ patches = ['%(name)s-%(version)s_extHTSlib_Makefile.patch'] dependencies = [ ('HTSlib', '1.3'), ('zlib', '1.2.8'), - ('GSL', '1.16'), + ('GSL', '2.1'), ] parallel = 1 -- GitLab From 2d8bab7056a653924682ff0c75bed5b2b9eb77f9 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 16:57:19 +0200 Subject: [PATCH 0833/1089] DB_File for foss 2016a --- .../DB_File-1.835-foss-2016a-Perl-5.22.1.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb new file mode 100644 index 0000000000..b280622820 --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb @@ -0,0 +1,25 @@ +easyblock = 'PerlModule' + +name = 'DB_File' +version = '1.835' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://perldoc.perl.org/DB_File.html' +description = """Perl5 access to Berkeley DB version 1.x.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Perl', '5.22.1'), + ('DB', '4.8.30'), +] + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], + 'dirs': [], +} + +moduleclass = 'data' -- GitLab From e65dfd7e88dc147706ce2f11c886b93549b6862e Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 16:59:20 +0200 Subject: [PATCH 0834/1089] DB with foss 2016a --- .../easyconfigs/d/DB/DB-4.8.30-foss2016a.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb new file mode 100644 index 0000000000..0db26d6d7e --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb @@ -0,0 +1,18 @@ +name = 'DB' +version = '4.8.30' + +homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' +description = """Berkeley DB enables the development of custom data management solutions, + without the overhead traditionally associated with such custom projects.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/db.h', 'include/db_cxx.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'tools' -- GitLab From f41070db77f5eec9d76f3d28e9ff2fbbab6cc607 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Wed, 13 Apr 2016 11:56:18 -0400 Subject: [PATCH 0835/1089] PGI: add easyconfig for version 16.3. --- .../p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb diff --git a/easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..def0637f0b --- /dev/null +++ b/easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb @@ -0,0 +1,25 @@ +name = 'PGI' +version = '16.3' + +homepage = 'http://www.pgroup.com/' +description = "C, C++ and Fortran compilers from The Portland Group - PGI" + +toolchain = {'name': 'dummy', 'version': ''} + +sources = ['pgilinux-20%(version_major)s-%(version_major)s%(version_minor)s-x86_64.tar.gz'] +checksums = ['618cb7ddbc57d4e4ed1f21a0ab25f427'] + +gccver = '4.9.3' +binutilsver = '2.25' +versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) + +dependencies = [ + ('GCCcore', gccver), + ('binutils', binutilsver, '', ('GCCcore', gccver)), +] + +# license file +import os +license_file = os.path.join(os.getenv('HOME'), "licenses", "pgi", "license.dat") + +moduleclass = 'compiler' -- GitLab From d4aba5b03e694f4e89d23260d4aaf6625dcb2c82 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 13 Apr 2016 18:53:09 +0200 Subject: [PATCH 0836/1089] fix bitstring 3.1.3 download URL --- easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb | 6 ++++-- easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb | 6 ++++-- .../easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb | 6 ++++-- easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb | 6 ++++-- .../p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb | 6 ++++-- easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb | 6 ++++-- 6 files changed, 24 insertions(+), 12 deletions(-) diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb index b360b95e8c..51bd3f9ff0 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2015a.eb @@ -123,8 +123,10 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], }), ('bitstring', '3.1.3', { - 'source_tmpl': '%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + # grab tarball from GitHub rather than PyPi since 3.1.3 release on PyPi disappeared; + # cfr. https://github.com/scott-griffiths/bitstring/issues/159 + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://github.com/scott-griffiths/bitstring/archive/'], }), ('virtualenv', '14.0.5', { 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb index 2556554c13..80212964f1 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-foss-2016a.eb @@ -123,8 +123,10 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], }), ('bitstring', '3.1.3', { - 'source_tmpl': '%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + # grab tarball from GitHub rather than PyPi since 3.1.3 release on PyPi disappeared; + # cfr. https://github.com/scott-griffiths/bitstring/issues/159 + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://github.com/scott-griffiths/bitstring/archive/'], }), ('virtualenv', '14.0.5', { 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb index 9c41844d2f..a99feb7078 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-gimkl-2.11.5.eb @@ -126,8 +126,10 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], }), ('bitstring', '3.1.3', { - 'source_tmpl': '%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + # grab tarball from GitHub rather than PyPi since 3.1.3 release on PyPi disappeared; + # cfr. https://github.com/scott-griffiths/bitstring/issues/159 + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://github.com/scott-griffiths/bitstring/archive/'], }), ] diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb index 3976e80bf2..bce00fd447 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2015b.eb @@ -126,8 +126,10 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], }), ('bitstring', '3.1.3', { - 'source_tmpl': '%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + # grab tarball from GitHub rather than PyPi since 3.1.3 release on PyPi disappeared; + # cfr. https://github.com/scott-griffiths/bitstring/issues/159 + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://github.com/scott-griffiths/bitstring/archive/'], }), ('virtualenv', '14.0.5', { 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb index 62884700e2..0965b7d1e9 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a-libX11-1.6.3.eb @@ -128,8 +128,10 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], }), ('bitstring', '3.1.3', { - 'source_tmpl': '%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + # grab tarball from GitHub rather than PyPi since 3.1.3 release on PyPi disappeared; + # cfr. https://github.com/scott-griffiths/bitstring/issues/159 + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://github.com/scott-griffiths/bitstring/archive/'], }), ('virtualenv', '14.0.5', { 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb index 1ecb34bdf1..1468388148 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016a.eb @@ -126,8 +126,10 @@ exts_list = [ 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], }), ('bitstring', '3.1.3', { - 'source_tmpl': '%(name)s-%(version)s.zip', - 'source_urls': ['https://pypi.python.org/packages/source/b/bitstring'], + # grab tarball from GitHub rather than PyPi since 3.1.3 release on PyPi disappeared; + # cfr. https://github.com/scott-griffiths/bitstring/issues/159 + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://github.com/scott-griffiths/bitstring/archive/'], }), ('virtualenv', '14.0.5', { 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], -- GitLab From ea5d4a30da2d8caaede51155c211321b3817f9c7 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Wed, 13 Apr 2016 21:06:48 +0200 Subject: [PATCH 0837/1089] buildopts added --- easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb index 3e9dc817b1..6d469bdd3b 100644 --- a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.3-foss-2016a.eb @@ -25,6 +25,7 @@ parallel = 1 skipsteps = ['configure'] +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" USE_GSL=1' installopts = ' prefix=%(installdir)s' postinstallcmds = [ -- GitLab From 81be1a45da8cdbe335fe23b0a0a6cf396c8512d2 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Wed, 13 Apr 2016 22:29:10 -0700 Subject: [PATCH 0838/1089] OptiX 3.8.0: fix easyconfig issues --- .../o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb index db096d2117..a4d1d070ca 100644 --- a/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb @@ -3,6 +3,7 @@ # Authors:: Stephane Thiell ## easyblock = 'Binary' + name = 'OptiX' version = '3.8.0' @@ -13,21 +14,26 @@ description = """OptiX is NVIDIA SDK for easy ray tracing performance. toolchain = {'name': 'GNU', 'version': '4.9.3-2.25'} -#source_urls = ['http://developer.download.nvidia.com/compute/cuda/%(version_major_minor)s/Prod/local_installers/'] - +# Registration required. Download links: +# https://developer.nvidia.com/designworks/optix/download +# https://developer.nvidia.com/designworks/optix/downloads/legacy sources = ['NVIDIA-OptiX-SDK-%(version)s-linux64.run'] checksums = [ 'ecf63cf32b87defa36d3cd283d085314', # NVIDIA-OptiX-SDK-3.8.0-linux64.run + '73eb689d6247e3d406cf3a38e80ec473', # NVIDIA-OptiX-SDK-3.7.0-linux64.run ] install_cmd = "./" + sources[0] + " --skip-license --prefix=%(installdir)s" sanity_check_paths = { - 'files': ["include/optix.h", "include/optix_cuda.h", "lib64/liboptix.so", "lib64/liboptixu.so"], + 'files': ["include/optix.h", + "include/optix_cuda.h", + "lib64/liboptix.%s" % SHLIB_EXT, + "lib64/liboptixu.%s" % SHLIB_EXT], 'dirs': [] } -modextravars = { 'OPTIX_HOME': '%(installdir)s' } +modextravars = {'OPTIX_HOME': '%(installdir)s'} moduleclass = 'vis' -- GitLab From 83165bc9263c9bd20569d013fda4c8b7c68a3711 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Wed, 13 Apr 2016 22:29:41 -0700 Subject: [PATCH 0839/1089] add Nvidia OptiX 3.9.0 easyconfig --- .../o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb diff --git a/easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb new file mode 100644 index 0000000000..c8c1772071 --- /dev/null +++ b/easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Authors:: Stephane Thiell +## +easyblock = 'Binary' + +name = 'OptiX' +version = '3.9.0' + +homepage = 'https://developer.nvidia.com/optix' +description = """OptiX is NVIDIA SDK for easy ray tracing performance. + It provides a simple framework for accessing the GPU’s massive ray tracing + power using state-of-the-art GPU algorithms.""" + +toolchain = {'name': 'GNU', 'version': '4.9.3-2.25'} + +# Registration required. Download links: +# https://developer.nvidia.com/designworks/optix/download +# https://developer.nvidia.com/designworks/optix/downloads/legacy +sources = ['NVIDIA-OptiX-SDK-%(version)s-linux64.sh'] + +checksums = [ + '13b1953af766b82e0a4aaa28766a05a1', # NVIDIA-OptiX-SDK-3.9.0-linux64.sh +] + +install_cmd = "./" + sources[0] + " --skip-license --prefix=%(installdir)s" + +sanity_check_paths = { + 'files': ["include/optix.h", + "include/optix_cuda.h", + "lib64/liboptix.%s" % SHLIB_EXT, + "lib64/liboptixu.%s" % SHLIB_EXT], + 'dirs': [] +} + +modextravars = {'OPTIX_HOME': '%(installdir)s'} + +moduleclass = 'vis' -- GitLab From 0a8d27bcbf785078454859c00a483c64a99cd40b Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Wed, 13 Apr 2016 22:54:42 -0700 Subject: [PATCH 0840/1089] add easyconfig for CUDA 7.0.28 --- easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb b/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb new file mode 100644 index 0000000000..e6b47b55c2 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb @@ -0,0 +1,18 @@ +name = 'CUDA' +version = '7.0.28' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +source_urls = ['http://developer.download.nvidia.com/compute/cuda/%(version_major_minor)s/Prod/local_installers/'] + +sources = ['%(namelower)s_%(version)s_linux.run'] + +modextravars = {'CUDA_HOME': '%(installdir)s'} + +moduleclass = 'system' -- GitLab From e1f57b8fb0e64c025494208f50636c69c0cd6797 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 14 Apr 2016 07:25:03 +0100 Subject: [PATCH 0841/1089] Updates for limma, edgeR, Gviz, Rsubread --- .../R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb | 8 ++++---- .../R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb index 60ddc2ec31..13ad83c774 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-foss-2016a-R-3.2.3.eb @@ -62,7 +62,7 @@ exts_list = [ ('preprocessCore', '1.32.0', bioconductor_options), ('affy', '1.48.0', bioconductor_options), ('GO.db', '3.2.2', bioconductor_options), - ('limma', '3.26.8', bioconductor_options), + ('limma', '3.26.9', bioconductor_options), ('RBGL', '1.46.0', bioconductor_options), ('org.Hs.eg.db', '3.2.3', bioconductor_options), ('AnnotationForge', '1.12.2', bioconductor_options), @@ -70,7 +70,7 @@ exts_list = [ ('annaffy', '1.42.0', bioconductor_options), ('gcrma', '2.42.0', bioconductor_options), ('oligoClasses', '1.32.0', bioconductor_options), - ('edgeR', '3.12.0', bioconductor_options), + ('edgeR', '3.12.1', bioconductor_options), ('PFAM.db', '3.2.2', bioconductor_options), ('perm', '1.0-0.0', ext_options), ('baySeq', '2.4.1', bioconductor_options), @@ -126,13 +126,13 @@ exts_list = [ ('Mfuzz', '2.30.0', bioconductor_options), ('maSigPro', '1.42.0', bioconductor_options), ('SPIA', '2.22.0', bioconductor_options), - ('Gviz', '1.14.4', bioconductor_options), + ('Gviz', '1.14.7', bioconductor_options), ('cummeRbund', '2.12.1', bioconductor_options), ('GenomicFiles', '1.6.2', bioconductor_options), ('derfinderHelper', '1.4.1', bioconductor_options), ('derfinder', '1.4.4', bioconductor_options), ('polyester', '1.6.0', bioconductor_options), - ('Rsubread', '1.20.3', bioconductor_options), + ('Rsubread', '1.20.5', bioconductor_options), ('pcaMethods', '1.60.0', bioconductor_options), ('marray', '1.48.0', bioconductor_options), ('CGHbase', '1.30.0', bioconductor_options), diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb index 75d2568589..64a35be205 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.2-intel-2016a-R-3.2.3.eb @@ -61,7 +61,7 @@ exts_list = [ ('preprocessCore', '1.32.0', bioconductor_options), ('affy', '1.48.0', bioconductor_options), ('GO.db', '3.2.2', bioconductor_options), - ('limma', '3.26.8', bioconductor_options), + ('limma', '3.26.9', bioconductor_options), ('RBGL', '1.46.0', bioconductor_options), ('org.Hs.eg.db', '3.2.3', bioconductor_options), ('AnnotationForge', '1.12.2', bioconductor_options), @@ -69,7 +69,7 @@ exts_list = [ ('annaffy', '1.42.0', bioconductor_options), ('gcrma', '2.42.0', bioconductor_options), ('oligoClasses', '1.32.0', bioconductor_options), - ('edgeR', '3.12.0', bioconductor_options), + ('edgeR', '3.12.1', bioconductor_options), ('PFAM.db', '3.2.2', bioconductor_options), ('perm', '1.0-0.0', ext_options), ('baySeq', '2.4.1', bioconductor_options), @@ -125,13 +125,13 @@ exts_list = [ ('Mfuzz', '2.30.0', bioconductor_options), ('maSigPro', '1.42.0', bioconductor_options), ('SPIA', '2.22.0', bioconductor_options), - ('Gviz', '1.14.4', bioconductor_options), + ('Gviz', '1.14.7', bioconductor_options), ('cummeRbund', '2.12.1', bioconductor_options), ('GenomicFiles', '1.6.2', bioconductor_options), ('derfinderHelper', '1.4.1', bioconductor_options), ('derfinder', '1.4.4', bioconductor_options), ('polyester', '1.6.0', bioconductor_options), - ('Rsubread', '1.20.3', bioconductor_options), + ('Rsubread', '1.20.5', bioconductor_options), ('pcaMethods', '1.60.0', bioconductor_options), ('marray', '1.48.0', bioconductor_options), ('CGHbase', '1.30.0', bioconductor_options), -- GitLab From 52f5d1c9486f961db52a9ec2ff4373b760e0d539 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Wed, 13 Apr 2016 23:34:11 -0700 Subject: [PATCH 0842/1089] add easyconfig for cuDNN 4.0 and 5.0 --- easybuild/easyconfigs/c/cuDNN/cuDNN-4.0.eb | 32 ++++++++++++++++++++++ easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb | 32 ++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 easybuild/easyconfigs/c/cuDNN/cuDNN-4.0.eb create mode 100644 easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-4.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-4.0.eb new file mode 100644 index 0000000000..5bcd0e1aa3 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-4.0.eb @@ -0,0 +1,32 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Stephane Thiell +## +easyblock = 'Tarball' + +name = 'cuDNN' +version = '4.0' + +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for + deep neural networks.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# Nvidia developer registration required. +# Download link: https://developer.nvidia.com/rdp/cudnn-download +sources = ['%(namelower)s-7.0-linux-x64-v%(version)s-prod.tgz'] + +dependencies = [('CUDA', '7.5.18')] + +checksums = [ + '845ead4b37f1a2a243d7d1b4d42d1d8b', # cudnn-7.0-linux-x64-v4.0-prod.tgz +] + +sanity_check_paths = { + 'files': ['include/cudnn.h', 'lib64/libcudnn_static.a'], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb new file mode 100644 index 0000000000..fcf816c8fb --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb @@ -0,0 +1,32 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Author: Stephane Thiell +## +easyblock = 'Tarball' + +name = 'cuDNN' +version = '5.0' + +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for + deep neural networks.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +# Nvidia developer registration required. +# Download link: https://developer.nvidia.com/rdp/cudnn-download +sources = ['%(namelower)s-7.5-linux-x64-v%(version)s-rc.tgz'] + +dependencies = [('CUDA', '7.5.18')] + +checksums = [ + '0febee3f11276218668857191514b7e0', # cudnn-7.5-linux-x64-v5.0-rc.tgz +] + +sanity_check_paths = { + 'files': ['include/cudnn.h', 'lib64/libcudnn_static.a'], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' -- GitLab From 0de0c65aa8aee81d2dbb094481227bf4976ca9dd Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Wed, 13 Apr 2016 23:52:00 -0700 Subject: [PATCH 0843/1089] OptiX: fix a few issues --- easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb | 5 +---- easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb index a4d1d070ca..69dec5c347 100644 --- a/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/o/OptiX/OptiX-3.8.0-GNU-4.9.3-2.25.eb @@ -21,15 +21,12 @@ sources = ['NVIDIA-OptiX-SDK-%(version)s-linux64.run'] checksums = [ 'ecf63cf32b87defa36d3cd283d085314', # NVIDIA-OptiX-SDK-3.8.0-linux64.run - '73eb689d6247e3d406cf3a38e80ec473', # NVIDIA-OptiX-SDK-3.7.0-linux64.run ] install_cmd = "./" + sources[0] + " --skip-license --prefix=%(installdir)s" sanity_check_paths = { - 'files': ["include/optix.h", - "include/optix_cuda.h", - "lib64/liboptix.%s" % SHLIB_EXT, + 'files': ["include/optix.h", "include/optix_cuda.h", "lib64/liboptix.%s" % SHLIB_EXT, "lib64/liboptixu.%s" % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb b/easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb index c8c1772071..7960265e87 100644 --- a/easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/o/OptiX/OptiX-3.9.0-GNU-4.9.3-2.25.eb @@ -26,9 +26,7 @@ checksums = [ install_cmd = "./" + sources[0] + " --skip-license --prefix=%(installdir)s" sanity_check_paths = { - 'files': ["include/optix.h", - "include/optix_cuda.h", - "lib64/liboptix.%s" % SHLIB_EXT, + 'files': ["include/optix.h", "include/optix_cuda.h", "lib64/liboptix.%s" % SHLIB_EXT, "lib64/liboptixu.%s" % SHLIB_EXT], 'dirs': [] } -- GitLab From 278865b55584db402d5cbe24ffd599c6b90a0d0e Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Wed, 13 Apr 2016 23:59:34 -0700 Subject: [PATCH 0844/1089] remove CUDA_HOME modext as it is already handled by easyblock --- easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb b/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb index e6b47b55c2..87e535776e 100644 --- a/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb +++ b/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb @@ -13,6 +13,4 @@ source_urls = ['http://developer.download.nvidia.com/compute/cuda/%(version_majo sources = ['%(namelower)s_%(version)s_linux.run'] -modextravars = {'CUDA_HOME': '%(installdir)s'} - moduleclass = 'system' -- GitLab From 4a4426f75304e17e6e10c50200e4527aa4f8fd32 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 09:37:21 +0200 Subject: [PATCH 0845/1089] Add ALPS --- .../ALPS-2.2b4-intel-2016a-Python-2.7.11.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/a/ALPS/ALPS-2.2b4-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/a/ALPS/ALPS-2.2b4-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/ALPS/ALPS-2.2b4-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..27a5876ff2 --- /dev/null +++ b/easybuild/easyconfigs/a/ALPS/ALPS-2.2b4-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'ALPS' +version = '2.2b4' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.example.com' +description = """ The ALPS project (Algorithms and Libraries for Physics Simulations) is an open source effort +aiming at providing high-end simulation codes for strongly correlated quantum mechanical systems as well as C++ +libraries for simplifying the development of such code.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = ['%(namelower)s-%(version)s-src.tar.gz'] +source_urls = ['http://alps.comp-phys.org/static/software/releases'] + +builddependencies = [('CMake', '3.4.3')] + +dependencies = [ + ('Python', '2.7.11'), + ('Boost', '1.60.0', versionsuffix), + ('HDF5', '1.8.16'), + ('matplotlib', '1.5.1', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ["."] +} + +moduleclass = 'phys' -- GitLab From c972ef56ffd0e56fa124971f5ef54666cf5b5bae Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 14 Apr 2016 10:16:24 +0200 Subject: [PATCH 0846/1089] add easyconfig Perl-5.20.3-intel-2015a.eb --- .../p/Perl/Perl-5.20.3-intel-2015a.eb | 909 ++++++++++++++++++ 1 file changed, 909 insertions(+) create mode 100644 easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015a.eb diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015a.eb new file mode 100644 index 0000000000..e4d3b47d6f --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.20.3-intel-2015a.eb @@ -0,0 +1,909 @@ +name = 'Perl' +version = '5.20.3' + +homepage = 'http://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'intel', 'version': '2015a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.cpan.org/src/5.0'] +sources = [SOURCELOWER_TAR_GZ] + +exts_list = [ + ('Config::General', '2.58', { + 'source_tmpl': 'Config-General-2.58.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + }), + ('File::Listing', '6.04', { + 'source_tmpl': 'File-Listing-6.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('ExtUtils::InstallPaths', '0.011', { + 'source_tmpl': 'ExtUtils-InstallPaths-0.011.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Helpers', '0.022', { + 'source_tmpl': 'ExtUtils-Helpers-0.022.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('TAP::Harness::Env', '3.35', { + 'source_tmpl': 'Test-Harness-3.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-0.008.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-0.039.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-0.34.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Text::Glob', '0.09', { + 'source_tmpl': 'Text-Glob-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('Regexp::Common', '2013031301', { + 'source_tmpl': 'Regexp-Common-2013031301.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-0.15.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-5.2.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + }), + ('Test::Fatal', '0.014', { + 'source_tmpl': 'Test-Fatal-0.014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warnings', '0.021', { + 'source_tmpl': 'Test-Warnings-0.021.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('DateTime::Locale', '0.46', { + 'source_tmpl': 'DateTime-Locale-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('DateTime::TimeZone', '1.93', { + 'source_tmpl': 'DateTime-TimeZone-1.93.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Test::Requires', '0.10', { + 'source_tmpl': 'Test-Requires-0.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Module::Runtime', '0.014', { + 'source_tmpl': 'Module-Runtime-0.014.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + }), + ('Try::Tiny', '0.22', { + 'source_tmpl': 'Try-Tiny-0.22.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Params::Validate', '1.21', { + 'source_tmpl': 'Params-Validate-1.21.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('List::MoreUtils', '0.413', { + 'source_tmpl': 'List-MoreUtils-0.413.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Exporter::Tiny', '0.042', { + 'source_tmpl': 'Exporter-Tiny-0.042.tar.gz', + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/T/TO/TOBYINK'], + }), + ('Class::Singleton', '1.5', { + 'source_tmpl': 'Class-Singleton-1.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('DateTime', '1.20', { + 'source_tmpl': 'DateTime-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::Find::Rule::Perl', '1.15', { + 'source_tmpl': 'File-Find-Rule-Perl-1.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Module::Build', '0.4214', { + 'source_tmpl': 'Module-Build-0.4214.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Readonly', '2.00', { + 'source_tmpl': 'Readonly-2.00.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SA/SANKO'], + }), + ('Git', '0.41', { + 'source_tmpl': 'Git-0.41.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + }), + ('Tree::DAG_Node', '1.27', { + 'source_tmpl': 'Tree-DAG_Node-1.27.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Template', '2.26', { + 'source_tmpl': 'Template-Toolkit-2.26.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('FreezeThaw', '0.5001', { + 'source_tmpl': 'FreezeThaw-0.5001.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/I/IL/ILYAZ/modules'], + }), + ('DBI', '1.634', { + 'source_tmpl': 'DBI-1.634.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + }), + ('DBD::SQLite', '1.48', { + 'source_tmpl': 'DBD-SQLite-1.48.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-0.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AB/ABW'], + }), + ('Archive::Extract', '0.76', { + 'source_tmpl': 'Archive-Extract-0.76.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('DBIx::Simple', '1.35', { + 'source_tmpl': 'DBIx-Simple-1.35.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/J/JU/JUERD'], + }), + ('Shell', '0.72', { + 'source_tmpl': 'Shell-0.72.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + }), + ('File::Spec', '3.47', { + 'source_tmpl': 'PathTools-3.47.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('ExtUtils::MakeMaker', '7.10', { + 'source_tmpl': 'ExtUtils-MakeMaker-7.10.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Simple', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-1.29.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + }), + ('IO::WrapTie', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::SAX::Base', '1.08', { + 'source_tmpl': 'XML-SAX-Base-1.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('XML::NamespaceSupport', '1.11', { + 'source_tmpl': 'XML-NamespaceSupport-1.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('XML::SAX', '0.99', { + 'source_tmpl': 'XML-SAX-0.99.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Test::LeakTrace', '0.15', { + 'source_tmpl': 'Test-LeakTrace-0.15.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GF/GFUJI'], + }), + ('Test::Exception', '0.40', { + 'source_tmpl': 'Test-Exception-0.40.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::Table', '1.130', { + 'source_tmpl': 'Text-Table-1.130.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('MIME::Types', '2.11', { + 'source_tmpl': 'MIME-Types-2.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), + ('Module::Build::XSUtil', '0.16', { + 'source_tmpl': 'Module-Build-XSUtil-0.16.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-0.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + }), + ('HTML::Parser', '3.71', { + 'source_tmpl': 'HTML-Parser-3.71.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-1.2.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + }), + ('Params::Util', '1.07', { + 'source_tmpl': 'Params-Util-1.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('IO::HTML', '1.001', { + 'source_tmpl': 'IO-HTML-1.001.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-0.36.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + }), + ('URI', '1.69', { + 'source_tmpl': 'URI-1.69.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-0.35.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-1.23.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-0.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-0.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('Pod::POM', '2.00', { + 'source_tmpl': 'Pod-POM-2.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-0.07.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + }), + ('Text::Diff', '1.43', { + 'source_tmpl': 'Text-Diff-1.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-0.10.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('IO::Socket::SSL', '2.020', { + 'source_tmpl': 'IO-Socket-SSL-2.020.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-0.004.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/'], + }), + ('Meta::Builder', '0.003', { + 'source_tmpl': 'Meta-Builder-0.003.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-0.114.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('IO::Stringy', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Getopt::Long', '2.47', { + 'source_tmpl': 'Getopt-Long-2.47.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Mouse', 'v2.4.5', { + 'source_tmpl': 'Mouse-v2.4.5.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Test::Version', '2.03', { + 'source_tmpl': 'Test-Version-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('DBIx::Admin::TableInfo', '3.01', { + 'source_tmpl': 'DBIx-Admin-TableInfo-3.01.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Net::HTTP', '6.09', { + 'source_tmpl': 'Net-HTTP-6.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Test::Deep', '0.117', { + 'source_tmpl': 'Test-Deep-0.117.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Warn', '0.30', { + 'source_tmpl': 'Test-Warn-0.30.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('MRO::Compat', '0.12', { + 'source_tmpl': 'MRO-Compat-0.12.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BO/BOBTFISH'], + }), + ('Moo', '2.000002', { + 'source_tmpl': 'Moo-2.000002.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Hash::Merge', '0.200', { + 'source_urls': ['http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/'], + 'source_tmpl': 'Hash-Merge-0.200.tar.gz', + }), + ('SQL::Abstract', '1.81', { + 'source_tmpl': 'SQL-Abstract-1.81.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + }), + ('HTML::Form', '6.03', { + 'source_tmpl': 'HTML-Form-6.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::Copy::Recursive', '0.38', { + 'source_tmpl': 'File-Copy-Recursive-0.38.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-0.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('IPC::Run', '0.94', { + 'source_tmpl': 'IPC-Run-0.94.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('HTML::Entities::Interpolate', '1.05', { + 'source_tmpl': 'HTML-Entities-Interpolate-1.05.tgz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('Test::ClassAPI', '1.06', { + 'source_tmpl': 'Test-ClassAPI-1.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Test::Most', '0.34', { + 'source_tmpl': 'Test-Most-0.34.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/O/OV/OVID'], + }), + ('Class::Accessor', '0.34', { + 'source_tmpl': 'Class-Accessor-0.34.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Test::Differences', '0.63', { + 'source_tmpl': 'Test-Differences-0.63.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTTP::Tiny', '0.056', { + 'source_tmpl': 'HTTP-Tiny-0.056.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('Package::DeprecationManager', '0.14', { + 'source_tmpl': 'Package-DeprecationManager-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-2.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Date::Language', '2.30', { + 'source_tmpl': 'TimeDate-2.30.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('version', '0.9912', { + 'source_tmpl': 'version-0.9912.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JP/JPEACOCK'], + }), + ('Sub::Uplevel', '0.25', { + 'source_tmpl': 'Sub-Uplevel-0.25.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-0.53.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CO/CODECHILD/'], + 'patches': ['XML-Bare-0.53_icc.patch'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-0.11.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Sub::Name', '0.14', { + 'source_tmpl': 'Sub-Name-0.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece', '1.30', { + 'source_tmpl': 'Time-Piece-1.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Digest::HMAC', '1.03', { + 'source_tmpl': 'Digest-HMAC-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('MIME::Lite', '3.030', { + 'source_tmpl': 'MIME-Lite-3.030.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Crypt::Rijndael', '1.13', { + 'source_tmpl': 'Crypt-Rijndael-1.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-1.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Canary::Stability', '2006', { + 'source_tmpl': 'Canary-Stability-2006.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('AnyEvent', '7.11', { + 'source_tmpl': 'AnyEvent-7.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-0.48.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Data::UUID', '1.221', { + 'source_tmpl': 'Data-UUID-1.221.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Test::Pod', '1.51', { + 'source_tmpl': 'Test-Pod-1.51.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-1.71.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + }), + ('Net::SMTP::SSL', '1.03', { + 'source_tmpl': 'Net-SMTP-SSL-1.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::Tiny', '2.06', { + 'source_tmpl': 'XML-Tiny-2.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-3.20.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + }), + ('HTML::Tree', '5.03', { + 'source_tmpl': 'HTML-Tree-5.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CJ/CJM'], + }), + ('Devel::GlobalDestruction', '0.13', { + 'source_tmpl': 'Devel-GlobalDestruction-0.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Expect', '1.32', { + 'source_tmpl': 'Expect-1.32.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SZ/SZABGAB'], + }), + ('Term::UI', '0.46', { + 'source_tmpl': 'Term-UI-0.46.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-v6.0.1.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + }), + ('XML::SAX::Writer', '0.56', { + 'source_tmpl': 'XML-SAX-Writer-0.56.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + }), + ('Statistics::Descriptive', '3.0609', { + 'source_tmpl': 'Statistics-Descriptive-3.0609.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Class::Load', '0.23', { + 'source_tmpl': 'Class-Load-0.23.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('LWP::Simple', '6.13', { + 'source_tmpl': 'libwww-perl-6.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-0.06.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Package::Stash::XS', '0.28', { + 'source_tmpl': 'Package-Stash-XS-0.28.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('GD::Graph', '1.49', { + 'source_tmpl': 'GDGraph-1.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RUZ'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-0.30.tgz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + }), + ('boolean', '0.45', { + 'source_tmpl': 'boolean-0.45.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-1.75.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + }), + ('Test::Tester', '1.001014', { + 'source_tmpl': 'Test-Simple-1.001014.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Test::NoWarnings', '1.04', { + 'source_tmpl': 'Test-NoWarnings-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-2.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + }), + ('Exporter', '5.72', { + 'source_tmpl': 'Exporter-5.72.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Class::Inspector', '1.28', { + 'source_tmpl': 'Class-Inspector-1.28.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Parse::RecDescent', '1.967012', { + 'source_tmpl': 'Parse-RecDescent-1.967012.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + }), + ('Carp', '1.36', { + 'source_tmpl': 'Carp-1.36.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('XML::XPath', '1.13', { + 'source_tmpl': 'XML-XPath-1.13.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MS/MSERGEANT'], + }), + ('Capture::Tiny', '0.30', { + 'source_tmpl': 'Capture-Tiny-0.30.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + }), + ('JSON', '2.90', { + 'source_tmpl': 'JSON-2.90.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Sub::Exporter', '0.987', { + 'source_tmpl': 'Sub-Exporter-0.987.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Class::Load::XS', '0.09', { + 'source_tmpl': 'Class-Load-XS-0.09.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-1.15.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + }), + ('Sub::Exporter::Progressive', '0.001011', { + 'source_tmpl': 'Sub-Exporter-Progressive-0.001011.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('LWP', '6.13', { + 'source_tmpl': 'libwww-perl-6.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Data::Dumper::Concise', '2.022', { + 'source_tmpl': 'Data-Dumper-Concise-2.022.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/F/FR/FREW'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-0.004.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('Algorithm::Diff', '1.1903', { + 'source_tmpl': 'Algorithm-Diff-1.1903.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TY/TYEMQ'], + }), + ('AnyData', '0.12', { + 'source_tmpl': 'AnyData-0.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-1.7.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + }), + ('Class::Data::Inheritable', '0.08', { + 'source_tmpl': 'Class-Data-Inheritable-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('Text::Balanced', '2.03', { + 'source_tmpl': 'Text-Balanced-2.03.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + }), + ('strictures', '2.000001', { + 'source_tmpl': 'strictures-2.000001.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-2.17.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + }), + ('File::Which', '1.19', { + 'source_tmpl': 'File-Which-1.19.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-1.005.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Error', '0.17024', { + 'source_tmpl': 'Error-0.17024.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Mock::Quick', '1.110', { + 'source_tmpl': 'Mock-Quick-1.110.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('Text::CSV', '1.33', { + 'source_tmpl': 'Text-CSV-1.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA'], + }), + ('Test::Output', '1.03', { + 'source_tmpl': 'Test-Output-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-v3.0.17.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('List::AllUtils', '0.09', { + 'source_tmpl': 'List-AllUtils-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KASEI'], + }), + ('Exception::Class', '1.39', { + 'source_tmpl': 'Exception-Class-1.39.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-4.42.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-0.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-0.61.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + }), + ('Eval::Closure', '0.13', { + 'source_tmpl': 'Eval-Closure-0.13.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('HTTP::Request', '6.11', { + 'source_tmpl': 'HTTP-Message-6.11.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('XML::Twig', '3.49', { + 'source_tmpl': 'XML-Twig-3.49.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-1.08.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('XML::Simple', '2.20', { + 'source_tmpl': 'XML-Simple-2.20.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-0.928.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('HTTP::Cookies', '6.01', { + 'source_tmpl': 'HTTP-Cookies-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + }), + ('Test::Exception::LessClever', '0.006', { + 'source_tmpl': 'Test-Exception-LessClever-0.006.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + }), + ('LWP::MediaTypes', '6.02', { + 'source_tmpl': 'LWP-MediaTypes-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Scalar::Util', '1.42', { + 'source_tmpl': 'Scalar-List-Utils-1.42.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-0.07.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('IO::Scalar', '2.111', { + 'source_tmpl': 'IO-stringy-2.111.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSKOLL'], + }), + ('Class::Trigger', '0.14', { + 'source_tmpl': 'Class-Trigger-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + }), + ('HTTP::Daemon', '6.01', { + 'source_tmpl': 'HTTP-Daemon-6.01.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('File::HomeDir', '1.00', { + 'source_tmpl': 'File-HomeDir-1.00.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('HTTP::Date', '6.02', { + 'source_tmpl': 'HTTP-Date-6.02.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-2.16.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GB/GBARR'], + }), + ('Clone', '0.38', { + 'source_tmpl': 'Clone-0.38.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + }), + ('Data::Types', '0.09', { + 'source_tmpl': 'Data-Types-0.09.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DW/DWHEELER'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-1.002005.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + }), + ('DateTime::Tiny', '1.04', { + 'source_tmpl': 'DateTime-Tiny-1.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('DBD::AnyData', '0.110', { + 'source_tmpl': 'DBD-AnyData-0.110.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('Text::Format', '0.59', { + 'source_tmpl': 'Text-Format-0.59.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + }), + ('Devel::CheckCompiler', '0.06', { + 'source_tmpl': 'Devel-CheckCompiler-0.06.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + }), + ('Log::Handler', '0.87', { + 'source_tmpl': 'Log-Handler-0.87.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-1.03.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/T/TM/TMTM'], + }), + ('HTML::Entities', '3.71', { + 'source_tmpl': 'HTML-Parser-3.71.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/G/GA/GAAS'], + }), + ('Devel::StackTrace', '2.00', { + 'source_tmpl': 'Devel-StackTrace-2.00.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + }), + ('Term::ReadKey', '2.33', { + 'source_tmpl': 'TermReadKey-2.33.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-1.19.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + }), + ('Moose', '2.1603', { + 'source_tmpl': 'Moose-2.1603.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + }), + ('Algorithm::Dependency', '1.110', { + 'source_tmpl': 'Algorithm-Dependency-1.110.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AD/ADAMK'], + }), + ('Font::TTF', '1.05', { + 'source_tmpl': 'Font-TTF-1.05.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MH/MHOSKEN'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-0.048.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('File::Find::Rule', '0.33', { + 'source_tmpl': 'File-Find-Rule-0.33.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + }), + ('SQL::Statement', '1.407', { + 'source_tmpl': 'SQL-Statement-1.407.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + }), + ('File::Slurp', '9999.19', { + 'source_tmpl': 'File-Slurp-9999.19.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/U/UR/URI'], + }), + ('Package::Stash', '0.37', { + 'source_tmpl': 'Package-Stash-0.37.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/D/DO/DOY'], + }), + ('Data::OptList', '0.109', { + 'source_tmpl': 'Data-OptList-0.109.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('CPANPLUS', '0.9154', { + 'source_tmpl': 'CPANPLUS-0.9154.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + }), + ('Test::Harness', '3.35', { + 'source_tmpl': 'Test-Harness-3.35.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + }), + ('IO::Tty', '1.12', { + 'source_tmpl': 'IO-Tty-1.12.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + }), + ('Text::Soundex', '3.04', { + 'source_tmpl': 'Text-Soundex-3.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + }), + ('Lingua::EN::PluralToSingular', '0.14', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-0.14.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/B/BK/BKB'], + }), + ('Want', '0.26', { + 'source_tmpl': 'Want-0.26.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + }), + ('Cwd::Guard', '0.04', { + 'source_tmpl': 'Cwd-Guard-0.04.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + }), + ('Bundle::BioPerl', '2.1.9', { + 'source_tmpl': 'Bundle-BioPerl-2.1.9.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS'], + }), + ('Mail::Util', '2.14', { + 'source_tmpl': 'MailTools-2.14.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + }), +] + +moduleclass = 'lang' -- GitLab From 5baa6d14a4f0a16626d4317e433b63f618984f40 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 14 Apr 2016 10:22:07 +0200 Subject: [PATCH 0847/1089] fix Perl dependency in worker, it required non-standard Perl modules --- easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb b/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb index e3023d8f2c..cdf0174497 100644 --- a/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb +++ b/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb @@ -15,7 +15,7 @@ source_urls = ['https://github.com/gjbex/worker/archive/'] sources = ['%(version)s.tar.gz'] dependencies = [ - ('Perl', '5.20.1', '-bare') + ('Perl', '5.20.3') ] # adjust worker configuration file -- GitLab From c8354ece8ecb261c40e561951d32c1d0c002684f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 14 Apr 2016 13:10:24 +0200 Subject: [PATCH 0848/1089] add easyconfig dask-0.8.2-intel-2016a-Python-2.7.11.eb --- .../dask-0.8.2-intel-2016a-Python-2.7.11.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..10a9f3bf36 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'dask' +version = '0.8.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://github.com/dask/dask/' +description = """Dask provides multi-core execution on larger-than-memory datasets using blocked algorithms + and task scheduling.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('Python', '2.7.11')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'data' -- GitLab From 15df4db6a6f422c44e7f33a2f203776aca51fd47 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 14 Apr 2016 13:16:45 +0200 Subject: [PATCH 0849/1089] add easyconfig dask-0.8.2-intel-2016a-Python-3.5.1.eb --- .../dask-0.8.2-intel-2016a-Python-3.5.1.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-3.5.1.eb diff --git a/easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-3.5.1.eb new file mode 100644 index 0000000000..7dcf741ab4 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-0.8.2-intel-2016a-Python-3.5.1.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'dask' +version = '0.8.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://github.com/dask/dask/' +description = """Dask provides multi-core execution on larger-than-memory datasets using blocked algorithms + and task scheduling.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('Python', '3.5.1')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'data' -- GitLab From a34e72227fe18a01ef50128de64d8b9dd7aab7ce Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 14 Apr 2016 13:41:02 +0200 Subject: [PATCH 0850/1089] add easyconfig worker-1.6.4-intel-2016a.eb --- .../w/worker/worker-1.6.4-intel-2016a.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb b/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb new file mode 100644 index 0000000000..3c373e597a --- /dev/null +++ b/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'worker' +version = '1.6.4' + +homepage = 'https://github.com/gjbex/worker' +description = """The Worker framework has been developed to help deal with parameter exploration experiments + that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; + see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/gjbex/worker/archive/'] +sources = ['%(version)s.tar.gz'] + +dependencies = [ + ('Perl', '5.22.1') +] + +# adjust worker configuration file +# note: tweak this to your local setup +postinstallcmds = [ + 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', # tweak this + 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', # tweak this + 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', # tweak this (maybe) + 'sed -i "s@ mpi_module = .*@ mpi_module = intel/2016a@g" %(installdir)s/conf/worker.conf', # tweak this (maybe) +] + +moduleclass = 'tools' -- GitLab From 942d3126ede0f528f12f643439eab5b7d96d7043 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 14 Apr 2016 14:35:01 +0200 Subject: [PATCH 0851/1089] add XZ as dependency in Python 3.5.1 easyconfigs, required for lzma --- easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb | 1 + easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb | 1 + 2 files changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb index 782d02fe62..c11711336f 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-foss-2016a.eb @@ -22,6 +22,7 @@ dependencies = [ ('SQLite', '3.9.2'), ('Tk', '8.6.4', '-no-X11'), ('GMP', '6.1.0'), + ('XZ', '5.2.2'), # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's # nice to have an up to date openssl for security reasons ] diff --git a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb index 5dcd8c848b..f0600eefc0 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.5.1-intel-2016a.eb @@ -22,6 +22,7 @@ dependencies = [ ('SQLite', '3.9.2'), ('Tk', '8.6.4', '-no-X11'), ('GMP', '6.1.0'), + ('XZ', '5.2.2'), # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's # nice to have an up to date openssl for security reasons ] -- GitLab From c9dd68acf5e40c1f285cc47073077135a7c24887 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 14 Apr 2016 08:38:54 -0400 Subject: [PATCH 0852/1089] PGI: adjust license file (suggested by @boegel) and add numactl-GCCcore dependency. --- .../n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb | 25 +++++++++++++++++++ .../p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb | 4 +-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb new file mode 100644 index 0000000000..e54c32859f --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.11' + +checksums = ['d3bc88b7ddb9f06d60898f4816ae9127'] + +homepage = 'http://oss.sgi.com/projects/libnuma/' +description = """The numactl program allows you to run your application program on specific cpu's and memory nodes. + It does this by supplying a NUMA memory policy to the operating system before running your program. + The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} + +source_urls = ['ftp://oss.sgi.com/www/projects/libnuma/download/'] +sources = [SOURCE_TAR_GZ] + +builddependencies = [('binutils', '2.25')] + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb index def0637f0b..1b4b9a4866 100644 --- a/easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/p/PGI/PGI-16.3-GCC-4.9.3-2.25.eb @@ -16,10 +16,10 @@ versionsuffix = '-GCC-%s-%s' % (gccver, binutilsver) dependencies = [ ('GCCcore', gccver), ('binutils', binutilsver, '', ('GCCcore', gccver)), + ('numactl', '2.0.11', '', ('GCCcore', gccver)), ] # license file -import os -license_file = os.path.join(os.getenv('HOME'), "licenses", "pgi", "license.dat") +license_file = HOME + '/licenses/pgi/license.dat' moduleclass = 'compiler' -- GitLab From e913f23e064c6018bcd09084aebc10d61b54e7ea Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 14:51:53 +0200 Subject: [PATCH 0853/1089] Almost there for ALPS --- ...1.eb => ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb} | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/a/ALPS/{ALPS-2.2b4-intel-2016a-Python-2.7.11.eb => ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb} (73%) diff --git a/easybuild/easyconfigs/a/ALPS/ALPS-2.2b4-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb similarity index 73% rename from easybuild/easyconfigs/a/ALPS/ALPS-2.2b4-intel-2016a-Python-2.7.11.eb rename to easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb index 27a5876ff2..cf98c0aae4 100644 --- a/easybuild/easyconfigs/a/ALPS/ALPS-2.2b4-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb @@ -1,7 +1,7 @@ easyblock = 'CMakeMake' name = 'ALPS' -version = '2.2b4' +version = '2.2.b4' versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.example.com' @@ -17,12 +17,20 @@ source_urls = ['http://alps.comp-phys.org/static/software/releases'] builddependencies = [('CMake', '3.4.3')] dependencies = [ + ('zlib', '1.2.8'), ('Python', '2.7.11'), - ('Boost', '1.60.0', versionsuffix), + ('Boost', '1.58.0', versionsuffix), ('HDF5', '1.8.16'), ('matplotlib', '1.5.1', versionsuffix), ] +configopts = '-DSZIP_INCLUDE_DIR=$EBROOTSZIP/include -DSZIP_LIBRARY=$EBROOTSZIP/lib ' +configopts += '-DFFTW_LIBRARIES=$FFTW_LIB_DIR -DFFTW_INCLUDE_DIR=$FFTW_INC_DIR' + +separate_build_dir = True + +maxparallel = 1 + sanity_check_paths = { 'files': [], 'dirs': ["."] -- GitLab From 8e87dab94667a21f1e994e7548b7bfc681751c91 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 15:12:02 +0200 Subject: [PATCH 0854/1089] Add Boost 1.58 for intel/2016a --- .../Boost-1.58.0-intel-2016a-Python-2.7.11.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/b/Boost/Boost-1.58.0-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.58.0-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/b/Boost/Boost-1.58.0-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..f392ae7ad4 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.58.0-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,23 @@ +name = 'Boost' +version = '1.58.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('Python', '2.7.11'), +] + +# also build boost_mpi +boost_mpi = True + +moduleclass = 'devel' -- GitLab From e9dedd35e4fdb96140766e12e25dc1be849b8708 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 15:35:32 +0200 Subject: [PATCH 0855/1089] Add MariaDB 10.1.13 --- .../j/jemalloc/jemalloc-4.1.0-intel-2016a.eb | 23 +++++++++++++++ .../m/MariaDB/MariaDB-10.1.13-intel-2016a.eb | 29 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb new file mode 100644 index 0000000000..76daf74962 --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '4.1.0' + +homepage = 'http://www.canonware.com/jemalloc' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.canonware.com/download/jemalloc/'] +sources = [SOURCE_TAR_BZ2] + +sanity_check_paths = { + 'files': ['bin/pprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'lib/libjemalloc.so.1', 'include/jemalloc/jemalloc.h'], + 'dirs': ['share'], +} + +modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.so.1']} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb new file mode 100644 index 0000000000..e373db06bd --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '10.1.13' + +homepage = 'https://mariadb.org/' +description = """MariaDB An enhanced, drop-in replacement for MySQL.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://downloads.mariadb.org/f/mariadb-%(version)s/source'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.8'), + ('ncurses', '6.0'), + ('jemalloc', '4.1.0'), +] + +builddependencies = [('CMake', '3.4.3')] + +#configopts = "-DCURSES_LIBRARY=$EBROOTNCURSES/lib/libncurses.so -DCURSES_INCLUDE_PATH=$EBROOTNCURSES/include" + +sanity_check_paths = { + 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], + 'dirs': ['include', 'share'], +} + +moduleclass = 'data' -- GitLab From f1eefdcb7cbdca66815ced46a8c94986afd8e219 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 15:37:25 +0200 Subject: [PATCH 0856/1089] jemalloc: use github --- .../easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb index 76daf74962..840d6b9d2e 100644 --- a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb @@ -9,8 +9,8 @@ description = """jemalloc is a general purpose malloc(3) implementation that emp toolchain = {'name': 'intel', 'version': '2016a'} -source_urls = ['http://www.canonware.com/download/jemalloc/'] -sources = [SOURCE_TAR_BZ2] +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] sanity_check_paths = { 'files': ['bin/pprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, -- GitLab From 9b6344d8e154a27ab11b607c9fe36330c4c4d291 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 15:44:15 +0200 Subject: [PATCH 0857/1089] Use autogen for jemalloc --- .../easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb index 840d6b9d2e..26a2f81a65 100644 --- a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb @@ -12,6 +12,10 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['https://github.com/jemalloc/jemalloc/archive'] sources = ['%(version)s.tar.gz'] +builddependencies = [('Autotools', '20150215')] + +preconfigopts = "./autogen.sh && " + sanity_check_paths = { 'files': ['bin/pprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, 'lib/libjemalloc.so.1', 'include/jemalloc/jemalloc.h'], -- GitLab From 57391a12530ca3fde36656478ed248ed9ecd0b3f Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 15:49:35 +0200 Subject: [PATCH 0858/1089] Fix jemalloc build --- easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb index 26a2f81a65..59c52ac8e4 100644 --- a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb @@ -15,6 +15,7 @@ sources = ['%(version)s.tar.gz'] builddependencies = [('Autotools', '20150215')] preconfigopts = "./autogen.sh && " +prebuildopts = "make dist && " sanity_check_paths = { 'files': ['bin/pprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, -- GitLab From 87d301508772d255d769f48a01cc79b066c30236 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 15:53:00 +0200 Subject: [PATCH 0859/1089] Fix sanity check of jemalloc --- .../easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb index 59c52ac8e4..e13485c431 100644 --- a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb @@ -18,11 +18,11 @@ preconfigopts = "./autogen.sh && " prebuildopts = "make dist && " sanity_check_paths = { - 'files': ['bin/pprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, - 'lib/libjemalloc.so.1', 'include/jemalloc/jemalloc.h'], + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'lib/libjemalloc.so.2', 'include/jemalloc/jemalloc.h'], 'dirs': ['share'], } -modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.so.1']} +modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.so.2']} moduleclass = 'lib' -- GitLab From 494835b0f6103687cafe2ccb67e54767058a8651 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 16:20:47 +0200 Subject: [PATCH 0860/1089] Add options to MariaDB --- .../easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb index e373db06bd..dc6e52c840 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb @@ -15,11 +15,13 @@ dependencies = [ ('zlib', '1.2.8'), ('ncurses', '6.0'), ('jemalloc', '4.1.0'), + ('PCRE', '8.38'), + ('XZ', '5.2.2'), ] builddependencies = [('CMake', '3.4.3')] -#configopts = "-DCURSES_LIBRARY=$EBROOTNCURSES/lib/libncurses.so -DCURSES_INCLUDE_PATH=$EBROOTNCURSES/include" +configopts = "-DWITH_PCRE=system -DWITH_JEMALLOC=yes -DWITH_ZLIB=system -DWITH_INNODB_LZMA=on" sanity_check_paths = { 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], -- GitLab From b1e18a3183cb74b9ad3de414a1610cadfb7a7f98 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 16:54:14 +0200 Subject: [PATCH 0861/1089] Even more deps for MariaDB --- easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb index dc6e52c840..68f736cb1a 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb @@ -17,6 +17,8 @@ dependencies = [ ('jemalloc', '4.1.0'), ('PCRE', '8.38'), ('XZ', '5.2.2'), + ('Boost', '1.60.0'), + ('libxml2', '2.9.3'), ] builddependencies = [('CMake', '3.4.3')] -- GitLab From e8ddbaeb437dc2dd0d5f91184e5872522e2a5aee Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 14 Apr 2016 17:37:34 +0200 Subject: [PATCH 0862/1089] Add PostgreSQL 9.5.2 --- .../PostgreSQL-9.5.2-intel-2016a.eb | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a.eb diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a.eb new file mode 100644 index 0000000000..eef652753d --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '9.5.2' + +homepage = 'http://www.mysql.com/' +description = """PostgreSQL is a powerful, open source object-relational database system. + It is fully ACID compliant, has full support for foreign keys, + joins, views, triggers, and stored procedures (in multiple languages). + It includes most SQL:2008 data types, including INTEGER, + NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. + It also supports storage of binary large objects, including pictures, + sounds, or video. It has native programming interfaces for C/C++, Java, + .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.""" + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +osdependencies = [('openssl-devel', 'libssl-dev')] + +java = 'Java' +javaver = '1.8.0_77' + +dependencies = [ + (java, javaver, '', True), + ('libreadline', '6.3'), + ('zlib', '1.2.8'), + ('Python', '2.7.11'), + # ('OpenSSL', '1.0.1i'), # OS dependency should be preferred for security reasons +] + +builddependencies = [ + ('Bison', '3.0.4'), + ('flex', '2.6.0'), + ('Perl', '5.22.1'), +] + +configopts = '--with-python --with-openssl' + +sanity_check_paths = { + 'files': ['bin/psql'], + 'dirs': [], +} + +moduleclass = 'data' -- GitLab From 2c9d18f3b8b4ad7726e68f266d51a22177c755d5 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Thu, 14 Apr 2016 10:21:58 -0700 Subject: [PATCH 0863/1089] Fix source_urls for CUDA 7.0.28 --- easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb b/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb index 87e535776e..ab24e09cd3 100644 --- a/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb +++ b/easybuild/easyconfigs/c/CUDA/CUDA-7.0.28.eb @@ -9,7 +9,9 @@ description = """CUDA (formerly Compute Unified Device Architecture) is a parall toolchain = {'name': 'dummy', 'version': 'dummy'} -source_urls = ['http://developer.download.nvidia.com/compute/cuda/%(version_major_minor)s/Prod/local_installers/'] +source_urls = [ + 'http://developer.download.nvidia.com/compute/cuda/%(version_major)s_%(version_minor)s/Prod/local_installers/', +] sources = ['%(namelower)s_%(version)s_linux.run'] -- GitLab From bb3faf23369c5cb5c69f998022a92109f0a88487 Mon Sep 17 00:00:00 2001 From: Stephane Thiell Date: Thu, 14 Apr 2016 10:42:39 -0700 Subject: [PATCH 0864/1089] cuDNN: use 5.0-rc instead of 5.0 (RC version) --- .../easyconfigs/c/cuDNN/{cuDNN-5.0.eb => cuDNN-5.0-rc.eb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/c/cuDNN/{cuDNN-5.0.eb => cuDNN-5.0-rc.eb} (91%) diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-5.0-rc.eb similarity index 91% rename from easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb rename to easybuild/easyconfigs/c/cuDNN/cuDNN-5.0-rc.eb index fcf816c8fb..536c2f33c6 100644 --- a/easybuild/easyconfigs/c/cuDNN/cuDNN-5.0.eb +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-5.0-rc.eb @@ -6,7 +6,7 @@ easyblock = 'Tarball' name = 'cuDNN' -version = '5.0' +version = '5.0-rc' homepage = 'https://developer.nvidia.com/cudnn' description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for @@ -16,7 +16,7 @@ toolchain = {'name': 'dummy', 'version': 'dummy'} # Nvidia developer registration required. # Download link: https://developer.nvidia.com/rdp/cudnn-download -sources = ['%(namelower)s-7.5-linux-x64-v%(version)s-rc.tgz'] +sources = ['%(namelower)s-7.5-linux-x64-v%(version)s.tgz'] dependencies = [('CUDA', '7.5.18')] -- GitLab From 08549d2371151ec00e4332545557bbc407b77f12 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 15 Apr 2016 14:12:41 +1200 Subject: [PATCH 0865/1089] Added zlib configopt per request --- easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb index 7c1a817fb6..59e0331739 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-foss-2015a.eb @@ -16,7 +16,7 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' dependencies = [ ('zlib', '1.2.8'), -- GitLab From a97102970f055a0393f3c52d072bd3f55aed02cc Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Fri, 15 Apr 2016 16:47:05 +1200 Subject: [PATCH 0866/1089] Update checksum --- easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb index 3ea34a9824..99e680c26d 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.1.1-intel-2015a.eb @@ -14,8 +14,10 @@ source_urls = ['http://www.thch.uni-bonn.de/tc/downloads/%(name)s/data'] # tarballs with the same version number can have different checksums. For this # reason, it is suggested to manually download and rename the tarball. The # checksum may also need updating from time to time. +# Checksum last updated: 15 April 2016 +# Date tarball was reported to have been modified: 11 January 2016 sources = ['dftd3-%(version)s.tgz'] -checksums = [('md5', '88470bd398b5cc90ad680ed1df4239f7')] +checksums = [('md5', 'c9d6a92c43bb2ba71ad75f388fdce216')] files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] -- GitLab From cffac5f722257a77ce6ef8b6a705c3f67ab81d8e Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 15 Apr 2016 13:03:39 +0800 Subject: [PATCH 0867/1089] files generated with "eb Python-2.7.11-intel-2016a.eb --try-toolchain=intel,2016.02-GCC-4.9 -r" --- .../Autoconf-2.69-intel-2016.02-GCC-4.9.eb | 26 ++++ .../Automake-1.15-intel-2016.02-GCC-4.9.eb | 33 +++++ ...utotools-20150215-intel-2016.02-GCC-4.9.eb | 17 +++ .../bzip2-1.0.6-intel-2016.02-GCC-4.9.eb | 15 ++ .../g/GMP/GMP-6.1.0-intel-2016.02-GCC-4.9.eb | 30 ++++ .../libreadline-6.3-intel-2016.02-GCC-4.9.eb | 30 ++++ .../libtool-2.4.6-intel-2016.02-GCC-4.9.eb | 17 +++ .../m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb | 23 +++ .../ncurses-6.0-intel-2016.02-GCC-4.9.eb | 34 +++++ .../Python-2.7.11-intel-2016.02-GCC-4.9.eb | 139 ++++++++++++++++++ .../SQLite-3.9.2-intel-2016.02-GCC-4.9.eb | 40 +++++ .../t/Tcl/Tcl-8.6.4-intel-2016.02-GCC-4.9.eb | 25 ++++ .../Tk-8.6.4-intel-2016.02-GCC-4.9-no-X11.eb | 26 ++++ .../zlib/zlib-1.2.8-intel-2016.02-GCC-4.9.eb | 22 +++ 14 files changed, 477 insertions(+) create mode 100644 easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/a/Automake/Automake-1.15-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/a/Autotools/Autotools-20150215-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/g/GMP/GMP-6.1.0-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/l/libtool/libtool-2.4.6-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-6.0-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/t/Tcl/Tcl-8.6.4-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016.02-GCC-4.9-no-X11.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-intel-2016.02-GCC-4.9.eb diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..e627b672b4 --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.69' + +homepage = 'http://www.gnu.org/software/autoconf/' +description = """Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can adapt the + packages to many kinds of UNIX-like systems without manual user intervention. Autoconf + creates a configuration script for a package from a template file that lists the + operating system features that the package can use, in the form of M4 macro calls.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", + "autoupdate", "ifnames"]], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..84750fffa9 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'Automake' +version = "1.15" + +homepage = 'http://www.gnu.org/software/automake/automake.html' +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [('Autoconf', '2.69')] + +sanity_check_paths = { + 'files': ['bin/automake', 'bin/aclocal'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20150215-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..65fd1e93a3 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20150215-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,17 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20150215' # date of the most recent change + +homepage = 'http://autotools.io' +description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +dependencies = [ + ('Autoconf', '2.69'), # 20120424 + ('Automake', '1.15'), # 20150105 + ('libtool', '2.4.6'), # 20150215 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..d048641ea5 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,15 @@ +name = 'bzip2' +version = '1.0.6' + +homepage = 'http://www.bzip.org/' +description = """bzip2 is a freely available, patent free, high-quality data compressor. It typically + compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical + compressors), whilst being around twice as fast at compression and six times faster at decompression.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://www.bzip.org/%(version)s'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.1.0-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/g/GMP/GMP-6.1.0-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..70b7019537 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.1.0-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.1.0' + +homepage = 'http://gmplib.org/' +description = """GMP is a free library for arbitrary precision arithmetic, +operating on signed integers, rational numbers, and floating point numbers. """ + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True, 'precise': True} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://ftp.gnu.org/gnu/gmp'] + +builddependencies = [ + ('Autotools', '20150215'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libgmp.%s' % SHLIB_EXT, 'include/gmp.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..c3f437ac8a --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '6.3' + +homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' +description = """The GNU Readline library provides a set of functions for use by applications that + allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. + The Readline library includes additional functions to maintain a list of previously-entered command lines, + to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True} + +sources = ['readline-%(version)s.tar.gz'] +source_urls = ['http://ftp.gnu.org/gnu/readline'] + +dependencies = [('ncurses', '6.0')] + +# for the termcap symbols, use EB ncurses +preconfigopts = "LDFLAGS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', + 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..857c0faabb --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,17 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.6' + +homepage = 'http://www.gnu.org/software/libtool' +description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries + behind a consistent, portable interface.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [('M4', '1.4.17')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..b3bc79e1fe --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.17' + +homepage = 'http://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +configopts = "--enable-cxx" + +sanity_check_paths = { + 'files': ["bin/m4"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.0-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.0-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..7c1c8c34c6 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.0-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.0' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..b8a12d273e --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,139 @@ +name = 'Python' +version = '2.7.11' + +homepage = 'http://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +numpyversion = '1.10.1' +scipyversion = '0.16.1' + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3'), + ('ncurses', '6.0'), + ('SQLite', '3.9.2'), + ('Tk', '8.6.4', '-no-X11'), + ('GMP', '6.1.0'), + # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's + # nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# order is important! +# package versions updated May 28th 2015 +exts_list = [ + ('setuptools', '18.7.1', { + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + }), + ('pip', '7.1.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + }), + ('nose', '1.3.7', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + }), + ('numpy', numpyversion, { + 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % numpyversion, 'download')], + 'patches': [ + 'numpy-1.8.0-mkl.patch', + 'numpy-%s-sse42.patch' % numpyversion, + ], + }), + ('scipy', scipyversion, { + 'source_urls': [('http://sourceforge.net/projects/scipy/files/scipy/%s' % scipyversion, 'download')], + }), + ('blist', '1.3.6', { + 'source_urls': ['https://pypi.python.org/packages/source/b/blist/'], + }), + ('mpi4py', '1.3.1', { + 'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'], + }), + ('paycheck', '1.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paycheck/'], + }), + ('argparse', '1.4.0', { + 'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'], + }), + ('pbr', '1.8.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'], + }), + ('lockfile', '0.12.2', { + 'source_urls': ['https://pypi.python.org/packages/source/l/lockfile/'], + }), + ('Cython', '0.23.4', { + 'source_urls': ['http://www.cython.org/release/'], + }), + ('six', '1.10.0', { + 'source_urls': ['https://pypi.python.org/packages/source/s/six/'], + }), + ('dateutil', '2.4.2', { + 'source_tmpl': 'python-%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/python-dateutil/'], + }), + ('deap', '1.0.2', { + 'source_tmpl': '%(name)s-%(version)s.post2.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/deap/'], + }), + ('decorator', '4.0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/d/decorator/'], + }), + ('arff', '2.1.0', { + 'source_tmpl': 'liac-%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/l/liac-arff/'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'source_urls': ['http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/'], + }), + ('ecdsa', '0.13', { + 'source_urls': ['https://pypi.python.org/packages/source/e/ecdsa/'], + }), + ('paramiko', '1.16.0', { + 'source_urls': ['https://pypi.python.org/packages/source/p/paramiko/'], + }), + ('pyparsing', '2.0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pyparsing/'], + }), + ('netifaces', '0.10.4', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netifaces'], + }), + ('netaddr', '0.7.18', { + 'source_urls': ['https://pypi.python.org/packages/source/n/netaddr'], + }), + ('funcsigs', '0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/f/funcsigs'], + }), + ('mock', '1.3.0', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mock'], + }), + ('pytz', '2015.7', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pytz'], + }), + ('pandas', '0.17.1', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pandas'], + }), + ('enum34', '1.1.2', { + 'modulename': 'enum', + 'source_urls': ['https://pypi.python.org/packages/source/e/enum34'], + }), + ('bitstring', '3.1.3', { + # grab tarball from GitHub rather than PyPi since 3.1.3 release on PyPi disappeared; + # cfr. https://github.com/scott-griffiths/bitstring/issues/159 + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'source_urls': ['https://github.com/scott-griffiths/bitstring/archive/'], + }), + ('virtualenv', '14.0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/v/virtualenv'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..3555a7ac4c --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,40 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.9.2' + +homepage = 'http://www.sqlite.org/' +description = 'SQLite: SQL Database Engine in a C Library' + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2015/'] +version_str = '%%(version_major)s%s00' % ''.join('%02d' % int(x) for x in version.split('.')[1:]) +sources = ['sqlite-autoconf-%s.tar.gz' % version_str] + +dependencies = [ + ('libreadline', '6.3'), + ('Tcl', '8.6.4'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.4-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.4-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..c2af97cc03 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.4-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.4' + +homepage = 'http://www.tcl.tk/' +description = """Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, +suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +dependencies = [ + ('zlib', '1.2.8'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016.02-GCC-4.9-no-X11.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016.02-GCC-4.9-no-X11.eb new file mode 100644 index 0000000000..ed76be27b6 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.4-intel-2016.02-GCC-4.9-no-X11.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.4' +versionsuffix = '-no-X11' + +homepage = 'http://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building + a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +source_urls = ["http://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] + +patches = ['Tk-%(version)s_different-prefix-with-tcl.patch'] + +dependencies = [ + ('Tcl', version), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib --without-x CFLAGS="-I$EBROOTTCL/include"' + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..a389aa72f5 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.8' + +homepage = 'http://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From e43d75237ef71c7f231673f9c189e1bdafdf0fcf Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 15 Apr 2016 13:11:17 +0800 Subject: [PATCH 0868/1089] adapted from ASE-3.9.1.4567-intel-2016a-Python-2.7.11.eb --- ...0.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb new file mode 100644 index 0000000000..95f2c7f4a5 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'ASE' +version = '3.10.0' + +homepage = 'https://wiki.fysik.dtu.dk/ase/' +description = """ASE is a python package providing an open source Atomic Simulation Environment + in the Python scripting language.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +source_urls = ['https://pypi.python.org/packages/source/a/ase/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] + +pyver = '2.7.11' +pyshortver = '.'.join(pyver.split('.')[:2]) +versionsuffix = '-Python-%s' % pyver + +dependencies = [ + ('Python', pyver), +] + +sanity_check_paths = { + 'files': ['bin/ase-build', 'bin/ase-db', 'bin/ase-gui', 'bin/ase-info', 'bin/ase-run'], + 'dirs': ['lib/python%s/site-packages/%%(namelower)s' % pyshortver], +} + +moduleclass = 'chem' -- GitLab From 213c16a9d14446e594d1873b334a7427e51dcf0f Mon Sep 17 00:00:00 2001 From: RvDijk Date: Fri, 15 Apr 2016 11:40:36 +0200 Subject: [PATCH 0869/1089] DB-6.2.23 for foss 2016a --- .../easyconfigs/d/DB/DB-6.2.23-foss-2016a.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/d/DB/DB-6.2.23-foss-2016a.eb diff --git a/easybuild/easyconfigs/d/DB/DB-6.2.23-foss-2016a.eb b/easybuild/easyconfigs/d/DB/DB-6.2.23-foss-2016a.eb new file mode 100644 index 0000000000..fcf1bd7696 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-6.2.23-foss-2016a.eb @@ -0,0 +1,18 @@ +name = 'DB' +version = '6.2.23' + +homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' +description = """Berkeley DB enables the development of custom data management solutions, + without the overhead traditionally associated with such custom projects.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# download via http://www.oracle.com/technetwork/products/berkeleydb/downloads/, requires registration +sources = [SOURCELOWER_TAR_GZ] + +sanity_check_paths = { + 'files': ["include/db.h"], + 'dirs': [], +} + +moduleclass = 'tools' \ No newline at end of file -- GitLab From 5561b2936134e5e5c2583218364d104f37419971 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 15 Apr 2016 11:46:08 +0200 Subject: [PATCH 0870/1089] Drop java and add Python suffix to PostgreSQL --- ...016a.eb => PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb} | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) rename easybuild/easyconfigs/p/PostgreSQL/{PostgreSQL-9.5.2-intel-2016a.eb => PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb} (95%) diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb similarity index 95% rename from easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a.eb rename to easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb index eef652753d..a7590c6580 100644 --- a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a.eb +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'ConfigureMake' name = 'PostgreSQL' version = '9.5.2' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.mysql.com/' description = """PostgreSQL is a powerful, open source object-relational database system. @@ -20,11 +21,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} osdependencies = [('openssl-devel', 'libssl-dev')] -java = 'Java' -javaver = '1.8.0_77' - dependencies = [ - (java, javaver, '', True), ('libreadline', '6.3'), ('zlib', '1.2.8'), ('Python', '2.7.11'), -- GitLab From 9c90718ca8b5ffefc190be503c2e997aeead2c5b Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 15 Apr 2016 12:09:27 +0200 Subject: [PATCH 0871/1089] Added MADlib --- .../MADlib-1.9-intel-2016a-Python-2.7.11.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..35ae5d23c5 --- /dev/null +++ b/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'MADlib' +version = '1.9' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://madlib.incubator.apache.org' +description = """MADlib: Big Data Machine Learning in SQL for Data Scientists""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = ['apache-madlib-%(version)s-incubating-source.tar.gz'] +source_urls = ['https://dist.apache.org/repos/dist/release/incubator/madlib/%(version)s-incubating'] + +builddependencies = [('CMake', '3.4.3')] + +dependencies = [ + ('Python', '2.7.11'), + ('PostgreSQL', '9.5.2', versionsuffix), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/madpack'], + 'dirs': [] +} + +moduleclass = 'data' -- GitLab From 9e097a1ed69abae68f558a85caa3128c44b78077 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 15 Apr 2016 14:42:37 +0200 Subject: [PATCH 0872/1089] add easyconfig ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb, add easyconfig freetype-2.6.3-intel-2016a.eb --- .../f/freetype/freetype-2.6.3-intel-2016a.eb | 22 ++++++++ ...ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb | 55 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.6.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.3-intel-2016a.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.3-intel-2016a.eb new file mode 100644 index 0000000000..6245460dc2 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.3-intel-2016a.eb @@ -0,0 +1,22 @@ +name = 'freetype' +version = '2.6.3' + +homepage = 'http://freetype.org' +description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and + portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display + servers, font conversion tools, text image generation tools, and many other products as well.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('libpng', '1.6.21')] + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, + 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..2cea64ddb8 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,55 @@ +name = 'ROOT' +version = 'v5.34.36' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = ['%(namelower)s_%(version)s.source.tar.gz'] +source_urls = ['ftp://root.cern.ch/root/'] +patches = [ + 'configure_FftwFromMkl_28.patch', + 'ROOT-v5_recent-ifort.patch', + 'ROOT-v5.34.26_libX.patch', +] + +dependencies = [ + ('GSL', '2.1'), + ('Mesa', '11.1.2'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), + ('CFITSIO', '3.38'), + ('freetype', '2.6.3'), + ('Python', '2.7.11'), + ('zlib', '1.2.8'), + ('libXft', '2.3.2'), + ('libXpm', '3.5.11'), + ('libXext', '1.3.3'), +] + +# use external ZLIB +preconfigopts = 'env ZLIB=$EBROOTZLIB ' + +# architecture +arch = 'linuxx8664icc' + +# disable features +configopts = ' --disable-xrootd --disable-mysql --disable-krb5 --disable-odbc ' +configopts += ' --disable-oracle --disable-pgsql --disable-qt --disable-sqlite' +# enable features +configopts += ' --enable-unuran --enable-table --enable-explicitlink --enable-minuit2 --enable-roofit' +configopts += ' --with-gsl-incdir=$EBROOTGSL/include/gsl --with-gsl-libdir=$EBROOTGSL/lib' +configopts += ' --with-fftw3-incdir=$MKLROOT/mkl/include/fftw --with-fftw3-libdir=$MKLROOT/mkl/lib/intel64' +configopts += ' --with-xml-incdir=$EBROOTLIBXML2/include/libxml2/libxml --with-xml-libdir=$EBROOTLIBXML2/lib' +configopts += ' --with-python-libdir=$EBROOTPYTHON/lib' +configopts += ' --with-cfitsio-incdir=$EBROOTCFITSIO/include --with-cfitsio-libdir=$EBROOTCFITSIO/lib' +configopts += ' --with-opengl-incdir=$EBROOTMESA/include --with-opengl-libdir=$EBROOTMESA/lib' +configopts += ' --with-x11-libdir=$EBROOTLIBX11/lib --with-xext-libdir=$EBROOTLIBXEXT/lib' +configopts += ' --with-xft-libdir=$EBROOTLIBXFT/lib' +configopts += ' --with-xpm-incdir=$EBROOTLIBXPM/include --with-xpm-libdir=$EBROOTLIBXPM/lib' + +moduleclass = 'data' -- GitLab From 523361945d9181f98ac685afa9cebcd16a0644bb Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 15 Apr 2016 14:46:28 +0200 Subject: [PATCH 0873/1089] modernise libxml2 2.9.1 easyconfig --- .../l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb index d68ae2eaee..ae7f22f7a4 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.1-goolf-1.4.10-Python-2.7.5.eb @@ -1,5 +1,6 @@ name = 'libxml2' version = '2.9.1' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://xmlsoft.org/' description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable @@ -13,15 +14,11 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] -configopts = 'CC="$CC" CXX="$CXX" --with-pic' - -pythonver = '2.7.5' -pythonshortver = '.'.join(pythonver.split('.')[0:2]) -versionsuffix = '-%s-%s' % ('Python', pythonver) +configopts = 'CC="$CC" CXX="$CXX" --with-pic --with-zlib=$EBROOTZLIB' dependencies = [ ('zlib', '1.2.8'), - ('Python', pythonver), + ('Python', '2.7.5'), ] moduleclass = 'lib' -- GitLab From 1ac2352b2d011c437af9827b9518b29f661e467e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 15 Apr 2016 14:55:52 +0200 Subject: [PATCH 0874/1089] downgrade back to freetype 2.9.3 due to conflicts in dep graph --- .../r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb index 2cea64ddb8..7d1106317b 100644 --- a/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/r/ROOT/ROOT-v5.34.36-intel-2016a-Python-2.7.11.eb @@ -23,7 +23,7 @@ dependencies = [ ('libxml2', '2.9.3'), ('PCRE', '8.38'), ('CFITSIO', '3.38'), - ('freetype', '2.6.3'), + ('freetype', '2.6.2'), ('Python', '2.7.11'), ('zlib', '1.2.8'), ('libXft', '2.3.2'), -- GitLab From dc578361e24586f76539339d6624d11163d73cfb Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 15 Apr 2016 10:27:01 -0400 Subject: [PATCH 0875/1089] Move checksum under sources. --- .../easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb index e54c32859f..91b7fa73b1 100644 --- a/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.3.eb @@ -3,8 +3,6 @@ easyblock = 'ConfigureMake' name = 'numactl' version = '2.0.11' -checksums = ['d3bc88b7ddb9f06d60898f4816ae9127'] - homepage = 'http://oss.sgi.com/projects/libnuma/' description = """The numactl program allows you to run your application program on specific cpu's and memory nodes. It does this by supplying a NUMA memory policy to the operating system before running your program. @@ -15,6 +13,8 @@ toolchain = {'name': 'GCCcore', 'version': '4.9.3'} source_urls = ['ftp://oss.sgi.com/www/projects/libnuma/download/'] sources = [SOURCE_TAR_GZ] +checksums = ['d3bc88b7ddb9f06d60898f4816ae9127'] + builddependencies = [('binutils', '2.25')] sanity_check_paths = { -- GitLab From 63e171985e5db8c4347f3689c19e473fb2302667 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 15 Apr 2016 22:34:37 +0200 Subject: [PATCH 0876/1089] add easyconfig Singularity-1.0-GCC-4.9.3-2.25.eb --- .../Singularity-1.0-GCC-4.9.3-2.25.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/s/Singularity/Singularity-1.0-GCC-4.9.3-2.25.eb diff --git a/easybuild/easyconfigs/s/Singularity/Singularity-1.0-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/s/Singularity/Singularity-1.0-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..8d785f5395 --- /dev/null +++ b/easybuild/easyconfigs/s/Singularity/Singularity-1.0-GCC-4.9.3-2.25.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Singularity' +version = '1.0' + +homepage = 'http://gmkurtzer.github.io/singularity' +description = """Singularity is a portable application stack packaging and runtime utility.""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +source_urls = ['https://github.com/gmkurtzer/singularity/archive/'] +sources = ['%(version)s.tar.gz'] + +builddependencies = [('Autotools', '20150215')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['bin/sapprun', 'bin/singularity'], + 'dirs': ['libexec/singularity'], +} + +moduleclass = 'tools' -- GitLab From ea458d6c6e4761e35835c3a85f1b25894dc9eab0 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Sat, 16 Apr 2016 07:54:18 +0800 Subject: [PATCH 0877/1089] add CPPFLAGS=-fgnu89-inline to M4 eb --- easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb index b3bc79e1fe..899804b18f 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-intel-2016.02-GCC-4.9.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -configopts = "--enable-cxx" +configopts = "--enable-cxx CPPFLAGS=-fgnu89-inline" sanity_check_paths = { 'files': ["bin/m4"], -- GitLab From 2a5b19d02f135381c0d70b5bddb092400cc9a867 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Sat, 16 Apr 2016 07:55:24 +0800 Subject: [PATCH 0878/1089] use env in libreadline eb --- .../l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb index c3f437ac8a..9c5b9b6279 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-intel-2016.02-GCC-4.9.eb @@ -18,7 +18,7 @@ source_urls = ['http://ftp.gnu.org/gnu/readline'] dependencies = [('ncurses', '6.0')] # for the termcap symbols, use EB ncurses -preconfigopts = "LDFLAGS='-lncurses'" +preconfigopts = "env LDFLAGS='-lncurses'" sanity_check_paths = { 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + -- GitLab From 21ad457a50367bae49fcabae0713cddf08c4fcfa Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Sat, 16 Apr 2016 08:01:55 +0800 Subject: [PATCH 0879/1089] use pyver template --- .../ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb index 95f2c7f4a5..3592b22134 100644 --- a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'PythonPackage' name = 'ASE' version = '3.10.0' +versionsuffix = '-Python-%(pyver)s' homepage = 'https://wiki.fysik.dtu.dk/ase/' description = """ASE is a python package providing an open source Atomic Simulation Environment @@ -12,17 +13,15 @@ toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} source_urls = ['https://pypi.python.org/packages/source/a/ase/'] sources = ['%(namelower)s-%(version)s.tar.gz'] -pyver = '2.7.11' -pyshortver = '.'.join(pyver.split('.')[:2]) versionsuffix = '-Python-%s' % pyver dependencies = [ - ('Python', pyver), + ('Python', '2.7.11'), ] sanity_check_paths = { 'files': ['bin/ase-build', 'bin/ase-db', 'bin/ase-gui', 'bin/ase-info', 'bin/ase-run'], - 'dirs': ['lib/python%s/site-packages/%%(namelower)s' % pyshortver], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], } moduleclass = 'chem' -- GitLab From 4a9dbd98c864d90586d41615b289cb2b617d348d Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Sat, 16 Apr 2016 08:03:41 +0800 Subject: [PATCH 0880/1089] use PYPI_LOWER_SOURCE and SOURCELOWER_TAR_GZ --- .../a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb index 3592b22134..96dd7193cd 100644 --- a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -10,8 +10,8 @@ description = """ASE is a python package providing an open source Atomic Simulat toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} -source_urls = ['https://pypi.python.org/packages/source/a/ase/'] -sources = ['%(namelower)s-%(version)s.tar.gz'] +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] versionsuffix = '-Python-%s' % pyver -- GitLab From 559166337d94b390123c8fd3858e990479bb3851 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Sat, 16 Apr 2016 08:05:29 +0800 Subject: [PATCH 0881/1089] remove duplicated versionsuffix --- .../a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb index 96dd7193cd..ca4b5697db 100644 --- a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -13,8 +13,6 @@ toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} source_urls = [PYPI_LOWER_SOURCE] sources = [SOURCELOWER_TAR_GZ] -versionsuffix = '-Python-%s' % pyver - dependencies = [ ('Python', '2.7.11'), ] -- GitLab From d9bbb9563527681c5ae947bd520e25ff1cadf9ea Mon Sep 17 00:00:00 2001 From: Toon Verstraelen Date: Sat, 16 Apr 2016 17:42:07 +0200 Subject: [PATCH 0882/1089] Fix packmol eb and add newest version --- .../p/packmol/packmol-13.243-ictce-4.1.13.eb | 4 ++-- .../p/packmol/packmol-16.103-intel-2016a.eb | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/p/packmol/packmol-16.103-intel-2016a.eb diff --git a/easybuild/easyconfigs/p/packmol/packmol-13.243-ictce-4.1.13.eb b/easybuild/easyconfigs/p/packmol/packmol-13.243-ictce-4.1.13.eb index 29c565eb8d..669406175c 100644 --- a/easybuild/easyconfigs/p/packmol/packmol-13.243-ictce-4.1.13.eb +++ b/easybuild/easyconfigs/p/packmol/packmol-13.243-ictce-4.1.13.eb @@ -3,13 +3,13 @@ easyblock = "MakeCp" name = 'packmol' version = '13.243' -homepage = 'http://www.cmbi.ru.nl/molden/' +homepage = 'http://www.ime.unicamp.br/~martinez/packmol/' description = "Packing Optimization for Molecular Dynamics Simulations" toolchain = {'name': 'ictce', 'version': '4.1.13'} sources = [SOURCE_TAR_GZ] -source_urls = ['https://packmol.googlecode.com/files'] +source_urls = ['http://leandro.iqm.unicamp.br/packmol/versionhistory'] buildopts = 'FORTRAN="$F90"' diff --git a/easybuild/easyconfigs/p/packmol/packmol-16.103-intel-2016a.eb b/easybuild/easyconfigs/p/packmol/packmol-16.103-intel-2016a.eb new file mode 100644 index 0000000000..a5ed58eedd --- /dev/null +++ b/easybuild/easyconfigs/p/packmol/packmol-16.103-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = "MakeCp" + +name = 'packmol' +version = '16.103' + +homepage = 'http://www.ime.unicamp.br/~martinez/packmol/' +description = "Packing Optimization for Molecular Dynamics Simulations" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://leandro.iqm.unicamp.br/packmol/versionhistory'] + +buildopts = 'FORTRAN="$F90"' + +files_to_copy = [(['packmol'], 'bin'), 'COPYING', 'AUTHORS', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/packmol', 'COPYING', 'AUTHORS', 'LICENSE'], + 'dirs': [], +} + +moduleclass = 'chem' -- GitLab From 2bd9fac7ab90a4cb83e0a5c77cfd85273eb56e91 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Sat, 16 Apr 2016 14:11:16 -0400 Subject: [PATCH 0883/1089] Using %(pyver)s and %(pyshortver)s template for ScientificPython and numpy easyconfig --- .../n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb | 8 +++----- .../ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb | 9 +++------ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb index e591de8fe1..eeb3a0e326 100644 --- a/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb @@ -13,14 +13,12 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['numpy-1.8.1-mkl.patch'] +versionsuffix = '-Python-%(pyver)s' -python = 'Python' -pyver = '2.7.11' -versionsuffix = '-%s-%s' % (python, pyver) +patches = ['numpy-1.8.1-mkl.patch'] dependencies = [ - (python, pyver), + ('Python', '2.7.11'), ] moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb index ef29eaf445..c1b4e8f39a 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb @@ -13,13 +13,10 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/4570'] sources = [SOURCE_TAR_GZ] -pyver = '2.7.11' -pyshortver = '.'.join(pyver.split('.')[:2]) - -versionsuffix = '-Python-%s' % pyver +versionsuffix = '-Python-%(pyver)s' dependencies = [ - ('Python', pyver), + ('Python', '2.7.11'), # older version of numpy than the one included in Python module required # cfr. https://bitbucket.org/khinsen/scientificpython/issue/13/numpy-19-has-dropped-support-for ('numpy', '1.8.2', versionsuffix), @@ -29,7 +26,7 @@ options = {'modulename': 'Scientific'} sanity_check_paths = { 'files': [], - 'dirs': ['lib/python%s/site-packages/Scientific' % pyshortver], + 'dirs': ['lib/python%(pyshortver)s/site-packages/Scientific'], } moduleclass = 'math' -- GitLab From ee958027b6ebcc5c2ee4a0161c16e773e52aa5f9 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Sat, 16 Apr 2016 15:02:52 -0400 Subject: [PATCH 0884/1089] adjust position versionsuffix --- .../n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb | 3 +-- .../ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb index eeb3a0e326..b9ddbc1927 100644 --- a/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/n/numpy/numpy-1.8.2-foss-2016a-Python-2.7.11.eb @@ -1,5 +1,6 @@ name = 'numpy' version = '1.8.2' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.numpy.org' description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: @@ -13,8 +14,6 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] -versionsuffix = '-Python-%(pyver)s' - patches = ['numpy-1.8.1-mkl.patch'] dependencies = [ diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb index c1b4e8f39a..1c40ab4f4d 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'PythonPackage' name = 'ScientificPython' version = '2.9.4' +versionsuffix = '-Python-%(pyver)s' homepage = 'https://sourcesup.cru.fr/projects/scientific-py/' description = """ScientificPython is a collection of Python modules for scientific computing. @@ -13,7 +14,6 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/4570'] sources = [SOURCE_TAR_GZ] -versionsuffix = '-Python-%(pyver)s' dependencies = [ ('Python', '2.7.11'), -- GitLab From f2412f0594a35ca854a7aa07266a8278ef60fb4a Mon Sep 17 00:00:00 2001 From: jrbosch Date: Sat, 16 Apr 2016 15:05:37 -0400 Subject: [PATCH 0885/1089] Update ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb --- .../ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb index 1c40ab4f4d..267282ee97 100644 --- a/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/s/ScientificPython/ScientificPython-2.9.4-foss-2016a-Python-2.7.11.eb @@ -14,7 +14,6 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['https://sourcesup.cru.fr/frs/download.php/file/4570'] sources = [SOURCE_TAR_GZ] - dependencies = [ ('Python', '2.7.11'), # older version of numpy than the one included in Python module required -- GitLab From 7f3237cc029b0d1f089f80a06e6f764807f8e8f7 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sun, 17 Apr 2016 16:16:22 +0200 Subject: [PATCH 0886/1089] preinstall opts --- .../d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb index b280622820..efd22bd922 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb @@ -3,6 +3,9 @@ easyblock = 'PerlModule' name = 'DB_File' version = '1.835' versionsuffix = '-Perl-%(perlver)s' +preinstallopts = 'export DB_FILE_INCLUDE=$EBROOTDB/include DB_FILE_LIB=$EBROOTDB/lib' + + homepage = 'http://perldoc.perl.org/DB_File.html' description = """Perl5 access to Berkeley DB version 1.x.""" @@ -14,7 +17,7 @@ sources = [SOURCE_TAR_GZ] dependencies = [ ('Perl', '5.22.1'), - ('DB', '4.8.30'), + ('DB', '6.2.23'), ] sanity_check_paths = { -- GitLab From b2ba3820d14534216925834905539bb6153994b9 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sun, 17 Apr 2016 17:25:37 +0200 Subject: [PATCH 0887/1089] Bowtie with foss 2016a --- .../b/Bowtie/Bowtie-1.1.2-foss-2016a.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bowtie/Bowtie-1.1.2-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/Bowtie/Bowtie-1.1.2-foss-2016a.eb b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.1.2-foss-2016a.eb new file mode 100644 index 0000000000..7979ba4e23 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.1.2-foss-2016a.eb @@ -0,0 +1,18 @@ +# Modified from existing version by: +# Robert Schmidt +# Ottawa Hospital Research Institute - Bioinformatics Team +name = 'Bowtie' +version = '1.1.2' + +homepage = 'http://bowtie-bio.sourceforge.net/index.shtml' +description = """Bowtie is an ultrafast, memory-efficient short read aligner. +It aligns short DNA sequences (reads) to the human genome. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = ['%(namelower)s-%(version)s-src.zip'] +source_urls = ['http://download.sourceforge.net/bowtie-bio/'] + +moduleclass = 'bio' -- GitLab From 0e80dac7141e79a117e7674230156c9f66204fc1 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 12:36:43 +1200 Subject: [PATCH 0888/1089] New EasyConfig for binutils 2.26 with the GCC core 4.9.2 --- .../b/binutils/binutils-2.26-GCCcore-4.9.2.eb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb new file mode 100644 index 0000000000..75c194bc7b --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'binutils' +version = '2.26' + +homepage = 'http://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '4.9.2'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [ + ('M4', '1.4.17'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + # zlib required, but being linked instatically, so not a runtime dep + ('zlib', '1.2.8'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', True) +] + +# statically link with zlib, to avoid runtime dependency on zlib +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' + +# make sure that system libraries are also considered by ld and ld.gold is also built +# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html +configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' + +binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', + 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in binlist] + + ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + + ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From c6e1b054ff4644003954ba0dbe6ac7dab8a525d9 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 14:25:07 +1200 Subject: [PATCH 0889/1089] New EasyConfig for binutils 2.25 with GCC core 4.9.2 --- .../b/binutils/binutils-2.25-GCCcore-4.9.2.eb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb new file mode 100644 index 0000000000..a9d4815d89 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'binutils' +version = '2.25' + +homepage = 'http://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '4.9.2'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [ + ('M4', '1.4.17'), + ('flex', '2.5.39'), + ('Bison', '3.0.4'), + # zlib required, but being linked instatically, so not a runtime dep + ('zlib', '1.2.8'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', True) +] + +# statically link with zlib, to avoid runtime dependency on zlib +preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' +prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' + +# make sure that system libraries are also considered by ld and ld.gold is also built +# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html +configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' + +binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', + 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in binlist] + + ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + + ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From a0283d931e8b0133cca0e511484f4ddb825824d0 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 14:29:50 +1200 Subject: [PATCH 0890/1089] New EasyConfig for zlib with the GCCcore 4.9.2 compiler --- .../z/zlib/zlib-1.2.8-GCCcore-4.9.2.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-4.9.2.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-4.9.2.eb new file mode 100644 index 0000000000..a7b3977bb9 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-4.9.2.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.8' + +homepage = 'http://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.2'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [('http://sourceforge.net/projects/libpng/files/zlib/%(version)s', 'download')] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.25', '', True)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From 74fa24f980d83f4c0bfed691b837d5137a807a0d Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 14:30:25 +1200 Subject: [PATCH 0891/1089] New EasyConfig for the GCC core -- GCC 4.9.2 compiler --- .../easyconfigs/g/GCCcore/GCCcore-4.9.2.eb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.2.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.2.eb new file mode 100644 index 0000000000..01f4776c64 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-4.9.2.eb @@ -0,0 +1,48 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '4.9.2' + +homepage = 'http://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = {'name': 'dummy', 'version': ''} + +mpfr_version = '3.1.2' +gcc_name = 'GCC' + +source_urls = [ + 'http://ftpmirror.gnu.org/gcc/gcc-%s' % version, # GCC auto-resolving HTTP mirror + 'http://ftpmirror.gnu.org/gmp', # idem for GMP + 'http://ftpmirror.gnu.org/mpfr', # idem for MPFR + 'http://www.multiprecision.org/mpc/download', # MPC official +] +sources = [ + '%s-%s.tar.bz2' % (gcc_name.lower(), version), + 'gmp-6.0.0a.tar.bz2', + 'mpfr-%s.tar.gz' % mpfr_version, + 'mpc-1.0.2.tar.gz', +] + +builddependencies = [ + ('Autotools', '20150215'), + ('binutils', '2.25'), +] + +patches = [('mpfr-%s-allpatches-20141204.patch' % mpfr_version, '../mpfr-%s' % mpfr_version)] + +checksums = [ + '4df8ee253b7f3863ad0b86359cd39c43', # gcc-4.9.2.tar.bz2 + 'b7ff2d88cae7f8085bd5006096eed470', # gmp-6.0.0a.tar.bz2 + '181aa7bb0e452c409f2788a4a7f38476', # mpfr-3.1.2.tar.gz + '68fadff3358fb3e7976c7a398a0af4c3', # mpc-1.0.2.tar.gz + '58aec98d15982f9744a043d2f1c5af82', # mpfr-3.1.2-allpatches-20141204.patch +] + +languages = ['c', 'c++', 'fortran'] + +# building GCC sometimes fails if make parallelism is too high, so let's limit it +maxparallel = 4 + +moduleclass = 'compiler' -- GitLab From 1d9edaed048b05f78f4c52c6c7e8b8985cd9dcd5 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 14:36:06 +1200 Subject: [PATCH 0892/1089] New EasyConfig for flex 2.5.39 with the GCCcore 4.9.2 toolchain --- .../f/flex/flex-2.5.39-GCCcore-4.9.2.eb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.2.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.2.eb new file mode 100644 index 0000000000..71675a8b5c --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-GCCcore-4.9.2.eb @@ -0,0 +1,19 @@ +name = 'flex' +version = '2.5.39' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.2'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +# use same binutils version that was used when building GCCcore toolchain +builddependencies = [ + ('M4', '1.4.17'), + ('binutils', '2.25', '', True) +] + +moduleclass = 'lang' -- GitLab From f0a867d2f56b99b4233ad60709796e966a1d9db7 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 14:40:26 +1200 Subject: [PATCH 0893/1089] New EasyConfig for M4 1.4.17 with the GCCcore 4.9.2 toolchain --- .../m/M4/M4-1.4.17-GCCcore-4.9.2.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb new file mode 100644 index 0000000000..5551b81d85 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.17' + +homepage = 'http://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.2'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.25', '', True)] + +configopts = "--enable-cxx CPPFLAGS='-fgnu89-inline'" + +sanity_check_paths = { + 'files': ["bin/m4"], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 6b51bde2d6ac315665b0bfe4c83df85a81bbd617 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 15:29:53 +1200 Subject: [PATCH 0894/1089] New EasyConfig for Bison 3.0.4 with the GCCcore 4.9.2 toolchain --- .../b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb new file mode 100644 index 0000000000..159751eac5 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.2'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [ + ('M4', '1.4.17'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.25', '', True), +] + + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' -- GitLab From f055ab3a57d7eea9846742e9507bfc302ec8db05 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Mon, 18 Apr 2016 15:39:05 +1200 Subject: [PATCH 0895/1089] New EasyConfig for numactl 2.0.11 with the GCCcore toolchain --- .../n/numactl/numactl-2.0.11-GCCcore-4.9.2.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.2.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.2.eb new file mode 100644 index 0000000000..49ba8f9bf3 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCCcore-4.9.2.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.11' + +homepage = 'http://oss.sgi.com/projects/libnuma/' +description = """The numactl program allows you to run your application program on specific cpu's and memory nodes. + It does this by supplying a NUMA memory policy to the operating system before running your program. + The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.2'} + +source_urls = ['ftp://oss.sgi.com/www/projects/libnuma/download/'] +sources = [SOURCE_TAR_GZ] + +checksums = ['d3bc88b7ddb9f06d60898f4816ae9127'] + +builddependencies = [('binutils', '2.25')] + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' -- GitLab From d5737cc4992c7571f25173d5cabd1b68e76560d5 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Mon, 18 Apr 2016 15:20:26 +0800 Subject: [PATCH 0896/1089] initial commit for BerkeleyGW-1.0.6 using intel-2016.02-GCC-4.9 toolchain (not working) --- .../BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..6b0669dd87 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,24 @@ +easyblock = 'MakeCp' + +name = 'BerkeleyGW' +version = "1.0.6" + +homepage = 'http://www.berkeleygw.org' +description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle + properties and the optical responses of a large variety of materials from bulk + periodic crystals to nanostructures such as slabs, wires and molecules.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'usempi': True} + +source_urls = ['http://www.berkeleygw.org/releases/'] +sources = ['BGW-%(version)s.tar.gz'] +checksums = ['8740562da41e87a62eb8d457675e4bfd'] + +files_to_copy = ['*'] + +prebuildopts = 'touch arch.mk; ' + +buildopts = 'all-flavors' + +parallel = 1 -- GitLab From 39fe8799dc0bf5b5332674dc40ea04a4b452d54c Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 18 Apr 2016 10:02:22 +0200 Subject: [PATCH 0897/1089] Bonnie++ with foss 2016a --- .../b/Bonnie++/Bonnie++-1.97-foss-2016a.eb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb diff --git a/easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb new file mode 100644 index 0000000000..4d9f9e29d3 --- /dev/null +++ b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb @@ -0,0 +1,29 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## + +easyblock = 'ConfigureMake' + +name = 'Bonnie++' +version = '1.97' + +homepage = 'http://www.coker.com.au/bonnie++/' +description = """Bonnie++-1.97: Enhanced performance Test of Filesystem I/O""" + +sources = [SOURCELOWER_TGZ] +source_urls = ['http://www.coker.com.au/bonnie++/experimental'] + +toolchain = {'name': 'foss', 'version': '2016a'} + +sanity_check_paths = { + 'files': ['sbin/bonnie++'], + 'dirs': [] +} + +moduleclass = 'tools' + -- GitLab From b1c9ec39190cbd12d599b1f0df233e09bb29d230 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 18 Apr 2016 10:25:51 +0200 Subject: [PATCH 0898/1089] remove DB eb file --- .../easyconfigs/d/DB/DB-4.8.30-foss2016a.eb | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb deleted file mode 100644 index 0db26d6d7e..0000000000 --- a/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'DB' -version = '4.8.30' - -homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' -description = """Berkeley DB enables the development of custom data management solutions, - without the overhead traditionally associated with such custom projects.""" - -toolchain = {'name': 'foss', 'version': '2016a'} - -source_urls = ['http://download.oracle.com/berkeley-db/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ['include/db.h', 'include/db_cxx.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], - 'dirs': ['bin'], -} - -moduleclass = 'tools' -- GitLab From 23b49aa5020cb896337ae7875a886c2d51b0456d Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 18 Apr 2016 10:27:59 +0200 Subject: [PATCH 0899/1089] removed DB eb file --- .../easyconfigs/d/DB/DB-4.8.30-foss2016a.eb | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb diff --git a/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb b/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb deleted file mode 100644 index 0db26d6d7e..0000000000 --- a/easybuild/easyconfigs/d/DB/DB-4.8.30-foss2016a.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'DB' -version = '4.8.30' - -homepage = 'http://www.oracle.com/technetwork/products/berkeleydb' -description = """Berkeley DB enables the development of custom data management solutions, - without the overhead traditionally associated with such custom projects.""" - -toolchain = {'name': 'foss', 'version': '2016a'} - -source_urls = ['http://download.oracle.com/berkeley-db/'] -sources = [SOURCELOWER_TAR_GZ] - -sanity_check_paths = { - 'files': ['include/db.h', 'include/db_cxx.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], - 'dirs': ['bin'], -} - -moduleclass = 'tools' -- GitLab From 9a01d8b691c5da8fdda8188a18eb4a83458bb119 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 18 Apr 2016 11:23:40 +0200 Subject: [PATCH 0900/1089] export path --- .../d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb index efd22bd922..19d6de4aa0 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb @@ -3,7 +3,6 @@ easyblock = 'PerlModule' name = 'DB_File' version = '1.835' versionsuffix = '-Perl-%(perlver)s' -preinstallopts = 'export DB_FILE_INCLUDE=$EBROOTDB/include DB_FILE_LIB=$EBROOTDB/lib' @@ -20,6 +19,8 @@ dependencies = [ ('DB', '6.2.23'), ] +preinstallopts = 'export DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" && ' + sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], 'dirs': [], -- GitLab From 29a97dd8e9370b38c0947ec500a17f4ef87b2997 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Mon, 18 Apr 2016 17:24:34 +0800 Subject: [PATCH 0901/1089] initial support of Wannier90-1.2 and 2.0.1 with intel-2016.02-GCC-4.9 --- .../Wannier90-1.2-intel-2016.02-GCC-4.9.eb | 25 ++++++++++++++++++ .../Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb | 26 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..71d744077f --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,25 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '1.2' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.wannier.org/code'] + +# ugly hack +prebuildopts = 'rm make.sys; touch make.sys; ' +prebuildopts += 'F90=ifort FCOPTS="-O2" LDOPTS="-O2" LIBDIR=$LAPACK_LIB_DIR LIBS=$LIBLAPACK ' + +files_to_copy = [(['wannier90.x'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/wannier90.x'], + 'dirs': [] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..e7a229fa5e --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,26 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '2.0.1' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.wannier.org/code'] + +# ugly hack +prebuildopts = 'rm make.sys; touch make.sys; ' +prebuildopts += 'F90=ifort COMMS=mpi MPIF90=mpiifort FCOPTS="-O2" LDOPTS="-O2" LIBDIR=$LAPACK_LIB_DIR LIBS=$LIBLAPACK ' + +files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/wannier90.x', 'bin/postw90.x'], + 'dirs': [] +} + +moduleclass = 'chem' -- GitLab From 6e96e854e1786abe3f0676ea977c038f95fe4f5f Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 18 Apr 2016 12:58:45 +0200 Subject: [PATCH 0902/1089] export path --- .../d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb index 19d6de4aa0..b03011fb99 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb @@ -4,8 +4,6 @@ name = 'DB_File' version = '1.835' versionsuffix = '-Perl-%(perlver)s' - - homepage = 'http://perldoc.perl.org/DB_File.html' description = """Perl5 access to Berkeley DB version 1.x.""" @@ -19,7 +17,7 @@ dependencies = [ ('DB', '6.2.23'), ] -preinstallopts = 'export DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" && ' +preinstallopts = 'DB_FILE_INCLUDE=$EBROOTDB/include DB_FILE_LIB=$EBROOTDB/lib ' sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], @@ -27,3 +25,4 @@ sanity_check_paths = { } moduleclass = 'data' + -- GitLab From 8a14112aef54d4ff60bfdc915e2ef1c573862fe4 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 18 Apr 2016 13:15:33 +0200 Subject: [PATCH 0903/1089] preconfigopts --- .../d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb index b03011fb99..85e0ba3145 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb @@ -17,7 +17,7 @@ dependencies = [ ('DB', '6.2.23'), ] -preinstallopts = 'DB_FILE_INCLUDE=$EBROOTDB/include DB_FILE_LIB=$EBROOTDB/lib ' +preconfigopts = 'DB_FILE_INCLUDE=$EBROOTDB/include DB_FILE_LIB=$EBROOTDB/lib ' sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], -- GitLab From e54a2cf119497b7be7322575ab5e5d7bc7efb450 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 18 Apr 2016 13:17:23 +0200 Subject: [PATCH 0904/1089] brackets --- .../d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb index 85e0ba3145..326da3c949 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb @@ -17,7 +17,7 @@ dependencies = [ ('DB', '6.2.23'), ] -preconfigopts = 'DB_FILE_INCLUDE=$EBROOTDB/include DB_FILE_LIB=$EBROOTDB/lib ' +preconfigopts = 'DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], -- GitLab From 281ca1e55eba6725c38c3908d3a9f79d7c294769 Mon Sep 17 00:00:00 2001 From: Markus Geimer Date: Mon, 18 Apr 2016 13:45:40 +0200 Subject: [PATCH 0905/1089] Add easyconfigs for SIONlib (regular and tools) --- .../SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb | 41 +++++++++++++++++++ .../s/SIONlib/SIONlib-1.6.1-foss-2016a.eb | 37 +++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb create mode 100644 easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb new file mode 100644 index 0000000000..b8509256ef --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb @@ -0,0 +1,41 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2016 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# License:: 3-clause BSD +## + +easyblock = 'ConfigureMake' + +name = 'SIONlib' +version = '1.6.1' +versionsuffix = '-tools' + +homepage = 'http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' +description = """SIONlib is a scalable I/O library for parallel access to task-local files. + The library not only supports writing and reading binary data to or from several thousands of + processors into a single or a small number of physical files, but also provides global open + and close functions to access SIONlib files in parallel. This package provides a stripped-down + installation of SIONlib for use with performance tools (e.g., Score-P), with renamed symbols + to avoid conflicts when an application using SIONlib itself is linked against a tool requiring + a different SIONlib version.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = ['sionlib-%(version)sl.tar.gz'] +source_urls = ['http://apps.fz-juelich.de/jsc/sionlib/download.php?version=%(version)sl'] + +checksums = [ + '57208e08309cf8892fe3daee90567d21', # sionlib-1.6.1l.tar.gz +] + +configopts = '--disable-cxx --disable-fortran --disable-ompi' + +sanity_check_paths = { + 'files': ['bin/sionconfig'] + + ['lib/lib%s_64.a' % x for x in ['lsioncom', 'lsiongen', 'lsionser']], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a.eb new file mode 100644 index 0000000000..a093e042cb --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a.eb @@ -0,0 +1,37 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2016 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# License:: 3-clause BSD +## + +easyblock = 'ConfigureMake' + +name = 'SIONlib' +version = '1.6.1' + +homepage = 'http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' +description = """SIONlib is a scalable I/O library for parallel access to task-local files. + The library not only supports writing and reading binary data to or from several thousands of + processors into a single or a small number of physical files, but also provides global open + and close functions to access SIONlib files in parallel. SIONlib provides different interfaces: + parallel access using MPI, OpenMP, or their combination, and sequential access for post-processing + utilities.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://apps.fz-juelich.de/jsc/sionlib/download.php?version=%(version)s'] + +checksums = [ + '47113ebc00ae38c4f0965659427a0242', # sionlib-1.6.1.tar.gz +] + +sanity_check_paths = { + 'files': ['bin/sionconfig'] + + ['lib/lib%s_64.a' % x for x in ['sioncom', 'siongen', 'sionser']], + 'dirs': [] +} + +moduleclass = 'lib' -- GitLab From aaee1240312cea617f9b801a5f04aaaa4c0cb7e4 Mon Sep 17 00:00:00 2001 From: Markus Geimer Date: Mon, 18 Apr 2016 15:27:53 +0200 Subject: [PATCH 0906/1089] As requested, comment on the tools version --- .../easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb index b8509256ef..e773779617 100644 --- a/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.6.1-foss-2016a-tools.eb @@ -10,6 +10,8 @@ easyblock = 'ConfigureMake' name = 'SIONlib' version = '1.6.1' +# Provide a stripped-down version with renamed symbols for tools, +# see description for further details versionsuffix = '-tools' homepage = 'http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' -- GitLab From 9cca4fb7a7bde5cc26ae1676c8bae8ef71ca0b3f Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Mon, 18 Apr 2016 13:33:17 -0400 Subject: [PATCH 0907/1089] add IPython 3.2.3 easyconfig for foss 2016a toolchain --- .../IPython-3.2.3-foss-2016a-Python-2.7.11.eb | 85 +++++++++++++++++++ .../l/libsodium/libsodium-1.0.8-foss-2016a.eb | 20 +++++ .../o/OpenPGM/OpenPGM-5.2.122-foss-2016a.eb | 27 ++++++ ...MQ-15.2.0-foss-2016a-Python-2.7.11-zmq4.eb | 29 +++++++ .../util-linux-2.27.1-foss-2016a.eb | 33 +++++++ .../z/ZeroMQ/ZeroMQ-4.1.4-foss-2016a.eb | 35 ++++++++ 6 files changed, 229 insertions(+) create mode 100644 easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/l/libsodium/libsodium-1.0.8-foss-2016a.eb create mode 100644 easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-foss-2016a-Python-2.7.11-zmq4.eb create mode 100644 easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2016a.eb diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..02467990c5 --- /dev/null +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,85 @@ +easyblock = 'Bundle' + +name = 'IPython' +version = '3.2.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://ipython.org/index.html' +description = """IPython provides a rich architecture for interactive computing with: + Powerful interactive shells (terminal and Qt-based). + A browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media. + Support for interactive data visualization and use of GUI toolkits. + Flexible, embeddable interpreters to load into your own projects. + Easy to use, high performance tools for parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +dependencies = [ + ('Python', '2.7.11'), + ('PyZMQ', '15.2.0', '%s-zmq4' % versionsuffix), +] + +# this is a bundle of Python packages +exts_defaultclass = 'PythonPackage' + +exts_list = [ + ('pysqlite', '2.8.1', { + 'modulename': 'pysqlite2', + 'source_urls': ['https://pypi.python.org/packages/source/p/pysqlite/'], + }), + ('requests', '2.9.1', { + 'source_urls': ['https://pypi.python.org/packages/source/r/requests/'], + }), + ('Pygments', '2.0.2', { + 'source_urls': ['https://pypi.python.org/packages/source/P/Pygments/'], + }), + ('singledispatch', '3.4.0.3', { + 'source_urls': ['https://pypi.python.org/packages/source/s/singledispatch/'], + }), + ('backports.ssl_match_hostname', '3.5.0.1', { + 'source_urls': ['https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/'], + }), + ('certifi', '2015.11.20.1', { + 'source_urls': ['https://pypi.python.org/packages/source/c/certifi/'], + }), + ('backports_abc', '0.4', { + 'source_urls': ['https://pypi.python.org/packages/source/b/backports_abc/'], + }), + ('tornado', '4.3', { + 'source_urls': ['https://pypi.python.org/packages/source/t/tornado/'], + }), + ('Jinja2', '2.8', { + 'source_urls': ['https://pypi.python.org/packages/source/J/Jinja2/'], + }), + ('jsonschema', '2.5.1', { + 'source_urls': ['https://pypi.python.org/packages/source/j/jsonschema/'], + }), + ('mistune', '0.7.1', { + 'source_urls': ['https://pypi.python.org/packages/source/m/mistune/'], + }), + ('ptyprocess', '0.5', { + 'source_urls': ['https://pypi.python.org/packages/source/p/ptyprocess/'], + }), + ('terminado', '0.6', { + 'source_urls': ['https://pypi.python.org/packages/source/t/terminado/'], + }), + ('ipython', version, { + 'source_urls': ['https://pypi.python.org/packages/source/i/ipython/'], + 'modulename': 'IPython', + }), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['bin/ipython'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/IPython'], +} + +sanity_check_commands = [ + ('ipython -h', ''), + ('ipython notebook --help', ''), + ('iptest', ''), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.8-foss-2016a.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.8-foss-2016a.eb new file mode 100644 index 0000000000..ef8bb83cbf --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.8-foss-2016a.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.8' + +homepage = 'http://doc.libsodium.org/' +description = """Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, + password hashing and more.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://download.libsodium.org/libsodium/releases/'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/libsodium.%s' % SHLIB_EXT, 'lib/libsodium.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-foss-2016a.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-foss-2016a.eb new file mode 100644 index 0000000000..5f92dedd69 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-foss-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'http://code.google.com/p/openpgm/' +description = """OpenPGM is an open source implementation of the Pragmatic General Multicast (PGM) + specification in RFC 3208 available at www.ietf.org. PGM is a reliable and scalable multicast protocol + that enables receivers to detect loss, request retransmission of lost data, or notify an application + of unrecoverable loss. PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception responsibility.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [GOOGLECODE_SOURCE] +sources = ['libpgm-%(version)s.tar.gz'] + +configopts = '--with-pic' + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-foss-2016a-Python-2.7.11-zmq4.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-foss-2016a-Python-2.7.11-zmq4.eb new file mode 100644 index 0000000000..c279b32410 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-15.2.0-foss-2016a-Python-2.7.11-zmq4.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '15.2.0' + +homepage = 'http://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +zmqversion = '4.1.4' +versionsuffix = '-Python-%%(pyver)s-zmq%s' % zmqversion.split('.')[0] + +dependencies = [ + ('Python', '2.7.11'), + ('ZeroMQ', zmqversion), +] + +options = {'modulename': 'zmq'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/zmq'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-foss-2016a.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-foss-2016a.eb new file mode 100644 index 0000000000..6e398ddd1e --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.27.1-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.27.1' + +homepage = 'http://www.kernel.org/pub/linux/utils/util-linux' +description = """Set of Linux utilities""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] + +# disable account related utilities (they need OS dependant pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +dependencies = [('ncurses', '6.0')] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2016a.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2016a.eb new file mode 100644 index 0000000000..c67d70fb3a --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.1.4-foss-2016a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.1.4' + +homepage = 'http://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://download.zeromq.org/'] +sources = [SOURCELOWER_TAR_GZ] + +# --with-pgm will use shipped OpenPGM (in foreign subdir) +configopts = '--with-pic --with-system-pgm ' +configopts += 'OpenPGM_CFLAGS="-I$EBROOTOPENPGM/include/pgm-${EBVERSIONOPENPGM%.*}" ' +configopts += 'OpenPGM_LIBS="-L$EBROOTOPENPGM/lib -lpgm -lrt -lpthread -lm" ' + +dependencies = [ + ('OpenPGM', '5.2.122'), + ('util-linux', '2.27.1'), + ('libsodium', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['lib/libzmq.so', 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' -- GitLab From 832b44908ab598ddc706fcd9b75c51e5f3d9103f Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Mon, 18 Apr 2016 17:04:21 -0400 Subject: [PATCH 0908/1089] add Eigen 3.2.7 for foss 2016a --- .../easyconfigs/e/Eigen/Eigen-3.2.7-foss-2016a.eb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 easybuild/easyconfigs/e/Eigen/Eigen-3.2.7-foss-2016a.eb diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.2.7-foss-2016a.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.2.7-foss-2016a.eb new file mode 100644 index 0000000000..a45d43c1fa --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.2.7-foss-2016a.eb @@ -0,0 +1,14 @@ +name = 'Eigen' +version = '3.2.7' + +homepage = 'http://eigen.tuxfamily.org/index.php?title=Main_Page' +description = """Eigen is a C++ template library for linear algebra: + matrices, vectors, numerical solvers, and related algorithms.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [BITBUCKET_SOURCE] +sources = ['%(version)s.tar.bz2'] + +moduleclass = 'math' -- GitLab From 2695a9a0755c6dc34e0df8aa241c928479718f44 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Mon, 18 Apr 2016 17:53:55 -0400 Subject: [PATCH 0909/1089] include MarkupSafe 0.23 in exts_list --- .../i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb index 02467990c5..f70668f24c 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb @@ -48,6 +48,9 @@ exts_list = [ ('tornado', '4.3', { 'source_urls': ['https://pypi.python.org/packages/source/t/tornado/'], }), + ('MarkupSafe', '0.23', { + 'source_urls': ['https://pypi.python.org/packages/source/M/MarkupSafe/'], + }), ('Jinja2', '2.8', { 'source_urls': ['https://pypi.python.org/packages/source/J/Jinja2/'], }), -- GitLab From 0586ff6d4fcacfd2c8d8b8135c9837d5e2fce4f2 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Tue, 19 Apr 2016 07:04:59 +0800 Subject: [PATCH 0910/1089] fix prebuildopts --- .../w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb | 2 +- .../w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb index 71d744077f..5359496146 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb @@ -13,7 +13,7 @@ source_urls = ['http://www.wannier.org/code'] # ugly hack prebuildopts = 'rm make.sys; touch make.sys; ' -prebuildopts += 'F90=ifort FCOPTS="-O2" LDOPTS="-O2" LIBDIR=$LAPACK_LIB_DIR LIBS=$LIBLAPACK ' +prebuildopts += 'F90=ifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' files_to_copy = [(['wannier90.x'], 'bin')] diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb index e7a229fa5e..631f9e28bc 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb @@ -14,7 +14,8 @@ source_urls = ['http://www.wannier.org/code'] # ugly hack prebuildopts = 'rm make.sys; touch make.sys; ' -prebuildopts += 'F90=ifort COMMS=mpi MPIF90=mpiifort FCOPTS="-O2" LDOPTS="-O2" LIBDIR=$LAPACK_LIB_DIR LIBS=$LIBLAPACK ' +prebuildopts += 'F90=ifort COMMS=mpi MPIF90=mpiifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' +prebuildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin')] -- GitLab From b5def49e41686976750ad72b309f87a423364a69 Mon Sep 17 00:00:00 2001 From: Benjamin Roberts Date: Tue, 19 Apr 2016 13:45:29 +1200 Subject: [PATCH 0911/1089] Removed binutils-2.26 as it is untested and unneeded --- .../b/binutils/binutils-2.26-GCCcore-4.9.2.eb | 42 ------------------- 1 file changed, 42 deletions(-) delete mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb deleted file mode 100644 index 75c194bc7b..0000000000 --- a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-4.9.2.eb +++ /dev/null @@ -1,42 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'binutils' -version = '2.26' - -homepage = 'http://directory.fsf.org/project/binutils/' -description = "binutils: GNU binary utilities" - -toolchain = {'name': 'GCCcore', 'version': '4.9.2'} - -sources = [SOURCE_TAR_GZ] -source_urls = [GNU_SOURCE] - -builddependencies = [ - ('M4', '1.4.17'), - ('flex', '2.6.0'), - ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep - ('zlib', '1.2.8'), - # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) -] - -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - -moduleclass = 'tools' -- GitLab From 51f553d9979e251dbf093b75ca12bb52fa5006c3 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Tue, 19 Apr 2016 15:16:10 +0800 Subject: [PATCH 0912/1089] replace hardcoded ifort with $F90 --- .../w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb | 2 +- .../w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb index 5359496146..73eeb08ff4 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb @@ -13,7 +13,7 @@ source_urls = ['http://www.wannier.org/code'] # ugly hack prebuildopts = 'rm make.sys; touch make.sys; ' -prebuildopts += 'F90=ifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' +prebuildopts += 'F90=$F90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' files_to_copy = [(['wannier90.x'], 'bin')] diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb index 631f9e28bc..e4b353566b 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb @@ -14,7 +14,7 @@ source_urls = ['http://www.wannier.org/code'] # ugly hack prebuildopts = 'rm make.sys; touch make.sys; ' -prebuildopts += 'F90=ifort COMMS=mpi MPIF90=mpiifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' +prebuildopts += 'F90=$F90 COMMS=mpi MPIF90=mpiifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' prebuildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin')] -- GitLab From 5ee511dc03e1383691dcf9ce3ce7740a5b091115 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Tue, 19 Apr 2016 15:39:45 +0800 Subject: [PATCH 0913/1089] also build and install library --- .../w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb | 7 +++++-- .../w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb index 73eeb08ff4..a1e273882c 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb @@ -15,10 +15,13 @@ source_urls = ['http://www.wannier.org/code'] prebuildopts = 'rm make.sys; touch make.sys; ' prebuildopts += 'F90=$F90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' -files_to_copy = [(['wannier90.x'], 'bin')] +# build program and library +buildopts = 'all' + +files_to_copy = [(['wannier90.x'], 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x'], + 'files': ['bin/wannier90.x', 'lib/libwannier.a'], 'dirs': [] } diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb index e4b353566b..c85a2e8e7c 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb @@ -17,10 +17,13 @@ prebuildopts = 'rm make.sys; touch make.sys; ' prebuildopts += 'F90=$F90 COMMS=mpi MPIF90=mpiifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' prebuildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' -files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin')] +# build program and library +buildopts = "all" + +files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')] sanity_check_paths = { - 'files': ['bin/wannier90.x', 'bin/postw90.x'], + 'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'], 'dirs': [] } -- GitLab From 0332209ac50434cc5c4839baf8e2b627403ba653 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Tue, 19 Apr 2016 15:53:41 +0800 Subject: [PATCH 0914/1089] replace ugly hack with patch --- .../Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb | 6 +++--- .../Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb | 6 +++--- .../w/Wannier90/Wannier90_1x_ignore_makesys.patch | 11 +++++++++++ .../w/Wannier90/Wannier90_2x_ignore_makesys.patch | 11 +++++++++++ 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch create mode 100644 easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb index a1e273882c..e92974ac88 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-1.2-intel-2016.02-GCC-4.9.eb @@ -11,9 +11,9 @@ toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://www.wannier.org/code'] -# ugly hack -prebuildopts = 'rm make.sys; touch make.sys; ' -prebuildopts += 'F90=$F90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' +patches = ['Wannier90_1x_ignore_makesys.patch'] + +prebuildopts = 'F90=$F90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' # build program and library buildopts = 'all' diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb index c85a2e8e7c..acef4f4eb1 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-2.0.1-intel-2016.02-GCC-4.9.eb @@ -12,9 +12,9 @@ toolchainopts = {'usempi': True} sources = [SOURCELOWER_TAR_GZ] source_urls = ['http://www.wannier.org/code'] -# ugly hack -prebuildopts = 'rm make.sys; touch make.sys; ' -prebuildopts += 'F90=$F90 COMMS=mpi MPIF90=mpiifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' +patches = ['Wannier90_2x_ignore_makesys.patch'] + +prebuildopts = 'F90=$F90 COMMS=mpi MPIF90=mpiifort FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" ' prebuildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' # build program and library diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch b/easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch new file mode 100644 index 0000000000..66cb495806 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch @@ -0,0 +1,11 @@ +--- src/Makefile.orig 2016-04-19 15:26:27.373047000 +0800 ++++ src/Makefile 2016-04-19 15:26:32.414229150 +0800 +@@ -1,7 +1,7 @@ + # Should be no need to change below this line + # + +-include ../make.sys ++#include ../make.sys + + OBJS = constants.o io.o utility.o parameters.o hamiltonian.o overlap.o \ + kmesh.o disentangle.o wannierise.o plot.o transport.o diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch b/easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch new file mode 100644 index 0000000000..fa4a6de14a --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch @@ -0,0 +1,11 @@ +--- src/Makefile.2.orig 2016-04-19 15:29:17.248672000 +0800 ++++ src/Makefile.2 2016-04-19 15:29:21.648448096 +0800 +@@ -1,7 +1,7 @@ + # Should be no need to change below this line + # + +-include ../../make.sys ++#include ../../make.sys + + OBJS = constants.o io.o utility.o parameters.o hamiltonian.o overlap.o \ + kmesh.o disentangle.o wannierise.o plot.o transport.o -- GitLab From 449cc75fd5e13863595ea0e308c1b36c3d644962 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Tue, 19 Apr 2016 17:52:05 +0800 Subject: [PATCH 0915/1089] add explanatory comments to patch files --- .../easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch | 2 ++ .../easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch | 2 ++ 2 files changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch b/easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch index 66cb495806..07fb605587 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90_1x_ignore_makesys.patch @@ -1,3 +1,5 @@ +avoid including make.sys, which contains hardcoding settings we don't need/want +author: Miguel Dias Costa (National University of Singapore) --- src/Makefile.orig 2016-04-19 15:26:27.373047000 +0800 +++ src/Makefile 2016-04-19 15:26:32.414229150 +0800 @@ -1,7 +1,7 @@ diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch b/easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch index fa4a6de14a..8bf5e9aa01 100644 --- a/easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90_2x_ignore_makesys.patch @@ -1,3 +1,5 @@ +avoid including make.sys, which contains hardcoding settings we don't need/want +author: Miguel Dias Costa (National University of Singapore) --- src/Makefile.2.orig 2016-04-19 15:29:17.248672000 +0800 +++ src/Makefile.2 2016-04-19 15:29:21.648448096 +0800 @@ -1,7 +1,7 @@ -- GitLab From 777c8581b0c4d9f63871586b1a28ff6d0f39fc61 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 19 Apr 2016 14:21:08 +0200 Subject: [PATCH 0916/1089] removed newline --- easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb index 4d9f9e29d3..f63a76fa69 100644 --- a/easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb +++ b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-1.97-foss-2016a.eb @@ -26,4 +26,3 @@ sanity_check_paths = { } moduleclass = 'tools' - -- GitLab From 5ae36bfe05d535e1d664cd00d5bb0747a4eb051d Mon Sep 17 00:00:00 2001 From: RvDijk Date: Tue, 19 Apr 2016 14:22:53 +0200 Subject: [PATCH 0917/1089] use of env --- .../d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb index 326da3c949..8c069fec94 100644 --- a/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.835-foss-2016a-Perl-5.22.1.eb @@ -17,7 +17,7 @@ dependencies = [ ('DB', '6.2.23'), ] -preconfigopts = 'DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' +preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" ' sanity_check_paths = { 'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'], -- GitLab From 7010b4032c4c42ea200bdcc329aa738a607c5863 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 19 Apr 2016 15:04:01 +0200 Subject: [PATCH 0918/1089] add easyconfig LLVM-3.8.0-intel-2016a.eb, add easyconfig CMake-3.5.2-intel-2016a.eb --- .../c/CMake/CMake-3.5.2-intel-2016a.eb | 31 +++++++++++++++ .../l/LLVM/LLVM-3.8.0-intel-2016a.eb | 39 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.5.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.5.2-intel-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-intel-2016a.eb new file mode 100644 index 0000000000..6d07f31ebd --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.5.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '6.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1s'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb new file mode 100644 index 0000000000..1aa8a611cd --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'LLVM' +version = '3.8.0' + +homepage = "http://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] + +builddependencies = [ + ('CMake', '3.5.1'), + ('Python', '2.7.11'), +] + +dependencies = [ + ('ncurses', '6.0'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' + +sanity_check_paths = { + 'files': ['bin/llvm-ar'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +separate_build_dir = True + +moduleclass = 'compiler' -- GitLab From 2f12335cd3d739900ac625cc64cee51876236104 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 19 Apr 2016 15:08:40 +0200 Subject: [PATCH 0919/1089] modify easyconfig LLVM-3.8.0-intel-2016a.eb --- easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb index 1aa8a611cd..7a9543d260 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-intel-2016a.eb @@ -28,9 +28,11 @@ dependencies = [ ] configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' +# required to install extra tools in bin/ +configopts += "-DLLVM_INSTALL_UTILS=ON" sanity_check_paths = { - 'files': ['bin/llvm-ar'], + 'files': ['bin/llvm-ar', 'bin/FileCheck'], 'dirs': ['include/llvm', 'include/llvm-c'], } -- GitLab From f8842a7e96418b884e6dbdbfa0eb6d8f59dc7981 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 19 Apr 2016 20:12:42 +0200 Subject: [PATCH 0920/1089] add easyconfig Rust-1.8.0-intel-2016a.eb --- .../r/Rust/Rust-1.8.0-intel-2016a.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb b/easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb new file mode 100644 index 0000000000..e2f00427e8 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.8.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] + +builddependencies = [('Python', '2.7.11')] + +dependencies = [ + ('LLVM', '3.8.0'), +] + +configopts = "--llvm-root=$EBROOTLLVM" + +sanity_check_paths = { + 'files': ['bin/rustc', 'bin/rustdoc'], + 'dirs': ['share/doc', 'share/man', 'lib/rustlib'], +} + +moduleclass = 'lang' -- GitLab From eaef4d4ce138181088a256bc62175b61bda94114 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 19 Apr 2016 22:05:31 +0200 Subject: [PATCH 0921/1089] add easyconfig HDF-4.2.11-intel-2016a.eb --- .../h/HDF/HDF-4.2.11-intel-2016a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb new file mode 100644 index 0000000000..1d7ce9b8e5 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.11' + +homepage = 'http://www.hdfgroup.org/products/hdf4/' +description = """HDF (also known as HDF4) is a library and multi-object file format for storing and managing data between machines.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), +] +dependencies = [ + ('Szip', '2.1'), +] + +configopts = "--with-szlib=$EBROOTSZIP --includedir=%(installdir)s/include/%(namelower)s" + +modextrapaths = {'CPATH': 'include/hdf'} + +sanity_check_paths = { + 'files': ['lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a'], + 'dirs': ['bin', 'include/hdf'], +} + +moduleclass = 'data' -- GitLab From b0b683b2d704da4733dd791e2041277c6be48968 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Tue, 19 Apr 2016 23:31:46 -0400 Subject: [PATCH 0922/1089] add libQGLViewer easyconfig for foss 2016a --- .../libQGLViewer-2.6.3-foss-2016a.eb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb new file mode 100644 index 0000000000..12e821c14c --- /dev/null +++ b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb @@ -0,0 +1,18 @@ +easyblock = 'EB_libQGLViewer' + +name = 'libQGLViewer' +version = '2.6.3' + +homepage = 'http://libqglviewer.com/' +description = "libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers." + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.libqglviewer.com/src/'] +sources = [SOURCE_TAR_GZ] + +builddependencies = [('Qt', '4.8.7')] + +start_dir = '%(builddir)s/libQGLViewer-2.6.3/QGLViewer' + +moduleclass = 'lib' -- GitLab From 2a6a0dcb8c30c4edc6ac385c528b424601686ee1 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Wed, 20 Apr 2016 01:15:13 -0400 Subject: [PATCH 0923/1089] add GDB 7.10.1 easyconfig for foss 2016a --- .../GDB-7.10.1-foss-2016a-Python-2.7.11.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/g/GDB/GDB-7.10.1-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/g/GDB/GDB-7.10.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/GDB/GDB-7.10.1-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..7a28658458 --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-7.10.1-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '7.10.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_XZ] +source_urls = [GNU_SOURCE] + +patches = ['GDB-7.9-missing-makeinfo.patch'] + +dependencies = [ + ('ncurses', '6.0'), + ('Python', '2.7.11'), +] + +configopts = '--with-python' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +moduleclass = 'debugger' -- GitLab From e331243065a34afc93b9af7cc0603fc8faff5b89 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 20 Apr 2016 09:30:40 +0200 Subject: [PATCH 0924/1089] modify easyconfig HDF-4.2.11-intel-2016a.eb --- easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb index 1d7ce9b8e5..28e5e6ad36 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb @@ -18,6 +18,7 @@ builddependencies = [ ] dependencies = [ ('Szip', '2.1'), + ('libjpeg-turbo', '1.4.2'), ] configopts = "--with-szlib=$EBROOTSZIP --includedir=%(installdir)s/include/%(namelower)s" -- GitLab From 62cc9b3e75ad621c2b74b36f8d6afe3c373c39d9 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 10:16:16 +0200 Subject: [PATCH 0925/1089] Adjusted MADlib to supported postgresql version --- .../MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb index 35ae5d23c5..074b5142d7 100644 --- a/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb @@ -12,18 +12,25 @@ toolchain = {'name': 'intel', 'version': '2016a'} sources = ['apache-madlib-%(version)s-incubating-source.tar.gz'] source_urls = ['https://dist.apache.org/repos/dist/release/incubator/madlib/%(version)s-incubating'] -builddependencies = [('CMake', '3.4.3')] +builddependencies = [ + ('CMake', '3.4.3'), + ('Bison', '3.0.4'), + ('flex', '2.6.0'), + ('M4', '1.4.17'), + ('Boost', '1.60.0', versionsuffix), + ('Eigen', '3.2.7'), + ('PyXB', '1.2.4', versionsuffix), +] dependencies = [ ('Python', '2.7.11'), - ('PostgreSQL', '9.5.2', versionsuffix), + ('PostgreSQL', '9.4.7', versionsuffix), ] separate_build_dir = True sanity_check_paths = { 'files': ['bin/madpack'], - 'dirs': [] } moduleclass = 'data' -- GitLab From 5ad7cefb45a8dc6d5129d7196242ccd18fd01f2c Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 10:47:49 +0200 Subject: [PATCH 0926/1089] Add Postgres-XL --- ...gres-XL-9.5r1-intel-2016a-Python-2.7.11.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/p/Postgres-XL/Postgres-XL-9.5r1-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/Postgres-XL/Postgres-XL-9.5r1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/Postgres-XL/Postgres-XL-9.5r1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..01c5da8a48 --- /dev/null +++ b/easybuild/easyconfigs/p/Postgres-XL/Postgres-XL-9.5r1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'Postgres-XL' +version = '9.5r1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.postgres-xl.org' +description = """Postgres-XL is a horizontally scalable open source SQL database cluster, +flexible enough to handle varying database workloads:""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://files.postgres-xl.org'] + +osdependencies = [('openssl-devel', 'libssl-dev')] + +dependencies = [ + ('libreadline', '6.3'), + ('zlib', '1.2.8'), + ('Python', '2.7.11'), + # ('OpenSSL', '1.0.1i'), # OS dependency should be preferred for security reasons +] + +builddependencies = [ + ('Bison', '3.0.4'), + ('flex', '2.6.0'), + ('Perl', '5.22.1'), +] + +configopts = '--with-python --with-openssl' + +sanity_check_paths = { + 'files': ['bin/psql', 'bin/pg_config', 'lib/libpq.a', 'lib/libpq.%s' % SHLIB_EXT], + 'dirs': ['share/postgresql'], +} + +moduleclass = 'data' -- GitLab From ef50f1d4407173b2965c5a94a07d89f9a83fdb40 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 10:48:32 +0200 Subject: [PATCH 0927/1089] Add PostgreSQL 9.4.7 (needed for compatibility of MADlib) --- ...tgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..20f36a2447 --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '9.4.7' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.mysql.com/' +description = """PostgreSQL is a powerful, open source object-relational database system. + It is fully ACID compliant, has full support for foreign keys, + joins, views, triggers, and stored procedures (in multiple languages). + It includes most SQL:2008 data types, including INTEGER, + NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. + It also supports storage of binary large objects, including pictures, + sounds, or video. It has native programming interfaces for C/C++, Java, + .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.""" + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +osdependencies = [('openssl-devel', 'libssl-dev')] + +dependencies = [ + ('libreadline', '6.3'), + ('zlib', '1.2.8'), + ('Python', '2.7.11'), + # ('OpenSSL', '1.0.1i'), # OS dependency should be preferred for security reasons +] + +builddependencies = [ + ('Bison', '3.0.4'), + ('flex', '2.6.0'), + ('Perl', '5.22.1'), +] + +configopts = '--with-python --with-openssl' + +sanity_check_paths = { + 'files': ['bin/psql'], + 'dirs': [], +} + +moduleclass = 'data' -- GitLab From fa95df64e5dc0ca93d6df41a3c32f7d125be6d22 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 10:52:01 +0200 Subject: [PATCH 0928/1089] Drop MADlib in this PR --- .../MADlib-1.9-intel-2016a-Python-2.7.11.eb | 36 ------------------- 1 file changed, 36 deletions(-) delete mode 100644 easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb deleted file mode 100644 index 074b5142d7..0000000000 --- a/easybuild/easyconfigs/m/MADlib/MADlib-1.9-intel-2016a-Python-2.7.11.eb +++ /dev/null @@ -1,36 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'MADlib' -version = '1.9' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'http://madlib.incubator.apache.org' -description = """MADlib: Big Data Machine Learning in SQL for Data Scientists""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -sources = ['apache-madlib-%(version)s-incubating-source.tar.gz'] -source_urls = ['https://dist.apache.org/repos/dist/release/incubator/madlib/%(version)s-incubating'] - -builddependencies = [ - ('CMake', '3.4.3'), - ('Bison', '3.0.4'), - ('flex', '2.6.0'), - ('M4', '1.4.17'), - ('Boost', '1.60.0', versionsuffix), - ('Eigen', '3.2.7'), - ('PyXB', '1.2.4', versionsuffix), -] - -dependencies = [ - ('Python', '2.7.11'), - ('PostgreSQL', '9.4.7', versionsuffix), -] - -separate_build_dir = True - -sanity_check_paths = { - 'files': ['bin/madpack'], -} - -moduleclass = 'data' -- GitLab From 677926d3c95857f05067e4b2c6fc06088948ef07 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 11:02:33 +0200 Subject: [PATCH 0929/1089] Extend sanity check postgreSQL --- .../PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb | 4 ++-- .../PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb index 20f36a2447..9afa456cae 100644 --- a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.4.7-intel-2016a-Python-2.7.11.eb @@ -37,8 +37,8 @@ builddependencies = [ configopts = '--with-python --with-openssl' sanity_check_paths = { - 'files': ['bin/psql'], - 'dirs': [], + 'files': ['bin/psql', 'bin/pg_config', 'lib/libpq.a', 'lib/libpq.%s' % SHLIB_EXT], + 'dirs': ['share/postgresql'], } moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb index a7590c6580..fca7dea11c 100644 --- a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-9.5.2-intel-2016a-Python-2.7.11.eb @@ -37,8 +37,8 @@ builddependencies = [ configopts = '--with-python --with-openssl' sanity_check_paths = { - 'files': ['bin/psql'], - 'dirs': [], + 'files': ['bin/psql', 'bin/pg_config', 'lib/libpq.a', 'lib/libpq.%s' % SHLIB_EXT], + 'dirs': ['share/postgresql'], } moduleclass = 'data' -- GitLab From 40dfcc220736688ada38def26b300fd15ae280ed Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 20 Apr 2016 17:46:24 +0800 Subject: [PATCH 0930/1089] use patch to disable including arck.mk and define everything in prebuildopts --- .../BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 19 +++++++--- ...keleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 35 +++++++++++++++++++ .../BerkeleyGW/BerkeleyGW_ignore_archmk.patch | 12 +++++++ 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index 6b0669dd87..7b6ed07c7d 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -4,8 +4,8 @@ name = 'BerkeleyGW' version = "1.0.6" homepage = 'http://www.berkeleygw.org' -description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle - properties and the optical responses of a large variety of materials from bulk +description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle + properties and the optical responses of a large variety of materials from bulk periodic crystals to nanostructures such as slabs, wires and molecules.""" toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} @@ -15,10 +15,21 @@ source_urls = ['http://www.berkeleygw.org/releases/'] sources = ['BGW-%(version)s.tar.gz'] checksums = ['8740562da41e87a62eb8d457675e4bfd'] +patches = ['BerkeleyGW_ignore_archmk.patch'] + files_to_copy = ['*'] -prebuildopts = 'touch arch.mk; ' +prebuildopts = 'COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' +prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' +prebuildopts += 'C_COMP="$MPICC" C_LINK="$MPICXX" C_OPTS="$CFLAGS" REMOVE="/bin/rm -f" MKLPATH="$MKLROOT" ' +prebuildopts += 'FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" FFTWINCLUDE="$FFTW_INC_DIR" ' +prebuildopts += 'LAPACKLIB="$LIBLAPACK" BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLACS" SCALAPACKLIB="$LIBSCALAPACK" ' buildopts = 'all-flavors' -parallel = 1 +sanity_check_paths = { + 'files': [], + 'dirs': ['bin'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..2001776308 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'BerkeleyGW' +version = "1.1-beta2" + +homepage = 'http://www.berkeleygw.org' +description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle + properties and the optical responses of a large variety of materials from bulk + periodic crystals to nanostructures such as slabs, wires and molecules.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'usempi': True} + +source_urls = ['http://www.berkeleygw.org/releases/'] +sources = ['BGW-%(version)s.tar.gz'] +checksums = ['75a258c9a5d255da9e0b15bd3e7f08b2'] + +patches = ['BerkeleyGW_ignore_archmk.patch'] + +files_to_copy = ['*'] + +prebuildopts = 'COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' +prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' +prebuildopts += 'C_COMP="$MPICC" C_LINK="$MPICXX" C_OPTS="$CFLAGS" REMOVE="/bin/rm -f" MKLPATH="$MKLROOT" ' +prebuildopts += 'FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" FFTWINCLUDE="$FFTW_INC_DIR" ' +prebuildopts += 'LAPACKLIB="$LIBLAPACK" BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLACS" SCALAPACKLIB="$LIBSCALAPACK" ' + +buildopts = 'all-flavors' + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch new file mode 100644 index 0000000000..47898699a6 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch @@ -0,0 +1,12 @@ +avoid including arch.mk, which contains hardcoding settings we don't need/want +author: Miguel Dias Costa (National University of Singapore) +--- Common/common-rules.mk.orig 2016-04-20 13:44:00.254262000 +0800 ++++ Common/common-rules.mk 2016-04-20 13:44:07.830742486 +0800 +@@ -1,5 +1,5 @@ +-$(if $(wildcard $(PREFIX)/arch.mk),,$(error Error: Please create arch.mk from config/ directory for machine-dependent configuration)) +-include $(PREFIX)/arch.mk ++#$(if $(wildcard $(PREFIX)/arch.mk),,$(error Error: Please create arch.mk from config/ directory for machine-dependent configuration)) ++#include $(PREFIX)/arch.mk + + ifneq ($(wildcard $(PREFIX)/flavor.mk),) + include $(PREFIX)/flavor.mk -- GitLab From cb89189505ade779e2cd9cb9da9bb29f254db6fc Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 13:23:46 +0200 Subject: [PATCH 0931/1089] ALPS now builds! --- .../ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb | 8 ++++---- .../a/ALPS/ALPS-2.2.b4-python-embedding.patch | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-python-embedding.patch diff --git a/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb index cf98c0aae4..ce0520f4ab 100644 --- a/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb @@ -14,6 +14,8 @@ toolchain = {'name': 'intel', 'version': '2016a'} sources = ['%(namelower)s-%(version)s-src.tar.gz'] source_urls = ['http://alps.comp-phys.org/static/software/releases'] +patches = ['ALPS-%(version)s-python-embedding.patch'] + builddependencies = [('CMake', '3.4.3')] dependencies = [ @@ -29,11 +31,9 @@ configopts += '-DFFTW_LIBRARIES=$FFTW_LIB_DIR -DFFTW_INCLUDE_DIR=$FFTW_INC_DIR' separate_build_dir = True -maxparallel = 1 - sanity_check_paths = { - 'files': [], - 'dirs': ["."] + 'files': ['bin/alpspython', 'lib/libalps.%s' % SHLIB_EXT], + 'dirs': ['include/alps', 'lib/python'] } moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-python-embedding.patch b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-python-embedding.patch new file mode 100644 index 0000000000..5927e2e784 --- /dev/null +++ b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-python-embedding.patch @@ -0,0 +1,14 @@ +# To embed python, it must return a list of needed libraries with `;` instead of whitespace +# Ward Poelmans +diff -ur alps-2.2.b4-src.orig/alps/config/FindPython.cmake alps-2.2.b4-src/alps/config/FindPython.cmake +--- alps-2.2.b4-src.orig/alps/config/FindPython.cmake 2015-09-20 21:21:42.000000000 +0200 ++++ alps-2.2.b4-src/alps/config/FindPython.cmake 2016-04-20 11:28:18.828407677 +0200 +@@ -160,7 +160,7 @@ + # + # libraries which must be linked in when embedding + # +- EXEC_PYTHON_SCRIPT ("from distutils.sysconfig import * ;print (str(get_config_var('LOCALMODLIBS')) + ' ' + str(get_config_var('LIBS'))).strip()" ++ EXEC_PYTHON_SCRIPT ("from distutils.sysconfig import * ;print (str(get_config_var('LOCALMODLIBS')) + ' ' + str(get_config_var('LIBS'))).strip().replace(' ', ';')" + PYTHON_EXTRA_LIBS) + MESSAGE(STATUS "PYTHON_EXTRA_LIBS =${PYTHON_EXTRA_LIBS}" ) + mark_as_advanced(PYTHON_EXTRA_LIBS) -- GitLab From 523b4f05f0dc5b78abb1323e9ddf4cdbab5a86ce Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 20 Apr 2016 13:26:34 +0200 Subject: [PATCH 0932/1089] add easyconfig Rust-1.8.0-foss-2016a.eb --- .../r/Rust/Rust-1.8.0-foss-2016a.eb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 easybuild/easyconfigs/r/Rust/Rust-1.8.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.8.0-foss-2016a.eb b/easybuild/easyconfigs/r/Rust/Rust-1.8.0-foss-2016a.eb new file mode 100644 index 0000000000..2254e51fbf --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.8.0-foss-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.8.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] + +builddependencies = [('Python', '2.7.11')] + +sanity_check_paths = { + 'files': ['bin/rustc', 'bin/rustdoc'], + 'dirs': ['share/doc', 'share/man', 'lib/rustlib'], +} + +moduleclass = 'lang' -- GitLab From 240bbc87f7f4d346cedc3b29e326d7103fc24898 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 13:35:52 +0200 Subject: [PATCH 0933/1089] Let ALPS find Szip --- .../a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb index ce0520f4ab..74ee42be3a 100644 --- a/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ALPS/ALPS-2.2.b4-intel-2016a-Python-2.7.11.eb @@ -20,14 +20,14 @@ builddependencies = [('CMake', '3.4.3')] dependencies = [ ('zlib', '1.2.8'), + ('Szip', '2.1'), ('Python', '2.7.11'), ('Boost', '1.58.0', versionsuffix), ('HDF5', '1.8.16'), ('matplotlib', '1.5.1', versionsuffix), ] -configopts = '-DSZIP_INCLUDE_DIR=$EBROOTSZIP/include -DSZIP_LIBRARY=$EBROOTSZIP/lib ' -configopts += '-DFFTW_LIBRARIES=$FFTW_LIB_DIR -DFFTW_INCLUDE_DIR=$FFTW_INC_DIR' +configopts = '-DFFTW_LIBRARIES=$FFTW_LIB_DIR -DFFTW_INCLUDE_DIR=$FFTW_INC_DIR' separate_build_dir = True -- GitLab From 11b5379ba4bf016e2b2346f903746b7fd7f76a2f Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 13:52:50 +0200 Subject: [PATCH 0934/1089] Fix remarks --- ...ntel-2016a.eb => GDB-7.11-intel-2016a-Python-2.7.11.eb} | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) rename easybuild/easyconfigs/g/GDB/{GDB-7.11-intel-2016a.eb => GDB-7.11-intel-2016a-Python-2.7.11.eb} (95%) diff --git a/easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb b/easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a-Python-2.7.11.eb similarity index 95% rename from easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb rename to easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a-Python-2.7.11.eb index fa5295e98e..7f2305c130 100644 --- a/easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GDB/GDB-7.11-intel-2016a-Python-2.7.11.eb @@ -2,14 +2,17 @@ easyblock = 'ConfigureMake' name = 'GDB' version = '7.11' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.gnu.org/software/gdb/gdb.html' description = "The GNU Project Debugger" +toolchain = {'name': 'intel', 'version': '2016a'} + sources = [SOURCELOWER_TAR_XZ] source_urls = [GNU_SOURCE] -toolchain = {'name': 'intel', 'version': '2016a'} +patches = ['GDB-7.9-missing-makeinfo.patch'] dependencies = [ ('zlib', '1.2.8'), @@ -19,8 +22,6 @@ dependencies = [ ('Python', '2.7.11'), ] -patches = ['GDB-7.9-missing-makeinfo.patch'] - configopts = '--with-system-zlib --with-python=$EBROOTPYTHON/bin/python --with-expat=$EBROOTEXPAT ' configopts += '--with-system-readline --enable-tui --enable-plugins' -- GitLab From 2f64f6c34e127ecd2095843c44409d7690926f31 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 14:52:09 +0200 Subject: [PATCH 0935/1089] Add explicit include for fslsurface --- easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb b/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb index 145ff09b91..a26ad87936 100644 --- a/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb +++ b/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb @@ -14,6 +14,8 @@ patches = [ 'FSL_icc_nan-inf_fix.patch', ] +preconfigopts = 'CFLAGS="-I%(builddir)s/src $CFLAGS"' + dependencies = [ ('freeglut', '3.0.0'), ('expat', '2.1.0'), -- GitLab From 3993ccc5f2970b1a36159c23a3681e14c025a912 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 15:00:08 +0200 Subject: [PATCH 0936/1089] Fix Werror error for MariaDB --- .../m/MariaDB/MariaDB-10.1.13-intel-2016a.eb | 8 ++++++-- .../m/MariaDB/MariaDB-10.1.13-remove-Werror.patch | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb index 68f736cb1a..9a05f86ff3 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb @@ -11,19 +11,23 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['https://downloads.mariadb.org/f/mariadb-%(version)s/source'] sources = [SOURCELOWER_TAR_GZ] +patches = ['MariaDB-%(version)s-remove-Werror.patch'] + dependencies = [ ('zlib', '1.2.8'), ('ncurses', '6.0'), ('jemalloc', '4.1.0'), ('PCRE', '8.38'), ('XZ', '5.2.2'), - ('Boost', '1.60.0'), + ('Boost', '1.60.0', '-Python-2.7.11'), ('libxml2', '2.9.3'), ] builddependencies = [('CMake', '3.4.3')] -configopts = "-DWITH_PCRE=system -DWITH_JEMALLOC=yes -DWITH_ZLIB=system -DWITH_INNODB_LZMA=on" +separate_build_dir = True + +configopts = "-DWITH_PCRE=system -DWITH_JEMALLOC=yes -DWITH_ZLIB=system -DMYSQL_MAINTAINER_MODE=ON" sanity_check_paths = { 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch new file mode 100644 index 0000000000..c7d04caf71 --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch @@ -0,0 +1,14 @@ +diff -ur mariadb-10.1.13.orig/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake mariadb-10.1.13/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake +--- mariadb-10.1.13.orig/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake 2016-03-24 10:12:12.000000000 +0100 ++++ mariadb-10.1.13/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake 2016-04-20 14:29:31.019940551 +0200 +@@ -156,8 +156,8 @@ + endif () + + ## always want these +-set(CMAKE_C_FLAGS "-Wall -Werror ${CMAKE_C_FLAGS}") +-set(CMAKE_CXX_FLAGS "-Wall -Werror ${CMAKE_CXX_FLAGS}") ++set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}") ++set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}") + + ## need to set -stdlib=libc++ to get real c++11 support on darwin + if (APPLE) -- GitLab From 7cf6555d3c10191f880df6b26dc146d344d44093 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 15:03:08 +0200 Subject: [PATCH 0937/1089] Add doc in patch for Mariadb --- .../easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch index c7d04caf71..eb1812a0ff 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-remove-Werror.patch @@ -1,3 +1,5 @@ +# This -Werror will cause the build to fail because of a warning about using the intel compiler +# Ward Poelmans diff -ur mariadb-10.1.13.orig/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake mariadb-10.1.13/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake --- mariadb-10.1.13.orig/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake 2016-03-24 10:12:12.000000000 +0100 +++ mariadb-10.1.13/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake 2016-04-20 14:29:31.019940551 +0200 -- GitLab From 7329ac036396459a8d987ba66b18919854db545a Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 20 Apr 2016 21:51:03 +0800 Subject: [PATCH 0938/1089] use env --- .../b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 2 +- .../b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index 7b6ed07c7d..573492b3f2 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -19,7 +19,7 @@ patches = ['BerkeleyGW_ignore_archmk.patch'] files_to_copy = ['*'] -prebuildopts = 'COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' +prebuildopts = 'env COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' prebuildopts += 'C_COMP="$MPICC" C_LINK="$MPICXX" C_OPTS="$CFLAGS" REMOVE="/bin/rm -f" MKLPATH="$MKLROOT" ' prebuildopts += 'FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" FFTWINCLUDE="$FFTW_INC_DIR" ' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 2001776308..509645960b 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -19,7 +19,7 @@ patches = ['BerkeleyGW_ignore_archmk.patch'] files_to_copy = ['*'] -prebuildopts = 'COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' +prebuildopts = 'env COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' prebuildopts += 'C_COMP="$MPICC" C_LINK="$MPICXX" C_OPTS="$CFLAGS" REMOVE="/bin/rm -f" MKLPATH="$MKLROOT" ' prebuildopts += 'FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" FFTWINCLUDE="$FFTW_INC_DIR" ' -- GitLab From 730ffa4793fdb863db56e34ddd1624b256e014de Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 20 Apr 2016 21:52:12 +0800 Subject: [PATCH 0939/1089] use short indent in description --- .../b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 4 ++-- .../BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index 573492b3f2..cf8c1e41cf 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -5,8 +5,8 @@ version = "1.0.6" homepage = 'http://www.berkeleygw.org' description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle - properties and the optical responses of a large variety of materials from bulk - periodic crystals to nanostructures such as slabs, wires and molecules.""" + properties and the optical responses of a large variety of materials from bulk periodic crystals to + nanostructures such as slabs, wires and molecules.""" toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} toolchainopts = {'usempi': True} diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 509645960b..2b7d7dc5ed 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -5,8 +5,8 @@ version = "1.1-beta2" homepage = 'http://www.berkeleygw.org' description = """The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle - properties and the optical responses of a large variety of materials from bulk - periodic crystals to nanostructures such as slabs, wires and molecules.""" + properties and the optical responses of a large variety of materials from bulk periodic crystals to + nanostructures such as slabs, wires and molecules.""" toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} toolchainopts = {'usempi': True} -- GitLab From 57cea100f5dbffb25d4f5eab4e15303622ab55a7 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 16:23:37 +0200 Subject: [PATCH 0940/1089] Mariadb: link to -lrt --- .../m/MariaDB/MariaDB-10.1.13-intel-2016a.eb | 5 ++++- .../MariaDB-10.1.13-link-rt-for-jemalloc.patch | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb index 9a05f86ff3..ae90e1a3ed 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-intel-2016a.eb @@ -11,7 +11,10 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['https://downloads.mariadb.org/f/mariadb-%(version)s/source'] sources = [SOURCELOWER_TAR_GZ] -patches = ['MariaDB-%(version)s-remove-Werror.patch'] +patches = [ + 'MariaDB-%(version)s-remove-Werror.patch', + 'MariaDB-%(version)s-link-rt-for-jemalloc.patch', +] dependencies = [ ('zlib', '1.2.8'), diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch new file mode 100644 index 0000000000..780c41af5b --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch @@ -0,0 +1,14 @@ +# On older systems (like RHEL 6), jemalloc must also link to -lrt for getclock +# On RHEL 7 and greater, this is not needed as it's part of libc there. +# Ward Poelmans +diff -ur mariadb-10.1.13.orig/cmake/jemalloc.cmake mariadb-10.1.13/cmake/jemalloc.cmake +--- mariadb-10.1.13.orig/cmake/jemalloc.cmake 2016-03-24 10:12:10.000000000 +0100 ++++ mariadb-10.1.13/cmake/jemalloc.cmake 2016-04-20 16:21:18.102681504 +0200 +@@ -21,6 +21,7 @@ + SET(what bundled) + ELSE() + SET(libname jemalloc c) ++ SET(CMAKE_REQUIRED_LIBRARIES r) + SET(what system) + ENDIF() + -- GitLab From 6a3bab838e81554fef00f818ee20c01190c71f50 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 20 Apr 2016 22:27:47 +0800 Subject: [PATCH 0941/1089] use ConfigureMake skipping configure instead of MakeCp --- .../b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 6 ++++-- .../BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index cf8c1e41cf..570e1b3636 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -1,4 +1,4 @@ -easyblock = 'MakeCp' +easyblock = 'ConfigureMake' name = 'BerkeleyGW' version = "1.0.6" @@ -17,7 +17,7 @@ checksums = ['8740562da41e87a62eb8d457675e4bfd'] patches = ['BerkeleyGW_ignore_archmk.patch'] -files_to_copy = ['*'] +skipsteps = ['configure'] prebuildopts = 'env COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' @@ -27,6 +27,8 @@ prebuildopts += 'LAPACKLIB="$LIBLAPACK" BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLA buildopts = 'all-flavors' +installopts = 'INSTDIR=%(installdir)s' + sanity_check_paths = { 'files': [], 'dirs': ['bin'] diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 2b7d7dc5ed..4c7949cc07 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -1,4 +1,4 @@ -easyblock = 'MakeCp' +easyblock = 'ConfigureMake' name = 'BerkeleyGW' version = "1.1-beta2" @@ -17,7 +17,7 @@ checksums = ['75a258c9a5d255da9e0b15bd3e7f08b2'] patches = ['BerkeleyGW_ignore_archmk.patch'] -files_to_copy = ['*'] +skipsteps = ['configure'] prebuildopts = 'env COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' @@ -27,6 +27,8 @@ prebuildopts += 'LAPACKLIB="$LIBLAPACK" BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLA buildopts = 'all-flavors' +installopts = 'INSTDIR=%(installdir)s' + sanity_check_paths = { 'files': [], 'dirs': ['bin'] -- GitLab From f3cb8d07b5b4c94abec4f892c8041313ee7f569f Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 20 Apr 2016 17:00:41 +0200 Subject: [PATCH 0942/1089] Typo fix --- .../m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch index 780c41af5b..c0a2cfee18 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.1.13-link-rt-for-jemalloc.patch @@ -8,7 +8,7 @@ diff -ur mariadb-10.1.13.orig/cmake/jemalloc.cmake mariadb-10.1.13/cmake/jemallo SET(what bundled) ELSE() SET(libname jemalloc c) -+ SET(CMAKE_REQUIRED_LIBRARIES r) ++ SET(CMAKE_REQUIRED_LIBRARIES rt) SET(what system) ENDIF() -- GitLab From ee8043a440abb6accfb24a556ccdb1e391f8c3e9 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 20 Apr 2016 23:19:34 +0800 Subject: [PATCH 0943/1089] add most important binaries to sanity_check_path --- .../b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 6 ++++-- .../BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index 570e1b3636..2b338d6458 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -30,8 +30,10 @@ buildopts = 'all-flavors' installopts = 'INSTDIR=%(installdir)s' sanity_check_paths = { - 'files': [], - 'dirs': ['bin'] + 'files': ['bin/'+name+'.'+flavor+'.x' + for name in ['epsilon', 'sigma', 'kernel', 'absorption'] + for flavor in ['real', 'cplx']], + 'dirs': [] } moduleclass = 'chem' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 4c7949cc07..42d4b94976 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -30,8 +30,10 @@ buildopts = 'all-flavors' installopts = 'INSTDIR=%(installdir)s' sanity_check_paths = { - 'files': [], - 'dirs': ['bin'] + 'files': ['bin/'+name+'.'+flavor+'.x' + for name in ['epsilon', 'sigma', 'kernel', 'absorption'] + for flavor in ['real', 'cplx']], + 'dirs': [] } moduleclass = 'chem' -- GitLab From 062b8f678410ec70835f69b578bf2778f8f4346a Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Thu, 21 Apr 2016 00:04:37 +0800 Subject: [PATCH 0944/1089] don't redefine variable 'name' in sanity_check_path --- .../b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 4 ++-- .../BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index 2b338d6458..452f967939 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -30,8 +30,8 @@ buildopts = 'all-flavors' installopts = 'INSTDIR=%(installdir)s' sanity_check_paths = { - 'files': ['bin/'+name+'.'+flavor+'.x' - for name in ['epsilon', 'sigma', 'kernel', 'absorption'] + 'files': ['bin/'+prog+'.'+flavor+'.x' + for prog in ['epsilon', 'sigma', 'kernel', 'absorption'] for flavor in ['real', 'cplx']], 'dirs': [] } diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 42d4b94976..04a46cfa50 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -30,8 +30,8 @@ buildopts = 'all-flavors' installopts = 'INSTDIR=%(installdir)s' sanity_check_paths = { - 'files': ['bin/'+name+'.'+flavor+'.x' - for name in ['epsilon', 'sigma', 'kernel', 'absorption'] + 'files': ['bin/'+prog+'.'+flavor+'.x' + for prog in ['epsilon', 'sigma', 'kernel', 'absorption'] for flavor in ['real', 'cplx']], 'dirs': [] } -- GitLab From 40d739240753148a555a9d0432149f88d93a293d Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Wed, 20 Apr 2016 16:47:30 -0400 Subject: [PATCH 0945/1089] including libGLU 9.0.0 as dependency --- .../l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb index 12e821c14c..cd9274f066 100644 --- a/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb @@ -11,8 +11,12 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['http://www.libqglviewer.com/src/'] sources = [SOURCE_TAR_GZ] +dependencies = [ + ('libGLU', '9.0.0'), +] + builddependencies = [('Qt', '4.8.7')] -start_dir = '%(builddir)s/libQGLViewer-2.6.3/QGLViewer' +start_dir = '%(builddir)s/libQGLViewer-%(version)s/QGLViewer' moduleclass = 'lib' -- GitLab From d85d97170461ddf8f1b654addca47fc8dfcd2897 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Thu, 21 Apr 2016 15:57:05 +0800 Subject: [PATCH 0946/1089] remove patch, copy generic arch.mk instead --- .../BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 14 ++++++-------- .../BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 14 ++++++-------- .../b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch | 12 ------------ 3 files changed, 12 insertions(+), 28 deletions(-) delete mode 100644 easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index 452f967939..ef88631251 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -15,17 +15,15 @@ source_urls = ['http://www.berkeleygw.org/releases/'] sources = ['BGW-%(version)s.tar.gz'] checksums = ['8740562da41e87a62eb8d457675e4bfd'] -patches = ['BerkeleyGW_ignore_archmk.patch'] - skipsteps = ['configure'] -prebuildopts = 'env COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' -prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' -prebuildopts += 'C_COMP="$MPICC" C_LINK="$MPICXX" C_OPTS="$CFLAGS" REMOVE="/bin/rm -f" MKLPATH="$MKLROOT" ' -prebuildopts += 'FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" FFTWINCLUDE="$FFTW_INC_DIR" ' -prebuildopts += 'LAPACKLIB="$LIBLAPACK" BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLACS" SCALAPACKLIB="$LIBSCALAPACK" ' +prebuildopts = 'cp config/generic.mpi.linux.mk arch.mk; ' -buildopts = 'all-flavors' +buildopts = 'all-flavors COMPFLAG=-DINTEL PARAFLAG="-DMPI -DOMP" DEBUGFLAG="" F90free="$MPIF90 -free" LINK="$MPIF90" ' +buildopts += 'FOPTS="$FFLAGS -qopenmp" MOD_OPT="-module " C_PARAFLAG="$PARAFLAG" CC_COMP="$MPICXX" C_COMP="$MPICC" ' +buildopts += 'C_LINK="$MPICXX" C_OPTS="$CFLAGS -qopenmp" MKLPATH="$MKLROOT" LAPACKLIB="$LIBLAPACK" ' +buildopts += 'BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLACS" SCALAPACKLIB="$LIBSCALAPACK" ' +buildopts += 'FFTWINCLUDE="$FFTW_INC_DIR" FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" ' installopts = 'INSTDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 04a46cfa50..07d5635dac 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -15,17 +15,15 @@ source_urls = ['http://www.berkeleygw.org/releases/'] sources = ['BGW-%(version)s.tar.gz'] checksums = ['75a258c9a5d255da9e0b15bd3e7f08b2'] -patches = ['BerkeleyGW_ignore_archmk.patch'] - skipsteps = ['configure'] -prebuildopts = 'env COMPFLAG=-DINTEL PARAFLAG=-DMPI MATHFLAG=-DUSESCALAPACK FCPP="cpp -ansi" F90free="$MPIF90 -free" ' -prebuildopts += 'LINK="$MPIF90" FOPTS="$FFLAGS" MOD_OPT="-module " INCFLAG="-I" C_PARAFLAG=-DPARA CC_COMP="$MPICXX" ' -prebuildopts += 'C_COMP="$MPICC" C_LINK="$MPICXX" C_OPTS="$CFLAGS" REMOVE="/bin/rm -f" MKLPATH="$MKLROOT" ' -prebuildopts += 'FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" FFTWINCLUDE="$FFTW_INC_DIR" ' -prebuildopts += 'LAPACKLIB="$LIBLAPACK" BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLACS" SCALAPACKLIB="$LIBSCALAPACK" ' +prebuildopts = 'cp config/generic.mpi.linux.mk arch.mk; ' -buildopts = 'all-flavors' +buildopts = 'all-flavors COMPFLAG=-DINTEL PARAFLAG="-DMPI -DOMP" DEBUGFLAG="" F90free="$MPIF90 -free" LINK="$MPIF90" ' +buildopts += 'FOPTS="$FFLAGS -qopenmp" MOD_OPT="-module " C_PARAFLAG="$PARAFLAG" CC_COMP="$MPICXX" C_COMP="$MPICC" ' +buildopts += 'C_LINK="$MPICXX" C_OPTS="$CFLAGS -qopenmp" MKLPATH="$MKLROOT" LAPACKLIB="$LIBLAPACK" ' +buildopts += 'BLACSDIR="$BLACS_LIB_DIR" BLACS="$LIBBLACS" SCALAPACKLIB="$LIBSCALAPACK" ' +buildopts += 'FFTWINCLUDE="$FFTW_INC_DIR" FFTWLIB="$MKLROOT/lib/intel64/libfftw2xf_double_intel.a" ' installopts = 'INSTDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch deleted file mode 100644 index 47898699a6..0000000000 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW_ignore_archmk.patch +++ /dev/null @@ -1,12 +0,0 @@ -avoid including arch.mk, which contains hardcoding settings we don't need/want -author: Miguel Dias Costa (National University of Singapore) ---- Common/common-rules.mk.orig 2016-04-20 13:44:00.254262000 +0800 -+++ Common/common-rules.mk 2016-04-20 13:44:07.830742486 +0800 -@@ -1,5 +1,5 @@ --$(if $(wildcard $(PREFIX)/arch.mk),,$(error Error: Please create arch.mk from config/ directory for machine-dependent configuration)) --include $(PREFIX)/arch.mk -+#$(if $(wildcard $(PREFIX)/arch.mk),,$(error Error: Please create arch.mk from config/ directory for machine-dependent configuration)) -+#include $(PREFIX)/arch.mk - - ifneq ($(wildcard $(PREFIX)/flavor.mk),) - include $(PREFIX)/flavor.mk -- GitLab From d62ec8db0c825e6d49318e8b7ca39ae771e67717 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Thu, 21 Apr 2016 15:58:49 +0800 Subject: [PATCH 0947/1089] edit homepage --- .../a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb index ca4b5697db..a8183634de 100644 --- a/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/ASE/ASE-3.10.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -4,7 +4,7 @@ name = 'ASE' version = '3.10.0' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://wiki.fysik.dtu.dk/ase/' +homepage = 'http://wiki.fysik.dtu.dk/ase' description = """ASE is a python package providing an open source Atomic Simulation Environment in the Python scripting language.""" -- GitLab From 6c33d10734fc28919e332f46e9379110bcd0a316 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Thu, 21 Apr 2016 10:50:17 +0200 Subject: [PATCH 0948/1089] Fix remarks --- .../easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb index e13485c431..7bee41cdcd 100644 --- a/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-4.1.0-intel-2016a.eb @@ -19,10 +19,10 @@ prebuildopts = "make dist && " sanity_check_paths = { 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, - 'lib/libjemalloc.so.2', 'include/jemalloc/jemalloc.h'], + 'include/jemalloc/jemalloc.h'], 'dirs': ['share'], } -modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.so.2']} +modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} moduleclass = 'lib' -- GitLab From 6a4d11c588f7e31daf36f0f34262d769f3c1f92f Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 08:41:23 +0800 Subject: [PATCH 0949/1089] generated with 'eb netCDF-Fortran-4.4.2-intel-2015b.eb --try-toolchain=intel,2016.02-GCC-4.9 -r' --- .../Bison-3.0.4-intel-2016.02-GCC-4.9.eb | 22 ++++++++++++ .../CMake-3.4.1-intel-2016.02-GCC-4.9.eb | 31 +++++++++++++++++ .../cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb | 31 +++++++++++++++++ .../Doxygen-1.8.10-intel-2016.02-GCC-4.9.eb | 19 +++++++++++ .../flex/flex-2.5.39-intel-2016.02-GCC-4.9.eb | 14 ++++++++ ...DF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb | 26 ++++++++++++++ .../ncurses-5.9-intel-2016.02-GCC-4.9.eb | 18 ++++++++++ ...CDF-Fortran-4.4.2-intel-2016.02-GCC-4.9.eb | 20 +++++++++++ .../netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb | 34 +++++++++++++++++++ .../s/Szip/Szip-2.1-intel-2016.02-GCC-4.9.eb | 23 +++++++++++++ 10 files changed, 238 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.0.4-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/c/cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.10-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.5.39-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/h/HDF5/HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.2-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016.02-GCC-4.9.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..64d95d529f --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.4' + +homepage = 'http://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +builddependencies = [('M4', '1.4.17')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..c09f6ccec0 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.4.1' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '5.9'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1p'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/c/cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..7135e0d493 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.45.0' + +homepage = 'http://curl.haxx.se' +description = """libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, + POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports + SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, + proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, + Kerberos), file transfer resume, http proxy tunneling and more.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://curl.haxx.se/download/'] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# dependencies = [('OpenSSL', '1.0.1p')] +# configopts = "--with-ssl=$EBROOTOPENSSL" + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.10-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.10-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..6c27df0850 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.10-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,19 @@ +name = 'Doxygen' +version = '1.8.10' + +homepage = 'http://www.doxygen.org' +description = """Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +source_urls = ['http://ftp.stack.nl/pub/users/dimitri/'] + +builddependencies = [ + ('CMake', '3.4.1'), + ('flex', '2.5.39'), + ('Bison', '3.0.4'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flex/flex-2.5.39-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/f/flex/flex-2.5.39-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..154963c1c8 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.5.39-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,14 @@ +name = 'flex' +version = '2.5.39' + +homepage = 'http://flex.sourceforge.net/' +description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..42dda90335 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +version = '1.8.15-patch1' + +homepage = 'http://www.hdfgroup.org/HDF5/' +description = """HDF5 is a unique technology suite that makes possible the management of + extremely large and complex data collections.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'optarch': True, 'pic': True, 'usempi': True} + +source_urls = ['http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +patches = [ + 'HDF5-1.8.15_configure_intel.patch', + 'configure_libtool.patch', +] + +buildopts = 'CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK"' + +dependencies = [ + ('zlib', '1.2.8'), + ('Szip', '2.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..5385893f9b --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,18 @@ +name = 'ncurses' +version = '5.9' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +# see https://bbs.archlinux.org/viewtopic.php?id=194029&p=3 +buildopts = 'CPP="$CC -E -P"' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.2-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..80d70623d7 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.2-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,20 @@ +name = 'netCDF-Fortran' +version = '4.4.2' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/', + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/old', +] + +dependencies = [('netCDF', '4.3.3.1')] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..a58bf39670 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,34 @@ +name = 'netCDF' +version = '4.3.3.1' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'pic': True, 'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/', + 'ftp://ftp.unidata.ucar.edu/pub/netcdf/old', +] + +dependencies = [ + ('HDF5', '1.8.15-patch1'), + ('cURL', '7.45.0'), +] + +builddependencies = [ + ('CMake', '3.4.1'), + ('Doxygen', '1.8.10'), +] + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF ", + "-DBUILD_SHARED_LIBS=ON ", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..d8f05c9dd2 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1' + +homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +description = "Szip compression software, providing lossless compression of scientific data" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = "--with-pic" + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' -- GitLab From af63af4269d95dc953f708bbaf55655f30273915 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 15:17:53 +0800 Subject: [PATCH 0950/1089] [phys]{intel/2016.02-GCC-4.9} Yambo 3.4.2 --- .../Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..aaa16d016b --- /dev/null +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Yambo' +version = '3.4.2' + +homepage = 'http://www.yambo-code.org' +description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. + Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} +toolchainopts = {'usempi': True} + +dependencies = [('netCDF-Fortran', '4.4.2')] + +sources = [SOURCELOWER_TGZ] +source_urls = ['http://qe-forge.org/gf/download/frsrelease/208/932/yambo-3.4.2.tgz'] +checksums = ['f0820a0f42dfc81ce3811af647bed777'] + +configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" ' +configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" ' +configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="-mkl" ' +configopts += '--with-netcdf-libs="-L$EBROOTNETCDFMINFORTRAN/lib -lnetcdff -L$EBROOTNETCDF/lib64 -lnetcdf"' + +buildopts = 'all' + +# no make install +buildininstalldir = 'True' +skipsteps = ['install'] +modextrapaths = {'PATH': '%(namelower)s-%(version)s/bin'} + +sanity_check_paths = { + 'files': ['%(namelower)s-%(version)s/bin/'+prog for prog in ['a2y', 'iotk', 'iotk.x', 'p2y', 'yambo', + 'yambo_kerr', 'yambo_ph', 'yambo_surf', 'ypp', 'ypp_ph', 'ypp_surf']], + 'dirs': [] +} + +moduleclass = 'phys' + +parallel = 1 -- GitLab From 2eca14f6b542eb457c27f4aebe36d6fb4496f7ee Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 15:30:48 +0800 Subject: [PATCH 0951/1089] bump ncurses to 6.0 --- .../easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb index c09f6ccec0..df5823de42 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.4.1-intel-2016.02-GCC-4.9.eb @@ -15,7 +15,7 @@ sources = [SOURCELOWER_TAR_GZ] configopts = '-- -DCMAKE_USE_OPENSSL=1' dependencies = [ - ('ncurses', '5.9'), + ('ncurses', '6.0'), # OS dependency should be preferred if the os version is more recent then this version, # it's nice to have an up to date openssl for security reasons #('OpenSSL', '1.0.1p'), -- GitLab From b76df745227c017890c908f28810ae55c805ae1b Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 15:42:27 +0800 Subject: [PATCH 0952/1089] change module class --- .../b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 2 +- .../b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index ef88631251..c0d639cc89 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -34,4 +34,4 @@ sanity_check_paths = { 'dirs': [] } -moduleclass = 'chem' +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 07d5635dac..4700de27c4 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -34,4 +34,4 @@ sanity_check_paths = { 'dirs': [] } -moduleclass = 'chem' +moduleclass = 'phys' -- GitLab From 22fc709acd211c30baf89829b9cafdaa0709e873 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 16:54:42 +0800 Subject: [PATCH 0953/1089] remove ncurses-5.9-intel-2016.02-GCC-4.9.eb --- .../ncurses-5.9-intel-2016.02-GCC-4.9.eb | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb deleted file mode 100644 index 5385893f9b..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9-intel-2016.02-GCC-4.9.eb +++ /dev/null @@ -1,18 +0,0 @@ -name = 'ncurses' -version = '5.9' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} -toolchainopts = {'optarch': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -# see https://bbs.archlinux.org/viewtopic.php?id=194029&p=3 -buildopts = 'CPP="$CC -E -P"' - -moduleclass = 'devel' -- GitLab From e20edb315e0af6f790c4efa27e69eb4f887bd960 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 17:29:16 +0800 Subject: [PATCH 0954/1089] bump HDF5 to 1.8.16 and cURL to 7.47.0 --- ...016.02-GCC-4.9.eb => cURL-7.47.0-intel-2016.02-GCC-4.9.eb} | 4 ++-- ...016.02-GCC-4.9.eb => HDF5-1.8.16-intel-2016.02-GCC-4.9.eb} | 2 +- .../n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) rename easybuild/easyconfigs/c/cURL/{cURL-7.45.0-intel-2016.02-GCC-4.9.eb => cURL-7.47.0-intel-2016.02-GCC-4.9.eb} (94%) rename easybuild/easyconfigs/h/HDF5/{HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb => HDF5-1.8.16-intel-2016.02-GCC-4.9.eb} (96%) diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016.02-GCC-4.9.eb similarity index 94% rename from easybuild/easyconfigs/c/cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb rename to easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016.02-GCC-4.9.eb index 7135e0d493..45e6650292 100644 --- a/easybuild/easyconfigs/c/cURL/cURL-7.45.0-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/c/cURL/cURL-7.47.0-intel-2016.02-GCC-4.9.eb @@ -1,7 +1,7 @@ easyblock = 'ConfigureMake' name = 'cURL' -version = '7.45.0' +version = '7.47.0' homepage = 'http://curl.haxx.se' description = """libcurl is a free and easy-to-use client-side URL transfer library, @@ -18,7 +18,7 @@ source_urls = ['http://curl.haxx.se/download/'] osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] -# dependencies = [('OpenSSL', '1.0.1p')] +# dependencies = [('OpenSSL', '1.0.1s')] # configopts = "--with-ssl=$EBROOTOPENSSL" modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016.02-GCC-4.9.eb similarity index 96% rename from easybuild/easyconfigs/h/HDF5/HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb rename to easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016.02-GCC-4.9.eb index 42dda90335..d1c17ce30e 100644 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.8.15-patch1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.8.16-intel-2016.02-GCC-4.9.eb @@ -1,5 +1,5 @@ name = 'HDF5' -version = '1.8.15-patch1' +version = '1.8.16' homepage = 'http://www.hdfgroup.org/HDF5/' description = """HDF5 is a unique technology suite that makes possible the management of diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb index a58bf39670..cff46757ad 100644 --- a/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.3.3.1-intel-2016.02-GCC-4.9.eb @@ -16,8 +16,8 @@ source_urls = [ ] dependencies = [ - ('HDF5', '1.8.15-patch1'), - ('cURL', '7.45.0'), + ('HDF5', '1.8.16'), + ('cURL', '7.47.0'), ] builddependencies = [ -- GitLab From bc66427075d6045dce28ff41b2364668b5b56436 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 17:37:27 +0800 Subject: [PATCH 0955/1089] fix source_urls --- .../easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb index aaa16d016b..f1e84f6a06 100644 --- a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -13,7 +13,7 @@ toolchainopts = {'usempi': True} dependencies = [('netCDF-Fortran', '4.4.2')] sources = [SOURCELOWER_TGZ] -source_urls = ['http://qe-forge.org/gf/download/frsrelease/208/932/yambo-3.4.2.tgz'] +source_urls = ['http://qe-forge.org/gf/download/frsrelease/208/932/'] checksums = ['f0820a0f42dfc81ce3811af647bed777'] configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" ' -- GitLab From 6eca75d940ee822d1eab2eb2c88e973f3b4d596a Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 17:38:22 +0800 Subject: [PATCH 0956/1089] move dependencies below checksums --- .../easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb index f1e84f6a06..bcb6f56739 100644 --- a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -10,12 +10,12 @@ description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid s toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} toolchainopts = {'usempi': True} -dependencies = [('netCDF-Fortran', '4.4.2')] - sources = [SOURCELOWER_TGZ] source_urls = ['http://qe-forge.org/gf/download/frsrelease/208/932/'] checksums = ['f0820a0f42dfc81ce3811af647bed777'] +dependencies = [('netCDF-Fortran', '4.4.2')] + configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" ' configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" ' configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="-mkl" ' -- GitLab From 5e94418f4931181e31c47d3be9882d0e6f232dc8 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 18:18:51 +0800 Subject: [PATCH 0957/1089] remove library paths, not needed --- .../easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb index bcb6f56739..e98b1483ff 100644 --- a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -19,7 +19,7 @@ dependencies = [('netCDF-Fortran', '4.4.2')] configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" ' configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" ' configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="-mkl" ' -configopts += '--with-netcdf-libs="-L$EBROOTNETCDFMINFORTRAN/lib -lnetcdff -L$EBROOTNETCDF/lib64 -lnetcdf"' +configopts += '--with-netcdf-libs="-lnetcdff -lnetcdf"' buildopts = 'all' -- GitLab From 37731eef8b1705bc86ad2224890ed318bc6e4329 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 18:33:13 +0800 Subject: [PATCH 0958/1089] use $LIBFFT --- .../easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb index e98b1483ff..4f192a0588 100644 --- a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -18,7 +18,7 @@ dependencies = [('netCDF-Fortran', '4.4.2')] configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" ' configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" ' -configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="-mkl" ' +configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="$LIBFFT" ' configopts += '--with-netcdf-libs="-lnetcdff -lnetcdf"' buildopts = 'all' -- GitLab From 98b99c783631409424f36993ac8b6a14de0f74ea Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 12:43:11 +0200 Subject: [PATCH 0959/1089] add easyconfig numexpr-2.5.2-intel-2016a-Python-2.7.11.eb --- ...numexpr-2.5.2-intel-2016a-Python-2.7.11.eb | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..f3e0914bd5 --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'numexpr' +version = '2.5.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://code.google.com/p/numexpr/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/pydata/numexpr/archive/'] +sources = ['v%(version)s.tar.gz'] + +dependencies = [ + ('Python', '2.7.11'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' -- GitLab From 4046ca8caf31526416dc2842edef61a8b2eb32b2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 12:43:29 +0200 Subject: [PATCH 0960/1089] add easyconfig gdist-1.0.3-intel-2016a-Python-2.7.11.eb --- .../gdist-1.0.3-intel-2016a-Python-2.7.11.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/g/gdist/gdist-1.0.3-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/g/gdist/gdist-1.0.3-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/g/gdist/gdist-1.0.3-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..f6f38f5d9f --- /dev/null +++ b/easybuild/easyconfigs/g/gdist/gdist-1.0.3-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'gdist' +version = '1.0.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pypi.python.org/pypi/gdist' +description = """The gdist module is a Cython interface to a C++ library (http://code.google.com/p/geodesic/) for + computing geodesic distance which is the length of shortest line between two vertices on a triangulated mesh in three + dimensions, such that the line lies on the surface.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' -- GitLab From 5307a71e915dea2e5c22e0a634ffd5129298aac2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 12:43:52 +0200 Subject: [PATCH 0961/1089] add easyconfig NiBabel-2.0.2-intel-2016a-Python-2.7.11.eb, add easyconfig PIL-1.1.7-intel-2016a-Python-2.7.11.eb, add easyconfig pydicom-0.9.9-intel-2016a-Python-2.7.11.eb --- ...NiBabel-2.0.2-intel-2016a-Python-2.7.11.eb | 29 +++++++++++++++ .../PIL-1.1.7-intel-2016a-Python-2.7.11.eb | 36 +++++++++++++++++++ ...pydicom-0.9.9-intel-2016a-Python-2.7.11.eb | 26 ++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 easybuild/easyconfigs/n/NiBabel/NiBabel-2.0.2-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/p/pydicom/pydicom-0.9.9-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/n/NiBabel/NiBabel-2.0.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-2.0.2-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..77bcd52bff --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-2.0.2-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'NiBabel' +version = '2.0.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://nipy.github.io/nibabel' +description = """NiBabel provides read/write access to some common medical and neuroimaging file formats, + including: ANALYZE (plain, SPM99, SPM2 and later), GIFTI, NIfTI1, NIfTI2, MINC1, MINC2, MGH and ECAT + as well as Philips PAR/REC. We can read and write Freesurfer geometry, and read Freesurfer morphometry and + annotation files. There is some very limited support for DICOM. NiBabel is the successor of PyNIfTI.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('PIL', '1.1.7', versionsuffix), + ('pydicom', '0.9.9', versionsuffix), +] + +sanity_check_paths = { + 'files': ['bin/nib-dicomfs', 'bin/nib-ls', 'bin/nib-nifti-dx', 'bin/parrec2nii'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/nibabel', 'lib/python%(pyshortver)s/site-packages/nisext'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..f996585e10 --- /dev/null +++ b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'PIL' +version = '1.1.7' +versionsuffix = '-Python-%(ppyver)s' + +homepage = 'http://www.pythonware.com/products/pil' +description = """The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. + This library supports many file formats, and provides powerful image processing and graphics capabilities.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://effbot.org/downloads/'] +sources = ['Imaging-%(version)s.tar.gz'] + +patches = ['PIL-%(version)s-find-deps.patch'] + +pyver = '2.7.11' +versionsuffix = '-Python-%s' % pyver +dependencies = [ + ('zlib', '1.2.8'), + ('Python', pyver), + ('libjpeg-turbo', '1.4.2'), + # currently not used because of dependency hell + # ('freetype', '2.6.1'), +] + +options = {'modulename': 'PIL'} + +pyshortver = '.'.join(pyver.split('.')[:2]) +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/python%s/site-packages/%%(name)s' % pyshortver], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-0.9.9-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/pydicom/pydicom-0.9.9-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..ab11ff4c9f --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-0.9.9-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pydicom' +version = '0.9.9' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/darcymason/pydicom' +description = """Read, modify and write DICOM files with python code""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/darcymason/pydicom/archive/'] +sources = ['v%(version)s.tar.gz'] + +dependencies = [('Python', '2.7.11')] + +start_dir = 'source' + +options = {'modulename': 'dicom'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pydicom-%(version)s-py%(pyshortver)s.egg'], +} + +moduleclass = 'data' -- GitLab From e2d71772432a501aed37e770db3eec9ea1ddcf08 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 18:58:14 +0800 Subject: [PATCH 0962/1089] switch to MakeCp with configure --- .../y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb index 4f192a0588..23778bb6d6 100644 --- a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -1,4 +1,4 @@ -easyblock = 'ConfigureMake' +easyblock = 'MakeCp' name = 'Yambo' version = '3.4.2' @@ -16,6 +16,8 @@ checksums = ['f0820a0f42dfc81ce3811af647bed777'] dependencies = [('netCDF-Fortran', '4.4.2')] +with_configure = 'True' + configopts = 'CPPFLAGS="" FCFLAGS="-nofor_main" --with-blas-libs="$LIBBLAS" ' configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" ' configopts += '--with-scalapack-libs="$LIBSCALAPACK" --with-fft-libs="$LIBFFT" ' @@ -23,10 +25,7 @@ configopts += '--with-netcdf-libs="-lnetcdff -lnetcdf"' buildopts = 'all' -# no make install -buildininstalldir = 'True' -skipsteps = ['install'] -modextrapaths = {'PATH': '%(namelower)s-%(version)s/bin'} +files_to_copy = [(['bin/*'], 'bin')] sanity_check_paths = { 'files': ['%(namelower)s-%(version)s/bin/'+prog for prog in ['a2y', 'iotk', 'iotk.x', 'p2y', 'yambo', -- GitLab From d05d19be93bde3c4e31429ccaed73c50213b3406 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 13:43:38 +0200 Subject: [PATCH 0963/1089] modify easyconfig numexpr-2.5.2-intel-2016a-Python-2.7.11.eb --- .../n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb index f3e0914bd5..c352743328 100644 --- a/easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.5.2-intel-2016a-Python-2.7.11.eb @@ -11,7 +11,6 @@ description = """The numexpr package evaluates multiple-operator array expressio compiler at runtime.""" toolchain = {'name': 'intel', 'version': '2016a'} -toolchainopts = {'usempi': True} source_urls = ['https://github.com/pydata/numexpr/archive/'] sources = ['v%(version)s.tar.gz'] -- GitLab From 88ddd7a1b72945cb902ef2526ef8b8861b835be1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 13:51:17 +0200 Subject: [PATCH 0964/1089] modify easyconfig PIL-1.1.7-intel-2016a-Python-2.7.11.eb --- .../easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb index f996585e10..dabb8b2f35 100644 --- a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb @@ -27,10 +27,9 @@ dependencies = [ options = {'modulename': 'PIL'} -pyshortver = '.'.join(pyver.split('.')[:2]) sanity_check_paths = { 'files': [], - 'dirs': ['bin', 'lib/python%s/site-packages/%%(name)s' % pyshortver], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/%(name)s'], } moduleclass = 'vis' -- GitLab From 47f5dbe7cec4797ad7745b808c06525bbb6c5c14 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Fri, 22 Apr 2016 19:55:50 +0800 Subject: [PATCH 0965/1089] fix path in sanity checks --- .../easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb index 23778bb6d6..d06eb6d47f 100644 --- a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -28,7 +28,7 @@ buildopts = 'all' files_to_copy = [(['bin/*'], 'bin')] sanity_check_paths = { - 'files': ['%(namelower)s-%(version)s/bin/'+prog for prog in ['a2y', 'iotk', 'iotk.x', 'p2y', 'yambo', + 'files': ['bin/'+prog for prog in ['a2y', 'iotk', 'iotk.x', 'p2y', 'yambo', 'yambo_kerr', 'yambo_ph', 'yambo_surf', 'ypp', 'ypp_ph', 'ypp_surf']], 'dirs': [] } -- GitLab From aa313b0431ca16e479e1be7c4795aa7befe6ad18 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 14:34:28 +0200 Subject: [PATCH 0966/1089] usempi is not required for numexpr --- .../n/numexpr/numexpr-2.0.1-ictce-4.1.13-Python-2.7.3.eb | 1 - .../n/numexpr/numexpr-2.0.1-ictce-5.3.0-Python-2.7.3.eb | 1 - .../n/numexpr/numexpr-2.2.2-ictce-5.5.0-Python-2.7.6.eb | 1 - .../n/numexpr/numexpr-2.4.6-intel-2015b-Python-2.7.10.eb | 1 - 4 files changed, 4 deletions(-) diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-4.1.13-Python-2.7.3.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-4.1.13-Python-2.7.3.eb index b59dd7b4f3..12e8271d88 100644 --- a/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-4.1.13-Python-2.7.3.eb +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-4.1.13-Python-2.7.3.eb @@ -10,7 +10,6 @@ description = """The numexpr package evaluates multiple-operator array expressio compiler at runtime.""" toolchain = {'name': 'ictce', 'version': '4.1.13'} -toolchainopts = {'usempi': True} source_urls = [GOOGLECODE_SOURCE] sources = [SOURCE_TAR_GZ] diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-5.3.0-Python-2.7.3.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-5.3.0-Python-2.7.3.eb index 0f25285835..986566870c 100644 --- a/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-5.3.0-Python-2.7.3.eb +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.0.1-ictce-5.3.0-Python-2.7.3.eb @@ -10,7 +10,6 @@ description = """The numexpr package evaluates multiple-operator array expressio compiler at runtime.""" toolchain = {'name': 'ictce', 'version': '5.3.0'} -toolchainopts = {'usempi': True} source_urls = [GOOGLECODE_SOURCE] sources = [SOURCE_TAR_GZ] diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.2.2-ictce-5.5.0-Python-2.7.6.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.2.2-ictce-5.5.0-Python-2.7.6.eb index 585a1680b7..7b2e107b82 100644 --- a/easybuild/easyconfigs/n/numexpr/numexpr-2.2.2-ictce-5.5.0-Python-2.7.6.eb +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.2.2-ictce-5.5.0-Python-2.7.6.eb @@ -10,7 +10,6 @@ description = """The numexpr package evaluates multiple-operator array expressio compiler at runtime.""" toolchain = {'name': 'ictce', 'version': '5.5.0'} -toolchainopts = {'usempi': True} source_urls = [GOOGLECODE_SOURCE] sources = [SOURCE_TAR_GZ] diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.4.6-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.4.6-intel-2015b-Python-2.7.10.eb index a1e1df7d77..0012640a1c 100644 --- a/easybuild/easyconfigs/n/numexpr/numexpr-2.4.6-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.4.6-intel-2015b-Python-2.7.10.eb @@ -10,7 +10,6 @@ description = """The numexpr package evaluates multiple-operator array expressio compiler at runtime.""" toolchain = {'name': 'intel', 'version': '2015b'} -toolchainopts = {'usempi': True} source_urls = ['https://github.com/pydata/numexpr/archive/'] sources = ['v%(version)s.tar.gz'] -- GitLab From fbb287eb014e34d2f02e1f96ed017af399d46e51 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 14:44:11 +0200 Subject: [PATCH 0967/1089] add easyconfig PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb --- ...PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb diff --git a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb new file mode 100644 index 0000000000..93ba3d3868 --- /dev/null +++ b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'PIL' +version = '1.1.7' +versionsuffix = '-Python-%(ppyver)s' + +homepage = 'http://www.pythonware.com/products/pil' +description = """The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. + This library supports many file formats, and provides powerful image processing and graphics capabilities.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://effbot.org/downloads/'] +sources = ['Imaging-%(version)s.tar.gz'] + +patches = ['PIL-%(version)s-find-deps.patch'] + +dependencies = [ + ('zlib', '1.2.8'), + ('Python', '2.7.11'), + ('libjpeg-turbo', '1.4.2'), + ('freetype', '2.6.3'), +] + +options = {'modulename': 'PIL'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'vis' -- GitLab From e2ced009d6dec638e457588563d90907b8a2f26f Mon Sep 17 00:00:00 2001 From: RvDijk Date: Fri, 22 Apr 2016 14:52:58 +0200 Subject: [PATCH 0968/1089] Commet with foss2016a --- ...ommet-20160422-foss-2016a-Python-2.7.11.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..037900565c --- /dev/null +++ b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'Commet' +version = '20160422' + +homepage = 'https://colibread.inria.fr/software/commet/' +description = """ COMMET (“COmpare Multiple METagenomes”) provides a global similarity overview between all datasets of a large metagenomic project. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +# there is no tarball provided, only git checkout through: +# https://github.com/pierrepeterlongo/commet/archive/master.zip +sources = [SOURCE_ZIP] +files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] + +pythonversion = '2.7.11' +versionsuffix = '-Python-%(pythonversion)s' + +dependencies = [ + ('Python', pythonversion), +] + +checksums = ['5fe63369ec3722e9e758b7bc1dcdfef3'] + +sanity_check_paths = { + 'files': ["bin/%s" % binfile for binfile in ["Commet.py","bvop","compare_reads","extract_reads","filter_reads","index_and_search"]], + 'dirs' : ['doc','include'] +} + +moduleclass = 'bio' -- GitLab From 7ac6d46d9d2b1bf23b8bd44dd02adcd717c0b08f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 15:14:36 +0200 Subject: [PATCH 0969/1089] stick to freetype 2.6.2 for compatibility with matplotlib 1.5.1 --- .../p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb index dabb8b2f35..0fd64f3fd2 100644 --- a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-2.7.11.eb @@ -2,7 +2,7 @@ easyblock = 'PythonPackage' name = 'PIL' version = '1.1.7' -versionsuffix = '-Python-%(ppyver)s' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://www.pythonware.com/products/pil' description = """The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. @@ -15,14 +15,11 @@ sources = ['Imaging-%(version)s.tar.gz'] patches = ['PIL-%(version)s-find-deps.patch'] -pyver = '2.7.11' -versionsuffix = '-Python-%s' % pyver dependencies = [ ('zlib', '1.2.8'), - ('Python', pyver), + ('Python', '2.7.11'), ('libjpeg-turbo', '1.4.2'), - # currently not used because of dependency hell - # ('freetype', '2.6.1'), + ('freetype', '2.6.2'), ] options = {'modulename': 'PIL'} -- GitLab From ab90ad2507bc8890a2aaa665e307cebe60f057d3 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Fri, 22 Apr 2016 15:29:11 +0200 Subject: [PATCH 0970/1089] fixed pyver --- .../c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb index 037900565c..abd2d674a6 100644 --- a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb @@ -3,6 +3,9 @@ easyblock = 'MakeCp' name = 'Commet' version = '20160422' +pyver = '2.7.11' +versionsuffix = '-Python-%(pyver)s' + homepage = 'https://colibread.inria.fr/software/commet/' description = """ COMMET (“COmpare Multiple METagenomes”) provides a global similarity overview between all datasets of a large metagenomic project. """ @@ -14,11 +17,9 @@ toolchain = {'name': 'foss', 'version': '2016a'} sources = [SOURCE_ZIP] files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] -pythonversion = '2.7.11' -versionsuffix = '-Python-%(pythonversion)s' dependencies = [ - ('Python', pythonversion), + ('Python', pyver), ] checksums = ['5fe63369ec3722e9e758b7bc1dcdfef3'] @@ -28,4 +29,4 @@ sanity_check_paths = { 'dirs' : ['doc','include'] } -moduleclass = 'bio' +moduleclass = 'bio' \ No newline at end of file -- GitLab From 3966bc3e025065c771252bae4528eee8d3c653e2 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Fri, 22 Apr 2016 15:52:23 +0200 Subject: [PATCH 0971/1089] CrossTalkZ with foss 2016a --- .../c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb new file mode 100644 index 0000000000..f798c72eb5 --- /dev/null +++ b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'CrossTalkZ' +version = '1.4' + +homepage = 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' +description = """ +CrossTalkZ is a statistical method and software to assess the significance of crosstalk enrichment between pairs of gene or protein groups in large biological networks. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' +] +sources = ['%(name)s_%(version)s.tgz'] + +dependencies = [('Boost', '1.60.0')] + +start_dir = 'src' + +configopts = " -DBoost_NO_BOOST_CMAKE=ON -DBoost_NO_SYSTEM_PATHS=ON -DBOOST_ROOT=$EBROOTBOOST" + +builddependencies = [('CMake', '3.4.3', '', ('foss','2016a'))] + +sanity_check_paths = { + 'files': ['bin/CrossTalkZ'], + 'dirs': [''], +} + +moduleclass = 'bio' \ No newline at end of file -- GitLab From a9a96a44eecdb03cc1396f86fd35ad79e5a8c2db Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 16:02:37 +0200 Subject: [PATCH 0972/1089] add test configuration for Travis --- .travis.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..07d8498dcd --- /dev/null +++ b/.travis.yml @@ -0,0 +1,18 @@ +language: python +python: + - 2.6 + - 2.7 +addons: + apt: + packages: + - tcl8.5 +install: + # install easybuild-framework/easybuild-easyblocks (and dependencies) + # use 'develop' branch of framework/easyblocks, except when testing 'master' + if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi + - easy_install https://github.com/hpcugent/easybuild-framework/archive/${BRANCH}.tar.gz + - easy_install https://github.com/hpcugent/easybuild-easyblocks/archive/${BRANCH}.tar.gz + # install environment modules tool using 'install_eb_dep.sh' script provided by easybuild-framework + - source $(which install_eb_dep.sh) modules-3.2.10 $HOME && source $MOD_INIT +script: + - python -O -m test.easyconfigs.suite -- GitLab From e23363ce6f9b632096702d193242e5221c5f7cc4 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Fri, 22 Apr 2016 16:06:42 +0200 Subject: [PATCH 0973/1089] Fix failing FSL on RHEL 7 --- .../easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb | 4 ++-- .../easyconfigs/f/FSL/FSL-5.0.9_missing_lib.patch | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/f/FSL/FSL-5.0.9_missing_lib.patch diff --git a/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb b/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb index a26ad87936..5b9dfba11b 100644 --- a/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb +++ b/easybuild/easyconfigs/f/FSL/FSL-5.0.9-intel-2016a.eb @@ -11,15 +11,15 @@ sources = ['%(namelower)s-%(version)s-sources.tar.gz'] patches = [ 'FSL-%(version)s_makefile_fixes.patch', + 'FSL-%(version)s_missing_lib.patch', 'FSL_icc_nan-inf_fix.patch', ] -preconfigopts = 'CFLAGS="-I%(builddir)s/src $CFLAGS"' - dependencies = [ ('freeglut', '3.0.0'), ('expat', '2.1.0'), ('libX11', '1.6.3'), + ('zlib', '1.2.8'), ] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FSL/FSL-5.0.9_missing_lib.patch b/easybuild/easyconfigs/f/FSL/FSL-5.0.9_missing_lib.patch new file mode 100644 index 0000000000..40e5baff2f --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-5.0.9_missing_lib.patch @@ -0,0 +1,14 @@ +# On RHEL 7 and friends, you need to link to libglapi too +# Ward Poelmans +diff -ur fsl.oirg/src/fslsurface/Makefile fsl/src/fslsurface/Makefile +--- fsl.oirg/src/fslsurface/Makefile 2014-02-24 12:09:05.000000000 +0100 ++++ fsl/src/fslsurface/Makefile 2016-04-21 18:03:50.246117983 +0200 +@@ -37,7 +37,7 @@ + USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_ZLIB} + + +-LIBS=-lgiftiio -lexpat -lfirst_lib -lmeshclass ++LIBS=-lgiftiio -lexpat -lfirst_lib -lmeshclass -lglapi + + APPLY_ZLIB = -DHAVE_ZLIB + -- GitLab From 54f93414557afa15e4d1234300f5a0ca53ff46d9 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 17:37:00 +0200 Subject: [PATCH 0975/1089] add easyconfig i-PI-1.0-20160213-intel-2016a-Python-2.7.11.eb --- ...-1.0-20160213-intel-2016a-Python-2.7.11.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/i/i-PI/i-PI-1.0-20160213-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/i/i-PI/i-PI-1.0-20160213-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/i/i-PI/i-PI-1.0-20160213-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..a0ac2c0885 --- /dev/null +++ b/easybuild/easyconfigs/i/i-PI/i-PI-1.0-20160213-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name ='i-PI' +version = '1.0-20160213' +commit = '2a09a6d' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/i-pi/i-pi' +description = """A Python wrapper for (ab initio) (path integrals) molecular dynamics""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/i-pi/i-pi/archive/'] +sources = ['%s.tar.gz' % commit] + +dependencies = [ + ('Python', '2.7.11'), +] + +options = {'modulename': 'ipi'} + +sanity_check_paths = { + 'files': ['bin/i-pi'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'chem' -- GitLab From 48744e84a92f73b252f175f9925e0af41fc8f35a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 17:46:56 +0200 Subject: [PATCH 0976/1089] make dev version PEP440 compliant --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 72cf85df21..cf1d254d29 100644 --- a/setup.py +++ b/setup.py @@ -47,7 +47,7 @@ from distutils import log # recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like # UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0' # This causes problems further up the dependency chain... -VERSION = '2.8.0dev0' +VERSION = '2.8.0.dev0' API_VERSION = VERSION.split('.')[0] EB_VERSION = '.'.join(VERSION.split('.')[0:2]) -- GitLab From 40f5979f3457df08f8f40f1afa54a122f9ad2ece Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 18:20:43 +0200 Subject: [PATCH 0977/1089] remove faulty PIL easyconfig --- ...PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb diff --git a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb b/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb deleted file mode 100644 index 93ba3d3868..0000000000 --- a/easybuild/easyconfigs/p/PIL/PIL-1.1.7-intel-2016a-Python-%(ppyver)s.eb +++ /dev/null @@ -1,32 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'PIL' -version = '1.1.7' -versionsuffix = '-Python-%(ppyver)s' - -homepage = 'http://www.pythonware.com/products/pil' -description = """The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. - This library supports many file formats, and provides powerful image processing and graphics capabilities.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['http://effbot.org/downloads/'] -sources = ['Imaging-%(version)s.tar.gz'] - -patches = ['PIL-%(version)s-find-deps.patch'] - -dependencies = [ - ('zlib', '1.2.8'), - ('Python', '2.7.11'), - ('libjpeg-turbo', '1.4.2'), - ('freetype', '2.6.3'), -] - -options = {'modulename': 'PIL'} - -sanity_check_paths = { - 'files': [], - 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/%(name)s'], -} - -moduleclass = 'vis' -- GitLab From 3209fcc10eff09c48149a435a4d568b3a8e7a94d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 19:06:07 +0200 Subject: [PATCH 0978/1089] query GitHub for commit ID of framework/easyblocks branch being used --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 07d8498dcd..de7edac95e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,9 @@ install: # install easybuild-framework/easybuild-easyblocks (and dependencies) # use 'develop' branch of framework/easyblocks, except when testing 'master' if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi + - curl -si https://api.github.com/repos/hpcugent/easybuild-framework/git/refs/heads/${BRANCH} | grep sha - easy_install https://github.com/hpcugent/easybuild-framework/archive/${BRANCH}.tar.gz + - curl -si https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/refs/heads/${BRANCH} | grep sha - easy_install https://github.com/hpcugent/easybuild-easyblocks/archive/${BRANCH}.tar.gz # install environment modules tool using 'install_eb_dep.sh' script provided by easybuild-framework - source $(which install_eb_dep.sh) modules-3.2.10 $HOME && source $MOD_INIT -- GitLab From e2387d1953bd9797547e5da2016e2ec1bf333897 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 19:12:42 +0200 Subject: [PATCH 0979/1089] fix typo --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index de7edac95e..9e395b922a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ addons: install: # install easybuild-framework/easybuild-easyblocks (and dependencies) # use 'develop' branch of framework/easyblocks, except when testing 'master' - if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi + - if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi - curl -si https://api.github.com/repos/hpcugent/easybuild-framework/git/refs/heads/${BRANCH} | grep sha - easy_install https://github.com/hpcugent/easybuild-framework/archive/${BRANCH}.tar.gz - curl -si https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/refs/heads/${BRANCH} | grep sha -- GitLab From 643d94631fe876912443b51ad8eb7483da39c284 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 19:14:33 +0200 Subject: [PATCH 0980/1089] set $PYTHONPATH --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 9e395b922a..74257fabfb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,4 +17,5 @@ install: # install environment modules tool using 'install_eb_dep.sh' script provided by easybuild-framework - source $(which install_eb_dep.sh) modules-3.2.10 $HOME && source $MOD_INIT script: + - export PYTHONPATH=$TRAVIS_BUILD_DIR - python -O -m test.easyconfigs.suite -- GitLab From 9a7580590297de695981ebf84c327abb39fff3b1 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 19:48:22 +0200 Subject: [PATCH 0981/1089] install python-graph-core library required by easyconfig tests --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 74257fabfb..47842a3535 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,8 @@ addons: packages: - tcl8.5 install: + # required for test_dep_graph + - pip install python-graph-core # install easybuild-framework/easybuild-easyblocks (and dependencies) # use 'develop' branch of framework/easyblocks, except when testing 'master' - if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi -- GitLab From d65154ee61c23a8fdc6583d5a66920fb9aae445b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 20:03:14 +0200 Subject: [PATCH 0982/1089] also install python-graph-dot --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 47842a3535..a67e42aebf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ addons: - tcl8.5 install: # required for test_dep_graph - - pip install python-graph-core + - pip install python-graph-core python-graph-dot # install easybuild-framework/easybuild-easyblocks (and dependencies) # use 'develop' branch of framework/easyblocks, except when testing 'master' - if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi -- GitLab From e2b1e2bf1eea6eeee0813e05dd8a0e6d004c76f2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 22 Apr 2016 22:29:53 +0200 Subject: [PATCH 0983/1089] remove Rust easyconfig using intel toolchain, rustc doesn't work --- .../r/Rust/Rust-1.8.0-intel-2016a.eb | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb b/easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb deleted file mode 100644 index e2f00427e8..0000000000 --- a/easybuild/easyconfigs/r/Rust/Rust-1.8.0-intel-2016a.eb +++ /dev/null @@ -1,28 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'Rust' -version = '1.8.0' - -homepage = 'https://www.rust-lang.org' -description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, - and guarantees thread safety.""" - -toolchain = {'name': 'intel', 'version': '2016a'} - -source_urls = ['https://static.rust-lang.org/dist/'] -sources = ['rustc-%(version)s-src.tar.gz'] - -builddependencies = [('Python', '2.7.11')] - -dependencies = [ - ('LLVM', '3.8.0'), -] - -configopts = "--llvm-root=$EBROOTLLVM" - -sanity_check_paths = { - 'files': ['bin/rustc', 'bin/rustdoc'], - 'dirs': ['share/doc', 'share/man', 'lib/rustlib'], -} - -moduleclass = 'lang' -- GitLab From dea89b699b0c8bb51fd847f807d32b2285885326 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Sat, 23 Apr 2016 08:18:33 +0800 Subject: [PATCH 0984/1089] fix style --- .../easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb index d06eb6d47f..d3ce57aec0 100644 --- a/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/y/Yambo/Yambo-3.4.2-intel-2016.02-GCC-4.9.eb @@ -25,6 +25,8 @@ configopts += '--with-netcdf-libs="-lnetcdff -lnetcdf"' buildopts = 'all' +parallel = 1 + files_to_copy = [(['bin/*'], 'bin')] sanity_check_paths = { @@ -34,5 +36,3 @@ sanity_check_paths = { } moduleclass = 'phys' - -parallel = 1 -- GitLab From cf3fc8237183fa5f3bae7eb7e67089f11f3a4162 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 23 Apr 2016 10:29:18 +0200 Subject: [PATCH 0985/1089] also test with Lmod as modules tool on Travis --- .travis.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index a67e42aebf..82661648a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,17 @@ language: python -python: - - 2.6 - - 2.7 +python: 2.6 +env: + matrix: + - ENV_MOD_VERSION=3.2.10 + - LMOD_VERSION=5.6.3 EASYBUILD_MODULES_TOOL=Lmod + - LMOD_VERSION=6.3.1 EASYBUILD_MODULES_TOOL=Lmod EASYBUILD_MODULE_SYNTAX=Lua +matrix: + # mark build as finished as soon as job has failed + fast_finish: true + include: + # also test default configuration with Python 2.7 + - python: 2.7 + env: ENV_MOD_VERSION=3.2.10 addons: apt: packages: @@ -17,7 +27,9 @@ install: - curl -si https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/refs/heads/${BRANCH} | grep sha - easy_install https://github.com/hpcugent/easybuild-easyblocks/archive/${BRANCH}.tar.gz # install environment modules tool using 'install_eb_dep.sh' script provided by easybuild-framework - - source $(which install_eb_dep.sh) modules-3.2.10 $HOME && source $MOD_INIT + - if [ ! -z $ENV_MOD_VERSION ]; then source $(which install_eb_dep.sh) modules-${ENV_MOD_VERSION} $HOME; fi + - if [ ! -z $LMOD_VERSION ]; then source $(which install_eb_dep.sh) lua-5.1.4.8 $HOME; fi + - if [ ! -z $LMOD_VERSION ]; then source $(which install_eb_dep.sh) Lmod-${LMOD_VERSION} $HOME; fi script: - export PYTHONPATH=$TRAVIS_BUILD_DIR - python -O -m test.easyconfigs.suite -- GitLab From 25e957fafed3d7db1f16375949d364e499a37747 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sat, 23 Apr 2016 13:09:49 +0200 Subject: [PATCH 0986/1089] long line fix --- .../c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb index abd2d674a6..0ddc0b62f9 100644 --- a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb @@ -25,8 +25,9 @@ dependencies = [ checksums = ['5fe63369ec3722e9e758b7bc1dcdfef3'] sanity_check_paths = { - 'files': ["bin/%s" % binfile for binfile in ["Commet.py","bvop","compare_reads","extract_reads","filter_reads","index_and_search"]], - 'dirs' : ['doc','include'] + 'files': ["bin/%s" % binfile for binfile in ["Commet.py", "bvop", + "compare_reads", "extract_reads", "filter_reads", "index_and_search"]], + 'dirs' : ['doc', 'include'] } -moduleclass = 'bio' \ No newline at end of file +moduleclass = 'bio' -- GitLab From 92df775e7f99a7067490b356bcf00af058e51f60 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sat, 23 Apr 2016 13:14:34 +0200 Subject: [PATCH 0987/1089] style fixes --- .../Commet-20160422-foss-2016a-Python-2.7.11.eb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb index 0ddc0b62f9..2c16bccce7 100644 --- a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb @@ -7,7 +7,8 @@ pyver = '2.7.11' versionsuffix = '-Python-%(pyver)s' homepage = 'https://colibread.inria.fr/software/commet/' -description = """ COMMET (“COmpare Multiple METagenomes”) provides a global similarity overview between all datasets of a large metagenomic project. +description = """ COMMET ("COmpare Multiple METagenomes") provides a global similarity overview between all datasets of +a large metagenomic project. """ toolchain = {'name': 'foss', 'version': '2016a'} @@ -15,15 +16,15 @@ toolchain = {'name': 'foss', 'version': '2016a'} # there is no tarball provided, only git checkout through: # https://github.com/pierrepeterlongo/commet/archive/master.zip sources = [SOURCE_ZIP] -files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] +checksums = ['5fe63369ec3722e9e758b7bc1dcdfef3'] + +files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] dependencies = [ - ('Python', pyver), + ('Python', '2.7.11'), ] -checksums = ['5fe63369ec3722e9e758b7bc1dcdfef3'] - sanity_check_paths = { 'files': ["bin/%s" % binfile for binfile in ["Commet.py", "bvop", "compare_reads", "extract_reads", "filter_reads", "index_and_search"]], -- GitLab From 2c0e1b6d8ab6bc2727421dc4a8d214a886c2f516 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sat, 23 Apr 2016 19:31:05 +0200 Subject: [PATCH 0988/1089] quickfixes --- .../c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb index f798c72eb5..59c924d670 100644 --- a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb +++ b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb @@ -5,11 +5,12 @@ version = '1.4' homepage = 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' description = """ -CrossTalkZ is a statistical method and software to assess the significance of crosstalk enrichment between pairs of gene or protein groups in large biological networks. +CrossTalkZ is a statistical method and software to assess the significance of crosstalk enrichment between pairs of +gene or protein groups in large biological networks. """ toolchain = {'name': 'foss', 'version': '2016a'} -toolchainopts = {'optarch': True, 'usempi': True, 'pic': True} +toolchainopts = {'usempi': True, 'pic': True} source_urls = [ 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' @@ -22,11 +23,11 @@ start_dir = 'src' configopts = " -DBoost_NO_BOOST_CMAKE=ON -DBoost_NO_SYSTEM_PATHS=ON -DBOOST_ROOT=$EBROOTBOOST" -builddependencies = [('CMake', '3.4.3', '', ('foss','2016a'))] +builddependencies = [('CMake', '3.4.3',)] sanity_check_paths = { 'files': ['bin/CrossTalkZ'], 'dirs': [''], } -moduleclass = 'bio' \ No newline at end of file +moduleclass = 'bio' -- GitLab From 086c0dbb972a7084122b4b5eaf39da87a6bcaacb Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 23 Apr 2016 23:56:48 +0100 Subject: [PATCH 0989/1089] Update SAMtools to 1.3.1 --- .../s/SAMtools/SAMtools-1.3.1-foss-2015b.eb | 31 +++++++++++++++++++ .../s/SAMtools/SAMtools-1.3.1-foss-2016a.eb | 31 +++++++++++++++++++ .../s/SAMtools/SAMtools-1.3.1-intel-2016a.eb | 31 +++++++++++++++++++ .../s/SAMtools/SAMtools-1.3.1_Makefile.patch | 24 ++++++++++++++ 4 files changed, 117 insertions(+) create mode 100644 easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb create mode 100644 easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb new file mode 100644 index 0000000000..4ee9352c3d --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Robert Schmidt , Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +## +name = 'SAMtools' +version = '1.3.1' + +homepage = 'http://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'foss', 'version': '2015b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] + +# Patch Makefile to link against zlib provided by EB +patches = ['SAMtools-1.3.1_Makefile.patch'] + +dependencies = [ + ('ncurses', '5.9'), + ('zlib', '1.2.8'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb new file mode 100644 index 0000000000..fea05c529c --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Robert Schmidt , Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +## +name = 'SAMtools' +version = '1.3.1' + +homepage = 'http://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] + +# Patch Makefile to link against zlib provided by EB +patches = ['SAMtools-1.3.1_Makefile.patch'] + +dependencies = [ + ('ncurses', '6.0'), + ('zlib', '1.2.8'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb new file mode 100644 index 0000000000..d88f5e50e8 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Robert Schmidt , Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +## +name = 'SAMtools' +version = '1.3.1' + +homepage = 'http://www.htslib.org/' +description = """SAM Tools provide various utilities for manipulating alignments in the SAM format, + including sorting, merging, indexing and generating alignments in a per-position format.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] + +# Patch Makefile to link against zlib provided by EB +patches = ['SAMtools-1.3.1_Makefile.patch'] + +dependencies = [ + ('ncurses', '6.0'), + ('zlib', '1.2.8'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch new file mode 100644 index 0000000000..c5b04c6958 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch @@ -0,0 +1,24 @@ +Common subdirectories: samtools-1.3.1/examples and samtools-1.3.1.new/examples +Common subdirectories: samtools-1.3.1/htslib-1.3.1 and samtools-1.3.1.new/htslib-1.3.1 +diff -u samtools-1.3.1/Makefile samtools-1.3.1.new/Makefile +--- samtools-1.3.1/Makefile 2016-04-22 10:51:16.000000000 +0100 ++++ samtools-1.3.1.new/Makefile 2016-04-23 23:53:26.266962157 +0100 +@@ -82,13 +82,13 @@ + # TODO Use configure or htslib.pc to add -rdynamic/-ldl conditionally + ALL_CPPFLAGS = -I. $(HTSLIB_CPPFLAGS) $(CPPFLAGS) + ALL_LDFLAGS = -rdynamic $(HTSLIB_LDFLAGS) $(LDFLAGS) +-ALL_LIBS = -lz -ldl $(LIBS) ++ALL_LIBS = -L$(EBROOTZLIB)/lib -lz -ldl $(LIBS) + + # Usually config.mk and config.h are generated by running configure + # or config.status, but if those aren't used create defaults here. + + config.mk: +- @sed -e '/^prefix/,/^LIBS/d;s/@Hsource@//;s/@Hinstall@/#/;s#@HTSDIR@#htslib-1.3.1#g;s/@HTSLIB_CPPFLAGS@/-I$$(HTSDIR)/g;s/@CURSES_LIB@/-lcurses/g' config.mk.in > $@ ++ @sed -e '/^prefix/,/^LIBS/d;s/@Hsource@//;s/@Hinstall@/#/;s#@HTSDIR@#htslib-1.3.1#g;s/@HTSLIB_CPPFLAGS@/-I$$(HTSDIR)/g;s/@CURSES_LIB@/-L$$(EBROOTNCURSES)\/lib -lcurses/g' config.mk.in > $@ + + config.h: + echo '/* Basic config.h generated by Makefile */' > $@ +Common subdirectories: samtools-1.3.1/misc and samtools-1.3.1.new/misc +Common subdirectories: samtools-1.3.1/test and samtools-1.3.1.new/test +Common subdirectories: samtools-1.3.1/win32 and samtools-1.3.1.new/win32 -- GitLab From 2ab4d6d539228f0e637f1e5817cd9b983da10d7b Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sun, 24 Apr 2016 19:44:15 +0200 Subject: [PATCH 0990/1089] cutadapt with foss 2016a --- ...cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..0a504a247d --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Author: Adam Huffman +# The Francis Crick Institute + +easyblock = "PythonPackage" + +name = 'cutadapt' +version = '1.9.1' +pyver = '2.7.11' +versionsuffix = '-Python-%(pyver)s' +pyshortver = '.'.join(pyver.split('.')[:2]) + +homepage = 'http://opensource.scilifelab.se/projects/cutadapt/' +description = """ Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads. """ + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + + +dependencies = [ + ('Python', '2.7.11'), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cutadapt/'], +} + +moduleclass = 'bio' -- GitLab From efb8760eacfd270bfefb526017504bc11f0bc3e7 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 25 Apr 2016 11:57:53 +0200 Subject: [PATCH 0991/1089] libgtextutils with foss 2016a --- .../libgtextutils-0.7-foss-2016a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/l/libgtextutils/libgtextutils-0.7-foss-2016a.eb diff --git a/easybuild/easyconfigs/l/libgtextutils/libgtextutils-0.7-foss-2016a.eb b/easybuild/easyconfigs/l/libgtextutils/libgtextutils-0.7-foss-2016a.eb new file mode 100644 index 0000000000..c1b5b27e46 --- /dev/null +++ b/easybuild/easyconfigs/l/libgtextutils/libgtextutils-0.7-foss-2016a.eb @@ -0,0 +1,32 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'libgtextutils' +version = '0.7' + +homepage = 'http://hannonlab.cshl.edu/fastx_toolkit/' +description = """ligtextutils is a dependency of fastx-toolkit and is provided via the same upstream""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/agordon/libgtextutils/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] + +sanity_check_paths = { + 'files': ['lib/libgtextutils.so', 'lib/libgtextutils.a'], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'lib' -- GitLab From 7fd4c7a674c4b93466fb96abf122f53e4dc3dbd5 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 25 Apr 2016 11:59:57 +0200 Subject: [PATCH 0992/1089] FASTX-Toolket-0.0.14 with foss 2016a --- .../FASTX-Toolkit-0.0.14-foss-2016a.eb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-foss-2016a.eb diff --git a/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-foss-2016a.eb b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-foss-2016a.eb new file mode 100644 index 0000000000..a69a7b9e2f --- /dev/null +++ b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-foss-2016a.eb @@ -0,0 +1,44 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'FASTX-Toolkit' +version = '0.0.14' + +homepage = 'http://hannonlab.cshl.edu/fastx_toolkit/' +description = """The FASTX-Toolkit is a collection of command line tools for + Short-Reads FASTA/FASTQ files preprocessing.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/agordon/fastx_toolkit/releases/download/%(version)s'] +sources = ['fastx_toolkit-%(version)s.tar.bz2'] + +builddependencies = [('libgtextutils', '0.7')] + +sanity_check_paths = { + 'files': + ['bin/fastx_%s' % x for x in + ['clipper', 'trimmer', 'quality_stats', 'artifacts_filter', 'reverse_complement', + 'collapser', 'uncollapser', 'renamer', 'barcode_splitter.pl', 'nucleotide_distribution_graph.sh', + 'nucleotide_distribution_line_graph.sh']] + + ['bin/fasta_%s' % x for x in + ['clipping_histogram.pl', 'formatter', 'nucleotide_changer']] + + ['bin/fastq_%s' % x for x in + ['quality_boxplot_graph.sh', 'quality_converter', 'to_fasta', 'quality_filter', + 'quality_trimmer', 'masker']], + 'dirs': ['.'] +} + +moduleclass = 'bio' -- GitLab From ee61831b0499b51bbb5684d61ec1772ffa0c1021 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 25 Apr 2016 12:00:17 +0200 Subject: [PATCH 0993/1089] Add Clang 3.8 --- .../c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb | 31 ++++++++++++ .../c/Clang/Clang-3.8.0-GCC-4.9.3-2.25.eb | 50 +++++++++++++++++++ .../i/ISL/ISL-0.16-GCC-4.9.3-2.25.eb | 21 ++++++++ .../l/libxml2/libxml2-2.9.3-GCC-4.9.3-2.25.eb | 28 +++++++++++ .../n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb | 34 +++++++++++++ .../Python-2.7.11-GCC-4.9.3-2.25-bare.eb | 32 ++++++++++++ .../s/SQLite/SQLite-3.9.2-GCC-4.9.3-2.25.eb | 41 +++++++++++++++ 7 files changed, 237 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/c/Clang/Clang-3.8.0-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/i/ISL/ISL-0.16-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb create mode 100644 easybuild/easyconfigs/p/Python/Python-2.7.11-GCC-4.9.3-2.25-bare.eb create mode 100644 easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-GCC-4.9.3-2.25.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..7c4301fdfe --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.5.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '6.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1s'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/Clang/Clang-3.8.0-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/c/Clang/Clang-3.8.0-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..23fe1ddcc9 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-3.8.0-GCC-4.9.3-2.25.eb @@ -0,0 +1,50 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans +# Authors:: Dmitri Gribenko +# Authors:: Ward Poelmans +# License:: GPLv2 or later, MIT, three-clause BSD. +# $Id$ +## + +name = "Clang" +version = "3.8.0" + +homepage = "http://clang.llvm.org/" +description = """C, C++, Objective-C compiler, based on LLVM. Does not + include C++ standard library -- use libstdc++ from GCC.""" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} +# Do not set optarch to True: it will cause the build to fail +toolchainopts = {'optarch': False} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = [ + "llvm-%(version)s.src.tar.xz", + "cfe-%(version)s.src.tar.xz", + "compiler-rt-%(version)s.src.tar.xz", + "polly-%(version)s.src.tar.xz", + "openmp-%(version)s.src.tar.xz", +] + +dependencies = [ + ('GMP', '6.1.0'), + ('ISL', '0.16'), +] + +builddependencies = [ + ('CMake', '3.5.2'), + ('Python', '2.7.11', '-bare'), + ('libxml2', '2.9.3'), +] + +assertions = True + +usepolly = True + +build_targets = ['X86'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.16-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/i/ISL/ISL-0.16-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..6b38a91f39 --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.16-GCC-4.9.3-2.25.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.16' + +homepage = 'http://isl.gforge.inria.fr/' +description = """isl is a library for manipulating sets and relations of integer points bounded by linear constraints.""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +source_urls = ['http://isl.gforge.inria.fr/'] +sources = [SOURCELOWER_TAR_BZ2] + +dependencies = [('GMP', '6.1.0')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..ba6d0a4c3f --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.3-GCC-4.9.3-2.25.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libxml2' +version = '2.9.3' + +homepage = 'http://xmlsoft.org/' +description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] +sources = [SOURCELOWER_TAR_GZ] + +configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python --with-zlib=$EBROOTZLIB' + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': [('lib/libxml2.a', 'lib64/libxml2.a'), ('lib/libxml2.%s' % SHLIB_EXT, 'lib64/libxml2.%s' % SHLIB_EXT)], + 'dirs': ['bin', 'include/libxml2/libxml'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..02e4aae6ca --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.0' + +homepage = 'http://www.gnu.org/software/ncurses/' +description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, + and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +libs = ["form", "menu", "ncurses", "panel"] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.11-GCC-4.9.3-2.25-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.11-GCC-4.9.3-2.25-bare.eb new file mode 100644 index 0000000000..895d73b128 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.11-GCC-4.9.3-2.25-bare.eb @@ -0,0 +1,32 @@ +name = 'Python' +version = '2.7.11' +versionsuffix = '-bare' + +homepage = 'http://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +# python needs bzip2 to build the bz2 package +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libreadline', '6.3', '', ('GCCcore', '4.9.3')), + ('ncurses', '6.0', '', ('GCCcore', '4.9.3')), + ('SQLite', '3.9.2'), + ('Tk', '8.6.4', '-no-X11'), + # ('OpenSSL', '1.0.1q'), # OS dependency should be preferred if the os version is more recent then this version, it's + # nice to have an up to date openssl for security reasons +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# bare installation: no extensions included +exts_list = [] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-GCC-4.9.3-2.25.eb new file mode 100644 index 0000000000..5c86155323 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.9.2-GCC-4.9.3-2.25.eb @@ -0,0 +1,41 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.9.2' + +homepage = 'http://www.sqlite.org/' +description = 'SQLite: SQL Database Engine in a C Library' + +toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} + +# eg. http://www.sqlite.org/2014/sqlite-autoconf-3080600.tar.gz +source_urls = ['http://www.sqlite.org/2015/'] +version_str = '%%(version_major)s%s00' % ''.join('%02d' % int(x) for x in version.split('.')[1:]) +sources = ['sqlite-autoconf-%s.tar.gz' % version_str] + +dependencies = [ + ('libreadline', '6.3', '', ('GCCcore', '4.9.3')), + ('Tcl', '8.6.4'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', 'lib/libsqlite3.a', + 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'devel' -- GitLab From bfca7b250a70b412b02b70921c158c85923ab215 Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Mon, 25 Apr 2016 12:57:08 +0200 Subject: [PATCH 0994/1089] Fix conflict --- easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb index 7c4301fdfe..619aaa3ab8 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-GCC-4.9.3-2.25.eb @@ -15,7 +15,7 @@ sources = [SOURCELOWER_TAR_GZ] configopts = '-- -DCMAKE_USE_OPENSSL=1' dependencies = [ - ('ncurses', '6.0'), + ('ncurses', '6.0', '', ('GCCcore', '4.9.3')), # OS dependency should be preferred if the os version is more recent then this version, # it's nice to have an up to date openssl for security reasons #('OpenSSL', '1.0.1s'), -- GitLab From ebc6dc8fdd062abf4da5cbc1b71570b46f4cc211 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Tue, 26 Apr 2016 16:33:46 +0800 Subject: [PATCH 0995/1089] {chem}[intel/2016.02-GCC-4.9] pymatgen 3.5.10 and spglib 1.9.2 --- ...5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 33 +++++++++++++++++++ .../spglib-1.9.2-intel-2016.02-GCC-4.9.eb | 21 ++++++++++++ .../spglib-1.9.2_remove_duplicate.patch | 11 +++++++ 3 files changed, 65 insertions(+) create mode 100644 easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb create mode 100644 easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch diff --git a/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb new file mode 100644 index 0000000000..cacf27ebc3 --- /dev/null +++ b/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -0,0 +1,33 @@ +easyblock = "PythonPackage" + +name = 'pymatgen' +version = '3.5.0' + +homepage = 'https://pypi.python.org/pypi/pymatgen' +description = """Python Materials Genomics is a robust materials analysis code that defines core object + representations for structures and molecules with support for many electronic structure codes.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +# source not in url PYPI_SOURCE ? +#source_urls = [PYPI_SOURCE] +source_urls = ['http://pypi.python.org/packages/7a/ae/c1bbe01227514bec203934d608c7319fec173791b3c58afa8e169affb976/'] +sources = [SOURCE_TAR_GZ] + +python = 'Python' +pythonversion = '2.7.11' + +versionsuffix = '-%s-%s' % (python, pythonversion) + +dependencies = [ + (python, pythonversion), + ('spglib', '1.9.2'), +] + +py_short_ver = '.'.join(pythonversion.split('.')[:2]) +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%s/site-packages' % py_short_ver], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb new file mode 100644 index 0000000000..99c05961d7 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'spglib' +version = '1.9.2' + +homepage = 'http://spglib.sourceforge.net/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] + +patches = ['spglib-1.9.2_remove_duplicate.patch'] + +sanity_check_paths = { + 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], + 'dirs': ['include/spglib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch b/easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch new file mode 100644 index 0000000000..c228aceb25 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch @@ -0,0 +1,11 @@ +--- src/Makefile.in.orig 2016-04-26 16:21:29.900203000 +0800 ++++ src/Makefile.in 2016-04-26 16:21:43.531192514 +0800 +@@ -562,7 +562,7 @@ + version.h + + libsymspg_la_SOURCES = $(spglib_c) $(spglib_h) +-pkginclude_HEADERS = $(spglib_h) debug.h ++pkginclude_HEADERS = $(spglib_h) + # libsymspg_la_LDFLAGS = -version-info 0:1:0 + libsymspg_la_LIBADD = -lm + spglib_test_SOURCES = test.c $(spglib_c) $(spglib_h) -- GitLab From 38ac1422594760bc4281382bd4f22bea36297de7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 26 Apr 2016 17:33:32 +0200 Subject: [PATCH 0996/1089] fix use of resolve_dependencies in tests --- test/easyconfigs/easyconfigs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index f3b329c872..db5060f0b6 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -113,7 +113,7 @@ class EasyConfigTest(TestCase): if dep.get('external_module', False): ec['dependencies'].remove(dep) - self.ordered_specs = resolve_dependencies(self.parsed_easyconfigs, retain_all_deps=True) + self.ordered_specs = resolve_dependencies(self.parsed_easyconfigs, modules_tool(), retain_all_deps=True) def test_dep_graph(self): """Unit test that builds a full dependency graph.""" -- GitLab From 4df336393a0094535ed365c30f094d682a2a9bd2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 26 Apr 2016 17:37:38 +0200 Subject: [PATCH 0997/1089] add easyconfig travis-1.8.2-Ruby-2.3.1.eb, add easyconfig Ruby-2.3.1.eb --- easybuild/easyconfigs/r/Ruby/Ruby-2.3.1.eb | 63 +++++++++++++++++++ .../t/travis/travis-1.8.2-Ruby-2.3.1.eb | 24 +++++++ 2 files changed, 87 insertions(+) create mode 100644 easybuild/easyconfigs/r/Ruby/Ruby-2.3.1.eb create mode 100644 easybuild/easyconfigs/t/travis/travis-1.8.2-Ruby-2.3.1.eb diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-2.3.1.eb b/easybuild/easyconfigs/r/Ruby/Ruby-2.3.1.eb new file mode 100644 index 0000000000..873541fd42 --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-2.3.1.eb @@ -0,0 +1,63 @@ +# With <3 for EasyBuild +# +# EasyConfig for Ruby 2.1: +# ---------------------------------------------------------------------------- +# Copyright: 2014 - Gregor Mendel Institute of Molecular Plant Biology GmBH +# License: MIT +# Authors: Aaron Zauner +# ---------------------------------------------------------------------------- + +name = 'Ruby' +version = '2.3.1' + +homepage = 'https://www.ruby-lang.org' +description = """Ruby is a dynamic, open source programming language with + a focus on simplicity and productivity. It has an elegant syntax that is + natural to read and easy to write.""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://cache.ruby-lang.org/pub/ruby/'] + +ext_options = { + 'source_urls': ['http://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +exts_list = [ + ('ffi', '1.9.10', ext_options), + ('childprocess', '0.5.9', ext_options), + ('json', '1.8.3', ext_options), + ('cabin', '0.8.1', ext_options), + ('backports', '3.6.8', ext_options), + ('arr-pm', '0.0.10', ext_options), + ('clamp', '1.0.0', ext_options), + ('multipart-post', '2.0.0', ext_options), + ('faraday', '0.9.2', ext_options), + ('faraday_middleware', '0.10.0', ext_options), + ('highline', '1.7.8', ext_options), + ('net-http-pipeline', '1.0.1', ext_options), + ('net-http-persistent', '2.9.4', ext_options), + ('multi_json', '1.11.3', ext_options), + ('addressable', '2.4.0', ext_options), + ('gh', '0.14.0', ext_options), + ('launchy', '2.4.3', ext_options), + ('ethon', '0.8.1', ext_options), + ('typhoeus', '0.8.0', ext_options), + ('websocket', '1.2.3', ext_options), + ('pusher-client', '0.6.2', ext_options), + ('diff-lcs', '1.2.5', ext_options), + ('rspec-support', '3.4.1', ext_options), + ('rspec-mocks', '3.4.1', ext_options), + ('rspec-expectations', '3.4.0', ext_options), + ('rspec-core', '3.4.4', ext_options), + ('rspec', '3.4.0', ext_options), + ('rack', '1.6.4', ext_options), + ('rack-protection', '1.5.3', ext_options), + ('tilt', '2.0.2', ext_options), + ('sinatra', '1.4.7', ext_options), + ('rack-test', '0.6.3', ext_options), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/travis/travis-1.8.2-Ruby-2.3.1.eb b/easybuild/easyconfigs/t/travis/travis-1.8.2-Ruby-2.3.1.eb new file mode 100644 index 0000000000..ebac3ec2d3 --- /dev/null +++ b/easybuild/easyconfigs/t/travis/travis-1.8.2-Ruby-2.3.1.eb @@ -0,0 +1,24 @@ +easyblock = 'RubyGem' + +name = 'travis' +version = '1.8.2' + +rubyver = '2.3.1' +versionsuffix = '-Ruby-%s' % rubyver + +homepage = 'https://github.com/travis-ci/travis.rb' +description = """Travis CI Client (CLI and Ruby library)""" + +toolchain = {'name': 'dummy', 'version': ''} + +source_urls = ['http://rubygems.org/downloads/'] +sources = ['%(namelower)s-%(version)s.gem'] + +dependencies = [('Ruby', rubyver)] + +sanity_check_paths = { + 'files': ['bin/travis'], + 'dirs': ['gems/travis-%(version)s/lib/travis'], +} + +moduleclass = 'tools' -- GitLab From 0e7e6ad93bed78ec974e24ad4e697a16f4e6a90c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 26 Apr 2016 19:37:42 +0200 Subject: [PATCH 0998/1089] install easybuild-framework & easybuild-easyblocks via git clone && easy_install --- .travis.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 82661648a7..00f7860f26 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,10 +22,12 @@ install: # install easybuild-framework/easybuild-easyblocks (and dependencies) # use 'develop' branch of framework/easyblocks, except when testing 'master' - if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi - - curl -si https://api.github.com/repos/hpcugent/easybuild-framework/git/refs/heads/${BRANCH} | grep sha - - easy_install https://github.com/hpcugent/easybuild-framework/archive/${BRANCH}.tar.gz - - curl -si https://api.github.com/repos/hpcugent/easybuild-easyblocks/git/refs/heads/${BRANCH} | grep sha - - easy_install https://github.com/hpcugent/easybuild-easyblocks/archive/${BRANCH}.tar.gz + - git clone -b $BRANCH --depth 10 --single-branch https://github.com/hpcugent/easybuild-framework.git + - cd easybuild-framework; git log -n 1; cd - + - easy_install $PWD/easybuild-framework + - git clone -b $BRANCH --depth 10 --single-branch https://github.com/hpcugent/easybuild-easyblocks.git + - cd easybuild-easyblocks; git log -n 1; cd - + - easy_install $PWD/easybuild-easyblocks # install environment modules tool using 'install_eb_dep.sh' script provided by easybuild-framework - if [ ! -z $ENV_MOD_VERSION ]; then source $(which install_eb_dep.sh) modules-${ENV_MOD_VERSION} $HOME; fi - if [ ! -z $LMOD_VERSION ]; then source $(which install_eb_dep.sh) lua-5.1.4.8 $HOME; fi -- GitLab From 40a6f5d08a0399cc544dd39ba8145a345e4a3414 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 26 Apr 2016 19:55:13 +0200 Subject: [PATCH 0999/1089] fix cwd when cloning --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 00f7860f26..127edacd18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,7 @@ install: # install easybuild-framework/easybuild-easyblocks (and dependencies) # use 'develop' branch of framework/easyblocks, except when testing 'master' - if [ "x$TRAVIS_BRANCH" = 'xmaster' ]; then BRANCH=master; else BRANCH=develop; fi + - cd $HOME - git clone -b $BRANCH --depth 10 --single-branch https://github.com/hpcugent/easybuild-framework.git - cd easybuild-framework; git log -n 1; cd - - easy_install $PWD/easybuild-framework -- GitLab From fe83740c235f48de4924f02e3a463cce5adc1d68 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 26 Apr 2016 21:39:01 +0100 Subject: [PATCH 1000/1089] Add patch information and apply more macros --- .../easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb | 4 +++- .../easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb | 4 +++- .../easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb | 4 +++- .../easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch | 8 +++----- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb index 4ee9352c3d..a7026c36d0 100644 --- a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2015b.eb @@ -6,6 +6,8 @@ # License:: MIT/GPL # $Id$ # +# Modified by: Adam Huffman +# The Francis Crick Institute ## name = 'SAMtools' version = '1.3.1' @@ -21,7 +23,7 @@ source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(ve sources = [SOURCELOWER_TAR_BZ2] # Patch Makefile to link against zlib provided by EB -patches = ['SAMtools-1.3.1_Makefile.patch'] +patches = ['SAMtools-%(version)s_Makefile.patch'] dependencies = [ ('ncurses', '5.9'), diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb index fea05c529c..7fa65122da 100644 --- a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-foss-2016a.eb @@ -6,6 +6,8 @@ # License:: MIT/GPL # $Id$ # +# Modified by: Adam Huffman +# The Francis Crick Institute ## name = 'SAMtools' version = '1.3.1' @@ -21,7 +23,7 @@ source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(ve sources = [SOURCELOWER_TAR_BZ2] # Patch Makefile to link against zlib provided by EB -patches = ['SAMtools-1.3.1_Makefile.patch'] +patches = ['SAMtools-%(version)s_Makefile.patch'] dependencies = [ ('ncurses', '6.0'), diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb index d88f5e50e8..91ca187c34 100644 --- a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1-intel-2016a.eb @@ -6,6 +6,8 @@ # License:: MIT/GPL # $Id$ # +# Modified by: Adam Huffman +# The Francis Crick Institute ## name = 'SAMtools' version = '1.3.1' @@ -21,7 +23,7 @@ source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(ve sources = [SOURCELOWER_TAR_BZ2] # Patch Makefile to link against zlib provided by EB -patches = ['SAMtools-1.3.1_Makefile.patch'] +patches = ['SAMtools-%(version)s_Makefile.patch'] dependencies = [ ('ncurses', '6.0'), diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch index c5b04c6958..4d74b2e9b1 100644 --- a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.3.1_Makefile.patch @@ -1,5 +1,6 @@ -Common subdirectories: samtools-1.3.1/examples and samtools-1.3.1.new/examples -Common subdirectories: samtools-1.3.1/htslib-1.3.1 and samtools-1.3.1.new/htslib-1.3.1 +# Use EB modules for zlib and ncurses +# Author: Adam Huffman +# The Francis Crick Institute diff -u samtools-1.3.1/Makefile samtools-1.3.1.new/Makefile --- samtools-1.3.1/Makefile 2016-04-22 10:51:16.000000000 +0100 +++ samtools-1.3.1.new/Makefile 2016-04-23 23:53:26.266962157 +0100 @@ -19,6 +20,3 @@ diff -u samtools-1.3.1/Makefile samtools-1.3.1.new/Makefile config.h: echo '/* Basic config.h generated by Makefile */' > $@ -Common subdirectories: samtools-1.3.1/misc and samtools-1.3.1.new/misc -Common subdirectories: samtools-1.3.1/test and samtools-1.3.1.new/test -Common subdirectories: samtools-1.3.1/win32 and samtools-1.3.1.new/win32 -- GitLab From 5145c090f795ab0ef73ae3c6d5b6fe91dc6ab847 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 26 Apr 2016 21:42:56 +0100 Subject: [PATCH 1001/1089] Second attempt at MuTect update to 1.1.7 --- .../m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb diff --git a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb new file mode 100644 index 0000000000..fb72a09f73 --- /dev/null +++ b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Version 1.1.7 modified by +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'Tarball' + +name = 'MuTect' +version = '1.1.7' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.broadinstitute.org/cancer/cga/mutect' +description = """ MuTect is a method developed at the Broad Institute for the reliable + and accurate identification of somatic point mutations in next generation sequencing + data of cancer genomes. """ + +toolchain = {'name': 'dummy', 'version': ''} + +# Need to be logged in to download, at this URL +# source_urls = ['http://www.broadinstitute.org/cancer/cga/sites/default/files/data/tools/mutect/'] +sources = ['muTect-%(version)s-bin.zip'] + +dependencies = [('Java', '1.7.0_80')] + +sanity_check_paths = { + 'files': ["muTect-%(version)s.jar"], + 'dirs': [], +} + +modloadmsg = """ +To start MuTect: java -jar \\$EBROOTMUTECT/muTect-%(version)s.jar +""" + +moduleclass = 'bio' -- GitLab From 41ccd5905b4c848474c5c1744cf05d0b97e607c5 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Tue, 26 Apr 2016 21:52:42 +0100 Subject: [PATCH 1002/1089] Cleanup macros and provide legacy version --- .../v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb | 30 +++++++++++++++++++ .../v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb | 11 +++---- 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb diff --git a/easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb b/easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb new file mode 100644 index 0000000000..db71fa9969 --- /dev/null +++ b/easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Adam Huffman +# The Francis Crick Institute + +easyblock = 'JAR' + +name = 'VarScan' +version = '2.3.6' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://varscan.sourceforge.net/' +description = """Variant calling and somatic mutation/CNV detection for next-generation sequencing data""" + +toolchain = {'name': 'dummy', 'version': 'dummy'} + +sources = [('%(name)s.v%(version)s.jar', 'download')] +source_urls = ['https://sourceforge.net/projects/varscan/files/'] + +dependencies = [('Java', '1.7.0_80')] + +sanity_check_paths = { + 'files': sources, + 'dirs': [], +} + +modloadmsg = """ +to execute: java -jar \\$EBROOTVARSCAN/VarScan.v%(version)s.jar +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb b/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb index 36d97df090..186dfc58cc 100644 --- a/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/v/VarScan/VarScan-2.4.1-Java-1.7.0_80.eb @@ -6,6 +6,7 @@ easyblock = 'JAR' name = 'VarScan' version = '2.4.1' +versionsuffix = '-Java-%(javaver)s' homepage = 'https://github.com/dkoboldt/varscan' description = """Variant calling and somatic mutation/CNV detection for next-generation sequencing data""" @@ -15,15 +16,15 @@ toolchain = {'name': 'dummy', 'version': ''} sources = ['%(name)s.v%(version)s.jar'] source_urls = ['https://github.com/dkoboldt/varscan/releases/download/v%(version)s'] -java = 'Java' -javaver = '1.7.0_80' -versionsuffix = '-%s-%s' % (java, javaver) - -dependencies = [(java, javaver)] +dependencies = [('Java', '1.7.0_80')] sanity_check_paths = { 'files': sources, 'dirs': [], } +modloadmsg = """ +to execute: java -jar \\$EBROOTVARSCAN/VarScan.v%(version)s.jar +""" + moduleclass = 'bio' -- GitLab From bede2f51f66ffd99701e4b03c1b94b94a51aaa60 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 27 Apr 2016 11:39:01 +0800 Subject: [PATCH 1003/1089] add comment to patch --- .../easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch b/easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch index c228aceb25..8382a4ebe3 100644 --- a/easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch +++ b/easybuild/easyconfigs/s/spglib/spglib-1.9.2_remove_duplicate.patch @@ -1,3 +1,5 @@ +debug.h is already in $(spglib_h), which causes make install to fail +author: Miguel Dias Costa (National University of Singapore) --- src/Makefile.in.orig 2016-04-26 16:21:29.900203000 +0800 +++ src/Makefile.in 2016-04-26 16:21:43.531192514 +0800 @@ -562,7 +562,7 @@ -- GitLab From c0b8bf724521669e0d3d03746c38ab85d9e3e02d Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 27 Apr 2016 12:05:19 +0800 Subject: [PATCH 1004/1089] use pyshortver template --- .../pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb index cacf27ebc3..786e233e0c 100644 --- a/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -9,7 +9,7 @@ description = """Python Materials Genomics is a robust materials analysis code t toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} -# source not in url PYPI_SOURCE ? +# source package not (yet?) in url PYPI_SOURCE #source_urls = [PYPI_SOURCE] source_urls = ['http://pypi.python.org/packages/7a/ae/c1bbe01227514bec203934d608c7319fec173791b3c58afa8e169affb976/'] sources = [SOURCE_TAR_GZ] @@ -24,10 +24,9 @@ dependencies = [ ('spglib', '1.9.2'), ] -py_short_ver = '.'.join(pythonversion.split('.')[:2]) sanity_check_paths = { 'files': [], - 'dirs': ['lib/python%s/site-packages' % py_short_ver], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] } moduleclass = 'chem' -- GitLab From f716f392e6b4b4c6b613e468d5bf07ab021cbbc2 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 27 Apr 2016 12:20:13 +0800 Subject: [PATCH 1005/1089] use && instead of ; between commands --- .../b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb | 2 +- .../b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb index c0d639cc89..5afb842c80 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.0.6-intel-2016.02-GCC-4.9.eb @@ -17,7 +17,7 @@ checksums = ['8740562da41e87a62eb8d457675e4bfd'] skipsteps = ['configure'] -prebuildopts = 'cp config/generic.mpi.linux.mk arch.mk; ' +prebuildopts = 'cp config/generic.mpi.linux.mk arch.mk && ' buildopts = 'all-flavors COMPFLAG=-DINTEL PARAFLAG="-DMPI -DOMP" DEBUGFLAG="" F90free="$MPIF90 -free" LINK="$MPIF90" ' buildopts += 'FOPTS="$FFLAGS -qopenmp" MOD_OPT="-module " C_PARAFLAG="$PARAFLAG" CC_COMP="$MPICXX" C_COMP="$MPICC" ' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb index 4700de27c4..9d064dae20 100644 --- a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-1.1-beta2-intel-2016.02-GCC-4.9.eb @@ -17,7 +17,7 @@ checksums = ['75a258c9a5d255da9e0b15bd3e7f08b2'] skipsteps = ['configure'] -prebuildopts = 'cp config/generic.mpi.linux.mk arch.mk; ' +prebuildopts = 'cp config/generic.mpi.linux.mk arch.mk && ' buildopts = 'all-flavors COMPFLAG=-DINTEL PARAFLAG="-DMPI -DOMP" DEBUGFLAG="" F90free="$MPIF90 -free" LINK="$MPIF90" ' buildopts += 'FOPTS="$FFLAGS -qopenmp" MOD_OPT="-module " C_PARAFLAG="$PARAFLAG" CC_COMP="$MPICXX" C_COMP="$MPICC" ' -- GitLab From 4134e68be75d60ac1889c06af12238baa54fe69b Mon Sep 17 00:00:00 2001 From: Ward Poelmans Date: Wed, 27 Apr 2016 09:20:12 +0200 Subject: [PATCH 1006/1089] Remove redundant easyconfig --- .../n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb deleted file mode 100644 index 02e4aae6ca..0000000000 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.0-GCC-4.9.3-2.25.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncurses' -version = '6.0' - -homepage = 'http://www.gnu.org/software/ncurses/' -description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, - and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.""" - -toolchain = {'name': 'GCC', 'version': '4.9.3-2.25'} -toolchainopts = {'optarch': True, 'pic': True} - -source_urls = [GNU_SOURCE] -sources = [SOURCE_TAR_GZ] - -configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' -] - -libs = ["form", "menu", "ncurses", "panel"] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", - "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], - 'dirs': ['include', 'include/ncursesw'], -} - -moduleclass = 'devel' -- GitLab From f1a4154428e398d2c45117c91b6cd62af1806829 Mon Sep 17 00:00:00 2001 From: Miguel Dias Costa Date: Wed, 27 Apr 2016 16:31:43 +0800 Subject: [PATCH 1007/1089] fix style --- ...tgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb | 12 +++--------- .../s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb b/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb index 786e233e0c..f6c2197ee2 100644 --- a/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/pymatgen/pymatgen-3.5.0-intel-2016.02-GCC-4.9-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = "PythonPackage" name = 'pymatgen' version = '3.5.0' +versionsuffix = '-Python-%(pyver)s' homepage = 'https://pypi.python.org/pypi/pymatgen' description = """Python Materials Genomics is a robust materials analysis code that defines core object @@ -9,18 +10,11 @@ description = """Python Materials Genomics is a robust materials analysis code t toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} -# source package not (yet?) in url PYPI_SOURCE -#source_urls = [PYPI_SOURCE] -source_urls = ['http://pypi.python.org/packages/7a/ae/c1bbe01227514bec203934d608c7319fec173791b3c58afa8e169affb976/'] +source_urls = [PYPI_SOURCE] sources = [SOURCE_TAR_GZ] -python = 'Python' -pythonversion = '2.7.11' - -versionsuffix = '-%s-%s' % (python, pythonversion) - dependencies = [ - (python, pythonversion), + ('Python', '2.7.11'), ('spglib', '1.9.2'), ] diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb index 99c05961d7..8451bf0c50 100644 --- a/easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/s/spglib/spglib-1.9.2-intel-2016.02-GCC-4.9.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'intel', 'version': '2016.02-GCC-4.9'} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['spglib-1.9.2_remove_duplicate.patch'] +patches = ['spglib-%(version)s_remove_duplicate.patch'] sanity_check_paths = { 'files': ['lib/libsymspg.a', 'lib/libsymspg.%s' % SHLIB_EXT], -- GitLab From 435eab2e07d7f781915cb672792e3ed0506dfa96 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 27 Apr 2016 10:04:20 +0100 Subject: [PATCH 1008/1089] Don't specify version for dummy toolchain --- easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb b/easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb index db71fa9969..ba30d5877f 100644 --- a/easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/v/VarScan/VarScan-2.3.6-Java-1.7.0_80.eb @@ -11,7 +11,7 @@ versionsuffix = '-Java-%(javaver)s' homepage = 'http://varscan.sourceforge.net/' description = """Variant calling and somatic mutation/CNV detection for next-generation sequencing data""" -toolchain = {'name': 'dummy', 'version': 'dummy'} +toolchain = {'name': 'dummy', 'version': ''} sources = [('%(name)s.v%(version)s.jar', 'download')] source_urls = ['https://sourceforge.net/projects/varscan/files/'] -- GitLab From a9193aaca3032ffc844843556cba05e5957a3382 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 11:38:17 +0200 Subject: [PATCH 1009/1089] add easyconfig netCDF-Fortran-4.4.3-intel-2016a.eb --- .../netCDF-Fortran-4.4.3-intel-2016a.eb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.3-intel-2016a.eb diff --git a/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.3-intel-2016a.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.3-intel-2016a.eb new file mode 100644 index 0000000000..4b898dd0fe --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.4.3-intel-2016a.eb @@ -0,0 +1,19 @@ +name = 'netCDF-Fortran' +version = '4.4.3' + +homepage = 'http://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = ['v%(version)s.tar.gz'] +source_urls = [ + 'https://github.com/Unidata/netcdf-fortran/archive/' +] + +dependencies = [('netCDF', '4.4.0')] + +moduleclass = 'data' -- GitLab From 0ff3e40f352c19ec30bc19fac917588e318ba4fd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 11:38:47 +0200 Subject: [PATCH 1010/1089] add easyconfig tcsh-6.19.00-intel-2016a.eb --- .../t/tcsh/tcsh-6.19.00-intel-2016a.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/t/tcsh/tcsh-6.19.00-intel-2016a.eb diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.19.00-intel-2016a.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.19.00-intel-2016a.eb new file mode 100644 index 0000000000..4a02bab4b4 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.19.00-intel-2016a.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.19.00' + +homepage = 'http://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] + +dependencies = [('ncurses', '6.0')] + +sanity_check_paths = { + 'files': ["bin/tcsh"], + 'dirs': [] +} + +moduleclass = 'tools' -- GitLab From 45e20dbc351d80c93701dfc2fa9231d99019607f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 11:39:16 +0200 Subject: [PATCH 1011/1089] add easyconfig JasPer-1.900.1-intel-2016a.eb --- .../j/JasPer/JasPer-1.900.1-intel-2016a.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-intel-2016a.eb b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-intel-2016a.eb new file mode 100644 index 0000000000..ea3c592427 --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-1.900.1-intel-2016a.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'JasPer' +version = '1.900.1' + +homepage = 'http://www.ece.uvic.ca/~frodo/jasper/' +description = """The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_ZIP] +source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/'] + +sanity_check_paths = { + 'files': ["bin/jasper", "lib/libjasper.a"], + 'dirs': ["include"], +} + +moduleclass = 'vis' -- GitLab From 7f749b704350f3618123f17349c3b2599408bbbd Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 27 Apr 2016 11:56:43 +0100 Subject: [PATCH 1012/1089] Use new download URL and apply new Java macros to existing 1.1.4 easyconfig --- .../m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb | 15 ++++---- .../m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb | 37 ------------------- 2 files changed, 8 insertions(+), 44 deletions(-) delete mode 100644 easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb diff --git a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb index 1434f1c176..b7e4fa9091 100644 --- a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb @@ -2,11 +2,15 @@ # Author: Pablo Escobar Lopez # Swiss Institute of Bioinformatics # Biozentrum - University of Basel +# Modified by +# Adam Huffman +# The Francis Crick Institute easyblock = 'Tarball' name = 'MuTect' version = '1.1.4' +versionsuffix = '-Java-%(javaver)s' homepage = 'http://www.broadinstitute.org/cancer/cga/mutect' description = """ MuTect is a method developed at the Broad Institute for the reliable @@ -15,14 +19,11 @@ description = """ MuTect is a method developed at the Broad Institute for the re toolchain = {'name': 'dummy', 'version': ''} -source_urls = ['http://www.broadinstitute.org/cancer/cga/sites/default/files/data/tools/mutect/'] +# Need to be logged in to download, at this URL +# source_urls = ['http://www.broadinstitute.org/cancer/cga/mutect_download'] sources = ['muTect-%(version)s-bin.zip'] -java = 'Java' -javaver = '1.7.0_80' -versionsuffix = '-%s-%s' % (java, javaver) - -dependencies = [(java, javaver)] +dependencies = [('Java', '1.7.0_80')] sanity_check_paths = { 'files': ["muTect-%(version)s.jar"], @@ -30,7 +31,7 @@ sanity_check_paths = { } modloadmsg = """ -to execute: java -jar \\$EBROOTMUTECT/muTect-%(version)s.jar +To start MuTect: java -jar \\$EBROOTMUTECT/muTect-%(version)s.jar """ moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb deleted file mode 100644 index fb72a09f73..0000000000 --- a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb +++ /dev/null @@ -1,37 +0,0 @@ -# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild -# Author: Pablo Escobar Lopez -# Swiss Institute of Bioinformatics -# Biozentrum - University of Basel -# Version 1.1.7 modified by -# Adam Huffman -# The Francis Crick Institute - -easyblock = 'Tarball' - -name = 'MuTect' -version = '1.1.7' -versionsuffix = '-Java-%(javaver)s' - -homepage = 'http://www.broadinstitute.org/cancer/cga/mutect' -description = """ MuTect is a method developed at the Broad Institute for the reliable - and accurate identification of somatic point mutations in next generation sequencing - data of cancer genomes. """ - -toolchain = {'name': 'dummy', 'version': ''} - -# Need to be logged in to download, at this URL -# source_urls = ['http://www.broadinstitute.org/cancer/cga/sites/default/files/data/tools/mutect/'] -sources = ['muTect-%(version)s-bin.zip'] - -dependencies = [('Java', '1.7.0_80')] - -sanity_check_paths = { - 'files': ["muTect-%(version)s.jar"], - 'dirs': [], -} - -modloadmsg = """ -To start MuTect: java -jar \\$EBROOTMUTECT/muTect-%(version)s.jar -""" - -moduleclass = 'bio' -- GitLab From 836bced923277203a737f146a839a8fd491ea0cd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 13:39:28 +0200 Subject: [PATCH 1013/1089] add easyconfig ParMETIS-4.0.3-intel-2016a.eb, add easyconfig METIS-5.1.0-intel-2016a-32bitIDX.eb, add easyconfig SCOTCH-6.0.4-intel-2016a.eb, add easyconfig ParMGridGen-1.0-intel-2016a.eb, add easyconfig OpenFOAM-Extend-3.2-intel-2016a.eb, add easyconfig numactl-2.0.11-intel-2016a.eb, add easyconfig hwloc-1.11.3-intel-2016a.eb --- .../h/hwloc/hwloc-1.11.3-intel-2016a.eb | 23 +++++++++ .../METIS/METIS-5.1.0-intel-2016a-32bitIDX.eb | 24 ++++++++++ .../n/numactl/numactl-2.0.11-intel-2016a.eb | 23 +++++++++ .../OpenFOAM-Extend-3.2-intel-2016a.eb | 48 +++++++++++++++++++ .../p/ParMETIS/ParMETIS-4.0.3-intel-2016a.eb | 22 +++++++++ .../ParMGridGen-1.0-intel-2016a.eb | 27 +++++++++++ .../s/SCOTCH/SCOTCH-6.0.4-intel-2016a.eb | 14 ++++++ 7 files changed, 181 insertions(+) create mode 100644 easybuild/easyconfigs/h/hwloc/hwloc-1.11.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a-32bitIDX.eb create mode 100644 easybuild/easyconfigs/n/numactl/numactl-2.0.11-intel-2016a.eb create mode 100644 easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-3.2-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-1.11.3-intel-2016a.eb b/easybuild/easyconfigs/h/hwloc/hwloc-1.11.3-intel-2016a.eb new file mode 100644 index 0000000000..aad28dd23b --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-1.11.3-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '1.11.3' + +homepage = 'http://www.open-mpi.org/projects/hwloc/' +description = """The Portable Hardware Locality (hwloc) software package provides a portable abstraction + (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including + NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various + system attributes such as cache and memory information as well as the locality of I/O devices such as + network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering + information about modern computing hardware so as to exploit it accordingly and efficiently.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [('numactl', '2.0.11')] + +configopts = "--enable-libnuma=$EBROOTNUMACTL" + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a-32bitIDX.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a-32bitIDX.eb new file mode 100644 index 0000000000..a9aa0626e9 --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-intel-2016a-32bitIDX.eb @@ -0,0 +1,24 @@ +name = 'METIS' +version = '5.1.0' +# default 32-bit IDTYPEWIDTH, no patch used +versionsuffix = '-32bitIDX' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview' +description = """METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, +and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the +multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD', +] + +builddependencies = [('CMake', '3.5.2')] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.11-intel-2016a.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-intel-2016a.eb new file mode 100644 index 0000000000..6379096747 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.11-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.11' + +homepage = 'http://oss.sgi.com/projects/libnuma/' +description = """The numactl program allows you to run your application program on specific cpu's and memory nodes. + It does this by supplying a NUMA memory policy to the operating system before running your program. + The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['ftp://oss.sgi.com/www/projects/libnuma/download/'] +sources = [SOURCE_TAR_GZ] + +checksums = ['d3bc88b7ddb9f06d60898f4816ae9127'] + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-3.2-intel-2016a.eb b/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-3.2-intel-2016a.eb new file mode 100644 index 0000000000..00e9eaf007 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-3.2-intel-2016a.eb @@ -0,0 +1,48 @@ +easyblock = 'EB_OpenFOAM' + +name = 'OpenFOAM-Extend' +version = '3.2' + +homepage = 'http://www.extend-project.de/' +description = """OpenFOAM is a free, open source CFD software package. +OpenFOAM has an extensive range of features to solve anything from complex fluid flows +involving chemical reactions, turbulence and heat transfer, +to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/Unofficial-Extend-Project-Mirror/foam-extend-foam-extend-%(version)s/archive'] +sources = ['v%(version)s.tar.gz'] + +patches = [ + 'OpenFOAM-Extend-%(version)s-ParMGridGen.patch', + 'OpenFOAM-Extend-3.1_build-qa.patch', + 'OpenFOAM-Extend-3.1_comp-mpi.patch', + 'OpenFOAM-Extend-3.1_skip-ThirdParty-OpenMPI.patch', +] + +dependencies = [ + ('hwloc', '1.11.3'), + ('ParMETIS', '4.0.3'), + ('METIS', '5.1.0', '-32bitIDX'), # order matters, METIS need to be listed after ParMETIS to get $CPATH right + ('SCOTCH', '6.0.4'), + ('Mesquite', '2.3.0'), + ('ParMGridGen', '1.0'), + ('Python', '2.7.11'), + # Libccmio v2.6.1, zoltan v3.5 +] + +builddependencies = [ + ('flex', '2.5.39'), + ('Bison', '3.0.4'), + ('M4', '1.4.17'), + ('CMake', '3.5.2'), +] + +prebuildopts = "(wcleanAll || echo 'all is fine') && " # clean up everything first (and ignore any errors) + +# too many builds in parallel actually slows down the build +maxparallel = 4 + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-intel-2016a.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-intel-2016a.eb new file mode 100644 index 0000000000..d1d34fb057 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-intel-2016a.eb @@ -0,0 +1,22 @@ +name = 'ParMETIS' +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, + meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes + routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in + ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning + schemes.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [('CMake', '3.5.2')] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-intel-2016a.eb b/easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-intel-2016a.eb new file mode 100644 index 0000000000..081f188ad5 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-intel-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'ParMGridGen' +version = '1.0' + +homepage = 'http://www-users.cs.umn.edu/~moulitsa/software.html' +description = """ParMGridGen is an MPI-based parallel library that is based on the serial package MGridGen, + that implements (serial) algorithms for obtaining a sequence of successive coarse grids that are well-suited + for geometric multigrid methods.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://www-users.cs.umn.edu/~moulitsa/download/'] +sources = [SOURCE_TAR_GZ] + +patches = ['ParMGridGen-1.0_malloc_include.patch'] + +buildopts = 'parallel CC="$CC" PARCC="$CC" PARLD="$CC" COPTIONS="$CFLAGS" LDOPTIONS="$CFLAGS" BINDIR="."' + +files_to_copy = [ + (['MGridGen/Programs/mgridgen', 'ParMGridGen/Programs/parmgridgen'], 'bin'), + (['mgridgen.h', 'parmgridgen.h'], 'include'), + (['libmgrid.a', 'libparmgrid.a'], 'lib'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.4-intel-2016a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.4-intel-2016a.eb new file mode 100644 index 0000000000..a90bb75fa5 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.4-intel-2016a.eb @@ -0,0 +1,14 @@ +name = 'SCOTCH' +version = '6.0.4' + +homepage = 'http://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['http://gforge.inria.fr/frs/download.php/file/34618/'] +sources = ['%(namelower)s_%(version)s.tar.gz'] + +moduleclass = 'math' -- GitLab From 34b5d5abfa255f3464ce6dabefc279d14b2b67e2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 13:44:11 +0200 Subject: [PATCH 1014/1089] add easyconfig JAGS-4.2.0-intel-2016a.eb --- .../j/JAGS/JAGS-4.2.0-intel-2016a.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/j/JAGS/JAGS-4.2.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.2.0-intel-2016a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.2.0-intel-2016a.eb new file mode 100644 index 0000000000..1474dde18b --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.2.0-intel-2016a.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'JAGS' +version = '4.2.0' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [('http://sourceforge.net/projects/mcmc-jags/files/JAGS/%(version_major)s.x/Source/', 'download')] +sources = [SOURCE_TAR_GZ] + +configopts = ' --with-blas="-lmkl" --with-lapack="-lmkl" ' + +sanity_check_paths = { + 'files': ["bin/jags", "libexec/jags-terminal", "lib/libjags.%s" % SHLIB_EXT], + 'dirs': [] +} + +modextrapaths = { + 'JAGS_INCLUDE': 'include/JAGS', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' -- GitLab From cb092140059005c5fc0468dfb57ad2b5b4f04726 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 14:03:24 +0200 Subject: [PATCH 1015/1089] add easyconfig Mesquite-2.3.0-intel-2016a.eb --- .../m/Mesquite/Mesquite-2.3.0-intel-2016a.eb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-intel-2016a.eb b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-intel-2016a.eb new file mode 100644 index 0000000000..fd518b2227 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-intel-2016a.eb @@ -0,0 +1,15 @@ +easyblock = 'ConfigureMake' + +name = 'Mesquite' +version = '2.3.0' + +homepage = 'https://software.sandia.gov/mesquite/' +description = """Mesh-Quality Improvement Library""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['https://software.sandia.gov/mesquite/'] +sources = [SOURCELOWER_TAR_GZ] + +moduleclass = 'math' -- GitLab From 7bb25d33b0db30e01c8e995fdc0c3c4df76a5769 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 27 Apr 2016 14:13:13 +0100 Subject: [PATCH 1016/1089] Clean up download URL --- easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb index b7e4fa9091..0d2d28d47b 100644 --- a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb +++ b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.4-Java-1.7.0_80.eb @@ -20,7 +20,7 @@ description = """ MuTect is a method developed at the Broad Institute for the re toolchain = {'name': 'dummy', 'version': ''} # Need to be logged in to download, at this URL -# source_urls = ['http://www.broadinstitute.org/cancer/cga/mutect_download'] +# http://www.broadinstitute.org/cancer/cga/mutect_download sources = ['muTect-%(version)s-bin.zip'] dependencies = [('Java', '1.7.0_80')] -- GitLab From 7706f3436e6b061846889c767616bfb3dbce8478 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 15:53:30 +0200 Subject: [PATCH 1017/1089] {geo}[intel/2016a] WRF 3.8 --- .../w/WRF/WRF-3.8-intel-2016a-dmpar.eb | 39 +++ ...F-3.8.0_netCDF-Fortran_separate_path.patch | 225 ++++++++++++++++++ 2 files changed, 264 insertions(+) create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.8-intel-2016a-dmpar.eb create mode 100644 easybuild/easyconfigs/w/WRF/WRF-3.8.0_netCDF-Fortran_separate_path.patch diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.8-intel-2016a-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.8-intel-2016a-dmpar.eb new file mode 100644 index 0000000000..8afc4ff822 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.8-intel-2016a-dmpar.eb @@ -0,0 +1,39 @@ +name = 'WRF' +version = '3.8.0' + +homepage = 'http://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +sources = ['%(name)sV%(version_major_minor)s.TAR.gz'] +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] + +# csh is used by WRF install scripts +builddependencies = [('tcsh', '6.19.00')] + +dependencies = [ + ('JasPer', '1.900.1'), + ('netCDF', '4.4.0'), + ('netCDF-Fortran', '4.4.3'), +] + +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF_tests_limit-runtimes.patch', + 'WRF-%(version)s_netCDF-Fortran_separate_path.patch', +] + +# limit parallel build to 20 +maxparallel = 20 + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.8.0_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WRF/WRF-3.8.0_netCDF-Fortran_separate_path.patch new file mode 100644 index 0000000000..f46ae78e87 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-3.8.0_netCDF-Fortran_separate_path.patch @@ -0,0 +1,225 @@ +add support for using netCDF and netCDF-Fortran installations in separate paths +author: Kenneth Hoste (HPC-UGent) +diff -ru WRFV3.orig/arch/Config_new.pl WRFV3/arch/Config_new.pl +--- WRFV3.orig/arch/Config_new.pl 2015-12-11 19:38:11.000000000 +0100 ++++ WRFV3/arch/Config_new.pl 2016-04-27 12:07:59.419553000 +0200 +@@ -8,6 +8,7 @@ + select((select(STDOUT), $|=1)[0]); + $sw_perl_path = perl ; + $sw_netcdf_path = "" ; ++$sw_netcdff_path = "" ; # for netCDF 4.2 and greater, Fortran lib may be in a different path + $sw_pnetcdf_path = "" ; + $sw_hdf5_path=""; + $sw_phdf5_path=""; +@@ -87,6 +88,10 @@ + } + } + } ++ if ( substr( $ARGV[0], 1, 8 ) eq "netcdff=" ) ++ { ++ $sw_netcdff_path = substr( $ARGV[0], 9 ) ; ++ } + if ( substr( $ARGV[0], 1, 8 ) eq "pnetcdf=" ) + { + $sw_pnetcdf_path = substr( $ARGV[0], 9 ) ; +@@ -114,6 +119,7 @@ + if ( substr( $ARGV[0], 1, 11 ) eq "USENETCDFF=" ) + { + $sw_usenetcdff = substr( $ARGV[0], 12 ) ; ++ $sw_usenetcdff =~ s/!/ /g ; + } + if ( substr( $ARGV[0], 1, 10 ) eq "USENETCDF=" ) + { +@@ -417,6 +423,7 @@ + { + $_ =~ s/CONFIGURE_PERL_PATH/$sw_perl_path/g ; + $_ =~ s/CONFIGURE_NETCDF_PATH/$sw_netcdf_path/g ; ++ $_ =~ s/CONFIGURE_NETCDFF_PATH/$sw_netcdff_path/g ; + $_ =~ s/CONFIGURE_PNETCDF_PATH/$sw_pnetcdf_path/g ; + $_ =~ s/CONFIGURE_HDF5_PATH/$sw_hdf5_path/g ; + $_ =~ s/CONFIGURE_PHDF5_PATH/$sw_phdf5_path/g ; +Only in WRFV3/arch: Config_new.pl.orig +diff -ru WRFV3.orig/arch/configure_new.defaults WRFV3/arch/configure_new.defaults +--- WRFV3.orig/arch/configure_new.defaults 2016-02-29 07:22:29.000000000 +0100 ++++ WRFV3/arch/configure_new.defaults 2016-04-27 12:07:59.429182000 +0200 +@@ -1626,6 +1626,7 @@ + + LIB_EXTERNAL = \ + ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \ ++ CONFIGURE_NETCDFF_PATH/lib/libnetcdff.lib \ + ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a + ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a + LIB_BUNDLED = \ +Only in WRFV3/arch: configure_new.defaults.orig +diff -ru WRFV3.orig/arch/conf_tokens WRFV3/arch/conf_tokens +--- WRFV3.orig/arch/conf_tokens 2008-02-26 16:39:38.000000000 +0100 ++++ WRFV3/arch/conf_tokens 2016-04-27 12:07:59.435906000 +0200 +@@ -5,6 +5,7 @@ + CONFIGURE_DMPARALLEL + CONFIGURE_RWORDSIZE + CONFIGURE_NETCDF_FLAG ++CONFIGURE_NETCDF_FLAG + CONFIGURE_GRIB2_FLAG + CONFIGURE_NETCDF_LIB_PATH + CONFIGURE_GRIB2_LIB +@@ -13,4 +14,5 @@ + CONFIGURE_WRFIO_NF + CONFIGURE_WRFIO_GRIB2 + CONFIGURE_NETCDF_PATH ++CONFIGURE_NETCDFF_PATH + CONFIGURE_GRIB2_INC +diff -ru WRFV3.orig/arch/postamble_new WRFV3/arch/postamble_new +--- WRFV3.orig/arch/postamble_new 2016-02-05 22:22:09.000000000 +0100 ++++ WRFV3/arch/postamble_new 2016-04-27 12:08:58.368686000 +0200 +@@ -45,6 +45,7 @@ + -I$(WRF_SRC_ROOT_DIR)/phys \ + -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \ + -I$(NETCDFPATH)/include \ ++ -I$(NETCDFFPATH)/include \ + CONFIGURE_RTTOV_INC + REGISTRY = Registry + CC_TOOLS_CFLAGS = CONFIGURE_NMM_CORE +@@ -67,6 +68,7 @@ + ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS + CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) CONFIGURE_COMMS_INCLUDE + NETCDFPATH = CONFIGURE_NETCDF_PATH +++NETCDFFPATH = CONFIGURE_NETCDFF_PATH + HDF5PATH = CONFIGURE_HDF5_PATH + WRFPLUSPATH = CONFIGURE_WRFPLUS_PATH + PNETCDFPATH = CONFIGURE_PNETCDF_PATH +@@ -97,7 +99,7 @@ + + wrfio_nf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \ +- make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ ++ make $(J) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ + CC="$(SCC)" CFLAGS="$(CFLAGS)" \ + FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + +Only in WRFV3/arch: postamble_new.orig +Only in WRFV3/arch: postamble_new.rej +diff -ru WRFV3.orig/configure WRFV3/configure +--- WRFV3.orig/configure 2015-12-11 19:38:11.000000000 +0100 ++++ WRFV3/configure 2016-04-27 12:58:24.475136000 +0200 +@@ -287,16 +287,28 @@ + USENETCDFF="" # see below + if [ -n "$NETCDF" ] ; then + echo "Will use NETCDF in dir: $NETCDF" ++ # for netCDF 4.2 and greater, the Fortran library is a separate install ++ if [ -z "$NETCDFF" ]; then ++ NETCDFF="$NETCDFF" ++ fi + # Oh UNIDATA, why make it so hard ... + if [ -f "$NETCDF/lib/libnetcdff.a" -o -f "$NETCDF/lib/libnetcdff.so" ] ; then + USENETCDFF="-lnetcdff" + else +- USENETCDFF=" " ++ if [ -f "$NETCDFF/lib/libnetcdff.a" -o -f "$NETCDFF/lib/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-L$NETCDFF/lib64!-lnetcdff" # ! will be replaced with space ++ else ++ USENETCDFF=" " ++ fi + fi + if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" ] ; then + USENETCDF="-lnetcdf" + else +- USENETCDF=" " ++ if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib64/libnetcdf.a" -o -f "$NETCDF/lib64/libnetcdf.so" ] ; then ++ USENETCDF="-L$NETCDF/lib!-L$NETCDF/lib64!-lnetcdf" # ! will be replaced with space ++ else ++ USENETCDF=" " ++ fi + fi + else + echo "Will configure for use without NetCDF" +@@ -595,7 +607,7 @@ + srch=`grep -i "^#ARCH.*$os" arch/configure_new.defaults | grep -i "$mach"` + if [ -n "$srch" ] ; then + $PERL arch/Config_new.pl -dmparallel=$COMMLIB -ompparallel=$OMP -perl=$PERL \ +- -netcdf=$NETCDF -pnetcdf=$PNETCDF -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ ++ -netcdf=$NETCDF -netcdff=$NETCDFF -pnetcdf=$PNETCDF -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ + -compileflags=$compileflags -opt_level=$opt_level -USENETCDFF=$USENETCDFF -USENETCDF=$USENETCDF \ + -time=$FORTRAN_COMPILER_TIMER \ + -wrf_core=$wrf_core -gpfs=$GPFS_PATH -curl=$CURL_PATH -dep_lib_path="$DEP_LIB_PATH" +@@ -707,10 +719,10 @@ + echo "If you wish to change the default options, edit the file:" + echo " arch/configure_new.defaults" + +-if test -n "$NETCDF" ; then +- if [ ! -f $NETCDF/include/netcdf.inc ] ; then ++if test -n "$NETCDFF" ; then ++ if [ ! -f $NETCDFF/include/netcdf.inc ] ; then + echo +- echo "Error : Not found $NETCDF/include/netcdf.inc" ++ echo "Error : Not found $NETCDFF/include/netcdf.inc" + echo " Please check this installation of NetCDF and re-run this configure script" + echo + if test -n "$NETCDF4" ; then +@@ -719,7 +731,7 @@ + fi + exit -1 + fi +- grep nf_format_64bit $NETCDF/include/netcdf.inc > /dev/null ++ grep nf_format_64bit $NETCDFF/include/netcdf.inc > /dev/null + configure_aaaa=$? ; export configure_aaaa + if [ $configure_aaaa -a -z "$WRFIO_NCD_LARGE_FILE_SUPPORT" ] ; then + echo "NetCDF users note:" +Only in WRFV3: configure.orig +Only in WRFV3: configure.rej +diff -ru WRFV3.orig/external/io_netcdf/makefile WRFV3/external/io_netcdf/makefile +--- WRFV3.orig/external/io_netcdf/makefile 2014-07-13 01:39:10.000000000 +0200 ++++ WRFV3/external/io_netcdf/makefile 2016-04-27 12:07:59.490731000 +0200 +@@ -3,9 +3,9 @@ + OBJSL = wrf_io.o field_routines.o module_wrfsi_static.o + OBJS = $(OBJSL) + CODE = ext_ncd_get_dom_ti.code ext_ncd_get_var_td.code ext_ncd_get_var_ti.code ext_ncd_put_dom_ti.code ext_ncd_put_var_td.code ext_ncd_put_var_ti.code transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdf +-LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -lnetcdf ++LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -L$(NETCDFFPATH)/lib -L$(NETCDFFPATH)/lib64 -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -24,7 +24,7 @@ + $(RANLIB) $@ + + wrf_io.o: wrf_io.F90 $(CODE) +- grep nf_format_64bit $(NETCDFPATH)/include/netcdf.inc ;\ ++ grep nf_format_64bit $(NETCDFFPATH)/include/netcdf.inc ;\ + a=$$? ; export a ; \ + if [ $$a -a "$$WRFIO_NCD_LARGE_FILE_SUPPORT" = "1" ] ; then \ + $(CPP1) -DWRFIO_NCD_LARGE_FILE_SUPPORT -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \ +@@ -43,14 +43,14 @@ + x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \ + if [ $$x = "gfortran" ] ; then \ + echo removing external declaration of iargc for gfortran ; \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ + else \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ + fi + $(FC) -c $(FFLAGS) diffwrf.f + @if [ \( -f ../../frame/wrf_debug.o \) -a \( -f ../../frame/module_wrf_error.o \) -a \( -f $(ESMF_MOD_DEPENDENCE) \) -a \( -f ../../frame/clog.o \) ] ; then \ + echo "diffwrf io_netcdf is being built now. " ; \ +- if [ \( -f $(NETCDFPATH)/lib/libnetcdff.a -o -f $(NETCDFPATH)/lib/libnetcdff.so \) ] ; then \ ++ if [ \( -f $(NETCDFFPATH)/lib/libnetcdff.a -o -f $(NETCDFFPATH)/lib/libnetcdff.so -o -f $(NETCDFFPATH)/lib64/libnetcdff.a -o -f $(NETCDFFPATH)/lib64/libnetcdff.so \) ] ; then \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBFFS) ;\ + else \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBS) ;\ +diff -ru WRFV3.orig/Makefile WRFV3/Makefile +--- WRFV3.orig/Makefile 2016-03-11 18:47:37.000000000 +0100 ++++ WRFV3/Makefile 2016-04-27 12:09:30.391608000 +0200 +@@ -867,7 +867,7 @@ + @ echo '--------------------------------------' + ( cd frame ; $(MAKE) $(J) framework; \ + cd ../external/io_netcdf ; \ +- $(MAKE) NETCDFPATH="$(NETCDFPATH)" FC="$(FC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" \ ++ $(MAKE) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" FC="$(SFC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" \ + CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \ + LIB_LOCAL="$(LIB_LOCAL)" \ + ESMF_MOD_DEPENDENCE="$(ESMF_MOD_DEPENDENCE)" AR="INTERNAL_BUILD_ERROR_SHOULD_NOT_NEED_AR" diffwrf; \ +Only in WRFV3: Makefile.orig +Only in WRFV3: Makefile.rej -- GitLab From 4734e785722c5b78cd0fe7420776439273e22727 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2016 16:14:00 +0200 Subject: [PATCH 1018/1089] fix easyconfig filename --- ...RF-3.8-intel-2016a-dmpar.eb => WRF-3.8.0-intel-2016a-dmpar.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/w/WRF/{WRF-3.8-intel-2016a-dmpar.eb => WRF-3.8.0-intel-2016a-dmpar.eb} (100%) diff --git a/easybuild/easyconfigs/w/WRF/WRF-3.8-intel-2016a-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-3.8.0-intel-2016a-dmpar.eb similarity index 100% rename from easybuild/easyconfigs/w/WRF/WRF-3.8-intel-2016a-dmpar.eb rename to easybuild/easyconfigs/w/WRF/WRF-3.8.0-intel-2016a-dmpar.eb -- GitLab From 39ddf5a97d55a5b9248c9bf3916d1b9fb41f8513 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Wed, 27 Apr 2016 15:14:27 +0100 Subject: [PATCH 1019/1089] Update MuTect for 1.1.7 from new download site --- .../m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb diff --git a/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb new file mode 100644 index 0000000000..86bd5019e2 --- /dev/null +++ b/easybuild/easyconfigs/m/MuTect/MuTect-1.1.7-Java-1.7.0_80.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'Tarball' + +name = 'MuTect' +version = '1.1.7' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.broadinstitute.org/cancer/cga/mutect' +description = """ MuTect is a method developed at the Broad Institute for the reliable + and accurate identification of somatic point mutations in next generation sequencing + data of cancer genomes. """ + +toolchain = {'name': 'dummy', 'version': ''} + +# Need to be logged in to download, at this URL +# and to click the checkbox to agree to the licence +# https://www.broadinstitute.org/gatk/download/auth?package=MuTect +sources = ['%(namelower)s-%(version)s.jar.zip'] + +dependencies = [('Java', '1.7.0_80')] + +sanity_check_paths = { + 'files': ["%(namelower)s-%(version)s.jar"], + 'dirs': [], +} + +modloadmsg = """ +To start MuTect: java -jar \\$EBROOTMUTECT/%(namelower)s-%(version)s.jar +""" + +moduleclass = 'bio' -- GitLab From 16218db65d867ab958db13dcbe99fcbf93724337 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 28 Apr 2016 11:32:51 +0200 Subject: [PATCH 1020/1089] add dependency extensions for MarkupSafe and jsonscheme in IPython 3.2.3 easyconfigs --- .../i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb | 9 +++++++++ .../i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb index 693b2889a6..440fcbb412 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb @@ -52,9 +52,18 @@ exts_list = [ ('tornado', '4.3', { 'source_urls': ['https://pypi.python.org/packages/source/t/tornado/'], }), + ('MarkupSafe', '0.23', { + 'source_urls': ['https://pypi.python.org/packages/source/M/MarkupSafe/'], + }), ('Jinja2', '2.8', { 'source_urls': ['https://pypi.python.org/packages/source/J/Jinja2/'], }), + ('vcversioner', '2.16.0.0', { + 'source_urls': ['https://pypi.python.org/packages/source/v/vcversioner/'], + }), + ('functools32', '3.2.3-2', { + 'source_urls': ['https://pypi.python.org/packages/source/f/functools32/'], + }), ('jsonschema', '2.5.1', { 'source_urls': ['https://pypi.python.org/packages/source/j/jsonschema/'], }), diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb index e3341fcf31..7cf61546f1 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb @@ -52,9 +52,18 @@ exts_list = [ ('tornado', '4.3', { 'source_urls': ['https://pypi.python.org/packages/source/t/tornado/'], }), + ('MarkupSafe', '0.23', { + 'source_urls': ['https://pypi.python.org/packages/source/M/MarkupSafe/'], + }), ('Jinja2', '2.8', { 'source_urls': ['https://pypi.python.org/packages/source/J/Jinja2/'], }), + ('vcversioner', '2.16.0.0', { + 'source_urls': ['https://pypi.python.org/packages/source/v/vcversioner/'], + }), + ('functools32', '3.2.3-2', { + 'source_urls': ['https://pypi.python.org/packages/source/f/functools32/'], + }), ('jsonschema', '2.5.1', { 'source_urls': ['https://pypi.python.org/packages/source/j/jsonschema/'], }), -- GitLab From d5d14e4f772188d6772c1dd9f3453ccc2725845c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 28 Apr 2016 11:28:48 +0200 Subject: [PATCH 1021/1089] add vcversioner and functiools32 dependencies for jsonscheme in IPython easyconfig --- .../i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb index f70668f24c..5a7a6fc6ee 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2016a-Python-2.7.11.eb @@ -50,10 +50,16 @@ exts_list = [ }), ('MarkupSafe', '0.23', { 'source_urls': ['https://pypi.python.org/packages/source/M/MarkupSafe/'], - }), + }), ('Jinja2', '2.8', { 'source_urls': ['https://pypi.python.org/packages/source/J/Jinja2/'], }), + ('vcversioner', '2.16.0.0', { + 'source_urls': ['https://pypi.python.org/packages/source/v/vcversioner/'], + }), + ('functools32', '3.2.3-2', { + 'source_urls': ['https://pypi.python.org/packages/source/f/functools32/'], + }), ('jsonschema', '2.5.1', { 'source_urls': ['https://pypi.python.org/packages/source/j/jsonschema/'], }), -- GitLab From 364ccf36a72ed191b8641e62239e7f924f228a1c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 28 Apr 2016 11:35:26 +0200 Subject: [PATCH 1022/1089] use %(pyver)s and %(pyshortver)s in IPython 3.2.3 easyconfigs --- .../IPython-3.2.3-foss-2015a-Python-2.7.11.eb | 12 ++++-------- .../IPython-3.2.3-intel-2015b-Python-2.7.10.eb | 12 ++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb index 440fcbb412..59f875819a 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-foss-2015a-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'Bundle' name = 'IPython' version = '3.2.3' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://ipython.org/index.html' description = """IPython provides a rich architecture for interactive computing with: @@ -13,13 +14,8 @@ description = """IPython provides a rich architecture for interactive computing toolchain = {'name': 'foss', 'version': '2015a'} -python = 'Python' -pyver = '2.7.11' -pyshortver = '.'.join(pyver.split('.')[:2]) -versionsuffix = '-%s-%s' % (python, pyver) - dependencies = [ - (python, pyver), + ('Python', '2.7.11'), ('PyZMQ', '15.2.0', '%s-zmq4' % versionsuffix), ] @@ -82,11 +78,11 @@ exts_list = [ }), ] -modextrapaths = {'PYTHONPATH': ['lib/python%s/site-packages' % pyshortver]} +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} sanity_check_paths = { 'files': ['bin/ipython'], - 'dirs': ['lib/python%s/site-packages/IPython' % pyshortver], + 'dirs': ['lib/python%(pyshortver)s/site-packages/IPython'], } sanity_check_commands = [ diff --git a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb index 7cf61546f1..4c8be19f1d 100644 --- a/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/i/IPython/IPython-3.2.3-intel-2015b-Python-2.7.10.eb @@ -2,6 +2,7 @@ easyblock = 'Bundle' name = 'IPython' version = '3.2.3' +versionsuffix = '-Python-%(pyver)s' homepage = 'http://ipython.org/index.html' description = """IPython provides a rich architecture for interactive computing with: @@ -13,13 +14,8 @@ description = """IPython provides a rich architecture for interactive computing toolchain = {'name': 'intel', 'version': '2015b'} -python = 'Python' -pyver = '2.7.10' -pyshortver = '.'.join(pyver.split('.')[:2]) -versionsuffix = '-%s-%s' % (python, pyver) - dependencies = [ - (python, pyver), + ('Python', '2.7.10'), ('PyZMQ', '15.1.0', '%s-zmq4' % versionsuffix), ] @@ -82,11 +78,11 @@ exts_list = [ }), ] -modextrapaths = {'PYTHONPATH': ['lib/python%s/site-packages' % pyshortver]} +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} sanity_check_paths = { 'files': ['bin/ipython'], - 'dirs': ['lib/python%s/site-packages/IPython' % pyshortver], + 'dirs': ['lib/python%(pyshortver)s/site-packages/IPython'], } sanity_check_commands = [ -- GitLab From 699e52ba961e329166861b28967659ef5284534b Mon Sep 17 00:00:00 2001 From: RvDijk Date: Thu, 28 Apr 2016 14:51:54 +0200 Subject: [PATCH 1023/1089] dropped (new)lines --- .../c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb | 3 --- 1 file changed, 3 deletions(-) diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb index 0a504a247d..5c57e5846c 100644 --- a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.9.1-foss-2016a-Python-2.7.11.eb @@ -9,9 +9,7 @@ easyblock = "PythonPackage" name = 'cutadapt' version = '1.9.1' -pyver = '2.7.11' versionsuffix = '-Python-%(pyver)s' -pyshortver = '.'.join(pyver.split('.')[:2]) homepage = 'http://opensource.scilifelab.se/projects/cutadapt/' description = """ Cutadapt finds and removes adapter sequences, primers, poly-A tails and @@ -22,7 +20,6 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = [PYPI_SOURCE] sources = [SOURCELOWER_TAR_GZ] - dependencies = [ ('Python', '2.7.11'), ] -- GitLab From 4b3f26cdb67eae384e941d5a9358502f27376475 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Thu, 28 Apr 2016 14:55:11 +0200 Subject: [PATCH 1024/1089] Version fix --- .../c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb new file mode 100644 index 0000000000..444de341bf --- /dev/null +++ b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'CrossTalkZ' +version = '1.4' + +homepage = 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' +description = """ +CrossTalkZ is a statistical method and software to assess the significance of crosstalk enrichment +between pairs of gene or protein groups in large biological networks. +""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' +] +sources = ['%(name)s_%(version)s.tgz'] + +dependencies = [('Boost', '1.60.0')] + +start_dir = 'src' + +configopts = " -DBoost_NO_BOOST_CMAKE=ON -DBoost_NO_SYSTEM_PATHS=ON -DBOOST_ROOT=$EBROOTBOOST" + +builddependencies = [('CMake', '3.4.3',)] + +sanity_check_paths = { + 'files': ['bin/CrossTalkZ'], + 'dirs': [''], +} + +moduleclass = 'bio' -- GitLab From 1f5400281627eb85afc587878f025e95fe58e9d5 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Thu, 28 Apr 2016 10:37:28 -0400 Subject: [PATCH 1025/1089] remove easyblock specification. it's not necessary --- .../easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb index cd9274f066..7bcbf378aa 100644 --- a/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb +++ b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a.eb @@ -1,5 +1,3 @@ -easyblock = 'EB_libQGLViewer' - name = 'libQGLViewer' version = '2.6.3' -- GitLab From 4b632a70fb083454a252435f93947990715fce77 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Thu, 28 Apr 2016 16:42:26 +0200 Subject: [PATCH 1026/1089] remove 1.0 version --- .../c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb deleted file mode 100644 index 59c924d670..0000000000 --- a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.0-foss-2016a.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'CrossTalkZ' -version = '1.4' - -homepage = 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' -description = """ -CrossTalkZ is a statistical method and software to assess the significance of crosstalk enrichment between pairs of -gene or protein groups in large biological networks. -""" - -toolchain = {'name': 'foss', 'version': '2016a'} -toolchainopts = {'usempi': True, 'pic': True} - -source_urls = [ - 'http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/' -] -sources = ['%(name)s_%(version)s.tgz'] - -dependencies = [('Boost', '1.60.0')] - -start_dir = 'src' - -configopts = " -DBoost_NO_BOOST_CMAKE=ON -DBoost_NO_SYSTEM_PATHS=ON -DBOOST_ROOT=$EBROOTBOOST" - -builddependencies = [('CMake', '3.4.3',)] - -sanity_check_paths = { - 'files': ['bin/CrossTalkZ'], - 'dirs': [''], -} - -moduleclass = 'bio' -- GitLab From 34c2d2a3f23f82a1584528664c4efd174ffd5c04 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Thu, 28 Apr 2016 23:22:11 +0100 Subject: [PATCH 1027/1089] add easyconfig cramtools-3.0-Java-1.7.0_80.eb --- .../cramtools/cramtools-3.0-Java-1.7.0_80.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/c/cramtools/cramtools-3.0-Java-1.7.0_80.eb diff --git a/easybuild/easyconfigs/c/cramtools/cramtools-3.0-Java-1.7.0_80.eb b/easybuild/easyconfigs/c/cramtools/cramtools-3.0-Java-1.7.0_80.eb new file mode 100644 index 0000000000..d00a912e71 --- /dev/null +++ b/easybuild/easyconfigs/c/cramtools/cramtools-3.0-Java-1.7.0_80.eb @@ -0,0 +1,27 @@ +easyblock = 'Tarball' + +name = 'cramtools' +version = '3.0' +versionsuffix = "-Java-%(javaver)s" + +homepage = 'https://github.com/enasequence/cramtools/' +description = """CRAMTools is a set of Java tools and APIs for efficient compression of sequence +read data. Although this is intended as a stable version the code is released as +early access. Parts of the CRAMTools are experimental and may not be supported +in the future.""" + +toolchain = {'name': 'dummy', 'version': ''} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/enasequence/%(name)s/archive/'] + +dependencies = [('Java', '1.7.0_80')] + +modloadmsg = "To execute cramtools run: java -jar \\${EBROOTCRAMTOOLS}/%(name)s-%(version)s.jar" + +sanity_check_paths = { + 'files': ["%(name)s-%(version)s.jar"], + 'dirs': ["lib"] +} + +moduleclass = 'bio' -- GitLab From 942f96a8f5f8a5b8b2586aa101d78ab815598490 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Thu, 28 Apr 2016 22:18:01 -0400 Subject: [PATCH 1028/1089] add PyGTS easyconfig with foss 2016a toolchain --- .../PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..d74951a2d3 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'PyGTS' +version = '0.3.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://sourceforge.net/projects/pygts/' +description = """ PyGTS is a python package used to construct, manipulate, + and perform computations on triangulated surfaces. + It is a hand-crafted and pythonic binding for the GNU Triangulated Surface (GTS) Library. """ + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('GLib', '2.47.5'), + ('GTS' ,'0.7.6'), + ('numpy', '1.8.2', versionsuffix), +] + +options = {'modulename': 'gts'} + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/gts/_gts.%s' % SHLIB_EXT], + 'dirs':[], +} + +moduleclass = 'vis' -- GitLab From 38eb196e7de2b754a1c0205e11df8a50d9b2075b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 15:30:02 +0200 Subject: [PATCH 1029/1089] add patch for matplotlib 1.5.1 to fix Tcl/Tk library paths being used --- ...tplotlib-1.5.1-foss-2015b-Python-2.7.10.eb | 1 + ...tplotlib-1.5.1-foss-2016a-Python-2.7.11.eb | 1 + ...plotlib-1.5.1-intel-2015b-Python-2.7.11.eb | 1 + ...plotlib-1.5.1-intel-2016a-Python-2.7.11.eb | 1 + ...tplotlib-1.5.1-intel-2016a-Python-3.5.1.eb | 1 + .../matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch | 26 +++++++++++++++++++ 6 files changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb index 712519a60c..96e332c757 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2015b-Python-2.7.10.eb @@ -28,6 +28,7 @@ exts_list = [ }), (name, version, { 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'patches': ['matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch'], }), ] diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb index 182905c4bb..a29279c43f 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-foss-2016a-Python-2.7.11.eb @@ -28,6 +28,7 @@ exts_list = [ }), (name, version, { 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'patches': ['matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch'], }), ] diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb index 8b047bb737..790acc6037 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2015b-Python-2.7.11.eb @@ -28,6 +28,7 @@ exts_list = [ }), (name, version, { 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'patches': ['matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch'], }), ] diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb index 551c06ecef..0e7eed5918 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-2.7.11.eb @@ -28,6 +28,7 @@ exts_list = [ }), (name, version, { 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'patches': ['matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch'], }), ] diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb index 2c2c674d2c..8f02974208 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1-intel-2016a-Python-3.5.1.eb @@ -29,6 +29,7 @@ exts_list = [ }), (name, version, { 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'patches': ['matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch'], }), ] diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch new file mode 100644 index 0000000000..39e34a937a --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-1.5.1_fix-Tcl-Tk-libdir.patch @@ -0,0 +1,26 @@ +ensure that Tcl/Tk library paths are correct, to fix segmentation fault that occurs when plotting because system +libraries are picked up; +the problem is that the query_tcktl method guesses the Tk library path based on the Tcl library path by simply +replacing 'Tcl'/'tcl' with 'Tk'/'tk', which doesn't work if the Tk install prefix is different (e.g. due to a +versionsuffix) +author: Kenneth Hoste (HPC-UGent) +-- matplotlib-1.5.1.orig/setupext.py 2016-01-11 04:06:08.000000000 +0100 ++++ matplotlib-1.5.1/setupext.py 2016-04-29 15:43:21.280170000 +0200 +@@ -1560,7 +1560,16 @@ + + # Query Tcl/Tk system for library paths and version string + try: +- tcl_lib_dir, tk_lib_dir, tk_ver = self.query_tcltk() ++ tcl_lib_dir, tk_lib_dir, tk_ver = None, None, None ++ if 'EBROOTTCL' in os.environ and 'EBVERSIONTCL' in os.environ: ++ tcl_ver = '.'.join(os.environ['EBVERSIONTCL'].split('.')[:2]) ++ tcl_lib_dir = os.path.join(os.environ['EBROOTTCL'], 'lib', 'tcl%s' % tcl_ver) ++ if 'EBROOTTK' in os.environ and 'EBVERSIONTK' in os.environ: ++ tk_ver = '.'.join(os.environ['EBVERSIONTK'].split('.')[:2]) ++ tk_lib_dir = os.path.join(os.environ['EBROOTTK'], 'lib', 'tk%s' % tk_ver) ++ ++ if tcl_lib_dir is None or tk_lib_dir is None or tk_ver is None: ++ tcl_lib_dir, tk_lib_dir, tk_ver = self.query_tcltk() + except: + tk_ver = '' + result = self.hardcoded_tcl_config() -- GitLab From a2850e36d1656a502b69931419974015537c8ab3 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Fri, 29 Apr 2016 10:08:49 -0400 Subject: [PATCH 1030/1089] add GTS easyconfig and improve PyGTS easyconfig --- .../easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb | 25 +++++++++++++++++++ .../PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb | 1 - 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb new file mode 100644 index 0000000000..6e89234d6b --- /dev/null +++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'GTS' +version = '0.7.6' + +homepage = 'http://gts.sourceforge.net/' +description = """GTS stands for the GNU Triangulated Surface Library. + It is an Open Source Free Software Library intended to provide a set of useful + functions to deal with 3D surfaces meshed with interconnected triangles.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('GLib', '2.47.5'), +] + +sanity_check_paths = { + 'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb index d74951a2d3..9d7551949d 100644 --- a/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb @@ -18,7 +18,6 @@ dependencies = [ ('Python', '2.7.11'), ('GLib', '2.47.5'), ('GTS' ,'0.7.6'), - ('numpy', '1.8.2', versionsuffix), ] options = {'modulename': 'gts'} -- GitLab From be83e907e89d1d3ac81cc14416412fb4ee9f9c58 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 21:23:05 +0200 Subject: [PATCH 1031/1089] add easyconfig MPFR-3.1.4-intel-2016a.eb --- .../m/MPFR/MPFR-3.1.4-intel-2016a.eb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 easybuild/easyconfigs/m/MPFR/MPFR-3.1.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-3.1.4-intel-2016a.eb b/easybuild/easyconfigs/m/MPFR/MPFR-3.1.4-intel-2016a.eb new file mode 100644 index 0000000000..6101f2969d --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-3.1.4-intel-2016a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '3.1.4' + +homepage = 'http://www.mpfr.org' +description = """The MPFR library is a C library for multiple-precision + floating-point computations with correct rounding.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] + +patches = ['MPFR_ictce_remove-deprecated-mp.patch'] + +dependencies = [('GMP', '6.1.0')] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [] +} + +moduleclass = 'math' -- GitLab From 3cd38ae9e6ddbf1c0541b9aab0c608dc4976e654 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 21:23:26 +0200 Subject: [PATCH 1032/1089] add easyconfig GLib-2.48.0-intel-2016a.eb, add easyconfig gettext-0.19.7-intel-2016a.eb --- .../g/GLib/GLib-2.48.0-intel-2016a.eb | 33 +++++++++++++++++++ .../g/gettext/gettext-0.19.7-intel-2016a.eb | 22 +++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb new file mode 100644 index 0000000000..6f5acf6419 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.48.0' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.7'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), +] + +builddependencies = [('Python', '2.7.11')] + +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" + +postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb new file mode 100644 index 0000000000..d256bae534 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.19.7' + +homepage = 'http://www.gnu.org/software/gettext/' +description = """GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] + +dependencies = [ + ('libxml2', '2.9.3'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +moduleclass = 'vis' -- GitLab From b9b61a1d3edfbc23b79c5c001ee8a03bf8e584cf Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 21:26:30 +0200 Subject: [PATCH 1033/1089] add easyconfig Mesa-11.2.1-intel-2016a.eb, modify easyconfig freetype-2.6.3-intel-2016a.eb, add easyconfig pkg-config-0.29.1-intel-2016a.eb, add easyconfig libdrm-2.4.68-intel-2016a.eb, add easyconfig libXfont-1.5.1-intel-2016a-freetype-2.6.3.eb --- ...bXfont-1.5.1-intel-2016a-freetype-2.6.3.eb | 34 ++++++++++ .../l/libdrm/libdrm-2.4.68-intel-2016a.eb | 28 ++++++++ .../m/Mesa/Mesa-11.2.1-intel-2016a.eb | 68 +++++++++++++++++++ .../pkg-config-0.29.1-intel-2016a.eb | 27 ++++++++ 4 files changed, 157 insertions(+) create mode 100644 easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a-freetype-2.6.3.eb create mode 100644 easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-intel-2016a.eb create mode 100644 easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a-freetype-2.6.3.eb b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a-freetype-2.6.3.eb new file mode 100644 index 0000000000..45a31bc1bd --- /dev/null +++ b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-intel-2016a-freetype-2.6.3.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libXfont' +version = '1.5.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X font libary""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +freetype_ver = '2.6.3' +versionsuffix = '-freetype-%s' % freetype_ver + +builddependencies = [ + ('fontsproto', '2.1.3'), + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), + ('xorg-macros', '1.19.0'), + ('libfontenc', '1.1.3'), +] +dependencies = [ + ('libX11', '1.6.3'), + ('freetype', freetype_ver), +] + +sanity_check_paths = { + 'files': ['lib/libXfont.%s' % SHLIB_EXT, 'lib/libXfont.a'], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-intel-2016a.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-intel-2016a.eb new file mode 100644 index 0000000000..e64ac66c51 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-intel-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libdrm' +version = '2.4.68' + +homepage = 'http://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +source_urls = ['http://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +builddependencies = [ + ('libpthread-stubs', '0.3'), +] + +dependencies = [ + ('libpciaccess', '0.13.4'), +] + +sanity_check_paths = { + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, + 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], + 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-intel-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-intel-2016a.eb new file mode 100644 index 0000000000..54f7d8a513 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-intel-2016a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '11.2.1' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + ('Autotools', '20150215'), + ('pkg-config', '0.29.1'), + ('glproto', '1.4.17'), + ('kbproto', '1.0.7'), + ('libpthread-stubs', '0.3'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.28'), + ('makedepend', '1.0.5'), +] + +dependencies = [ + ('libxml2', '2.9.3'), + ('libdrm', '2.4.68'), + ('libX11', '1.6.3',), + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), + ('libXdamage', '1.1.4'), + ('libXfont', '1.5.1', '-freetype-2.6.3'), + ('LLVM', '3.8.0'), + ('eudev', '3.1.5'), +] + +# Use the os provided libudev or the EB provided eudev +#osdependencies = ['libudev'] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri" +configopts += " --enable-xlib-glx --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl" +configopts += " --with-osmesa-bits=32 --enable-texture-float " + +# package-config files for os dependencies are in an os specific place +#preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' +preconfigopts = ' libtoolize && ' + +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, + 'lib/libGLESv2.%s' %SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', 'include/GL/glx.h', + 'include/GL/osmesa.h', 'include/GL/wglext.h', 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], + 'dirs': [] +} + +maxparallel = 1 + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-intel-2016a.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-intel-2016a.eb new file mode 100644 index 0000000000..eeb50eabb1 --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-intel-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29.1' + +homepage = 'http://www.freedesktop.org/wiki/Software/pkg-config/' +description = """pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the + correct compiler options on the command line so an application can use + gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other libraries).""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://pkgconfig.freedesktop.org/releases/'] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From eadd15710a076003297e0f6a504471fb0352c211 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 21:37:23 +0200 Subject: [PATCH 1034/1089] add easyconfig xcb-util-0.4.0-intel-2016a.eb, add easyconfig xcb-util-image-0.4.0-intel-2016a.eb, add easyconfig xcb-util-keysyms-0.4.0-intel-2016a.eb, add easyconfig xcb-util-renderutil-0.3.9-intel-2016a.eb, add easyconfig xcb-util-wm-0.4.1-intel-2016a.eb --- .../xcb-util-image-0.4.0-intel-2016a.eb | 23 ++++++++++++++++++ .../xcb-util-keysyms-0.4.0-intel-2016a.eb | 24 +++++++++++++++++++ .../xcb-util-renderutil-0.3.9-intel-2016a.eb | 23 ++++++++++++++++++ .../xcb-util-wm-0.4.1-intel-2016a.eb | 23 ++++++++++++++++++ .../x/xcb-util/xcb-util-0.4.0-intel-2016a.eb | 24 +++++++++++++++++++ 5 files changed, 117 insertions(+) create mode 100644 easybuild/easyconfigs/x/xcb-util-image/xcb-util-image-0.4.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xcb-util-keysyms/xcb-util-keysyms-0.4.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xcb-util-renderutil/xcb-util-renderutil-0.3.9-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xcb-util-wm/xcb-util-wm-0.4.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xcb-util/xcb-util-0.4.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/x/xcb-util-image/xcb-util-image-0.4.0-intel-2016a.eb b/easybuild/easyconfigs/x/xcb-util-image/xcb-util-image-0.4.0-intel-2016a.eb new file mode 100644 index 0000000000..a0cf9f13dd --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-util-image/xcb-util-image-0.4.0-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-util-image' +version = '0.4.0' + +homepage = 'http://xcb.freedesktop.org/' +description = """The xcb-util-image package provides additional extensions to the XCB library.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('xcb-util', '0.4.0'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb-image.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xcb-util-keysyms/xcb-util-keysyms-0.4.0-intel-2016a.eb b/easybuild/easyconfigs/x/xcb-util-keysyms/xcb-util-keysyms-0.4.0-intel-2016a.eb new file mode 100644 index 0000000000..ab965a9d36 --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-util-keysyms/xcb-util-keysyms-0.4.0-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-util-keysyms' +version = '0.4.0' + +homepage = 'http://xcb.freedesktop.org/' +description = """The xcb-util-keysyms package contains a library for + handling standard X key constants and conversion to/from keycodes.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb-keysyms.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xcb-util-renderutil/xcb-util-renderutil-0.3.9-intel-2016a.eb b/easybuild/easyconfigs/x/xcb-util-renderutil/xcb-util-renderutil-0.3.9-intel-2016a.eb new file mode 100644 index 0000000000..c926c17dd1 --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-util-renderutil/xcb-util-renderutil-0.3.9-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-util-renderutil' +version = '0.3.9' + +homepage = 'http://xcb.freedesktop.org/' +description = """The xcb-util-renderutil package provides additional extensions to the XCB library.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb-render-util.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xcb-util-wm/xcb-util-wm-0.4.1-intel-2016a.eb b/easybuild/easyconfigs/x/xcb-util-wm/xcb-util-wm-0.4.1-intel-2016a.eb new file mode 100644 index 0000000000..5d58f2a9b2 --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-util-wm/xcb-util-wm-0.4.1-intel-2016a.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-util-wm' +version = '0.4.1' + +homepage = 'http://xcb.freedesktop.org/' +description = """The xcb-util-wm package contains libraries which provide client and window-manager helpers for EWMH and ICCCM.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb-%s.so' % x for x in ['ewmh', 'icccm']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xcb-util/xcb-util-0.4.0-intel-2016a.eb b/easybuild/easyconfigs/x/xcb-util/xcb-util-0.4.0-intel-2016a.eb new file mode 100644 index 0000000000..18a587a56e --- /dev/null +++ b/easybuild/easyconfigs/x/xcb-util/xcb-util-0.4.0-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xcb-util' +version = '0.4.0' + +homepage = 'http://xcb.freedesktop.org/' +description = """The xcb-util package provides additional extensions to the XCB library, + many that were previously found in Xlib, but are not part of core X protocol""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xcb.freedesktop.org/dist/'] +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('libxcb', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['lib/libxcb-util.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 5a09c330918abdab2e6129d2c9767a6a29b3b704 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 21:37:45 +0200 Subject: [PATCH 1035/1089] add easyconfig fontconfig-2.11.95-intel-2016a.eb, add easyconfig expat-2.1.1-intel-2016a.eb, modify easyconfig freetype-2.6.3-intel-2016a.eb --- .../e/expat/expat-2.1.1-intel-2016a.eb | 16 ++++++++++++++ .../fontconfig-2.11.95-intel-2016a.eb | 22 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.95-intel-2016a.eb diff --git a/easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb b/easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb new file mode 100644 index 0000000000..a442e3de7f --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb @@ -0,0 +1,16 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.1.1' + +homepage = 'http://expat.sourceforge.net/' +description = """Expat is an XML parser library written in C. It is a stream-oriented parser in which an application + registers handlers for things the parser might find in the XML document (like start tags)""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [SOURCEFORGE_SOURCE] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.95-intel-2016a.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.95-intel-2016a.eb new file mode 100644 index 0000000000..09b5a49088 --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.11.95-intel-2016a.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.11.95' + +homepage = 'http://www.freedesktop.org/software/fontconfig' +description = """Fontconfig is a library designed to provide system-wide font configuration, customization and +application access.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('expat', '2.1.1'), + ('freetype', '2.6.3'), +] + +configopts = '--disable-docs ' + +moduleclass = 'vis' -- GitLab From 88739b6f181046a73e49da989652c1cd433c6d9f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 21:42:32 +0200 Subject: [PATCH 1036/1089] add easyconfig Qt5-5.6.0-intel-2016a.eb, add easyconfig libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb, add easyconfig libxkbcommon-0.6.1-intel-2016a.eb, add easyconfig XKeyboardConfig-2.17-intel-2016a.eb, add easyconfig libxslt-1.1.28-intel-2016a.eb --- .../libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb | 27 +++++++++++++ .../libxkbcommon-0.6.1-intel-2016a.eb | 32 +++++++++++++++ .../l/libxslt/libxslt-1.1.28-intel-2016a.eb | 24 ++++++++++++ .../q/Qt5/Qt5-5.6.0-intel-2016a.eb | 39 +++++++++++++++++++ .../XKeyboardConfig-2.17-intel-2016a.eb | 36 +++++++++++++++++ 5 files changed, 158 insertions(+) create mode 100644 easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb create mode 100644 easybuild/easyconfigs/l/libxkbcommon/libxkbcommon-0.6.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-intel-2016a.eb create mode 100644 easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/XKeyboardConfig/XKeyboardConfig-2.17-intel-2016a.eb diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb new file mode 100644 index 0000000000..fe3cfb14d6 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +mesaver = '11.2.1' +versionsuffix = '-Mesa-%s' % mesaver + +dependencies = [ + ('Mesa', mesaver), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libxkbcommon/libxkbcommon-0.6.1-intel-2016a.eb b/easybuild/easyconfigs/l/libxkbcommon/libxkbcommon-0.6.1-intel-2016a.eb new file mode 100644 index 0000000000..8611f0332b --- /dev/null +++ b/easybuild/easyconfigs/l/libxkbcommon/libxkbcommon-0.6.1-intel-2016a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libxkbcommon' +version = '0.6.1' + +homepage = 'http://xkbcommon.org/' +description = """xkbcommon is a library to handle keyboard descriptions, + including loading them from disk, parsing them and handling their state. + It's mainly meant for client toolkits, window systems, + and other system applications.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://xkbcommon.org/download/'] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libxcb', '1.11.1'), + ('XKeyboardConfig', '2.17'), +] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), +] + +sanity_check_paths = { + 'files': ['lib/libxkbcommon%s.so' % x for x in ['', '-x11']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-intel-2016a.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-intel-2016a.eb new file mode 100644 index 0000000000..b3d064b443 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.28-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.28' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [ + 'http://xmlsoft.org/sources/', + 'http://xmlsoft.org/sources/old/' +] + +sources = [SOURCELOWER_TAR_GZ] + +dependencies = [ + ('zlib', '1.2.8'), + ('libxml2', '2.9.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb new file mode 100644 index 0000000000..f4f0ab35bd --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb @@ -0,0 +1,39 @@ +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.6.0' + +homepage = 'http://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [ + 'http://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', + 'http://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/' +] +sources = ['qt-everywhere-opensource-src-%(version)s.tar.xz'] + +dependencies = [ + ('GLib', '2.48.0'), + ('libX11', '1.6.3'), + ('libXt', '1.1.5'), + ('libXi', '1.7.6'), + ('xcb-util', '0.4.0'), + ('xcb-util-image', '0.4.0'), + ('xcb-util-keysyms', '0.4.0'), + ('xcb-util-renderutil', '0.3.9'), + ('xcb-util-wm', '0.4.1'), + ('libxkbcommon', '0.6.1'), + ('libXrender', '0.9.9'), + ('fontconfig', '2.11.95'), + ('freetype', '2.6.3'), + ('libXfixes', '5.0.1'), + ('libXcursor', '1.1.14'), + ('libXinerama', '1.1.3'), + ('libXrandr', '1.5.0'), + ('libpng', '1.6.21'), + ('libGLU', '9.0.0', '-Mesa-11.2.1'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/XKeyboardConfig/XKeyboardConfig-2.17-intel-2016a.eb b/easybuild/easyconfigs/x/XKeyboardConfig/XKeyboardConfig-2.17-intel-2016a.eb new file mode 100644 index 0000000000..e72178d939 --- /dev/null +++ b/easybuild/easyconfigs/x/XKeyboardConfig/XKeyboardConfig-2.17-intel-2016a.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'XKeyboardConfig' +version = '2.17' + +homepage = 'http://www.freedesktop.org/wiki/Software/XKeyboardConfig/' +description = """The non-arch keyboard configuration database for X Window. + The goal is to provide the consistent, well-structured, + frequently released open source of X keyboard configuration data + for X Window System implementations (free, open source and commercial). + The project is targeted to XKB-based systems.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://ftp.x.org/pub/individual/data/xkeyboard-config/'] +sources = ['xkeyboard-config-%(version)s.tar.bz2'] + +builddependencies = [ + ('libxslt', '1.1.28'), + ('gettext', '0.19.7'), + ('intltool', '0.51.0', '-Perl-5.22.1'), +] + +dependencies = [ + ('libX11', '1.6.3'), +] + +# see http://www.linuxfromscratch.org/blfs/view/svn/x/xkeyboard-config.html +configopts = '--with-xkb-rules-symlink=xorg ' + +sanity_check_paths = { + 'files': [], + 'dirs': ['share/X11/xkb'] +} + +moduleclass = 'devel' -- GitLab From 7c81af64d32804f56413cc5416b97fb2677def34 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 29 Apr 2016 23:49:31 +0200 Subject: [PATCH 1037/1089] modify easyconfig expat-2.1.1-intel-2016a.eb --- easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb b/easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb index a442e3de7f..6e5b60c35f 100644 --- a/easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb +++ b/easybuild/easyconfigs/e/expat/expat-2.1.1-intel-2016a.eb @@ -10,7 +10,7 @@ description = """Expat is an XML parser library written in C. It is a stream-ori toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'pic': True} -sources = [SOURCELOWER_TAR_GZ] +sources = [SOURCELOWER_TAR_BZ2] source_urls = [SOURCEFORGE_SOURCE] moduleclass = 'tools' -- GitLab From 122f7ad45fc9a1a435d6d64345cc2b05dbbf397e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 30 Apr 2016 00:00:08 +0200 Subject: [PATCH 1038/1089] add missing ncurses dep + --with-libxml2-prefix to gettext easyconfigs --- easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb index d256bae534..4f86721ed0 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-intel-2016a.eb @@ -15,6 +15,7 @@ source_urls = [GNU_SOURCE] dependencies = [ ('libxml2', '2.9.3'), + ('ncurses', '6.0'), ] configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' -- GitLab From 58f5d1437754085e98623da578ab3b58ad86bb29 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 30 Apr 2016 00:01:41 +0200 Subject: [PATCH 1039/1089] add missing ncurses dep + --with-libxml2-prefix to gettext easyconfigs --- easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb | 2 +- easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb index b35aee8501..690872c686 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2015b.eb @@ -18,6 +18,6 @@ dependencies = [ ('ncurses', '5.9'), ] -configopts = '--without-emacs' +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb index 168b2490e6..4580e48c6a 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.7-foss-2016a.eb @@ -18,6 +18,6 @@ dependencies = [ ('ncurses', '6.0'), ] -configopts = '--without-emacs' +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' moduleclass = 'vis' -- GitLab From e069726a05c66e508bbf5651d5a5f935e2856f8f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 30 Apr 2016 00:45:06 +0200 Subject: [PATCH 1040/1089] modify easyconfig GLib-2.48.0-intel-2016a.eb --- easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb index 6f5acf6419..d241317450 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb @@ -21,7 +21,9 @@ dependencies = [ builddependencies = [('Python', '2.7.11')] -configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared" +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared --disable-systemtap" + +parallel = 1 postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] -- GitLab From 98217a3d259ea96af0512a3970fac83d2d6621d7 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Fri, 29 Apr 2016 21:11:40 -0400 Subject: [PATCH 1041/1089] add GL2PS-1.3.9_foss2016a-mesa11.2.1 --- .../c/CMake/CMake-3.5.2-foss-2016a.eb | 31 +++++++++ .../freeglut-3.0.0-foss-2016a-Mesa-11.2.1.eb | 40 +++++++++++ .../f/freetype/freetype-2.6.3-foss-2016a.eb | 22 ++++++ .../GL2PS-1.3.9-foss-2016a-Mesa-11.2.1.eb | 37 ++++++++++ .../l/LLVM/LLVM-3.8.0-foss-2016a.eb | 41 +++++++++++ .../libGLU-9.0.0-foss-2016a-Mesa-11.2.1.eb | 27 ++++++++ ...ibXfont-1.5.1-foss-2016a-freetype-2.6.3.eb | 34 ++++++++++ .../l/libdrm/libdrm-2.4.68-foss-2016a.eb | 28 ++++++++ .../m/Mesa/Mesa-11.2.1-foss-2016a.eb | 68 +++++++++++++++++++ .../o/OpenSSL/OpenSSL-1.0.1s-foss-2016a.eb | 21 ++++++ .../pkg-config-0.29.1-foss-2016a.eb | 27 ++++++++ 11 files changed, 376 insertions(+) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.5.2-foss-2016a.eb create mode 100644 easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a-Mesa-11.2.1.eb create mode 100644 easybuild/easyconfigs/f/freetype/freetype-2.6.3-foss-2016a.eb create mode 100644 easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a-Mesa-11.2.1.eb create mode 100644 easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-foss-2016a.eb create mode 100644 easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a-Mesa-11.2.1.eb create mode 100644 easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a-freetype-2.6.3.eb create mode 100644 easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-foss-2016a.eb create mode 100644 easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-foss-2016a.eb create mode 100644 easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-foss-2016a.eb create mode 100644 easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.5.2-foss-2016a.eb b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-foss-2016a.eb new file mode 100644 index 0000000000..9075c094fb --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.5.2-foss-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'CMake' +version = '3.5.2' + +homepage = 'http://www.cmake.org' +description = """CMake, the cross-platform, open-source build system. + CMake is a family of tools designed to build, test and package software.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] + +configopts = '-- -DCMAKE_USE_OPENSSL=1' + +dependencies = [ + ('ncurses', '6.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + #('OpenSSL', '1.0.1s'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a-Mesa-11.2.1.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a-Mesa-11.2.1.eb new file mode 100644 index 0000000000..1965349120 --- /dev/null +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.0.0-foss-2016a-Mesa-11.2.1.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'freeglut' +version = '3.0.0' + +homepage = 'http://freeglut.sourceforge.net/' +description = "freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library." + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(name)s'] + +mesa_ver = '11.2.1' +versionsuffix = '-Mesa-%s' % mesa_ver + +builddependencies = [('CMake', '3.4.3')] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('libXrandr', '1.5.0'), + ('libXi', '1.7.6'), + ('Mesa', mesa_ver), +] + +configopts = ' -DX11_X11_LIB="$EBROOTLIBX11/lib/libX11.so" ' +configopts += ' -DX11_X11_INCLUDE_PATH="$EBROOTLIBX11/include/X11" ' +configopts += ' -DX11_Xext_LIB="$EBROOTLIBXEXT/lib/libXext.so" ' +configopts += ' -DX11_Xrandr_LIB="$EBROOTLIBXRANDR/lib/libXrandr.so" ' +configopts += ' -DX11_Xrandr_INCLUDE_PATH="$EBROOTLIBXRANDR/include/X11/extensions/" ' +configopts += ' -DX11_Xi_LIB="$EBROOTLIBXIlib/libXrandr.so" ' +configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTLIBXI/include/X11/extensions/" ' + +sanity_check_paths = { + 'files': [('lib/libglut.a', 'lib64/libglut.a'), ('lib/libglut.%s' % SHLIB_EXT, 'lib64/libglut.%s' % SHLIB_EXT)], + 'dirs': ['include/GL'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.3-foss-2016a.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.3-foss-2016a.eb new file mode 100644 index 0000000000..bc610c637e --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.3-foss-2016a.eb @@ -0,0 +1,22 @@ +name = 'freetype' +version = '2.6.3' + +homepage = 'http://freetype.org' +description = """FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and + portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display + servers, font conversion tools, text image generation tools, and many other products as well.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] + +dependencies = [('libpng', '1.6.21')] + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', 'lib/libfreetype.%s' % SHLIB_EXT, + 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a-Mesa-11.2.1.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a-Mesa-11.2.1.eb new file mode 100644 index 0000000000..726a6db2a2 --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.3.9-foss-2016a-Mesa-11.2.1.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.3.9' + +homepage = 'http://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] + +mesa_ver = '11.2.1' +versionsuffix = '-Mesa-%s' % mesa_ver + +builddependencies = [ + ('CMake', '3.4.3'), +] + +dependencies = [ + ('libX11', '1.6.3'), + ('libXi', '1.7.6'), + ('libXmu', '1.1.2'), + ('Mesa', mesa_ver), + ('libGLU', '9.0.0', versionsuffix), + ('freeglut', '3.0.0', versionsuffix), + ('libpng', '1.6.21'), + ('zlib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.so'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-foss-2016a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-foss-2016a.eb new file mode 100644 index 0000000000..fc0af540c1 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.8.0-foss-2016a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'LLVM' +version = '3.8.0' + +homepage = "http://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] + +builddependencies = [ + ('CMake', '3.5.2'), + ('Python', '2.7.11'), +] + +dependencies = [ + ('ncurses', '6.0'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' +# required to install extra tools in bin/ +configopts += "-DLLVM_INSTALL_UTILS=ON" + +sanity_check_paths = { + 'files': ['bin/llvm-ar', 'bin/FileCheck'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +separate_build_dir = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a-Mesa-11.2.1.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a-Mesa-11.2.1.eb new file mode 100644 index 0000000000..38c8310594 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-foss-2016a-Mesa-11.2.1.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +mesa_ver = '11.2.1' +versionsuffix = '-Mesa-%s' % mesa_ver + +dependencies = [ + ('Mesa', mesa_ver), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a-freetype-2.6.3.eb b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a-freetype-2.6.3.eb new file mode 100644 index 0000000000..63d5bbf444 --- /dev/null +++ b/easybuild/easyconfigs/l/libXfont/libXfont-1.5.1-foss-2016a-freetype-2.6.3.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libXfont' +version = '1.5.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """X font libary""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +freetype_ver = '2.6.3' +versionsuffix = '-freetype-%s' % freetype_ver + +builddependencies = [ + ('fontsproto', '2.1.3'), + ('xproto', '7.0.28'), + ('xtrans', '1.3.5'), + ('xorg-macros', '1.19.0'), + ('libfontenc', '1.1.3'), +] +dependencies = [ + ('libX11', '1.6.3'), + ('freetype', freetype_ver), +] + +sanity_check_paths = { + 'files': ['lib/libXfont.%s' % SHLIB_EXT, 'lib/libXfont.a'], + 'dirs': ['include/X11/fonts'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-foss-2016a.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-foss-2016a.eb new file mode 100644 index 0000000000..68f8a6be89 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.68-foss-2016a.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libdrm' +version = '2.4.68' + +homepage = 'http://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +source_urls = ['http://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_GZ] + +toolchain = {'name': 'foss', 'version': '2016a'} + +builddependencies = [ + ('libpthread-stubs', '0.3'), +] + +dependencies = [ + ('libpciaccess', '0.13.4'), +] + +sanity_check_paths = { + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, + 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], + 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-foss-2016a.eb b/easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-foss-2016a.eb new file mode 100644 index 0000000000..a919f2eab9 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-11.2.1-foss-2016a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '11.2.1' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] + +builddependencies = [ + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + ('Autotools', '20150215'), + ('pkg-config', '0.29.1'), + ('glproto', '1.4.17'), + ('kbproto', '1.0.7'), + ('libpthread-stubs', '0.3'), + ('xextproto', '7.3.0'), + ('xproto', '7.0.28'), + ('makedepend', '1.0.5'), +] + +dependencies = [ + ('libxml2', '2.9.3'), + ('libdrm', '2.4.68'), + ('libX11', '1.6.3',), + ('libXext', '1.3.3'), + ('libXfixes', '5.0.1'), + ('libXdamage', '1.1.4'), + ('libXfont', '1.5.1', '-freetype-2.6.3'), + ('LLVM', '3.8.0'), + ('eudev', '3.1.5'), +] + +# Use the os provided libudev or the EB provided eudev +#osdependencies = ['libudev'] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri" +configopts += " --enable-xlib-glx --disable-driglx-direct --with-gallium-drivers='swrast' --disable-egl" +configopts += " --with-osmesa-bits=32 --enable-texture-float " + +# package-config files for os dependencies are in an os specific place +#preconfigopts = 'libtoolize && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib64/pkgconfig/:/usr/share/pkgconfig" ' +preconfigopts = ' libtoolize && ' + +prebuildopts = 'env CPATH="$EBROOTLIBDRM/include/libdrm:$CPATH" ' + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, 'lib/libGLESv1_CM.%s' % SHLIB_EXT, + 'lib/libGLESv2.%s' %SHLIB_EXT, 'include/GL/glext.h', 'include/GL/gl_mangle.h', 'include/GL/glx.h', + 'include/GL/osmesa.h', 'include/GL/wglext.h', 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], + 'dirs': [] +} + +maxparallel = 1 + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-foss-2016a.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-foss-2016a.eb new file mode 100644 index 0000000000..a5aab91ad9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.1s-foss-2016a.eb @@ -0,0 +1,21 @@ +name = 'OpenSSL' +version = '1.0.1s' + +homepage = 'http://www.openssl.org/' +description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, + and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) + protocols as well as a full-strength general purpose cryptography library. """ + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://www.openssl.org/source/'] + +patches = ['OpenSSL-1.0.1q_icc-fixes.patch'] + +dependencies = [('zlib', '1.2.8')] + +runtest = 'test' + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-foss-2016a.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-foss-2016a.eb new file mode 100644 index 0000000000..bb2fea6cae --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-foss-2016a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29.1' + +homepage = 'http://www.freedesktop.org/wiki/Software/pkg-config/' +description = """pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the + correct compiler options on the command line so an application can use + gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other libraries).""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://pkgconfig.freedesktop.org/releases/'] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' -- GitLab From 8763ec11daf42708cb05942de98f37dc6f1547fb Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sat, 30 Apr 2016 08:51:13 +0100 Subject: [PATCH 1042/1089] add easyconfig kallisto-0.42.5-foss-2016a.eb --- .../k/kallisto/kallisto-0.42.5-foss-2016a.eb | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 easybuild/easyconfigs/k/kallisto/kallisto-0.42.5-foss-2016a.eb diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.42.5-foss-2016a.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.42.5-foss-2016a.eb new file mode 100644 index 0000000000..2287c59cc6 --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.42.5-foss-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.42.5' + +homepage = 'http://pachterlab.github.io/kallisto/' +description = """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally + of target sequences using high-throughput sequencing reads.""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://github.com/pachterlab/kallisto/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [('CMake', '3.4.3')] +dependencies = [('HDF5', '1.8.16', '-serial')] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/kallisto'], + 'dirs': [], +} + +moduleclass = 'bio' -- GitLab From e9a1f252c40bda55d59d7f28cf83b4bbefed3088 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 30 Apr 2016 10:19:47 +0200 Subject: [PATCH 1043/1089] no need to disable parallel building of GLib --- easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb index d241317450..918c5aec06 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-intel-2016a.eb @@ -23,8 +23,6 @@ builddependencies = [('Python', '2.7.11')] configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared --disable-systemtap" -parallel = 1 - postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] sanity_check_paths = { -- GitLab From a953b7c3339cf33506e33cdbaa31854adcc17ecc Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sat, 30 Apr 2016 15:25:19 +0200 Subject: [PATCH 1044/1089] modify easyconfig makedepend-1.0.5-foss-2016a.eb --- .../easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb index 863911703e..3ab1f8aa60 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb @@ -10,7 +10,11 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = [XORG_UTIL_SOURCE] +source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] + +builddependencies = [ + ('xproto', '7.0.28'), +] sanity_check_paths = { 'files': ['bin/makedepend'], -- GitLab From e169054960d7fe14c56efbe8ab31848b0834a460 Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 1 May 2016 00:15:18 +0100 Subject: [PATCH 1045/1089] add easyconfig SCons-2.4.1-foss-2016a-Python-2.7.11.eb --- .../SCons-2.4.1-foss-2016a-Python-2.7.11.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 easybuild/easyconfigs/s/SCons/SCons-2.4.1-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/s/SCons/SCons-2.4.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/SCons/SCons-2.4.1-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..35083b9098 --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-2.4.1-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'SCons' +version = '2.4.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.scons.org/' +description = "SCons is a software construction tool." + +toolchain = {'name': 'foss', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] + +dependencies = [('Python', '2.7.11')] + +sanity_check_paths = { + 'files': ['bin/scons', 'bin/scons-time', 'bin/sconsign'], + 'dirs': ['lib/%(namelower)s-%(version)s/%(name)s'], +} + +options = {'modulename': False} + +moduleclass = 'devel' -- GitLab From aa31d54e3c255b37ae53239a86b93ae09956e6ec Mon Sep 17 00:00:00 2001 From: Adam Huffman Date: Sun, 1 May 2016 00:17:18 +0100 Subject: [PATCH 1046/1089] add easyconfig Rosetta-2016.13.58602-foss-2016a.eb --- .../Rosetta-2016.13.58602-foss-2016a.eb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 easybuild/easyconfigs/r/Rosetta/Rosetta-2016.13.58602-foss-2016a.eb diff --git a/easybuild/easyconfigs/r/Rosetta/Rosetta-2016.13.58602-foss-2016a.eb b/easybuild/easyconfigs/r/Rosetta/Rosetta-2016.13.58602-foss-2016a.eb new file mode 100644 index 0000000000..86250d9275 --- /dev/null +++ b/easybuild/easyconfigs/r/Rosetta/Rosetta-2016.13.58602-foss-2016a.eb @@ -0,0 +1,20 @@ +name = 'Rosetta' +version = '2016.13.58602' + +homepage = 'https://www.rosettacommons.org' +description = """Rosetta is the premier software suite for modeling macromolecular structures. As a flexible, +multi-purpose application, it includes tools for structure prediction, design, and remodeling of proteins and +nucleic acids.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'usempi': True} + +sources = ['%(namelower)s_src_%(version)s_bundle.tgz'] + +builddependencies = [('SCons', '2.4.1', '-Python-2.7.11')] + +modextravars = { + 'ROSETTA3_DB': '$root/database', +} + +moduleclass = 'bio' -- GitLab From 6c0806d4dee7561c9a7465275e9be2dfdee26d7a Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sun, 1 May 2016 12:37:57 +0200 Subject: [PATCH 1047/1089] modify easyconfig makedepend-1.0.5-foss-2016a.eb --- .../easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb index 3ab1f8aa60..c9e59044e7 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb @@ -10,7 +10,8 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +#source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] +source_urls = [XORG_UTIL_SOURCE] builddependencies = [ ('xproto', '7.0.28'), -- GitLab From f50236ed9bf05c28dfe03514332307491b0550a9 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sun, 1 May 2016 12:39:37 +0200 Subject: [PATCH 1048/1089] modify easyconfig makedepend-1.0.5-foss-2016a.eb --- .../easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb index c9e59044e7..c4a3658b9f 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-foss-2016a.eb @@ -10,7 +10,6 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] -#source_urls = ['http://xorg.freedesktop.org/releases/individual/util'] source_urls = [XORG_UTIL_SOURCE] builddependencies = [ -- GitLab From 1ceb9f59820d3cce159fb76b4c12175c99c2169b Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sun, 1 May 2016 12:43:30 +0200 Subject: [PATCH 1049/1089] modify easyconfig Doxygen-1.8.11-foss-2016a.eb --- easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb index fea350b755..45e774b0e3 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2016a.eb @@ -16,4 +16,6 @@ builddependencies = [ ('Bison', '3.0.4'), ] +parallel = 1 + moduleclass = 'devel' -- GitLab From f05b80bccdb74af88f109105f8f5423d0f50f6c1 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sun, 1 May 2016 12:47:00 +0200 Subject: [PATCH 1050/1089] modify easyconfig Perl-5.22.1-foss-2016a.eb --- easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb index 404b98df7e..f1ad7853f0 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-foss-2016a.eb @@ -137,7 +137,7 @@ exts_list = [ }), ('FreezeThaw', '0.5001', { 'source_tmpl': 'FreezeThaw-0.5001.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILYAZ'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILYAZ/modules'], }), ('DBI', '1.634', { 'source_tmpl': 'DBI-1.634.tar.gz', @@ -221,7 +221,7 @@ exts_list = [ }), ('Tie::Function', '0.02', { 'source_tmpl': 'Tie-Function-0.02.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], }), ('Template::Plugin::Number::Format', '1.06', { 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', -- GitLab From 53c9b1c80a460c6543bbef815d616a396917d8fe Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sun, 1 May 2016 12:57:16 +0200 Subject: [PATCH 1051/1089] add easyconfig PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb --- ...-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb b/easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb new file mode 100644 index 0000000000..0d3d65891c --- /dev/null +++ b/easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'PLplot' +version = '5.11.1' + +homepage = 'http://plplot.sourceforge.net' +description = """PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols + and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +pyver = '2.7.11' +javaver = '1.7.0_79' +pyshortver = '.'.join(pyver.split('.')[0:2]) +versionsuffix = '-Java-%s-Python-%s' % (javaver, pyver) + +glibver = '2.47.5' + +builddependencies = [ + ('CMake', '3.4.3'), + ('SWIG', '3.0.8', '-foss-2016a-Python-%s' % pyver, True), + ('xproto', '7.0.28'), +] + +dependencies = [ + ('Java', javaver, '', True), + ('Python', pyver), + ('Perl', '5.22.1'), + ('Tcl', '8.6.4'), + ('Tk', '8.6.4', '-no-X11'), + ('cairo', '1.14.6'), + ('expat', '2.1.0'), + ('fontconfig', '2.11.94'), + ('freetype', '2.6.2'), + ('GLib', glibver), + ('libICE', '1.0.9'), + ('libtool', '2.4.6'), + ('libX11', '1.6.3'), + ('libXau', '1.0.8'), + ('libxcb', '1.11.1'), + ('libXdmcp', '1.1.2'), + ('libXext', '1.3.3'), + ('libXrender', '0.9.9'), + ('Pango', '1.39.0'), + ('pixman', '0.34.0'), + ('zlib', '1.2.8') +] + +separate_build_dir = True + +modextrapaths = {'PYTHONPATH': 'lib/python%s/site-packages' % pyshortver} + +sanity_check_paths = { + 'files': ['lib/libplplot.so', 'lib/pkgconfig/plplot-f95.pc'], + 'dirs': ['bin', 'include/plplot', 'lib/fortran/modules/plplot', 'lib/pkgconfig', 'share/man/man1'], +} + +moduleclass = 'vis' -- GitLab From 44b6590f2ca4b0683e2a2b922ebec71d555f0e25 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sun, 1 May 2016 15:50:56 +0200 Subject: [PATCH 1052/1089] builddep up --- .../easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb index 444de341bf..2facea57d9 100644 --- a/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb +++ b/easybuild/easyconfigs/c/CrossTalkZ/CrossTalkZ-1.4-foss-2016a.eb @@ -19,12 +19,13 @@ sources = ['%(name)s_%(version)s.tgz'] dependencies = [('Boost', '1.60.0')] +builddependencies = [('CMake', '3.4.3',)] + + start_dir = 'src' configopts = " -DBoost_NO_BOOST_CMAKE=ON -DBoost_NO_SYSTEM_PATHS=ON -DBOOST_ROOT=$EBROOTBOOST" -builddependencies = [('CMake', '3.4.3',)] - sanity_check_paths = { 'files': ['bin/CrossTalkZ'], 'dirs': [''], -- GitLab From d5f98a30a0c96ca87d29c8b47200cb2c4d6450a5 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sun, 1 May 2016 16:08:28 +0200 Subject: [PATCH 1053/1089] version fix, commit version provided --- ....eb => Commet-20150415-foss-2016a-Python-2.7.11.eb} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename easybuild/easyconfigs/c/Commet/{Commet-20160422-foss-2016a-Python-2.7.11.eb => Commet-20150415-foss-2016a-Python-2.7.11.eb} (76%) diff --git a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb similarity index 76% rename from easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb rename to easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb index 2c16bccce7..88a548fab4 100644 --- a/easybuild/easyconfigs/c/Commet/Commet-20160422-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb @@ -1,7 +1,8 @@ easyblock = 'MakeCp' name = 'Commet' -version = '20160422' +version = '20150415' +commit = '4ef0705' pyver = '2.7.11' versionsuffix = '-Python-%(pyver)s' @@ -13,11 +14,10 @@ a large metagenomic project. toolchain = {'name': 'foss', 'version': '2016a'} -# there is no tarball provided, only git checkout through: -# https://github.com/pierrepeterlongo/commet/archive/master.zip -sources = [SOURCE_ZIP] +source_urls = ['https://github.com/pierrepeterlongo/commet/archive'] +sources = ['%s.tar.gz' % commit] -checksums = ['5fe63369ec3722e9e758b7bc1dcdfef3'] +checksums = ['19cba09ca7a92eaed75ed6af820d9451'] files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] -- GitLab From 540113e091905d193da3fcdc0c803424c34acd4a Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sun, 1 May 2016 17:24:15 +0200 Subject: [PATCH 1054/1089] Exonerate with foss2016a --- .../e/Exonerate/Exonerate-2.4.0-foss-2016a.eb | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2016a.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2016a.eb new file mode 100644 index 0000000000..0cfe11f239 --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-foss-2016a.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'http://www.ebi.ac.uk/~guy/exonerate/' +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['https://github.com/nathanweeks/exonerate/archive/'] +sources = ['v%(version)s.tar.gz'] + +dependencies = [('GLib', '2.47.5')] + +# parallel build fails +parallel = 1 + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["exonerate", "fastaclip", "fastaoverlap"]], + 'dirs': ["share"], +} + +moduleclass = 'bio' -- GitLab From 01bc3c39e0364364ea288d9e64c6adacf4533d63 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 1 May 2016 18:54:55 +0200 Subject: [PATCH 1055/1089] also add xproto as build dep in other makedepend 1.0.5 easyconfigs --- .../makedepend-1.0.5-gimkl-2.11.5.eb | 4 ++++ .../makedepend-1.0.5-intel-2015a.eb | 4 ++++ .../makedepend-1.0.5-intel-2015b.eb | 4 ++++ .../makedepend-1.0.5-intel-2016a.eb | 4 ++++ .../x/xproto/xproto-7.0.28-intel-2015a.eb | 24 +++++++++++++++++++ 5 files changed, 40 insertions(+) create mode 100644 easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015a.eb diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb index 38d76d37d2..29139d3313 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-gimkl-2.11.5.eb @@ -12,6 +12,10 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_UTIL_SOURCE] +builddependencies = [ + ('xproto', '7.0.28'), +] + sanity_check_paths = { 'files': ['bin/makedepend'], 'dirs': [], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb index 282179280a..2a137852f4 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015a.eb @@ -12,6 +12,10 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_UTIL_SOURCE] +builddependencies = [ + ('xproto', '7.0.28'), +] + sanity_check_paths = { 'files': ['bin/makedepend'], 'dirs': [], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb index ca6025105b..32cc5814c9 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2015b.eb @@ -12,6 +12,10 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_UTIL_SOURCE] +builddependencies = [ + ('xproto', '7.0.28'), +] + sanity_check_paths = { 'files': ['bin/makedepend'], 'dirs': [], diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb index e38d07d26e..943da96f82 100644 --- a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.5-intel-2016a.eb @@ -12,6 +12,10 @@ toolchainopts = {'optarch': True} sources = [SOURCE_TAR_GZ] source_urls = [XORG_UTIL_SOURCE] +builddependencies = [ + ('xproto', '7.0.28'), +] + sanity_check_paths = { 'files': ['bin/makedepend'], 'dirs': [], diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015a.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015a.eb new file mode 100644 index 0000000000..532a92d315 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.28-intel-2015a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.28' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = "X protocol and ancillary headers" + +toolchain = {'name': 'intel', 'version': '2015a'} +toolchainopts = {'optarch': True} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_PROTO_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', + 'Xatom.h', 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', 'Xarch.h', + 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', 'Xproto.h', 'Xthreads.h', + 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From 4a496d0696387804d39ae0782243921dcc9a5006 Mon Sep 17 00:00:00 2001 From: RvDijk Date: Sun, 1 May 2016 21:45:01 +0200 Subject: [PATCH 1056/1089] Style fixes --- .../Commet-20150415-foss-2016a-Python-2.7.11.eb | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb index 88a548fab4..6c4d59ab68 100644 --- a/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb @@ -3,13 +3,11 @@ easyblock = 'MakeCp' name = 'Commet' version = '20150415' commit = '4ef0705' - -pyver = '2.7.11' versionsuffix = '-Python-%(pyver)s' homepage = 'https://colibread.inria.fr/software/commet/' description = """ COMMET ("COmpare Multiple METagenomes") provides a global similarity overview between all datasets of -a large metagenomic project. + a large metagenomic project. """ toolchain = {'name': 'foss', 'version': '2016a'} @@ -19,15 +17,15 @@ sources = ['%s.tar.gz' % commit] checksums = ['19cba09ca7a92eaed75ed6af820d9451'] -files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] - dependencies = [ ('Python', '2.7.11'), ] +files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] + sanity_check_paths = { - 'files': ["bin/%s" % binfile for binfile in ["Commet.py", "bvop", - "compare_reads", "extract_reads", "filter_reads", "index_and_search"]], + 'files': ['bin/%s' % binfile for binfile in ['Commet.py', 'bvop', 'compare_reads', + 'extract_reads', 'filter_reads', 'index_and_search']], 'dirs' : ['doc', 'include'] } -- GitLab From 9e74175aa5e6096dcc34ad1f3a502b9a84dcfecc Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 2 May 2016 08:42:42 +0200 Subject: [PATCH 1057/1089] Add SWIG-3.0.8-foss-2016a-Python-2.7.11.eb --- .../SWIG-3.0.8-foss-2016a-Python-2.7.11.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..2ffde034da --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-3.0.8-foss-2016a-Python-2.7.11.eb @@ -0,0 +1,23 @@ +name = 'SWIG' +version = '3.0.8' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'pic': True, 'opt': True, 'optarch': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +python = 'Python' +pythonversion = '2.7.11' +versionsuffix = '-%s-%s' % (python, pythonversion) + +dependencies = [ + (python, pythonversion), + ('PCRE', '8.38'), +] + +moduleclass = 'devel' -- GitLab From 7c7e981088c0df6a663f3ad8626980db936c01b3 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 2 May 2016 08:49:05 +0200 Subject: [PATCH 1058/1089] Modify Perl-5.22.1-intel-2016a.eb to update source_urls --- easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb index aed8a467d0..b58ce50af4 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.22.1-intel-2016a.eb @@ -137,7 +137,7 @@ exts_list = [ }), ('FreezeThaw', '0.5001', { 'source_tmpl': 'FreezeThaw-0.5001.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILYAZ'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILYAZ/modules'], }), ('DBI', '1.634', { 'source_tmpl': 'DBI-1.634.tar.gz', @@ -221,7 +221,7 @@ exts_list = [ }), ('Tie::Function', '0.02', { 'source_tmpl': 'Tie-Function-0.02.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], }), ('Template::Plugin::Number::Format', '1.06', { 'source_tmpl': 'Template-Plugin-Number-Format-1.06.tar.gz', -- GitLab From 1d32aabaede918e266733560e3c7e573cd63b066 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 2 May 2016 09:00:15 +0200 Subject: [PATCH 1059/1089] Modify Doxygen-1.8.11-* files to only build in serial --- easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb | 2 ++ easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb | 2 ++ easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb index 5adccf48d7..9af65e4593 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-GCC-4.9.2.eb @@ -16,4 +16,6 @@ builddependencies = [ ('Bison', '3.0.4'), ] +parallel = 1 + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb index 1db648e43d..5b5d5f06cd 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-foss-2015a.eb @@ -16,4 +16,6 @@ builddependencies = [ ('Bison', '3.0.4'), ] +parallel = 1 + moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb index 2d5dc8597f..a63ff80fea 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.11-intel-2016a.eb @@ -16,4 +16,6 @@ builddependencies = [ ('Bison', '3.0.4'), ] +parallel = 1 + moduleclass = 'devel' -- GitLab From 752eeed94e82927ba6a1e12b2966bd95cd1a0342 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 10:07:56 +0200 Subject: [PATCH 1060/1089] bump Java to 1.7.0_80, use %(pyver)s, %(javaver)s templates --- ...-foss-2016a-Java-1.7.0_80-Python-2.7.11.eb} | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) rename easybuild/easyconfigs/p/PLplot/{PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb => PLplot-5.11.1-foss-2016a-Java-1.7.0_80-Python-2.7.11.eb} (77%) diff --git a/easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb b/easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_80-Python-2.7.11.eb similarity index 77% rename from easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb rename to easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_80-Python-2.7.11.eb index 0d3d65891c..a77bf58f49 100644 --- a/easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_79-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PLplot/PLplot-5.11.1-foss-2016a-Java-1.7.0_80-Python-2.7.11.eb @@ -2,6 +2,7 @@ easyblock = 'CMakeMake' name = 'PLplot' version = '5.11.1' +versionsuffix = '-Java-%(javaver)s-Python-%(pyver)s' homepage = 'http://plplot.sourceforge.net' description = """PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols @@ -13,22 +14,15 @@ toolchainopts = {'pic': True} source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] -pyver = '2.7.11' -javaver = '1.7.0_79' -pyshortver = '.'.join(pyver.split('.')[0:2]) -versionsuffix = '-Java-%s-Python-%s' % (javaver, pyver) - -glibver = '2.47.5' - builddependencies = [ ('CMake', '3.4.3'), - ('SWIG', '3.0.8', '-foss-2016a-Python-%s' % pyver, True), + ('SWIG', '3.0.8', '-Python-%(pyver)s'), ('xproto', '7.0.28'), ] dependencies = [ - ('Java', javaver, '', True), - ('Python', pyver), + ('Java', '1.7.0_80', '', True), + ('Python', '2.7.11'), ('Perl', '5.22.1'), ('Tcl', '8.6.4'), ('Tk', '8.6.4', '-no-X11'), @@ -36,7 +30,7 @@ dependencies = [ ('expat', '2.1.0'), ('fontconfig', '2.11.94'), ('freetype', '2.6.2'), - ('GLib', glibver), + ('GLib', '2.47.5'), ('libICE', '1.0.9'), ('libtool', '2.4.6'), ('libX11', '1.6.3'), @@ -52,7 +46,7 @@ dependencies = [ separate_build_dir = True -modextrapaths = {'PYTHONPATH': 'lib/python%s/site-packages' % pyshortver} +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} sanity_check_paths = { 'files': ['lib/libplplot.so', 'lib/pkgconfig/plplot-f95.pc'], -- GitLab From 68da87ecb25dc92b328c3c313eaeb8192e6269d2 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Mon, 2 May 2016 10:59:03 +0200 Subject: [PATCH 1061/1089] add easyconfig SPRNG-2.0b-foss-2016a.eb --- .../s/SPRNG/SPRNG-2.0b-foss-2016a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/s/SPRNG/SPRNG-2.0b-foss-2016a.eb diff --git a/easybuild/easyconfigs/s/SPRNG/SPRNG-2.0b-foss-2016a.eb b/easybuild/easyconfigs/s/SPRNG/SPRNG-2.0b-foss-2016a.eb new file mode 100644 index 0000000000..59be5269fa --- /dev/null +++ b/easybuild/easyconfigs/s/SPRNG/SPRNG-2.0b-foss-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'SPRNG' +version = '2.0b' + +homepage = 'http://www.sprng.org/' +description = "Scalable Parallel Pseudo Random Number Generators Library" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'usempi': True} + +source_urls = ['http://www.sprng.org/Version2.0/'] +sources = ['%(namelower)s%(version)s.tar.gz'] + +patches = ['SPRNG-2.0_fix-metropolis-test.patch'] + +dependencies = [('GMP', '6.1.0')] + +buildopts = 'PLAT=INTEL MPIDEF="-DSPRNG_MPI" CC="$CC" F77="$F77" PMLCGDEF="-DUSE_PMLCG" GMPLIB="-L$EBROOTGMP/lib -lgmp" FFXN="-DAdd_"' + +# does not support parallel build +parallel = 1 + +files_to_copy = [ + (['lib/libsprng.a'], 'lib'), + (['include/interface.h', 'include/sprng.h', 'include/sprng_f.h'], 'include'), +] + +sanity_check_paths = { + 'files': ["lib/libsprng.a"], + 'dirs': [], +} + +moduleclass = 'lib' -- GitLab From f12417d1caa6603e778b58af79d1235ad42d74db Mon Sep 17 00:00:00 2001 From: RvDijk Date: Mon, 2 May 2016 11:53:18 +0200 Subject: [PATCH 1062/1089] removed tab --- .../c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb index 6c4d59ab68..549296f08e 100644 --- a/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/Commet/Commet-20150415-foss-2016a-Python-2.7.11.eb @@ -25,7 +25,7 @@ files_to_copy = ["bin","doc","include","ABCDE_bench",(["Commet.py"],'bin')] sanity_check_paths = { 'files': ['bin/%s' % binfile for binfile in ['Commet.py', 'bvop', 'compare_reads', - 'extract_reads', 'filter_reads', 'index_and_search']], + 'extract_reads', 'filter_reads', 'index_and_search']], 'dirs' : ['doc', 'include'] } -- GitLab From d9ccb6471e949227ec1acd518aa95cf819737b81 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 11:56:40 +0200 Subject: [PATCH 1063/1089] add easyconfig TAMkin-1.0.9-intel-2016a-Python-2.7.11.eb, add easyconfig molmod-1.1-intel-2016a-Python-2.7.11.eb --- .../molmod-1.1-intel-2016a-Python-2.7.11.eb | 31 ++++++++++++++++++ .../TAMkin-1.0.9-intel-2016a-Python-2.7.11.eb | 32 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2016a-Python-2.7.11.eb create mode 100644 easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.9-intel-2016a-Python-2.7.11.eb diff --git a/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..1673c64e60 --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.1-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'molmod' +version = '1.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://molmod.github.io/molmod/' +description = """MolMod is a Python library with many compoments that are useful to write molecular modeling programs.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/molmod/molmod/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('matplotlib', '1.5.1', versionsuffix), +] + +runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc;" +runtest += "python setup.py build_ext -i; nosetests -v" + +# fix permissions issue on files in share/molmod subdir +postinstallcmds = ['chmod -R o+r %(installdir)s/share/molmod'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/molmod'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.9-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.9-intel-2016a-Python-2.7.11.eb new file mode 100644 index 0000000000..34a9b5e9f5 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.0.9-intel-2016a-Python-2.7.11.eb @@ -0,0 +1,32 @@ +easyblock = "PythonPackage" + +name = 'TAMkin' +version = '1.0.9' +versionsuffix = "-Python-%(pyver)s" + +homepage = 'http://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] + +dependencies = [ + ('Python', '2.7.11'), + ('matplotlib', '1.5.1', versionsuffix), + ('molmod', '1.1', versionsuffix), +] + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v test' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'chem' -- GitLab From 7e1df6e4e780696abbb408d269a01c77f473ee82 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 12:10:49 +0200 Subject: [PATCH 1064/1089] add easyconfig FFmpeg-2.8.7-intel-2016a.eb --- .../f/FFmpeg/FFmpeg-2.8.7-intel-2016a.eb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 easybuild/easyconfigs/f/FFmpeg/FFmpeg-2.8.7-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-2.8.7-intel-2016a.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-2.8.7-intel-2016a.eb new file mode 100644 index 0000000000..05478ccada --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-2.8.7-intel-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '2.8.7' + +homepage = 'https://www.ffmpeg.org/' +description = """A complete, cross-platform solution to record, convert and stream audio and video.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://ffmpeg.org/releases/'] + +dependencies = [ + ('NASM', '2.12.01'), + ('zlib', '1.2.8'), + ('x264', '20160430'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'server']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in ['so', 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' -- GitLab From 56d851d169447389e2ee3cdfd4b04ef3e6f12a8c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 12:55:35 +0200 Subject: [PATCH 1065/1089] add easyconfig GTK+-2.24.30-intel-2016a.eb, add easyconfig Pango-1.40.1-intel-2016a.eb, add easyconfig cairo-1.14.6-intel-2016a-GLib-2.48.0.eb, add easyconfig HarfBuzz-1.2.7-intel-2016a.eb, add easyconfig ATK-2.20.0-intel-2016a.eb, add easyconfig Gdk-Pixbuf-2.35.1-intel-2016a.eb, add easyconfig GObject-Introspection-1.48.0-intel-2016a.eb --- .../a/ATK/ATK-2.20.0-intel-2016a.eb | 34 +++++++++++ .../cairo-1.14.6-intel-2016a-GLib-2.48.0.eb | 56 +++++++++++++++++++ ...Object-Introspection-1.48.0-intel-2016a.eb | 48 ++++++++++++++++ .../g/GTK+/GTK+-2.24.30-intel-2016a.eb | 25 +++++++++ .../Gdk-Pixbuf-2.35.1-intel-2016a.eb | 34 +++++++++++ .../h/HarfBuzz/HarfBuzz-1.2.7-intel-2016a.eb | 34 +++++++++++ .../p/Pango/Pango-1.40.1-intel-2016a.eb | 31 ++++++++++ 7 files changed, 262 insertions(+) create mode 100644 easybuild/easyconfigs/a/ATK/ATK-2.20.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-GLib-2.48.0.eb create mode 100644 easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.48.0-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/GTK+/GTK+-2.24.30-intel-2016a.eb create mode 100644 easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb create mode 100644 easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.2.7-intel-2016a.eb create mode 100644 easybuild/easyconfigs/p/Pango/Pango-1.40.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.20.0-intel-2016a.eb b/easybuild/easyconfigs/a/ATK/ATK-2.20.0-intel-2016a.eb new file mode 100644 index 0000000000..2c8911864b --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.20.0-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'ATK' +version = '2.20.0' + +homepage = 'https://developer.gnome.org/ATK/stable/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('GLib', '2.48.0'), + ('GObject-Introspection', '1.48.0') +] + +configopts = "--enable-introspection=yes" + +modextrapaths = { + 'XDG_DATA_DIRS': 'share', +} + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-GLib-2.48.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-GLib-2.48.0.eb new file mode 100644 index 0000000000..ecd56f9166 --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.14.6-intel-2016a-GLib-2.48.0.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.14.6' +glibver = '2.48.0' +versionsuffix = '-GLib-%s' % glibver + +homepage = 'http://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] + +dependencies = [ + ('bzip2', '1.0.6'), + ('zlib', '1.2.8'), + ('libpng', '1.6.21'), + ('freetype', '2.6.3'), + ('pixman', '0.34.0'), + ('fontconfig', '2.11.95'), + ('expat', '2.1.1'), + ('GLib', glibver), + ('libX11', '1.6.3'), + ('libxcb', '1.11.1'), + ('libXrender', '0.9.9'), + ('libXext', '1.3.3'), + ('libXau', '1.0.8'), + ('libXdmcp', '1.1.2'), +] +builddependencies = [ + ('renderproto', '0.11'), + ('xproto', '7.0.28'), + ('xextproto', '7.3.0'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes " + +# workaround for "hidden symbol .* in .* is referenced by DSO" and "ld: final link failed: Bad value" +buildopts = 'LD="$CC" LDFLAGS="$LDFLAGS -shared-intel"' + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.so', 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo-gobject.so', 'lib/libcairo-script-interpreter.so', 'lib/libcairo.so'] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.48.0-intel-2016a.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.48.0-intel-2016a.eb new file mode 100644 index 0000000000..3d59c6fe7c --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.48.0-intel-2016a.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'GObject-Introspection' +version = '1.48.0' + +homepage = 'https://wiki.gnome.org/GObjectIntrospection/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +glibver = '2.48.0' +dependencies = [ + ('Python', '2.7.11'), + ('GLib', glibver), + ('libffi', '3.2.1'), +] + +builddependencies = [ + ('Autotools', '20150215'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + ('cairo', '1.14.6', '-GLib-%s' % glibver), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +# avoid using hard-coded path to 'python' in shebang of scripts +buildopts = "PYTHON=python" + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.%s' % x for x in ['so', 'a']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GTK+/GTK+-2.24.30-intel-2016a.eb b/easybuild/easyconfigs/g/GTK+/GTK+-2.24.30-intel-2016a.eb new file mode 100644 index 0000000000..6dfeab0526 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK+/GTK+-2.24.30-intel-2016a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'GTK+' +version = '2.24.30' + +homepage = 'https://developer.gnome.org/gtk+/stable/' +description = """ + The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('ATK', '2.20.0'), + ('Gdk-Pixbuf', '2.35.1'), + ('Pango', '1.40.1'), + ('GObject-Introspection', '1.48.0'), +] + +configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility " + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb new file mode 100644 index 0000000000..f06da781d8 --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Gdk-Pixbuf' +version = '2.35.1' + +homepage = 'https://developer.gnome.org/gdk-pixbuf/stable/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('GLib', '2.48.0'), + ('libjpeg-turbo', '1.4.2'), + ('libpng', '1.6.21'), + ('LibTIFF', '4.0.6'), + ('GObject-Introspection', '1.48.0') +] + +configopts = "--disable-maintainer-mode --enable-debug=no --enable-introspection=yes " +configopts += "--disable-Bsymbolic --without-gdiplus --enable-shared --enable-static" + +modextrapaths = { + 'XDG_DATA_DIRS': 'share', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.2.7-intel-2016a.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.2.7-intel-2016a.eb new file mode 100644 index 0000000000..23c2924fab --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-1.2.7-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '1.2.7' + +homepage = 'http://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['http://www.freedesktop.org/software/harfbuzz/release/'] +sources = [SOURCELOWER_TAR_BZ2] + +glibver = '2.48.0' +dependencies = [ + ('GLib', glibver), + ('cairo', '1.14.6', '-GLib-%s' % glibver), + ('freetype', '2.6.3'), + ('GObject-Introspection', '1.48.0') +] + +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +modextrapaths = { + 'GI_TYPELIB_PATH': 'share', + 'XDG_DATA_DIRS': 'share', +} + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.40.1-intel-2016a.eb b/easybuild/easyconfigs/p/Pango/Pango-1.40.1-intel-2016a.eb new file mode 100644 index 0000000000..b251f8ef22 --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.40.1-intel-2016a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'Pango' +version = '1.40.1' + +homepage = 'http://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +glibver = '2.48.0' +dependencies = [ + ('GLib', glibver), + ('cairo', '1.14.6', '-GLib-%s' % glibver), + ('HarfBuzz', '1.2.7'), + ('GObject-Introspection', '1.48.0'), + ('fontconfig', '2.11.95') +] + +configopts = "--disable-silent-rules --enable-introspection=yes --enable-static --enable-shared " + +modextrapaths = { + 'XDG_DATA_DIRS': 'share', +} + +moduleclass = 'vis' -- GitLab From b430a93dab623ccdbb1cbab087ef880ceac1942c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 13:12:56 +0200 Subject: [PATCH 1066/1089] add easyconfig NASM-2.12.01-intel-2016a.eb, add easyconfig x264-20160430-intel-2016a.eb --- .../n/NASM/NASM-2.12.01-intel-2016a.eb | 31 +++++++++++++++++++ .../x/x264/x264-20160430-intel-2016a.eb | 24 ++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 easybuild/easyconfigs/n/NASM/NASM-2.12.01-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.12.01-intel-2016a.eb b/easybuild/easyconfigs/n/NASM/NASM-2.12.01-intel-2016a.eb new file mode 100644 index 0000000000..dc884fc260 --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.12.01-intel-2016a.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-90.html +## + +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.12.01' + +homepage = 'http://www.nasm.us/' +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_TAR_BZ2] +source_urls = ['http://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb b/easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb new file mode 100644 index 0000000000..2525aff2b3 --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +version = '20160430' + +homepage = 'http://www.videolan.org/developers/x264.html' +description = """x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 + AVC compression format, and is released under the terms of the GNU GPL.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['ftp://ftp.videolan.org/pub/videolan/x264/snapshots/'] +sources = ['x264-snapshot-%(version)s-2245-stable.tar.bz2'] + +dependencies = [('Yasm', '1.3.0')] + +configopts = " --enable-shared --enable-static " + +sanity_check_paths = { + 'files': ['bin/x264', 'include/x264_config.h', 'include/x264.h', 'lib/libx264.a', 'lib/libx264.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' -- GitLab From a4e13eba05271a1af27d9e133bab189308dfe211 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 13:48:06 +0200 Subject: [PATCH 1067/1089] modify easyconfig x264-20160430-intel-2016a.eb --- easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb b/easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb index 2525aff2b3..5f7b69a6bc 100644 --- a/easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb +++ b/easybuild/easyconfigs/x/x264/x264-20160430-intel-2016a.eb @@ -9,7 +9,10 @@ description = """x264 is a free software library and application for encoding vi toolchain = {'name': 'intel', 'version': '2016a'} -source_urls = ['ftp://ftp.videolan.org/pub/videolan/x264/snapshots/'] +source_urls = [ + 'https://download.videolan.org/pub/videolan/x264/snapshots/', + 'ftp://ftp.videolan.org/pub/videolan/x264/snapshots/', +] sources = ['x264-snapshot-%(version)s-2245-stable.tar.bz2'] dependencies = [('Yasm', '1.3.0')] -- GitLab From e98a77f0534b917a23df6f63b4f7975391815725 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 15:09:25 +0200 Subject: [PATCH 1068/1089] add easyconfig OpenCV-2.4.12-intel-2016a.eb --- .../o/OpenCV/OpenCV-2.4.12-intel-2016a.eb | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb new file mode 100644 index 0000000000..5cbe53aac8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'OpenCV' +version = '2.4.12' + +homepage = 'http://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products.""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCELOWER_ZIP] +source_urls = [('http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/%(version)s', 'download')] + +patches = ['OpenCV-%(version)s_with_IPP.patch'] + +builddependencies = [ + ('CMake', '3.5.2'), +] + +javaver = '1.7.0_80' +dependencies = [ + ('Python', '2.7.11'), + ('zlib', '1.2.8'), + ('FFmpeg', '2.8.7'), + ('libjpeg-turbo', '1.4.2'), + ('libpng', '1.6.21'), + ('LibTIFF', '4.0.6'), + ('JasPer', '1.900.1'), + ('Java', javaver, '', True), + ('ant', '1.9.6', '-Java-%s' % javaver, True), + ('GLib', '2.48.0'), + ('GTK+', '2.24.30'), +] + +preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' + +configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' +configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts += '-DPYTHON_PACKAGES_PATH=$EBROOTPYTHON/lib/python%(pyshortver)s/site-packages ' +configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' +configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.so ' +configopts += '-DZLIB_INCLUDE_DIR=$EBROOTZLIB/include ' +configopts += '-DTIFF_LIBRARY=$EBROOTLIBTIFF/lib/libtiff.so ' +configopts += '-DTIFF_INCLUDE_DIR=$EBROOTLIBTIFF/include ' +configopts += '-DPNG_LIBRARY=$EBROOTLIBPNG/lib/libpng.so ' +configopts += '-DPNG_INCLUDE_DIR=$EBROOTLIBPNG/include ' +configopts += '-DJPEG_LIBRARY=$EBROOTLIBJPEGMINTURBO/lib/libjpeg.so ' +configopts += '-DJPEG_INCLUDE_DIR=$EBROOTLIBJPEGMINTURBO/include ' +configopts += '-DJASPER_LIBRARY=$EBROOTJASPER/lib/libjasper.a ' +configopts += '-DJASPER_INCLUDE_DIR=$EBROOTJASPER/include ' +configopts += '-DWITH_IPP=ON ' +configopts += '-DENABLE_SSE=ON -DENABLE_SSE2=ON -DENABLE_SSE3=ON ' +configopts += '-DWITH_CUDA=OFF ' + +sanity_check_paths = { + 'files': ['lib/libopencv_core.%s' % SHLIB_EXT] + + ['bin/opencv_%s' % x for x in ['haartraining', 'createsamples', 'performance', 'traincascade']], + 'dirs': ['include'] +} + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'CLASSPATH': 'share/OpenCV/java', +} + +moduleclass = 'vis' -- GitLab From 01c5819ff4a7441070afba2a3d05fc512b2e3e1a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 16:37:32 +0200 Subject: [PATCH 1069/1089] use existing patch file, fix conflict on NASM version --- ...eg-turbo-1.4.2-intel-2016a-NASM-2.12.01.eb | 33 +++++++++++++++++++ .../o/OpenCV/OpenCV-2.4.12-intel-2016a.eb | 8 ++--- 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-intel-2016a-NASM-2.12.01.eb diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-intel-2016a-NASM-2.12.01.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-intel-2016a-NASM-2.12.01.eb new file mode 100644 index 0000000000..c1f7d100e0 --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.4.2-intel-2016a-NASM-2.12.01.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libjpeg-turbo' +version = '1.4.2' + +homepage = 'http://sourceforge.net/projects/libjpeg-turbo/' +description = """libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG +compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +nasmver = '2.12.01' +versionsuffix = '-NASM-%s' % nasmver + +dependencies = [ + ('NASM', nasmver), +] + +configopts = "--with-jpeg8" +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', 'bin/tjbench', 'bin/wrjpgcom', + 'lib/libjpeg.a', 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb index 5cbe53aac8..89e2746bd8 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb @@ -11,10 +11,10 @@ description = """OpenCV (Open Source Computer Vision Library) is an open source toolchain = {'name': 'intel', 'version': '2016a'} -sources = [SOURCELOWER_ZIP] -source_urls = [('http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/%(version)s', 'download')] +source_urls = ['https://github.com/Itseez/opencv/archive/'] +sources = ['%(version)s.zip'] -patches = ['OpenCV-%(version)s_with_IPP.patch'] +patches = ['OpenCV-2.4.9_with_IPP.patch'] builddependencies = [ ('CMake', '3.5.2'), @@ -25,7 +25,7 @@ dependencies = [ ('Python', '2.7.11'), ('zlib', '1.2.8'), ('FFmpeg', '2.8.7'), - ('libjpeg-turbo', '1.4.2'), + ('libjpeg-turbo', '1.4.2', '-NASM-2.12.01'), ('libpng', '1.6.21'), ('LibTIFF', '4.0.6'), ('JasPer', '1.900.1'), -- GitLab From 1dc2cb9ea6258091ac20deafdd03dc35dfd23bcd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 17:05:52 +0200 Subject: [PATCH 1070/1089] add sed command to worker easyconfig files to fix module_path in conf/worker.conf --- .../easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb | 9 +++++---- .../easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb b/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb index cdf0174497..66e66633d0 100644 --- a/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb +++ b/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb @@ -21,11 +21,12 @@ dependencies = [ # adjust worker configuration file # note: tweak this to your local setup postinstallcmds = [ - 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', # tweak this + 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', - 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', # tweak this - 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', # tweak this (maybe) - 'sed -i "s@ mpi_module = .*@ mpi_module = intel/2015a@g" %(installdir)s/conf/worker.conf', # tweak this (maybe) + 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ mpi_module = .*@ mpi_module = intel/2016a@g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../modules/all@g" %(installdir)s/conf/worker.conf', ] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb b/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb index 3c373e597a..f840fe2253 100644 --- a/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb +++ b/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb @@ -21,11 +21,12 @@ dependencies = [ # adjust worker configuration file # note: tweak this to your local setup postinstallcmds = [ - 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', # tweak this + 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', - 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', # tweak this - 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', # tweak this (maybe) - 'sed -i "s@ mpi_module = .*@ mpi_module = intel/2016a@g" %(installdir)s/conf/worker.conf', # tweak this (maybe) + 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ mpi_module = .*@ mpi_module = intel/2016a@g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../modules/all@g" %(installdir)s/conf/worker.conf', ] moduleclass = 'tools' -- GitLab From 674a21915757f47ee9b7847046f3342ea1c5f39a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 17:26:36 +0200 Subject: [PATCH 1071/1089] add easyconfig FFTW-3.3.4-intel-2016a.eb --- .../f/FFTW/FFTW-3.3.4-intel-2016a.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2016a.eb diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2016a.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2016a.eb new file mode 100644 index 0000000000..09d52dd755 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-intel-2016a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'FFTW' +version = '3.3.4' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [homepage] + +common_configopts = "--enable-threads --enable-openmp --with-pic" + +# no quad precision, requires GCC v4.6 or higher +# see also http://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +configopts = [ + common_configopts + " --enable-single --enable-sse2 --enable-mpi", + common_configopts + " --enable-long-double --enable-mpi", + common_configopts + " --enable-sse2 --enable-mpi", # default as last +] + +sanity_check_paths = { + 'files': ['bin/fftw%s' % x for x in ['-wisdom', '-wisdom-to-conf', 'f-wisdom', 'l-wisdom']] + + ['include/fftw3%s' % x for x in ['-mpi.f03', '-mpi.h', '.f', '.f03', + '.h', 'l-mpi.f03', 'l.f03', 'q.f03']] + + ['lib/libfftw3%s%s.a' % (x, y) for x in ['', 'f', 'l'] for y in ['', '_mpi', '_omp', '_threads']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' -- GitLab From 9c81999977bfae80711d38da02ebd8912caa5468 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 17:32:59 +0200 Subject: [PATCH 1072/1089] make Gdk-Pixbug 2.35.1 compatible with NASM 2.12.01 --- .../easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb index f06da781d8..ec51681b28 100644 --- a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.35.1-intel-2016a.eb @@ -18,7 +18,7 @@ sources = [SOURCELOWER_TAR_XZ] dependencies = [ ('GLib', '2.48.0'), - ('libjpeg-turbo', '1.4.2'), + ('libjpeg-turbo', '1.4.2', '-NASM-2.12.01'), ('libpng', '1.6.21'), ('LibTIFF', '4.0.6'), ('GObject-Introspection', '1.48.0') -- GitLab From 0933f2c4ce3c791af9049d58a213777de638df6c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 2 May 2016 19:13:57 +0200 Subject: [PATCH 1073/1089] correct sed command in worker easyconfig files to fix module_path in conf/worker.conf --- easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb | 2 +- easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb b/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb index 66e66633d0..1bd2831171 100644 --- a/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb +++ b/easybuild/easyconfigs/w/worker/worker-1.5.1-intel-2015a.eb @@ -26,7 +26,7 @@ postinstallcmds = [ 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', 'sed -i "s@ mpi_module = .*@ mpi_module = intel/2016a@g" %(installdir)s/conf/worker.conf', - 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../modules/all@g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../../modules/all@g" %(installdir)s/conf/worker.conf', ] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb b/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb index f840fe2253..1882b094dc 100644 --- a/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb +++ b/easybuild/easyconfigs/w/worker/worker-1.6.4-intel-2016a.eb @@ -26,7 +26,7 @@ postinstallcmds = [ 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', 'sed -i "s@ mpi_module = .*@ mpi_module = intel/2016a@g" %(installdir)s/conf/worker.conf', - 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../modules/all@g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../../modules/all@g" %(installdir)s/conf/worker.conf', ] moduleclass = 'tools' -- GitLab From ced0e99cf03255aa46d0855c8ee42cfe2e691835 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 11:18:33 +0200 Subject: [PATCH 1074/1089] add easyconfig ParaView-4.4.0-intel-2016a.eb --- .../p/ParaView/ParaView-4.4.0-intel-2016a.eb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb new file mode 100644 index 0000000000..5961519cd4 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '4.4.0' + +homepage = "http://www.paraview.org" +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True, 'usempi': False} + +download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile=' +source_urls = ['http://www.paraview.org/paraview-downloads/%s' % download_suffix] +sources = ["ParaView-v%(version)s-source.tar.gz"] + +patches = ['%(name)s-%(version)s_missingheader.patch'] + +dependencies = [ + ('Mesa', '11.2.1'), + ('libGLU', '9.0.0'), + ('libXt', '1.1.5'), + ('Qt', '4.8.7'), + ('libXext', '1.3.3'), + ('libX11', '1.6.3'), + ('zlib', '1.2.8'), +] + +builddependencies = [('CMake', '3.5.2')] + +separate_build_dir = True + +maxparallel = 4 + +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DVTK_OPENGL_HAS_OSMESA=ON ' +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include -DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.so ' +configopts += '-DOSMESA_INCLUDE_DIR=$EBROOTMESA/include -DOSMESA_LIBRARY=$EBROOTMESA/lib/libOSMesa.so ' +# Without internet connection turn off testing (uncomment the following line) +#configopts += '-DBUILD_TESTING=OFF ' +# Or consult https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/data.md +# and download ExternalData to $EASYBUILD_SOURCEPATH and adjust -DExternalData_OBJECT_STORES accordingly +# Without internet connection, comment the following two lines (configopts and prebuildopts) +configopts += '-DExternalData_OBJECT_STORES=%(builddir)s/ExternalData ' +# The ParaView server can be cranky, test downloads are quite often failing, especially in the case +# of parallel downloads. Using ; insted of && gives a second chance to download the test files, if the +# first serial attempt would fail. +prebuildopts = 'make VTKData ;' + +moduleclass = 'vis' -- GitLab From bb3540dfc10e41c0550bb4aa18610f15e8be76f6 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 11:23:40 +0200 Subject: [PATCH 1075/1089] modify easyconfig ParaView-4.4.0-intel-2016a.eb, add easyconfig libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb --- .../libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb | 27 +++++++++++++++++++ .../p/ParaView/ParaView-4.4.0-intel-2016a.eb | 3 +-- 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb new file mode 100644 index 0000000000..fe3cfb14d6 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2016a-Mesa-11.2.1.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'intel', 'version': '2016a'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +mesaver = '11.2.1' +versionsuffix = '-Mesa-%s' % mesaver + +dependencies = [ + ('Mesa', mesaver), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb index 5961519cd4..dd7ed0db4e 100644 --- a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb @@ -16,8 +16,7 @@ sources = ["ParaView-v%(version)s-source.tar.gz"] patches = ['%(name)s-%(version)s_missingheader.patch'] dependencies = [ - ('Mesa', '11.2.1'), - ('libGLU', '9.0.0'), + ('libGLU', '9.0.0', '-Mesa-11.2.1'), ('libXt', '1.1.5'), ('Qt', '4.8.7'), ('libXext', '1.3.3'), -- GitLab From bd6a68f0019b2a28271c533b904a43dea7518149 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 11:50:20 +0200 Subject: [PATCH 1076/1089] disable testing for ParaView --- easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb index dd7ed0db4e..e9e923fc24 100644 --- a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb @@ -34,7 +34,7 @@ configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DVTK_OPENGL_HAS_OSMESA=ON configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include -DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.so ' configopts += '-DOSMESA_INCLUDE_DIR=$EBROOTMESA/include -DOSMESA_LIBRARY=$EBROOTMESA/lib/libOSMesa.so ' # Without internet connection turn off testing (uncomment the following line) -#configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DBUILD_TESTING=OFF ' # Or consult https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/data.md # and download ExternalData to $EASYBUILD_SOURCEPATH and adjust -DExternalData_OBJECT_STORES accordingly # Without internet connection, comment the following two lines (configopts and prebuildopts) -- GitLab From 9b8e5bb3f71195e5ada26a6ebfa928b8772a03f7 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Tue, 3 May 2016 11:55:27 +0200 Subject: [PATCH 1077/1089] modify easyconfig Blitz++-0.10-foss-2016a.eb, modify easyconfig Blitz++-0.10-goolf-1.5.16.eb --- easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb | 2 ++ easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb index f91bad5dd3..f5aaed761c 100644 --- a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-foss-2016a.eb @@ -17,4 +17,6 @@ sanity_check_paths = { 'dirs': ['include/blitz/array', 'include/blitz/gnu', 'include/blitz/meta', 'include/random', 'lib/pkgconfig'], } +configopts = '--enable-shared' + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb index f75014e6f2..e75ab2de98 100644 --- a/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-0.10-goolf-1.5.16.eb @@ -17,4 +17,6 @@ sanity_check_paths = { 'dirs': ['include/blitz/array', 'include/blitz/gnu', 'include/blitz/meta', 'include/random', 'lib/pkgconfig'], } +configopts = '--enable-shared' + moduleclass = 'lib' -- GitLab From 9d63140391fe52ab6161f2df09171600fa04a875 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 11:57:35 +0200 Subject: [PATCH 1078/1089] add easyconfig grace-5.1.25-intel-2016a.eb, add easyconfig util-linux-2.28-intel-2016a.eb, add easyconfig motif-2.3.5-intel-2016a.eb, add easyconfig xbitmaps-1.1.1-intel-2016a.eb --- .../g/grace/grace-5.1.25-intel-2016a.eb | 29 ++++++++++++ .../m/motif/motif-2.3.5-intel-2016a.eb | 47 +++++++++++++++++++ .../util-linux/util-linux-2.28-intel-2016a.eb | 33 +++++++++++++ .../x/xbitmaps/xbitmaps-1.1.1-intel-2016a.eb | 19 ++++++++ 4 files changed, 128 insertions(+) create mode 100644 easybuild/easyconfigs/g/grace/grace-5.1.25-intel-2016a.eb create mode 100644 easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb create mode 100644 easybuild/easyconfigs/u/util-linux/util-linux-2.28-intel-2016a.eb create mode 100644 easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2016a.eb diff --git a/easybuild/easyconfigs/g/grace/grace-5.1.25-intel-2016a.eb b/easybuild/easyconfigs/g/grace/grace-5.1.25-intel-2016a.eb new file mode 100644 index 0000000000..e538b0ca3b --- /dev/null +++ b/easybuild/easyconfigs/g/grace/grace-5.1.25-intel-2016a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'grace' +version = '5.1.25' + +homepage = 'http://freecode.com/projects/grace' +description = """Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.""" + +source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] +sources = [SOURCE_TAR_GZ] + +toolchain = {'name': 'intel', 'version': '2016a'} + +dependencies = [ + ('motif', '2.3.5'), + ('netCDF', '4.4.0'), +] + +runtest = 'tests' + +# we also need to run make links right before or after make install. +installopts = 'links' + +sanity_check_paths = { + 'files': ['bin/xmgrace'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb new file mode 100644 index 0000000000..ed700e2d0b --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'motif' +version = '2.3.5' + +homepage = 'http://motif.ics.com/' +description = """Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building + applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. + It was the standard toolkit for the Common Desktop Environment and thus for Unix.""" + +toolchain = {'name': 'intel', 'version': '2016a'} +# use -O1 to dance around icc segfaulting +toolchainopts = {'lowopt': True} + +sources = ['%(name)s-%(version)s-src.tgz'] +source_urls = [SOURCEFORGE_SOURCE] + +dependencies = [ + ('libXt', '1.1.5'), + ('libXau', '1.0.8'), + ('libX11', '1.6.3'), + ('libXext', '1.3.3'), + ('libXdmcp', '1.1.2'), + ('libpng', '1.6.21'), + ('xbitmaps', '1.1.1'), + ('freetype', '2.6.3'), + ('libjpeg-turbo', '1.4.2'), + ('bzip2', '1.0.6'), +] +builddependencies = [ + ('Autotools', '20150215'), + ('flex', '2.6.0'), + ('Bison', '3.0.4'), + ('util-linux', '2.28'), +] + +preconfigopts = "./autogen.sh && " + +# makefile is not parallel safe +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libMrm.a', 'lib/libUil.a', 'lib/libXm.a', 'bin/mwm', 'bin/uil', 'bin/xmbind'], + 'dirs': ['include/Mrm', 'include/uil', 'include/X11', 'include/Xm'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.28-intel-2016a.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.28-intel-2016a.eb new file mode 100644 index 0000000000..d86cc6a029 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.28-intel-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.28' + +homepage = 'http://www.kernel.org/pub/linux/utils/util-linux' +description = """Set of Linux utilities""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] + +# disable account related utilities (they need OS dependant pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +dependencies = [('ncurses', '6.0')] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2016a.eb b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2016a.eb new file mode 100644 index 0000000000..a463f1ce79 --- /dev/null +++ b/easybuild/easyconfigs/x/xbitmaps/xbitmaps-1.1.1-intel-2016a.eb @@ -0,0 +1,19 @@ +easyblock = 'ConfigureMake' + +name = 'xbitmaps' +version = '1.1.1' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """provides bitmaps for x""" + +toolchain = {'name': 'intel', 'version': '2016a'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_DATA_SOURCE] + +sanity_check_paths = { + 'files': ['include/X11/bitmaps/gray'], + 'dirs': [] +} + +moduleclass = 'devel' -- GitLab From f574411b83f9fda2f0dda5862b40ae1996aaa6f2 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 12:04:35 +0200 Subject: [PATCH 1079/1089] fix source URL for motif 2.3.5 --- easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb index ed700e2d0b..60a8ac80b7 100644 --- a/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb +++ b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} # use -O1 to dance around icc segfaulting toolchainopts = {'lowopt': True} -sources = ['%(name)s-%(version)s-src.tgz'] +sources = ['%(name)s-%(version)s.tgz'] source_urls = [SOURCEFORGE_SOURCE] dependencies = [ -- GitLab From 16f0c91739daa1cdf1cd19d283b29ae22a246d3f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 12:09:34 +0200 Subject: [PATCH 1080/1089] really fix name of source tarball for motif 2.3.5 --- easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb index 60a8ac80b7..8072aeb7c2 100644 --- a/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb +++ b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2016a'} # use -O1 to dance around icc segfaulting toolchainopts = {'lowopt': True} -sources = ['%(name)s-%(version)s.tgz'] +sources = ['%(name)s-%(version)s.tar.gz'] source_urls = [SOURCEFORGE_SOURCE] dependencies = [ -- GitLab From 025a13b46c76146c6ddcb0c82b80b741c34e09e8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 12:18:58 +0200 Subject: [PATCH 1081/1089] no autogen for motif 2.3.5 --- easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb index 8072aeb7c2..0cf658c9a2 100644 --- a/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb +++ b/easybuild/easyconfigs/m/motif/motif-2.3.5-intel-2016a.eb @@ -34,8 +34,6 @@ builddependencies = [ ('util-linux', '2.28'), ] -preconfigopts = "./autogen.sh && " - # makefile is not parallel safe parallel = 1 -- GitLab From 17fed7291663dfab3144c3c71acbfa5461e73a24 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 3 May 2016 13:39:08 +0200 Subject: [PATCH 1082/1089] no need to limit parallel build for ParaView --- easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb index e9e923fc24..838808a743 100644 --- a/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb +++ b/easybuild/easyconfigs/p/ParaView/ParaView-4.4.0-intel-2016a.eb @@ -28,8 +28,6 @@ builddependencies = [('CMake', '3.5.2')] separate_build_dir = True -maxparallel = 4 - configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DVTK_OPENGL_HAS_OSMESA=ON ' configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include -DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.so ' configopts += '-DOSMESA_INCLUDE_DIR=$EBROOTMESA/include -DOSMESA_LIBRARY=$EBROOTMESA/lib/libOSMesa.so ' -- GitLab From 596390a3f4ace66c6329792d3e3849d2d45dc4c5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 4 May 2016 13:42:09 +0200 Subject: [PATCH 1083/1089] clean up binutils 2.26 easyconfigs to use binutils easyblock --- .../b/binutils/binutils-2.26-GCCcore-5.3.0.eb | 20 ------------------- .../easyconfigs/b/binutils/binutils-2.26.eb | 20 ------------------- 2 files changed, 40 deletions(-) diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb index ca71c5f04e..d7c829040f 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.3.0.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.26' @@ -20,22 +18,4 @@ builddependencies = [ ('binutils', version, '', True) ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26.eb index 5145e1becd..702b413120 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.26.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.26' @@ -18,22 +16,4 @@ builddependencies = [ ('zlib', '1.2.8'), ] -# statically link with zlib, to avoid runtime dependency on zlib -# further, add the system library path in the rpath: this should 'harden' the -# resulting binutils to bootstrap GCC (no trouble when other libstdc++ is build etc) -preconfigopts = 'LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' -prebuildopts = preconfigopts - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' -- GitLab From 8580725e82c0690321e07d4588b0dfdac13968e7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 4 May 2016 14:30:10 +0200 Subject: [PATCH 1084/1089] clean up binutils easyconfigs to use binutils easyblock --- .../binutils-2.22-goalf-1.1.0-no-OFED.eb | 14 ----------- .../binutils-2.22-gompi-1.4.12-no-OFED.eb | 14 ----------- .../b/binutils/binutils-2.22-goolf-1.4.10.eb | 14 ----------- .../b/binutils/binutils-2.22-goolf-1.5.14.eb | 11 --------- .../b/binutils/binutils-2.24-foss-2014b.eb | 13 ----------- .../b/binutils/binutils-2.24-intel-2014b.eb | 16 ------------- .../binutils-2.25-GCC-4.9.2-binutils-2.25.eb | 22 +----------------- .../b/binutils/binutils-2.25-GCC-4.9.2.eb | 23 +------------------ .../binutils-2.25-GCC-4.9.3-binutils-2.25.eb | 22 +----------------- .../b/binutils/binutils-2.25-GCC-4.9.3.eb | 23 +------------------ .../binutils-2.25-GCC-5.1.0-binutils-2.25.eb | 22 +----------------- .../b/binutils/binutils-2.25-GCCcore-4.9.2.eb | 22 +----------------- .../b/binutils/binutils-2.25-GCCcore-4.9.3.eb | 22 +----------------- .../easyconfigs/b/binutils/binutils-2.25.1.eb | 22 +----------------- .../easyconfigs/b/binutils/binutils-2.25.eb | 22 +----------------- 15 files changed, 9 insertions(+), 273 deletions(-) diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.22-goalf-1.1.0-no-OFED.eb b/easybuild/easyconfigs/b/binutils/binutils-2.22-goalf-1.1.0-no-OFED.eb index bfc339020f..af12b0472e 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.22-goalf-1.1.0-no-OFED.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.22-goalf-1.1.0-no-OFED.eb @@ -9,9 +9,6 @@ # This work implements a part of the HPCBIOS project and is a component of the policy: # http://hpcbios.readthedocs.org/en/latest/HPCBIOS_07-02.html ## - -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.22' @@ -24,15 +21,4 @@ toolchainopts = {'pic': True} sources = ['binutils-%s.tar.bz2' % version] source_urls = [GNU_SOURCE] -# make sure that system libraries are also considered by ld -configopts = '--with-sysroot=/' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a', 'lib64/libiberty.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.22-gompi-1.4.12-no-OFED.eb b/easybuild/easyconfigs/b/binutils/binutils-2.22-gompi-1.4.12-no-OFED.eb index 437f04c2a6..8035182b62 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.22-gompi-1.4.12-no-OFED.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.22-gompi-1.4.12-no-OFED.eb @@ -9,9 +9,6 @@ # This work implements a part of the HPCBIOS project and is a component of the policy: # http://hpcbios.readthedocs.org/en/latest/HPCBIOS_07-02.html ## - -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.22' @@ -24,15 +21,4 @@ toolchainopts = {'pic': True} sources = ['binutils-%s.tar.bz2' % version] source_urls = [GNU_SOURCE] -# make sure that system libraries are also considered by ld -configopts = '--with-sysroot=/' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a', 'lib64/libiberty.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.4.10.eb b/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.4.10.eb index 5f76d89a06..de87300f7c 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.4.10.eb @@ -9,9 +9,6 @@ # This work implements a part of the HPCBIOS project and is a component of the policy: # http://hpcbios.readthedocs.org/en/latest/HPCBIOS_07-02.html ## - -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.22' @@ -23,15 +20,4 @@ toolchain = {'name': 'goolf', 'version': '1.4.10'} sources = ['binutils-%s.tar.bz2' % version] source_urls = [GNU_SOURCE] -# make sure that system libraries are also considered by ld -configopts = '--with-sysroot=/' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a', 'lib64/libiberty.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.5.14.eb b/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.5.14.eb index 5dae8ebe27..d989a00acf 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.5.14.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.22-goolf-1.5.14.eb @@ -9,9 +9,6 @@ # This work implements a part of the HPCBIOS project and is a component of the policy: # http://hpcbios.readthedocs.org/en/latest/HPCBIOS_07-02.html ## - -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.22' @@ -24,12 +21,4 @@ toolchainopts = {'pic': True} sources = ['binutils-%(version)s.tar.bz2'] source_urls = [GNU_SOURCE] -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a', 'lib64/libiberty.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.24-foss-2014b.eb b/easybuild/easyconfigs/b/binutils/binutils-2.24-foss-2014b.eb index 3d49fdcf03..9683cfc728 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.24-foss-2014b.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.24-foss-2014b.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.24' @@ -15,15 +13,4 @@ dependencies = [ ('zlib', '1.2.8'), ] -# make sure that system libraries are also considered by ld -configopts = '--with-sysroot=/' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb b/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb index 77fb03962b..5d4b31cd73 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.24' @@ -15,18 +13,4 @@ dependencies = [ ('zlib', '1.2.8'), ] -# make sure that system libraries are also considered by ld -configopts = '--with-sysroot=/' - -# disable warning/error #175 ("subscript out of range") -buildopts = 'CFLAGS="$CFLAGS -wd175"' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb index c3ffc6e24a..08e10d150c 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2-binutils-2.25.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -14,28 +12,10 @@ source_urls = [GNU_SOURCE] builddependencies = [ ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils ('binutils', version, '', True) ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb index 418f81f5f1..ea9a13974b 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.2.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -11,30 +9,11 @@ toolchain = {'name': 'GCC', 'version': '4.9.2'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SOURCE] -# zlib required, but being linked instatically, so not a runtime dep builddependencies = [ ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb index 2e680c9ce3..9709696cf5 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3-binutils-2.25.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -14,28 +12,10 @@ source_urls = [GNU_SOURCE] builddependencies = [ ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils ('binutils', version, '', True) ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb index b6d6a68fc6..7ccace8501 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-4.9.3.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -11,30 +9,11 @@ toolchain = {'name': 'GCC', 'version': '4.9.3'} sources = [SOURCE_TAR_GZ] source_urls = [GNU_SOURCE] -# zlib required, but being linked instatically, so not a runtime dep builddependencies = [ ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb index 6858b124b1..d6e68008e5 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCC-5.1.0-binutils-2.25.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -14,28 +12,10 @@ source_urls = [GNU_SOURCE] builddependencies = [ ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils ('binutils', version, '', True) ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb index a9d4815d89..9ec7a3f3f3 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.2.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -15,28 +13,10 @@ builddependencies = [ ('M4', '1.4.17'), ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils ('binutils', version, '', True) ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb index 5378940837..f411442d12 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25-GCCcore-4.9.3.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -15,28 +13,10 @@ builddependencies = [ ('M4', '1.4.17'), ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils ('binutils', version, '', True) ] -# statically link with zlib, to avoid runtime dependency on zlib -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' -prebuildopts = 'env LIBS="$EBROOTZLIB/lib/libz.a"' - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins --enable-shared --enable-static' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] - -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + - ['lib/lib%s.%s' % (l, x) for l in ['bfd', 'opcodes'] for x in ['a', SHLIB_EXT]] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb index 63837a712c..e3f5b15724 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25.1.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25.1' @@ -14,26 +12,8 @@ source_urls = [GNU_SOURCE] builddependencies = [ ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), ] -# statically link with zlib, to avoid runtime dependency on zlib -# further, add the system library path in the rpath: this should 'harden' the -# resulting binutils to bootstrap GCC (no trouble when other libstdc++ is build etc) -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' -prebuildopts = preconfigopts - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb index cfcfe38d3d..e08cd975ad 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.25.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.25.eb @@ -1,5 +1,3 @@ -easyblock = 'ConfigureMake' - name = 'binutils' version = '2.25' @@ -15,26 +13,8 @@ builddependencies = [ ('M4', '1.4.17'), ('flex', '2.5.39'), ('Bison', '3.0.4'), - # zlib required, but being linked instatically, so not a runtime dep + # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.8'), ] -# statically link with zlib, to avoid runtime dependency on zlib -# further, add the system library path in the rpath: this should 'harden' the -# resulting binutils to bootstrap GCC (no trouble when other libstdc++ is build etc) -preconfigopts = 'env LIBS="$EBROOTZLIB/lib/libz.a -Wl,-rpath=/lib64 -Wl,-rpath=/usr/lib64 -Wl,-rpath=/lib -Wl,-rpath=/usr/lib"' -prebuildopts = preconfigopts - -# make sure that system libraries are also considered by ld and ld.gold is also built -# --enable-plugins should be used whenever --enable-gold is used, see http://llvm.org/docs/GoldPlugin.html -configopts = '--with-sysroot=/ --enable-gold --enable-ld=default --enable-plugins' - -binlist = ['addr2line', 'ar', 'as', 'c++filt', 'elfedit', 'gprof', 'ld', 'ld.bfd', 'ld.gold', 'nm', - 'objcopy', 'objdump', 'ranlib', 'readelf', 'size', 'strings', 'strip'] -sanity_check_paths = { - 'files': ['bin/%s' % x for x in binlist] + ['lib/libbfd.a', 'lib/libopcodes.a'] + - ['include/%s' % x for x in ['ansidecl.h', 'bfd.h', 'bfdlink.h', 'dis-asm.h', 'symcat.h']], - 'dirs': [], -} - moduleclass = 'tools' -- GitLab From 52e2b45e866b5d6c1c3779d6f19ebba6a3c12aa8 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Thu, 5 May 2016 10:55:13 -0400 Subject: [PATCH 1085/1089] bump to GLib 2.48.0 --- .../g/GLib/GLib-2.48.0-foss-2016a.eb | 33 +++++++++++++++++++ .../PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/g/GLib/GLib-2.48.0-foss-2016a.eb diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.48.0-foss-2016a.eb b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-foss-2016a.eb new file mode 100644 index 0000000000..73ce1be6d6 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.48.0-foss-2016a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'GLib' +version = '2.48.0' + +homepage = 'http://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'foss', 'version': '2016a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +dependencies = [ + ('libffi', '3.2.1'), + ('gettext', '0.19.7'), + ('libxml2', '2.9.3'), + ('PCRE', '8.38'), +] + +builddependencies = [('Python', '2.7.11')] + +configopts = "--disable-maintainer-mode --disable-silent-rules --disable-libelf --enable-static --enable-shared --disable-systemtap" + +postinstallcmds = ["sed -i -e 's|#!.*python|#!/usr/bin/env python|' %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb index 9d7551949d..1438b0e86a 100644 --- a/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PyGTS/PyGTS-0.3.1-foss-2016a-Python-2.7.11.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] dependencies = [ ('Python', '2.7.11'), - ('GLib', '2.47.5'), + ('GLib', '2.48.0'), ('GTS' ,'0.7.6'), ] -- GitLab From 61d8f74df864995f4a49d53ef64d108cd9ddf585 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Thu, 5 May 2016 11:14:12 -0400 Subject: [PATCH 1086/1089] bump to mesa 11.2.1 --- ...bQGLViewer-2.6.3-foss-2016a-Mesa-11.2.1.eb | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a-Mesa-11.2.1.eb diff --git a/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a-Mesa-11.2.1.eb b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a-Mesa-11.2.1.eb new file mode 100644 index 0000000000..3f7a781e6b --- /dev/null +++ b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.6.3-foss-2016a-Mesa-11.2.1.eb @@ -0,0 +1,23 @@ +name = 'libQGLViewer' +version = '2.6.3' + +homepage = 'http://libqglviewer.com/' +description = "libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers." + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = ['http://www.libqglviewer.com/src/'] +sources = [SOURCE_TAR_GZ] + +mesa_ver = '11.2.1' +versionsuffix = '-Mesa-%s' % mesa_ver + +dependencies = [ + ('libGLU', '9.0.0', versionsuffix), +] + +builddependencies = [('Qt', '4.8.7', '-GLib-2.48.0')] + +start_dir = '%(builddir)s/libQGLViewer-%(version)s/QGLViewer' + +moduleclass = 'lib' -- GitLab From 16181d207a81520c7b3d0b80143f37fb9a9e181f Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Thu, 5 May 2016 11:23:58 -0400 Subject: [PATCH 1087/1089] add Qt 4.8.7 with GLib-2.48.0 --- .../q/Qt/Qt-4.8.7-foss-2016a-GLib-2.48.0.eb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a-GLib-2.48.0.eb diff --git a/easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a-GLib-2.48.0.eb b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a-GLib-2.48.0.eb new file mode 100644 index 0000000000..8616257c5c --- /dev/null +++ b/easybuild/easyconfigs/q/Qt/Qt-4.8.7-foss-2016a-GLib-2.48.0.eb @@ -0,0 +1,27 @@ +name = 'Qt' +version = '4.8.7' + +homepage = 'http://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [ + 'http://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/', + 'http://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/' +] +sources = ['%(namelower)s-everywhere-opensource-src-%(version)s.tar.gz'] + +patches = ['Qt-%(version)s_phonon-export.patch'] + +glib_ver = '2.48.0' +versionsuffix = '-GLib-%s' % glib_ver + +dependencies = [ + ('GLib', glib_ver), + ('libX11', '1.6.3'), + ('libXt', '1.1.5'), + ('libXrender', '0.9.9'), +] + +moduleclass = 'devel' -- GitLab From c3b8ffb5250bcdba45838b4b54b402414f6d9697 Mon Sep 17 00:00:00 2001 From: Javier Ruiz Date: Thu, 5 May 2016 11:53:26 -0400 Subject: [PATCH 1088/1089] bump to GLib 2.48.0 --- easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb index 6e89234d6b..cca1bedcdd 100644 --- a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-foss-2016a.eb @@ -14,7 +14,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = [SOURCELOWER_TAR_GZ] dependencies = [ - ('GLib', '2.47.5'), + ('GLib', '2.48.0'), ] sanity_check_paths = { -- GitLab From 14050d83c1b95894071cb5da2fb4ea2ec1da3158 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 7 May 2016 14:24:43 +0200 Subject: [PATCH 1089/1089] disable necessary buildopts for binutils 2.24 w/ intel/2014b --- easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb b/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb index 5d4b31cd73..7598e76c07 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.24-intel-2014b.eb @@ -13,4 +13,7 @@ dependencies = [ ('zlib', '1.2.8'), ] +# disable warning/error #175 ("subscript out of range") +buildopts = 'CFLAGS="$CFLAGS -wd175"' + moduleclass = 'tools' -- GitLab