···7575echo "Merging https://github.com/NixOS/nixpkgs/pull/${curr_haskell_updates_pr_num}..."
7676gh pr merge --repo NixOS/nixpkgs --merge "$curr_haskell_updates_pr_num"
77777878+# Update the list of Haskell package versions in NixOS on Hackage.
7979+echo "Updating list of Haskell package versions in NixOS on Hackage..."
8080+./maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
8181+7882# Update stackage, Hackage hashes, and regenerate Haskell package set
7983echo "Updating Stackage..."
8084./maintainers/scripts/haskell/update-stackage.sh --do-commit
···8488./maintainers/scripts/haskell/regenerate-hackage-packages.sh --do-commit
85898690# Push these new commits to the haskell-updates branch
8787-echo "Pushing commits just created to the haskell-updates branch"
9191+echo "Pushing commits just created to the remote haskell-updates branch..."
8892git push
89939094# Open new PR
···114118EOF
115119)
116120117117-echo "Opening a PR for the next haskell-updates merge cycle"
121121+echo "Opening a PR for the next haskell-updates merge cycle..."
118122gh pr create --repo NixOS/nixpkgs --base master --head haskell-updates --title "haskellPackages: update stackage and hackage" --body "$new_pr_body"
···1919username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
2020password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
2121curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
2222+echo
+22
pkgs/development/haskell-modules/HACKING.md
···206206 script uses the `gh` command to merge the current PR and open a new one.
207207 You should only need to do this once.
208208209209+ This command can be used to authenticate:
210210+209211 ```console
210212 $ gh auth login
211213 ```
212214215215+ This command can be used to confirm that you have already authenticated:
216216+217217+ ```console
218218+ $ gh auth status
219219+ ```
220220+221221+1. Make sure you have setup your `~/.cabal/config` file for authentication
222222+ for uploading the NixOS package versions to Hackage. See the following
223223+ section for details on how to do this.
224224+2132251. Make sure you have correctly marked packages broken. One of the previous
214226 sections explains how to do this.
227227+228228+ In short:
229229+230230+ ```console
231231+ $ ./maintainers/scripts/haskell/hydra-report.hs get-report
232232+ $ ./maintainers/scripts/haskell/hydra-report.hs mark-broken-list
233233+ $ ./maintainers/scripts/haskell/mark-broken.sh --do-commit
234234+ ```
2152352162361. Merge `master` into `haskell-updates` and make sure to push to the
217237 `haskell-updates` branch. (This can be skipped if `master` has recently
···237257 `origin/haskell-updates`.
238258239259 1. Merges the currently open `haskell-updates` PR.
260260+261261+ 1. Updates the version of Haskell packages in NixOS on Hackage.
240262241263 1. Updates Stackage and Hackage snapshots. Regenerates the Haskell package set.
242264