# in spack-stack-1.5.1 directory: . setup.sh mkdir envs/gsi-addon cp -r ../unified-env/{site,common} $SPACK_STACK_DIR/envs/gsi-addon upstreampath=$(realpath $SPACK_STACK_DIR/envs/unified-env/install) cat < $SPACK_STACK_DIR/envs/gsi-addon/spack.yaml spack: concretizer: unify: when_possible view: false include: - site - common definitions: - compilers: compilerz - packages: - global-workflow-env ^bufr@11.7.0 ^metplus@3.1.1 ^met@9.1.3 - ufs-weather-model-env specs: - matrix: - [\$packages] - [\$compilers] upstreams: spack-stack-1.5.1-unified-env: install_tree: upstreampath repos: - \$env/envrepo EOF sed -i "s|upstreampath|$upstreampath|" $SPACK_STACK_DIR/envs/gsi-addon/spack.yaml sed -i "s|compilerz|$(grep -oP 'compilers: \K.+' $SPACK_STACK_DIR/envs/unified-env/spack.yaml)|" $SPACK_STACK_DIR/envs/gsi-addon/spack.yaml mkdir -p $SPACK_STACK_DIR/envs/gsi-addon/envrepo/packages echo -en "repo:\n namespace: envrepo" > $SPACK_STACK_DIR/envs/gsi-addon/envrepo/repo.yaml cp -r $SPACK_ROOT/var/spack/repos/builtin/packages/met/ $SPACK_STACK_DIR/envs/gsi-addon/envrepo/packages/. sed -i 's|\(def setup_build_environment(self, env):\)|\1\n env.prepend_path("LD_LIBRARY_PATH", self.spec["python"].prefix.lib)|' $SPACK_STACK_DIR/envs/gsi-addon/envrepo/packages/met/package.py spack env activate $SPACK_STACK_DIR/envs/gsi-addon spack concretize -f |& tee $SPACK_STACK_DIR/envs/gsi-addon/log.concretize if [ $(grep -E '^ - ' $SPACK_STACK_DIR/envs/gsi-addon/log.concretize | grep -Fv -e global-workflow-env@ -e '^bufr@' -e '^met@' -e '^metplus@' | wc -l) -gt 0 ]; then echo ':(' ; fi spack install --verbose |& tee $SPACK_STACK_DIR/envs/gsi-addon/log.install spack module lmod refresh --upstream-modules spack stack setup-meta-modules