haskell / haskell/hackage-server

Can we get a metadata file with a specific revision or hash?

Open
#1,421 16 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Haskell
Stars
467
Forks
225
PR merge metrics
No merged PRs in 30d

Description

I'm currently trying to create a Nixified Haskell package set using `plan.json`. [This is the approach](https://github.com/bglgwyng/plan2flake/blob/main/flake.nix#L48-L810) I'm taking.
I need to make the process of fetching packages from Hackage using `plan.json` reproducible. However, there are currently these issues:

The cabal file of the network-uri package fetched through the URI like https://hackage.haskell.org/package/network-uri-2.4.2.2/network-uri-2.4.2.2.tar.gz is the originally uploaded version, not the latest revision. This is fine since the `pkg-src-sha256` in `plan.json` also points to the hash of the original version.
I discovered that I can fetch the latest revision via https://hackage.haskell.org/package/network-uri-2.4.2.2/network-uri.cabal. The hash of that cabal file matches the `pkg-cabal-sha256` in `plan.json`.
To make builds perfectly reproducible, I need to be able to fetch a specific version of the .cabal file rather than just the latest revision. Does Hackage currently provide a way to do this?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.