Skip to content
Snippets Groups Projects

add NESTML 7.0.1rc1 to the packages list

Merged Charl Linssen requested to merge chlinssen/ebrains-spack-builds:nestml-7.0.1rc1 into master
1 unresolved thread

This is needed for NESTML to be compatible with the latest release of NEST Simulator (v3.7).

Merge request reports

Merge request pipeline #28632 skipped

Merge request pipeline skipped for 023e9a9b

Merged by Eleni MathioulakiEleni Mathioulaki 11 months ago (Apr 3, 2024 12:16pm UTC)

Loading

Pipeline #28633 passed

Pipeline passed for 232e774f on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 1 commit

    • b28b67ae - enable new version of py-nestml

    Compare with previous version

  • Author Reporter

    oops, thank you!

  • Thanks @chlinssen!

    So, nest@3.7 is not compatible with py-nestml@:3.6? Maybe add some constraints to the

    depends_on('nest', type=('build', 'run'))

    statement, to reflect that? :)

  • So, nest@3.7 is not compatible with py-nestml@:3.6?

    The release doc doesn't state anything like this. It says: "support for the extension modules unloading system introduced in NEST 3.7" — not sure if this a runtime-optional support thing… i.e. could actually mean "any nest supported, but module unloading only supported starting with nest@3.7".

  • You're probably right, I didn't look at the release docs, just vaguely remembered @terhorst mentioning some incompatibility. Anyway, I'll merge this and if any changes are needed after all @chlinssen @terhorst please open a new MR :)

  • added 4 commits

    • b28b67ae...69e33d9b - 2 commits from branch technical-coordination/project-internal/devops/platform:master
    • 5db54024 - add NESTML 7.0.1rc1 to the packages list
    • 023e9a9b - enable new version of py-nestml

    Compare with previous version

  • Indeed, it's actually the other way around, NEST 3.7 or up requires NESTML 7.0.1rc1 or up. But NESTML is itself an optional dependency of NEST (I think), so no strict depends_on lines are necessary.

  • …but that means that we can provide conflict lines? I.e. in nest's package:

    conflicts('py-nestml@:6', when='@3.7:')

    or as py-nestml depends on nest, we can constraint the dependency here:

        depends_on('nest', type=('build', 'run')) # for nestml before 7 any nest will do :)
        depends_on('nest@3.7', when='@7:', type=('build', 'run'))
    Edited by Eric Müller
  • The first (conflicts) line would be the correct one, but we'll have to check with @terhorst if they are okay including this line in the NEST Spack file.

  • Already now, there's a dependency on nest in py-nestml — we could just provide the equivalent constraining there… I don't understand why only the first one is "correct" (technically these are equivalent, this is just a large constraint satisfaction problem here :)).

  • Ah, now I get it… NEST can be top-level, then it needs nestml >= 7 and NESTML can be top-level too, and then it doesn't require nest >= 3.7, did I get that right now?

    Sorry, didn't get that before. Actually, that's a relationship that spack cannot represent between two packages. Typically this would be represented by spitting both packages into "top-level" and "library" parts… then the NESTML-toplevel could have a relaxed dependency on "NEST-library", and "NEST-toplevel" would have the hard constraints on "NESTML-library".

    Edited by Eric Müller
Please register or sign in to reply