├── .github
├── FUNDING.yml
└── workflows
│ └── haskell-updates-status.yml
├── LICENSE
├── README-footer.md
├── README.md
└── update.sh
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: cdepillabout
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |
--------------------------------------------------------------------------------
/.github/workflows/haskell-updates-status.yml:
--------------------------------------------------------------------------------
1 |
2 | name: "Haskell Updates Status"
3 |
4 | on:
5 | schedule:
6 | # * is a special character in YAML so you have to quote this string
7 | # Update every 6 hours
8 | - cron: '0 */6 * * *'
9 |
10 | # Allow manually starting the GitHub Action from the browser. This is nice for
11 | # testing. You can manually start the workflow by clicking the "Run workflow" button on
12 | # https://github.com/cdepillabout/nix-haskell-updates-status/actions/workflows/haskell-updates-status.yml
13 | workflow_dispatch:
14 | inputs: {}
15 |
16 | jobs:
17 | update:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@v4
21 |
22 | - uses: cachix/install-nix-action@v26
23 |
24 | - name: Run ./update.sh
25 | run: |
26 | # Create the updated README.md using the script from this checkout.
27 | ./update.sh
28 | mv README.md ../README.md-new
29 |
30 | - name: Update README.md on main branch
31 | run: |
32 | # Set GitHub Actions Bot email address and user name.
33 | git config --global user.name 'github-actions'
34 | git config --global user.email '41898282+github-actions[bot]@users.noreply.github.com'
35 |
36 | # Get the current commit that we are running this workflow from.
37 | commit=$(git rev-parse --short HEAD)
38 |
39 | # Checkout the remote main branch.
40 | git fetch
41 | git reset --hard origin/main
42 |
43 | # Check in our new README.md file and push it to the remote main branch.
44 | mv ../README.md-new ./README.md
45 | git add README.md
46 | git commit -m "Updated README.md from update.sh at ${commit}"
47 | git push origin HEAD:main
48 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2021, Dennis Gosnell
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/README-footer.md:
--------------------------------------------------------------------------------
1 |
2 | ----------------------------------------------------------------------
3 |
4 | This README.md is automatically updated every 6 hours with the status of the
5 | [`haskell-updates` branch/jobset on Hydra](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates)
6 | from [Nixpkgs](https://github.com/NixOS/nixpkgs). This is mostly only of
7 | interest to the [Nixpkgs Haskell maintainers](https://github.com/orgs/NixOS/teams/haskell).
8 |
9 | See the
10 | [haskell-modules/HACKING.md](https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md)
11 | file for more information about this build report.
12 |
13 | You may also be interested in the currently open
14 | [`haskell-updates` PR in Nixpkgs](https://github.com/nixos/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Ahaskell-updates).
15 |
16 | You can force the GitHub Action to run (and the README.md to be updated) by
17 | manually running the Action. To do this, go to the Action list screen
18 | (https://github.com/cdepillabout/nix-haskell-updates-status/actions),
19 | click on any of the Workflow runs, and then click the `Re-run jobs` button.
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### [haskell-updates build report from hydra](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates)
2 | *evaluation [1815785](https://hydra.nixos.org/eval/1815785) of nixpkgs commit [2c526a5](https://github.com/NixOS/nixpkgs/commits/2c526a5d52a941722c59465a07befddbb3b300a3) as of 2025-06-03 18:11 UTC*
3 |
4 | 🔴 **Branch not mergeable**
5 | * Too many outstanding jobs on x86_64-linux.
6 | * `mergeable` jobset is not finished.
7 | * `maintained` jobset is not finished.
8 |
9 | #### Build summary
10 |
11 | | Platform | Failed ❌ | DependencyFailed ❗ | TimedOut ⌛🚫 | Unfinished ⏳ | Success ✅ |
12 | | --- | --- | --- | --- | --- | --- |
13 | | [x86_64-linux 🐧](https://hydra.nixos.org/eval/1815785?filter=.x86_64-linux) | 10 | 11 | 1 | 5610 | 1760 |
14 | #### Maintained Linux packages with build failure
15 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299140180) [haskellPackages.persistent-sqlite](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.persistent-sqlite) @psibi
16 | #### Maintained Linux packages with failed dependency
17 | - [ ] [git-annex](https://hydra.nixos.org/eval/1815785?filter=git-annex) @peti @roosemberth
18 | - [[🐧⏳]](https://hydra.nixos.org/build/299134870) [toplevel](https://hydra.nixos.org/eval/1815785?filter=git-annex)
19 | - [[🐧❗]](https://hydra.nixos.org/build/299134976) [haskell.packages.ghc9101](https://hydra.nixos.org/eval/1815785?filter=haskell.packages.ghc9101.git-annex)
20 | - [[🐧⏳]](https://hydra.nixos.org/build/299134979) [haskell.packages.ghc9102](https://hydra.nixos.org/eval/1815785?filter=haskell.packages.ghc9102.git-annex)
21 | - [[🐧⏳]](https://hydra.nixos.org/build/299137958) [haskellPackages](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.git-annex)
22 | - [ ] [stack](https://hydra.nixos.org/eval/1815785?filter=stack) @cdepillabout
23 | - [[🐧❗]](https://hydra.nixos.org/build/299142604) [toplevel](https://hydra.nixos.org/eval/1815785?filter=stack)
24 | - [[🐧⏳]](https://hydra.nixos.org/build/299141627) [haskellPackages](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.stack)
25 | #### Unmaintained packages with build failure
26 | 9 job(s)
27 |
28 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299135676) [haskellPackages.aeson-warning-parser](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.aeson-warning-parser) ⤴️ 2 | 6
29 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299137169) [haskellPackages.diff-loc](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.diff-loc) ⤴️ 1 | 1
30 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299138327) [haskellPackages.hash-store](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.hash-store) ⤴️ 0 | 1
31 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299139104) [haskellPackages.kmeans](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.kmeans) ⤴️ 0 | 1
32 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299135789) [haskellPackages.amazonka-connectparticipant](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.amazonka-connectparticipant)
33 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299137101) [haskellPackages.dbus-app-launcher](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.dbus-app-launcher)
34 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299137822) [haskellPackages.genvalidity-network-uri](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.genvalidity-network-uri)
35 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299139659) [haskellPackages.more-extensible-effects](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.more-extensible-effects)
36 | - [ ] [[🐧❌]](https://hydra.nixos.org/build/299140266) [haskellPackages.phino](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.phino)
37 |
38 |
39 | #### Unmaintained packages with failed dependency
40 | 9 job(s)
41 |
42 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299142387) [haskellPackages.yesod-persistent](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.yesod-persistent) ⤴️ 17 | 89
43 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299142379) [haskellPackages.yesod-form](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.yesod-form) ⤴️ 16 | 86
44 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299142377) [haskellPackages.yesod](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.yesod) ⤴️ 7 | 51
45 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299142393) [haskellPackages.yesod-test](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.yesod-test) ⤴️ 3 | 9
46 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299137785) [haskellPackages.fs-sim](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.fs-sim)
47 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299138740) [haskellPackages.hsendxmpp](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.hsendxmpp)
48 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299138923) [haskellPackages.inspection-proxy](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.inspection-proxy)
49 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299142396) [haskellPackages.yesod-session-persist](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.yesod-session-persist)
50 | - [ ] [[🐧❗]](https://hydra.nixos.org/build/299142403) [haskellPackages.yesod-tableview](https://hydra.nixos.org/eval/1815785?filter=haskellPackages.yesod-tableview)
51 |
52 |
53 | #### Top 50 broken packages, sorted by number of reverse dependencies
54 | 50 job(s)
55 |
56 | [haskell98](https://packdeps.haskellers.com/reverse/haskell98) ⤴️ 152
57 | [failure](https://packdeps.haskellers.com/reverse/failure) ⤴️ 72
58 | [enumerator](https://packdeps.haskellers.com/reverse/enumerator) ⤴️ 56
59 | [connection](https://packdeps.haskellers.com/reverse/connection) ⤴️ 50
60 | [util](https://packdeps.haskellers.com/reverse/util) ⤴️ 49
61 | [derive](https://packdeps.haskellers.com/reverse/derive) ⤴️ 48
62 | [fclabels](https://packdeps.haskellers.com/reverse/fclabels) ⤴️ 47
63 | [syb-with-class](https://packdeps.haskellers.com/reverse/syb-with-class) ⤴️ 42
64 | [MonadCatchIO-transformers](https://packdeps.haskellers.com/reverse/MonadCatchIO-transformers) ⤴️ 41
65 | [TypeCompose](https://packdeps.haskellers.com/reverse/TypeCompose) ⤴️ 41
66 | [PrimitiveArray](https://packdeps.haskellers.com/reverse/PrimitiveArray) ⤴️ 35
67 | [crypto-random](https://packdeps.haskellers.com/reverse/crypto-random) ⤴️ 35
68 | [dual](https://packdeps.haskellers.com/reverse/dual) ⤴️ 32
69 | [hsp](https://packdeps.haskellers.com/reverse/hsp) ⤴️ 32
70 | [language-ecmascript](https://packdeps.haskellers.com/reverse/language-ecmascript) ⤴️ 31
71 | [iteratee](https://packdeps.haskellers.com/reverse/iteratee) ⤴️ 29
72 | [composite-base](https://packdeps.haskellers.com/reverse/composite-base) ⤴️ 28
73 | [regexpr](https://packdeps.haskellers.com/reverse/regexpr) ⤴️ 27
74 | [text-format](https://packdeps.haskellers.com/reverse/text-format) ⤴️ 27
75 | [crypto-numbers](https://packdeps.haskellers.com/reverse/crypto-numbers) ⤴️ 25
76 | [either-unwrap](https://packdeps.haskellers.com/reverse/either-unwrap) ⤴️ 25
77 | [Crypto](https://packdeps.haskellers.com/reverse/Crypto) ⤴️ 22
78 | [crypto-pubkey](https://packdeps.haskellers.com/reverse/crypto-pubkey) ⤴️ 22
79 | [haskelldb](https://packdeps.haskellers.com/reverse/haskelldb) ⤴️ 22
80 | [wxdirect](https://packdeps.haskellers.com/reverse/wxdirect) ⤴️ 22
81 | [BiobaseTypes](https://packdeps.haskellers.com/reverse/BiobaseTypes) ⤴️ 21
82 | [alg](https://packdeps.haskellers.com/reverse/alg) ⤴️ 21
83 | [hw-rankselect-base](https://packdeps.haskellers.com/reverse/hw-rankselect-base) ⤴️ 21
84 | [libxml-sax](https://packdeps.haskellers.com/reverse/libxml-sax) ⤴️ 21
85 | [wxc](https://packdeps.haskellers.com/reverse/wxc) ⤴️ 21
86 | [biocore](https://packdeps.haskellers.com/reverse/biocore) ⤴️ 20
87 | [hw-excess](https://packdeps.haskellers.com/reverse/hw-excess) ⤴️ 20
88 | [reform](https://packdeps.haskellers.com/reverse/reform) ⤴️ 20
89 | [wxcore](https://packdeps.haskellers.com/reverse/wxcore) ⤴️ 20
90 | [attoparsec-enumerator](https://packdeps.haskellers.com/reverse/attoparsec-enumerator) ⤴️ 19
91 | [cprng-aes](https://packdeps.haskellers.com/reverse/cprng-aes) ⤴️ 19
92 | [fay](https://packdeps.haskellers.com/reverse/fay) ⤴️ 19
93 | [harp](https://packdeps.haskellers.com/reverse/harp) ⤴️ 19
94 | [hsx2hs](https://packdeps.haskellers.com/reverse/hsx2hs) ⤴️ 19
95 | [hw-balancedparens](https://packdeps.haskellers.com/reverse/hw-balancedparens) ⤴️ 19
96 | [ixset](https://packdeps.haskellers.com/reverse/ixset) ⤴️ 19
97 | [mmsyn2](https://packdeps.haskellers.com/reverse/mmsyn2) ⤴️ 19
98 | [wx](https://packdeps.haskellers.com/reverse/wx) ⤴️ 19
99 | [BiobaseENA](https://packdeps.haskellers.com/reverse/BiobaseENA) ⤴️ 18
100 | [asn1-data](https://packdeps.haskellers.com/reverse/asn1-data) ⤴️ 18
101 | [bytestring-show](https://packdeps.haskellers.com/reverse/bytestring-show) ⤴️ 18
102 | [dbus-core](https://packdeps.haskellers.com/reverse/dbus-core) ⤴️ 18
103 | [digit](https://packdeps.haskellers.com/reverse/digit) ⤴️ 18
104 | [gtksourceview2](https://packdeps.haskellers.com/reverse/gtksourceview2) ⤴️ 18
105 | [hw-rankselect](https://packdeps.haskellers.com/reverse/hw-rankselect) ⤴️ 18
106 |
107 |
108 |
109 | *⤴️: The number of packages that depend (directly or indirectly) on this package (if any). If two numbers are shown the first (lower) number considers only packages which currently have enabled hydra jobs, i.e. are not marked broken. The second (higher) number considers all packages.*
110 |
111 | *Report generated with [maintainers/scripts/haskell/hydra-report.hs](https://github.com/NixOS/nixpkgs/blob/haskell-updates/maintainers/scripts/haskell/hydra-report.hs)*
112 |
113 |
114 | ----------------------------------------------------------------------
115 |
116 | This README.md is automatically updated every 6 hours with the status of the
117 | [`haskell-updates` branch/jobset on Hydra](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates)
118 | from [Nixpkgs](https://github.com/NixOS/nixpkgs). This is mostly only of
119 | interest to the [Nixpkgs Haskell maintainers](https://github.com/orgs/NixOS/teams/haskell).
120 |
121 | See the
122 | [haskell-modules/HACKING.md](https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md)
123 | file for more information about this build report.
124 |
125 | You may also be interested in the currently open
126 | [`haskell-updates` PR in Nixpkgs](https://github.com/nixos/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Ahaskell-updates).
127 |
128 | You can force the GitHub Action to run (and the README.md to be updated) by
129 | manually running the Action. To do this, go to the Action list screen
130 | (https://github.com/cdepillabout/nix-haskell-updates-status/actions),
131 | click on any of the Workflow runs, and then click the `Re-run jobs` button.
132 |
--------------------------------------------------------------------------------
/update.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env nix-shell
2 | #! nix-shell -i bash
3 | #! nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/haskell-updates.tar.gz
4 | #! nix-shell -p "with import (builtins.fetchTarball https://github.com/NixOS/nixpkgs/archive/nixos-24.11.tar.gz) {}; hydra_unstable"
5 | #! nix-shell -p "writers.writeHaskellBin \"hydra-report\" {libraries = with haskellPackages; [aeson req];} (path + \"/maintainers/scripts/haskell/hydra-report.hs\")"
6 | #! nix-shell -p "writers.writeBashBin \"get-nixpkgs-path\" \"echo \${path}\""
7 |
8 | # This script updates the README.md with the latest build report from Hydra for
9 | # the `haskell-updates` branch in Nixpkgs.
10 | #
11 | # See https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md
12 | # for more information about this process.
13 | #
14 | # TODO: This file hard-codes the Haskell libraries used by the nixpkgs
15 | # maintainers/scripts/haskell/hydra-report.hs file.
16 | # It would be nice to be able to figure out these libraries automatically.
17 | #
18 | # TODO: The `get-nixpkgs-path` is used to get the path to the nixpkgs repo that
19 | # has been downloaded for the nix-shell -I argument. This is somewhat of a hack.
20 | # I wouldn't be surprised if there wasn't an easier way to get the path to the
21 | # nixpkgs repo from within nix-shell.
22 | #
23 | # TODO: This uses `hydra_unstable` from 24.11 because `hydra-unstable` is sometimes broken
24 | # on `master`.
25 |
26 | set -u -e
27 |
28 | # Get the updated report from Hydra.
29 | if ! hydra-report get-report; then
30 | echo
31 | echo "Failure when running \`hydra-report get-report\`."
32 | echo "This may have been a timeout, since Hydra is terrible."
33 | echo "Trying again with \`--slow\` flag..."
34 | echo
35 | hydra-report get-report --slow
36 | fi
37 |
38 | # Create the markdown output from the report. Save it to the README.md file.
39 | #
40 | # Note that the `hydra-report ping-maintainers` command must be run the root of
41 | # the nixpkgs repo.
42 | (cd "$(get-nixpkgs-path)" && LC_ALL=en_US.UTF-8 hydra-report ping-maintainers) > README.md
43 |
44 | # Add the footer to the end of the README.
45 | cat README-footer.md >> README.md
46 |
--------------------------------------------------------------------------------