tweag/asterius

Multiple global package databases

Aperta

#298 aperta il 16 set 2019

 (3 commenti) (0 reazioni) (0 assegnatari)Haskell (56 fork)batch import
P2good first issuetype: feature request

Metriche repository

Star
 (1949 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Currently, we hardcode the global package database path to somewhere in the Cabal datadir of the asterius package, and ahc-boot populates the package database by executing the booting process. This is a major source of coffee break sessions in the past: whenever we need to modify something in the boot libs, we'll need to wipe the ghc-toolkit/asterius installation, rebuild and do another round of ahc-boot.

We should have a default global package database path which falls back to the Cabal datadir, but additionally:

  • Allow the source of boot libs to be picked up from the current working source tree, instead of from the datadir of ghc-toolkit (which requires recompilation of ghc-toolkit and asterius)
  • Allow ahc-boot to use a new global package database path
  • Allow ahc-boot to only compile a part of boot libs, e.g. "up to package X", and later resume the compilation of the rest of boot libs
  • Allow ahc, ahc-link, etc to use custom global package paths

In this way, the experience of hacking boot libs can be much smoother. Still, we're free to schedule coffee breaks whenever we want.

Guida contributor