dream2nix icon indicating copy to clipboard operation
dream2nix copied to clipboard

create repo nix-comunity/all-cabal-json

Open DavHau opened this issue 3 years ago • 3 comments

... which contains the cabal files of all hackage packages converted to json (by using cabal2json). This can be based on https://github.com/commercialhaskell/all-cabal-hashes, which contains cabal files and hashes. Basically we just need to exchange all cabal files in there with their json representation.

Requriements:

  • The repo should contain a flake with an app which updates the data with the latest cabal files of all-cabal-hashes.
  • The flake app could be implemented as an impure derivation
  • The update job should be triggered by a github action regularly to update the repo with the latest packages from all-cabal-hashes.

Benefits: This will be a major performance improvement. Currently the initial evaluation time for haskell projects suffers because all relevant cabal files need to be converted to json on-the-fly via IFD.

DavHau avatar Jun 17 '22 14:06 DavHau

An example implementation for running cabal2json on all cabal files using gnu parallel can be found at: github:NorfairKing/cabal2json#checks.x86_64-linux.all-cabal-json-files

DavHau avatar Jun 18 '22 12:06 DavHau

i am on it

m1-s avatar Jun 27 '22 07:06 m1-s

I think I am done with this. It only took me 29 days :).

The job runs once per day. The json documents are pushed to the hackage branch. https://github.com/nix-community/all-cabal-json/tree/hackage

Let me know if there is anything missing for this issue to be closed.

m1-s avatar Jul 26 '22 13:07 m1-s