diff --git a/stacks/pinot-noir/config.json b/stacks/pinot-noir/config.json
index 6ce0f2cc038ec01c17cee70c7c8c73463f064ed6..bc5271ee7fb7db87f7241b528ffeb284c21237ea 100644
--- a/stacks/pinot-noir/config.json
+++ b/stacks/pinot-noir/config.json
@@ -51,18 +51,6 @@
                 "compiler": "gcc",
                 "spec": "gcc@12.3.0 %gcc@11.2.1",
                 "version": "12.3.0"
-            },
-            "nvhpc": {
-                "compiler": "nvhpc",
-                "spec": "nvhpc +blas +lapack +mpi@24.3 %gcc@11.2.1",
-                "version": "24.3",
-                "constraint": "env['environment'] in ['kuma_h100', 'kuma_l40s', 'izar']"
-            },
-            "aocc": {
-                "compiler": "aocc",
-                "spec": "aocc +license-agreed@4.2.0 %gcc@11.2.1",
-                "version": "4.2.0",
-                "constraint": "env['environment'] in ['kuma_h100', 'kuma_l40s']"
             }
         },
         "system_packages": [
@@ -81,19 +69,23 @@
             "findutils",
             "flex",
             "font-util",
+            "fontconfig",
             "freetype",
             "gawk",
             "gdbm",
             "gettext",
             "git",
+            "glib",
             "gmake",
             "gmp",
             "gnuplot",
+            "gperf",
             "hcoll",
             "help2man",
             "libaec",
             "libedit",
             "libevent",
+            "libffi",
             "libfuse",
             "libidn2",
             "libpciaccess",
@@ -103,6 +95,7 @@
             "libtool",
             "libunistring",
             "libuuid",
+            "libxct",
             "libxml2",
             "lz4",
             "m4",
diff --git a/stacks/pinot-noir/packages.yaml b/stacks/pinot-noir/packages.yaml
index fbb850507f94064cdc00500b6a4c638decaf9880..82f19961834d29e7f6d9088fb0f45cdc7e77614c 100644
--- a/stacks/pinot-noir/packages.yaml
+++ b/stacks/pinot-noir/packages.yaml
@@ -9,6 +9,11 @@ packages:
       mpi: [openmpi, intel-oneapi-mpi]
       jpeg: [libjpeg]
       zlib-api: [zlib-ng]
+      pkgconfig: [pkgconf]
+      szip: [libaec]
+      unwind: [libunwind]
+      uuid: [libuuid]
+      zlib-api: [zlib-ng+compat]
 
   glibc:
     prefer: ['%gcc@11.2.1']
diff --git a/stacks/pinot-noir/packages_stack.yaml b/stacks/pinot-noir/packages_stack.yaml
index fca8c858142a2d6d9a084219fff80b507321de11..ffe6e7a654275d9cf4e9cc8de60531a4d208a85e 100644
--- a/stacks/pinot-noir/packages_stack.yaml
+++ b/stacks/pinot-noir/packages_stack.yaml
@@ -3,7 +3,6 @@ packages:
     require:
       - spec: '+ipo'
         when: '%gcc'
-
   # ----------------------------------------------------------------------------
   # Requirements
   # ----------------------------------------------------------------------------
@@ -22,12 +21,19 @@ packages:
     '+system', '~taggedlayout', '+test', '+thread', '+timer', '~type_erasure',
     '~versionedlayout', '+wave', '+exception']
 
+  cairo:
+    # ~X avoids a dependency to python (only prefer due to gtkplus)
+    prefer: ['~X']
+
   cuda:
     require:
     - spec: '@12.4.0'
     - spec: '+allow-unsupported-compilers'
       when: '%oneapi'
 
+  emacs:
+    prefer: ['+tls', '+X', 'toolkit=athena']
+
   fenics-dolfinx:
     require: ['+slepc']
 
@@ -73,12 +79,17 @@ packages:
     require:
     - spec: 'fabrics=mlx,mrail,psm3,verbs,udp,tcp,sockets,shm'
 
-  llvm:
-    prefer: ['~clang']
-
   libxcb:
     require: ['+use_spack_interpreter']
 
+  libxml2:
+    # python depends on libxml2 this avoid cyclic dependency
+    require: ['~python']
+
+  llvm:
+    # avoid compiler in lmod module
+    prefer: ['~clang']
+
   mesa:
     require: ['~llvm', '+opengl', '+opengles', '+osmesa']
 
@@ -98,16 +109,22 @@ packages:
     require:
     - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs +internal-pmix ~memchecker'
 
+  pango:
+    prefer: [~X]
+
   petsc:
     require:
     - spec: '+hypre +mumps +saws +scalapack +mpi +suite-sparse +kokkos'
 
   python:
     require:
-    - spec: '+ssl +tkinter'
+    - spec: '+ssl +tkinter +crypt +bz2 +pyexpat +libxml2 +ctypes +uuid'
     - spec: '+optimizations'
       when: '%gcc'
 
+  py-numpy:
+    prefer: ['@1.26.4']
+
   py-tensorflow:
     require: ['+mpi', '+mkl']
 
diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml
index c3146e1de2bddf2ffac336186602e3915667bdf9..7c13e5f9dd575051f50333b3a36cfd29f3a82c65 100644
--- a/stacks/pinot-noir/spack.yaml
+++ b/stacks/pinot-noir/spack.yaml
@@ -40,7 +40,7 @@ spack:
     - core_codes:
         - bzip2
         - cmake
-        - emacs +tls
+        - emacs
         - fastqc
         - fio
         - git
@@ -48,7 +48,6 @@ spack:
         - gmp
         - gnuplot
         - gzip
-        - imagemagick +ghostscript
         - intel-oneapi-advisor
         - intel-oneapi-inspector
         - intel-oneapi-vtune
@@ -112,6 +111,7 @@ spack:
         - ffmpeg +libx264
         - glpk+gmp
         - hwloc
+        - imagemagick +ghostscript
         - intel-oneapi-mkl
         - libxc
         - ncview ^hdf5 ~mpi ^netcdf-c ~mpi ~parallel-netcdf