Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump base for ghc-8.4 #306

Merged
merged 17 commits into from
Mar 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 36 additions & 38 deletions .github/workflows/haskell-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
#
# For more information, see https://github.com/andreasabel/haskell-ci
#
# version: 0.17.20240127
# version: 0.18.0.20240225
#
# REGENDATA ("0.17.20240127",["github","cabal.project"])
# REGENDATA ("0.18.0.20240225",["github","cabal.project"])
#
name: Haskell-CI
on:
Expand All @@ -37,9 +37,9 @@ jobs:
compilerVersion: 9.8.1
setup-method: ghcup
allow-failure: false
- compiler: ghc-9.6.3
- compiler: ghc-9.6.4
compilerKind: ghc
compilerVersion: 9.6.3
compilerVersion: 9.6.4
setup-method: ghcup
allow-failure: false
- compiler: ghc-9.4.8
Expand Down Expand Up @@ -77,16 +77,6 @@ jobs:
compilerVersion: 8.4.4
setup-method: ghcup
allow-failure: false
- compiler: ghc-8.2.2
compilerKind: ghc
compilerVersion: 8.2.2
setup-method: ghcup
allow-failure: false
- compiler: ghc-8.0.2
compilerKind: ghc
compilerVersion: 8.0.2
setup-method: ghcup
allow-failure: false
fail-fast: false
steps:
- name: apt
Expand Down Expand Up @@ -185,6 +175,7 @@ jobs:
echo "packages: $GITHUB_WORKSPACE/source/hackage-root-tool" >> cabal.project
echo "packages: $GITHUB_WORKSPACE/source/hackage-repo-tool" >> cabal.project
echo "packages: $GITHUB_WORKSPACE/source/hackage-security-HTTP" >> cabal.project
echo "packages: $GITHUB_WORKSPACE/source/precompute-fileinfo" >> cabal.project
cat cabal.project
- name: sdist
run: |
Expand All @@ -210,6 +201,8 @@ jobs:
echo "PKGDIR_hackage_repo_tool=${PKGDIR_hackage_repo_tool}" >> "$GITHUB_ENV"
PKGDIR_hackage_security_HTTP="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/hackage-security-HTTP-[0-9.]*')"
echo "PKGDIR_hackage_security_HTTP=${PKGDIR_hackage_security_HTTP}" >> "$GITHUB_ENV"
PKGDIR_precompute_fileinfo="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/precompute-fileinfo-[0-9.]*')"
echo "PKGDIR_precompute_fileinfo=${PKGDIR_precompute_fileinfo}" >> "$GITHUB_ENV"
rm -f cabal.project cabal.project.local
touch cabal.project
touch cabal.project.local
Expand All @@ -220,25 +213,28 @@ jobs:
echo "packages: ${PKGDIR_hackage_root_tool}" >> cabal.project
echo "packages: ${PKGDIR_hackage_repo_tool}" >> cabal.project
echo "packages: ${PKGDIR_hackage_security_HTTP}" >> cabal.project
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package hackage-security" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package hackage-security-http-client" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package example-client" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package hackage-security-curl" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package hackage-root-tool" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package hackage-repo-tool" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package hackage-security-HTTP" >> cabal.project ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
echo "packages: ${PKGDIR_precompute_fileinfo}" >> cabal.project
echo "package hackage-security" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
echo "package hackage-security-http-client" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
echo "package example-client" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
echo "package hackage-security-curl" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
echo "package hackage-root-tool" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
echo "package hackage-repo-tool" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
echo "package hackage-security-HTTP" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
echo "package precompute-fileinfo" >> cabal.project
echo " ghc-options: -Werror=missing-methods" >> cabal.project
cat >> cabal.project <<EOF
constraints: base-compat >= 0.12.2
allow-newer: containers
EOF
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(example-client|hackage-repo-tool|hackage-root-tool|hackage-security|hackage-security-HTTP|hackage-security-curl|hackage-security-http-client)$/; }' >> cabal.project.local
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(example-client|hackage-repo-tool|hackage-root-tool|hackage-security|hackage-security-HTTP|hackage-security-curl|hackage-security-http-client|precompute-fileinfo)$/; }' >> cabal.project.local
cat cabal.project
cat cabal.project.local
- name: dump install plan
Expand Down Expand Up @@ -280,6 +276,8 @@ jobs:
${CABAL} -vnormal check
cd ${PKGDIR_hackage_security_HTTP} || false
${CABAL} -vnormal check
cd ${PKGDIR_precompute_fileinfo} || false
${CABAL} -vnormal check
- name: haddock
run: |
if [ $((HCNUMVER >= 80600)) -ne 0 ] ; then $CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all ; fi
Expand All @@ -292,17 +290,17 @@ jobs:
rm -f cabal.project.local
- name: constraint set containers-0.7
run: |
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all --dry-run ; fi
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then cabal-plan topo | sort ; fi
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' --dependencies-only -j2 all ; fi
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all ; fi
if [ $((HCNUMVER >= 80200 && HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all ; fi
if [ $((HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all --dry-run ; fi
if [ $((HCNUMVER < 90800)) -ne 0 ] ; then cabal-plan topo | sort ; fi
if [ $((HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' --dependencies-only -j2 all ; fi
if [ $((HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all ; fi
if [ $((HCNUMVER < 90800)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='containers >= 0.7' all ; fi
- name: constraint set no-lukko
run: |
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' all --dry-run ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then cabal-plan topo | sort ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' --dependencies-only -j2 all ; fi
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' all ; fi
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' all --dry-run
cabal-plan topo | sort
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' --dependencies-only -j2 all
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' all
- name: save cache
uses: actions/cache/save@v4
if: always()
Expand Down
4 changes: 2 additions & 2 deletions cabal.haskell-ci
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ raw-project
base-compat >= 0.12.2

constraint-set no-lukko
ghc: >=8.2
ghc: >=8.4
constraints: hackage-security -lukko

constraint-set containers-0.7
ghc: >= 8.2 && < 9.8
ghc: >= 8.4 && < 9.8
constraints: containers >= 0.7
tests: True
run-tests: True
Expand Down
6 changes: 2 additions & 4 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,9 @@ packages: hackage-security
hackage-root-tool
hackage-repo-tool
hackage-security-HTTP
precompute-fileinfo

package hackage-security
tests: true

-- FIXME/TODO
-- packages: precompute-fileinfo

-- constraints: hackage-security -lukko
-- constraints: hackage-security -lukko
16 changes: 7 additions & 9 deletions example-client/example-client.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ tested-with:
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2

flag use-network-uri
description: Are we using network-uri?
Expand All @@ -37,12 +35,12 @@ executable example-client
main-is: Main.hs
other-modules: ExampleClient.Options

build-depends: base >= 4.9 && < 4.20,
bytestring >= 0.9,
directory >= 1.2,
filepath >= 1.2,
optparse-applicative >= 0.11,
time >= 1.5,
build-depends: base >= 4.11 && < 4.20,
bytestring >= 0.10.8.2,
directory >= 1.3.1.5,
filepath >= 1.4.2,
optparse-applicative >= 0.13,
time >= 1.8.0.2,
hackage-security >= 0.5,
hackage-security-HTTP,
hackage-security-curl,
Expand All @@ -67,5 +65,5 @@ executable example-client
if flag(Cabal-syntax)
build-depends: Cabal-syntax >= 3.7 && < 3.12
else
build-depends: Cabal >= 1.12 && < 3.7,
build-depends: Cabal >= 2.2.0.1 && < 3.7,
Cabal-syntax < 3.7
19 changes: 8 additions & 11 deletions hackage-repo-tool/hackage-repo-tool.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ tested-with:
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2

extra-source-files:
ChangeLog.md README.md
Expand Down Expand Up @@ -62,18 +60,18 @@ executable hackage-repo-tool

-- For boot libraries we try to accomodate the versions bundled with
-- the respective GHC release
build-depends: base >= 4.9 && < 4.20,
bytestring >= 0.9 && < 0.13,
directory >= 1.2 && < 1.4,
filepath >= 1.3 && < 1.5,
time >= 1.5 && < 1.13
build-depends: base >= 4.11 && < 4.20,
bytestring >= 0.10.8.2 && < 0.13,
directory >= 1.3.1.5 && < 1.4,
filepath >= 1.4.2 && < 1.5,
time >= 1.8.0.2 && < 1.13
if !os(windows)
build-depends: unix >= 2.5 && < 2.9
build-depends: unix >= 2.7.2.2 && < 2.9

-- For non-boot libraries we try to support single major versions
-- to reduce the risk of semantic differences
build-depends: microlens >= 0.4.11.2 && < 0.5,
optparse-applicative >= 0.15.1 && < 0.18,
optparse-applicative >= 0.13 && < 0.19,
tar >= 0.5 && < 0.7,
zlib >= 0.6 && < 0.8,
hackage-security >= 0.6 && < 0.7
Expand All @@ -89,8 +87,7 @@ executable hackage-repo-tool
if flag(Cabal-syntax)
build-depends: Cabal-syntax >= 3.7 && < 3.12
else
build-depends: Cabal >= 1.14 && < 1.26
|| >= 2.0 && < 2.6
build-depends: Cabal >= 2.2.0.1 && < 2.6
|| >= 3.0 && < 3.7,
Cabal-syntax < 3.7

Expand Down
4 changes: 2 additions & 2 deletions hackage-repo-tool/src/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ createPackageMetadata opts repoLoc whenWrite pkgId = do

-- | Find the files we need to add to the index
findNewIndexFiles :: GlobalOpts -> RepoLoc -> WhenWrite -> IO [IndexPath]
findNewIndexFiles opts@GlobalOpts{..} repoLoc whenWrite = do
findNewIndexFiles opts@GlobalOpts{} repoLoc whenWrite = do
indexTS <- getFileModTime opts repoLoc (InRep repoLayoutIndexTar)
indexFiles <- getRecursiveContents absIndexDir

Expand All @@ -430,7 +430,7 @@ findNewIndexFiles opts@GlobalOpts{..} repoLoc whenWrite = do

-- | Extract the cabal file from the package tarball and copy it to the index
extractCabalFile :: GlobalOpts -> RepoLoc -> WhenWrite -> PackageIdentifier -> IO ()
extractCabalFile opts@GlobalOpts{..} repoLoc whenWrite pkgId = do
extractCabalFile opts@GlobalOpts{} repoLoc whenWrite pkgId = do
srcTS <- getFileModTime opts repoLoc src
dstTS <- getFileModTime opts repoLoc dst
let skip = case whenWrite of
Expand Down
3 changes: 1 addition & 2 deletions hackage-root-tool/Main.hs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{-# LANGUAGE CPP, ScopedTypeVariables, RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables, RecordWildCards #-}
module Main (main) where

import Data.Monoid
import Control.Exception
import GHC.Conc.Sync (setUncaughtExceptionHandler)
import System.Exit
Expand Down
10 changes: 4 additions & 6 deletions hackage-root-tool/hackage-root-tool.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ tested-with:
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2

extra-source-files:
ChangeLog.md
Expand All @@ -38,10 +36,10 @@ source-repository head

executable hackage-root-tool
main-is: Main.hs
build-depends: base >= 4.9 && < 5,
filepath >= 1.2 && < 1.5,
optparse-applicative >= 0.11 && < 0.18,
hackage-security >= 0.5 && < 0.7
build-depends: base >= 4.11 && < 5,
filepath >= 1.4.2 && < 1.5,
optparse-applicative >= 0.13 && < 0.19,
hackage-security >= 0.5 && < 0.7
default-language: Haskell2010
other-extensions: CPP, ScopedTypeVariables, RecordWildCards
ghc-options: -Wall
8 changes: 3 additions & 5 deletions hackage-security-HTTP/hackage-security-HTTP.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ tested-with:
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2

extra-source-files:
ChangeLog.md
Expand All @@ -43,10 +41,10 @@ flag use-network-uri

library
exposed-modules: Hackage.Security.Client.Repository.HttpLib.HTTP
build-depends: base >= 4.9 && < 4.20,
bytestring >= 0.9 && < 0.13,
build-depends: base >= 4.11 && < 4.20,
bytestring >= 0.10.8.2 && < 0.13,
HTTP >= 4000.2.19 && < 4000.5,
mtl >= 2.1 && < 2.4,
mtl >= 2.2.2 && < 2.4,
zlib >= 0.5 && < 0.8,
hackage-security >= 0.5 && < 0.7
hs-source-dirs: src
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
{-# LANGUAGE CPP #-}
-- | Implementation of 'HttpClient' using the HTTP package
module Hackage.Security.Client.Repository.HttpLib.HTTP (
withClient
Expand Down
10 changes: 4 additions & 6 deletions hackage-security-curl/hackage-security-curl.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,17 @@ tested-with:
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2

flag use-network-uri
description: Are we using network-uri?
manual: False

library
exposed-modules: Hackage.Security.Client.Repository.HttpLib.Curl
build-depends: base >= 4.9 && < 4.20,
bytestring >= 0.9,
process >= 1.1,
hackage-security
build-depends: base >= 4.11 && < 4.20,
bytestring >= 0.10.8.2 && < 0.13,
process >= 1.6.3 && < 1.7,
hackage-security >= 0.6.2 && < 0.7
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -Wall
Expand Down
13 changes: 6 additions & 7 deletions hackage-security-http-client/hackage-security-http-client.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ copyright: Copyright 2015 Well-Typed LLP
category: Distribution
build-type: Simple
cabal-version: >=1.10
extra-source-files: ChangeLog.md

tested-with:
GHC == 9.8.1
Expand All @@ -24,20 +25,18 @@ tested-with:
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2

flag use-network-uri
description: Are we using network-uri?
manual: False

library
exposed-modules: Hackage.Security.Client.Repository.HttpLib.HttpClient
build-depends: base >= 4.9 && < 4.20,
bytestring >= 0.9,
http-client >= 0.4 && < 0.8,
http-types >= 0.8,
hackage-security >= 0.5 && < 0.7
build-depends: base >= 4.11 && < 4.20,
bytestring >= 0.10.8.2 && < 0.13,
http-client >= 0.4 && < 0.8,
http-types >= 0.12.4 && < 0.13,
hackage-security >= 0.5 && < 0.7
hs-source-dirs: src
default-language: Haskell2010
default-extensions: FlexibleContexts
Expand Down
Loading
Loading