From c2cf348c1f163aa0f40e5daf06fe2767cb5ae846 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Wed, 20 Apr 2022 14:15:33 +0200 Subject: [PATCH 1/7] adding easyconfigs: GCCcore-11.2.1.eb, GCC-11.2.1.eb, Bison-3.8.2-GCCcore-11.2.1.eb, binutils-2.38-GCCcore-11.2.1.eb, binutils-2.38.eb, flex-2.6.4-GCCcore-11.2.1.eb, help2man-1.49.2-GCCcore-11.2.1.eb, M4-1.4.19-GCCcore-11.2.1.eb, zlib-1.2.12-GCCcore-11.2.1.eb, zlib-1.2.12.eb and patches: zlib-1.2.12_fix-CC-logic-in-configure.patch --- .../b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb | 28 ++++++++ .../binutils/binutils-2.38-GCCcore-11.2.1.eb | 31 +++++++++ .../easyconfigs/b/binutils/binutils-2.38.eb | 26 +++++++ .../f/flex/flex-2.6.4-GCCcore-11.2.1.eb | 34 ++++++++++ easybuild/easyconfigs/g/GCC/GCC-11.2.1.eb | 22 ++++++ .../easyconfigs/g/GCCcore/GCCcore-11.2.1.eb | 68 +++++++++++++++++++ .../help2man-1.49.2-GCCcore-11.2.1.eb | 25 +++++++ .../m/M4/M4-1.4.19-GCCcore-11.2.1.eb | 29 ++++++++ .../z/zlib/zlib-1.2.12-GCCcore-11.2.1.eb | 30 ++++++++ easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb | 36 ++++++++++ ...lib-1.2.12_fix-CC-logic-in-configure.patch | 43 ++++++++++++ 11 files changed, 372 insertions(+) create mode 100644 easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.2.1.eb create mode 100644 easybuild/easyconfigs/b/binutils/binutils-2.38.eb create mode 100644 easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.1.eb create mode 100644 easybuild/easyconfigs/g/GCC/GCC-11.2.1.eb create mode 100644 easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.1.eb create mode 100644 easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.2.1.eb create mode 100644 easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.1.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.2.1.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb create mode 100644 easybuild/easyconfigs/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb new file mode 100644 index 000000000000..8793b6c7bf89 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://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': '11.2.1'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.38', '', 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.38-GCCcore-11.2.1.eb b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.2.1.eb new file mode 100644 index 000000000000..15bdd454cef9 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.2.1.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.38' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.2.1'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', True) +] + +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.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.38.eb b/easybuild/easyconfigs/b/binutils/binutils-2.38.eb new file mode 100644 index 000000000000..19ac8f19011c --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.38.eb @@ -0,0 +1,26 @@ +name = 'binutils' +version = '2.38' + +homepage = 'https://directory.fsf.org/project/binutils/' + +description = "binutils: GNU binary utilities" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.2.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.1.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.1.eb new file mode 100644 index 000000000000..a73f7805490a --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.1.eb @@ -0,0 +1,34 @@ +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': '11.2.1'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.2'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', True), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# 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/g/GCC/GCC-11.2.1.eb b/easybuild/easyconfigs/g/GCC/GCC-11.2.1.eb new file mode 100644 index 000000000000..8d84fc481626 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-11.2.1.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '11.2.1' + +homepage = 'https://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 = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of (dummy-built) binutils + ('binutils', '2.38', '', ('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-11.2.1.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.1.eb new file mode 100644 index 000000000000..f0b9a6f1ff89 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.1.eb @@ -0,0 +1,68 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '11.2.1' + +homepage = 'https://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 = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + { + 'source_urls': ['https://gcc.gnu.org/pub/gcc/snapshots/11.3.0-RC-20220414/'], + 'filename': 'gcc-11.3.0-RC-20220414.tar.gz', + }, + # 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.1.0.tar.bz2', + 'mpc-1.2.1.tar.gz', + 'isl-0.24.tar.bz2', + 'newlib-4.1.0.tar.gz', + {'download_filename': 'd0524fb.tar.gz', 'filename': 'nvptx-tools-20210115.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', +] +checksums = [ + '85ab76df03ab566cd7f3471d3b37349163d0cf7ab12e8754290d9db6d2dab82f', # gcc-11.3.0-RC-20220414.tar.gz + 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c', # gmp-6.2.1.tar.bz2 + 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 + '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz + 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0', # isl-0.24.tar.bz2 + 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154', # newlib-4.1.0.tar.gz + '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2', # nvptx-tools-20210115.tar.gz + '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch + '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.38'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.2.1.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.2.1.eb new file mode 100644 index 000000000000..847e0a72a995 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.2.1.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.2' + +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': '11.2.1'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['9e2e0e213a7e0a36244eed6204d902b6504602a578b6ecd15268b1454deadd36'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', True), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.1.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.1.eb new file mode 100644 index 000000000000..b49d3847843f --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://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': '11.2.1'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', 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.12-GCCcore-11.2.1.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.2.1.eb new file mode 100644 index 000000000000..c7a6a244bee9 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.12' + +homepage = 'https://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': '11.2.1'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = [ + '91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz + 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch +] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', True)] + +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.12.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb new file mode 100644 index 000000000000..75f1815ef62b --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.12' + +homepage = 'https://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 = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = [ + '91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz + 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch +] + +# need to take care of $CFLAGS ourselves with dummy toolchain +# we need to add -fPIC, but should also include -O* option to avoid +# compiling with -O0 (default for GCC) +buildopts = 'CFLAGS="-O2 -fPIC"' + +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.12_fix-CC-logic-in-configure.patch b/easybuild/easyconfigs/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch new file mode 100644 index 000000000000..f34c40445de6 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch @@ -0,0 +1,43 @@ +From 80d086357a55b94a13e43756cf3e131f25eef0e4 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Mon, 28 Mar 2022 08:40:45 +0100 +Subject: [PATCH] Fix CC logic in configure + +In https://github.com/madler/zlib/commit/e9a52aa129efe3834383e415580716a7c4027f8d, +the logic was changed to try check harder for GCC, but it dropped +the default setting of cc=${CC}. It was throwing away any pre-set CC value as +a result. + +The rest of the script then cascades down a bad path because it's convinced +it's not GCC or a GCC-like compiler. + +This led to e.g. misdetection of inability to build shared libs +for say, multilib cases (w/ CC being one thing from the environment being used +for one test (e.g. x86_64-unknown-linux-gnu-gcc -m32 and then 'cc' used for +shared libs (but missing "-m32"!)). Obviously just one example of how +the old logic could break. + +This restores the old default of 'CC' if nothing overrides it later +in configure. + +Bug: https://bugs.gentoo.org/836308 +Signed-off-by: Sam James +--- + configure | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure b/configure +index 52ff4a04e..3fa3e8618 100755 +--- a/configure ++++ b/configure +@@ -174,7 +174,10 @@ if test -z "$CC"; then + else + cc=${CROSS_PREFIX}cc + fi ++else ++ cc=${CC} + fi ++ + cflags=${CFLAGS-"-O3"} + # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure + case "$cc" in From 4cf6ae51bfe1a7cd2d4881834933480cfee7ed28 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Thu, 21 Apr 2022 13:00:40 +0200 Subject: [PATCH 2/7] update to use final GCC 11.3.0 release --- ....2-GCCcore-11.2.1.eb => Bison-3.8.2-GCCcore-11.3.0.eb} | 2 +- ...-GCCcore-11.2.1.eb => binutils-2.38-GCCcore-11.3.0.eb} | 2 +- ...6.4-GCCcore-11.2.1.eb => flex-2.6.4-GCCcore-11.3.0.eb} | 2 +- .../easyconfigs/g/GCC/{GCC-11.2.1.eb => GCC-11.3.0.eb} | 2 +- .../g/GCCcore/{GCCcore-11.2.1.eb => GCCcore-11.3.0.eb} | 8 ++------ ...CCcore-11.2.1.eb => help2man-1.49.2-GCCcore-11.3.0.eb} | 2 +- ...4.19-GCCcore-11.2.1.eb => M4-1.4.19-GCCcore-11.3.0.eb} | 2 +- ...12-GCCcore-11.2.1.eb => zlib-1.2.12-GCCcore-11.3.0.eb} | 2 +- 8 files changed, 9 insertions(+), 13 deletions(-) rename easybuild/easyconfigs/b/Bison/{Bison-3.8.2-GCCcore-11.2.1.eb => Bison-3.8.2-GCCcore-11.3.0.eb} (93%) rename easybuild/easyconfigs/b/binutils/{binutils-2.38-GCCcore-11.2.1.eb => binutils-2.38-GCCcore-11.3.0.eb} (94%) rename easybuild/easyconfigs/f/flex/{flex-2.6.4-GCCcore-11.2.1.eb => flex-2.6.4-GCCcore-11.3.0.eb} (94%) rename easybuild/easyconfigs/g/GCC/{GCC-11.2.1.eb => GCC-11.3.0.eb} (97%) rename easybuild/easyconfigs/g/GCCcore/{GCCcore-11.2.1.eb => GCCcore-11.3.0.eb} (92%) rename easybuild/easyconfigs/h/help2man/{help2man-1.49.2-GCCcore-11.2.1.eb => help2man-1.49.2-GCCcore-11.3.0.eb} (91%) rename easybuild/easyconfigs/m/M4/{M4-1.4.19-GCCcore-11.2.1.eb => M4-1.4.19-GCCcore-11.3.0.eb} (94%) rename easybuild/easyconfigs/z/zlib/{zlib-1.2.12-GCCcore-11.2.1.eb => zlib-1.2.12-GCCcore-11.3.0.eb} (95%) diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.3.0.eb similarity index 93% rename from easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb rename to easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.3.0.eb index 8793b6c7bf89..4ec9c1c877b0 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.2.1.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.3.0.eb @@ -7,7 +7,7 @@ homepage = 'https://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': '11.2.1'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.2.1.eb b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.3.0.eb similarity index 94% rename from easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.2.1.eb rename to easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.3.0.eb index 15bdd454cef9..da7b3d38de58 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.2.1.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.3.0.eb @@ -4,7 +4,7 @@ version = '2.38' homepage = 'https://directory.fsf.org/project/binutils/' description = "binutils: GNU binary utilities" -toolchain = {'name': 'GCCcore', 'version': '11.2.1'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.1.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.3.0.eb similarity index 94% rename from easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.1.eb rename to easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.3.0.eb index a73f7805490a..c0e17568f86d 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.1.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.3.0.eb @@ -9,7 +9,7 @@ description = """ in text. """ -toolchain = {'name': 'GCCcore', 'version': '11.2.1'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] diff --git a/easybuild/easyconfigs/g/GCC/GCC-11.2.1.eb b/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb similarity index 97% rename from easybuild/easyconfigs/g/GCC/GCC-11.2.1.eb rename to easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb index 8d84fc481626..57896063fac7 100644 --- a/easybuild/easyconfigs/g/GCC/GCC-11.2.1.eb +++ b/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb @@ -1,7 +1,7 @@ easyblock = 'Bundle' name = 'GCC' -version = '11.2.1' +version = '11.3.0' homepage = 'https://gcc.gnu.org/' description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.1.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb similarity index 92% rename from easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.1.eb rename to easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb index f0b9a6f1ff89..608faf7241b4 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.1.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb @@ -1,7 +1,7 @@ easyblock = 'EB_GCC' name = 'GCCcore' -version = '11.2.1' +version = '11.3.0' homepage = 'https://gcc.gnu.org/' description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, @@ -21,11 +21,7 @@ source_urls = [ 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] sources = [ - { - 'source_urls': ['https://gcc.gnu.org/pub/gcc/snapshots/11.3.0-RC-20220414/'], - 'filename': 'gcc-11.3.0-RC-20220414.tar.gz', - }, - # 'gcc-%(version)s.tar.gz', + 'gcc-%(version)s.tar.gz', 'gmp-6.2.1.tar.bz2', 'mpfr-4.1.0.tar.bz2', 'mpc-1.2.1.tar.gz', diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.2.1.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.3.0.eb similarity index 91% rename from easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.2.1.eb rename to easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.3.0.eb index 847e0a72a995..26957da215e2 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.2.1.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.3.0.eb @@ -6,7 +6,7 @@ version = '1.49.2' 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': '11.2.1'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_XZ] diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.1.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.3.0.eb similarity index 94% rename from easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.1.eb rename to easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.3.0.eb index b49d3847843f..dfdd4df8d108 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.1.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.3.0.eb @@ -8,7 +8,7 @@ description = """GNU M4 is an implementation of the traditional Unix macro proce 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': '11.2.1'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.2.1.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.3.0.eb similarity index 95% rename from easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.2.1.eb rename to easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.3.0.eb index c7a6a244bee9..31726b4af9d9 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.2.1.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.3.0.eb @@ -8,7 +8,7 @@ description = """zlib is designed to be a free, general-purpose, legally unencum not covered by any patents -- lossless data-compression library for use on virtually any computer hardware and operating system.""" -toolchain = {'name': 'GCCcore', 'version': '11.2.1'} +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} toolchainopts = {'pic': True} source_urls = ['https://zlib.net/fossils'] From fa497800148289dacd58cff22e52247d9cf9a98b Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Thu, 21 Apr 2022 14:07:22 +0200 Subject: [PATCH 3/7] update checksum --- easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb index 608faf7241b4..c526d81322bb 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb @@ -35,7 +35,7 @@ patches = [ 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', ] checksums = [ - '85ab76df03ab566cd7f3471d3b37349163d0cf7ab12e8754290d9db6d2dab82f', # gcc-11.3.0-RC-20220414.tar.gz + '98438e6cc7294298b474cf0da7655d9a8c8b796421bb0210531c294a950374ed', # gcc-11.3.0.tar.gz 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c', # gmp-6.2.1.tar.bz2 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz From a2d5095030c2cc58d9111e85395ba90a64fcc377 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Thu, 21 Apr 2022 18:20:09 +0200 Subject: [PATCH 4/7] update nvptx to latest and GCC infrastructure mirror --- easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb index c526d81322bb..ba49ac08fc31 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb @@ -15,7 +15,7 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://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 + 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies 'http://isl.gforge.inria.fr/', # original HTTP source for ISL 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools @@ -27,7 +27,7 @@ sources = [ 'mpc-1.2.1.tar.gz', 'isl-0.24.tar.bz2', 'newlib-4.1.0.tar.gz', - {'download_filename': 'd0524fb.tar.gz', 'filename': 'nvptx-tools-20210115.tar.gz'}, + {'download_filename': '7292758.tar.gz', 'filename': 'nvptx-tools-20220412.tar.gz'}, ] patches = [ 'GCCcore-6.2.0-fix-find-isl.patch', @@ -41,7 +41,7 @@ checksums = [ '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0', # isl-0.24.tar.bz2 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154', # newlib-4.1.0.tar.gz - '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2', # nvptx-tools-20210115.tar.gz + '20e3c1eeae7f375c36455b6036c4801de16b854910ff54268bbd3346f3685080', # nvptx-tools-20220412.tar.gz '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch From e2d3ee81d582f718dd86de717711310f2a0e5463 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Thu, 21 Apr 2022 18:20:30 +0200 Subject: [PATCH 5/7] GCC: binutils is build with with system toolchain --- easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb b/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb index 57896063fac7..ee32dbadf52c 100644 --- a/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb +++ b/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb @@ -11,7 +11,7 @@ toolchain = SYSTEM dependencies = [ ('GCCcore', version), - # binutils built on top of GCCcore, which was built on top of (dummy-built) binutils + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) ('binutils', '2.38', '', ('GCCcore', version)), ] From ed992984a756545bc333d054b0c27a2c013e3490 Mon Sep 17 00:00:00 2001 From: Sebastian Achilles Date: Thu, 21 Apr 2022 18:22:58 +0200 Subject: [PATCH 6/7] add 2nd source URL for GCC --- easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb index ba49ac08fc31..a911f6cd5130 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb @@ -11,6 +11,7 @@ toolchain = SYSTEM source_urls = [ 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC From 386dd02531bac56459f33c0987bb5f7019135ada Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 27 Apr 2022 16:57:18 +0200 Subject: [PATCH 7/7] add fallback URL for downloading isl source tarball to easyconfig for GCCcore v11.3.0 --- easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb index a911f6cd5130..d877ec7eace7 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb @@ -17,7 +17,7 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL + 'https://libisl.sourceforge.io/', # fallback URL for isl 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ]