Skip to content

Commit aea572d

Browse files
committed
Allow happy-1.21, CI for GHC 9.2.1-rc1, rm Travis-CI
This is: - 1.0.3.0 revision 3 - 1.0.3.1 revision 5
1 parent 307999a commit aea572d

File tree

7 files changed

+182
-184
lines changed

7 files changed

+182
-184
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 54 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/haskell-CI/haskell-ci
1010
#
11-
# version: 0.13.20210606
11+
# version: 0.13.20210912
1212
#
13-
# REGENDATA ("0.13.20210606",["github","haskell-src.cabal"])
13+
# REGENDATA ("0.13.20210912",["github","haskell-src.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -26,15 +26,20 @@ jobs:
2626
strategy:
2727
matrix:
2828
include:
29+
- compiler: ghc-9.2.0.20210821
30+
compilerKind: ghc
31+
compilerVersion: 9.2.0.20210821
32+
setup-method: ghcup
33+
allow-failure: true
2934
- compiler: ghc-9.0.1
3035
compilerKind: ghc
3136
compilerVersion: 9.0.1
3237
setup-method: hvr-ppa
3338
allow-failure: false
34-
- compiler: ghc-8.10.4
39+
- compiler: ghc-8.10.7
3540
compilerKind: ghc
36-
compilerVersion: 8.10.4
37-
setup-method: hvr-ppa
41+
compilerVersion: 8.10.7
42+
setup-method: ghcup
3843
allow-failure: false
3944
- compiler: ghc-8.8.4
4045
compilerKind: ghc
@@ -97,9 +102,21 @@ jobs:
97102
run: |
98103
apt-get update
99104
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
100-
apt-add-repository -y 'ppa:hvr/ghc'
101-
apt-get update
102-
apt-get install -y "$HCNAME" cabal-install-3.4
105+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
106+
mkdir -p "$HOME/.ghcup/bin"
107+
curl -sL https://downloads.haskell.org/ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2 > "$HOME/.ghcup/bin/ghcup"
108+
chmod a+x "$HOME/.ghcup/bin/ghcup"
109+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
110+
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.0.0
111+
else
112+
apt-add-repository -y 'ppa:hvr/ghc'
113+
apt-get update
114+
apt-get install -y "$HCNAME"
115+
mkdir -p "$HOME/.ghcup/bin"
116+
curl -sL https://downloads.haskell.org/ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2 > "$HOME/.ghcup/bin/ghcup"
117+
chmod a+x "$HOME/.ghcup/bin/ghcup"
118+
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.0.0
119+
fi
103120
env:
104121
HCKIND: ${{ matrix.compilerKind }}
105122
HCNAME: ${{ matrix.compiler }}
@@ -111,16 +128,25 @@ jobs:
111128
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
112129
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
113130
HCDIR=/opt/$HCKIND/$HCVER
114-
HC=$HCDIR/bin/$HCKIND
115-
echo "HC=$HC" >> "$GITHUB_ENV"
116-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
117-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
118-
echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> "$GITHUB_ENV"
131+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
132+
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
133+
echo "HC=$HC" >> "$GITHUB_ENV"
134+
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
135+
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
136+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.0.0 -vnormal+nowrap" >> "$GITHUB_ENV"
137+
else
138+
HC=$HCDIR/bin/$HCKIND
139+
echo "HC=$HC" >> "$GITHUB_ENV"
140+
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
141+
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
142+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.0.0 -vnormal+nowrap" >> "$GITHUB_ENV"
143+
fi
144+
119145
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
120146
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
121147
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
122148
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
123-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
149+
if [ $((HCNUMVER >= 90200)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
124150
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
125151
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
126152
env:
@@ -149,6 +175,17 @@ jobs:
149175
repository hackage.haskell.org
150176
url: http://hackage.haskell.org/
151177
EOF
178+
if $HEADHACKAGE; then
179+
cat >> $CABAL_CONFIG <<EOF
180+
repository head.hackage.ghc.haskell.org
181+
url: https://ghc.gitlab.haskell.org/head.hackage/
182+
secure: True
183+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
184+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
185+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
186+
key-threshold: 3
187+
EOF
188+
fi
152189
cat $CABAL_CONFIG
153190
- name: versions
154191
run: |
@@ -196,6 +233,9 @@ jobs:
196233
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
197234
cat >> cabal.project <<EOF
198235
EOF
236+
if $HEADHACKAGE; then
237+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
238+
fi
199239
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(haskell-src)$/; }' >> cabal.project.local
200240
cat cabal.project
201241
cat cabal.project.local

.travis.yml

Lines changed: 0 additions & 168 deletions
This file was deleted.

attic/haskell-src-1.0.3.0-r3.cabal

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
cabal-version: >=1.10
2+
name: haskell-src
3+
-- don't forget to update the changelog.md!
4+
version: 1.0.3.0
5+
x-revision: 3
6+
build-type: Simple
7+
8+
license: BSD3
9+
license-file: LICENSE
10+
author: Simon Marlow, Sven Panne and Noel Winstanley
11+
-- Maintained through https://github.com/haskell-pkg-janitors. Join us!
12+
maintainer: Herbert Valerio Riedel <[email protected]>
13+
bug-reports: https://github.com/haskell-pkg-janitors/haskell-src/issues
14+
category: Language
15+
synopsis: Support for manipulating Haskell source code
16+
description:
17+
The @haskell-src@ package provides support for manipulating Haskell
18+
source code. The package provides a lexer, parser and
19+
pretty-printer, and a definition of a Haskell abstract syntax tree
20+
(AST). Common uses of this package are to parse or generate
21+
<http://www.haskell.org/onlinereport/ Haskell 98> code
22+
23+
tested-with:
24+
GHC == 8.6.5
25+
GHC == 8.4.4
26+
GHC == 8.2.2
27+
GHC == 8.0.2
28+
GHC == 7.10.3
29+
GHC == 7.8.4
30+
GHC == 7.6.3
31+
GHC == 7.4.2
32+
GHC == 7.2.2
33+
GHC == 7.0.4
34+
35+
extra-source-files: changelog.md
36+
37+
source-repository head
38+
type: git
39+
location: https://github.com/haskell-pkg-janitors/haskell-src.git
40+
41+
library
42+
exposed-modules:
43+
Language.Haskell.Lexer,
44+
Language.Haskell.Parser,
45+
Language.Haskell.ParseMonad,
46+
Language.Haskell.Pretty,
47+
Language.Haskell.Syntax,
48+
Language.Haskell.ParseUtils
49+
50+
build-depends: base >= 4.3 && < 4.13
51+
, syb >= 0.1 && < 0.8
52+
, pretty >= 1.0.1.2 && < 1.2
53+
, array >= 0.3 && < 0.6
54+
55+
if !impl(ghc >= 8.0)
56+
build-depends: semigroups == 0.18.*, fail == 4.9.*
57+
else
58+
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
59+
60+
build-tools: happy >= 1.19 && < 1.22
61+
62+
default-language: Haskell98
63+
64+
ghc-options: -Wall

0 commit comments

Comments
 (0)