diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-7.4.1-GCCcore-14.2.0-Java-21.eb b/easybuild/easyconfigs/b/Bazel/Bazel-7.4.1-GCCcore-14.2.0-Java-21.eb new file mode 100644 index 000000000000..295ba832db23 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-7.4.1-GCCcore-14.2.0-Java-21.eb @@ -0,0 +1,28 @@ +name = 'Bazel' +version = '7.4.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +checksums = ['83386618bc489f4da36266ef2620ec64a526c686cf07041332caff7c953afaf5'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.13.1'), + ('Zip', '3.0'), +] +dependencies = [ + ('Java', '21', '', SYSTEM), +] + +runtest = True +testopts = "--sandbox_add_mount_pair=$TMPDIR " +testopts += "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..a74545500f65 --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-14.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = ['%(name)s-%(version)s_gcc-14-compability.patch'] +checksums = [ + {'zip30.tar.gz': 'f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'}, + {'Zip-3.0_gcc-14-compability.patch': '5bf576105aaaa944b514337465835f03210151e8d5fe4fe037bb83f289ad9df1'}, +] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT ' +buildopts += '-DHAVE_DIRENT_H -DHAVE_TERMIOS_H" ' +buildopts += 'LFLAGS2="$LDFLAGS -L$EBROOTBZIP2/lib -lbz2" ' +buildopts += 'OCRCU8="crc32_.o" OCRCTB="" ' +buildopts += 'zips' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0_gcc-14-compability.patch b/easybuild/easyconfigs/z/Zip/Zip-3.0_gcc-14-compability.patch new file mode 100644 index 000000000000..ee737b0127d1 --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0_gcc-14-compability.patch @@ -0,0 +1,111 @@ +Fix build of Zip 3.0 on modern Linux systems with GCC 14+ +- Remove legacy memset, memcpy, memcmp from fileio.c +- Add missing include to timezone.c for struct tm/localtime +- Remove legacy ZMEM redeclarations from zip.h, include +Author: Pavel Tomanek (Inuits) +--- zip.h.orig 2025-07-01 18:19:39.457327000 +0200 ++++ zip.h 2025-07-01 18:21:12.657206000 +0200 +@@ -87,6 +87,8 @@ + /* Set up portability */ + #include "tailor.h" + ++#include ++ + #ifdef USE_ZLIB + # include "zlib.h" + #endif +@@ -722,12 +724,6 @@ + + int fcopy OF((FILE *, FILE *, uzoff_t)); + +-#ifdef ZMEM +- char *memset OF((char *, int, unsigned int)); +- char *memcpy OF((char *, char *, unsigned int)); +- int memcmp OF((char *, char *, unsigned int)); +-#endif /* ZMEM */ +- + /* in system dependent fileio code (.c) */ + #ifndef UTIL + # ifdef PROCNAME +--- fileio.c.orig 2025-07-01 18:41:04.603858000 +0200 ++++ fileio.c 2025-07-01 18:41:12.394749000 +0200 +@@ -1944,69 +1944,6 @@ + #endif /* NO_RENAME */ + + +-#ifdef ZMEM +- +-/************************/ +-/* Function memset() */ +-/************************/ +- +-/* +- * memset - for systems without it +- * bill davidsen - March 1990 +- */ +- +-char * +-memset(buf, init, len) +-register char *buf; /* buffer loc */ +-register int init; /* initializer */ +-register unsigned int len; /* length of the buffer */ +-{ +- char *start; +- +- start = buf; +- while (len--) *(buf++) = init; +- return(start); +-} +- +- +-/************************/ +-/* Function memcpy() */ +-/************************/ +- +-char * +-memcpy(dst,src,len) /* v2.0f */ +-register char *dst, *src; +-register unsigned int len; +-{ +- char *start; +- +- start = dst; +- while (len--) +- *dst++ = *src++; +- return(start); +-} +- +- +-/************************/ +-/* Function memcmp() */ +-/************************/ +- +-int +-memcmp(b1,b2,len) /* jpd@usl.edu -- 11/16/90 */ +-register char *b1, *b2; +-register unsigned int len; +-{ +- +- if (len) do { /* examine each byte (if any) */ +- if (*b1++ != *b2++) +- return (*((uch *)b1-1) - *((uch *)b2-1)); /* exit when miscompare */ +- } while (--len); +- +- return(0); /* no miscompares, yield 0 result */ +-} +- +-#endif /* ZMEM */ +- + + /*------------------------------------------------------------------ + * Split archives +--- timezone.c.orig 2025-07-01 18:30:30.464756000 +0200 ++++ timezone.c 2025-07-01 18:30:46.550872000 +0200 +@@ -41,6 +41,7 @@ + #include "timezone.h" + #include + #include ++#include + + #ifdef IZTZ_DEFINESTDGLOBALS + long timezone = 0; \ No newline at end of file