From bd6a1af97e1a7d9c06ea46ec42875005d97b46ff Mon Sep 17 00:00:00 2001
From: Sebastian Achilles <s.achilles@fz-juelich.de>
Date: Mon, 31 Oct 2022 10:02:21 +0100
Subject: [PATCH] adding easyconfigs: Python-2.7.18-GCCcore-11.3.0-bare.eb
 ICU-71.1-GCCcore-11.3.0.eb libgd-2.3.3-GCCcore-11.3.0.eb
 double-conversion-3.2.0-GCCcore-11.3.0.eb GLib-2.72.1-GCCcore-11.3.0.eb

---
 .../double-conversion-3.2.0-GCCcore-11.3.0.eb | 38 ++++++++++++++
 .../g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb      | 52 +++++++++++++++++++
 Golden_Repo/i/ICU/ICU-71.1-GCCcore-11.3.0.eb  | 29 +++++++++++
 .../l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb     | 37 +++++++++++++
 .../Python-2.7.18-GCCcore-11.3.0-bare.eb      | 32 ++++++++++++
 5 files changed, 188 insertions(+)
 create mode 100644 Golden_Repo/d/double-conversion/double-conversion-3.2.0-GCCcore-11.3.0.eb
 create mode 100644 Golden_Repo/g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb
 create mode 100644 Golden_Repo/i/ICU/ICU-71.1-GCCcore-11.3.0.eb
 create mode 100644 Golden_Repo/l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb
 create mode 100644 Golden_Repo/p/Python/Python-2.7.18-GCCcore-11.3.0-bare.eb

diff --git a/Golden_Repo/d/double-conversion/double-conversion-3.2.0-GCCcore-11.3.0.eb b/Golden_Repo/d/double-conversion/double-conversion-3.2.0-GCCcore-11.3.0.eb
new file mode 100644
index 000000000..177cc580c
--- /dev/null
+++ b/Golden_Repo/d/double-conversion/double-conversion-3.2.0-GCCcore-11.3.0.eb
@@ -0,0 +1,38 @@
+easyblock = 'CMakeMake'
+
+name = 'double-conversion'
+version = '3.2.0'
+
+homepage = 'https://github.com/google/double-conversion'
+description = "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles."
+
+toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
+
+source_urls = ['https://github.com/google/%(name)s/archive']
+sources = ['v%(version)s.tar.gz']
+checksums = ['3dbcdf186ad092a8b71228a5962009b5c96abde9a315257a3452eb988414ea3b']
+
+builddependencies = [
+    ('binutils', '2.38'),
+    ('CMake', '3.23.1'),
+]
+
+separate_build_dir = True
+
+build_type = 'Release'
+
+# Build static lib, static lib with -fPIC and shared lib
+configopts = [
+    '',
+    '-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_STATIC_LIBRARY_SUFFIX_CXX=_pic.a',
+    '-DBUILD_SHARED_LIBS=ON'
+]
+
+sanity_check_paths = {
+    'files': ['include/double-conversion/%s.h' % h for h in ['bignum', 'cached-powers', 'diy-fp', 'double-conversion',
+                                                             'fast-dtoa', 'fixed-dtoa', 'ieee', 'strtod', 'utils']] +
+             ['lib/libdouble-conversion.%s' % e for e in ['a', SHLIB_EXT]] + ['lib/libdouble-conversion_pic.a'],
+    'dirs': [],
+}
+
+moduleclass = 'lib'
diff --git a/Golden_Repo/g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb b/Golden_Repo/g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb
new file mode 100644
index 000000000..e6aea6b5a
--- /dev/null
+++ b/Golden_Repo/g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb
@@ -0,0 +1,52 @@
+easyblock = 'MesonNinja'
+
+name = 'GLib'
+version = '2.72.1'
+
+homepage = 'https://www.gtk.org/'
+description = """GLib is one of the base libraries of the GTK+ project"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
+toolchainopts = {'pic': True}
+
+source_urls = [FTPGNOME_SOURCE]
+sources = [SOURCELOWER_TAR_XZ]
+checksums = ['c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2']
+
+builddependencies = [
+    # Python is required for building against GLib, at least when
+    # gdbus-codegen or one of the other python scripts are used.
+    # Since Meson 0.50 and later are Python >=3.5 only we can't build
+    # Python specific versions of GLib that uses Python 2.x
+    # thus Python should not be a runtime dependency for GLib.
+    # Packages that use GLib should either have an explicit
+    # (build)dependency on Python or it will use the system version
+    # EasyBuild itself uses.
+    ('Python', '3.10.4'),
+    ('Meson', '0.62.1'),
+    ('Ninja', '1.10.2'),
+    ('binutils', '2.38'),
+    ('pkgconf', '1.8.0'),
+]
+
+dependencies = [
+    ('libffi', '3.4.2'),
+    ('gettext', '0.21'),
+    ('libxml2', '2.9.13'),
+    ('PCRE', '8.45'),
+    ('util-linux', '2.38'),
+]
+
+# avoid using hardcoded path to Python binary in build step
+preconfigopts = "export PYTHON=python && "
+
+configopts = "--buildtype=release --default-library=both "
+
+fix_python_shebang_for = ['bin/*']
+
+sanity_check_paths = {
+    'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT],
+    'dirs': ['bin', 'include'],
+}
+
+moduleclass = 'vis'
diff --git a/Golden_Repo/i/ICU/ICU-71.1-GCCcore-11.3.0.eb b/Golden_Repo/i/ICU/ICU-71.1-GCCcore-11.3.0.eb
new file mode 100644
index 000000000..b9651a1c3
--- /dev/null
+++ b/Golden_Repo/i/ICU/ICU-71.1-GCCcore-11.3.0.eb
@@ -0,0 +1,29 @@
+easyblock = 'ConfigureMake'
+
+name = 'ICU'
+version = '71.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': '11.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 = ['67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf']
+
+builddependencies = [
+    ('binutils', '2.38'),
+    ('Python', '3.10.4', '-bare'),
+]
+
+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/Golden_Repo/l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb b/Golden_Repo/l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb
new file mode 100644
index 000000000..edeae044c
--- /dev/null
+++ b/Golden_Repo/l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb
@@ -0,0 +1,37 @@
+easyblock = 'ConfigureMake'
+
+name = 'libgd'
+version = '2.3.3'
+
+homepage = 'https://libgd.github.io'
+description = "GD is an open source code library for the dynamic creation of images by programmers."
+
+toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
+toolchainopts = {'pic': True}
+
+source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2']
+
+builddependencies = [
+    ('binutils', '2.38'),
+]
+
+dependencies = [
+    ('fontconfig', '2.14.0'),
+    ('libjpeg-turbo', '2.1.3'),
+    ('libpng', '1.6.37'),
+    ('zlib', '1.2.12'),
+]
+
+configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO "
+configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB"
+
+sanity_check_paths = {
+    'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT],
+    'dirs': ['bin', 'include'],
+}
+
+sanity_check_commands = ['webpng --help']
+
+moduleclass = 'lib'
diff --git a/Golden_Repo/p/Python/Python-2.7.18-GCCcore-11.3.0-bare.eb b/Golden_Repo/p/Python/Python-2.7.18-GCCcore-11.3.0-bare.eb
new file mode 100644
index 000000000..f2ad29b3f
--- /dev/null
+++ b/Golden_Repo/p/Python/Python-2.7.18-GCCcore-11.3.0-bare.eb
@@ -0,0 +1,32 @@
+name = 'Python'
+version = '2.7.18'
+versionsuffix = '-bare'
+
+homepage = 'https://python.org/'
+description = """Python is a programming language that lets you work more quickly and integrate your systems
+ more effectively."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
+toolchainopts = {'pic': True}
+
+source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/']
+sources = [SOURCE_TGZ]
+checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814']
+
+builddependencies = [
+    ('pkgconf', '1.8.0'),
+]
+
+dependencies = [
+    ('binutils', '2.38'),
+    ('bzip2', '1.0.8'),  # required for bz2 package in Python stdlib
+    ('zlib', '1.2.12'),
+    ('libreadline', '8.1.2'),
+    ('ncurses', '6.3'),
+    ('SQLite', '3.38.3'),
+    ('OpenSSL', '1.1', '', SYSTEM),
+]
+
+install_pip = True
+
+moduleclass = 'lang'
-- 
GitLab