Dominic Kempf 74319f96f9 [!5] Add support for different versions (master + 2.7) and refactor a bit
Merge branch 'feature/versions-and-refactoring' into 'master'

ref:spack/dune-spack\> This should have been two merge requests really, but by
the time I finished it was much harder to separate the two from each other
than just throw it online\...

This adds a loop with versions around the resource definitions allowing for
multiple versions of the dune package with the expected behaviour of
dependency forwarding to Dune modules.

Additionally, it avoids the code duplication from upstream in
_get_needed_resources: Instead, it modifies the resource list to include the
transitive closure of Dune module dependencies and then calls the original
implementation.

@gauthier.folzan I would be really interested in your opinion on this.

This fixes [#2].

See merge request [spack/dune-spack!5]

  [#2]: gitlab.dune-project.org/NoneNone/issues/2
  [spack/dune-spack!5]: gitlab.dune-project.org/spack/dune-spack/merge_requests/5


Closes #2
2020-05-15 09:18:58 +00:00
2020-03-30 22:20:53 +02:00
2020-05-13 12:22:31 +02:00

DISCLAIMER

This repository is in early experimental stage. As soon as it is mature, this disclaimer will be removed and the project will be publicly announced through the mailing list. Until then, you are invited to try this and report your experiences, but you might experience some problems.

Dune Spack repository

Installation

Clone spack git

git clone https://github.com/spack/spack.git
source ./share/spack/setup-env.sh
spack bootstrap

add dune spack repo

cd $HOME
git clone https://github.com/gauthier12/dune_spack_repo.git
spack repo add dune_spack_repo

Install dune with desired modules

spack install dune+desired+modules+.....

by example

spack install dune+uggrid+grid+functions

modules dependencies wil be automatically downloaded and added

Use

To use dune, load the module

source /PATH/TO/SPACK/share/spack/setup-env.sh
spack load dune

if python module was installed, python bindings are avalaible after loading the module

Build a new module

Load the dune module

source /PATH/TO/SPACK/share/spack/setup-env.sh
spack load dune

Initialize dune project

duneproject

Answer the questions about the new modules, enter the project folder and compile with standard cmake

mkdir build
cd build 
cmake ..
cmake --build .
Description
A Spack repository for the Dune core, staging and extension modules.
Readme 118 KiB
Languages
Python 94.5%
Dockerfile 3.9%
Shell 1.6%