diff --git a/Golden_Repo/g/guile/guile-2.0.14-GCCcore-11.2.0.eb b/Golden_Repo/g/guile/guile-2.0.14-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..0d4323d708a9c5793fbbabea421a0c22d62ce891
--- /dev/null
+++ b/Golden_Repo/g/guile/guile-2.0.14-GCCcore-11.2.0.eb
@@ -0,0 +1,40 @@
+easyblock = 'ConfigureMake'
+
+name = 'guile'
+version = '2.0.14'
+
+homepage = 'http://www.gnu.org/software/guile'
+description = """Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for 
+the GNU operating system.
+"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+sources = [SOURCELOWER_TAR_GZ]
+source_urls = [GNU_SOURCE]
+
+builddependencies = [
+    ('binutils', '2.37'),
+    ('pkg-config', '0.29.2'),
+]
+
+dependencies = [
+    ('libtool', '2.4.6'),
+    ('GMP', '6.2.1'),
+    ('libunistring', '0.9.10'),
+    ('libffi', '3.4.2'),
+    ('libreadline', '8.1'),
+    ('XZ', '5.2.5'),
+    ('gc', '8.2.0'),
+]
+
+configopts = " --enable-error-on-warning=no"
+
+sanity_check_paths = {
+    'files': ["bin/%s" % x for x in ["guile", 'guile-config', 'guile-snarf', 'guile-tools']] +
+             ["lib/libguile-%(version_major_minor)s.a",
+              "include/guile/%(version_major_minor)s/libguile.h"],
+    'dirs': []
+}
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/l/libmatheval/003-guile2.0.patch b/Golden_Repo/l/libmatheval/003-guile2.0.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e12f9c45f537d9c88e55c80922de750b2ce11acf
--- /dev/null
+++ b/Golden_Repo/l/libmatheval/003-guile2.0.patch
@@ -0,0 +1,403 @@
+Description: Increase precision of floating point tests
+ guile-2.0 has increased the precision of the floating point maths returns,
+ so the test suite needs to allow for the correct values to be returned
+ with higher precision. Thanks to Dave Pigott <dave.pigott@linaro.org>
+ Also adapt the configure script to build against guile-2.0 - patch from
+ Hilo Bengen <bengen@debian.org>.
+ .
+ libmatheval (1.1.11+dfsg-1.1) unstable; urgency=low
+ .
+   * Non-maintainer upload.
+   * Migrate to guile-2.0 - patch from Hilo Bengen,
+     extended to support higher precision of return values
+     by guile-2.0. (Closes: #746013)
+Author: Neil Williams <codehelp@debian.org>
+Bug-Debian: https://bugs.debian.org/746013
+
+---
+
+--- libmatheval-1.1.11+dfsg.orig/configure.in
++++ libmatheval-1.1.11+dfsg/configure.in
+@@ -60,10 +60,11 @@ dnl Checks for library functions.
+ AC_CHECK_FUNCS([bzero memset], [break])
+ 
+ dnl Additional Guile feature checks.
++CFLAGS="$CFLAGS $GUILE_CFLAGS"
+ AC_CHECK_TYPE([scm_t_bits], [AC_DEFINE([HAVE_SCM_T_BITS], [1], [Define to 1 if you have the `scm_t_bits' type.])], [], [#include <libguile.h>])
+-AC_CHECK_LIB([guile], [scm_c_define_gsubr], [AC_DEFINE([HAVE_SCM_C_DEFINE_GSUBR], [1], [Define to 1 if you have the `scm_c_define_gsubr' function.])], [], [$GUILE_LDFLAGS])
+-AC_CHECK_LIB([guile], [scm_make_gsubr], [AC_DEFINE([HAVE_SCM_MAKE_GSUBR], [1], [Define to 1 if you have the `scm_make_gsubr' function.])], [], [$GUILE_LDFLAGS])
+-AC_CHECK_LIB([guile], [scm_num2dbl], [AC_DEFINE([HAVE_SCM_NUM2DBL], [1], [Define to 1 if you have the `scm_num2dbl' function.])], [], [$GUILE_LDFLAGS])
++AC_CHECK_LIB([guile-2.0], [scm_c_define_gsubr], [AC_DEFINE([HAVE_SCM_C_DEFINE_GSUBR], [1], [Define to 1 if you have the `scm_c_define_gsubr' function.])], [], [$GUILE_LDFLAGS])
++AC_CHECK_LIB([guile-2.0], [scm_make_gsubr], [AC_DEFINE([HAVE_SCM_MAKE_GSUBR], [1], [Define to 1 if you have the `scm_make_gsubr' function.])], [], [$GUILE_LDFLAGS])
++AC_CHECK_LIB([guile-2.0], [scm_num2dbl], [AC_DEFINE([HAVE_SCM_NUM2DBL], [1], [Define to 1 if you have the `scm_num2dbl' function.])], [], [$GUILE_LDFLAGS])
+ 
+ AC_CONFIG_FILES([Makefile doc/Makefile lib/Makefile])
+ AC_OUTPUT(libmatheval.pc)
+--- libmatheval-1.1.11+dfsg.orig/tests/basics.at
++++ libmatheval-1.1.11+dfsg/tests/basics.at
+@@ -62,7 +62,7 @@ AT_DATA([basics.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh basics.scm], [ignore], [10.0], [ignore])
++AT_CHECK([matheval.sh basics.scm], [ignore], [10.000000000000002], [ignore])
+ 
+ AT_DATA([basics.scm],
+ [[
+@@ -70,7 +70,7 @@ AT_DATA([basics.scm],
+ (display (evaluator-evaluate-x f 0.7))
+ ]])
+ 
+-AT_CHECK([matheval.sh basics.scm], [ignore], [0.220966666722528], [ignore])
++AT_CHECK([matheval.sh basics.scm], [ignore], [0.22096666672252796], [ignore])
+ 
+ AT_DATA([basics.scm],
+ [[
+@@ -78,7 +78,7 @@ AT_DATA([basics.scm],
+ (display (evaluator-evaluate-x-y f 0.4 -0.7))
+ ]])
+ 
+-AT_CHECK([matheval.sh basics.scm], [ignore], [-1.14962406520749], [ignore])
++AT_CHECK([matheval.sh basics.scm], [ignore], [-1.1496240652074883], [ignore])
+ 
+ AT_DATA([basics.scm],
+ [[
+@@ -86,7 +86,7 @@ AT_DATA([basics.scm],
+ (display (evaluator-evaluate-x-y-z f 11.2 0.41 -0.66))
+ ]])
+ 
+-AT_CHECK([matheval.sh basics.scm], [ignore], [3.99876152571934], [ignore])
++AT_CHECK([matheval.sh basics.scm], [ignore], [3.9987615257193383], [ignore])
+ 
+ AT_DATA([basics.scm],
+ [[
+--- libmatheval-1.1.11+dfsg.orig/tests/constants.at
++++ libmatheval-1.1.11+dfsg/tests/constants.at
+@@ -29,7 +29,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [2.71828182845905], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [2.718281828459045], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -37,7 +37,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [1.44269504088896], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [1.4426950408889634], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -45,7 +45,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [0.434294481903252], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [0.4342944819032518], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -53,7 +53,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [0.693147180559945], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [0.6931471805599453], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -61,7 +61,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [2.30258509299405], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [2.302585092994046], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -69,7 +69,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [3.14159265358979], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [3.141592653589793], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -77,7 +77,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [1.5707963267949], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [1.5707963267948966], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -85,7 +85,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [0.785398163397448], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [0.7853981633974483], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -93,7 +93,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [0.318309886183791], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [0.3183098861837907], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -101,7 +101,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [0.636619772367581], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [0.6366197723675814], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -109,7 +109,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [1.12837916709551], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [1.1283791670955126], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -117,7 +117,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [1.4142135623731], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [1.4142135623730951], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -125,7 +125,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [0.707106781186548], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [0.7071067811865476], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+@@ -133,7 +133,7 @@ AT_DATA([constant.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh constant.scm], [ignore], [10.0], [ignore])
++AT_CHECK([matheval.sh constant.scm], [ignore], [10.000000000000002], [ignore])
+ 
+ AT_DATA([constant.scm],
+ [[
+--- libmatheval-1.1.11+dfsg.orig/tests/functions.at
++++ libmatheval-1.1.11+dfsg/tests/functions.at
+@@ -29,7 +29,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [2.71828182845905], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [2.718281828459045], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -80,7 +80,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.841470984807897], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.8414709848078965], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -97,7 +97,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.54030230586814], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.5403023058681398], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -114,7 +114,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.5574077246549], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.5574077246549023], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -131,7 +131,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.642092615934331], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.6420926159343306], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -148,7 +148,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.85081571768093], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.8508157176809255], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -165,7 +165,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.18839510577812], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.1883951057781212], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -182,7 +182,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267949], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267948966], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -216,7 +216,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.785398163397448], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.7853981633974483], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -233,7 +233,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.785398163397448], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.7853981633974483], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -267,7 +267,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267949], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267948966], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -284,7 +284,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.1752011936438], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.1752011936438014], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -301,7 +301,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.54308063481524], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.5430806348152437], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -318,7 +318,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.761594155955765], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.7615941559557649], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -335,7 +335,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [1.31303528549933], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [1.3130352854993315], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -352,7 +352,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.648054273663885], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.6480542736638855], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -368,7 +368,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.850918128239322], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.8509181282393216], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -385,7 +385,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.881373587019543], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.8813735870195429], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -419,7 +419,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 0.5))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.549306144334055], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.5493061443340549], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -436,7 +436,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 2))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.549306144334055], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.5493061443340549], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+@@ -470,7 +470,7 @@ AT_DATA([function.scm],
+ (display (evaluator-evaluate-x f 1))
+ ]])
+ 
+-AT_CHECK([matheval.sh function.scm], [ignore], [0.881373587019543], [ignore])
++AT_CHECK([matheval.sh function.scm], [ignore], [0.8813735870195429], [ignore])
+ 
+ AT_DATA([function.scm],
+ [[
+--- libmatheval-1.1.11+dfsg.orig/tests/numbers.at
++++ libmatheval-1.1.11+dfsg/tests/numbers.at
+@@ -53,6 +53,6 @@ AT_DATA([number.scm],
+ (display (evaluator-evaluate-x f 0))
+ ]])
+ 
+-AT_CHECK([matheval.sh number.scm], [ignore], [0.644394014977254], [ignore])
++AT_CHECK([matheval.sh number.scm], [ignore], [0.6443940149772542], [ignore])
+ 
+ AT_CLEANUP
+
diff --git a/Golden_Repo/l/libmatheval/libmatheval-1.1.11_fix-matheval-test.patch b/Golden_Repo/l/libmatheval/libmatheval-1.1.11_fix-matheval-test.patch
new file mode 100644
index 0000000000000000000000000000000000000000..dd10e0915f7d05b6bd7535415d06ef2c906a4eed
--- /dev/null
+++ b/Golden_Repo/l/libmatheval/libmatheval-1.1.11_fix-matheval-test.patch
@@ -0,0 +1,32 @@
+fix for "matheval.c:37:2: error: #error Neither scm_num2dbl() nor SCM_NUM2DBL available"
+patch obtained via https://aur.archlinux.org/cgit/aur.git/tree/removeifndefs.patch?h=libmatheval
+diff -aur a/tests/matheval.c b/tests/matheval.c
+--- a/tests/matheval.c	2016-03-24 13:55:00.163074189 +0000
++++ b/tests/matheval.c	2016-03-24 13:52:59.492996682 +0000
+@@ -26,26 +26,6 @@
+ #include <matheval.h>
+ #include "config.h"
+ 
+-#ifndef HAVE_SCM_T_BITS
+-typedef long    scm_t_bits;
+-#endif
+-
+-#ifndef HAVE_SCM_NUM2DBL
+-#ifdef SCM_NUM2DBL
+-#define scm_num2dbl(x,s) SCM_NUM2DBL(x)
+-#else
+-#error Neither scm_num2dbl() nor SCM_NUM2DBL available
+-#endif
+-#endif
+-
+-#ifndef HAVE_SCM_C_DEFINE_GSUBR
+-#ifdef HAVE_SCM_MAKE_GSUBR
+-#define scm_c_define_gsubr scm_make_gsubr
+-#else
+-#error Neither scm_c_define_gsubr() nor scm_make_gsubr() available
+-#endif
+-#endif
+-
+ static scm_t_bits evaluator_tag;	/* Unique identifier for Guile
+ 					 * objects of evaluator 
+
diff --git a/Golden_Repo/l/libmatheval/libmatheval-1.11.1-GCCcore-11.2.0.eb b/Golden_Repo/l/libmatheval/libmatheval-1.11.1-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..bbe2ad9be3cf6d7ae2ab9dde7e5234a51202344c
--- /dev/null
+++ b/Golden_Repo/l/libmatheval/libmatheval-1.11.1-GCCcore-11.2.0.eb
@@ -0,0 +1,47 @@
+easyblock = 'ConfigureMake'
+
+name = 'libmatheval'
+version = '1.1.11'  # still the latest version available on the ftp mirror
+
+homepage = 'http://www.gnu.org/software/libmatheval/'
+description = """GNU libmatheval is a library (callable from C and Fortran) to parse
+ and evaluate symbolic expressions input as text.
+"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchainopts = {'pic': True}
+
+source_urls = [GNU_SOURCE]
+sources = [SOURCELOWER_TAR_GZ]
+patches = [
+    '003-guile2.0.patch',
+    'libmatheval-1.1.11_fix-matheval-test.patch'
+]
+checksums = [
+    # libmatheval-1.1.11.tar.gz
+    '474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab',
+    '718f2cba02ee9d891976a3f078681c9e36d6c5f6050762db70fa8c9a889ec655',  # 003-guile2.0.patch
+    # libmatheval-1.1.11_fix-matheval-test.patch
+    'c619203df01157c25a384a1f3e7cbdb8838571a17b74da3b5bdabd15d8d681ff',
+]
+
+builddependencies = [
+    ('binutils', '2.37'),
+    ('flex', '2.6.4'),
+    ('Bison', '3.7.6'),
+    ('byacc', '20210808'),
+    # guile 2.2.X, 3.0.7 removed scm_num2dbl (among others), which are needed for libmatheval (at least for 1.1.11)
+    ('guile', '2.0.14')
+]
+
+configopts = '--with-pic '
+
+# fix for guile-config being broken because shebang line contains full path to bin/guile
+configopts += 'GUILE_CONFIG="$EBROOTGUILE/bin/guile -e main -s $EBROOTGUILE/bin/guile-config"'
+
+sanity_check_paths = {
+    'files': ['lib/libmatheval.a', 'include/matheval.h'],
+    'dirs': [],
+}
+
+moduleclass = 'lib'