diff --git a/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..cb7075fa9634 --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '75.1' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..b49990e46e73 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '20.13.1' # LTS on 2024-05-24 +local_libversion = '115' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['a85ee53aa0a5c2f5ca94fa414cdbceb91eb7d18a77fc498358512c14cc6c6991'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('ICU', '75.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +sanity_check_commands = ["node --help"] + +moduleclass = 'lang'