@@ -0,0 +1,34 @@
3+This tool is used to update the `hackage-packages.nix` file in the nixpkgs repo.
4+Most of the time we will not need run this manually (since it is run automatically
5+on the upstream nixpkgs). The cases when we would need to run this manually are:
7+* We have changed hackage2nix in some way and we want to check that it
10+* We have a fork of nixpkgs where we have added or changed
11+the name or location in nixpkgs of a native package used by a hackage package
12+and we want to check that hackage-packages.nix will be updated correctly.
14+**Important:** this must be run on a **case sensitive file system**.
15+On macOS you can use [this](https://gist.github.com/dixson3/8360571) to create one
16+(you can replace 60g with 4g as that should be plenty).
19+Replace `git@github.com:NixOS/nixpkgs.git` with a fork you have access to.
21+git clone git@github.com:NixOS/cabal2nix.git
23+git clone git@github.com:NixOS/nixpkgs.git
24+git clone git@github.com:commercialhaskell/all-cabal-hashes.git
25+mv all-cabal-hashes hackage
29+#### Running Hackage2nix
30+This will run hackage2nix and push a commit with the updated `hackage-packages.nix`
31+file to your fork of `nixpkgs`.