Skip to content
/ eic-spack Public

Spack packages for the Electron Ion Collider

Notifications You must be signed in to change notification settings

eic/eic-spack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EIC Spack Repository (builds on Key4HEP)

Build Environments Build Docker Images EIC CI against CVMFS Software Stack

This repository contains Spack packages for the EIC, building on the Key4HEP packages.

While we encourage the inclusion of Spack packages in the Spack repository, we realize that some packages may not be mature enough or have too small of a user base to be accepted there.

Installing Spack

Installing Spack is outside the scope of this repository, but described in the Spack Getting Started page.

The default develop branch of this package repository depends on builtin packages in the upstream Spack develop repository. For specific vesions of Spack (e.g. v0.18.1), please use the corresponding branch (e.g. v0.18) or the latest tag on that branch (e.g. v0.18.5).

Because packages in this repository may depend on packages in the Key4HEP spack repository, you

Adding the EIC Spack Repository

  1. Clone this repository:
git clone https://github.com/eic/eic-spack.git
  1. Add this repository to your Spack configuration:
spack repo add eic-spack

Installing EIC Spack Packages

  1. Find an EIC Spack package:
spack find epic-eic
  1. Install an EIC Spack package:
spack install epic-eic

If this is the first package you install, it will also install all dependencies.

Using EIC Spack Packages

  1. Load the EIC Spack package:
spack load epic-eic
  1. Unload the EIC Spack package:
spack unload epic-eic
  1. Unload all Spack packages:
spack unload -a

Using EIC Spack Packages in Environments

  1. Create and activate a new Spack environment:
spack env create epic-eic-env
spack env activate epic-eic-env
  1. Install an EIC Spack package:
spack install epic-eic

If you already installed this package earlier, this will go very quick.

  1. Deactivate the Spack environment:
spack env deactivate

You can verify with which root inside and outside the environment that you did indeed use a different installation base.

Containerizing a Spack Environment

Once you have a Spack environment setup, you can easily turn it into a Docker container recipe from any directory with an environment spack.yaml file:

cd $SPACK_ROOT/var/spack/environments/epic-eic-env/
spack containerize > Dockerfile