Skip to content

Recipe customization / variants / better pinning #1142

Closed

Description

This issue is to track progress on an issue that has already spanned several PRs and issues. Since this issue has already spread across several PRs, this issue is being proposed to be the central discussion point, and any discussion on PRs should strictly be review of code, more than discussion of concepts.

The idea is that we need a better way of customizing recipes. When the numpy x.x style of pinning was added ( #573 ), people appreciated it, but wanted to generalize it. Jinja2 is already flexible enough, but we lack configuration schemes for reusable data, as well as some syntactic sugar to make configuration sufficiently easy.

Design goals:

  • support config files at 3 levels, with lower levels overriding the upper ones:
    • included with conda-build
    • user's install-wide
    • per-package
  • Identify key confiugration types:
    • pinning versions (versions that must match between build and run)
    • variants of a particular feature (BLAS: MKL/OpenBLAS/ATLAS/etc.)
    • Specifying compiler / toolchain options
  • Specify how to distinguish builds: how do different variations end up with different filenames?
    • Probably can't just have all variations contribute to build string directly.
    • Hash instead? Installation would need to access metadata, not rely on build string

Current PR for implementation: #966

Past issues/PRs where much discussion has occurred:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    locked[bot] locked due to inactivity[bot] locked due to inactivity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions