diff --git a/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.4-GCCcore-system.eb b/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.4-GCCcore-system.eb new file mode 100644 index 000000000..2feeed35a --- /dev/null +++ b/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.4-GCCcore-system.eb @@ -0,0 +1,32 @@ +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': 'system'} +# Can't rely on binutils in this case (since this is a dep) so switch off architecture optimisations +toolchainopts = {'optarch': False} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = ['Bison-%(version)s_glibc_2.28.patch'] +checksums = [ + 'b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e', # bison-3.0.4.tar.gz + 'bdceb534ef7717bdbbd272bbdf154d5a41e8073cd8d49fe0b02540bbdba68a57', # Bison-3.0.4_glibc_2.28.patch +] + +builddependencies = [ + ('M4', '1.4.18'), +] + + +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/__archive__/b/Bison/Bison-3.0.4_glibc_2.28.patch b/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.4_glibc_2.28.patch new file mode 100644 index 000000000..cba2576a3 --- /dev/null +++ b/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.4_glibc_2.28.patch @@ -0,0 +1,31 @@ +patch to avoid problems on systems using glibc 2.28 (or newer) +author: Esteban Vohringer-Martinezi (Universidad de ConcepciĆ³n) +diff -ru bison-3.0.4_orig/lib/fseterr.c bison-3.0.4/lib/fseterr.c +--- bison-3.0.4_orig/lib/fseterr.c 2019-06-19 15:56:23.552533933 -0400 ++++ bison-3.0.4/lib/fseterr.c 2019-06-19 15:58:32.757469045 -0400 +@@ -29,7 +29,7 @@ + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */ + fp_->_flags |= __SERR; +diff -ru bison-3.0.4_orig/lib/stdio-impl.h bison-3.0.4/lib/stdio-impl.h +--- bison-3.0.4_orig/lib/stdio-impl.h 2019-06-19 15:56:23.556533962 -0400 ++++ bison-3.0.4/lib/stdio-impl.h 2019-06-19 15:57:44.497120445 -0400 +@@ -19,6 +19,13 @@ + have different naming conventions, or their access requires some casts. */ + + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif ++ + /* BSD stdio derived implementations. */ + + #if defined __NetBSD__ /* NetBSD */ diff --git a/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.5-GCCcore-system.eb b/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.5-GCCcore-system.eb new file mode 100644 index 000000000..063383dfa --- /dev/null +++ b/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.0.5-GCCcore-system.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.0.5' + +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': 'system'} +# Can't rely on binutils in this case (since this is a dep) so switch off architecture optimisations +toolchainopts = {'optarch': False} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] +checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] + +builddependencies = [ + ('M4', '1.4.18'), +] + + +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/__archive__/b/binutils/binutils-2.29-GCCcore-system.eb b/easybuild/easyconfigs/__archive__/b/binutils/binutils-2.29-GCCcore-system.eb new file mode 100644 index 000000000..46f269e73 --- /dev/null +++ b/easybuild/easyconfigs/__archive__/b/binutils/binutils-2.29-GCCcore-system.eb @@ -0,0 +1,24 @@ +name = 'binutils' +version = '2.29' + +homepage = 'http://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': 'system'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['172e8c89472cf52712fd23a9f14e9bca6182727fb45b0f8f482652a83d5a11b4'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.0.4'), +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.11'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/__archive__/f/flex/flex-2.6.4-GCCcore-system.eb b/easybuild/easyconfigs/__archive__/f/flex/flex-2.6.4-GCCcore-system.eb new file mode 100644 index 000000000..f40b2d8e7 --- /dev/null +++ b/easybuild/easyconfigs/__archive__/f/flex/flex-2.6.4-GCCcore-system.eb @@ -0,0 +1,33 @@ +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': 'system'} +# Can't rely on binutils in this case (since this is a dep) so switch off architecture optimisations +toolchainopts = {'optarch': False, 'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.0.5'), + ('help2man', '1.47.4'), +] + +dependencies = [ + ('M4', '1.4.18'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/__archive__/h/help2man/help2man-1.47.4-GCCcore-system.eb b/easybuild/easyconfigs/__archive__/h/help2man/help2man-1.47.4-GCCcore-system.eb new file mode 100644 index 000000000..44852c268 --- /dev/null +++ b/easybuild/easyconfigs/__archive__/h/help2man/help2man-1.47.4-GCCcore-system.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.47.4' + +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': 'system'} +# Can't rely on binutils in this case (since help2man is an implied dep) so switch off architecture optimisations +toolchainopts = {'optarch': False} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753'] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/__archive__/m/M4/M4-1.4.18-GCCcore-system.eb b/easybuild/easyconfigs/__archive__/m/M4/M4-1.4.18-GCCcore-system.eb new file mode 100644 index 000000000..6df13418c --- /dev/null +++ b/easybuild/easyconfigs/__archive__/m/M4/M4-1.4.18-GCCcore-system.eb @@ -0,0 +1,38 @@ +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': 'system'} +# Can't rely on binutils in this case (since this is an implied dep) so switch off architecture optimisations +toolchainopts = {'optarch': False} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + +checksums = [ + 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz + 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch +] + +# '-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/__archive__/z/zlib/zlib-1.2.11-GCCcore-system.eb b/easybuild/easyconfigs/__archive__/z/zlib/zlib-1.2.11-GCCcore-system.eb new file mode 100644 index 000000000..972fae4f4 --- /dev/null +++ b/easybuild/easyconfigs/__archive__/z/zlib/zlib-1.2.11-GCCcore-system.eb @@ -0,0 +1,24 @@ +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': 'system'} +# Can't rely on binutils in this case (since this is a dep) so switch off architecture optimisations +toolchainopts = {'optarch': False, 'pic': True} + +source_urls = ['http://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib'