The previous approach had the big downside of bypassing
the specified variants through the specified dependencies
of variants. E.g. dune+pdelab~functions would silently ignore
the ~functions aspect, because +pdelab enforces the installation
of dune-functions.
There is no direct mechanism in Spack to specify such
dependencies in a way that enforces the correct variants
on dependent modules. I have now added conflicts between variants
that reflect the Dune module dependencies. In that case
dune+pdelab~functions would throw an error.
This comes at the cost that a command such as
spack install dune+pdelab
is not possible anymore. Instead the user needs to specify
the dependent modules as well:
spack install dune+pdelab+functions+typetree
Note that in order to remove some burden from users,
I removed the variants for the core modules - they are always
installed.
Merge branch 'feature/dune-testtools' into 'master'
ref:spack/dune-spack\> This module is special as it works with the Dune
virtualenv.
See merge request [spack/dune-spack!11]
[spack/dune-spack!11]: gitlab.dune-project.org/spack/dune-spack/merge_requests/11
Merge branch 'feature/enforce-variants' into 'master'
ref:spack/dune-spack\> In my case, some system libraries still slipped in
though I do not know how exactly.
See merge request [spack/dune-spack!9]
[spack/dune-spack!9]: gitlab.dune-project.org/spack/dune-spack/merge_requests/9
Merge branch 'feature/fix-python-with-multiple-versions' into 'master'
ref:spack/dune-spack\> Actually, make install already installs Python
packages, so there is no need to do it manually in a post-install hook.
Additionally, we set the DUNE_PY_DIR and DUNE_CONTROL_PATH environment
variables, so that the Python bindings work even in presence of multiple
installations.
This fixes [#8]
See merge request [spack/dune-spack!8]
[#8]: gitlab.dune-project.org/NoneNone/issues/8
[spack/dune-spack!8]: gitlab.dune-project.org/spack/dune-spack/merge_requests/8
Closes#8
Merge branch 'feature/variant-restructuring' into 'master'
ref:spack/dune-spack\> Some of the variants/dependencies in the prototype were
unneeded, I went through also with a keen eye on keeping the total number of
variants a bit lower. I also added defaults that I consider useful.
Sits on top of [!6]
See merge request [spack/dune-spack!7]
[!6]: gitlab.dune-project.org/NoneNone/merge_requests/6
[spack/dune-spack!7]: gitlab.dune-project.org/spack/dune-spack/merge_requests/7
Merge branch 'feature/cleanups' into 'master'
ref:spack/dune-spack\> Regarding coding style and use of Spack functions.
Builds on top of [!5]
See merge request [spack/dune-spack!6]
[!5]: gitlab.dune-project.org/NoneNone/merge_requests/5
[spack/dune-spack!6]: gitlab.dune-project.org/spack/dune-spack/merge_requests/6
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
Actually, make install already installs Python packages,
so there is no need to do it manually in a post-install hook.
Additionally, we set the DUNE_PY_DIR and DUNE_CONTROL_PATH
environment variables, so that the Python bindings work even
in presence of multiple installations.
Some of the variants/dependencies in the prototype were unneeded,
I went through also with a keen eye on keeping the total number
of variants a bit lower. I also added defaults that I consider
useful.
Merge branch 'feature/ci-setup-2' into 'master'
ref:spack/dune-spack\> This finishes the CI setup after an initial merge that
was necessary to start running CI on the project.
See merge request [spack/dune-spack!4]
[spack/dune-spack!4]: gitlab.dune-project.org/spack/dune-spack/merge_requests/4
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 of _get_needed_resources:
It modifies the resource list to include the transitive closure of
Dune module dependencies and then calls the original implementation.
Merge branch 'bugfix/add-gawk' into 'master'
ref:spack/dune-spack\> The duneproject script uses awk. On my machine it fails
because system awk is messed up by the spack set-up LD_LIBRARY_PATH.
See merge request [spack/dune-spack!1]
[spack/dune-spack!1]: gitlab.dune-project.org/spack/dune-spack/merge_requests/1
Merge branch 'feature/disclaimer' into 'master'
ref:spack/dune-spack\> As the repository is public, we should warn about its
experimental status.
See merge request [spack/dune-spack!2]
[spack/dune-spack!2]: gitlab.dune-project.org/spack/dune-spack/merge_requests/2