diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-8.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-8.1.0.eb new file mode 100644 index 00000000000..d6b304185cb --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-8.1.0.eb @@ -0,0 +1,28 @@ +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': '8.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e'] + +builddependencies = [ + ('M4', '1.4.18'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.30', '', True), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-8.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-8.1.0.eb new file mode 100644 index 00000000000..f01e9f9437e --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-8.1.0.eb @@ -0,0 +1,22 @@ +name = 'binutils' +version = '2.30' + +homepage = 'http://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '8.1.0'} + +sources = [SOURCE_TAR_GZ] +source_urls = [GNU_SOURCE] +checksums = ['8c3850195d1c093d290a716e20ebcaa72eda32abf5e3d8611154b39cff79e9ea'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.0.4'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.2.11'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', True) +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.1.0.eb new file mode 100644 index 00000000000..14894d3c3d5 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.1.0.eb @@ -0,0 +1,30 @@ +name = 'flex' +version = '2.6.4' + +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': '8.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.0.4'), + ('help2man', '1.47.6'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.30', '', True), +] + +dependencies = [ + ('M4', '1.4.18'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/GCC/GCC-8.1.0-2.30.eb b/easybuild/easyconfigs/g/GCC/GCC-8.1.0-2.30.eb new file mode 100644 index 00000000000..9f586d06175 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-8.1.0-2.30.eb @@ -0,0 +1,25 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '8.1.0' + +binutilsver = '2.30' +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-8.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.1.0.eb new file mode 100644 index 00000000000..69b348f5d64 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.1.0.eb @@ -0,0 +1,53 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '8.1.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 = '4.0.1' + +source_urls = [ + 'http://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'http://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies + 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies + 'http://isl.gforge.inria.fr/', # original HTTP source for ISL +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.1.2.tar.bz2', + 'mpfr-%s.tar.bz2' % mpfr_version, + 'mpc-1.1.0.tar.gz', + 'isl-0.19.tar.bz2', +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', +] +checksums = [ + 'af300723841062db6ae24e38e61aaf4fbf3f6e5d9fd3bf60ebbdbf95db4e9f09', # gcc-8.1.0.tar.gz + '5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2', # gmp-6.1.2.tar.bz2 + 'a4d97610ba8579d380b384b225187c250ef88cfe1d5e7226b89519374209b86b', # mpfr-4.0.1.tar.bz2 + '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e', # mpc-1.1.0.tar.gz + 'd59726f34f7852a081fbd3defd1ab2136f174110fc2e0c8d10bb122173fa9ed8', # isl-0.19.tar.bz2 + '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch +] + +builddependencies = [ + ('M4', '1.4.18'), + ('binutils', '2.30'), + # a sufficiently recent GCC is required (needs to support -flto), so can't rely on system GCC + ('GCCcore', '6.4.0'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.6-GCCcore-8.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.6-GCCcore-8.1.0.eb new file mode 100644 index 00000000000..a6acf99d4a7 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.6-GCCcore-8.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.47.6' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '8.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['d91b0295b72a638e4a564f643e4e6d1928779131f628c00f356c13bf336de46f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.30', '', True), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb new file mode 100644 index 00000000000..3952846bcd7 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.18' + +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': '8.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.30', '', True)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.1.0.eb new file mode 100644 index 00000000000..f97c6752989 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.1.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.11' + +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': '8.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.30', '', True)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib'