Skip to content

source-repository-package seems to be treated as local #5586

Closed
@quasicomputational

Description

@quasicomputational

This means that --enable-tests will build the tests of those dependencies, --enable-benchmarks will build the benchmarks, new-test will (presumably) run their tests, and so on.

This was quite surprising to me, since my primary use case for source-repository-package is to swap in a broken version of a dependency with a fixed pre-release version from the VCS. But doing that means that, if the dependency's test suite is not in great condition (e.g., it doesn't even compile because I'm trying to port things to a new GHC version), I'm suddenly going to be affected by that!

The discussion in #2189 suggests that this is for implementation convenience (which is entirely reasonable), rather than a deliberate decision. Are there use cases where packages being pulled from a VCS should be local for principled reasons? I can't think of any off the top of my head, but there's a whole universe of potential weirdness out there.

Edit: Also, I suspect we could decouple the relevant aspects of 'localness': a source-repository-package could be treated as local for the purposes of recompilation checking and not going into the global store, but non-local for the purposes of 'should this package's tests/benchmarks be available for building/running?'.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions