Skip to content

Commit 18e5bbf

Browse files
committed
upgrade nix dependencies
This updates the flake and since we haven't hacked on this for ages the overlays aren't needed any more since all of them are now available as builds.
1 parent 550ccad commit 18e5bbf

13 files changed

+90
-227
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
From 7a1346f32cba7028846e88cc6c56c4123ab5faad Mon Sep 17 00:00:00 2001
2+
From: =?UTF-8?q?R=C3=B3man=20Joost?= <[email protected]>
3+
Date: Wed, 1 Jan 2025 10:05:46 +1000
4+
Subject: [PATCH] use newer ubuntu image
5+
6+
Currently a bug in the older versions prevents the caching step to
7+
work:
8+
9+
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
10+
---
11+
.github/workflows/haskell-ci.yml | 4 ++--
12+
1 file changed, 2 insertions(+), 2 deletions(-)
13+
14+
diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml
15+
index 4e6aede..0feae24 100644
16+
--- a/.github/workflows/haskell-ci.yml
17+
+++ b/.github/workflows/haskell-ci.yml
18+
@@ -19,11 +19,11 @@ on:
19+
jobs:
20+
linux:
21+
name: Haskell-CI - Linux - ${{ matrix.compiler }}
22+
- runs-on: ubuntu-20.04
23+
+ runs-on: ubuntu-22.04
24+
timeout-minutes:
25+
60
26+
container:
27+
- image: buildpack-deps:bionic
28+
+ image: buildpack-deps:jammy
29+
continue-on-error: ${{ matrix.allow-failure }}
30+
strategy:
31+
matrix:
32+
--
33+
2.47.0
34+

.github/workflows/haskell-ci.yml

+21-61
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# This GitHub workflow config has been generated by a script via
22
#
3-
# haskell-ci '--hlint' '--hlint-job' '9.4.7' '--haddock' '--apt' 'elinks tmux vim less notmuch libnotmuch-dev libtalloc-dev' '--github-patches' '.github/haskell-ci-github.patch' 'github' 'purebred.cabal'
3+
# haskell-ci 'github' 'purebred.cabal' '--config' 'cabal.haskell-ci'
44
#
55
# To regenerate the script (for example after adjusting tested-with) run
66
#
77
# haskell-ci regenerate
88
#
99
# For more information, see https://github.com/haskell-CI/haskell-ci
1010
#
11-
# version: 0.17.20231010
11+
# version: 0.18.1
1212
#
13-
# REGENDATA ("0.17.20231010",["--hlint","--hlint-job","9.4.7","--haddock","--apt","elinks tmux vim less notmuch libnotmuch-dev libtalloc-dev","--github-patches",".github/haskell-ci-github.patch","github","purebred.cabal"])
13+
# REGENDATA ("0.18.1",["github","purebred.cabal","--config","cabal.haskell-ci"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -19,11 +19,11 @@ on:
1919
jobs:
2020
linux:
2121
name: Haskell-CI - Linux - ${{ matrix.compiler }}
22-
runs-on: ubuntu-20.04
22+
runs-on: ubuntu-22.04
2323
timeout-minutes:
2424
60
2525
container:
26-
image: buildpack-deps:bionic
26+
image: buildpack-deps:jammy
2727
continue-on-error: ${{ matrix.allow-failure }}
2828
strategy:
2929
matrix:
@@ -61,31 +61,21 @@ jobs:
6161
- compiler: ghc-8.8.4
6262
compilerKind: ghc
6363
compilerVersion: 8.8.4
64-
setup-method: hvr-ppa
64+
setup-method: ghcup
6565
allow-failure: false
6666
fail-fast: false
6767
steps:
6868
- name: apt
6969
run: |
7070
apt-get update
7171
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
72-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
73-
mkdir -p "$HOME/.ghcup/bin"
74-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
75-
chmod a+x "$HOME/.ghcup/bin/ghcup"
76-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
77-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
78-
apt-get update
79-
apt-get install -y elinks less libnotmuch-dev libtalloc-dev notmuch tmux vim
80-
else
81-
apt-add-repository -y 'ppa:hvr/ghc'
82-
apt-get update
83-
apt-get install -y "$HCNAME" elinks less libnotmuch-dev libtalloc-dev notmuch tmux vim
84-
mkdir -p "$HOME/.ghcup/bin"
85-
curl -sL https://downloads.haskell.org/ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5 > "$HOME/.ghcup/bin/ghcup"
86-
chmod a+x "$HOME/.ghcup/bin/ghcup"
87-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
88-
fi
72+
mkdir -p "$HOME/.ghcup/bin"
73+
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
74+
chmod a+x "$HOME/.ghcup/bin/ghcup"
75+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
76+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
77+
apt-get update
78+
apt-get install -y elinks less libnotmuch-dev libtalloc-dev notmuch tmux vim
8979
env:
9080
HCKIND: ${{ matrix.compilerKind }}
9181
HCNAME: ${{ matrix.compiler }}
@@ -97,22 +87,13 @@ jobs:
9787
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
9888
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
9989
HCDIR=/opt/$HCKIND/$HCVER
100-
if [ "${{ matrix.setup-method }}" = ghcup ]; then
101-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
102-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
103-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
104-
echo "HC=$HC" >> "$GITHUB_ENV"
105-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
106-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
107-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
108-
else
109-
HC=$HCDIR/bin/$HCKIND
110-
echo "HC=$HC" >> "$GITHUB_ENV"
111-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
112-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
113-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
114-
fi
115-
90+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
91+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
92+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
93+
echo "HC=$HC" >> "$GITHUB_ENV"
94+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
95+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
96+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
11697
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
11798
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
11899
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -159,11 +140,6 @@ jobs:
159140
- name: update cabal index
160141
run: |
161142
$CABAL v2-update -v
162-
- name: cache (tools)
163-
uses: actions/cache/restore@v3
164-
with:
165-
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-6a3a2bb8
166-
path: ~/.haskell-ci-tools
167143
- name: install cabal-plan
168144
run: |
169145
mkdir -p $HOME/.cabal/bin
@@ -173,18 +149,6 @@ jobs:
173149
rm -f cabal-plan.xz
174150
chmod a+x $HOME/.cabal/bin/cabal-plan
175151
cabal-plan --version
176-
- name: install hlint
177-
run: |
178-
if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then HLINTVER=$(cd /tmp && (${CABAL} v2-install -v $ARG_COMPILER --dry-run hlint --constraint='hlint >=3.5 && <3.6' | perl -ne 'if (/\bhlint-(\d+(\.\d+)*)\b/) { print "$1"; last; }')); echo "HLint version $HLINTVER" ; fi
179-
if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then if [ ! -e $HOME/.haskell-ci-tools/hlint-$HLINTVER/hlint ]; then echo "Downloading HLint version $HLINTVER"; mkdir -p $HOME/.haskell-ci-tools; curl --write-out 'Status Code: %{http_code} Redirects: %{num_redirects} Total time: %{time_total} Total Dsize: %{size_download}\n' --silent --location --output $HOME/.haskell-ci-tools/hlint-$HLINTVER.tar.gz "https://github.com/ndmitchell/hlint/releases/download/v$HLINTVER/hlint-$HLINTVER-x86_64-linux.tar.gz"; tar -xzv -f $HOME/.haskell-ci-tools/hlint-$HLINTVER.tar.gz -C $HOME/.haskell-ci-tools; fi ; fi
180-
if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then mkdir -p $CABAL_DIR/bin && ln -sf "$HOME/.haskell-ci-tools/hlint-$HLINTVER/hlint" $CABAL_DIR/bin/hlint ; fi
181-
if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then hlint --version ; fi
182-
- name: save cache (tools)
183-
uses: actions/cache/save@v3
184-
if: always()
185-
with:
186-
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-6a3a2bb8
187-
path: ~/.haskell-ci-tools
188152
- name: checkout
189153
uses: actions/checkout@v3
190154
with:
@@ -248,17 +212,13 @@ jobs:
248212
- name: tests
249213
run: |
250214
$CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct
251-
- name: hlint
252-
run: |
253-
if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then (cd ${PKGDIR_purebred} && hlint -XHaskell2010 src) ; fi
254-
if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then (cd ${PKGDIR_purebred} && hlint -XHaskell2010 app) ; fi
255215
- name: cabal check
256216
run: |
257217
cd ${PKGDIR_purebred} || false
258218
${CABAL} -vnormal check
259219
- name: haddock
260220
run: |
261-
$CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
221+
if [ $((HCNUMVER >= 90000)) -ne 0 ] ; then $CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all ; fi
262222
- name: unconstrained build
263223
run: |
264224
rm -f cabal.project.local

.nix/bimap.nix

-15
This file was deleted.

.nix/brick.nix

-26
This file was deleted.

.nix/hsnotmuch.nix

-18
This file was deleted.

.nix/overlays.nix

+1-12
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,10 @@
11
let
2-
haskellCompilerVersion = "ghc924";
2+
haskellCompilerVersion = "ghc92";
33
haskellPackagesOverlay = self: super: with super.haskell.lib; {
44
haskellPackages = super.haskell.packages.${haskellCompilerVersion}.override {
55
overrides = hself: hsuper: {
66
purebred = hsuper.callPackage ./purebred.nix { };
7-
purebred-email = hsuper.callPackage ./purebred-email.nix { };
87
purebred-icu = hsuper.callPackage ./purebred-icu.nix { };
9-
brick = hsuper.callPackage ./brick.nix { };
10-
text-zipper = hsuper.callPackage ./text-zipper.nix { };
11-
bimap = hsuper.callPackage ./bimap.nix { };
12-
vty = hsuper.callPackage ./vty.nix { };
13-
vty-unix = hsuper.callPackage ./vty-unix.nix { };
14-
vty-crossplatform = hsuper.callPackage ./vty-crossplatform.nix { };
15-
notmuch = hsuper.callPackage ./hsnotmuch.nix {
16-
notmuch = self.pkgs.notmuch;
17-
talloc = self.pkgs.talloc;
18-
};
198
};
209
};
2110
make-purebred-with-packages = with-icu:

.nix/purebred-email.nix

-25
This file was deleted.

.nix/text-zipper.nix

-13
This file was deleted.

.nix/vty-crossplatform.nix

-11
This file was deleted.

.nix/vty-unix.nix

-21
This file was deleted.

.nix/vty.nix

-19
This file was deleted.

cabal.haskell-ci

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
-- Configuration for haskell-ci
2+
3+
-- Avoid HVR's PPA due to outage on 2022-04-27
4+
ghcup-jobs: True
5+
6+
-- With GHC < 9, haddock fails due to a parse error in the benchmarks.
7+
-- https://github.com/haskell-CI/haskell-ci/issues/605
8+
haddock: >= 9
9+
github-patches: .github/haskell-ci-github.patch .github/haskell-ci-github-containerimage.patch
10+
apt: elinks tmux vim less notmuch libnotmuch-dev libtalloc-dev

0 commit comments

Comments
 (0)