Commit graph

20 commits

Author SHA1 Message Date
sternenseemann 8fec8af67a haskellPackages.cabal2nix-unstable: use separate bin output 2025-07-30 13:02:47 +02:00
nixpkgs-ci[bot] 7873608739
Merge cda03d762a into haskell-updates 2025-07-19 00:22:11 +00:00
Silvan Mosberger b68cc636d3 treewide: Remove nixfmt-rfc-style from update script shebangs
Based on the Nixpkgs used and the version of nixfmt-rfc-style in that
version, it's likely that not the correct version is used.

Update scripts should instead run within a Nixpkgs development shell
(`nix-shell`/`nix develop`/`direnv`), where the correct version of
`nixfmt` (although `treefmt` should be preferred) is always available.
2025-07-15 23:27:22 +02:00
sternenseemann 5e758ae573 maintainers/haskell/regen-h-packages.sh: let user edit commit msg
Calling git commit with --edit here, allows the user to rephrase the
very nondescript default message, in doing so e.g. clarifying why the
regeneration was necessary etc. This should hopefully encourage better
commit mesages.
2025-07-10 18:06:02 +02:00
sternenseemann f834f1dacc maintainers/scripts/haskell: briefer commit message bodies
The “This commit was generated by …” message is very wordy and often
exceeds 72 characters which is a good (loose) target for wrapping lines
in commit messages.
2025-07-10 18:06:02 +02:00
sternenseemann c85656eae6 maintainers/scripts/haskell: don't redundantly add C++ Nix to env
Since the shebang calls nix-shell, we can safely assume that Nix (Lix,
C++ Nix) is installed. Our scripts should support a wide enough range of
Nix versions so that using the “impure” version of the tool is not a
problem.

This works around #400784. My theory is that the Nix frontend commands
no longer work with older versions of the Nix daemon nor the Lix daemon
in our workloads.
2025-06-30 16:18:48 +02:00
Wolfgang Walther c1e7bdadb0
maintainers/scripts/haskell/regenerate-hackage-packages.sh: run nixfmt without --fast as well 2025-04-06 11:35:14 +02:00
Wolfgang Walther 4b1644526a
maintainers/scripts/haskell/regenerate-hackage-packages.sh: run nixfmt on hackage-packages.nix 2025-04-05 14:20:08 +02:00
maralorn b9cae33009 haskellPackages.cabal2nix-unstable: 2024-01-04 -> 2024-02-05 2024-02-05 23:32:27 +01:00
maralorn e4b66fa1a1 maintainers/scripts/haskell: Integrate transitive-broken into regeneration script 2023-04-23 10:47:36 +02:00
sternenseemann b7e41b825e maintainers/haskell: generate core-pkgs hackage2nix configuration
`ghc-pkg list` tells us everything hackage2nix needs to know. In the
past the core-packages list and compiler setting in hackage2nix was
maintained manually which inevitably leads to it being forgot once in a
while – this will then mess with flag resolution when generating the
package set in some cases. Luckily, we can just let a simple derivation
do this for us.

Resolves #202621.
2023-02-19 19:52:17 +01:00
Profpatsch a23d59e2ed regenerate-hackage-packages.sh: use runCommandLocal
Running tar will not benefit from running on a builder (it’s mostly
I/O load and cannot be parallelized), and the network will dominate.
2022-03-11 14:32:36 +01:00
sternenseemann be6de30ca4 maintainers/scripts/haskell: make commit messages more consistent
Make sure they are all prefixed with haskellPackages: except for
update-hackage.sh which changes the top-level attribute
all-cabal-hashes.
2021-06-06 18:53:56 +02:00
sternenseemann 1e7351550c maintainers/…/regenerate-hackage-packages.sh: overrideable hackage2nix
Allow setting the HACKAGE2NIX environment variable to change the
hackage2nix the script uses to an absolute path to a local build. Useful
to test local changes in a realistic environment.
2021-06-05 17:03:08 +02:00
Malte Brandy 66de11da71
maintainers/scripts/haskell/regenerate-hackage-packages.sh: Small improvents and encoding workaround 2021-05-09 01:01:33 +02:00
Malte Brandy 7f236bd4b2
hackage2nix: Split configuration, auto disable hydra builds
We split configuration-hackage2nix.yaml into multiple files.  We bump
cabal2nix-unstable to get support for multiple config files in
hackage2nix.

* The file main.yaml is only supposed to be edited by humans.
* The file stackage.yaml is only supposed to be updated by the
  update-stackage.sh
* The file broken.yaml can be edited by humans, but probably future
  helpers will want to insert broken packages into this file based on
  hydra reports.
* The file transitive-broken.yaml is newly introduced to be generated
  by regenerate-transitive-broken-packages.sh

regenerate-transitive-broken-packages.sh makes a nix query (in
transitive-broken-packages.nix) which evaluates all haskellPackages
once with and once without "allowBroken" this way it get's a list of
packages which are broken by some transitive dependency, but does not
disable packages which have eval errors not caused by a broken package.
2021-05-07 21:58:08 +02:00
Malte Brandy f37d5402bc
maintainers/scripts/haskell: Improve commit messages 2021-05-04 14:29:45 +02:00
sternenseemann 794bc5e9ed haskellPackages.cabal2nix-unstable: rename from cabal2nix-latest 2021-05-04 13:38:46 +02:00
Malte Brandy 4dbda0125a
maintainers/scripts/haskell: Add --do-commit option 2021-05-03 22:58:51 +02:00
hyperfekt f3f84855e8
maintainers/scripts/haskell/regenerate-hackage-packages.sh: init
Introduces a script that can be used to update the Nix expressions for

the Haskell package set. In service of that, also

- introduces cabal2nix-latest, which pins the hackage2nix version used

- changes all-cabal-hashes to use fetchFromGitHub

- adds update-hackage.sh & update-cabal2nix-latest.sh & update-stackage.sh maintainer scripts
2021-05-01 21:55:18 +02:00