diff --git a/Golden_Repo/l/libxc/README.md b/Golden_Repo/l/libxc/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..3782b4b183ea6e895424a7eee7f815cb1216212d
--- /dev/null
+++ b/Golden_Repo/l/libxc/README.md
@@ -0,0 +1,13 @@
+## ABINIT
+
+`ABINIT/8.X` is only working with `libxc/3.0.1` due to changes in the API. Starting with `ABINIT/9.X` version 4.3.0 or later is supported.
+
+## Quantum ESPRESSO
+
+While Quantum ESPRESSO 6.6 would work with `libxc/5.0.0`, QE would require a patch. From the Quantum ESPRESSO User Guide (https://www.quantum-espresso.org/Doc/user_guide.pdf):
+
+**Note  for  version  5.0.0:** the `f03` interfaces  are  no  longer  available  in `libxc` 5.0.0. They have been reintroduced in the current develop version.  Version 5.0.0 is still usable, but, before compiling Quantum ESPRESSO, a string replacement is necessary, namely `‘xcf03’` must berepalced with `‘xcf90’` everywhere in the following files: `funct.f90, xcldalsdadrivers.f90, xcggadrivers.f90, xcmggadrivers.f90, dmxcdrivers.f90` and `dgcxcdrivers.f90` in `Modules` folder and `xctestqelibxc.f90` in `PP/src` folder.
+
+## Note for future Stage 2021
+
+Check if all application can work with the newest version of `libxc`, e.g. 5.0.0. One common version would be desirable.
diff --git a/Golden_Repo/l/libxc/libxc-5.1.7-GCC-11.2.0.eb b/Golden_Repo/l/libxc/libxc-5.1.7-GCC-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..0b051c9bfcc9a7079b55224cbed33b8773008a04
--- /dev/null
+++ b/Golden_Repo/l/libxc/libxc-5.1.7-GCC-11.2.0.eb
@@ -0,0 +1,48 @@
+easyblock = 'CMakeMake'
+
+name = 'libxc'
+version = '5.1.7'
+
+homepage = 'https://www.tddft.org/programs/libxc'
+description = """Libxc is a library of exchange-correlation functionals for density-functional theory.
+ The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.
+"""
+
+toolchain = {'name': 'GCC', 'version': '11.2.0'}
+
+source_urls = [
+    'https://www.tddft.org/programs/libxc/down.php?file=%(version)s/']
+sources = [SOURCE_TAR_GZ]
+checksums = ['1a818fdfe5c5f74270bc8ef0c59064e8feebcd66b8f642c08aecc1e7d125be34']
+
+builddependencies = [
+    ('CMake', '3.21.1', '', SYSTEM),
+    ('Perl', '5.34.0'),
+]
+
+separate_build_dir = True
+
+local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF"
+
+# perform iterative build to get both static and shared libraries
+configopts = [
+    local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF',
+    local_common_configopts + ' -DBUILD_SHARED_LIBS=ON',
+]
+
+parallel = 1
+
+# make sure that built libraries (libxc*.so*) in build directory are picked when running tests
+# this is required when RPATH linking is used
+pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && "
+
+runtest = 'test'
+
+sanity_check_paths = {
+    'files': ['bin/xc-info'] +
+             ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90']
+              for y in ['a', SHLIB_EXT]],
+    'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'],
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/l/libxc/libxc-5.1.7-intel-compilers-2021.4.0.eb b/Golden_Repo/l/libxc/libxc-5.1.7-intel-compilers-2021.4.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b14e78771ef5c792357c5e185c704bbbaba09a75
--- /dev/null
+++ b/Golden_Repo/l/libxc/libxc-5.1.7-intel-compilers-2021.4.0.eb
@@ -0,0 +1,48 @@
+easyblock = 'CMakeMake'
+
+name = 'libxc'
+version = '5.1.7'
+
+homepage = 'https://www.tddft.org/programs/libxc'
+description = """Libxc is a library of exchange-correlation functionals for density-functional theory.
+ The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.
+"""
+
+toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'}
+
+source_urls = [
+    'https://www.tddft.org/programs/libxc/down.php?file=%(version)s/']
+sources = [SOURCE_TAR_GZ]
+checksums = ['1a818fdfe5c5f74270bc8ef0c59064e8feebcd66b8f642c08aecc1e7d125be34']
+
+builddependencies = [
+    ('CMake', '3.21.1', '', SYSTEM),
+    ('Perl', '5.34.0'),
+]
+
+separate_build_dir = True
+
+local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF"
+
+# perform iterative build to get both static and shared libraries
+configopts = [
+    local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF',
+    local_common_configopts + ' -DBUILD_SHARED_LIBS=ON',
+]
+
+parallel = 1
+
+# make sure that built libraries (libxc*.so*) in build directory are picked when running tests
+# this is required when RPATH linking is used
+pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && "
+
+runtest = 'test'
+
+sanity_check_paths = {
+    'files': ['bin/xc-info'] +
+             ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90']
+              for y in ['a', SHLIB_EXT]],
+    'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'],
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gompi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gompi-2021b.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b2db4dfc702451a2fddf89f48bf72dece68210e5
--- /dev/null
+++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gompi-2021b.eb
@@ -0,0 +1,24 @@
+easyblock = 'PythonPackage'
+
+name = 'mpi4py'
+version = '3.1.3'
+
+homepage = 'https://bitbucket.org/mpi4py/mpi4py'
+description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for
+ the Python programming language, allowing any Python program to exploit multiple processors.
+"""
+
+toolchain = {'name': 'gompi', 'version': '2021b'}
+
+source_urls = ['https://github.com/%(name)s/%(name)s/archive/']
+sources = ['%(version)s.tar.gz']
+checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05']
+
+dependencies = [('Python', '3.9.6')]
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'],
+}
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gpsmpi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gpsmpi-2021b.eb
new file mode 100644
index 0000000000000000000000000000000000000000..5450fb8fa487edf8d8cc0e497d8b90093093beca
--- /dev/null
+++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gpsmpi-2021b.eb
@@ -0,0 +1,25 @@
+easyblock = 'PythonPackage'
+
+name = 'mpi4py'
+version = '3.1.3'
+
+homepage = 'https://bitbucket.org/mpi4py/mpi4py'
+description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for
+ the Python programming language, allowing any Python program to exploit multiple processors.
+"""
+
+
+toolchain = {'name': 'gpsmpi', 'version': '2021b'}
+
+source_urls = ['https://github.com/%(name)s/%(name)s/archive/']
+sources = ['%(version)s.tar.gz']
+checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05']
+
+dependencies = [('Python', '3.9.6')]
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'],
+}
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iimpi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iimpi-2021b.eb
new file mode 100644
index 0000000000000000000000000000000000000000..59107b67bf6ba2836b676261d2fa7b10e9586c38
--- /dev/null
+++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iimpi-2021b.eb
@@ -0,0 +1,25 @@
+easyblock = 'PythonPackage'
+
+name = 'mpi4py'
+version = '3.1.3'
+
+homepage = 'https://bitbucket.org/mpi4py/mpi4py'
+description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for
+ the Python programming language, allowing any Python program to exploit multiple processors.
+"""
+
+
+toolchain = {'name': 'iimpi', 'version': '2021b'}
+
+source_urls = ['https://github.com/%(name)s/%(name)s/archive/']
+sources = ['%(version)s.tar.gz']
+checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05']
+
+dependencies = [('Python', '3.9.6')]
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'],
+}
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iompi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iompi-2021b.eb
new file mode 100644
index 0000000000000000000000000000000000000000..2df8e3a66928f4112b3104d878ca0f61968b9f0b
--- /dev/null
+++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iompi-2021b.eb
@@ -0,0 +1,25 @@
+easyblock = 'PythonPackage'
+
+name = 'mpi4py'
+version = '3.1.3'
+
+homepage = 'https://bitbucket.org/mpi4py/mpi4py'
+description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for
+ the Python programming language, allowing any Python program to exploit multiple processors.
+"""
+
+
+toolchain = {'name': 'iompi', 'version': '2021b'}
+
+source_urls = ['https://github.com/%(name)s/%(name)s/archive/']
+sources = ['%(version)s.tar.gz']
+checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05']
+
+dependencies = [('Python', '3.9.6')]
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'],
+}
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-ipsmpi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-ipsmpi-2021b.eb
new file mode 100644
index 0000000000000000000000000000000000000000..49e30affa671a1ae9884cfdefaee2eef6083b424
--- /dev/null
+++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-ipsmpi-2021b.eb
@@ -0,0 +1,25 @@
+easyblock = 'PythonPackage'
+
+name = 'mpi4py'
+version = '3.1.3'
+
+homepage = 'https://bitbucket.org/mpi4py/mpi4py'
+description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for
+ the Python programming language, allowing any Python program to exploit multiple processors.
+"""
+
+
+toolchain = {'name': 'ipsmpi', 'version': '2021b'}
+
+source_urls = ['https://github.com/%(name)s/%(name)s/archive/']
+sources = ['%(version)s.tar.gz']
+checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05']
+
+dependencies = [('Python', '3.9.6')]
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'],
+}
+
+moduleclass = 'mpi'
diff --git a/Golden_Repo/v/VTK/VTK-8.2.0_gcc10.patch b/Golden_Repo/v/VTK/VTK-8.2.0_gcc10.patch
deleted file mode 100644
index 95118899e1d50131d5e534a018b63f85c60f6aa9..0000000000000000000000000000000000000000
--- a/Golden_Repo/v/VTK/VTK-8.2.0_gcc10.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/CMake/VTKGenerateExportHeader.cmake  2020-05-24 14:33:12.154603698 -0600
-+++ b/CMake/VTKGenerateExportHeader.cmake  2020-05-24 14:33:34.864603776 -0600
-@@ -174,8 +174,12 @@
-     execute_process(COMMAND ${CMAKE_C_COMPILER} --version
-       OUTPUT_VARIABLE _gcc_version_info
-       ERROR_VARIABLE _gcc_version_info)
--    string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
-+    string(REGEX MATCH "[1-9][0-9]\\.[0-9]\\.[0-9]*"
-       _gcc_version "${_gcc_version_info}")
-+    if(NOT _gcc_version)
-+      string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
-+        _gcc_version "${_gcc_version_info}")
-+    endif()
-     # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
-     # patch level, handle this here:
-     if(NOT _gcc_version)
---- a/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c
-+++ b/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c
-@@ -216,5 +216,5 @@ int ex_create_par_int(const char *path, int cmode, int *comp_ws, int *io_ws, MPI
-  * Prevent warning in some versions of ranlib(1) because the object
-  * file has no symbols.
-  */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_create_par;
- #endif
---- a/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c
-+++ b/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c
-@@ -459,5 +459,5 @@ int ex_open_par_int(const char *path, int mode, int *comp_ws, int *io_ws, float
-  * Prevent warning in some versions of ranlib(1) because the object
-  * file has no symbols.
-  */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_open_par;
- #endif
diff --git a/Golden_Repo/v/VTK/VTK-8.2.0_python_3.8_compatibility.patch b/Golden_Repo/v/VTK/VTK-8.2.0_python_3.8_compatibility.patch
deleted file mode 100644
index 60134b1fee16d4856ded561d40795e9a7e521540..0000000000000000000000000000000000000000
--- a/Golden_Repo/v/VTK/VTK-8.2.0_python_3.8_compatibility.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From 257b9d7b18d5f3db3fe099dc18f230e23f7dfbab Mon Sep 17 00:00:00 2001
-From: David Gobbi <david.gobbi@gmail.com>
-Date: Tue, 20 Aug 2019 17:02:24 -0600
-Subject: [PATCH] Compatibility for Python 3.8
-
-The PyTypeObject struct was modified in Python 3.8, this change is
-required to avoid compile errors.
----
- .../PythonInterpreter/vtkPythonStdStreamCaptureHelper.h   | 6 ++++++
- Wrapping/PythonCore/PyVTKMethodDescriptor.cxx             | 2 +-
- Wrapping/PythonCore/PyVTKNamespace.cxx                    | 2 +-
- Wrapping/PythonCore/PyVTKReference.cxx                    | 8 ++++----
- Wrapping/PythonCore/PyVTKTemplate.cxx                     | 2 +-
- Wrapping/PythonCore/vtkPythonCompatibility.h              | 8 +++++++-
- Wrapping/Tools/vtkWrapPythonClass.c                       | 2 +-
- Wrapping/Tools/vtkWrapPythonEnum.c                        | 2 +-
- Wrapping/Tools/vtkWrapPythonType.c                        | 2 +-
- 9 files changed, 23 insertions(+), 11 deletions(-)
-
-diff --git a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
-index b1c12c83de..14ccfbe928 100644
---- a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
-+++ b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
-@@ -140,6 +140,12 @@ static PyTypeObject vtkPythonStdStreamCaptureHelperType = {
- #if PY_VERSION_HEX >= 0x03040000
-   0, // tp_finalize
- #endif
-+#if PY_VERSION_HEX >= 0x03080000
-+  0, // tp_vectorcall
-+#if PY_VERSION_HEX < 0x03090000
-+  0, // tp_print
-+#endif
-+#endif
- };
- 
- static PyObject* vtkWrite(PyObject* self, PyObject* args)
-diff --git a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
-index 2b0d443537..3840038498 100644
---- a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
-+++ b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
-@@ -186,7 +186,7 @@ PyTypeObject PyVTKMethodDescriptor_Type = {
-   sizeof(PyMethodDescrObject),           // tp_basicsize
-   0,                                     // tp_itemsize
-   PyVTKMethodDescriptor_Delete,          // tp_dealloc
--  nullptr,                               // tp_print
-+  0,                                     // tp_vectorcall_offset
-   nullptr,                               // tp_getattr
-   nullptr,                               // tp_setattr
-   nullptr,                               // tp_compare
-diff --git a/Wrapping/PythonCore/PyVTKNamespace.cxx b/Wrapping/PythonCore/PyVTKNamespace.cxx
-index 71ee2a3516..5cf5bfbe6b 100644
---- a/Wrapping/PythonCore/PyVTKNamespace.cxx
-+++ b/Wrapping/PythonCore/PyVTKNamespace.cxx
-@@ -49,7 +49,7 @@ PyTypeObject PyVTKNamespace_Type = {
-   0,                                     // tp_basicsize
-   0,                                     // tp_itemsize
-   PyVTKNamespace_Delete,                 // tp_dealloc
--  nullptr,                               // tp_print
-+  0,                                     // tp_vectorcall_offset
-   nullptr,                               // tp_getattr
-   nullptr,                               // tp_setattr
-   nullptr,                               // tp_compare
-diff --git a/Wrapping/PythonCore/PyVTKReference.cxx b/Wrapping/PythonCore/PyVTKReference.cxx
-index 943ac71080..b7104091c0 100644
---- a/Wrapping/PythonCore/PyVTKReference.cxx
-+++ b/Wrapping/PythonCore/PyVTKReference.cxx
-@@ -1010,7 +1010,7 @@ PyTypeObject PyVTKReference_Type = {
-   sizeof(PyVTKReference),                // tp_basicsize
-   0,                                     // tp_itemsize
-   PyVTKReference_Delete,                 // tp_dealloc
--  nullptr,                               // tp_print
-+  0,                                     // tp_vectorcall_offset
-   nullptr,                               // tp_getattr
-   nullptr,                               // tp_setattr
-   nullptr,                               // tp_compare
-@@ -1067,7 +1067,7 @@ PyTypeObject PyVTKNumberReference_Type = {
-   sizeof(PyVTKReference),                // tp_basicsize
-   0,                                     // tp_itemsize
-   PyVTKReference_Delete,                 // tp_dealloc
--  nullptr,                               // tp_print
-+  0,                                     // tp_vectorcall_offset
-   nullptr,                               // tp_getattr
-   nullptr,                               // tp_setattr
-   nullptr,                               // tp_compare
-@@ -1124,7 +1124,7 @@ PyTypeObject PyVTKStringReference_Type = {
-   sizeof(PyVTKReference),                // tp_basicsize
-   0,                                     // tp_itemsize
-   PyVTKReference_Delete,                 // tp_dealloc
--  nullptr,                               // tp_print
-+  0,                                     // tp_vectorcall_offset
-   nullptr,                               // tp_getattr
-   nullptr,                               // tp_setattr
-   nullptr,                               // tp_compare
-@@ -1181,7 +1181,7 @@ PyTypeObject PyVTKTupleReference_Type = {
-   sizeof(PyVTKReference),                // tp_basicsize
-   0,                                     // tp_itemsize
-   PyVTKReference_Delete,                 // tp_dealloc
--  nullptr,                               // tp_print
-+  0,                                     // tp_vectorcall_offset
-   nullptr,                               // tp_getattr
-   nullptr,                               // tp_setattr
-   nullptr,                               // tp_compare
-diff --git a/Wrapping/PythonCore/PyVTKTemplate.cxx b/Wrapping/PythonCore/PyVTKTemplate.cxx
-index be200985b3..340fe7953b 100644
---- a/Wrapping/PythonCore/PyVTKTemplate.cxx
-+++ b/Wrapping/PythonCore/PyVTKTemplate.cxx
-@@ -268,7 +268,7 @@ PyTypeObject PyVTKTemplate_Type = {
-   0,                                     // tp_basicsize
-   0,                                     // tp_itemsize
-   nullptr,                               // tp_dealloc
--  nullptr,                               // tp_print
-+  0,                                     // tp_vectorcall_offset
-   nullptr,                               // tp_getattr
-   nullptr,                               // tp_setattr
-   nullptr,                               // tp_compare
-diff --git a/Wrapping/PythonCore/vtkPythonCompatibility.h b/Wrapping/PythonCore/vtkPythonCompatibility.h
-index 4a767844a6..be208faeef 100644
---- a/Wrapping/PythonCore/vtkPythonCompatibility.h
-+++ b/Wrapping/PythonCore/vtkPythonCompatibility.h
-@@ -64,7 +64,13 @@
- #endif
- 
- // PyTypeObject compatibility
--#if PY_VERSION_HEX >= 0x03040000
-+#if PY_VERSION_HEX >= 0x03090000
-+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
-+  0, 0, 0, 0,
-+#elif PY_VERSION_HEX >= 0x03080000
-+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
-+  0, 0, 0, 0, 0,
-+#elif PY_VERSION_HEX >= 0x03040000
- #define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
-   0, 0, 0,
- #else
-diff --git a/Wrapping/Tools/vtkWrapPythonClass.c b/Wrapping/Tools/vtkWrapPythonClass.c
-index b1e45f8e80..4d558ea081 100644
---- a/Wrapping/Tools/vtkWrapPythonClass.c
-+++ b/Wrapping/Tools/vtkWrapPythonClass.c
-@@ -521,7 +521,7 @@ void vtkWrapPython_GenerateObjectType(
-     "  sizeof(PyVTKObject), // tp_basicsize\n"
-     "  0, // tp_itemsize\n"
-     "  PyVTKObject_Delete, // tp_dealloc\n"
--    "  nullptr, // tp_print\n"
-+    "  0, // tp_vectorcall_offset\n"
-     "  nullptr, // tp_getattr\n"
-     "  nullptr, // tp_setattr\n"
-     "  nullptr, // tp_compare\n"
-diff --git a/Wrapping/Tools/vtkWrapPythonEnum.c b/Wrapping/Tools/vtkWrapPythonEnum.c
-index b933702242..1249362854 100644
---- a/Wrapping/Tools/vtkWrapPythonEnum.c
-+++ b/Wrapping/Tools/vtkWrapPythonEnum.c
-@@ -145,7 +145,7 @@ void vtkWrapPython_GenerateEnumType(
-     "  sizeof(PyIntObject), // tp_basicsize\n"
-     "  0, // tp_itemsize\n"
-     "  nullptr, // tp_dealloc\n"
--    "  nullptr, // tp_print\n"
-+    "  0, // tp_vectorcall_offset\n"
-     "  nullptr, // tp_getattr\n"
-     "  nullptr, // tp_setattr\n"
-     "  nullptr, // tp_compare\n"
-diff --git a/Wrapping/Tools/vtkWrapPythonType.c b/Wrapping/Tools/vtkWrapPythonType.c
-index 744cb1b9d3..0a1375e541 100644
---- a/Wrapping/Tools/vtkWrapPythonType.c
-+++ b/Wrapping/Tools/vtkWrapPythonType.c
-@@ -709,7 +709,7 @@ void vtkWrapPython_GenerateSpecialType(
-     "  sizeof(PyVTKSpecialObject), // tp_basicsize\n"
-     "  0, // tp_itemsize\n"
-     "  Py%s_Delete, // tp_dealloc\n"
--    "  nullptr, // tp_print\n"
-+    "  0, // tp_vectorcall_offset\n"
-     "  nullptr, // tp_getattr\n"
-     "  nullptr, // tp_setattr\n"
-     "  nullptr, // tp_compare\n"
--- 
-2.24.1
-
diff --git a/Golden_Repo/v/VTK/VTK-9.1.0-gpsmpi-2022-Python-3.9.6.eb b/Golden_Repo/v/VTK/VTK-9.1.0-gpsmpi-2022-Python-3.9.6.eb
index f3e343ab86500cd2bb6d943033acbbe6030b72c5..aa30d8b020e6dcb5c0ebdcecf09bccb9dc2a60bd 100644
--- a/Golden_Repo/v/VTK/VTK-9.1.0-gpsmpi-2022-Python-3.9.6.eb
+++ b/Golden_Repo/v/VTK/VTK-9.1.0-gpsmpi-2022-Python-3.9.6.eb
@@ -12,7 +12,7 @@ description = """The Visualization Toolkit (VTK) is an open-source, freely avail
  such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation."""
 
 
-toolchain = {'name': 'gpsmpi', 'version': '2022'}
+toolchain = {'name': 'gpsmpi', 'version': '2021b'}
 toolchainopts = {'pic': True, 'usempi': True}
 
 source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s']
@@ -20,17 +20,11 @@ sources = [
     SOURCE_TAR_GZ,
     '%(name)sData-%(version)s.tar.gz',
 ]
-#patches = [
-#    'VTK-8.2.0_python_3.8_compatibility.patch', ('vtk-version.egg-info', '.'),
-#    'VTK-8.2.0_gcc10.patch',
-#]
-
-#checksums = [
-#    '34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb',  # VTK-8.2.0.tar.gz
-#    'd1ff312f7a63d90d8b7033a99109801f16a462ae411d648642838aae04bcc21e',  # VTKData-8.2.0.tar.gz
-#    'a7586f60501de145d4c31e48aa0589547d9fe7a39f96ab31dae8e82aa5fb4403',  # VTK-8.2.0_python_3.8_compatibility.patch
-#    '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b',  # vtk-version.egg-info
-#]
+checksums = [
+    '8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96',  # VTK-9.1.0.tar.gz
+    'b9442cf1c30e1e44502e6dc36d3c6c2dc3d3f7d03306ee1d10737e9abadaa85d',  # VTKData-9.1.0.tar.gz
+]
+patches = [('vtk-version.egg-info', '.')]
 
 builddependencies = [
     ('CMake', '3.21.1', '', SYSTEM),
@@ -39,18 +33,17 @@ builddependencies = [
 dependencies = [
     ('Python', '3.9.6'),
     ('HDF5', '1.12.1'),
-    ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2022.4.0')),
-    ('mpi4py', '3.0.3', versionsuffix),
-    ('libxc', '4.3.4'),
-    ('netCDF', '4.7.4'),
+    ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2021.4.0')),
+    ('mpi4py', '3.1.3'),
+    ('libxc', '5.1.7'),
+    ('netCDF', '4.8.1', '-serial'),
     ('X11', '20210802'),
     ('OpenGL', '2021b'),
 ]
 
 separate_build_dir = True
 
-configopts = "-DCMAKE_BUILD_TYPE=Release "
-configopts += "-DCMAKE_INSTALL_LIBDIR=lib "
+configopts = "-DCMAKE_INSTALL_LIBDIR=lib "
 
 configopts += "-DVTK_USE_SYSTEM_MPI4PY=ON "
 configopts += "-DVTK_USE_SYSTEM_LZMA=ON "
@@ -74,7 +67,7 @@ configopts += "-DOPENGL_opengl_LIBRARY=$EBROOTOPENGL/lib/libOpenGL.so.0 "
 configopts += "-DOPENGL_glu_LIBRARY=$EBROOTOPENGL/lib/libGLU.so "
 
 configopts += "-DVTK_WRAP_PYTHON=ON "
-configopts += "-DVTK_PYTHON_VERSION=%(pyshortver)s "
+configopts += "-DVTK_PYTHON_OPTIONAL_LINK=ON "
 configopts += "-DPYTHON_EXECUTABLE:PATH=$EBROOTPYTHON/bin/python%(pyshortver)s "
 configopts += "-DPYTHON_INCLUDE_DIR:PATH=$EBROOTPYTHON/include/python%(pyshortver)s "
 configopts += "-DPYTHON_LIBRARY:PATH=$EBROOTPYTHON/lib/libpython%%(pyshortver)s.%s " % SHLIB_EXT
@@ -172,16 +165,23 @@ postinstallcmds = [
 
 modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']}
 
+local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x
+                  for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']]
+local_vtk_exec += ['vtkpython']
+local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2']
+
 sanity_check_paths = {
-    'files': ['bin/vtk%s-%%(version_major_minor)s' % x for x in
-              ['WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +
-             ['bin/pvtkpython', 'bin/vtkpython'],
+    'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] +
+             ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs],
     'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'],
 }
 
 sanity_check_commands = [
-    ('python', "-c 'import %(namelower)s'"),
-    ('python', "-c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'"),
+    "python -c 'import %(namelower)s'",
+    "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'",
+    # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF),
+    # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881
+    "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT,
 ]
 
 moduleclass = 'vis'
diff --git a/Golden_Repo/v/VTK/vtk-version.egg-info b/Golden_Repo/v/VTK/vtk-version.egg-info
new file mode 100644
index 0000000000000000000000000000000000000000..9ddd689eaec6928e5f537b1f1378ba67e77a3809
--- /dev/null
+++ b/Golden_Repo/v/VTK/vtk-version.egg-info
@@ -0,0 +1,5 @@
+Metadata-Version: 2.1
+Name: vtk
+Version: #VTK_VERSION#
+Summary: VTK is an open-source toolkit for 3D computer graphics, image processing, and visualization
+Platform: UNKNOWN