Skip to content

feat: Introduces script to generate spack's packages.yaml#6

Draft
muffgaga wants to merge 1 commit into
EESSI:developfrom
EBRAINS-Software-Distribution:feat_generate_spack_packages
Draft

feat: Introduces script to generate spack's packages.yaml#6
muffgaga wants to merge 1 commit into
EESSI:developfrom
EBRAINS-Software-Distribution:feat_generate_spack_packages

Conversation

@muffgaga
Copy link
Copy Markdown

  • parse eessi_api_metadata_software.json
  • extract relevant information for spack external packages → packages.yaml
  • handle typical naming differences (all-lower-case in spack), variants being encoded within module name in EESSI, etc.

(Yes, this is ugly… → let's discuss it; our (EBRAINS/ESD people) plan is to improve it until we can test-drive it on a EESSI install on, e.g., JUSUF/JSC with some SNN simulators (maybe arbor?).)

* parse eessi_api_metadata_software.json
* extract relevant information for spack external packages
  → packages.yaml
* handle typical naming differences (all-lower-case in spack),
  variants being encoded within module name in EESSI, etc.
@muffgaga muffgaga marked this pull request as draft May 27, 2026 18:01
# "type": "ruby",

def heuristic_translate(full_module_name):
spack_package_name = full_module_name.replace("-CUDA/", "/").replace(".MPI/", "/").split("/")[0].lower()
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a nice heuristic to start with, but I can't help wonder if there's a lightweight way to query Spack whether this is a known package name, so we can have fallback heuristics as well (like prefixing with py- for Python packages)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants