Skip to content

Take better advantage of cabal nix-style builds #1182

@cdsmith

Description

@cdsmith

If I figured out a few issues, I could switch to cabal's nix-style builds, and it would have a few advantages. The basic idea is:

  1. Specify the environment (e.g., available packages) where client code should run, hopefully in a cabal project file?
  2. Let cabal v2-install write a GHC environment file on build that describes the exact set of build artifacts that implement that environment. Pass this environment file to GHCJS when building client code.

The more formal specification of the environment (instead of "whatever packages happen to be installed right now") is its own reward. But I also expect this to make builds much faster and more reproducible. Currently, I have a tendency to sometimes hand-pick only some packages to rebuild, to save time in the development cycle, and cabal v2-install should make that obsolete.

Challenge: cabal v2-install really doesn't seem to like packages just sitting in a subdirectory. It wants them to come from some repository. I'll have to workaround this somehow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions